徐豪杰,吳新麗,楊文珍,潘志庚
1(浙江理工大學(xué) 虛擬現(xiàn)實(shí)實(shí)驗(yàn)室,杭州 310018)
2(杭州師范大學(xué) 數(shù)字媒體與人機(jī)交互研究中心,杭州 311121)
中文分詞存在兩個(gè)重要挑戰(zhàn):歧義問(wèn)題和未登錄詞問(wèn)題[1].其中60%的分詞錯(cuò)誤是由未登錄詞導(dǎo)致的,故如何高效且正確地識(shí)別未登錄詞是中文自然語(yǔ)言處理研究的重點(diǎn)和難點(diǎn)[2,3].前人的相關(guān)研究有新詞和未登錄詞兩個(gè)概念,一定程度上,新詞可歸屬于未登錄詞范疇,一般情況下并不對(duì)這兩個(gè)概念作明確區(qū)分.
未登錄詞是指在詞典中不存在的、未被及時(shí)收錄的詞,包括:中外人名、地名、機(jī)構(gòu)組織名、事件名、縮略語(yǔ)、派生詞、各領(lǐng)域術(shù)語(yǔ)以及沒(méi)有固定生產(chǎn)機(jī)制的網(wǎng)絡(luò)新詞[4].例如,縮略詞“高數(shù)”、“抵京”、“發(fā)改委”、“音協(xié)辦”,2019年網(wǎng)絡(luò)新詞“種草”、“萌萌噠”、“人魚(yú)線”、“雨女無(wú)瓜”等等.未登錄詞隨著社會(huì)發(fā)展不斷涌現(xiàn),本質(zhì)上是不可窮盡收集登錄的,對(duì)分詞系統(tǒng)而言,詞表不能無(wú)限擴(kuò)大,那么對(duì)未登錄詞的自動(dòng)識(shí)別就顯得愈發(fā)重要.
互信息(Pointwise Mutual Information,PMI)是概率統(tǒng)計(jì)學(xué)領(lǐng)域的一個(gè)重要概念.本文將改進(jìn)PMI 算法和最小鄰接熵結(jié)合,為改進(jìn)PMI 算法產(chǎn)生的垃圾串提供了新的約束,提出了一種基于生語(yǔ)料文本本身的未登錄詞識(shí)別模型,利用非監(jiān)督學(xué)習(xí)方法,在凝聚強(qiáng)度較弱的字符之間切割出字符串,過(guò)濾掉詞庫(kù)中存在的詞語(yǔ)得到候選未登錄詞,統(tǒng)計(jì)出候選未登錄詞的最小鄰接熵,輸出滿足閾值要求的獨(dú)立詞,從而提高了未登錄詞識(shí)別的正確率.
未登錄詞的識(shí)別方法主要可以分為兩類:基于規(guī)則的未登錄詞識(shí)別和基于統(tǒng)計(jì)的未登錄詞識(shí)別[4,5].前者利用有規(guī)律可循的構(gòu)詞學(xué)原理,配合語(yǔ)義和詞性信息所構(gòu)造的規(guī)則模板,通過(guò)匹配規(guī)則來(lái)發(fā)現(xiàn)未登錄詞,通常根據(jù)漢語(yǔ)構(gòu)詞法建立規(guī)則知識(shí)庫(kù),過(guò)濾掉不符合規(guī)則或者符合相關(guān)典型錯(cuò)誤構(gòu)詞規(guī)則的垃圾字串,留下的即是候選未登錄詞.基于規(guī)則的識(shí)別方法針對(duì)性強(qiáng),但規(guī)則庫(kù)的制定需要根據(jù)特定文本進(jìn)行修改以適應(yīng)文本的多樣性,且該方法難以應(yīng)對(duì)毫無(wú)規(guī)則的網(wǎng)絡(luò)新詞;統(tǒng)計(jì)的方法往往需要大規(guī)模語(yǔ)料庫(kù),通過(guò)文本當(dāng)中某個(gè)統(tǒng)計(jì)量的固有特征進(jìn)行統(tǒng)計(jì),計(jì)算出成詞概率高的字串.基于統(tǒng)計(jì)的未登錄詞識(shí)別方法靈活通用,移植性好,但是面臨著數(shù)據(jù)稀疏和正確率不高等問(wèn)題.目前多數(shù)研究者都采用統(tǒng)計(jì)與規(guī)則相結(jié)合的方法,發(fā)揮組合優(yōu)勢(shì),設(shè)置多重過(guò)濾手段,從而提升未登錄詞識(shí)別效果.
Pecina 等[6]在計(jì)算了50 余種量化指標(biāo)之后,證明了PMI 指標(biāo)是衡量字串間相關(guān)度最好的指標(biāo)之一.但單純的PMI 指標(biāo)缺點(diǎn)是容易過(guò)高估計(jì)低頻且總是相鄰出現(xiàn)的字串.例如“鴛鴦”、“憔悴”兩詞,幾乎難以在用語(yǔ)習(xí)慣中找到其他搭配,這樣的字串PMI 值非常高,包含這些字串的垃圾串PMI 值也非常高,算法容易出現(xiàn)誤判,產(chǎn)生例如“對(duì)鴛鴦”、“憔悴的”等錯(cuò)誤.針對(duì)此類問(wèn)題,有學(xué)者提出了將PMI 與log-likelihood 方法相結(jié)合的手段進(jìn)行未登錄詞識(shí)別[7,8],使得該類錯(cuò)誤得到一定改善.張峰等[9]利用PMI 算法計(jì)算字間相關(guān)度,設(shè)置了相關(guān)的構(gòu)詞規(guī)則,人工建立了普通詞語(yǔ)搭配前綴、后綴庫(kù),過(guò)濾掉類似“十分興奮”、“非常開(kāi)心”這樣的復(fù)合詞.梁穎紅等[10]則將PMI 和NC-value 相結(jié)合,提高了3 字以上未登錄詞的識(shí)別率,但是PMI 和NC-value存在著一定的推導(dǎo)耦合關(guān)系,兩者并不能夠獨(dú)立地約束過(guò)濾相關(guān)垃圾串.夭榮朋等[11]利用元遞增算法(NGram)提取未登錄詞候選項(xiàng),對(duì)提取出來(lái)的候選未登錄詞使用頻率和停用字、PMI 和鄰接熵(Branch Entropy,BE)、相應(yīng)詞典等進(jìn)行多重篩選,取得了不錯(cuò)的實(shí)驗(yàn)效果.何婷婷等[12]分析了中文術(shù)語(yǔ)構(gòu)成特點(diǎn),提出了一種基于質(zhì)子串分解的術(shù)語(yǔ)自動(dòng)抽取方法,該方法對(duì)特定的中文文本有較好的效果.Pazienza 等[13]在PMI 算法的基礎(chǔ)上,提出了 PMIn算法,當(dāng)向PMI 指標(biāo)中引入3 個(gè)及以上的聯(lián)合概率因子時(shí),P MIn方法能夠克服單純PMI 算法的缺點(diǎn).國(guó)內(nèi)學(xué)者杜麗萍等[14]則通過(guò)理論和實(shí)驗(yàn)證明,當(dāng)向PMI 方法中引進(jìn)3 個(gè)及以上的聯(lián)合概率因子時(shí),能夠克服單純PMI 指標(biāo)的缺點(diǎn),其中 P MI3的效率最高,但依然缺少對(duì)上下文左右鄰接字的考量和聯(lián)系.
中文的成詞規(guī)則和習(xí)慣表明,詞是較為獨(dú)立的,能夠在文本中不同位置自由搭配使用.本文結(jié)合表征凝聚強(qiáng)度的互信息,為改進(jìn)PMI 算法引入表征詞語(yǔ)在文本字符串中自由程度的最小鄰接熵,利用改進(jìn)的n階互信息PMI 算法,自動(dòng)篩選出可能成詞的片段,再通過(guò)候選未登錄詞的詞頻和最小鄰接熵融合判定閾值過(guò)濾第一輪當(dāng)中存在的垃圾串,確定出未登錄詞.該方法充分發(fā)揮了最小鄰接熵在表征獨(dú)立詞在文本中自由靈活搭配程度和改進(jìn)PMI 算法在詞內(nèi)部凝聚強(qiáng)度兩方面的優(yōu)勢(shì),兩者相互約束配合,能進(jìn)一步提高成詞正確率.
本文采取基于改進(jìn)PMI 和最小鄰接熵結(jié)合策略的方法,對(duì)不同文本,能在較小時(shí)間開(kāi)銷下學(xué)習(xí)訓(xùn)練調(diào)整參數(shù),生成個(gè)性化的未登錄詞詞典,并提升了現(xiàn)有分詞系統(tǒng)的性能.首先,我們對(duì)生語(yǔ)料文本進(jìn)行預(yù)處理,去除干擾未登錄詞識(shí)別的標(biāo)點(diǎn)符號(hào)、數(shù)字、特殊符號(hào)、英文字母、URL 鏈接等,在預(yù)處理之后,系統(tǒng)先用PMI3算法摘選出5 字及5 字以下的所有可能成詞的字符串,經(jīng)過(guò)35 萬(wàn)結(jié)巴詞庫(kù)過(guò)濾,得到候選的未登錄詞,候選詞進(jìn)入判定環(huán)節(jié),符合詞頻-最小鄰接熵(TFEntropy)融合指標(biāo)閾值的會(huì)被寫入未登錄詞輸出文本當(dāng)中.因?yàn)樵~頻指標(biāo)依然一定程度上能夠反映字符串的成詞率,本文為了不誤過(guò)濾低頻未登錄詞,故利用數(shù)據(jù)融合手段,將詞頻指標(biāo)和最小鄰接熵指標(biāo)融合.圖1為本文未登錄詞的識(shí)別流程.
圖1 改進(jìn)PMI 和最小鄰接熵結(jié)合策略的未登錄詞識(shí)別
借鑒信息論中的互信息概念,兩事件x和y之間的互信息計(jì)算公式如下:
在本文中,p(x)和p(y)分別表示字串x和y的頻率,p(x,y)表 示字符串xy在文本當(dāng)中的頻率.可以利用互信息表征一個(gè)字串內(nèi)部的凝聚強(qiáng)度,互信息值越高,x和y之間的聚合強(qiáng)度越大,xy組成一個(gè)獨(dú)立詞的概率越高,其中存在獨(dú)立詞邊界的可能性就越低.
Bouma[15]對(duì)傳統(tǒng)的PMI 算法做出了相關(guān)改進(jìn),引入n個(gè)聯(lián)合概率因子,提出了PMIn算法.PMIn算法定義如下:
杜麗萍等[14]從理論和實(shí)驗(yàn)上證明了PMIn算法比單純的PMI 具有更高的精度,且n=3時(shí)算法效率最高.綜合考慮計(jì)算資源和效率,本文選定PMIn作為本文第一步提取候選未登錄詞的算法.
從中文句法規(guī)則和成詞規(guī)律當(dāng)中分析得出,如果一個(gè)字符串片段能夠成為獨(dú)立詞,它應(yīng)有較為豐富的左鄰字集合和右鄰字集合.以香農(nóng)提出的信息熵(entropy)為基礎(chǔ),衍生出最小鄰接熵的概念,用來(lái)表征字符串片段的自由運(yùn)用程度.
信息熵的定義如下:如果某事件的發(fā)生概率為p,當(dāng)該事件發(fā)生時(shí),此事件包含的信息量為 l og(p).候選未登錄詞左右鄰接熵的計(jì)算公式如下:
其中,i表示左鄰接字的編號(hào),j表示右鄰接字的編號(hào),n和m分別表示不重復(fù)左右鄰接字的總數(shù),Hleft表示候選字串左鄰接字i的出現(xiàn)頻率,Hleft表示候選未登錄詞左鄰接熵,Hright表示候選未登錄詞右鄰接熵.同時(shí)為了保證獨(dú)立詞左右邊界的清晰性,防止出現(xiàn)類似“輩子”、“后遺”、“鵝卵”等單邊鄰接熵較高的垃圾串,我們應(yīng)該取左右鄰接熵的較小值,故最小鄰接熵如下:
基于統(tǒng)計(jì)的思想認(rèn)為,一個(gè)字符串搭配如果在語(yǔ)料中的次數(shù)越多,那么該字符串是一個(gè)獨(dú)立詞的可能性越高.通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),未登錄詞與登錄詞在詞頻TF較高時(shí)的分布有一定差異,故引入詞頻特征能一定程度上提升算法效果.為更加科學(xué)地考慮詞頻TF指標(biāo),也為方便比較加權(quán)和計(jì)算,本文在閾值過(guò)濾環(huán)節(jié)構(gòu)造了一個(gè)TF-Entropy參數(shù),即詞頻-最小鄰接熵判定閾值.該指標(biāo)的計(jì)算方法是分別對(duì)詞頻和最小鄰接熵做歸一化,把候選未登錄詞的詞頻和最小鄰接熵變成(0,1)之間的小數(shù),消除兩者的量綱,成為純量,再根據(jù)兩者在獨(dú)立詞成詞的貢獻(xiàn)度設(shè)置融合權(quán)重.
單純PMI 方法需要整定詞頻、PMI、鄰接熵等多個(gè)參數(shù),無(wú)法集中精力調(diào)參優(yōu)化.本文方法在保證判定維度不變的情況下,結(jié)合了內(nèi)部聚合程度、外部自由程度,用于對(duì)未登錄詞的識(shí)別,同時(shí)設(shè)計(jì)了一個(gè)綜合的衡量指標(biāo),方便針對(duì)特定文本優(yōu)化調(diào)整,在較小時(shí)間開(kāi)銷下學(xué)習(xí)訓(xùn)練調(diào)整參數(shù),生成個(gè)性化的未登錄詞詞典.
詞是字的組合,相鄰的字同時(shí)出現(xiàn)的次數(shù)越多,就越有可能構(gòu)成一個(gè)詞.字與字相鄰共現(xiàn)的頻率能夠反映成詞的可信度,PMI3算法能夠很好的表征詞內(nèi)部字與字之間凝聚強(qiáng)度.在文本當(dāng)中,所有的字符可以看做構(gòu)成了一個(gè)字符串,字符串當(dāng)中嵌入了多個(gè)獨(dú)立詞,未登錄詞識(shí)別的目標(biāo)是能夠抽取字符串當(dāng)中存在的獨(dú)立詞.信息熵是信息論當(dāng)中的概念,能很好的運(yùn)用在表征靈活自由度的場(chǎng)合中.因此,本文為PMI3算法引入最小鄰接熵的約束,結(jié)合凝聚、自由兩個(gè)維度,進(jìn)行獨(dú)立詞的判定.將文本進(jìn)行數(shù)據(jù)清洗預(yù)處理,去除所有標(biāo)點(diǎn)符號(hào),得到純凈的文本CORPUS,其中STOPWORDS和Jieba_Vocabulary 分別代表停用詞詞表和結(jié)巴過(guò)濾詞庫(kù),NEW_CANDIDATES 代表算法運(yùn)行過(guò)程中新擴(kuò)展的候選未登錄詞,OOV_CANDIDATES 表示候選未登錄詞列表集合,具體步驟如下所示:
GET_OOV_WORDS(CORPUS,STOPWORDS,Jieba_Vocabulary)
Step 1.遍歷CORPUS,計(jì)算中間二元字串和左邊二元字串PMI3值的平均值,計(jì)算中間二元字串和右邊二元字串PMI3值的平均值.
Step 2.如果中間二元字串的PMI3值分別大于3 倍左、右側(cè)二元字串的PMI3值,則將中間二元字串組合后的詞加入待擴(kuò)展種子,得到待擴(kuò)展種子列表.
Step 3.在種子左右各取一元,分別計(jì)算三元PMI3值,如果左側(cè)三元字串的PMI3值大于右側(cè),則①往左擴(kuò)展;否則②往右擴(kuò)展.
①左側(cè)三元字串PMI3值大于等于1/3 種子本身PMI3值,則將左擴(kuò)展三元字串加入NEW_CANDIDATES;否則,終止擴(kuò)展輸出種子字串.
藏藥訶子提取物對(duì)腦缺血再灌注損傷模型大鼠的保護(hù)作用及其機(jī)制研究 ………………………………… 任丹君等(24):3392
②右側(cè)三元字串PMI3值大于等于1/3 種子本身PMI3值,則將右擴(kuò)展三元字串加入NEW_CANDIDATES;否則,終止擴(kuò)展輸出種子字串.
Step 4.依次迭代,直至達(dá)到5 元字串,終止擴(kuò)展.
Step 5.利用STOPWORDS 和Jieba_Vocabulary對(duì)NEW_CANDIDATES 進(jìn)行過(guò)濾,得到OOV_CANDIDATES.
Step 6.分別計(jì)算候選未登錄詞OOV_CANDIDATES的左右鄰接熵,求出OOV_CANDIDATES 的最小鄰接熵.
Step 7.從內(nèi)存中查取候選未登錄詞OOV_CANDIDATES 的詞頻TF.
Step 8.將詞頻和最小鄰接熵分別歸一化去量綱得到純量.
Step 9.對(duì)統(tǒng)計(jì)得到的詞頻和最小鄰接熵的做數(shù)值融合處理,方便下一步判斷.
Step 10.OOV_CANDIDATES 中符合詞頻-最小鄰接熵閾值要求的,輸出為最終的未登錄詞OOV_WORDS.
1)由于不同文本存在個(gè)性化差異,甚至文本之間的風(fēng)格、寫作邏輯也存在很大不同,本文討論的算法旨在于分析一種通用的未登錄詞識(shí)別方案,故選取了數(shù)據(jù)稀疏程度較高的互聯(lián)網(wǎng)文本,其中包括4 個(gè)類別,分別為新聞數(shù)據(jù)、微博數(shù)據(jù)、汽車論壇數(shù)據(jù)、餐飲點(diǎn)評(píng)數(shù)據(jù),約14 萬(wàn)字,共79 226 個(gè)詞.實(shí)驗(yàn)結(jié)果的評(píng)測(cè)標(biāo)準(zhǔn)語(yǔ)料,按照北大現(xiàn)代漢語(yǔ)基本加工規(guī)范進(jìn)行處理,以作為未登錄詞識(shí)別和中文分詞性能實(shí)驗(yàn)的標(biāo)準(zhǔn)答案.
2)符號(hào)過(guò)濾表:利用正則表達(dá)式從語(yǔ)料中篩選的標(biāo)點(diǎn)符號(hào)和特殊符號(hào).
3)停用詞詞典:包含702 個(gè)停用詞(選自哈爾濱工業(yè)大學(xué)停用詞表),用于過(guò)濾候選未登錄詞中的垃圾串.
4)結(jié)巴詞典:共收集354 895 個(gè)詞語(yǔ),是目前較為規(guī)范的詞典之一,用于過(guò)濾候選未登錄詞中的已登錄詞,以便得到詞庫(kù)中未登錄的獨(dú)立詞.
4.2.1 文本預(yù)處理
由于互聯(lián)網(wǎng)論壇語(yǔ)料極不規(guī)范,預(yù)處理的目的是將其中的URL 鏈接、標(biāo)點(diǎn)符號(hào)等干擾項(xiàng)過(guò)濾掉,得到較為純凈的實(shí)驗(yàn)文本,以保證未登錄詞自動(dòng)識(shí)別過(guò)程中,算法不受干擾.利用正則表達(dá)式從語(yǔ)料中篩選過(guò)濾掉標(biāo)點(diǎn)等符號(hào),例句的預(yù)處理結(jié)果如表1所示.
表1 文本預(yù)處理前后對(duì)比
4.2.2 未登錄詞部分識(shí)別結(jié)果
Chen 等[1]經(jīng)研究指出,99%的獨(dú)立詞是在5 字及5 字以下,所以算法設(shè)置最大抽取詞長(zhǎng)為5.實(shí)驗(yàn)中詞頻純量TF'的融合權(quán)重為0.2,詞頻-最小鄰接熵TFEntropy設(shè)置為0.7.表2列舉了部分基于PMI3算法和最小鄰接熵結(jié)合策略的未登錄詞識(shí)別結(jié)果.從表中統(tǒng)計(jì)的的數(shù)據(jù)可知,該算法對(duì)2 字詞和3 字詞識(shí)別數(shù)目占總識(shí)別到的詞數(shù)的78.6%,對(duì)3 字以上的多字詞識(shí)別占比為60.9%,驗(yàn)證了結(jié)合策略算法對(duì)多字詞有一定識(shí)別能力.結(jié)果中有一些錯(cuò)誤未登錄詞,例如“據(jù)了解”、“接到報(bào)警后”等,主要原因是在特定主題的互聯(lián)網(wǎng)語(yǔ)料中,同樣的表述反復(fù)出現(xiàn)和使用,導(dǎo)致這些字串的凝聚和自由程度較高,作為垃圾串沒(méi)有被很好的識(shí)別過(guò)濾.
表2 部分排序靠前的N-Gram 未登錄詞識(shí)別結(jié)果
4.2.3 未登錄詞識(shí)別算法對(duì)比
評(píng)測(cè)未登錄詞識(shí)別和中文分詞系統(tǒng)性能,一般采用正確率P、召回率R、F值來(lái)衡量,其計(jì)算公式如下所示,其中TP、FP、FN分別表示正樣本識(shí)別正確的個(gè)數(shù),正樣本識(shí)別錯(cuò)誤的個(gè)數(shù),負(fù)樣本識(shí)別錯(cuò)誤的個(gè)數(shù).
針對(duì)未登錄詞識(shí)別系統(tǒng),TP表示系統(tǒng)識(shí)別到的正確未登錄詞詞數(shù),TP+FP表示系統(tǒng)識(shí)別出的所有未登錄詞詞數(shù),TP+FN表示標(biāo)準(zhǔn)實(shí)驗(yàn)文本中所有未登錄詞詞數(shù).將本文方法與常見(jiàn)未登錄詞識(shí)別代表方法,進(jìn)行未登錄詞識(shí)別對(duì)比實(shí)驗(yàn),結(jié)果見(jiàn)表3.
表3 未登錄詞識(shí)別對(duì)比試驗(yàn)(%)
方法1 利用PMI 算法與基本過(guò)濾算法結(jié)合,從語(yǔ)料中識(shí)別未登錄詞.方法2 使用N 元遞增算法(NGram)完成對(duì)未登錄詞的識(shí)別,并加入了少量的簡(jiǎn)單規(guī)則過(guò)濾方法,有效地提高了未登錄詞識(shí)別的效果,但是對(duì)三字詞以上的未登錄詞識(shí)別效果較差,所以其正確率較低.方法3 在傳統(tǒng)N-Gram 的基礎(chǔ)上引入互信息(PMI)來(lái)進(jìn)行未登錄詞的抽取,實(shí)驗(yàn)證明了該方法的有效性.方法4 在單純PMI 算法基礎(chǔ)上引入3 階聯(lián)合概率因子,較好克服了PMI 方法精度不高的缺點(diǎn).但方法3、4 均缺少對(duì)未登錄詞上下文的聯(lián)系,沒(méi)有考慮詞語(yǔ)的外部成詞概率.單純的PMI3算法,雖然相對(duì)PMI 算法,正確率有很大的提高,但單以詞語(yǔ)內(nèi)部凝聚強(qiáng)度的大小作為詞語(yǔ)的邊界,缺少考慮詞語(yǔ)外部自由程度反映的成詞概率.所以方法5 在基于改進(jìn)PMI3方法(3 階)的基礎(chǔ)上引入表征未登錄詞所在文本中自由靈活程度的最小鄰接熵指標(biāo),通過(guò)互信息和鄰接熵的互相約束提高未登錄詞發(fā)現(xiàn)精度.該方法有效解決了未登錄詞的邊界界定問(wèn)題,精準(zhǔn)確定未登錄詞的前后邊界,最終得到一個(gè)系統(tǒng)效率較高,實(shí)驗(yàn)結(jié)果更精確的未登錄詞識(shí)別結(jié)果.
采用PMI3和最小鄰接熵相結(jié)合的未登錄詞識(shí)別方法,在能較好識(shí)別多字詞的基礎(chǔ)上,同時(shí)考慮了詞語(yǔ)的內(nèi)、外部成詞概率,所以其總體識(shí)別效果進(jìn)一步提高.融合表征詞內(nèi)部字間凝聚強(qiáng)度的PMI3算法和詞外部的靈活自由程度的最小鄰接熵的未登錄詞識(shí)別系統(tǒng)在未登錄詞識(shí)別中取得了不錯(cuò)的效果,其正確率、召回率、F值相對(duì)于其他算法均有一定的提高.
4.2.4 改進(jìn)分詞系統(tǒng)實(shí)驗(yàn)
本文將PMI3算法和代表著獨(dú)立詞外部自由程度的鄰接熵相結(jié)合,能夠更好的提取出文本當(dāng)中個(gè)性化詞串,幫助識(shí)別未登錄詞,最后與核心詞典庫(kù)加載融合,生成個(gè)性化的文本詞典.改進(jìn)的Jieba 分詞系統(tǒng)切分文本主要分為3 個(gè)步驟:(1)基于生語(yǔ)料文本本身進(jìn)行未登錄詞識(shí)別和個(gè)性化候選字串的提取;(2)將識(shí)別結(jié)果編纂成針對(duì)文本本身的用戶詞典,加載融合到Jieba 分詞系統(tǒng)中;(3)對(duì)語(yǔ)料進(jìn)行分詞.
將本文結(jié)合策略算法識(shí)別到的未登錄詞作為個(gè)性化用戶詞典,引入關(guān)閉自身未登錄詞發(fā)現(xiàn)功能的Jieba分詞工具,與Jieba 自帶的未登錄詞識(shí)別功能作對(duì)比.實(shí)驗(yàn)設(shè)計(jì)分組如下.實(shí)驗(yàn)1:關(guān)閉未登錄詞識(shí)別功能的Jieba 分詞系統(tǒng),該系統(tǒng)完全依賴Jieba 自帶的核心詞庫(kù),不具有未登錄詞識(shí)別能力;實(shí)驗(yàn)2:開(kāi)啟未登錄詞識(shí)別功能的Jieba 分詞系統(tǒng),該系統(tǒng)依賴核心詞庫(kù)的同時(shí),利用隱馬爾科夫模型(Hidden Markov Model,HMM)思想識(shí)別未登錄詞;實(shí)驗(yàn)3:加載個(gè)性化用戶詞典的Jieba 分詞系統(tǒng),本方法基于Jieba 系統(tǒng)自帶的核心詞庫(kù),并加載融合了結(jié)合策略算法識(shí)別得到的個(gè)性化詞典.表4例舉了語(yǔ)料中例句在實(shí)驗(yàn)1、實(shí)驗(yàn)2 和實(shí)驗(yàn)3 中的結(jié)果.
表4 分詞實(shí)驗(yàn)結(jié)果舉例
例句:最近有特惠套餐除早餐時(shí)段雙層堡加飲料15 元~在賣的三國(guó)殺優(yōu)惠卡覺(jué)得有點(diǎn)無(wú)用唉,如果愛(ài)吃麥旋風(fēng)的話就還可以,飲品的話,套餐都有的嘛,單點(diǎn)下午茶唄.
表4中,針對(duì)例句,關(guān)閉和開(kāi)啟未登錄詞識(shí)別功能的Jieba 分詞系統(tǒng)均把未登錄詞“雙層堡”、“三國(guó)殺”切分為“雙層|堡”、“三國(guó)|殺”;Jieba 分詞系統(tǒng)加載個(gè)性化用戶詞典(詞典中包含未登錄詞“雙層堡”、“三國(guó)殺”)后,分詞系統(tǒng)把未登錄詞“雙層堡”、“三國(guó)殺”切分為一個(gè)詞.關(guān)閉未登錄詞識(shí)別功能的Jieba 分詞系統(tǒng)分詞把“麥旋風(fēng)”切分為“麥|旋風(fēng)”,開(kāi)啟未登錄詞識(shí)別功能的Jieba 分詞系統(tǒng)把未登錄詞“麥旋風(fēng)”切分,將“麥旋風(fēng)”中的“麥”和它前面的“愛(ài)吃”結(jié)合起來(lái)切分為“愛(ài)吃麥”和“旋風(fēng)”,結(jié)果為“愛(ài)吃麥|旋風(fēng)”;加載個(gè)性化用戶詞典的Jieba 分詞系統(tǒng)(詞典中包含未登錄詞“麥旋風(fēng)”)把未登錄詞“麥旋風(fēng)”切分為一個(gè)獨(dú)立詞.從互聯(lián)網(wǎng)測(cè)試語(yǔ)料的分詞結(jié)果來(lái)看,主要有2 種情況:①關(guān)閉和開(kāi)啟未登錄詞識(shí)別功能的Jieba 分詞系統(tǒng)在遇到未登錄詞時(shí),大多情況下均是將未登錄詞切分為多個(gè)“散串”,如“雙層|堡”、“三國(guó)|殺”,Jieba 分詞系統(tǒng)加載包含這些未登錄詞的個(gè)性化用戶詞典后,均能被正確切分;②開(kāi)啟未登錄詞識(shí)別功能的Jieba 分詞系統(tǒng)自動(dòng)識(shí)別出的未登錄詞不正確,導(dǎo)致句中鄰近詞的錯(cuò)分,如例句中把“愛(ài)吃麥”當(dāng)做一個(gè)詞,“麥旋風(fēng)”后的“旋風(fēng)”單獨(dú)成詞.實(shí)驗(yàn)表明通過(guò)加載個(gè)性化用戶詞典改進(jìn)分詞系統(tǒng)是一種可靠有效的方法.
為進(jìn)一步驗(yàn)證該未登錄詞識(shí)別方法的有效性,以及識(shí)別生成的個(gè)性化詞典應(yīng)用到分詞系統(tǒng)中的整體效果,對(duì)數(shù)據(jù)稀疏程度較高的論壇語(yǔ)料,統(tǒng)計(jì)上述3 組分詞系統(tǒng)的中文分詞正確率、召回率和F值,針對(duì)分詞系統(tǒng),式(7)~式(9)中的TP表示分詞系統(tǒng)切分正確的詞數(shù),TP+FP表示分詞系統(tǒng)切分出的總詞數(shù),TP+FN表示標(biāo)準(zhǔn)實(shí)驗(yàn)文本中包含的總詞數(shù),結(jié)果如表5所示.
表5 中文分詞系統(tǒng)對(duì)比
從表5可見(jiàn),Jieba 加載用戶詞典后,分詞系統(tǒng)識(shí)別出的未登錄詞數(shù)目達(dá)4563 個(gè),對(duì)互聯(lián)網(wǎng)語(yǔ)料的分詞效果有明顯提升,精確率、召回率、F值也相對(duì)加載前分別提高1.77%、7.02%和4.93%.相對(duì)開(kāi)啟未登錄詞識(shí)別功能的Jieba 分詞系統(tǒng),Jieba 加載用戶詞典后分詞系統(tǒng)識(shí)別出的未登錄詞數(shù)目增加657 個(gè),精確率、召回率和F值也分別提高0.19%、0.18%和0.58%.通過(guò)將本文結(jié)合策略算法識(shí)別到的未登錄詞構(gòu)成個(gè)性化用戶詞典,可以提高原分詞系統(tǒng)的分詞性能,尤其對(duì)于網(wǎng)絡(luò)新詞效果顯著,糾正了針對(duì)未登錄詞的分詞錯(cuò)誤.得益于構(gòu)建的個(gè)性化未登錄詞詞典,本文方法在分詞結(jié)果中有著最大的F值,驗(yàn)證了該方法在網(wǎng)絡(luò)新詞識(shí)別方面具有較高的正確率和召回率.
本文在前人研究基礎(chǔ)上,針對(duì)未登錄詞識(shí)別問(wèn)題,基于互聯(lián)網(wǎng)論壇文本,將PMI3算法和獨(dú)立詞外部鄰接熵相結(jié)合,加強(qiáng)過(guò)濾條件,將詞頻、最小鄰接熵按照成詞機(jī)理,科學(xué)融合成一個(gè)綜合指標(biāo),形成TF-Entropy過(guò)濾參數(shù),很好地抑制了垃圾串的出現(xiàn).相比其他算法,該方法在P、R、F值上均帶來(lái)了一定的提升,且能在較小時(shí)間開(kāi)銷下學(xué)習(xí)訓(xùn)練調(diào)整參數(shù).本文算法能夠很好地針對(duì)特定文檔構(gòu)建個(gè)性化用戶詞典,加載融合常用核心詞庫(kù)后,提升了現(xiàn)有分詞系統(tǒng)性能.
該算法在數(shù)據(jù)稀疏,訓(xùn)練數(shù)據(jù)標(biāo)記不規(guī)范,缺少大規(guī)模語(yǔ)料的情況下,有著較好的表現(xiàn).下一步工作是針對(duì)特定文本,研究自適應(yīng)整定詞頻-最小鄰接熵參數(shù)的方法,引入更多專家經(jīng)驗(yàn),在保證分詞速度的同時(shí)能夠提高對(duì)未登錄詞的識(shí)別率,最終實(shí)現(xiàn)正確分詞,進(jìn)一步提高在數(shù)據(jù)稀疏的情況下,分詞系統(tǒng)對(duì)文本本身的自動(dòng)化處理能力.