正向最大匹配 和逆向最大匹配對比比較

2021-10-07 07:04:12 字數 1872 閱讀 7733

下面介紹的分詞演算法中最簡單的正向最大匹配和反向最大匹配。

這種兩種方法都是機械分詞方法,它是按照一定的策略將待分析的漢字串與乙個」充分大的」機器詞典中的詞條進行配,若在詞典中找到某個字串,則匹配成功(識別出乙個詞)。

按照掃瞄方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配;按照是否與詞性標註過程相結合,又可以分為單純分詞方法和分詞與標註相結合的一體化方法。常用的幾種機械分詞方法如下:

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

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

3)最少切分(使每一句中切出的詞數最小)。

還可以將上述各種方法相互組合,例如,可以將正向最大匹配方法和逆向最大匹配方法結合起來構成雙向匹配法。由於漢語單字成詞的特點,正向最小匹配和逆向最小匹配一般很少使用。一般說來,逆向匹配的切分精度略高於正向匹配,遇到的歧義現象也較少。統計結果表明,單純使用正向最大匹配的錯誤率為1/169,單純使用逆向最大匹配的錯誤率為1/245。但這種精度還遠遠不能滿足實際的需要。實際使用的分詞系統,都是把機械分詞作為一種初分手段,還需通過利用各種其它的語言資訊來進一步提高切分的準確率。

定義比較抽象,舉個例子來說明正向最大匹配和反向最大匹配。

例子:』今天來了許多新同事』

1.正向最大匹配方式,最大長度為5

今天來了許

今天來了

今天來今天  ====》 得到乙個詞–今天

來了許多新

來了許多

來了許來了

來  ====》 得到乙個詞–來

了許多新同

了許多新

了許多了許

了  ====》 得到乙個詞–了

許多新同事

許多新同

許多新許多 ====》得到乙個詞– 許多

新同事新同

新  ====》得到乙個詞– 新

同事 ====》得到乙個詞– 同事

最後正向最大匹配的結果是:

/今天/來/了/許多/新/同事/

2.反向最大匹配方式,最大長度為5

許多新同事

多新同事

新同事同事 ====》得到乙個詞– 同事

來了許多新

了許多新

許多新多新

新  ====》得到乙個詞– 新

天來了許多

來了許多

了許多許多 ====》得到乙個詞– 許多

今天來了

天來了來了

了  ====》得到乙個詞– 了

今天來天來

來  ====》得到乙個詞– 來

今天 ====》得到乙個詞– 今天

最後反向最大匹配的結果是:

/今天/來/了/許多/新/同事/

正向最大匹配和反向最大匹配的結果並不一定相同

例子:』我乙個人吃飯』

1.正向最大匹配方式,最大長度為5

我乙個人吃

我乙個人

我乙個我一

我  ====》得到乙個詞– 我

乙個人吃飯

乙個人吃

乙個人乙個 ====》得到乙個詞– 乙個

人吃飯人吃

人 ====》得到乙個詞– 人

吃飯 ====》得到乙個詞– 吃飯

最後正向最大匹配的結果是:

/我/乙個/人/吃飯/

2.反向最大匹配方式,最大長度為5

乙個人吃飯

個人吃飯

人吃飯吃飯 ====》得到乙個詞– 吃飯

我乙個人

乙個人個人 ====》得到乙個詞– 個人

我一一  ====》得到乙個詞– 一

我  ====》得到乙個詞– 我

最後反向最大匹配的結果是:

/我/一/個人/吃飯/

這次兩種方式的結果就不一致了。

分詞演算法 正向最大匹配和逆向最大匹配實現

假設已經有正向匹配演算法原始碼,則可以將文件進行倒序處理,生成逆序文件,然後根據逆序詞典,對逆序文件使用正向最大匹配法處理即可。同理已經存在逆向最大匹配演算法,則只要將文件倒序處理,正向詞典倒序變為逆序詞典,則可以送入逆向西大匹配演算法中進行分詞處理。class imm object def ini...

中文分詞 正向最大匹配與逆向最大匹配

正向 前向 最大匹配與逆向 後向 最大匹配。中文分詞目前可以分為 規則分詞 統計分詞 混合分詞 規則 統計 這三個主要流派。這次介紹下基於規則的分詞,其是一種機械的分詞方法,主要通過維護詞典,在切分語句時,將語句的每個字串與詞表中的詞逐一進行匹配,找到則切分,否則不予切分。正向最大匹配演算法 這裡需...

正向最大匹配

按照網上資料,中文分詞演算法可分為三大類 基於字典 詞庫匹配的分詞方法 基於詞頻度統計的分詞方法和基於知識理解的分詞方法。基於詞庫的方法,有幾個問題要解決,一是詞庫和資料結構,二是字串在詞庫的匹配方式,三是多種滿足匹配的選擇。正向最大匹配是基於詞庫的分詞方法,基本思想是按照文字的正方向,與詞庫中的詞...