彭 琦,朱新華,陳意山
(1.廣西師范大學(xué)網(wǎng)絡(luò)中心,廣西桂林541004;2.廣西師范大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,廣西桂林541004;3.廣西師范大學(xué)漓江學(xué)院,廣西桂林541006)
?
一種基于詞頻歧義消解的通用中文分詞法
彭琦1,朱新華2,陳意山3
(1.廣西師范大學(xué)網(wǎng)絡(luò)中心,廣西桂林541004;2.廣西師范大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,廣西桂林541004;3.廣西師范大學(xué)漓江學(xué)院,廣西桂林541006)
摘要:歧義是在基于詞典的分詞方法中常見的問題,以往的基于詞典的分詞方法往往使用雙向最大匹配法獲得分詞結(jié)果后,通過使用上下文信息來進(jìn)行歧義消解,但是對于沒有上下文信息的單獨(dú)語料無法進(jìn)行歧義消解。本文提出一種通用的基于詞頻的歧義消解法,該方法是與上下文無關(guān)的,能夠消解沒有上下文信息的語料切分后產(chǎn)生的歧義,擴(kuò)大了歧義消解的應(yīng)用范圍,簡化了歧義消解的處理過程。實(shí)驗(yàn)表明:文本方法與傳統(tǒng)基于詞典的分詞算法相比,具有更強(qiáng)的適用性及更高的可用性。
關(guān)鍵詞:中文分詞;詞頻;歧義消解
0引言
中文分詞被譽(yù)為中文信息處理的“橋頭堡”,不僅因?yàn)榉衷~是自然語言處理中的基礎(chǔ)性任務(wù),也緣于中文分詞在中文信息處理中的重要地位[1]。在以往的研究中,中文分詞算法的主流有基于統(tǒng)計(jì)學(xué)習(xí)的分詞和基于詞典的分詞2種,這2種分詞方法各有所長,也都有不足?;诮y(tǒng)計(jì)學(xué)習(xí)的分詞方法能夠較好地識別未登錄詞并減少歧義,在分詞精度上勝于基于詞典的分詞方法[2],缺點(diǎn)在于需要大量經(jīng)過人工處理的語料進(jìn)行訓(xùn)練。日常生活中人們常用的語言搭配是隨著時(shí)間不斷變化的,陳舊的語料訓(xùn)練出的基于統(tǒng)計(jì)的分詞方法難以駕馭人們?nèi)找娓碌恼Z言習(xí)慣,且人工進(jìn)行語料庫更新是十分巨大繁瑣的工作,國內(nèi)沒有能夠獲取并持續(xù)更新的語料庫,這是基于統(tǒng)計(jì)學(xué)習(xí)的分詞方法所遇到的阻礙。在基于詞典的分詞方法中,未登錄詞造成的分詞精度降低和容易產(chǎn)生歧義是它的缺陷所在[3],因此未登陸詞識別和歧義處理是衡量一個基于詞典的分詞系統(tǒng)優(yōu)劣的重要標(biāo)準(zhǔn)。
回顧以往所提出的歧義處理方法,常需上下文信息的統(tǒng)計(jì)進(jìn)行辨別歧義[4],例如使用互信息原理、N元統(tǒng)計(jì)模型、t-測試原理、HMM模型、字標(biāo)注統(tǒng)計(jì)[5]等方法或模型進(jìn)行上下文信息統(tǒng)計(jì)以實(shí)現(xiàn)歧義消解,無法在沒有上下文信息的情況下進(jìn)行歧義消解,或者上下文信息量少影響歧義消解的質(zhì)量。在現(xiàn)實(shí)生活中需要切分的語料是多種多樣的,并不是所有待切分語料都具有上下文信息,一些需要處理的語料往往是單獨(dú)的,以單個句子的形式出現(xiàn)并要求切分的。例如在因特網(wǎng)上查詢信息時(shí)輸入的文本、網(wǎng)上聊天和電子郵件中輸入的單句、問答系統(tǒng)中用戶輸入的問句等都沒有上下文信息。由此可見基于上下文信息進(jìn)行歧義消解的方法具有局限性。因此本文提出一種運(yùn)用詞頻信息進(jìn)行歧義消解的方法,試圖使用該方法對沒有上下文信息的語料進(jìn)行分詞后的歧義消解,擴(kuò)大可處理語料的范圍。
1中文分詞算法中的歧義類型
對中文文本進(jìn)行分詞是中文信息處理系統(tǒng)中的首要工作,能否從分詞算法中提取有效詞語信息是決定該中文信息處理系統(tǒng)優(yōu)劣的關(guān)鍵。在中文分詞過程中,根據(jù)不同的切分方法,可能得到不同的結(jié)果,哪一結(jié)果更趨近于人們理解的范疇,是歧義消解所需進(jìn)行的工作。根據(jù)以往歧義消解領(lǐng)域的工作來看,在中文分詞過程中產(chǎn)生的歧義類型可分為真歧義字段和偽歧義字段2種。
1.1真歧義字段
真歧義字段是指對同一字串,有2種或2種以上的理解或切分,無論是哪種理解或者切分,都認(rèn)為是可行的。例如“在廣州大學(xué)生活豐富多彩”這一字串,可以理解或切分為“在廣州大學(xué)/生活豐富多彩”,也可以理解或切分為“在廣州/大學(xué)生活豐富多彩”;再如“學(xué)生會寫的文章很多”這一字串,可理解或切分為“學(xué)生會/寫的文章很多”,也可理解或切分為“學(xué)生/會寫的文章很多”。對于這類歧義,任何一種理解或切分方式都是可行的。這類歧義字段難以進(jìn)行歧義消解工作,其占總歧義字段的比例較小,約為6%[6]。因此本文提出的歧義消解方法不對其進(jìn)行處理。
1.2偽歧義字段
偽歧義字段屬于機(jī)器形式上的歧義,即同一文本使用不同的切分方法會得出不同的切分結(jié)果,但在真實(shí)語言環(huán)境下,只有唯一正確的切分結(jié)果,稱其為偽歧義字段。這類歧義字段占歧義總數(shù)的94%[7]。偽歧義字段的產(chǎn)生,是因文本切分中形成的交集型歧義字段,交集型歧義定義如下:
定義1在字段ABC中,設(shè)A、B、C為子字串,若子字串AB與BC同時(shí)存在于詞典中,則稱ABC為交集型歧義字段。
定義1中,子字串A、B、C可以由一個或多個漢字組成,由于子字串中所含的漢字個數(shù)不同,在此引入鏈長的概念。
定義2交集型歧義字段含有交集漢字的個數(shù)稱為交集型歧義鏈長。
歧義字段的交集只含有1個漢字的鏈長為1,含2個漢字的鏈長為2,以此類推,含有n個交集漢字的鏈長為n。例如:交集型歧義字段“的確定”,根據(jù)不同的切分順序可切分為“的/確定”或“的確/定”,交集字段為“確”,由1個漢字成,鏈長為1。再如,“天安門前”可切分為“天安門/前”或者“天安/門前”,交集字段為“門”,鏈長也為1。鏈長為2的交集型歧義字段有:“大學(xué)生會”,可切分為“大學(xué)生/會”或“大/學(xué)生會”,交集字段為“學(xué)生”,鏈長為2。
2基于詞頻的歧義消解方法
在以往的研究中,歧義消解大多采用基于上下文信息統(tǒng)計(jì)的方法進(jìn)行處理。例如N元統(tǒng)計(jì)模型,它是一種考慮上下文語境的統(tǒng)計(jì)語言模型[8],其思想認(rèn)為一個單詞的出現(xiàn)與上下文環(huán)境中出現(xiàn)的單詞序列緊密相關(guān),第n個詞的出現(xiàn)與前面的n-1個詞相關(guān),而與其他任何詞都不相關(guān)。設(shè)W1W2…Wn是長度為n的字串,那么為了預(yù)測詞Wn出現(xiàn)的概率,必須知道它前面所有的詞出現(xiàn)的概率,并對比切分時(shí)產(chǎn)生不同的詞可能出現(xiàn)的概率,來進(jìn)行歧義消解。雖然基于上下文信息的歧義消解方法能夠較好地反映字串在整篇文章中的結(jié)合緊密程度,具有較好的歧義消解性能,但不適用于沒有上下文信息的獨(dú)立語料,具有一定的局限性。為克服基于上下文信息的歧義消解法必須依賴上下文信息的局限性,本文提出一種基于詞頻的歧義消解方法,主要分為以下3步:
①從文件中讀取詞典信息、詞頻信息及原始語料,放入內(nèi)存中。使用正、反向最大匹配法分別對原始語料進(jìn)行切分。正、反向最大匹配法的切分順序:一種是從句子的開始向末尾結(jié)合詞,另一種是從句子的末尾向開始結(jié)合詞,可以有效地判斷出哪些字段是可以成為詞的字段,即對于字段ABC,如果詞典中同時(shí)存在AB和BC兩個字段,那么使用正向最大匹配法,得到的切分結(jié)果是AB/C,使用反向最大匹配法得到的切分結(jié)果是A/BC。這樣加大了詞的判斷效果,但是容易產(chǎn)生交集型歧義字段。切分完畢后,將2種切分方法所得到的結(jié)果分別存放在2個不同的文件中,以便進(jìn)行后續(xù)的對比處理。
設(shè)原始語料中的字串為W,使用正向最大匹配法得到的切分字串序列為X,且X=(x1,x2,x3,…,xn);使用反向最大匹配法得到的切分字串序列為Y,且Y=(y1,y2,y3,…,yn)。
②將切分序列X、Y分別使用正則表達(dá)式進(jìn)行以切分標(biāo)志為分隔單位的文本匹配,將切分序列放入內(nèi)存中。將X與Y順序進(jìn)行逐項(xiàng)對比,如果切分結(jié)果一致,即xi=yi,則表示切分中沒有歧義,直接將xi或者yi寫入最終的切分結(jié)果文件中,并將xi與yi分別從序列X、Y中刪除,進(jìn)行下一項(xiàng)的對比;如果切分的結(jié)果不一致,即xi≠yi,則進(jìn)行歧義處理。
③歧義處理。當(dāng)xi≠yi時(shí),設(shè)歧義字段序列A=(a1,a2,…,am)與B=(b1,b2,…,bm),序列A、B分別為序列X、Y的子串,對于同一原始語料中的字串W,切分成A、B后,其中的漢字總數(shù)是不變的,即序列A與序列B所含的漢字個數(shù)是一樣的,但是分割的方式不一樣。在確定了歧義字段序列A、B后,將序列A、B中所含詞的詞頻信息f(a1),f(a2),…,f(am)及f(b1),f(b2),…,f(bm)從詞頻庫中取出,進(jìn)行求和并計(jì)算出平均值fv(A)與fv(B),計(jì)算方法如公式(1)所示:
(1)
將fv(A)與fv(B)進(jìn)行比較,如果滿足公式(2),則應(yīng)采用序列A作為最終切分結(jié)果;如果將A與B的位置互換,能夠滿足公式(2)則應(yīng)采用序列B作為最終切分結(jié)果,其中T為用戶指定的閾值;如果這2種情況都不滿足,則認(rèn)為該歧義字段為真歧義字段,不作處理。
(2)
3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
本文中的分詞算法使用Perl腳本語言實(shí)現(xiàn)。Perl腳本語言具有較強(qiáng)的文字處理能力,能夠運(yùn)用正則表達(dá)式對文本文件中的文字進(jìn)行查找、替換、刪除等工作,其數(shù)據(jù)類型也較適合存儲詞表及詞頻文件。
整個系統(tǒng)的運(yùn)行過程如圖1所示。
圖1 系統(tǒng)流程圖Fig.1 System flowchart
3.1分詞階段
定義需要進(jìn)行切分的語料為S=C1C2…Cn,長度為Lenth,最大匹配初始長度為MaxLen,截取最大匹配初始長度的字串為Str,依據(jù)正向最大匹配法和反向最大匹配法[9]分別進(jìn)行分詞,將分詞結(jié)果進(jìn)行保存,其中正向最大匹配法分詞流程圖如圖2所示。
3.2歧義處理階段
將分詞階段所產(chǎn)生的文本進(jìn)行正則式匹配,將正向最大匹配法分詞后產(chǎn)生的字串序列存入數(shù)組@mmlist,將反向最大匹配法分詞后產(chǎn)生的字串序列存入數(shù)組@fmmlist。
圖2 正向最大匹配法分詞流程圖Fig.2 Forward maximum matching method flowchart
每次各從@mmlist和@fmmlist取出第一項(xiàng)進(jìn)行對比,如相同,直接寫入最終的分詞文件,并刪除@mmlist與@fmmlist的第一項(xiàng);如不相同,即為歧義字串,將歧義字串序列取出,分別計(jì)算出字串序列中含有詞的詞頻均值并進(jìn)行比對,將比值超過閾值的文本存入最終分詞文件。具體流程如圖3所示。
圖3 歧義判斷流程圖Fig.3 Ambiguity resolution flowchart
4實(shí)驗(yàn)測試與結(jié)果分析
4.1封閉測試
封閉測試是指只使用指定測試語料中提供的詞表文件,或者只使用指定測試語料中的訓(xùn)練語料來獲取知識,然后對指定測試語料進(jìn)行分詞處理,并用指定測試語料中提供的正確切分結(jié)果與評分標(biāo)準(zhǔn)來考評自己的分詞系統(tǒng)[10]。本系統(tǒng)進(jìn)行的封閉測試使用國際計(jì)算語言協(xié)會中文語言處理小組(SIGHAN)主辦的第二屆國際中文語言處理競賽( Bakeoff2005)所使用的測試集。
4.1.1指標(biāo)說明
本文使用召回率和精準(zhǔn)率這2個指標(biāo)來評價(jià)分詞系統(tǒng)。
召回率的計(jì)算公式如公式(3)所示:
(3)
精準(zhǔn)率的計(jì)算公式如公式(4)所示:
(4)
調(diào)和均值為召回率與精準(zhǔn)率的平均值。
4.1.2閾值選取
在本系統(tǒng)中,閾值的選取能夠直接影響切分結(jié)果的好壞,根據(jù)本系統(tǒng)所需閾值的選取原則,即公式(2)中的分子必須大于分母一定程度后選取分子作為最終結(jié)果,因此閾值的選取應(yīng)從1開始逐漸遞增,如選擇小于1的閾值,則與本文所述系統(tǒng)邏輯相悖。
選取一組閾值在相同條件下進(jìn)行封閉測試,得出結(jié)果如表1所示。
表1 閾值測試結(jié)果
表2 封閉測試結(jié)果對比
可以看出,在封閉測試中,最優(yōu)閾值的取值為1至2.5之間,當(dāng)閾值達(dá)到3時(shí)會有精準(zhǔn)率上的降低,倘若繼續(xù)增加閾值的大小則召回率及精準(zhǔn)率會越來越低?;谝陨蠝y試結(jié)果我們在進(jìn)行測試時(shí)使用的閾值為1至2.5之間的任何值,用戶也可以調(diào)整閾值大小來達(dá)到所需效果。
4.1.3封閉測試結(jié)果對比
在封閉測試中,使用傳統(tǒng)的基于詞典的正向最大匹配法及反向最大匹配法的測評結(jié)果來與本文方法進(jìn)行縱向比較;使用基于微博語料的統(tǒng)計(jì)學(xué)習(xí)分詞方法[11]及中國科學(xué)院計(jì)算技術(shù)研究所研制的漢語詞法分詞系統(tǒng)ICTCLAS(http://ictclas.nlpir.org)的分詞結(jié)果進(jìn)行相同封閉測試中的橫向?qū)Ρ?,結(jié)果如表2所示。
4.2開放測試
開放測試與封閉測試相反,不使用指定測試集來對分詞系統(tǒng)進(jìn)行測評,使用任意的測試語料和通用詞典及訓(xùn)練語料來進(jìn)行系統(tǒng)的考評。通用詞典與詞頻文件來自搜狐研發(fā)中心發(fā)布的搜狗實(shí)驗(yàn)室數(shù)據(jù)(SogouW,http://www.sogou.com/labs/dl/w.html),詞頻文件中的詞頻是Sogou搜索引擎索引到的中文互聯(lián)網(wǎng)語料統(tǒng)計(jì)出的15萬條高頻詞,統(tǒng)計(jì)時(shí)間是2006年10月。
為使測評結(jié)果盡量公平,我們從因特網(wǎng)上下載5篇不同領(lǐng)域的測試語料作為樣本,平均樣本大小為60 KB,使用指標(biāo)計(jì)算公式及閾值與封閉測試中使用的指標(biāo)公式與閾值相同,得出測試結(jié)果如表3所示。
通過實(shí)驗(yàn)數(shù)據(jù)分析,可以發(fā)現(xiàn)本文提出的基于詞頻的中文分詞歧義消解法能夠改進(jìn)傳統(tǒng)的基于詞典的分詞方法的精準(zhǔn)率和召回率,相對于其他改進(jìn)的基于詞典的中文分詞方法[12],也有一定的優(yōu)勢。
表3 開放測試結(jié)果對比
4.3結(jié)果分析
綜合封閉測試及開放測試的結(jié)果來看,本文提出的基于詞頻的通用分詞方法不僅在有上下文信息的語料切分中勝過傳統(tǒng)基于詞典的分詞方法,取得較好的結(jié)果,而且能夠在沒有上下文信息的語料切分中使用,無需經(jīng)過切分好的語料進(jìn)行訓(xùn)練,打破了需要使用上下文信息才能進(jìn)行中文分詞歧義消解的僵局,是一種廣泛適用的通用中文分詞方法。
從公式(3)和(4)可以看出,測評結(jié)果中的召回率反映的是該分詞系統(tǒng)能夠從目標(biāo)語料中提取多少正確及有用的詞語信息,是考量一個分詞系統(tǒng)優(yōu)劣的最重要指標(biāo),召回率越高表示一個分詞系統(tǒng)能夠從用戶輸入的文本中提取的正確詞語信息的能力就越高,特別是在搜索引擎、自動問答系統(tǒng)、電子郵件過濾、信息檢索與信息摘錄、文本分類和自動摘要、自然語言理解等領(lǐng)域,分詞系統(tǒng)的召回率尤為重要。本文分詞法在封閉測試及開放測試中都取得了0.9以上的召回率,說明本文分詞法提取的正確詞語信息的能力還是很強(qiáng)的,達(dá)到了實(shí)用水平。
精準(zhǔn)率不僅體現(xiàn)了一個分詞系統(tǒng)提取詞語信息的能力,還對分詞系統(tǒng)的切分準(zhǔn)確性進(jìn)行了考量,在召回率相同的情況下,精準(zhǔn)率越高,表示切分結(jié)果的準(zhǔn)確度越高,精準(zhǔn)率越低,表示分詞系統(tǒng)獲取相同正確詞語信息的效率越低。由于本文分詞法是免訓(xùn)練的,其歧義消解需要進(jìn)行雙向切分,因此切分的次數(shù)比傳統(tǒng)方法要多,使得本系統(tǒng)的精準(zhǔn)率在測評結(jié)果中欠佳,這是本分詞系統(tǒng)免訓(xùn)練而獲得較高召回率所必須付出的代價(jià)。
特別值得強(qiáng)調(diào)的是該方法在搜索引擎、自動問答系統(tǒng)、電子郵件過濾、信息檢索與信息摘錄、文本分類和自動摘要、自然語言理解等需要對無上下文信息語料進(jìn)行切分的實(shí)際運(yùn)用領(lǐng)域中的具有較強(qiáng)的實(shí)用性。既能夠不使用上下文信息,又能準(zhǔn)確提取出需要的詞語信息,也不需要各領(lǐng)域的語料作為訓(xùn)練對象,是一種通用的中文分詞方法。
綜上所述,本文提出的基于詞頻的中文分詞歧義消解法不失為一種能夠廣泛應(yīng)用于各個需要進(jìn)行中文分詞工作領(lǐng)域的通用分詞方法。
5結(jié)語
本文提出了一種通過詞頻信息對雙向匹配分詞結(jié)果進(jìn)行歧義消解的分詞方法,最終實(shí)驗(yàn)結(jié)果表明:使用該方法進(jìn)行分詞既有較高的提取文本信息能力,又?jǐn)U大了包含歧義消解模塊的分詞系統(tǒng)適用范圍,不失為一種通用的分詞方法。如能添加一種通用的未登錄詞處理模塊并結(jié)合專有名詞詞庫進(jìn)行優(yōu)化,則能具有更好的分詞效果,這也是我們下一步的工作。
參考文獻(xiàn):
[1]QIU Xipeng, HUANG Chaochao, HUANG Xuanjing. Automatic corpus expansion for Chinese word segmentation by exploiting the redundancy of web information[C]//Proceedings of the 25th International Conference on Computational Linguistics: Technical Papers. Dublin: ACL, 2014:1154-1164.
[2]楊爾弘,方瑩,劉冬明,等. 漢語自動分詞和詞性標(biāo)注評測[J]. 中文信息學(xué)報(bào),2006, 20(1):44-49,97.
[3]翟鳳文,赫楓齡,左萬利. 字典與統(tǒng)計(jì)相結(jié)合的中文分詞方法[J]. 小型微型計(jì)算機(jī)統(tǒng),2006,27(9):1766-1771.
[4]費(fèi)洪曉,康松林,朱小娟,等.基于詞頻統(tǒng)計(jì)的中文分詞的研究[J]. 計(jì)算機(jī)工程與應(yīng)用,2005,41(7):67-68,100.
[5]ZENG Xiaodong, WONG D F, CHAO L S, et al. Graph-based semi-supervised model for joint Chinese word segmentation and part-of-speech tagging[C]//Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics. Sofia: ACL, 2013:770-779.
[6]劉開瑛. 中文文本自動分詞和標(biāo)注[M]. 北京:商務(wù)印書館,2000:66.
[7]鄭家恒,張劍鋒,譚紅葉. 中文分詞中歧義切分處理策略[J]. 山西大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,30(2):163-167. DOI:10.13451/j.cnki.shanxi.univ(nat.sci.). 2007.02.009.
[8]王曉龍,關(guān)毅,計(jì)算機(jī)自然語言處理[M]. 北京:清華大學(xué)出版社,2005:49.
[9]趙珀璋,徐力.計(jì)算機(jī)中文信息處理:下[M]. 北京:宇航出版社. 1989:386.
[10]黃昌寧,趙海. 中文分詞十年回顧[J]. 中文信息學(xué)報(bào), 2007,21(3):8-19.
[11]ZHANG Longkai, LI Li, HE Zhengyan, et al. Improving Chinese word segmentation on micro-blog using rich punctuations[C]//Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics: Volume 2: Short Papers. Sofia: ACL, 2013:117-182.
[12]莫建文,鄭陽,首照宇,等. 改進(jìn)的基于詞典的中文分詞方法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2013,34(5): 1802-1807.
(責(zé)任編輯黃勇)
A General Method of Chinese Word Segmentation Based on the Resolution of Word Frequency Ambiguity
PENG Qi1, ZHU Xinhua2, CHEN Yishan3
(1.Network Center,Guangxi Normal University, Guilin Guangxi 541004, China;2.College of Computer Science and Information Technology, Guangxi Normal University,Guilin Guangxi 541004,China;3. College of Lijiang, Guangxi Normal University, Guilin Guangxi 541006,China)
Abstract:Ambiguity is a common problem in dictionary based word segmentation methods. In the past, the word segmentation method based on dictionary often uses the bidirectional maximum matching method to get the result of word segmentation, and then carries out ambiguity resolution by using the context imformation, which cannot be used in the environment without context information. A general disambiguation method based on word frequency is presented in this paper, which is context-free and expands the application range of ambiguity resolution. Experimental results show that compared with the traditional methods of dictionary-based Chinese word segmentation, this method has a stronger applicability and higher availability.
Keywords:Chinese word segmentation; word frequency; ambiguity resolution
中圖分類號:TP391
文獻(xiàn)標(biāo)志碼:A
文章編號:1001-6600(2016)01-0059-07
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(61363036,61462010)
收稿日期:2015-08-10
doi:10.16088/j.issn.1001-6600.2016.01.009
通信聯(lián)系人:朱新華(1965—),男,廣西桂林人,廣西師范大學(xué)教授。E-mail: zxh429@263.net