吳宏洲


摘 要:一種無需語料庫和復雜數學模型支持的抽取新詞最簡方法。通過掃描文獻文字流,消除停用字詞,切分單元子句,對子句枚舉可能的候選詞條,統計候選詞條頻度,計算長短包含關系候選詞之間的置信度值,只須依據大于90%的值來消除短詞,得到候選關鍵詞,再經過已有詞庫過濾,留下新詞。該方法可作為信息加工的輔助工具。
關鍵詞:停用詞;候選分詞;置信度;抽取新詞
中圖分類號:TP391.1 文獻標識碼:A
A Quick Word Segmentation Technology Research and Application
——the Method of Extracting New Word
WU Hongzhou
(The China Patent Information Center,Beijing 100088,China)
Abstract:A complicated mathematical model without corpus and support the minimalist approach the extraction of words.By scanning the literature text flow,eliminate stop using words,segmentation unit clause,for other enumeration possible candidates for entry,the statistical frequency of candidate items,calculate length of confidence value contains the relationship between the candidate words,simply on the basis of more than 90% of the value to eliminate the short term,to get the candidate keywords,repass existing thesaurus filtering,new words.This method can be used as an auxiliary tool to information processing.
Keywords:stop words;the candidate segmentation;confidence;extraction of new words
1 引言(Introduction)
在專利信息技術中,專利文獻信息檢索、機器翻譯、專利輔助自動文摘和CPC/IPC自動分類,都會用到一個基本的技術——分詞技術。所謂分詞,就是利用已有詞庫的詞,來切分文章中的詞的過程[1,4]。隨著大量文獻的不斷引入,已有詞庫永遠不能滿足實際所需。更新分詞庫,是一項必要工作。如果完全由人工來處理新詞,經過一系列抽取、標引、審校和入庫流程,當實際需要處理的量遠遠超過人的能力時,那么準確性和效率就會成為一個問題。那么這就涉及另外一項自動化技術,抽取新詞的技術。抽詞技術目前已經非常成熟,方法也比較多。比較成熟的產品技術,通過語料庫、訓練集和復雜的數學模型及其昂貴的資源代價,來獲得高質量的效果。其效果與語料庫或知識庫收集的量有很大的關系。量越大越容易精確。在專利信息領域中,完全依賴知識庫的方法,對于那些改進性的發明,還能起作用。但是對于那些強調首創性的發明,彼此之間相似性就很少,算法再高明,也可能收效甚微。本文因受N-gram啟發[2],借鑒置信度消除歧義詞[3],一個幾乎被淡忘的陳舊方法,經過簡單優化,以最小代價來解決文獻領域面向新詞的抽取繁重工作帶來的問題,效果非常顯著。
2 抽詞技術的現狀(The extracting words
technology)
目前抽詞技術主要有四類,基于詞庫的、規則的、統計的和格式化文檔的抽詞法。
2.1 基于詞庫的關鍵詞抽取法
這種方法主要利用已有詞庫來抽取關鍵詞,和詞典分詞法大致類同。和最大分詞不同,需要枚舉所有長短可能的詞,這些詞都是詞庫已有的詞。不能識別未登錄詞。通常檢索短語用的就是這類方法。
2.2 基于規則的關鍵詞抽取法
利用句法或語義分析,借助句法知識庫、語義知識庫等資源,抽取出文件中的名詞詞素,以名詞素為中心,向前向后擴展新詞。利用句法或語義分析,借助句法知識庫、語義知識庫等資源,抽取出文件中的名詞詞素,運用一些方法與準則,過濾掉不符合規則的詞素。經過這樣的處理之后,得到的結果幾乎都是有意義的名詞或名詞短語。對于面向英文的處理,這種做法已經取得了非常好的效果。通常機器翻譯用的就是這類方法。
2.3 基于統計的關鍵詞抽取法
通過對文獻中詞頻統計和對派生出來的新詞的互信息來獲取新詞。統計方法細分還有幾種方法:N-gram方法、詞頻、TFIDF、詞的同現信息、PAT-Tree,或是上述某些統計方法的結合等。通常自動文摘、自動分類、自動標引等會用到這類中的一些方法。自動文摘、自動分類常用TFIDF方法來計算。抽取新詞常用N-gram與詞的同現信息計算。PAT-Tree和N-gram是抽詞常用的兩種方法。TFIDF、PAT-Tree需要語料信息和資源支持,計算概率和詞頻權重。N-gram不需要語料信息和資源,但計算量會較大。
2.4 基于格式化文檔的關鍵詞抽取法
利用一些排版規則、文檔結構化和格式化規律,將重要的字符串抽取出來。例如:專利文獻中的標題、文摘、權利要求書及其著錄項目、關鍵詞、同義詞等結構文檔;權利要求書中的語義樹形態的陳述形式。可以按照文獻結構格式化的規律,找到相應關鍵詞,按照出現的位置重要性賦予不同的權重,以期達到抽取關鍵詞的目的。即便是低頻詞,由于出現在非常重要位置上,因而也能將其從文獻中輕易地得到。例如:出現在發明專利標題中的每一個詞都非常重要,即便文摘中并未反復多次出現,但是其不同位置詞頻度與權重積之總和卻很高,那么也能構成關鍵詞要素。通常自動文摘、自動分類、自動標引等也會用到這類方法。
3 本文抽詞技術的實現(The realization of the
technology of the paper)
抽詞技術方法很多,考慮到經濟和實用因素,復雜的數學計算方法、需要大量歷史信息、語料庫、訓練集的支持,與主旨相悖,避開此類方法,尋求更簡單有效的方法。采用基于統計的方法,且僅限于對于一篇文獻進行處理。以常見的N-gram方法來枚舉候選詞。通過尋找候選詞間的包含關系,計算置信度的取值,來濾除掉不需要的候選詞。從而留下頻度較高的、可能性大的候選詞。關鍵詞就出自其中。借助已有分詞庫,再濾掉那些已有詞,最終得到的候選詞就是候選新詞。抽詞算法流程圖,如圖1所示。
3.1 停用詞處理
停用詞對于抽詞結果的影響比較大。選擇不同的停用詞集合,產生的候選詞也會不同。例如:“有”字被停用后,“有機...”等詞也被抑制。“和”字被停用后,“飽和...”等詞也被抑制。
通常建議提供停用詞庫客戶端個性化可調整方案,根據情況適度變換停用詞策略,會產生不同的新詞條和關鍵詞。變換停用詞應以能夠適應用戶需求和方便操作為前提,優先考慮解決方案。
停用詞庫的使用順序,也會對抽詞產生很大影響。例如:“有”對“具有”或“所有”的影響,如果最先使用短詞“有”,那么就會留下“具”或“所”與其他字詞組成“…具”或“…所”的候選新詞條,形成歧義詞條。
通常建議構造停用字詞庫,應按照{詞長[逆序],詞條[正序]}有序存放。亦即停用詞過濾按照長詞優先原則。避免停用詞因使用順序不當而帶來新的問題。
3.2 候選詞條枚舉
該方法借鑒N-gram算法[2],并受其啟發。首先要確定一個分詞可能的最大長度,即N取多少個漢字合適。考慮到化學、藥物、微生物等領域的技術術語可能會有大量長詞出現。因此,適當降低訪問效率,滿足分詞長度要求,也是可容忍的。通常認為一個長詞最長不超過15個漢字,就可以符合專利信息領域對關鍵詞的需求。N取15,這是分詞庫的一項重要參數定義。分詞至少由2個漢字組成,分詞庫不接收單字詞。為了闡述方便,以分詞最大長度取5為例。枚舉候選分詞,詳見表1。
算法:
//參數S句子;SL句子長度漢字數
CS=“ ”;
For(wl=2;wl<=min(SL,15);wl++){//最大分詞長度15,計算詞長從2到15或SL遞增
For(pos=0;pos CS←CS+substr(S,pos,wl)+“”;//抽取候選分詞 } } Output (CS);//結果 3.3 候選詞條統計 處理一篇文獻須對已生成候選詞條進行排序和頻度統計,形成候選詞條有序集。 3.4 歧義詞消除 定義:在候選詞條集ψ中,如果漢字結合模式ω1添加前綴pref或后綴suff后,構成漢字結合模式ω2,即ω2=ω1+suff或ω2=pref+ω1或ω2=pref+ω1+suff,那么模式ω2在文檔中的出現頻度Γ(ω2,s)與模式ω1在文檔中出現頻度Γ(ω1,s)之比稱為模式ω2相對于模式ω1的置信度Confidence(ω2|ω1)。Confidence(ω2|ω1)≈Γ(ω2,s)/Γ(ω1,s)。置信度反映模式ω1與前綴和或后綴結合的穩定性。即模式ω2構成詞條的可能性。如果置信度低于下限,則說明模式ω2構成詞條的可能性小,可以除去。如果置信度位于上限和下限之間,那么,模式ω1、ω2可以共存于候選分詞集中。在后綴情況下,如果置信度高于上限,則說明模式ω1基本被包含于模式ω2之中。按照最大匹配原則,ω1可以除去。實際使用中,某些專家將置信度區間定義為[0.30,0.90]作為上下區間,稱為置信度空間[3]。 抽取關鍵詞和或新詞條,消除其中歧義詞條的算法主要來源于三條規則: 規則1:Confidence(ω2|ω1)≤30%,ω2為詞條的可能性很小,ω2可以除去。 規則2:Confidence(ω2|ω1)∈(30%,90%),ω1和ω2都有可能。 規則3:Confidence(ω2|ω1)≥90%,ω1被ω2所包含,ω1則可以除去。 通常算法只考慮規則1和規則3的情況,作消歧處理。 規則1算法: … For(i=0;i w1←S[i]; Sel←true;//默認選中w1 If(w1.wf==0) continue;//由于第一條規則本身可能使w2.wf←0的情況發生,跳過 For(j=0;j If(j==i)continue;//是自己,跳過 w2←S[j]; If(w2.wf==0)continue;//由于第一條規則本身可能使w2.wf←0的情況發生,跳過 If(substr_at(w1.kw,w2.kw)>=0){//如果w2=前綴+w1+后綴;前后綴不同時為空 Confidence←w2.wf/w1.wf;//置信度≈f(w2)/f(w1),頻度比 If(Confidence)<0.10){//置信度低于下限,也可以取下限0.30 w2.wf←0;//w2視為不存在 S[j]←w2; continue;//看下一個w2 } } }
}
For(i=0;i If(w1.wf>1) { Output(S[i]);//輸出留下的詞條。 } } … 規則3算法: … For(i=0;i w1←S[i]; Sel←true;//默認選中w1 If(w1.wf==0) continue;//由于第一條規則可能使w1.wf←0的情況發生,跳過 For(j=0;j If(j==i) continue;//是自己,跳過 W2←S[j]; If(substr_at(w1.kw,w2.kw)>=0){//如果w2=前綴+w1+后綴;前后綴不同時為空 Confidence←w2.wf/w1.wf;//置信度≈f(w2)/f(w1),頻度比 If(Confidence)>=0.90){//只要有一個W2,使得置信度超過上限, Select←false;//w1就被包含在w2中,w1可以視為不存在 Break; } } } If(select) { If(w1.wf > 1) { Output(w1);//輸出留下的詞條。 } } } … 3.5 普通詞濾除 對于候選詞條集,借助已有分詞庫,依次查看庫中該詞是否已存在?從候選詞條集中除去存在的詞條。留下來的可作為候選新詞條。 4 實驗效果(The experiment effect) 筆者經過實驗發現,僅規則3情況,當取Confidence (ω2|ω1)≥90%,濾掉ω1,就已經可以獲得非常不錯的效果。相反,按照規則1+3,當取Confidence(ω2|ω1)≤30%,消除ω2,再取Confidence(ω2|ω1)≥90%,濾掉ω1,效果反而更糟。甚至調整下限為10%,改變也不大。試驗樣本六個發明公開專利的“標題+文摘”, 詳見表2;不同規則下抽取的候選新詞條,詳見表3。 表2 試驗樣本6個發明公開專利的“標題+文摘” Tab.2 "Title+digest"of the 6 inventions of the test sample 專利 標題+文摘 1 2 3
4
5
6
限于篇幅,本文沒有列出候選關鍵詞和被去除的普通詞。通過比對兩種算法結果,采用規則1+3的抽取新詞結果,并不比僅采用規則3的效果好。從六組數據不難看出。采用規則3的算法來消除歧義詞,是一個最簡方法。與N-gram方法相結合,可以完成最簡單的抽詞工作。
5 結論(Conclusion)
抽詞技術作為計算機輔助工具來使用,為人們提供一種具有參考價值的信息,供人們選擇使用。本文所述抽詞方法是一種不依賴于歷史信息、語料庫,不需要訓練數據的方法。其優點是:能識別高頻度未登錄詞;無需人工標引詞典,不需要花費大量資源收集語料庫。其缺點是計算量大;會抽取出意義不完整的字串,導致準確性差;不能識別低頻度關鍵詞。計算量受兩方面因素影響:(1)隨著N-gram的長度N增大,計算效率會下降。(2)連續漢字串長句式增多,計算效率也會下降。如果句子經過停用詞處理已經足夠細碎,或者N-gram的長度N不很大,計算效率還是可控的。
本文通過抽詞實驗,實現并驗證了一種對文獻進行快速抽取關鍵詞和新詞的最簡單有效的方法。
參考文獻(References)
[1] 莊新妍.計算機中文分詞技術的應用[J].呼倫貝爾學院學報,2010(03):70-74.
[2] 金翔宇,孫正興,張福炎.一種中文文檔的非受限無詞典抽詞方法[J].中文信息學報,2001(06):33-39.
[3] 黃云峰.計算機中文分詞技術及其在數字化偵查中的應用研究[J].福建警察學院學報,2008(04):28-31.
[4] 李淑英.中文分詞技術[J].科技信息(科學教研),2007(36):95.