宋立峰
?
中文分詞算法在專利文獻(xiàn)中的應(yīng)用研究*
宋立峰
福建省知識產(chǎn)權(quán)信息公共服務(wù)中心
介紹了專利文獻(xiàn)中中文分詞的基本方法,主要分析了基于詞類的錯誤驅(qū)動學(xué)習(xí)方法、條件隨機(jī)場方法、期望最大值方法在分詞方面的應(yīng)用,并進(jìn)行了對比實驗。
專利文獻(xiàn) 中文 分詞
專利文獻(xiàn)包含全世界科學(xué)技術(shù)信息內(nèi)容的90%[1],其中不僅包含技術(shù)也包括法律和經(jīng)濟(jì)信息,除了某些需要保密的領(lǐng)域,如軍工行業(yè),專利文獻(xiàn)涉及了絕大部分工程技術(shù)領(lǐng)域,如果能有效利用這些信息,就可以避免重復(fù)研發(fā),減少開發(fā)時間,降低開發(fā)成本,也可以有效防止侵犯他人合法權(quán)益,降低企業(yè)風(fēng)險。
怎樣才能高效地利用海量專利文獻(xiàn)信息,從這些信息中查找到需要的資料,解決這個問題的關(guān)鍵是對專利文獻(xiàn)進(jìn)行精確快速的檢索,而進(jìn)行檢索的最重要一步是對海量專利文獻(xiàn)進(jìn)行索引,沒有索引就無法快速精確地檢索到需要的信息,索引的基礎(chǔ)則是對文獻(xiàn)進(jìn)行分詞,分詞的質(zhì)量決定了索引的質(zhì)量,一種好的分詞方法可以大幅提高文獻(xiàn)的查準(zhǔn)率。中文分詞有兩塊難點(diǎn),一個是分詞的歧義,一個是未收錄詞的判斷[2],專利文獻(xiàn)的用詞,有其自己的特點(diǎn),存在著大量未收錄的專業(yè)術(shù)語,而歧義詞語僅占很小的一部分,在分詞的時候必須重點(diǎn)考慮專業(yè)術(shù)語的切分,因為其對整體性能的影響是歧義影響的5倍[3]。下節(jié)將重點(diǎn)描述這方面的內(nèi)容。
我們首先需要研究專利文獻(xiàn)的用詞特點(diǎn),通過了解掌握這些特點(diǎn),可以利用這些規(guī)律,更好地進(jìn)行分詞處理,提升分詞效率。專利文獻(xiàn)用詞有以下幾個特點(diǎn):
2.1 具有專利文獻(xiàn)特點(diǎn)的一些相對高頻的詞語,比如“本發(fā)明”、“特征”、“方法”、“一種”等,大部分的專利都會涉及這些詞語。
2.2 由于多數(shù)專利文獻(xiàn)帶有很強(qiáng)的專業(yè)性,有大量未登錄在詞典的詞語,比如“二十二碳六烯酸”、“星地應(yīng)答機(jī)”等技術(shù)詞匯,很難進(jìn)行正確的分詞,這點(diǎn)很難解決。
2.3 專利文獻(xiàn)中為了表達(dá)一種復(fù)雜的功能或儀器,往往帶有多個定語,比如“雙測向多臂井徑測量儀器”、“高精度非垂直截面可旋轉(zhuǎn)測量儀器”等等,這給我們分詞帶來了一定的困難。
2.4 專利文獻(xiàn)中為了描述清楚功能,一些專利文獻(xiàn)中會反復(fù)出現(xiàn)一些特定的詞語,如“一種星載計算機(jī)軟件的在軌更新方法”反復(fù)提到了“星務(wù)”這個詞,這個詞在分詞詞典里是沒有的,而我們可以通過統(tǒng)計的方法將它作為分詞標(biāo)記。
現(xiàn)有的關(guān)于中文分詞的技術(shù)主要是有兩大類,一種是利用海量詞典進(jìn)行分詞,另一種則是利用統(tǒng)計進(jìn)行分詞。詞典分詞的原理是將N個連續(xù)漢字與詞典里的詞語進(jìn)行適配,取其最長的適配詞,拿“計算機(jī)的基本原理”來講,“計算”是一個詞,“計算機(jī)”也是一個詞,分詞的時候取長度較長的“計算機(jī)”,而不會取“計算”、“機(jī)”兩個詞;最基礎(chǔ)的詞典分詞方法有正向匹配算法和逆向匹配算法,它們分別是從句子的頭和尾進(jìn)行匹配,其結(jié)果基本一致,略有不同,詞典分詞的準(zhǔn)確率較高,分詞的質(zhì)量由詞典收納詞的豐富程度決定,其不具備對未知詞語的判斷能力。統(tǒng)計分詞可以對文獻(xiàn)中反復(fù)出現(xiàn)的詞語進(jìn)行識別,特別是對于專利文獻(xiàn),其最核心的詞必然比其他詞出現(xiàn)的頻率高,但是出現(xiàn)頻率高的詞卻不一定是核心的詞,比如“可以”、“用于”等等,這些詞是常用的連接詞,出現(xiàn)的頻率很高,但卻和文獻(xiàn)的主體意思沒有關(guān)系,如果這些詞過于頻繁出現(xiàn)會降低統(tǒng)計的效率。
實驗證明,單純的詞典法或是統(tǒng)計法對專利文獻(xiàn)分詞并沒有很好的效果,我們將對基于詞類錯誤驅(qū)動學(xué)習(xí)方法(CTBL)、條件隨機(jī)場方法(CRF)、期望最大值方法(EM)等3種分詞方法在專利文獻(xiàn)中的應(yīng)用展開研究。
錯誤驅(qū)動學(xué)習(xí)方法(TBL)是一種符號式的機(jī)器學(xué)習(xí)方法,在許多語言應(yīng)用場景中都有很廣泛的應(yīng)用,例如詞語的分類等,Palmer還將其應(yīng)用到了漢語的分詞中,實際效果也表明,TBL在分詞應(yīng)用中可以有很好的功效,也可以和其他的分詞系統(tǒng)配合使用。
由于規(guī)則模板減少了TBL方法需要檢索的轉(zhuǎn)換規(guī)則的時間,所以,尋找適合的規(guī)則模板是十分關(guān)鍵的,通過對比,單純運(yùn)用詞例化模板的TBL分詞系統(tǒng),其準(zhǔn)確率一般不超過90%,而這個水平距離優(yōu)秀的要求還有一定的距離,此外,由數(shù)據(jù)稀疏導(dǎo)致的過學(xué)習(xí)缺陷,也一直困擾著TBL方法,因此將語法以及詞法信息融合到TBL方法中去,可以一定程度上提高分詞的性能,CTBL方法(基于詞類)就是如此誕生的,該方法可以使分詞的學(xué)習(xí)規(guī)律更快更準(zhǔn)確[4]。
首先,把詞分為四大類:(1)已知收錄詞,包含所有已經(jīng)收錄在詞典中的詞;(2)特定名稱詞,比如地名、人名等;(3)數(shù)字名詞,時間、數(shù)量等詞;(4)派生詞,重疊詞(形形色色)等詞。
所有的詞都可以看成是一棵樹,樹的根是完整的詞語,而葉節(jié)點(diǎn)是分拆后的詞,除此之外的節(jié)點(diǎn)是結(jié)構(gòu)上的信息,這些信息是依照規(guī)定的語言法則所組成的,所以也叫作詞內(nèi)結(jié)構(gòu)。將符合規(guī)則定義的詞叫作邏輯詞,邏輯詞利用樹形結(jié)構(gòu)來表達(dá),分詞結(jié)果會根據(jù)不同的規(guī)則產(chǎn)生變化。比如“2010年1月1日”,2010年1月1 日,它是隸屬于詞類的日期,當(dāng)使用第一種分詞方式, 結(jié)果是“2010年”、“1月”、“1日”, 一共分割成了三個部分; 當(dāng)使用第二種分詞方式,分詞結(jié)果是“2010”、“年”、“1”、“月”、“1”、“日”, 一共分割成了六個部分。而CTBL中最核心的是如何更好地學(xué)習(xí)這些規(guī)則,可以對詞進(jìn)行更為有效的分割。
CTBL會依據(jù)有差異的模板得到不相同的規(guī)則,有兩種變換的規(guī)則,一種是用來分析詞語的構(gòu)成信息,一種是變換詞條的規(guī)則,主要是用來處理詞例化的信息。
在CTBL中通常是經(jīng)過以下幾步來完成分詞的:首先,先使用常規(guī)的方法對原有的句子進(jìn)行預(yù)分詞,比如正向匹配算法,得到一個初步的結(jié)果,這個結(jié)果里包含著邏輯詞的列表,雖然結(jié)果并不精確,但是這為后面的工作打下一個良好的基礎(chǔ);第二步將句子中出現(xiàn)的詞進(jìn)行標(biāo)引,然后使用CTBL方法學(xué)習(xí)相關(guān)的規(guī)則,其中就包括上述的兩種規(guī)則,最后利用規(guī)則在實際句子上進(jìn)行分詞處理,得出分詞的結(jié)果。對于專利文獻(xiàn)這種較有規(guī)則的文字描述,CBTL可以有較好的效果。
專利文獻(xiàn)分詞中對專業(yè)術(shù)語的判斷是一個難點(diǎn),而根據(jù)上下文來判斷一個詞是否是專業(yè)名詞是一種方法,條件隨機(jī)場方法可以有效地應(yīng)用于此。
條件隨機(jī)場模型是一種從統(tǒng)計序列標(biāo)注與分割的方法所衍生出來的方法,其本質(zhì)是一種從已知節(jié)點(diǎn)及條件中,得到結(jié)果節(jié)點(diǎn)的條件概率的無向圖的模型[5];它比隱馬爾可夫模型(Hidden Markov Model) ( L.R.Rabiner.1989)方便的是,沒有其嚴(yán)謹(jǐn)?shù)莫?dú)立條件,其也避免了最大熵馬爾可夫模型(Maximum Entropy Markov Model, MEMM) (Andrew McCallum, 2000)所特有的“標(biāo)記偏置”[6](label-bias)(John Lafferty, 2001)的缺點(diǎn)。
CRF 是一種基于無向圖的模型,鏈?zhǔn)紺RF是最符合中文分詞特點(diǎn)的模型,其中的每個節(jié)點(diǎn)形成了鏈?zhǔn)降姆植?,所有的?jié)點(diǎn)在無向圖中形成了一個鏈,在此條件隨機(jī)場中,包括當(dāng)前標(biāo)記yi、前一個標(biāo)記yi-1和包含觀察序列x 的任何子集的最大連通子圖。
隨機(jī)變量X = { X1, …, Xn}表示需要觀測的序列;隨機(jī)變量Y = { Y1, Y2, …, Yn} 表示觀測序列對應(yīng)的狀態(tài)序列,隨機(jī)變量Y 的概率分布為:
Z(x) 是歸一化函數(shù)。
對于X來說, 要做的就是搜索概率最大的Y*
CRF可以將當(dāng)前詞的前n個詞以及后m個詞作為相關(guān)的信息,如此可以更準(zhǔn)確地分析當(dāng)前詞的詞性,前后相關(guān)可以提高分詞的成功率,我們在此假設(shè)當(dāng)前詞和其前2個詞和后兩個詞相關(guān),假設(shè)的特征模板如下:
(1) Kn(n=-2,-1,0,1 ,2)
(2) KnKn+1(n=-2,-1,0,1,2)
(3) Pu(K0)
(4) T(K-2)T(K-1)T(K0)T(K1)T(K2)
Kn代表著詞語序列,n是詞在序列中的位置,例如“北京大學(xué)在中國的首都”,假設(shè)目前的處理字符“中”,則K0是“中”,而K1則表示的是“國”, K-1則代表的是“在”,同理,K2則表示的是“的”。Pu(C0)是代表標(biāo)點(diǎn)符號(如逗號、感嘆號等)的特征;T(Kn)是代表實體名稱的特征,例如所有和數(shù)字有關(guān)的詞語。
分詞技術(shù)的實用度主要是由兩個方面決定的,一個是詞的歧義的處理,另外一個是未記錄在詞典中的詞的分辨。
關(guān)于歧義問題,條件隨機(jī)場方法主要是依靠當(dāng)前詞的相關(guān)信息來進(jìn)行判斷,比如前n個詞以及后m個詞,“福建省長”的切分,由于“福建”和“省長”都是已經(jīng)登錄的詞,如果按照詞典分割,就會分成“福建”和“省長”,而條件隨機(jī)場模型就會在上下文中對這個詞的出現(xiàn)頻次進(jìn)行統(tǒng)計,比如“福建省長”后面有反復(fù)出現(xiàn)了10次,而“福建省”并沒有單獨(dú)出現(xiàn)過,則說明應(yīng)該切割為“福建省長”。
而未記錄在詞典中的詞的分辨,則可以根據(jù)Cn-1和Cn + 1很好地進(jìn)行捕獲統(tǒng)計,比如“美國總統(tǒng)奧巴馬”,可以根據(jù)上下文中“奧巴馬”總是和“總統(tǒng)”一詞一起出現(xiàn),其不是在前就是在后,說明“奧巴馬”和“總統(tǒng)”存在著一定的聯(lián)系,“奧巴馬”是一個不可分割的詞。
期望最大值(EM,Expectation Maximization)是Dempster、Laind、Rubin 于1977 年提出的求參數(shù)極大似然估計的一種方法,是一種非常簡單實用的學(xué)習(xí)算法,這種方法可以廣泛地應(yīng)用于處理缺損數(shù)據(jù)、截尾數(shù)據(jù)、帶有討厭數(shù)據(jù)等所謂的不完全數(shù)據(jù)(incomplete data),其在專利文獻(xiàn)分詞上也有應(yīng)用。
EM算法在分詞上的應(yīng)用是以統(tǒng)計為基礎(chǔ)的,它是根據(jù)詞的出現(xiàn)頻度來構(gòu)建漢語分詞的概率模型。有以下假設(shè):
(1)長度有限,句子是由有限個詞所組成的;
(2)所有的詞都有一個出現(xiàn)幾率;
(3)所有的詞都是獨(dú)立的,多個詞一起出現(xiàn)的幾率只和自己的出現(xiàn)幾率有關(guān)。
依據(jù)極大似然原則[7],把一條語句切割成詞語K1, K2, …, Kn,必須使Πp (Ki)最大,使詞Ki的出現(xiàn)概率是p (Ki)。比如,把句子J1J2J3(其中Cj代表一個漢字,以下同) 切割為詞K1K2…Km(Ki代表一個詞),一共有四種切分的可能,其中切割2具備最高的可能性。根據(jù)極大似然原則,假如已知二元組集{ Ki,p (Ki) },就能對文本進(jìn)行處理。
表1 極大似然原則實例
EM理論通過以下四步算出詞的出現(xiàn)概率p (Ki):
(1)先隨機(jī)設(shè)置一個詞的出現(xiàn)幾率;
(2)利用該幾率對數(shù)據(jù)庫中的語句進(jìn)行分詞;
(3)得到初步結(jié)果,并根據(jù)結(jié)果再次計算詞的出現(xiàn)幾率;
(4)反復(fù)執(zhí)行這個過程,以幾率值的收斂為結(jié)束標(biāo)志。
在專利文獻(xiàn)分詞中,EM算法的具體步驟如下[8]:
(1) 對所有未進(jìn)行切割的句子做以下處理:
1)根據(jù)當(dāng)前詞的初始幾率值計算每種切割的可能性的值;
2)將各種切割的可能性進(jìn)行處理,使其所有的值相加結(jié)果為1;
3)將每種切割進(jìn)行統(tǒng)計,統(tǒng)計詞的總數(shù),將第二步的結(jié)果加到詞的總數(shù)上。
(2)根據(jù)詞的數(shù)量來重新設(shè)置詞的出現(xiàn)幾率。
(3)反復(fù)這個運(yùn)算,直到詞的幾率值收斂。
本算法的復(fù)雜性的O( MLT) ,其中M 代表的是單詞的最大長度,L 是迭代的次數(shù)(一般是3到10次) ,T 是數(shù)據(jù)庫的大小。
由于專利文獻(xiàn)的撰寫人都具有一定的語言水平,且專利文獻(xiàn)必須描述清楚才能使專利獲得保護(hù),所以專利文獻(xiàn)的用語比較少出現(xiàn)歧義,本次試驗將正確切分結(jié)果的詞語放到詞典中,假如各種方法對句子切割結(jié)果的詞出現(xiàn)在詞典中,則算成功適配,反之,算適配失敗。
實驗結(jié)果是采用通用的分詞評比標(biāo)準(zhǔn),即:準(zhǔn)確率(P)、召回率(R)和F值。各指標(biāo)定義如下:
切分準(zhǔn)確率(Precision) = (正確切分的數(shù)量/總的切分?jǐn)?shù)量)×100%
召回率(Recall) = (正確切分的數(shù)量/測試集中實有切分的數(shù)量)×100%
F 值(Fscore) = (2×切分準(zhǔn)確率×召回率)/(切分準(zhǔn)確率+召回率)
通過在一個10M字節(jié)的專利信息庫上進(jìn)行測試,表2是三種算法的測試結(jié)果,表明三種算法都有不錯的效果,但CTBL算法具有較高的適應(yīng)性。
表2 三種算法的結(jié)果
本文重點(diǎn)介紹了CTBL、CRF、EM分詞算法在專利文獻(xiàn)分詞中的運(yùn)用,實際效果都不錯,其中CTBL分詞算法具有較高的適應(yīng)性,未來的研究方向應(yīng)該將各種分詞算法的優(yōu)點(diǎn)結(jié)合在一起,形成有更高精度的分詞算法。
[1] 陳燕,黃迎燕,方建國. 專利信息采集與分析[M]. 北京:清華大學(xué)出版社, 2006.
[2] 趙鐵軍,呂雅娟,于浩,楊沐昀,劉芳. 提高漢語自動分詞精度的多步處理策略[J],中文信息學(xué)報,2001,15(1):13-18.
[3] 黃昌寧,趙海.中文分詞十年回顧[J],中文信息學(xué)報,2007,21(3):8-20.
[4] 夏新松,肖建國.一種新的錯誤驅(qū)動學(xué)習(xí)方法在中文分詞中的應(yīng)用[J]. 計算機(jī)科學(xué),2006,33(3): 160-164.
[5] 遲呈英,于長遠(yuǎn),戰(zhàn)學(xué)剛.基于條件隨機(jī)場的中文分詞方法[J],情報雜志,2008,(5):79-81.
[6] John Lafferty , Andrew McCallum , Fernando Pereira. Conditional Random Fields : Probabilistic Models for Segmenting and Labeling SequenceData [M] ,2001 :282 – 289.
[7] Xianping Ge ,Wanda Pratt ,Padhraic Smyth. Discovering Chinese words from unsegmented text. SIGIR’99 (Proceedings on the 22ndAnnual International ACMSIGIR Conference on Research and Development in Information Retrieval ,August 15-19 1999 ,Berkeley CA USA) :217-272.
[8] 李家福,張亞非.基于EM算法的漢語自動分詞方法[J]. 情報學(xué)報,2002,21(3):269-272.
基金項目:2010年福建省科技計劃重點(diǎn)項目“基于SVM-INE的企業(yè)專利地圖生成與輔助決策支持系統(tǒng)”(編號:2010H0014)。