中文分詞基礎(chǔ)原則及正向最大匹配法、逆向最大匹配法、雙向最大匹配法的分析

原文鏈接:原文鏈接

分詞算法設(shè)計(jì)中的幾個基本原則:

1、顆粒度越大越好:用于進(jìn)行語義分析的文本分詞,要求分詞結(jié)果的顆粒度越大,即單詞的字?jǐn)?shù)越多,所能表示的含義越確切,如:“公安局長”可以分為“公安 局長”、“公安局 長”、“公安局長”都算對,但是要用于語義分析,則“公安局長”的分詞結(jié)果最好(當(dāng)然前提是所使用的詞典中有這個詞)

2、切分結(jié)果中非詞典詞越少越好,單字字典詞數(shù)越少越好,這里的“非詞典詞”就是不包含在詞典中的單字,而“單字字典詞”指的是可以獨(dú)立運(yùn)用的單字,如“的”、“了”、“和”、“你”、“我”、“他”。例如:“技術(shù)和服務(wù)”,可以分為“技術(shù) 和服 務(wù)”以及“技術(shù) 和 服務(wù)”,但“務(wù)”字無法獨(dú)立成詞(即詞典中沒有),但“和”字可以單獨(dú)成詞(詞典中要包含),因此“技術(shù) 和服 務(wù)”有1個非詞典詞,而“技術(shù) 和 服務(wù)”有0個非詞典詞,因此選用后者。

3、總體詞數(shù)越少越好,在相同字?jǐn)?shù)的情況下,總詞數(shù)越少,說明語義單元越少,那么相對的單個語義單元的權(quán)重會越大,因此準(zhǔn)確性會越高。

下面詳細(xì)說說正向最大匹配法、逆向最大匹配法和雙向最大匹配法具體是如何進(jìn)行的:

先說說什么是最大匹配法:最大匹配是指以詞典為依據(jù),取詞典中最長單詞為第一個次取字?jǐn)?shù)量的掃描串,在詞典中進(jìn)行掃描(為提升掃描效率,還可以跟據(jù)字?jǐn)?shù)多少設(shè)計(jì)多個字典,然后根據(jù)字?jǐn)?shù)分別從不同字典中進(jìn)行掃描)。例如:詞典中最長詞為“中華人民共和國”共7個漢字,則最大匹配起始字?jǐn)?shù)為7個漢字。然后逐字遞減,在對應(yīng)的詞典中進(jìn)行查找。

下面以“我們在野生動物園玩”詳細(xì)說明一下這幾種匹配方法:

1、正向最大匹配法:

正向即從前往后取詞,從7->1,每次減一個字,直到詞典命中或剩下1個單字。

第1次:“我們在野生動物”,掃描7字詞典,無

第2次:“我們在野生動”,掃描6字詞典,無

。。。。

第6次:“我們”,掃描2字詞典,有

掃描中止,輸出第1個詞為“我們”,去除第1個詞后開始第2輪掃描,即:

第2輪掃描:

第1次:“在野生動物園玩”,掃描7字詞典,無

第2次:“在野生動物園”,掃描6字詞典,無

。。。。

第6次:“在野”,掃描2字詞典,有

掃描中止,輸出第2個詞為“在野”,去除第2個詞后開始第3輪掃描,即:

第3輪掃描:

第1次:“生動物園玩”,掃描5字詞典,無

第2次:“生動物園”,掃描4字詞典,無

第3次:“生動物”,掃描3字詞典,無

第4次:“生動”,掃描2字詞典,有

掃描中止,輸出第3個詞為“生動”,第4輪掃描,即:

第4輪掃描:

第1次:“物園玩”,掃描3字詞典,無

第2次:“物園”,掃描2字詞典,無

第3次:“物”,掃描1字詞典,無

掃描中止,輸出第4個詞為“物”,非字典詞數(shù)加1,開始第5輪掃描,即:

第5輪掃描:

第1次:“園玩”,掃描2字詞典,無

第2次:“園”,掃描1字詞典,有

掃描中止,輸出第5個詞為“園”,單字字典詞數(shù)加1,開始第6輪掃描,即:

第6輪掃描:

第1次:“玩”,掃描1字字典詞,有

掃描中止,輸出第6個詞為“玩”,單字字典詞數(shù)加1,整體掃描結(jié)束。

正向最大匹配法,最終切分結(jié)果為:“我們/在野/生動/物/園/玩”,其中,單字字典詞為2,非詞典詞為1。

2、逆向最大匹配法:

逆向即從后往前取詞,其他邏輯和正向相同。即:

第1輪掃描:“在野生動物園玩”

第1次:“在野生動物園玩”,掃描7字詞典,無

第2次:“野生動物園玩”,掃描6字詞典,無

。。。。

第7次:“玩”,掃描1字詞典,有

掃描中止,輸出“玩”,單字字典詞加1,開始第2輪掃描

第2輪掃描:“們在野生動物園”

第1次:“們在野生動物園”,掃描7字詞典,無

第2次:“在野生動物園”,掃描6字詞典,無

第3次:“野生動物園”,掃描5字詞典,有

掃描中止,輸出“野生動物園”,開始第3輪掃描

第3輪掃描:“我們在”

第1次:“我們在”,掃描3字詞典,無

第2次:“們在”,掃描2字詞典,無

第3次:“在”,掃描1字詞典,有

掃描中止,輸出“在”,單字字典詞加1,開始第4輪掃描

第4輪掃描:“我們”

第1次:“我們”,掃描2字詞典,有

掃描中止,輸出“我們”,整體掃描結(jié)束。

逆向最大匹配法,最終切分結(jié)果為:“我們/在/野生動物園/玩”,其中,單字字典詞為2,非詞典詞為0。

3、雙向最大匹配法:

正向最大匹配法和逆向最大匹配法,都有其局限性,我舉得例子是正向最大匹配法局限性的例子,逆向也同樣存在(如:長春藥店,逆向切分為“長/春藥店”),因此有人又提出了雙向最大匹配法,雙向最大匹配法。即,兩種算法都切一遍,然后根據(jù)大顆粒度詞越多越好,非詞典詞和單字詞越少越好的原則,選取其中一種分詞結(jié)果輸出。

如:“我們在野生動物園玩”

正向最大匹配法,最終切分結(jié)果為:“我們/在野/生動/物/園/玩”,其中,兩字詞3個,單字字典詞為2,非詞典詞為1。

逆向最大匹配法,最終切分結(jié)果為:“我們/在/野生動物園/玩”,其中,五字詞1個,兩字詞1個,單字字典詞為2,非詞典詞為0。

非字典詞:正向(1)>逆向(0)(越少越好)

單字字典詞:正向(2)=逆向(2)(越少越好)

總詞數(shù):正向(6)>逆向(4)(越少越好)

因此最終輸出為逆向結(jié)果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 正則表達(dá)式2. 分詞(Word tokenization)我們在進(jìn)行每一次文本處理時都要對文本進(jìn)行統(tǒng)一標(biāo)準(zhǔn)化...
    嗯我是一個胖子閱讀 361評論 0 0
  • 轉(zhuǎn)載請注明:終小南 ? 中文分詞算法總結(jié) 什么是中文分詞眾所周知,英文是以 詞為單位的,詞和詞之間是靠空格隔開,而...
    kirai閱讀 10,105評論 3 24
  • 2017年3月7日,上午的生意糟透了,看著冷清的菜市場,心里無數(shù)次的告訴自己“現(xiàn)在是淡季,一切都會過去,不要著急,...
    lily璇子閱讀 279評論 0 0
  • 2017年10月6日如是家人黃愈惠,種種子第67天。 發(fā)心:我今不是為了我個人聞思修行,而是為了六道輪回一切如母有...
    愈惠閱讀 246評論 2 2

友情鏈接更多精彩內(nèi)容