一般來講,根據(jù)不同應用,漢語分詞的顆粒度大小應該不同。比如,在機器翻譯中,顆粒度應該大一些,“北京大學”就不能被分成兩個詞。而在語音識別中,“北京大學”一般是被分成兩個詞。因此,不同的應用,應該有不同的分詞系統(tǒng)。
利用統(tǒng)計語言模型分詞的方法,可以用幾個數(shù)學公式簡單概括如下:
我們假定一個句子S可以有幾種分詞方法,為了簡單起見我們假定有以下三種:
A1, A2, A3, ..., Ak,
B1, B2, B3, ..., Bm
C1, C2, C3, ..., Cn
其中,A1, A2, B1, B2, C1, C2 等等都是漢語的詞。那么最好的一種分詞方法應該保證分完詞后這個句子出現(xiàn)的概率最大。也就是說如果 A1,A2,..., Ak 是最好的分法,那么 (P 表示概率):
P (A1, A2, A3, ..., Ak) 〉 P (B1, B2, B3, ..., Bm), 并且
P (A1, A2, A3, ..., Ak) 〉 P(C1, C2, C3, ..., Cn)
因此,只要我們利用上回提到的統(tǒng)計語言模型計算出每種分詞后句子出現(xiàn)的概率,并找出其中概率最大的,我們就能夠找到最好的分詞方法。
當然,這里面有一個實現(xiàn)的技巧。如果我們窮舉所有可能的分詞方法并計算出每種可能性下句子的概率,那么計算量是相當大的。因此,我們可以把它看成是一個動態(tài)規(guī)劃(Dynamic Programming) 的問題,并利用 “維特比”(Viterbi) 算法快速地找到最佳分詞。
也許你想不到,中文分詞的方法也被應用到英語處理,主要是手寫體識別中。因為在識別手寫體時,單詞之間的空格就不很清楚了。中文分詞方法可以幫助判別英語單詞的邊界。其實,語言處理的許多數(shù)學方法通用的和具體的語言無關(guān)。在 Google 內(nèi),我們在設(shè)計語言處理的算法時,都會考慮它是否能很容易地適用于各種自然語言。這樣,我們才能有效地支持上百種語言的搜索。
中文分詞要讀的文獻:
1. 梁南元
書面漢語自動分詞系統(tǒng)
http://www.touchwrite.com/demo/LiangNanyuan-JCIP-1987.pdf
2. 郭進
統(tǒng)計語言模型和漢語音字轉(zhuǎn)換的一些新結(jié)果
http://www.touchwrite.com/demo/GuoJin-JCIP-1993.pdf
3. 郭進
Critical Tokenization and its Properties
http://acl.ldc.upenn.edu/J/J97/J97-4004.pdf
4. 孫茂松
Chinese word segmentation without using lexicon and hand-crafted training data
http://portal.acm.org/citation.cfm?coll=GUIDE&dl=GUIDE&id=980775
參考文獻: http://www.kuqin.com/math/20071204/2776.html
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
