現有的分詞演算法可分為三大類:基於字串匹配的分詞方法、基於理解的分詞方法和基於統計的分詞方法。
這種方法又叫做機械分詞方法,它是按照一定的策略將待分析的漢字串與乙個「充分大的」機器詞典中的詞 條進行配,若在詞典中找到某個字串,則匹配成功(識別出乙個詞)。按照掃瞄方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優先匹 配的情況,可以分為最大(最長)匹配和最小(最短)匹配;按照是否與詞性標註過程相結合,又可以分為單純分詞方法和分詞與標註相結合的一體化方法。常用的 幾種機械分詞方法如下:
1)正向最大匹配法(由左到右的方向);
2)逆向最大匹配法(由右到左的方向);
3)最少切分(使每一句中切出的詞數最小);
4)雙向最大匹配法(進行由左到右、由右到左兩次掃瞄)
還可以將上述各種方法相互組合,例如,可以將正向最大匹配方法和逆向最大匹配方法結合起來構成 雙向匹配法。由於漢語單字成詞的特點,正向最小匹配和逆向最小匹配一般很少使用。一般說來,逆向匹配的切分精度略高於正向匹配,遇到的歧義現象也較少。統 計結果表明,單純使用正向最大匹配的錯誤率為1/169,單純使用逆向最大匹配的錯誤率為1/245。但這種精度還遠遠不能滿足實際的需要。實際使用的分 詞系統,都是把機械分詞作為一種初分手段,還需通過利用各種其它的語言資訊來進一步提高切分的準確率。
對於機械分詞方法,可以建立乙個一般的模型,在這方面有專業的學術**,這裡不做詳細論述。
這種分詞方法是通過讓計算機模擬人對句子的理解,達到識別詞的效果。其基本思想就 是在分詞的同時進行句法、語義分析,利用句法資訊和語義資訊來處理歧義現象。它通常包括三個部分:分詞子系統、句法語義子系統、總控部分。在總控部分的協 調下,分詞子系統可以獲得有關詞、句子等的句法和語義資訊來對分詞歧義進行判斷,即它模擬了人對句子的理解過程。這種分詞方法需要使用大量的語言知識和信 息。由於漢語語言知識的籠統、複雜性,難以將各種語言資訊組織成機器可直接讀取的形式,因此目前基於理解的分詞系統還處在試驗階段。
從形式上看,詞是穩定的字的組合,因此在上下文中,相鄰的字同時出現的次數越多,就 越有可能構成乙個詞。因此字與字相鄰共現的頻率或概率能夠較好的反映成詞的可信度。可以對語料中相鄰共現的各個字的組合的頻度進行統計,計算它們的互現信 息。定義兩個字的互現資訊,計算兩個漢字x、y的相鄰共現概率。互現資訊體現了漢字之間結合關係的緊密程度。當緊密程度高於某乙個閾值時,便可認為此字組 可能構成了乙個詞。這種方法只需對語料中的字組頻度進行統計,不需要切分詞典,因而又叫做無詞典分詞法或統計取詞方法。但這種方法也有一定的侷限性,會經 常抽出一些共現頻度高、但並不是詞的常用字組,例如「這一」、「之一」、「有的」、「我的」、「許多的」等,並且對常用詞的識別精度差,時空開銷大。實際 應用的統計分詞系統都要使用一部基本的分詞詞典(常用詞詞典)進行串匹配分詞,同時使用統計方法識別一些新的詞,即將串頻統計和串匹配結合起來,既發揮匹 配分詞切分速度快、效率高的特點,又利用了無詞典分詞結合上下文識別生詞、自動消除歧義的優點。
到底哪種分詞演算法的準確度更高,目前並無定論。對於任何乙個成熟的分詞系統來說,不可能單獨依 靠某一種演算法來實現,都需要綜合不同的演算法。
盤古分詞 多元分詞演算法
中文分詞按照分詞粒度來分,分成 一元分詞,二元分詞,多元分詞和精確分詞等型別。一元分詞就是最簡單的分詞,將所有的中文字元按照單字形式輸出。二元分詞按雙字形式輸出。多元分詞則是將一句話中可能的單詞組合按照一定規則輸出,允許輸出的詞有重疊。精確分詞則是將一句話中最準確的單詞組合輸出,不允許輸出的詞有重疊...
RMM分詞演算法
rmm分詞演算法 class splitword function construct fclose fp 關閉詞庫檔案 析放資源 function clear 設定源字串 function setsource str 檢查字串是否不存在中文 function notgbk str rmm分詞演算法...
mmseg分詞演算法
不想為了面試而面試,找實習的事還是順其自然,每天刷刷題就行,這樣整天都在看水題效率極低,也水不了幾題。還是得學點有用的東西 9 8日目標 搞清楚mmseg演算法,分別用python和c 實現。mmseg演算法簡介 其關鍵是 1.匹配3個詞得到的片語長度盡量要長 2.每個詞也要盡可能長 3.每個詞要盡...