常用分詞方法總結分析

最近對自然語言處理中常見任務的方法做了一下整理總結,並對不同方法做了一些對比分析,資料主要來源於網絡以及相關的論文。

1.中文分詞

中文句子是由字組成的連續字符串。爲了理解中文語義,首先需要將句子劃分爲以詞爲基本單位的詞串,這就是中文分詞。詞是最小的能夠獨立活動的有意義的語言成分,英文單詞之間是以空格作爲自然分界符的,而漢語是以字爲基本的書寫單位,詞語之間沒有明確的區分標記,因此中文分詞是中文信息處理的基礎和關鍵。另外,對於詞的定義也沒有完全明確的一種說法,比較抽象的解釋是語言中有意義的能單說或用來造句的最小單位。在1993年作爲國家標準公佈的《信息處理用現代漢語分詞規範》中,文本中的詞語被稱爲“分詞單位”,以區別於語言學中更嚴格的“詞”概念。

常用的分詞方法主要有:基於字符串匹配的方法、基於規則的方法。

1.1 基於字符串匹配的方法

基於字符串匹配的方法又稱爲機械分詞方法或字典匹配方法,它主要依據詞典的信息,而不使用規則知識和統計信息,按照一定的策略將待切分的漢字串與詞典中的詞條逐一匹配,若在詞典中找到該詞條,則匹配成功,否則做其它相應的處理。機械分詞法依據待切分文本掃描的方向不同,分爲正向匹配、逆向匹配以及雙向匹配;依據分詞過程是否與詞性標註過程相結合,又可分爲單純分詞方法和分詞與標註相結合的一體化方法;依據每次匹配優先考慮長詞還是短詞,分爲最大匹配和最小匹配。常用的基於字符串匹配的分詞方法通常是將上述幾種單一方法組合起來使用,例如:基於字符串的正向最大匹配、逆向最大匹配、雙向最大匹配以及最少切分等。

1.1.1 正向最大匹配分詞算法

根據匹配不成功時重新切取的策略區分,機械匹配分詞法又分爲增字匹配法和減字匹配法。增字法一般與最小匹配相結合,而減字法常與最大匹配相結合。因此正向最大匹配法採用減字匹配法較爲常見,其基本思想是:假設己知機器詞典中最長詞條的長度爲N,則以N作爲減字開始的長度標準,首先將待掃描的文本串S從左向右截取長度爲N的字符串W1,然後在詞典中查找是否存在該字符串W1的詞條。如果匹配成功,則W1標記爲切分出的詞,再從待掃描文本串的N+1位置開始掃描;如果匹配失敗,將截取長度減1後,再從S中截取此長度的字符串W1’,重複上述匹配過程,直至截取長度爲1爲止。以掃描完句子作爲整個匹配過程結束。其算法流程如圖所示,經過這一流程處理後,原本的句子S將被切分成W1W2…Wn的詞序列,每一個Wi均爲詞典中的詞條或者是原子。



圖1 正向最大匹配流程圖


1.1.2 逆向最大匹配分詞

逆向最大匹配分詞法,其基本思想與正向最大匹配分詞法大體一致,只是掃描方向換成了從右至左。換句話說,當掃描漢語句子時,根據詞典中最長詞條的長度,從句末開始向左截取出漢語字符串與詞典中的詞條匹配,匹配流程與減字法相同,直至掃描到句首爲止。例如,待切分字串爲“他說的確實在理”時,正向最大匹配分詞法的分詞結果爲“他/說/的確/實在/理/”,逆向最大匹配分詞法的分詞結果爲“他/說/的/確實/在理/”,根據漢語原意,逆向最大匹配的分詞結果是正確的,而正向最大匹配是錯誤的。據統計結果表明,單純使用正向最大匹配法的錯誤率爲1/169,單純使用逆向最大匹配法的錯誤率爲1/245,顯然逆向最大匹配分詞法較正向最大匹配分詞法在切分準確率上有了較大提高,這一結果與漢語中心語偏後有一定的關係。爲了節省處理待匹配字符串的時間,逆向最大匹配通常將詞典中的詞條也組織成逆序,例如“逆向”這一詞條,在逆向最大匹配的分詞詞典中以“向逆”形式存儲。

1.1.3 雙向最大匹配分詞算法

這種分詞算法側重於分詞過程中檢錯和糾錯的應用,其基本原理是對待切分字符串採用正向最大匹配和逆向最大匹配分別進行正向和逆向掃描和初步切分,並將正向最大匹配初步切分結果和逆向最大匹配初步切分結果進行比較,如果兩組結果一致,則判定分詞結果正確,如果存在不一致,則判定存在着切分歧義,需要進一步採取技術手段來消解歧義。

1.1.4最少切分分詞算法

該分詞算法依據最少切分原則,從幾種分詞算法切分結果中取切分詞數最少一種的。比如,從正向最大匹配和逆向最大匹配兩者中選擇詞數較少的方案,當詞數相同時,採取某種策略,選擇其中一個。

1.2 基於統計的方法

詞是固定的字的組合,在文本中相鄰的字同時出現的次數越多越有可能是一個詞,因此計算上下文中相鄰的字聯合出現概率,可以判斷字成詞的概率。通過對語料中相鄰共現的各個字的組合頻度進行統計,計算它們的互現信息。互現信息體現了漢字之間結合關係的緊密程度,當緊密程度高於某一個閾值時,可判定該字組構成一個詞。這種方法的優點是不受待處理文本領域的限制,不需要專門的詞典。統計分詞以概率論爲理論基礎,將漢字上下文中漢字組合串的出現抽象成隨機過程,隨機過程的參數可以通過大規模語料庫訓練得到。基於統計的分詞采用的原理有互信息、N元統計模型以及其它的統計模型如隱馬爾科夫模型、條件隨機場模型、神經網絡模型及最大熵模型等。

1.2.1互信息原理

互信息算法的主要思想是對於字符串x和字符串y,使用公式計算其互信息值P(x,y),用值的大小判斷x和y之間的結合程度。公式如下。

                                         (1)

其中P(x,y)爲字符串x和y共現的頻率,p(x)和p(y)分別是字符串x和y出現的頻率。

當P(x,y)>0時,表示x和y之間具有較高的相關關係,並且互信息值P(x,y)越大,相關性就越強。當其值超過某一預設的閾值時可以判定爲一個詞。

當P(x,y)=0時,表示x和y之間的關係不明確。

當P(x,y)<0時,表示x與y負相關,基本不會組成一個詞。

1.2.2 N元統計模型

N元統計模型的主要思想是:一個單詞的出現與其上下文環境中出現的單詞序列密切相關,第n個詞的出現只與前面n-1個詞相關,而與其它任何詞都不相關。即假定語言滿足馬爾科夫性,可表示爲:

                              (2)

假設句子S由w1w2…wn組成且滿足馬爾科夫性,那麼句子S出現的概率可以通過聯合概率公式計算成:

          (3)

根據階數N在模型中取值不同,N元語法統計模型的名稱也有所不同,如N=2稱爲bigram模型,N=3稱爲trigram模型。從理論上來說,隨着N取值增加,模型越能發映出語言的內在結構,精度也就越高,但是計算參數與語料訓練集的規模也要相應增大,因此在實際應用中一般取N爲2、3、4較爲合適。

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

在式(3)中,條件概率表示在詞串出現的情況下wi出現的概率。在大規模語料庫訓練的基礎上,根據大數定律,最大似然估計值可計算爲:

                              (4)

其中,表示詞序列在訓練語料中同時出現的次數。以bigram模型爲例,具體說明如何應用該統計模型解決分詞中的問題。根據式(3)、(4)可得:

                             (5)

對句子S進行全切分法進行分詞,根據式(5)計算每一種分詞結果的概率,選擇最優結果,即求出概率P(S)的極大值,這一過程可表示爲:

                                (6)

在實際計算中,爲防止機器誤將很小的概率值當做零來處理,通常採用負對數處理的方式將問題轉化爲求極小值問題,具體公式表示爲:

                        (7)

1.3 基於字符串匹配的分詞方法和基於統計的分詞方法對比

字符串匹配方法算法簡單,易於理解和實現,並且切分速度較快,成爲分詞方法中最流行的。因爲字典匹配的方法不考慮具體的語言環境和定義,最大的缺點就是不能處理多詞衝突和新詞情況,嚴重依賴於詞表。單純採用字符串匹配的方法不能滿足中文信息處理對分詞結果準確度的要求。

基於統計的方法能夠較好的切分歧義和識別新詞,目前受到了研究者越來越多的重視。不受待處理文本的領域限制,不需要特定的詞典,能夠有效的自動排出歧義,較好的識別未登錄詞。缺點是需要大量的訓練文本用於建立統計模型的參數,方法的計算量較大,對於常用詞的識別精度差,且分詞精度和訓練文本的選擇有關,會存在一些共現頻度高但是並不是詞的常用字組。


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