數學之美第四章談談分詞

看到這裡的你,本文以問題為導向,可以說是先看本文,再看書,效果更佳。

問題一:為什麼要分詞?

用統計語言模型進行自然語言處理時,而這些語言模型是建立在詞的基礎上的,詞也是表達語意的最小單位,因此,要先對句子進行分詞,才能做進一步的自然語言處理。

問題二:什麼是分詞?

例如:「中國航天官員應邀到美國與太空總署官員開會」。

可以分為: 中國/航天/官員/應邀/到/美國/與/太空/總署/官員/開會。

從上面我們可以看出:分詞的輸入是一串鬍子連著眉毛的漢字。而輸出則是用分界符,分割的一串詞。

中文分詞的演變:

1.北航 梁南元:查字典方法

2.1980年哈工大 王曉龍:將查字典的方法理論化,發展呈最少詞數的分詞理論,

問題三:分詞的二義性問題:

3.1990年清華大學郭進:用統計語言模型成功解決了分詞二義性問題。

利用統計語言模型分詞的方法:

假設句子s可以有三種分詞方式,A1,A2,A3。那麼最好的一種分詞方式應該保證分完詞之後這個句子出現的概率最大。例如:如果A1是最好的分詞方式,那麼p(A1)>p(A2)且 p(A1)>P(A3)。

因此:只要利用統計語言模型計算出每種分詞後句子的概率,並找出其中概率最大的,就能找到最好的分詞方法。

那麼問題來了,如果窮舉所有可能的分詞方法並計算每種可能性下的句子的概率,那麼計算量很大,

解決:可以把它看成一個動態規劃的問題,利用威特比演算法快速地找到最佳分詞。

問題三:語言學家對詞語的定義不完全相同,比如」北京大學「,有人認為是一個詞,有人認為是兩個詞,北京/大學。

解決:找到分詞的同時,並且找到複合詞的嵌套結構。比如遇到」北京大學「,先把它當成一個詞,再進一步分成兩個詞——北京/大學

應用一:

應用不同,漢語分詞的顆粒度大小應該不同。比如,機器翻譯時,顆粒度應該大一點,語音識別時,顆粒度應該小一點、不同的應用應該有不同的分詞系統。

應用二:

分詞技術,被應用到英語處理時,主要在手寫體的識別上。

缺點:

1.利用統計語言模型進行分詞,可以取得比人工更好的結果,但是不可能做出百分之百的正確。因為統計語言模型很大程度上是按照「大眾的想法」。

注意:

1.這個問題屬於已經解決的問題,即使能進一步提高準確率,提升的空間也有限。

2.英文和西方語言是沒有分詞問題的,除了要做文法分析找片語。

附錄:

1.分詞的一致性:在將統計語言用於分詞之後,不同的分詞器產生的結果的差異,要遠遠小於不同人之間的看法。

2.詞的顆粒度:

在不同應用中,回有一種顆粒度比另外一種好的情況。

針對不同的應用,我們可以構造不同的分詞器,但是更好的做法是讓一個分詞器同時支持不同層次的切分,然後由不同的應用自行決定切分的顆粒度。

實現:

1. 需要一個基本詞表,和一個複合詞表。

2. 根據基本詞表和複合詞表各自建立一個語言模型。

3. 根據基本詞表和語言模型1對句子進行分詞,就得到了小顆粒的分詞結果。

4. 用複合詞表和語言模型進行第二次分詞。

分詞器準確性的問題:

1. 錯誤:

2. 顆粒度不一致:

總之,要繼續做數據挖掘,不斷完善複合詞的詞典,這也是近年來中文分詞工作的重點。

推薦閱讀:

jieba源碼解析(一)——中文分詞
中文分詞評測
中文分詞演算法簡介

TAG:自然語言處理 | 中文分詞 | 結巴分詞 |