申琳
摘要:該文主要對中文分詞算法過程中的歧義字段的發(fā)現(xiàn)和消解進(jìn)行研究。首先,通過雙向最大匹配檢索算法和逐詞掃描最大匹配法等方法實現(xiàn)中文文本的分詞處理,并針對其中所存在的歧義字段,通過計算其互信息和[t-]信息來實現(xiàn)中文分詞歧義的消除。該文所研究的中文分詞算法,不僅可以在多個中文分詞方案中選擇更優(yōu)的分詞方案,消解中文分詞歧義;同時,還可以在已有分詞方案的基礎(chǔ)上,發(fā)現(xiàn)更加符合實際情況的分詞方案,以提高中文分詞的準(zhǔn)確性和適用性。
關(guān)鍵詞:中文分詞;歧義發(fā)現(xiàn);歧義消解;互信息;[t-]信息
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)31-0199-02
1 概述
信息技術(shù)的不斷發(fā)展,提高了信息的搜集和傳輸效率;而信息技術(shù)的廣泛應(yīng)用,直接導(dǎo)致了信息的爆炸式增長。海量信息的增長,促使人們需要更加自動化的方法來對海量信息進(jìn)行處理的新需求。信息的了解是海量信息自動化處理的基礎(chǔ),對于中文信息而言,如何通過中文分詞進(jìn)行中文文本信息的切分,理解中文文本信息的具體內(nèi)容,就是海量中文文本信息就是自動化處理的基礎(chǔ)。
2 中文分詞歧義消解研究
2.1 中文分詞歧義消解概述
中文分詞最大的問題就在于中文分詞歧義的消除,例如在詞句“”的分詞中“他說的確實在理”文本的分詞時,“的確”、“是在”、“確實”、“在理”等詞語都是生活中常見的詞組方法。因此按照不同的分詞方法會產(chǎn)生歧義:①正向優(yōu)化最大匹配方法(FMM)的分詞結(jié)果為:“他/說/的確/實在/理”;②算法進(jìn)和逆向優(yōu)化最大匹配方法(RMM)的分詞結(jié)果為“他/說/的/確實/在理”。而對于文本“老師教你馬上去”而言,使用FMM和RMM算法的處理結(jié)果分別為“老師/叫/你/馬上/去”(FMM)和“老師/叫/你/馬/上去”(RMM)。除FMM算法和RMM算法以外,在進(jìn)行具體的中文文本分詞時,都有可能因為中文文本的特殊性,導(dǎo)致分詞結(jié)果不正確,即中文分詞的歧義。
2.2 中文分詞歧義消解難點
歧義的處理是進(jìn)行中文文本自動分詞,進(jìn)而理解中文文本信息時所遇到的主要困難之一,而由于如下的各種原因,導(dǎo)致中文分詞歧義的處理存在諸多難點。
(1) 歧義字段類型多種多樣
歧義字段的類型豐富,而歧義消解策略也多種多樣,例如通過增加語義、語用知識等外部條件來消解歧義,例如“他說的確實在理”等文本的分詞,就可以通過外部知識條件來消解分詞時存在的歧義;或者依靠上下文語義信息來消解歧義,例如“乒乓球拍賣完了”文本,可以分為“乒乓球拍/賣完/了”(FMM)和“乒乓球/拍賣/完了”(RMM),就可以通過上下文來消解歧義;甚至在生活中還存在,借助上下文內(nèi)容,人為也無法消解的歧義。
(2) 未登錄詞的分詞歧義
由于信息的爆發(fā)式增長,中文詞語本身也在不斷發(fā)展,例如網(wǎng)絡(luò)上每年就有大量網(wǎng)絡(luò)流行語出現(xiàn),這些詞庫中為存儲的未登錄詞的存在,也為中文分詞歧義的處理帶來了很大的困難。
由于中文分詞歧義的類型多樣,而且中文詞語本身也在不斷變化發(fā)展過程中,為此想要準(zhǔn)確、完整的解決所有中文分詞歧義難以實現(xiàn)。而且讓計算機(jī)完全理解文本的信息,通過上下文的語義來消除部分中文分詞歧義,也會導(dǎo)致中文分詞效率急劇下降。為此,在本文的研究中主要對可以借助語用知識消解的中文分詞歧義進(jìn)行研究。
3 中文分詞歧義發(fā)現(xiàn)算法分析
當(dāng)前,中文分詞歧義發(fā)現(xiàn)算法的研究成果較多。
(1) 雙向最大匹配檢索算法
通過采用FMM算法和RMM算法對中文文本分詞結(jié)果的對比,來發(fā)現(xiàn)中文分詞過程中所存在的歧義。例如在““他說的確實在理””的分詞過程中,發(fā)現(xiàn)“的確實在理”為歧義字段。
(2) 逐詞掃描最大匹配法
通過FMM和逐詞掃描相結(jié)合以發(fā)現(xiàn)中文分詞中的歧義字段,其原理為從文本起點取不超過最大長度的漢字符進(jìn)行匹配,若在字典庫中有該匹配字段,則且反一條分詞,并通過與最近的分詞進(jìn)行比較,對存在的歧義字段進(jìn)行標(biāo)記;若在字典庫中沒有找到該匹配字段,則去掉匹配字段的最后一個漢字,重新進(jìn)行匹配,直到匹配字段的長度為零為止,并文本中的下一個字進(jìn)行同樣處理,直到文本中的漢字全部處理完畢為止。
(3) 正向最大匹配結(jié)合回退一字法
FMM和逐詞掃描相結(jié)合以發(fā)現(xiàn)中文分詞中歧義字段的新算法,其原理與逐詞掃描最大匹配法類似,若匹配字段在詞典庫中匹配成果,則將匹配字段回退一字,進(jìn)行重新匹配,如果回退一字的匹配字段在詞典庫中依然匹配成果,則認(rèn)為中文文本中存在歧義字段。
與中文分詞歧義消解的研究類似,由于中文分詞歧義類型眾多,以及中文詞語的不斷發(fā)展,使得中文分詞歧義發(fā)現(xiàn)算法同樣存在諸多難點。在本文中使用算法原理簡單的FMM和RMM結(jié)合的中文分詞歧義算法進(jìn)行研究。
4 中文分詞歧義消解算法設(shè)計
4.1 算法原理
通過構(gòu)建語料庫來計算不同中文詞語的次頻度,然后通過計算詞語的互信息和[t-]信息來消解中文分詞歧義。
(1) 互信息
待分詞的漢字串為[xy],則詞組[x]和詞組[y]的互信息定義如式(1)所示。
[Ix,y=px,ypxpy] (1)
其中,[px]、[py]、[px,y]分別表示詞語[x]、[y]、[xy]在語料庫中出現(xiàn)的概率。
若[Ix,y=0],表示詞語[xy]未在語料庫中出現(xiàn)過,在極限狀況下,[px=0]或[py=0],則表示[x]或[y]未在語料庫中,則[xy]必然成詞(在當(dāng)前語料庫環(huán)境下)。因此,[Ixy]越大,則[xy]成詞概率越高。
(2) [t-]信息
待分詞的漢字串為[xyz],相對于漢字[x]和[z],漢字[y]的[t-]信息定義如式(2)所示。
[tx,zy=pzy-pyxp2zy-p2yx]
其中,[pyx]、[pzy]表示兩個漢字詞組的條件概率。
若[tx,zy<0],表示[xy]成詞概率比[yz]成詞概率要高,而且,[tx,zy]越大,表示[xy]成詞概率越大;若[tx,zy=0],則表示[xy]和[yz]成詞的概率相同,難以確定;若[tx,zy>0],表示[yz]成詞概率比[xy]成詞概率要高,而且,[tx,zy]越大,表示[yz]成詞概率越大。
4.2 應(yīng)用示例
在一個中文詞條為64231條,總次頻度為12638035的詞典庫中,部分中文詞的頻度如表1所示。
中文詞串“他說的確實在理”有“他/說/的確/實在/理”(FMM)和“他/說/的/確實/在理”(RMM)兩種分詞方法,即中文詞串存在分詞歧義。
在對“他說的確實在理”歧義中文字段進(jìn)行處理時,計算互信息分別為“的確”(45.45)、“確實”(289.69)、“實在”(47.04)、“在理”(189),根據(jù)互信息,“實在”和“在理”的成詞概率更高;計算和[t-]信息分別為“的確實”(0.86)、“確實在”(0.29)、“實在理”(-0.98)根據(jù)[t-]信息,可以看出“的確”的成詞概率比“確實”成詞概率更高,“確實”的成詞概率比“實在”的成詞概率更高,“實在”比“在理”的成詞概率更高。為此,結(jié)合歧義中文字段的互信息和[t-]信息,將“他說的確實在理”歧義中文字段分詞為“他/說/的/確實/在理”。
同樣,中文詞串“結(jié)合成分子時有”有“結(jié)合/成分/子時/有”(FMM)和“結(jié)/合成/分子/時有”(RMM)兩種分詞方法,即中文詞串存在分詞歧義。
在對“結(jié)合成分子時有”歧義中文字段進(jìn)行處理時,計算互信息分別為“結(jié)合”(172.53)、“合成”(11.27)、“成分”(4.51)、“分子”(45.53)、“子時”(0.058)、“時有”(0.002),根據(jù)互信息,“結(jié)合”和“分子”的成詞概率更高;計算和[t-]信息分別為“結(jié)合成”(-4.53)、“合成分”(-0.725)、“成分子”(0.741)、“分子時”(-0.98)、“子時有”(-0.93),根據(jù)[t-]信息,雖然“結(jié)合”、“合成”、“分子”的成詞概率都很高,但是結(jié)合互信息,可以看出“結(jié)合”的互信息非常大,即“結(jié)合”應(yīng)該單獨成詞,而“成分子”的[t-]信息為0.741,即“分子”成詞概率更大,為此,結(jié)合歧義中文字段的互信息和[t-]信息,將“結(jié)合成分子時有”歧義中文字段分詞為與FMM和RMM算法都不同的分詞結(jié)果“結(jié)合/成/分子/時有”。
如上的分析所示,本文所研究的中文分詞歧義消解算法,不僅可以在多個中文分詞方案中選擇更優(yōu)的分詞方案,同時還可以在已有分詞方案的基礎(chǔ)上,發(fā)現(xiàn)更加符合實際情況的分詞方案。
5 結(jié)束語
中文文本分詞是中文信息自動化處理的基礎(chǔ),同時由于漢語的特點,在中文分詞過程中,中文分詞的歧義字段處理就成為了人們研究和關(guān)注的重點。當(dāng)前,已經(jīng)有眾多的中文分詞歧義字段的發(fā)現(xiàn)和消解算法,但是這些算法都無法完全、正確的解決中文分詞歧義字段問題。而且,隨著漢語本身的不斷發(fā)展,中文分詞算法的研究必然是一個長期、艱巨的任務(wù)。
參考文獻(xiàn):
[1] 鄭家恒,張劍鋒,譚紅葉.中文分詞中歧義切分處理策略[J].山西大學(xué)學(xué)報:自然科學(xué)版,2007(2).
[2] 魏莎莎,熊海靈.中文分詞中的歧義識別處理策略[J].微計算機(jī)信息,2010(3).
[3] 袁鼎榮,李新友,邵延振.用于中文分詞的組合型歧義消解算法[J].計算機(jī)應(yīng)用與軟件,2011(6).