首先說一下搜尋引擎切分詞的產生的原因。
在進行全文檢索時,首先將要檢索的內容分割成較短的文字序列。然後生成在每個文字序列中所包含字串的對應表(索引)。當輸入檢索語句後,也同樣進行分割,與索引進行比較。也就是說,兩者即使包含有同樣的文字排列,但分割方法不同的話也不能正確檢索。
文字的分割方法主要有兩種,分別是 詞語解析索引 和 文字索引 。
詞語解析索引是按照字典中最小的詞語單位對文字進行分割,既按詞義切分。如中科院的 ictclas。
文字索引是不考慮文字中詞的意義,只是按照一定的字長的單位進行切分。如 車東的二元切分法。
上面兩種方法對搜尋的影響已經在
不同規則的中文分詞對lucene索引的影響
一文中做了對比。
這裡想糾正的一點是:我在裡面提到: 從直覺觀察來看,索引檔案中的term
越多,搜尋結果也越快,搜尋的相關性也越高。
這句話漏掉了一點,就是term的「質量」問題。比如採用二元切分方法,產生的term一定比 單字切分 和 詞義切分 要多,但是很顯然不能提高搜尋的相關性。我的看法是二元切分提高了搜尋關鍵字的命中率而降低了索引結果的相關性。
那麼是不是按照詞義切分就能解決上面的問題呢?
在跟車東
和lhelper
談論grassland
的開發計畫的時候,(車東和lhelper是
weblucene
的主要開發者),他們很有方向性的提到:完全按照詞義切分不完全適合於全文搜尋。
得出這樣的結論似乎有悖常理。這也是本文要集中討論的地方。
這種差異導致的結果可想而知,甚至不如文字索引 二元切分更有效。
美國加州大學伯克利分校卻在報告中稱,使用按詞義切分法按詞語單位對檢索語句進行分割的方法更為有效。「作為的ntcir資深小組提出的報告,可信度很高。我們也許可以得出以單詞為單位進行分割的方法有效這一結論了」(國立資訊學研究所副教授神門典子)。但在作為檢索物件的資料方面,為防止檢索遺漏有時還是使用文字索引進行分割好一些。
上面提到的只是乙個總的思路,在技術上還有很多細節需要考慮。
中文分詞和搜尋引擎(一)
最近這個專案有個難點就是要用到搜尋引擎,而這裡最難的就是分詞技術,我從網上找了一些分詞的資料,在這裡 一下。目前的搜尋引擎,大多是基於一種稱為倒排索引的結構 1 以什麼做為索引的key值,直接影響到整個搜尋引擎的準確度 召回率 2 速度。我們先看看不使用中文分詞的情況。如果不使用中文分詞,可以採用單...
中文分詞和搜尋引擎
搜尋引擎,上網的人基本上都不陌生了,cnnic的第17次 網際網路調查報告 顯示,使用搜尋引擎服務的網民,僅次於電子郵件。中文分詞,估計了解的人並不多,畢竟太技術,太底層。但中文分詞是中文搜尋引擎系統中非常重要的模組,這裡之所以強調是中文搜尋引擎,是針對英文搜尋引擎來講,因為對於英文來說,空格代表詞...
中文分詞和搜尋引擎
winter 搜尋引擎,上網的人基本上都不陌生了,cnnic的第17次 網際網路調查報告 顯示,使用搜尋引擎服務的網民,僅次於電子郵件。中文分詞,估計了解的人並不多,畢竟太技術,太底層。但中文分詞是中文搜尋引擎系統中的非常重要的模組,這裡之所以強調是中文搜尋引擎,是針對英文搜尋引擎來講,因為對於英文...