中文分詞基本算法主要分類


基於詞典的方法、基於統計的方法、基於規則的方法、(傳說中還有基於理解的-神經網絡-專家系統)

1、基於詞典的方法(字符串匹配,機械分詞方法)

定義:按照一定策略將待分析的漢字串與一個“大機器詞典”中的詞條進行匹配,若在詞典中找到某個字符串,則匹配成功。

按照掃描方向的不同:正向匹配和逆向匹配

按照長度的不同:最大匹配和最小匹配

1.1正向最大匹配思想MM

1》從左向右取待切分漢語句的m個字符作為匹配字段,m為大機器詞典中最長詞條個數。

2》查找大機器詞典並進行匹配。若匹配成功,則將這個匹配字段作為一個詞切分出來。

若匹配不成功,則將這個匹配字段的最后一個字去掉,剩下的字符串作為新的匹配字段,進行再次匹配,重復以上過程,直到切分出所有詞為止。


1.2逆向最大匹配算法RMM

該算法是正向最大匹配的逆向思維,匹配不成功,將匹配字段的最前一個字去掉,實驗表明,逆向最大匹配算法要優於正向最大匹配算法。

1.3 雙向最大匹配法(Bi-directction Matching method,BM)

    雙向最大匹配法是將正向最大匹配法得到的分詞結果和逆向最大匹配法的到的結果進行比較,從而決定正確的分詞方法。據SunM.S. 和 Benjamin K.T.(1995)的研究表明,中文中90.0%左右的句子,正向最大匹配法和逆向最大匹配法完全重合且正確,只有大概9.0%的句子兩種切分方法得到 的結果不一樣,但其中必有一個是正確的(歧義檢測成功),只有不到1.0%的句子,或者正向最大匹配法和逆向最大匹配法的切分雖重合卻是錯的,或者正向最 大匹配法和逆向最大匹配法切分不同但兩個都不對(歧義檢測失敗)。這正是雙向最大匹配法在實用中文信息處理系統中得以廣泛使用的原因所在。

1.3設立切分標志法

收集切分標志,在自動分詞前處理切分標志,再用MM、RMM進行細加工。

1.4最佳匹配(OM,分正向和逆向)

對分詞詞典按詞頻大小順序排列,並注明長度,降低時間復雜度。

優點:易於實現

缺點:匹配速度慢。對於未登錄詞的補充較難實現。缺乏自學習。

1.2基於統計的分詞(無字典分詞)

主要思想:上下文中,相鄰的字同時出現的次數越多,就越可能構成一個詞。因此字與字相鄰出現的概率或頻率能較好的反映詞的可信度。

主要統計模型為:N元文法模型(N-gram)、隱馬爾科夫模型(Hidden Markov Model, HMM)

1.2.1N-gram模型思想

模型基於這樣一種假設,第n個詞的出現只與前面N-1個詞相關,而與其它任何詞都不相關,整句的概率就是各個詞出現概率的乘積 .

我們給定一個詞,然后猜測下一個詞是什么。當我說“艷照門”這個詞時,你想到下一個詞是什么呢?我想大家很有可能會想到“***”,基本上不會有人會想到“陳志傑”吧。N-gram模型的主要思想就是這樣的。

   對於一個句子T,我們怎么算它出現的概率呢?假設T是由詞序列W1,W2,W3,…Wn組成的,那么P(T)=P(W1W2W3…Wn)=P(W1)P(W2|W1)P(W3|W1W2)…P(Wn|W1W2…Wn-1)

   但是這種方法存在兩個致命的缺陷:一個缺陷是參數空間過大,不可能實用化;另外一個缺陷是數據稀疏嚴重。

   為了解決這個問題,我們引入了馬爾科夫假設:一個詞的出現僅僅依賴於它前面出現的有限的一個或者幾個詞。

   如果一個詞的出現僅依賴於它前面出現的一個詞,那么我們就稱之為bigram。即
   P(T) = P(W1W2W3…Wn)=P(W1)P(W2|W1)P(W3|W1W2)…P(Wn|W1W2…Wn-1)
          ≈P(W1)P(W2|W1)P(W3|W2)…P(Wn|Wn-1)

   如果一個詞的出現僅依賴於它前面出現的兩個詞,那么我們就稱之為trigram。

   在實踐中用的最多的就是bigram和trigram了,而且效果很不錯。高於四元的用的很少,因為訓練它需要更龐大的語料,而且數據稀疏嚴重,時間復雜度高,精度卻提高的不多。

設w1,w2,w3,...,wn是長度為n的字符串,規定任意詞wi 只與它的前兩個相關,得到三元概率模型


以此類推,N元模型就是假設當前詞的出現概率只同它前面的N-1個詞有關。

1.2.2隱馬爾科夫模型思想

1.3基於規則的分詞(基於語義)

通過模擬人對句子的理解,達到識別詞的效果,基本思想是語義分析,句法分析,利用句法信息和語義信息對文本進行分詞。自動推理,並完成對未登錄詞的補充是其優點。不成熟.

具體概念:有限狀態機\語法約束矩陣\特征詞庫

1.4基於字標注的中文分詞方法

以往的分詞方法,無論是基於規則的還是基於統計的,一般都依賴於一個事先編制的詞表(詞典)。自動分詞過程就是通過詞表和相關信息來做出詞語切分的 決策。與此相反,基於字標注的分詞方法實際上是構詞方法。即把分詞過程視為字在字串中的標注問題。由於每個字在構造一個特定的詞語時都占據着一個確定的構 詞位置(即詞位),假如規定每個字最多只有四個構詞位置:即B(詞首),M (詞中),E(詞尾)和S(單獨成詞),那么下面句子(甲)的分詞結果就可以直接表示成如(乙)所示的逐字標注形式:

(甲)分詞結果:/上海/計划/N/本/世紀/末/實現/人均/國內/生產/總值/五千美元/
(乙)字標注形式:上/B海/E計/B划/E N/S 本/s世/B 紀/E 末/S 實/B 現/E 人/B 均/E 國/B 內/E生/B產/E總/B值/E 五/B千/M 美/M 元/E 。/S

    首先需要說明,這里說到的“字”不只限於漢字。考慮到中文真實文本中不可避免地會包含一定數量的非漢字字符,本文所說的“字”,也包括外文字母、阿拉伯數 字和標點符號等字符。所有這些字符都是構詞的基本單元。當然,漢字依然是這個單元集合中數量最多的一類字符。
把分詞過程視為字的標注問題的一個重要優勢在於,它能夠平衡地看待詞表詞和未登錄詞的識別問題。在這種分詞技術中,文本中的詞表詞和未登錄詞都是用統一的 字標注過程來實現的。在學習架構上,既可以不必專門強調詞表詞信息,也不用專門設計特定的未登錄詞(如人名、地名、機構名)識別模塊。這使得分詞系統的設 計大大簡化。在字標注過程中,所有的字根據預定義的特征進行詞位特性的學習,獲得一個概率模型。然后,在待分字串上,根據字與字之間的結合緊密程度,得到 一個詞位的標注結果。最后,根據詞位定義直接獲得最終的分詞結果。總而言之,在這樣一個分詞過程中,分詞成為字重組的簡單過程。然而這一簡單處理帶來的分 詞結果卻是令人滿意的。

2.1 中文分詞的難點

中文分詞的難點主要在於:
1、歧義消除,結合上下文語義
2、未登陸詞識別



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM