付海辰
(唐山學(xué)院 計算機(jī)科學(xué)與技術(shù)系,河北 唐山 063000)
在大規(guī)模真實文本處理中,有一些詞依靠分詞詞典是無法識別出來的,這些詞被稱為未登錄詞,以中文人名、地名、機(jī)構(gòu)名為三種主要形式。未登錄詞的識別,是中文文本自動分詞中遇到的除歧義識別外的另一難題。
在現(xiàn)在正蓬勃發(fā)展的信息檢索和數(shù)據(jù)挖掘研究領(lǐng)域中,未登錄詞的識別具有十分重要的意義:識別未登錄詞可以提高分詞和抽詞的精度,擴(kuò)充依據(jù)詞典提取的關(guān)鍵詞集合,從而更加準(zhǔn)確的對信息資源進(jìn)行描述、分析與理解[1]。
產(chǎn)生未登錄詞的原因主要有兩點:機(jī)器可讀詞典中詞條的選擇和詞條的數(shù)量;機(jī)器可讀詞典與待處理文本中的詞條匹配關(guān)系,包括機(jī)器可讀詞典對待處理文本中詞匯的覆蓋率[2]。漢語語言豐富靈活,漢語詞種類繁多,構(gòu)詞法樣式不一,都給未登錄詞的識別造成了很大的困難。另外,一些未登錄詞與詞典中已經(jīng)存在的詞相互交叉結(jié)合,也使得未登錄詞識別的正確率不高。例如,在句子“小梅花光了她所有的積蓄”中,“小梅”是一個中文人名,應(yīng)該被作為一個詞切分出來,但是實際切分時因為詞典中不存在這個詞,所以無法得到正確的切分,且由于詞典中收錄了“梅花”一詞,因此此句將被切分為“小/梅花/光/了/她/所有/的/錢”。
未登錄詞的出現(xiàn)是中文文本不可避免的問題,其直接影響了中文文本處理的正確率,所以目前未登錄詞的識別是一個迫切需要解決的問題。
中文人名、地名、機(jī)構(gòu)名是三種最主要的未登錄詞形式,它們的識別都有相當(dāng)重要的意義,本文主要側(cè)重于中文地名的識別。
中文地名的識別困難不僅在于中文地名的多樣性和任意性,而且在很多情況下,其又可以作為句子的其他成分參與句子的構(gòu)造和活動。雖然中文地名在文章中的出現(xiàn)頻率不是很高,但絕不可以忽略,否則在分詞系統(tǒng)中會出現(xiàn)不可預(yù)料的錯誤。中文地名主要有如下特點:
(1)中文地名數(shù)量大,且用詞分散、自由,到目前為止,還沒有完整的地名庫可供使用,隨著社會的發(fā)展,生疏地名也在不斷增加,較難完善。
(2)地名長度無嚴(yán)格限制,短的如“京”,長的如“新疆維吾爾自治區(qū)”;且地名結(jié)尾經(jīng)常有地名特征詞出現(xiàn)。
(3)可作單字詞的漢字在地名中經(jīng)常出現(xiàn),如“西/直/門”,給地名識別帶來困難,容易造成只識別出單字,而未識別出地名的錯誤。
(4)多個地名一起出現(xiàn),難以一一正確劃分,如“河北省/唐山市/建設(shè)北路/鶴祥園/106樓”。
這些中文地名的特點,都給地名的識別和切分帶來了困難。在無法窮舉所有地名的條件下,引入互信息這一概念,有助于克服以上地名識別困難。
目前,國內(nèi)關(guān)于中文地名的研究主要有基于交換的地名識別方法,得到地名上下文的規(guī)律,對規(guī)律再進(jìn)行篩選。本文提出了一種基于互信息的中文地名識別方法,提出中文地名的上下文互信息概念,引入互信息對其進(jìn)行描述,并通過引入調(diào)整閥值進(jìn)行矯正,有效地提高了中文地名識別的效果,保證了較高的召回率,有助于中文自動分詞系統(tǒng)中未登錄詞識別的提高。
互信息一般反映的是字與字之間的靜態(tài)結(jié)合,因為它計算的就是相鄰字出現(xiàn)的頻率,根據(jù)這個頻率與字單獨出現(xiàn)頻率進(jìn)行比較,計算出互信息來判斷什么時候組成詞語?;バ畔⒌母拍钭钤缫娪谛畔⒄摚渲谢バ畔⒈蛔鳛橐环N衡量兩個信號之間相互依賴的尺度[3]。在信息論中,這種二元互信息可以表示為兩個信號發(fā)生概率的函數(shù)。具體在自然語言處理領(lǐng)域中,就是把句子中詞或詞序列作為一系列可能有關(guān)聯(lián)的隨機(jī)事件,然后用互信息對它們進(jìn)行分析與研究。對有序漢字串AB中漢字AB之間的互信息I(A,B)定義如下:
互信息體現(xiàn)了漢字之間結(jié)合關(guān)系的緊密程度,當(dāng)緊密程度高于某一閥值時,便認(rèn)為此字組可能構(gòu)成了一個詞。其中,P (A,B)為漢字串 AB聯(lián)合出現(xiàn)的概率,P(A)為漢字串 A的出現(xiàn)概率,P(B)為漢字串B的出現(xiàn)概率,它們在漢字字符串中出現(xiàn)的次數(shù)分別計為n(A),n(B),n(AB),n是詞頻總數(shù),則有如下公式:
互信息反映了漢字串AB間相關(guān)的程度。
如果 I( A,B) ≥0,即 P (A,B)≥ P(A)P(B),則AB間是正相關(guān)的,隨著I(A,B)增加,相關(guān)度增加,如果I(A,B)大于給定的一個閥值,這時可以認(rèn)為AB是一個詞;
如果 I( A,B) ≈0,即 P (A,B)≈ P(A)P(B),則AB間是不相關(guān)的;
如果I(A,B)<0,即 P(A <B)< P (A)P(B),則AB間是互斥的,這時AB間基本不會結(jié)合成詞。
在漢字處理中,互信息描述的是兩個字或者詞之間的關(guān)聯(lián)程度大小。定義y∈Y,其中y為某一具體的地名,Y為文本中所有地名的集合;x∈X,x為上下文信息,X為由x組成的集合。
由于地名識別中,判斷一個句中是否含有地名,常常需要用到地名的左右指界詞,根據(jù)上述定義,I(x,y)表示上下文信息x與地名y的互信息,它的大小描述了x與y的關(guān)聯(lián)程度,此時的地名左右指界詞即為上下文信息x,指界詞與地名的共現(xiàn)頻率即為互信息I(x,y)。例如,兩個句子中分別有“到達(dá)”和“扣留”兩個詞,判定“到達(dá)”的后同現(xiàn)詞(出現(xiàn)在單詞右邊的詞)是地名的概率要大于“扣留”的后同現(xiàn)詞是地名的概率。引入互信息可以準(zhǔn)確的描述上下文信息x與地名y的關(guān)聯(lián)程度。
2.3.1 地名的上下文互信息
中國地名的自動識別策略是:在對文本分詞的基礎(chǔ)上進(jìn)行常見地名匹配后,利用概率估值公式在文本中初步篩選出候選地名,然后根據(jù)互信息方法計算出地名的上下文信息,再通過規(guī)則對候選地名進(jìn)一步確定,直至得到真正的地名。本文的互信息地名識別方法也是建立在已利用現(xiàn)有的地名識別資源,初步選出了侯選地名的基礎(chǔ)之上。識別原理如圖1所示。
在信息論中,互信息 I( x,y)= I(y,x),兩者是對稱的;而在互信息的地名識別中,互信息 I( x,y)≠ I(y,x),因為在自然語言中,一個句子里漢字的排列順序是不能改變的。設(shè)地名與前同現(xiàn)詞的互信息為上文互信息,用Il表示;地名與后同現(xiàn)詞的互信息為下文互信息,用Ir表示。則定義如下:
其中,place為一個侯選地名;Li、Rj分別為侯選地名place的前同現(xiàn)詞和后同現(xiàn)詞(i,j分別是自然數(shù),i≥1,j≥1;P (place)為真實地名集合在實際語料詞語中的概率(place為實際語料中的真實地名集合);P (Li, place) 、P( place,Rj)分別為真實地名集合與前同現(xiàn)詞的同現(xiàn)概率、真實地名集合與后同現(xiàn)詞的同現(xiàn)概率。地名的前同現(xiàn)詞與后同現(xiàn)詞使用概率是不同的,因此它們與地名的互信息Il和Ir的分布不同。
圖1 中國地名自動識別原理圖
例如,我們經(jīng)常遇到的地名前同現(xiàn)詞有“到達(dá)”、“開赴”、“靠近”等,后同現(xiàn)詞有“省”、“市”、“街”等。根據(jù)地名的上下文信息,將其互信息定義如下:
其中,E是互信息 Il(Li, place)與 Ir(place,Rj)的均值,D為互信息 Il(Li, place)與 Ir(place,Rj)之間的方差。當(dāng)給定上下文環(huán)境時, Icon(Li,place, Rj)的數(shù)值可定量的描述place是真實地名的可能性。
2.3.2 調(diào)整閥值確定
為了對地名識別召回率進(jìn)行調(diào)整,將上下文互信息的調(diào)整閥值定義為:
其中,
定義概率估值 P (place)的計算公式如下:
n=2時,
n>2時,
其中,
公式中,對每個中國地名用字c, Nsampleplace表示在真實語料中出現(xiàn)的中國地名個數(shù)。Ps(c)、Pm(c)、Pe(c)分別是漢字c作地名首字、中間字和尾字的概率;Nps(c)、Npm(c)、Npe(c)分別是漢字 c在中國地名樣本庫中作地名首字、中間字、尾字的總次數(shù);Nts(c)、Ntm(c)、Nte(c)分別是漢字 c在真實文本中作地名首字、中間字、尾字的總次數(shù);Nt(c)是漢字c在真實文本中出現(xiàn)的總次數(shù),Nc(c)是漢字c在中國地名樣本庫中出現(xiàn)的總次數(shù)。
2.3.3 地名識別過程
中國地名的自動識別過程可以描述為:首先參照地名用字表進(jìn)行常見地名匹配,產(chǎn)生初步的候選地名字串,結(jié)合從真實文本中統(tǒng)計得到的詞頻信息進(jìn)一步確定候選地名的起止位置;其次計算候選地名的概率估值,并計算地名的互信息,結(jié)合上下文互信息進(jìn)行閥值篩選;最后利用規(guī)則對通過閥值篩選的候選地名進(jìn)行調(diào)整,產(chǎn)生正確的地名結(jié)果。具體步驟如下:
(1)產(chǎn)生侯選地名字串。在分詞過程中,如果字串
滿足以下條件,則認(rèn)為place為侯選地名字串。
(Ps( C1)>thor C1為非詞字)
and
and
其中th、tm、tl分別是地名首中尾字對應(yīng)的頻數(shù)閥值,隨著地名用字庫容量的改變,各閥值也不斷變化,但選擇閥值應(yīng)保證覆蓋樣本庫中99%的地名。
(2)計算侯選地名的概率估值 P (place),并根據(jù)概率估值進(jìn)行初步調(diào)整,去掉部分概率過低的侯選地名。
圖2 地名識別過程流程圖
對于侯選地名
place =C1…Cn=1Cn(n≥2),
利用概率估值 P (place)計算公式(5)、(6),可得到侯選地名的概率估值。當(dāng)侯選地名的概率估值 P (place)越大,認(rèn)為是真實地名的概率越大,調(diào)整閥值的取值越??;侯選地名的概率估值越小,認(rèn)為是真實地名的概率越小,調(diào)整閥值的取值越大。
(3)根據(jù)地名的前同現(xiàn)頻率 P (Li, place)和后同現(xiàn)頻率P(place,Rj)計算侯選地名的互信息 Icon(Li,place, Rj),利用公式(3)。當(dāng)給定上下文環(huán)境時,互信息的數(shù)值可定量描述place是真實地名的可能性。
(4)根據(jù)侯選地名上下文互信息的調(diào)整閥值公式(4)進(jìn)行調(diào)整校正,以協(xié)調(diào)識別結(jié)果的召回率。
(5)生成有地名切分標(biāo)志的分詞結(jié)果,輸出文本。
識別過程如圖2所示。
中國地名是漢語真實文本中最常出現(xiàn)的未登錄詞類型之一,僅次于人名的出現(xiàn)頻率。近年來,在對中國人名識別取得很大研究成果的基礎(chǔ)上,地名識別的研究也漸增多。本文提出的基于互信息的地名識別方法,提出中文地名的上下文互信息概念,引入互信息對其進(jìn)行定量的描述,本方法達(dá)到了較好的中文地名識別效果。