談談中文分詞
----- 統計語言模型在中文處理中的一個應用
上回咱們談到
利用統計語言模型進行語言處理,因爲模型是創建在詞的基礎上的,對於中日韓等語言,首先須要進行分詞。例如把句子 「中國航天官員應邀到美國與太空總署官員開會。」
分紅一串詞:
中國 / 航天 / 官員 / 應邀 / 到 / 美國 / 與 / 太空 / 總署 / 官員 / 開會。
最容易想到的,也是最簡單的分詞辦法就是查字典。這種方法最先是由北京航天航空大學的梁南元教授提出的。
用 「查字典」 法,其實就是咱們把一個句子從左向右掃描一遍,遇到字典裏有的詞就標識出來,遇到複合詞(好比 「上海大學」)就找最長的詞匹配,遇到不認識的字串就分割成單字詞,因而簡單的分詞就完成了。這種簡單的分詞方法徹底能處理上面例子中的句子。八十年代,
哈工大的王曉龍博士把 它理論化,發展成最少詞數的分詞理論,即一句話應該分紅數量最少的詞串。這種方法一個明顯的不足是當遇到有二義性 (有雙重理解意思)的分割時就無能爲力了。好比,對短語 「發展中國家」 正確的分割是「發展-中-國家」,而從左向右查字典的辦法會將它分割成「發展-中國-家」,顯然是錯了。另外,並不是全部的最長匹配都必定是正確的。好比 「上海大學城書店」的正確分詞應該是 「上海-大學城-書店,」 而不是 「上海大學-城-書店」。
九十年代之前,海內外很多學者試圖用一些文法規則來解決分詞的二義性問題,都不是很成功。90年先後,清華大學的郭進博士用統計語言模型成功解決分詞二義性問題,將漢語分詞的錯誤率下降了一個數量級。
利用統計語言模型分詞的方法,能夠用幾個數學公式簡單歸納以下:
咱們假定一個句子S能夠有幾種分詞方法,爲了簡單起見咱們假定有如下三種:
A1, A2, A3, ..., Ak,
B1, B2, B3, ..., Bm
C1, C2, C3, ..., Cn
其中,A1, A2, B1, B2, C1, C2 等等都是漢語的詞。那麼最好的一種分詞方法應該保證分完詞後這個句子出現的機率最大。也就是說若是 A1,A2,..., Ak 是最好的分法,那麼 (P 表示機率):
P (A1, A2, A3, ..., Ak) 〉 P (B1, B2, B3, ..., Bm), 而且
P (A1, A2, A3, ..., Ak) 〉 P(C1, C2, C3, ..., Cn)
所以,只要咱們利用上回提到的統計語言模型計算出每種分詞後句子出現的機率,並找出其中機率最大的,咱們就可以找到最好的分詞方法。
固然,這裏面有一個實現的技巧。若是咱們窮舉全部可能的分詞方法並計算出每種可能性下句子的機率,那麼計算量是至關大的。所以,咱們能夠把它當作是一個
動態規劃(Dynamic Programming) 的問題,並利用 「維特比」(
Viterbi) 算法快速地找到最佳分詞。
在清華大學的郭進博士之後,海內外很多學者利用統計的方法,進一步完善中文分詞。其中值得一提的是清華大學孫茂松教授和香港科技大學吳德凱教授的工做。
需 要指出的是,語言學家對詞語的定義不徹底相同。好比說 「北京大學」,有人認爲是一個詞,而有人認爲該分紅兩個詞。一個折中的解決辦法是在分詞的同時,找到複合詞的嵌套結構。在上面的例子中,若是一句話包含 「北京大學」四個字,那麼先把它當成一個四字詞,而後再進一步找出細分詞 「北京」 和 「大學」。這種方法是最先是郭進在 「Computational Linguistics」 (《計算機語言學》)雜誌上發表的,之後很多系統採用這種方法。
通常來說,根 據不一樣應用,漢語分詞的顆粒度大小應該不一樣。好比,在機器翻譯中,顆粒度應該大一些,「北京大學」就不能被分紅兩個詞。而在語音識別中,「北京大學」通常 是被分紅兩個詞。所以,不一樣的應用,應該有不一樣的分詞系統。Google 的葛顯平博士和朱安博士,專門爲搜索設計和實現了本身的分詞系統。
也 許你想不到,中文分詞的方法也被應用到英語處理,主要是手寫體識別中。由於在識別手寫體時,單詞之間的空格就不很清楚了。中文分詞方法能夠幫助判別英語單 詞的邊界。其實,語言處理的許多數學方法通用的和具體的語言無關。在 Google 內,咱們在設計語言處理的算法時,都會考慮它是否能很容易地適用於各類天然語言。這樣,咱們纔能有效地支持上百種語言的搜索。
對中文分詞有興趣的讀者,能夠閱讀如下文獻:
1. 梁南元
書面漢語自動分詞系統
http://www.touchwrite.com/demo/LiangNanyuan-JCIP-1987.pdf
2. 郭進
統計語言模型和漢語音字轉換的一些新結果
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