《從Lucene到Elasticsearch:全文檢索實戰》學習筆記二

天我給大家講講分詞算法

      分詞算法概述:詞是語義的最小單位。分詞對搜索引擎的作用很大,可以促進搜索引擎程序自動識別語句的含義,可以提高搜索結果的匹配度,分析的質量也將直接影響了搜索結果的精確度。分詞存在於文本索引的建立過程和用戶提交檢索過程。利用相同的分詞器把短語或句子劃分成相同的結果,才能保證檢索過程順利進行。中文和英文的分詞簡介如下:

      1.英文分詞的原理

      基本的處理流程是:

     輸入文本——————>詞彙分割——————>詞彙過濾——————>詞幹提取——————>大寫轉爲小寫——————>結果輸出。

      2.中文分詞原理

      中文分詞比較複雜,這主要是因爲中文的詞與詞之間並不像英文中那樣用空格來隔開。中文分詞主要有3種方法:基於詞典匹配的分詞方法、基於語義理解的分詞、基於詞頻統計的分詞。

       基於字典匹配的分詞方法按照一定的匹配策略將輸入的字符串與機器字典詞條進行匹配,查字典分詞實際上就是把一個句子從左向右掃描一遍,遇到字典有的詞就標識出來,遇到複合詞就找到最長的詞匹配,遇到不認識的字串則切分成單個詞。按照匹配操作的掃描方向不同,字典匹配分詞方法可以分爲正向匹配、逆向匹配以及結合來兩者的雙向匹配算法:按照不同長度優先匹配的情況,可以分爲最大匹配和最小匹配:按照是否與詞性標註過程相結合,又可以分爲單純分詞方法和分詞與詞性標註相結合的方法。幾種常用的詞典分詞方法如下:

        正向最大匹配(由左到右的方法)

        逆向最大匹配(由右到左的方法)

      基於語義理解的分詞方法是模擬人腦對語言和句子的理解,對句子進行拆分。基本模式是把分詞、句法、語義分析並行進行,利用句法和語義信息來處理分詞的歧義。

     一般結構總通常包括分詞子系統、句法語義子系統、調度系統。在調度系統的協調下,分詞子系統可以獲得有關詞、句子等等句法和語義信息,模擬人腦對句子等理解過程。基於語義理解等分詞方法需要使用大量等語言知識和信息。

     在中文文章的上下文中,相鄰的字搭配出現的頻率越多,就越有可能形成一個固定的詞。根據n元語法知識可以知道,字與字相鄰同時出現的頻率或概率能夠較好地反映成詞的可信度。實際的系統中,通過對精心準備的中文語料中相鄰共現概率,統計出來的信息體現了中文環境下漢字之間結合的緊密程度。當緊密程度高於閥值時,便可認爲此字組可能構成一個詞。

     基於詞頻統計的分詞方法只需要對語料中的字組頻度進行統計,不需要切分詞典,因而叫作無詞典分詞法或統計分詞方法。這種方法經常抽出一些共現頻度高但並不是詞的常用字組,需要專門處理,提高精確度。實際應用的統計分詞系統都使用一個基本的常用詞詞典,即將中文分詞中的串頻統計和串匹配結合起來,既發揮匹配分詞切分速度快、效率高的特點,又利用了無詞典分詞結合上下文識別生詞、自動消除歧義的優點。


作者:柯之夢
來源:CSDN
原文:https://blog.csdn.net/yin4302008/article/details/85925466
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章