宋立峰
?
中文分詞算法在專利文獻中的應用研究*
宋立峰
福建省知識產權信息公共服務中心
介紹了專利文獻中中文分詞的基本方法,主要分析了基于詞類的錯誤驅動學習方法、條件隨機場方法、期望最大值方法在分詞方面的應用,并進行了對比實驗。
專利文獻 中文 分詞
專利文獻包含全世界科學技術信息內容的90%[1],其中不僅包含技術也包括法律和經濟信息,除了某些需要保密的領域,如軍工行業,專利文獻涉及了絕大部分工程技術領域,如果能有效利用這些信息,就可以避免重復研發,減少開發時間,降低開發成本,也可以有效防止侵犯他人合法權益,降低企業風險。
怎樣才能高效地利用海量專利文獻信息,從這些信息中查找到需要的資料,解決這個問題的關鍵是對專利文獻進行精確快速的檢索,而進行檢索的最重要一步是對海量專利文獻進行索引,沒有索引就無法快速精確地檢索到需要的信息,索引的基礎則是對文獻進行分詞,分詞的質量決定了索引的質量,一種好的分詞方法可以大幅提高文獻的查準率。中文分詞有兩塊難點,一個是分詞的歧義,一個是未收錄詞的判斷[2],專利文獻的用詞,有其自己的特點,存在著大量未收錄的專業術語,而歧義詞語僅占很小的一部分,在分詞的時候必須重點考慮專業術語的切分,因為其對整體性能的影響是歧義影響的5倍[3]。下節將重點描述這方面的內容。
我們首先需要研究專利文獻的用詞特點,通過了解掌握這些特點,可以利用這些規律,更好地進行分詞處理,提升分詞效率。專利文獻用詞有以下幾個特點:
2.1 具有專利文獻特點的一些相對高頻的詞語,比如“本發明”、“特征”、“方法”、“一種”等,大部分的專利都會涉及這些詞語。
2.2 由于多數專利文獻帶有很強的專業性,有大量未登錄在詞典的詞語,比如“二十二碳六烯酸”、“星地應答機”等技術詞匯,很難進行正確的分詞,這點很難解決。
2.3 專利文獻中為了表達一種復雜的功能或儀器,往往帶有多個定語,比如“雙測向多臂井徑測量儀器”、“高精度非垂直截面可旋轉測量儀器”等等,這給我們分詞帶來了一定的困難。
2.4 專利文獻中為了描述清楚功能,一些專利文獻中會反復出現一些特定的詞語,如“一種星載計算機軟件的在軌更新方法”反復提到了“星務”這個詞,這個詞在分詞詞典里是沒有的,而我們可以通過統計的方法將它作為分詞標記。
現有的關于中文分詞的技術主要是有兩大類,一種是利用海量詞典進行分詞,另一種則是利用統計進行分詞。詞典分詞的原理是將N個連續漢字與詞典里的詞語進行適配,取其最長的適配詞,拿“計算機的基本原理”來講,“計算”是一個詞,“計算機”也是一個詞,分詞的時候取長度較長的“計算機”,而不會取“計算”、“機”兩個詞;最基礎的詞典分詞方法有正向匹配算法和逆向匹配算法,它們分別是從句子的頭和尾進行匹配,其結果基本一致,略有不同,詞典分詞的準確率較高,分詞的質量由詞典收納詞的豐富程度決定,其不具備對未知詞語的判斷能力。統計分詞可以對文獻中反復出現的詞語進行識別,特別是對于專利文獻,其最核心的詞必然比其他詞出現的頻率高,但是出現頻率高的詞卻不一定是核心的詞,比如“可以”、“用于”等等,這些詞是常用的連接詞,出現的頻率很高,但卻和文獻的主體意思沒有關系,如果這些詞過于頻繁出現會降低統計的效率。
實驗證明,單純的詞典法或是統計法對專利文獻分詞并沒有很好的效果,我們將對基于詞類錯誤驅動學習方法(CTBL)、條件隨機場方法(CRF)、期望最大值方法(EM)等3種分詞方法在專利文獻中的應用展開研究。
錯誤驅動學習方法(TBL)是一種符號式的機器學習方法,在許多語言應用場景中都有很廣泛的應用,例如詞語的分類等,Palmer還將其應用到了漢語的分詞中,實際效果也表明,TBL在分詞應用中可以有很好的功效,也可以和其他的分詞系統配合使用。
由于規則模板減少了TBL方法需要檢索的轉換規則的時間,所以,尋找適合的規則模板是十分關鍵的,通過對比,單純運用詞例化模板的TBL分詞系統,其準確率一般不超過90%,而這個水平距離優秀的要求還有一定的距離,此外,由數據稀疏導致的過學習缺陷,也一直困擾著TBL方法,因此將語法以及詞法信息融合到TBL方法中去,可以一定程度上提高分詞的性能,CTBL方法(基于詞類)就是如此誕生的,該方法可以使分詞的學習規律更快更準確[4]。
首先,把詞分為四大類:(1)已知收錄詞,包含所有已經收錄在詞典中的詞;(2)特定名稱詞,比如地名、人名等;(3)數字名詞,時間、數量等詞;(4)派生詞,重疊詞(形形色色)等詞。
所有的詞都可以看成是一棵樹,樹的根是完整的詞語,而葉節點是分拆后的詞,除此之外的節點是結構上的信息,這些信息是依照規定的語言法則所組成的,所以也叫作詞內結構。將符合規則定義的詞叫作邏輯詞,邏輯詞利用樹形結構來表達,分詞結果會根據不同的規則產生變化。比如“2010年1月1日”,2010年1月1 日,它是隸屬于詞類的日期,當使用第一種分詞方式, 結果是“2010年”、“1月”、“1日”, 一共分割成了三個部分; 當使用第二種分詞方式,分詞結果是“2010”、“年”、“1”、“月”、“1”、“日”, 一共分割成了六個部分。而CTBL中最核心的是如何更好地學習這些規則,可以對詞進行更為有效的分割。
CTBL會依據有差異的模板得到不相同的規則,有兩種變換的規則,一種是用來分析詞語的構成信息,一種是變換詞條的規則,主要是用來處理詞例化的信息。
在CTBL中通常是經過以下幾步來完成分詞的:首先,先使用常規的方法對原有的句子進行預分詞,比如正向匹配算法,得到一個初步的結果,這個結果里包含著邏輯詞的列表,雖然結果并不精確,但是這為后面的工作打下一個良好的基礎;第二步將句子中出現的詞進行標引,然后使用CTBL方法學習相關的規則,其中就包括上述的兩種規則,最后利用規則在實際句子上進行分詞處理,得出分詞的結果。對于專利文獻這種較有規則的文字描述,CBTL可以有較好的效果。
專利文獻分詞中對專業術語的判斷是一個難點,而根據上下文來判斷一個詞是否是專業名詞是一種方法,條件隨機場方法可以有效地應用于此。
條件隨機場模型是一種從統計序列標注與分割的方法所衍生出來的方法,其本質是一種從已知節點及條件中,得到結果節點的條件概率的無向圖的模型[5];它比隱馬爾可夫模型(Hidden Markov Model) ( L.R.Rabiner.1989)方便的是,沒有其嚴謹的獨立條件,其也避免了最大熵馬爾可夫模型(Maximum Entropy Markov Model, MEMM) (Andrew McCallum, 2000)所特有的“標記偏置”[6](label-bias)(John Lafferty, 2001)的缺點。
CRF 是一種基于無向圖的模型,鏈式CRF是最符合中文分詞特點的模型,其中的每個節點形成了鏈式的分布,所有的節點在無向圖中形成了一個鏈,在此條件隨機場中,包括當前標記yi、前一個標記yi-1和包含觀察序列x 的任何子集的最大連通子圖。
隨機變量X = { X1, …, Xn}表示需要觀測的序列;隨機變量Y = { Y1, Y2, …, Yn} 表示觀測序列對應的狀態序列,隨機變量Y 的概率分布為:

Z(x) 是歸一化函數。

對于X來說, 要做的就是搜索概率最大的Y*

CRF可以將當前詞的前n個詞以及后m個詞作為相關的信息,如此可以更準確地分析當前詞的詞性,前后相關可以提高分詞的成功率,我們在此假設當前詞和其前2個詞和后兩個詞相關,假設的特征模板如下:
(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是詞在序列中的位置,例如“北京大學在中國的首都”,假設目前的處理字符“中”,則K0是“中”,而K1則表示的是“國”, K-1則代表的是“在”,同理,K2則表示的是“的”。Pu(C0)是代表標點符號(如逗號、感嘆號等)的特征;T(Kn)是代表實體名稱的特征,例如所有和數字有關的詞語。
分詞技術的實用度主要是由兩個方面決定的,一個是詞的歧義的處理,另外一個是未記錄在詞典中的詞的分辨。
關于歧義問題,條件隨機場方法主要是依靠當前詞的相關信息來進行判斷,比如前n個詞以及后m個詞,“福建省長”的切分,由于“福建”和“省長”都是已經登錄的詞,如果按照詞典分割,就會分成“福建”和“省長”,而條件隨機場模型就會在上下文中對這個詞的出現頻次進行統計,比如“福建省長”后面有反復出現了10次,而“福建省”并沒有單獨出現過,則說明應該切割為“福建省長”。
而未記錄在詞典中的詞的分辨,則可以根據Cn-1和Cn + 1很好地進行捕獲統計,比如“美國總統奧巴馬”,可以根據上下文中“奧巴馬”總是和“總統”一詞一起出現,其不是在前就是在后,說明“奧巴馬”和“總統”存在著一定的聯系,“奧巴馬”是一個不可分割的詞。
期望最大值(EM,Expectation Maximization)是Dempster、Laind、Rubin 于1977 年提出的求參數極大似然估計的一種方法,是一種非常簡單實用的學習算法,這種方法可以廣泛地應用于處理缺損數據、截尾數據、帶有討厭數據等所謂的不完全數據(incomplete data),其在專利文獻分詞上也有應用。
EM算法在分詞上的應用是以統計為基礎的,它是根據詞的出現頻度來構建漢語分詞的概率模型。有以下假設:
(1)長度有限,句子是由有限個詞所組成的;
(2)所有的詞都有一個出現幾率;
(3)所有的詞都是獨立的,多個詞一起出現的幾率只和自己的出現幾率有關。
依據極大似然原則[7],把一條語句切割成詞語K1, K2, …, Kn,必須使Πp (Ki)最大,使詞Ki的出現概率是p (Ki)。比如,把句子J1J2J3(其中Cj代表一個漢字,以下同) 切割為詞K1K2…Km(Ki代表一個詞),一共有四種切分的可能,其中切割2具備最高的可能性。根據極大似然原則,假如已知二元組集{ Ki,p (Ki) },就能對文本進行處理。

表1 極大似然原則實例
EM理論通過以下四步算出詞的出現概率p (Ki):
(1)先隨機設置一個詞的出現幾率;
(2)利用該幾率對數據庫中的語句進行分詞;
(3)得到初步結果,并根據結果再次計算詞的出現幾率;
(4)反復執行這個過程,以幾率值的收斂為結束標志。
在專利文獻分詞中,EM算法的具體步驟如下[8]:
(1) 對所有未進行切割的句子做以下處理:
1)根據當前詞的初始幾率值計算每種切割的可能性的值;
2)將各種切割的可能性進行處理,使其所有的值相加結果為1;
3)將每種切割進行統計,統計詞的總數,將第二步的結果加到詞的總數上。
(2)根據詞的數量來重新設置詞的出現幾率。
(3)反復這個運算,直到詞的幾率值收斂。
本算法的復雜性的O( MLT) ,其中M 代表的是單詞的最大長度,L 是迭代的次數(一般是3到10次) ,T 是數據庫的大小。
由于專利文獻的撰寫人都具有一定的語言水平,且專利文獻必須描述清楚才能使專利獲得保護,所以專利文獻的用語比較少出現歧義,本次試驗將正確切分結果的詞語放到詞典中,假如各種方法對句子切割結果的詞出現在詞典中,則算成功適配,反之,算適配失敗。
實驗結果是采用通用的分詞評比標準,即:準確率(P)、召回率(R)和F值。各指標定義如下:
切分準確率(Precision) = (正確切分的數量/總的切分數量)×100%
召回率(Recall) = (正確切分的數量/測試集中實有切分的數量)×100%
F 值(Fscore) = (2×切分準確率×召回率)/(切分準確率+召回率)
通過在一個10M字節的專利信息庫上進行測試,表2是三種算法的測試結果,表明三種算法都有不錯的效果,但CTBL算法具有較高的適應性。

表2 三種算法的結果
本文重點介紹了CTBL、CRF、EM分詞算法在專利文獻分詞中的運用,實際效果都不錯,其中CTBL分詞算法具有較高的適應性,未來的研究方向應該將各種分詞算法的優點結合在一起,形成有更高精度的分詞算法。
[1] 陳燕,黃迎燕,方建國. 專利信息采集與分析[M]. 北京:清華大學出版社, 2006.
[2] 趙鐵軍,呂雅娟,于浩,楊沐昀,劉芳. 提高漢語自動分詞精度的多步處理策略[J],中文信息學報,2001,15(1):13-18.
[3] 黃昌寧,趙海.中文分詞十年回顧[J],中文信息學報,2007,21(3):8-20.
[4] 夏新松,肖建國.一種新的錯誤驅動學習方法在中文分詞中的應用[J]. 計算機科學,2006,33(3): 160-164.
[5] 遲呈英,于長遠,戰學剛.基于條件隨機場的中文分詞方法[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]. 情報學報,2002,21(3):269-272.
基金項目:2010年福建省科技計劃重點項目“基于SVM-INE的企業專利地圖生成與輔助決策支持系統”(編號:2010H0014)。