10

私が取り組んでいるアプリケーションでは、Lucene Analyzer を使用しています。特に Hunspell 部分です。私が直面している問題は、一連の接辞規則を使用して、単語のすべての語形を生成する必要があることです。

たとえば、'educate' という単語にルール ABC を付けると、'educate' という単語のすべての形式が生成されます。- 教育、教育、教育など。

私が知りたいのは、Lucene の Hunspell 実装を使用してこれを行うことは可能ですか? Lucene の Hunspell API はそれほど大きくありません。調べてみましたが、適切なものが見つかりませんでした。

SO で見つけた最も近いものはthisでしたが、hunspell に関連する回答はありません。

更新 1上記に直面したプロジェクトにはもう取り組んでいませんが、Lucene のアナライザーを使用してこれを行うための解決策がまだある場合は、コミュニティが答えを見てくれることを嬉しく思います.

4

4 に答える 4

9

Hunspell には、すべての単語形式を作成する unmunch コマンドが付属しています。次のように呼び出すことができます。

 unmunch en_GB.dic en_GB.aff

したがって、hunspell のソースで、これがどのように実装されているか、および外部から呼び出すことができるかどうかを調べることができます。このコマンドは、複合語を含む辞書で使用したとき、前回確認したときに少しバグがありました。このような場合、無数の語形が存在するため、とにかくすべての語形を作成することはできません。

于 2012-12-05T17:39:54.083 に答える
0

en_US.dic に word/abc が含まれていると仮定して、1 つの単語のすべての作成済みフォームを検索するには、次のファイルを作成します。

1
word/abc

word.dicとして保存します。使用する:

unmunch word.dic en_US.aff

そして、単語のすべての作成された形式を取得します。

于 2020-12-07T15:09:57.013 に答える