2009-06-16 5 views
6

複数の言語のドキュメントを持つインデックスで使用するアナライザのフィードバックを探しています。現在、私はsimpleanalyzerを使用しています。これは最も広範な言語を処理するようです。索引付けされる文書のほとんどは英語ですが、索引付けされることもあります。luceneインデックスで使用するベストクロスランゲージアナライザ

他にも提案がありますか、私はsimpleanalyzerに固執すべきですか?

おかげ

答えて

1

SimpleAnalyzerは本当にそれがないすべての用語小文字で、簡単です。私はStandardAnalyzerが英語以外の言語のデータであってもSimpleAnalyzerよりも良い結果をもたらすと考えていたでしょう。あなたはおそらく、デフォルトの英語の言語に加えてストップワードのカスタムリストを提供することによってそれを少し改善することができます。

2

私は英語以外の言葉でStandardAnalyzerを使用しましたが正常に動作します。アクセント付きの文字を扱う場合もあります。言語がCJK(中国語、日本語、韓国語)、ロシア語、ドイツ語の場合は問題があるかもしれませんが、問題の大半は言葉のステミングに関連すると思われます。ステミングを有効にしていない場合は、おそらくそれで十分でしょう。

6

あなたの説明から、私はあなたが複数の言語のドキュメントを持っていると推測しますが、各ドキュメントは1つの言語のテキストしか持っていません。

この場合、Nutchの言語識別を使用してドキュメントの言語を取得できます。次に、それぞれの言語アナライザーを使用して索引付けします。正しい検索結果を得るには、検索クエリに言語IDを適用し、そのアナライザを使用する必要があります。

ここでは、言語固有のステマー&ストップワードを使用して、検索の品質を向上させることができます。インデックス作成中の余分なオーバーヘッドは許容されるべきです。言語識別が正しい言語を特定できない検索クエリは、苦労する可能性があります。私はこの数年前に戻ってきましたが、結果は予想以上に優れていました。

CJKでは、同様の手法を適用できますが、ツールが異なる場合があります。

+0

私はあなたの提案も好きですが、より高度ですが、私はこれに移行するかもしれません。それは優れたバランスを提供します。 – Halirob

0

まず、あなたの言語は何ですか?たとえば、私の書類は 英語、日本語、ペルシア語です。 UTF-8文字のプロセスでドキュメント言語を見つけることができます。

あなたの文書がその言語であることがわかったら、 特定のアナライザーで分析することができます。

1

純粋に逸話的なエビデンスですが、私たちは私たちのシステムにStandardAnalyzerの(カスタマイズされた、しかし関連する方法ではありません)バージョンを使用します。私たちの文書は、互いに異なる言語であるだけでなく、異なる言語の塊を含んでいるかもしれません(例えば、英語でコメントをつけて日本語で書かれた記事を想像してください)。

私たちの文書の大部分は英語ですが、重要な数字は中国語と日本語で、フランス語、スペイン語、ポルトガル語、韓国語では数字が小さくなります。

最終結果?我々はStandardAnalyzerを使用しており、私たちの検索の仕方について非ローマン言語でシステムを使用している人からの苦情はほとんどありません。ところで、私たちのシステムはユーザーにはある程度「強制」されているので、人々は不平を言っているわけではなく、他の場所に移動しているようなものではありません。もし彼らが不幸なら、私たちは一般に知っている。

私はユーザーの苦情(非常に時折起こるもの、主に中国語に関するものですが、何も深刻ではなく簡単に説明されています)に悩まされていないという事実に基づいて、多くの場合「十分良い」と思われます。

1

正解は、メイン言語(ある場合)によって異なります。

私は4/5グラムのアナライザーを使用して、最良のクロスランゲージIRパフォーマンスを得るために、多くの言語で優れた動作を示しています。英語の場合はSimpleAnalyzerよりもうまくいくかもしれません。たとえば、http://www.eecs.qmul.ac.uk/~christof/html/publications/inrt142.pdfを参照してください。

I have looked into thisですが、別の角度からです。キャッチオールアナライザがないようです。各言語に最適な結果を得るための独自のアプローチが必要です。

関連する問題