數學之美 系列二 談談中文分詞

2021-06-15 20:49:31 字數 2287 閱讀 4489

發表者: 吳軍, google 研究員

談談中文分詞

----- 統計語言模型在中文處理中的乙個應用

上回我們談到

利用統計語言模型進行語言處理

,由於模型是建立在詞的基礎上的,對於中日韓等語言,首先需要進行分詞。例如把句子 「中國航天**應邀到美國與太空總署**開會。」

分成一串詞:

中國 / 航天 / ** / 應邀 / 到 / 美國 / 與 / 太空 / 總署 / ** / 開會。

最容易想到的,也是最簡單的分詞辦法就是查字典。這種方法最早是由北京航天航空大學的梁南元教授提出的。

用 「查字典」 法,其實就是我們把乙個句子從左向右掃瞄一遍,遇到字典裡有的詞就標識出來,遇到複合詞(比如 「上海大學」)就找最長的詞匹配,遇到不認識的字串就分割成單字詞,於是簡單的分詞就完成了。這種簡單的分詞方法完全能處理上面例子中的句子。八十年代,

哈工大的王曉龍博士

把它理論化,發展成最少詞數的分詞理論,即一句話應該分成數量最少的詞串。這種方法乙個明顯的不足是當遇到有二義性 (有雙重理解意思)的分割時就無能為力了。比如,對短語 「發展中國家」 正確的分割是「發展-中-國家」,而從左向右查字典的辦法會將它分割成「發展-中國-家」,顯然是錯了。另外,並非所有的最長匹配都一定是正確的。比如「上海大學城書店」的正確分詞應該是 「上海-大學城-書店,」 而不是 「上海大學-城-書店」。

九十年代以前,海內外不少學者試圖用一些文法規則來解決分詞的二義性問題,都不是很成功。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. 梁南元

書面漢語自動分詞系統

2. 郭進

統計語言模型和漢語音字轉換的一些新結果

3. 郭進

critical tokenization and its properties

4. 孫茂松

chinese word segmentation without using lexicon and hand-crafted training data

數學之美 系列二 談談中文分詞

2006年4月10日 上午 08 10 00 發表者 吳軍,google 研究員 談談中文分詞 統計語言模型在中文處理中的乙個應用 上回我們談到 利用統計語言模型進行語言處理,由於模型是建立在詞的基礎上的,對於中日韓等語言,首先需要進行分詞。例如把句子 中國航天 應邀到美國與太空總署 開會。分成一串...

數學之美 系列二 談談中文分詞

數學之美 系列二 談談中文分詞 2006年4 月10日上午 08 10 00 發表者 吳軍,google 研究員 談談中文分詞 統計語言模型在中文處理中的乙個應用 上回我們談到利用統計語言模型進行語言處理,由於模型是建立在詞的基礎上的,對於中日韓等語言,首先需要進行分詞。例如把句子 中國航天 應邀到...

數學之美 系列二 談談中文分詞

2006年4月10日 上午 08 10 00 發表者 吳軍,google 研究員 談談中文分詞 統計語言模型在中文處理中的乙個應用 上回我們談到 利用統計語言模型進行語言處理,由於模型是建立在詞的基礎上的,對於中日韓等語言,首先需要進行分詞。例如把句子 中國航天 應邀到美國與太空總署 開會。分成一串...