2009-06-16 29 views
6

我正在尋找有關使用哪個分析器的索引以及來自多種語言的索引的反饋。目前我正在使用簡單分析器,因爲它似乎處理最廣泛的語言。大多數要編入索引的文檔都是英文,但偶爾也會有索引的雙字節語言。與lucene索引配合使用的最佳跨語言分析器

有沒有其他建議,或者我應該堅持簡單的分析儀。

感謝

回答

1

SimpleAnalyzer真的很簡單,它是所有小寫的條款。我認爲即使使用非英語語言數據,StandardAnalyzer也會比SimpleAnalyzer獲得更好的結果。通過提供停用詞的自定義列表以及默認的英語版本,您可以稍微改進它。

2

我用StandardAnalyzer與非英語單詞,它工作正常。它甚至處理重音字符。如果語言是CJK(中文,日文,韓文),俄文或德文,可能會有問題,但我懷疑大多數問題都與詞幹有關。如果你沒有啓用stemming,它可能會足夠。

6

從你的描述,我相信你有多個語言的文檔,但每個文檔具有隻用一種語言文字。

對於這種情況,你可以使用的Nutch的語言識別,以獲取文檔的語言。然後使用相應的語言分析器進行索引要獲得正確的搜索結果,您需要將語言標識應用到搜索查詢並使用該分析器。

這裏的好處是,你將能夠使用特定語言的詞幹&停止詞,推的搜索質量上去。索引編制時額外的開銷應該是可以接受的。雖然語言識別不能識別正確語言的搜索查詢可能會受到影響。我已經使用了這兩年,結果好於預期。

對於CJK,您可以應用類似的技術,但工具可能會有所不同。

+0

我喜歡你的建議,更先進的,但我可能會遷移到此。它提供了一個很好的平衡。 – Halirob 2009-06-16 18:05:40

0

首先,你應該發現你的語言是什麼?例如我的文件是英文,日文或波斯文 。你可以通過 處理UTF-8字符來查找你的文檔語言。

然後,當你發現你的文件是哪種語言,你可以用 具體分析儀進行分析。

1

純屬傳聞,但我們使用的StandardAnalyzer一個(自定義,但不以任何方式相關的)版本爲我們的系統。我們的文件可能不僅僅是彼此不同的語言,而且文件可能包含大量不同的語言(例如,想象一篇用日文寫成的文章和英文評論),因此語言嗅探很困難。

我們的大多數文件都是英文的,但顯著數字是中國和日本,在法語,西班牙語,葡萄牙語,韓語數量較少。

最終結果?我們使用StandardAnalyzer,並且很少有人在使用非羅馬語言系統的人對我們的搜索方式的投訴。順便說一句,我們的系統對用戶來說有點「強制」,所以不是人們不是在抱怨而是在別處移動;如果他們不快樂,我們通常會知道。因此,基於我沒有淹沒用戶投訴(非常偶然的,主要是關於中文,但沒有嚴重並且很容易解釋)的事實,對於許多情況來說似乎是「足夠好」的。

1

正確的答案取決於你的主要語言(如果有的話)。

爲了獲得最佳的跨語言IR性能,我想搭配一個4/5克分析儀,它已經證明在很多語言上都很出色。它甚至可能比SimpleAnalyzer的英文版更好。例如,請參見http://www.eecs.qmul.ac.uk/~christof/html/publications/inrt142.pdf

I have looked into this,但從另一個角度。似乎沒有一個全面的分析器 - 每種語言都需要自己的方法來獲得最佳結果。