陳 國(guó) 劉亮亮 張?jiān)佘S
(1.江蘇科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 鎮(zhèn)江 212003)(2.上海對(duì)外經(jīng)貿(mào)大學(xué)統(tǒng)計(jì)與信息學(xué)院 上海 201620)
在電子形式的文本信息數(shù)量飛速增長(zhǎng)的背景下,文本挖掘[1~2]成為信息領(lǐng)域獲取知識(shí)的重要手段。目前,文本挖掘的主要方法有關(guān)聯(lián)分析[3]、總結(jié)[4]、分類(lèi)[5]、聚類(lèi)[6~7]等,其中較為常用的方法是文本聚類(lèi)。在文本聚類(lèi)過(guò)程中發(fā)現(xiàn),文本中存有大量無(wú)關(guān)信息,這些無(wú)關(guān)信息對(duì)計(jì)算句子的相似程度有很大的影響。因此,就需要對(duì)文本中的無(wú)關(guān)信息做處理,其中就包含對(duì)所謂“無(wú)關(guān)語(yǔ)”的識(shí)別與清理。從結(jié)果看,通過(guò)無(wú)關(guān)語(yǔ)的自動(dòng)獲取處理,可以成功提升文本聚類(lèi)效果。在無(wú)關(guān)語(yǔ)獲取獲取方法一般可采用基于規(guī)則的,或基于統(tǒng)計(jì)的,或基于機(jī)器學(xué)習(xí)的等。姜仁會(huì)等[8]利用微博評(píng)論和轉(zhuǎn)發(fā)進(jìn)行詞頻統(tǒng)計(jì),通過(guò)規(guī)則篩選,實(shí)現(xiàn)了面向微博文本的命名實(shí)體識(shí)別;袁璐等[9]同樣利用統(tǒng)計(jì)與規(guī)則相結(jié)合的方法,提出了一種依存分析和隱馬爾科夫相結(jié)合的文本信息抽取算法實(shí)現(xiàn)自由文本的信息抽取。R.Speck等[10]通過(guò)機(jī)器學(xué)習(xí)中的集成學(xué)習(xí)來(lái)提高命名實(shí)體識(shí)別工具的性能,利用多種識(shí)別方法、驗(yàn)證方法在多個(gè)數(shù)據(jù)集上進(jìn)行測(cè)試,證明了集成學(xué)習(xí)可以將命名實(shí)體識(shí)別系統(tǒng)的錯(cuò)誤率大幅度降低。目前在中文無(wú)關(guān)語(yǔ)研究方面,周峰等[11]通過(guò)種子無(wú)關(guān)語(yǔ)推導(dǎo)出強(qiáng)無(wú)關(guān)語(yǔ),結(jié)合強(qiáng)無(wú)關(guān)語(yǔ)和語(yǔ)料特征對(duì)種子集的無(wú)關(guān)語(yǔ)進(jìn)行擴(kuò)充,該方法能有效獲取固定位置內(nèi)的無(wú)關(guān)語(yǔ),但當(dāng)語(yǔ)句較長(zhǎng)時(shí)識(shí)別率卻不很理想。
隱馬爾科夫模型[12]是可用于標(biāo)注問(wèn)題的統(tǒng)計(jì)學(xué)習(xí)模型,屬于生成模型,隱馬爾科夫模型在自然語(yǔ)言處理領(lǐng)域中被廣泛的應(yīng)用。綜合上述思想方法,本文在用戶(hù)短文本預(yù)處理過(guò)程中采取標(biāo)注法對(duì)短文本無(wú)關(guān)語(yǔ)狀態(tài)進(jìn)行預(yù)測(cè),通過(guò)加入詞性特征與相對(duì)位置特征標(biāo)注對(duì)預(yù)測(cè)結(jié)果進(jìn)行優(yōu)化,并將符合一定規(guī)則的狀態(tài)值序列視為無(wú)關(guān)語(yǔ)隱狀態(tài)的預(yù)測(cè)序列值;擴(kuò)展隱馬爾科夫模型,用最大似然估計(jì)法進(jìn)行模型參數(shù)訓(xùn)練,結(jié)合訓(xùn)練的模型,利用改進(jìn)的維特比算法[13]求最優(yōu)狀態(tài)序列,以達(dá)到最終獲取短文本無(wú)關(guān)語(yǔ)的目的。
一般而言,短文中的無(wú)關(guān)語(yǔ)具有以下幾個(gè)方面的特點(diǎn):
1)主體無(wú)關(guān)性。主體無(wú)關(guān)性體現(xiàn)在其存在與否不影響句子的語(yǔ)義。
2)領(lǐng)域無(wú)關(guān)性。短文本具有一定的領(lǐng)域性,如咨詢(xún)文本、網(wǎng)絡(luò)評(píng)論、即時(shí)通信聊天記錄等。無(wú)關(guān)語(yǔ)的領(lǐng)域無(wú)關(guān)性體現(xiàn)在其在任何領(lǐng)域均為無(wú)關(guān)語(yǔ)。
3)位置特殊性。通過(guò)對(duì)大量的短文本中無(wú)關(guān)語(yǔ)進(jìn)行手工識(shí)別,對(duì)其在短文本中出現(xiàn)的位置進(jìn)行記錄,發(fā)現(xiàn)絕大多數(shù)無(wú)關(guān)語(yǔ)出現(xiàn)的位置較為特殊,如在短文本的句首或句尾等。
4)詞性特殊性。無(wú)關(guān)語(yǔ)的詞性相對(duì)較為有限,通常不會(huì)包含一些名詞信息,如地名、人名和專(zhuān)業(yè)名詞等。
隱馬爾科夫模型屬于生成模型,可用于標(biāo)注問(wèn)題的統(tǒng)計(jì)學(xué)習(xí)模型,通常可以通過(guò)三元符號(hào)表示隱馬爾科夫模型λ 為
其中,A 是狀態(tài)轉(zhuǎn)移概率矩陣,B 是觀測(cè)概率矩陣,π 是初始概率向量。在無(wú)關(guān)語(yǔ)識(shí)別過(guò)程中,本文中主要利用隱馬模型求解隱狀態(tài)序列的思路進(jìn)行語(yǔ)料的隱狀態(tài)預(yù)測(cè)標(biāo)注,也就是將句子中的每個(gè)詞標(biāo)注為一個(gè)隱狀態(tài)預(yù)測(cè),符合一定規(guī)則的隱狀態(tài)序列構(gòu)成一個(gè)無(wú)關(guān)語(yǔ)。句子中的詞,詞性,相對(duì)位置均可視為可見(jiàn)狀態(tài),通過(guò)狀態(tài)轉(zhuǎn)移概率矩陣A與初始狀態(tài)概率向量π 確定了隱藏的馬爾科夫鏈,生成的即為隱狀態(tài)的狀態(tài)序列。觀測(cè)概率矩陣B確定了如何從狀態(tài)生成觀測(cè)。
隱馬爾科夫模型具有齊次馬爾科夫性[14],即在當(dāng)前狀態(tài)進(jìn)行狀態(tài)轉(zhuǎn)移時(shí)只考慮前一個(gè)位置的狀態(tài),這樣的假設(shè)條件與自然語(yǔ)言出現(xiàn)的規(guī)律不符。相比較傳統(tǒng)的隱馬爾科夫模型,二階隱馬爾科夫模型[15]具有一定的優(yōu)勢(shì),主要體現(xiàn)在其考慮了更多的歷史狀態(tài),從而提升了預(yù)測(cè)效果。
隱馬爾科夫模型的變量可分為兩組。第一組為狀態(tài)變量 S={s1,…,st},其中 si?S 表示第i 個(gè)位置系統(tǒng)的狀態(tài),也稱(chēng)為隱變量。第二組為觀測(cè)變量O={o1,…,ot},其中oi?O 能表示第i 個(gè)位置的觀測(cè)值。在隱馬爾科夫模型中,系統(tǒng)通常在多個(gè)狀態(tài){q1,…,qN}之間轉(zhuǎn)換。觀測(cè)變量oi的取值范圍為V={v1,…,vM},也就是每個(gè)隱狀態(tài)對(duì)應(yīng)的觀測(cè)值有M 個(gè)。
二階隱馬爾科夫模型λ 可以通過(guò)五元組表示為λ=(A,A',B,B',π)。其中各參數(shù)如下。
狀態(tài)轉(zhuǎn)移概率矩陣記為 A'=[aij]N×N,A=[aijk]N×N×N,對(duì)任意 i,j,k=1,2,…,N ,有
aij表示當(dāng)前狀態(tài)為qi下一個(gè)狀態(tài)為qj的概率。aijk為表示狀態(tài)qi狀態(tài)qj依次出現(xiàn)時(shí)下一個(gè)狀態(tài)為qk的概率。 count(qi,qj)表示狀態(tài)qi到狀態(tài) qj的轉(zhuǎn)移次數(shù)表示狀態(tài)qi到任意狀態(tài)的轉(zhuǎn)移次數(shù)之和;count(qi,qj,qk)表示狀態(tài)qi、狀 態(tài) qj轉(zhuǎn) 移 到狀 態(tài) qk的總 次 數(shù);表示狀態(tài)qi、狀態(tài)qj轉(zhuǎn)移到任意狀態(tài)的總次數(shù)。
觀測(cè)概率矩陣記為 B'=[bil]N×M,B=[bijl]N×N×M,對(duì)任意的i,j=1,2,…,N ,l=1,2,…,M ,有
bil表示狀態(tài)為qi的條件下,觀測(cè)值為vl的概率,bijl表示狀態(tài)依次為qi、qj的前提下,狀態(tài)qj對(duì)應(yīng)的觀測(cè)值為vl的概率。count(vl,qi)表示狀態(tài)為qi的前提下觀測(cè)值為vl的次數(shù);表示狀態(tài)為qi的前提下觀測(cè)值任意的總數(shù);count(vl,qi,qj)表示狀態(tài)qi、狀態(tài)qj出現(xiàn)的前提下觀測(cè)值為vl的總次數(shù);表示狀態(tài)qi、狀態(tài)qj和出現(xiàn)的前提下觀測(cè)值任意的總次數(shù)。
初始狀態(tài)概率向量通常記為π=(π1,π1,…,πN),對(duì)任意的i=1,2,…,N ,有
πi表示模型的初始狀態(tài)為 qi的概率。count(qi)表示狀態(tài)qi的作為初始狀態(tài)的總次數(shù);表示任意狀態(tài)作為開(kāi)始狀態(tài)的次數(shù)和。
本文用戶(hù)短文本無(wú)關(guān)語(yǔ)獲取方法采取四個(gè)基本步驟:首先對(duì)實(shí)驗(yàn)語(yǔ)料進(jìn)行分詞;其次,進(jìn)行詞性與相對(duì)位置標(biāo)注;第三,進(jìn)行隱狀態(tài)標(biāo)注;第四,用擴(kuò)展二階隱馬爾科夫模型來(lái)建立訓(xùn)練模型,通過(guò)最大似然估計(jì)法進(jìn)行模型參數(shù)訓(xùn)練,確定模型參數(shù);第五,結(jié)合訓(xùn)練的模型,利用改進(jìn)維特比算法求最優(yōu)狀態(tài)序列;最后輸出標(biāo)記好的無(wú)關(guān)語(yǔ)。
語(yǔ)料預(yù)處理的過(guò)程包括語(yǔ)料分詞、隱狀態(tài)標(biāo)注和相對(duì)位置標(biāo)注。首先從文本中手工篩選出一批用戶(hù)咨詢(xún)短文本,利用ICTCLAS對(duì)其進(jìn)行分詞并進(jìn)行詞性標(biāo)注,手工對(duì)分詞后的語(yǔ)料中的每個(gè)詞語(yǔ)進(jìn)行BMEOS標(biāo)注[16]。其中:
B表示該詞位于一條無(wú)關(guān)語(yǔ)的起始位置;
M表示該詞位于一條無(wú)關(guān)語(yǔ)的中間位置;
E表示該詞位于一條無(wú)關(guān)語(yǔ)的結(jié)束位置;
O 表示該詞位于一條無(wú)關(guān)語(yǔ)外部,不屬于無(wú)關(guān)語(yǔ)成分;
S表示該詞為一條無(wú)關(guān)語(yǔ)。
然后對(duì)標(biāo)注后的語(yǔ)料進(jìn)行相對(duì)位置標(biāo)注,此處的相對(duì)位置表示的是一條咨詢(xún)短文本中的一個(gè)詞相對(duì)于這一條短文本的相對(duì)位置。取短文本句子的平均長(zhǎng)度L 作為相對(duì)位置的最大取值,對(duì)于一個(gè)長(zhǎng)度l 的句子中的第i 個(gè)詞wi,i 的取值范圍為[1,l]。其相對(duì)位置ri的計(jì)算方法為
通過(guò)式(7)可以對(duì)一個(gè)句子中所有的詞進(jìn)行相對(duì)位置標(biāo)注,至此文本預(yù)處理階段結(jié)束。
通過(guò)式(2)和(3)可以計(jì)算確定矩陣 A 和 A',通過(guò)式(4)和(5)可計(jì)算確定矩陣 B 和 B',通過(guò)式(5)計(jì)算確定π。由此可以確定二階隱馬爾科夫模型 λ=(A,A',B,B',π)中的各個(gè)參數(shù)。為了獲取的結(jié)果更好,在此加入詞性的觀測(cè)概率矩陣C=[cijl]N×N×M和 C'=[cil]N×M以及相對(duì)位置的觀測(cè)概率矩陣 D=[dijl]N×N×M和 D'=[dil]N×M,分別記錄在某一狀態(tài)下觀測(cè)到某個(gè)詞性的概率以及在某一狀態(tài)下觀測(cè)到某一相對(duì)位置的概率。其中詞性觀測(cè)概率矩陣C 和C'中各元素計(jì)算公式為
相對(duì)位置觀測(cè)概率矩陣D 和D'中各元素計(jì)算公式為
對(duì)所有矩陣歸一化,最終求出擴(kuò)展的二階隱馬模型 λ=(A,A',B,B',C,C',D,D',π)。
輸入:λ=(A,A',B,B',C,C',D,D',π)和觀測(cè)詞序列O=o1,o2,…,oT、對(duì)應(yīng)的詞性序列 O'=,…,、對(duì)應(yīng)的位置序列O''=,…,。輸出:最優(yōu)路徑S*=,,…,
1) 初 始 化 :δ2(i,j)= πi?[bi1?ci1?di1]?aij?[bij2?cij2?dij2],ψ2(i,j)=0 。 1 ≤ i,j ≤ N
4)狀態(tài)回退序列:對(duì)于t=T-1,T-2,…,2
在先前的相關(guān)工作中積累了大量的用戶(hù)咨詢(xún)短文本,將這些用戶(hù)咨詢(xún)文本作為實(shí)驗(yàn)語(yǔ)料。首先從語(yǔ)料中隨機(jī)提取6000 行不重復(fù)的咨詢(xún)語(yǔ)料進(jìn)行手工標(biāo)注,并從這手工標(biāo)注的6000 行咨詢(xún)中隨機(jī)抽取4000 行做模型訓(xùn)練,剩余2000 條作為測(cè)試集。以此方法執(zhí)行五次,取五次實(shí)驗(yàn)結(jié)果的均值為本次實(shí)驗(yàn)的衡量標(biāo)準(zhǔn)。實(shí)驗(yàn)采用精確度(precision)、召回率(recall)和F1 度量值來(lái)評(píng)價(jià)當(dāng)前模型的計(jì)算效果。
實(shí)驗(yàn)分兩組進(jìn)行:第一組只考慮詞語(yǔ)單一特征的情況下,分別采用一階和二階隱馬爾科夫模型獲取無(wú)關(guān)語(yǔ)效果對(duì)比分析;第二組實(shí)驗(yàn)則是在第一組實(shí)驗(yàn)基礎(chǔ)上,綜合考慮詞語(yǔ)多種特征,包括詞性特征以及相對(duì)位置特征等,采用擴(kuò)展隱馬爾科夫模型進(jìn)行的無(wú)關(guān)語(yǔ)獲取實(shí)驗(yàn),并與文獻(xiàn)[11]的方法進(jìn)行了對(duì)比分析。結(jié)果如下。
1)通常一階二階隱馬爾科夫模型結(jié)果對(duì)比分析。
表1 通常一階二階隱馬爾科夫結(jié)果對(duì)比
從中可以看出,在僅考慮詞語(yǔ)本身時(shí),一階隱馬爾科夫模型的實(shí)驗(yàn)結(jié)果并不理想,而采取二階隱馬爾科夫模型則得到了相對(duì)一階而言較好的結(jié)果,這是因?yàn)槎A隱馬爾科夫考慮到了更多的情況,因此獲得了更好的實(shí)驗(yàn)結(jié)果。
2)采取擴(kuò)展一階二階隱馬爾科夫模型結(jié)果對(duì)比分析。
在考慮詞語(yǔ)詞性特征以及相對(duì)位置特征的情況下,對(duì)比一階隱馬爾科夫模型、擴(kuò)展二階隱馬爾科夫模型和文獻(xiàn)11 的方法的結(jié)果進(jìn)行對(duì)比。結(jié)果如表2所示。
表2 擴(kuò)展一階二階隱馬爾科夫結(jié)果對(duì)比
從實(shí)驗(yàn)結(jié)果可看出,在加入了詞性、位置特征后無(wú)關(guān)語(yǔ)的獲取結(jié)果有了明顯的提高。對(duì)比文獻(xiàn)[11]的方法獲取到的結(jié)果,本文的方法有更好的精度和召回率。這是因?yàn)閰⒖嘉墨I(xiàn)[11]的方法僅考慮了在特定位置出現(xiàn)的無(wú)關(guān)語(yǔ),而在此識(shí)別過(guò)程中,特定位置的選取較為重要,在一些文本長(zhǎng)度稍長(zhǎng)時(shí)就會(huì)出現(xiàn)識(shí)別不完整的情況,而本文的方法將位置作為其中的一個(gè)考量因素同時(shí)還考慮了其他因素,因此取得了更好的結(jié)果。
本文討論了用戶(hù)短文本無(wú)關(guān)語(yǔ)自動(dòng)識(shí)別的問(wèn)題。通過(guò)對(duì)無(wú)關(guān)語(yǔ)特性的分析,采用二階隱馬爾科夫模型建模。在標(biāo)注過(guò)程中融合了無(wú)關(guān)語(yǔ)的詞性特征和位置特征,使用改進(jìn)的維特比算法進(jìn)行標(biāo)注工作。為了進(jìn)行驗(yàn)證,本文通過(guò)真實(shí)的咨詢(xún)語(yǔ)料進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明本方法是能有效識(shí)別出短文本中存在的無(wú)關(guān)語(yǔ)。在對(duì)實(shí)驗(yàn)結(jié)果的分析中發(fā)現(xiàn)雖然本文的方法提升了獲取無(wú)關(guān)語(yǔ)的精度,但是本方法尚存在的一些問(wèn)題,如對(duì)于分詞結(jié)果、錯(cuò)別字較為敏感,在處理長(zhǎng)度較長(zhǎng)的文本時(shí)表現(xiàn)不佳等。針對(duì)分詞結(jié)果敏感、錯(cuò)字敏感等問(wèn)題,在自然語(yǔ)言處理領(lǐng)域可采用非詞錯(cuò)誤校正、分詞時(shí)導(dǎo)入手工整理的詞典等方法實(shí)現(xiàn)優(yōu)化,相關(guān)問(wèn)題在后續(xù)的無(wú)關(guān)語(yǔ)識(shí)別工作中需要進(jìn)行改進(jìn)。