数学之美 系列二 -- 谈谈中文分词
數(shù)學(xué)之美 系列二 -- 談?wù)勚形姆衷~
2006年4月10日 上午 08:10:00
發(fā)表者: 吳軍, Google 研究員
談?wù)勚形姆衷~
----- 統(tǒng)計(jì)語言模型在中文處理中的一個應(yīng)用
?
上回我們談到利用統(tǒng)計(jì)語言模型進(jìn)行語言處理,由于模型是建立在詞的基礎(chǔ)上的,對于中日韓等語言,首先需要進(jìn)行分詞。例如把句子 “中國航天官員應(yīng)邀到美國與太空總署官員開會?!?/span>
分成一串詞:
中國 / 航天 / 官員 / 應(yīng)邀 / 到 / 美國 / 與 / 太空 / 總署 / 官員 / 開會。
最容易想到的,也是最簡單的分詞辦法就是查字典。這種方法最早是由北京航天航空大學(xué)的梁南元教授提出的。
用 “查字典” 法,其實(shí)就是我們把一個句子從左向右掃描一遍,遇到字典里有的詞就標(biāo)識出來,遇到復(fù)合詞(比如 “上海大學(xué)”)就找最長的詞匹配,遇到不認(rèn)識的字串就分割成單字詞,于是簡單的分詞就完成了。這種簡單的分詞方法完全能處理上面例子中的句子。八十年代,哈工大的王曉龍博士把它理論化,發(fā)展成最少詞數(shù)的分詞理論,即一句話應(yīng)該分成數(shù)量最少的詞串。這種方法一個明顯的不足是當(dāng)遇到有二義性 (有雙重理解意思)的分割時(shí)就無能為力了。比如,對短語 “發(fā)展中國家” 正確的分割是“發(fā)展-中-國家”,而從左向右查字典的辦法會將它分割成“發(fā)展-中國-家”,顯然是錯了。另外,并非所有的最長匹配都一定是正確的。比如“上海大學(xué)城書店”的正確分詞應(yīng)該是 “上海-大學(xué)城-書店,” 而不是 “上海大學(xué)-城-書店”。
九十年代以前,海內(nèi)外不少學(xué)者試圖用一些文法規(guī)則來解決分詞的二義性問題,都不是很成功。90年前后,清華大學(xué)的郭進(jìn)博士用統(tǒng)計(jì)語言模型成功解決分詞二義性問題,將漢語分詞的錯誤率降低了一個數(shù)量級。
利用統(tǒng)計(jì)語言模型分詞的方法,可以用幾個數(shù)學(xué)公式簡單概括如下:
我們假定一個句子S可以有幾種分詞方法,為了簡單起見我們假定有以下三種:
A1, A2, A3, ..., Ak,
B1, B2, B3, ..., Bm
C1, C2, C3, ..., Cn
其中,A1, A2, B1, B2, C1, C2 等等都是漢語的詞。那么最好的一種分詞方法應(yīng)該保證分完詞后這個句子出現(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)計(jì)語言模型計(jì)算出每種分詞后句子出現(xiàn)的概率,并找出其中概率最大的,我們就能夠找到最好的分詞方法。
當(dāng)然,這里面有一個實(shí)現(xiàn)的技巧。如果我們窮舉所有可能的分詞方法并計(jì)算出每種可能性下句子的概率,那么計(jì)算量是相當(dāng)大的。因此,我們可以把它看成是一個動態(tài)規(guī)劃(Dynamic Programming) 的問題,并利用 “維特比”(Viterbi) 算法快速地找到最佳分詞。
在清華大學(xué)的郭進(jìn)博士以后,海內(nèi)外不少學(xué)者利用統(tǒng)計(jì)的方法,進(jìn)一步完善中文分詞。其中值得一提的是清華大學(xué)孫茂松教授和香港科技大學(xué)吳德凱教授的工作。
需要指出的是,語言學(xué)家對詞語的定義不完全相同。比如說 “北京大學(xué)”,有人認(rèn)為是一個詞,而有人認(rèn)為該分成兩個詞。一個折中的解決辦法是在分詞的同時(shí),找到復(fù)合詞的嵌套結(jié)構(gòu)。在上面的例子中,如果一句話包含“北京大學(xué)”四個字,那么先把它當(dāng)成一個四字詞,然后再進(jìn)一步找出細(xì)分詞 “北京” 和 “大學(xué)”。這種方法是最早是郭進(jìn)在 “Computational Linguistics” (《計(jì)算機(jī)語言學(xué)》)雜志上發(fā)表的,以后不少系統(tǒng)采用這種方法。
一般來講,根據(jù)不同應(yīng)用,漢語分詞的顆粒度大小應(yīng)該不同。比如,在機(jī)器翻譯中,顆粒度應(yīng)該大一些,“北京大學(xué)”就不能被分成兩個詞。而在語音識別中,“北京大學(xué)”一般是被分成兩個詞。因此,不同的應(yīng)用,應(yīng)該有不同的分詞系統(tǒng)。Google 的葛顯平博士和朱安博士,專門為搜索設(shè)計(jì)和實(shí)現(xiàn)了自己的分詞系統(tǒng)。
也許你想不到,中文分詞的方法也被應(yīng)用到英語處理,主要是手寫體識別中。因?yàn)樵谧R別手寫體時(shí),單詞之間的空格就不很清楚了。中文分詞方法可以幫助判別英語單詞的邊界。其實(shí),語言處理的許多數(shù)學(xué)方法通用的和具體的語言無關(guān)。在 Google 內(nèi),我們在設(shè)計(jì)語言處理的算法時(shí),都會考慮它是否能很容易地適用于各種自然語言。這樣,我們才能有效地支持上百種語言的搜索。
對中文分詞有興趣的讀者,可以閱讀以下文獻(xiàn):
1. 梁南元
書面漢語自動分詞系統(tǒng)
http://www.touchwrite.com/demo/LiangNanyuan-JCIP-1987.pdf
2. 郭進(jìn)
統(tǒng)計(jì)語言模型和漢語音字轉(zhuǎn)換的一些新結(jié)果
http://www.touchwrite.com/demo/GuoJin-JCIP-1993.pdf
3. 郭進(jìn)
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
?
總結(jié)
以上是生活随笔為你收集整理的数学之美 系列二 -- 谈谈中文分词的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何写好引言
- 下一篇: 数学之美 系列三 -- 隐含马尔可夫模型