23

Lucene.Net を使い始めたばかりです。標準アナライザーを使用して 100,000 行のインデックスを作成し、いくつかのテスト クエリを実行したところ、元の用語が単数形の場合、複数形のクエリで結果が返されないことに気付きました。Snowball Analyzer がステミングのサポートを追加していることは理解しています。しかし、標準よりもスノーボールを使用するゴングに欠点があるかどうか疑問に思っていますか? それと一緒に行くことで何かを失うことはありますか?他に考慮すべきアナライザーはありますか?

4

3 に答える 3

18

はい、Snowball などのステマーを使用すると、テキストの元の形式に関する情報が失われます。これが役立つ場合もあれば、そうでない場合もあります。

たとえば、Snowball は "organization" を "organ" に語幹変換するため、"organization" を検索すると "organ" を含む結果が返されますが、スコア ペナルティはありません。

これが適切かどうかは、コンテンツと、サポートしているクエリの種類によって異なります (たとえば、検索が非常に基本的なものであるか、ユーザーが非常に高度で、検索を使用して結果を正確にフィルタリングするかなど)。KStemなど、あまり攻撃的ではないステマーも検討することをお勧めします。

于 2010-10-06T17:52:04.147 に答える
6

Snowballアナライザーは、標準的なアナライザーよりもはるかに攻撃的であるため、再現率が高くなります。したがって、検索結果を評価して、データの再現率または精度を高める必要があるかどうかを確認する必要があります。

于 2010-10-10T11:08:16.453 に答える
4

レンマタイゼーションを実行するアナライザーを完成させました。これはステミングに似ていますが、コンテキストを使用して単語のタイプ (名詞、動詞など) を判別し、その情報を使用して語幹を導出する点が異なります。また、インデックス内の単語の元の形式を保持します。たぶん、私のライブラリがあなたの役に立ちます。ただし、Lucene Java が必要ですが、C#/.NET lemmatizer については知りません。

于 2010-10-07T10:25:19.097 に答える