1. 程式人生 > >基於詞表和N-gram演算法的新詞識別實驗

基於詞表和N-gram演算法的新詞識別實驗

曹  豔  杜慧平  劉  竟  侯漢清

(南京農業大學資訊管理系  210095)

摘  要  目前未登入詞問題仍然很大程度上影響著自動標引和資訊檢索的效率。本文提出了一種選擇期刊論文的題名和摘要作為訓練語料,利用N-gram演算法切分和停用詞典等過濾篩選非專名的新詞識別方法。該方法主要分為兩步:先進行N元切分,儲存關鍵詞候選集並統計詞頻;然後進行一系列的過濾,主要有詞頻閾值限定、前停後停詞典過濾、相鄰詞比較、子父串比較、抽詞詞典和過濾詞典的過濾,最後進行人工判別。對實驗結果的測評表明這一方法是簡便易行的。訓練語料可以不用全文,只用題名和摘要;在新詞識別上,摘要可以代替題名。

關鍵詞  N-gram演算法  未登入詞  新詞識別  停用詞典  過濾詞典

1 引言

隨著社會的飛速發展,大量新詞語不斷湧現。其中,有中文人名、地名、產品名、機構名、外國譯名、時間詞等專有名詞,“一次性用品”等派生詞,“八榮八恥”、“買單”、 “秀”、“APEC”等簡稱、方言詞語、行業用詞、音譯詞、外來字母詞、港臺用詞及其他與領域相關的術語,這些詞語為未登入詞或新詞。

目前,大多數檢索系統都是基於模式匹配的,這都需要多個詞典作為匹配規則庫,所以詞典的規模和更新完善情況在很大程度上影響標引和檢索的質量。漢語分詞是中文資訊處理的基礎,在漢語分詞方法裡,簡單的模式匹配演算法、基於規則的方法和基於統計的方法,大部分都需要利用詞典進行匹配,但這些詞典覆蓋率有限,而且對具體的應用領域變化的適應性較差,所以要及時補充新詞、更新詞典。另外,語法分析、主題詞表的更新、自動標引和自動分類中分類知識庫的完善都需要及時發現新詞,這些僅靠人工識別無論在速度上、時間上還是在數量上都是遠遠不夠的,因此需要計算機自動去發現新詞。

國內現階段對未登入詞的研究主要集中在專有名詞識別上,如利用隱馬爾可夫模型(如HMM Tool)、角色定義、語料庫訓練等1方法識別中外人名和地名,一般都利用對語料庫的學習,提出專用字的規律和統計資料進行未登入詞的識別。但是在真實文字中,非專名的未登入詞佔了相當大的比例2。在非專名問題上,中科院計算所3利用大規模網頁作為語料庫進行重複串查詢,在建立的背景詞串集合基礎上,通過評價函式、過濾規則庫處理得到新詞。劉建舟、何婷婷等4提出一種定期從網路上自動下載HTML頁面組成動態語料庫,採用統計的方法,並改進兩個傳統引數(互資訊和log-likelihood ratio)進行新詞識別。這些方法大部分是基於Web的,雖然能夠及時發現數量比較多的新詞,但也存在諸多不足之處,第一,web上內容的真實性本身就是一個值得討論的問題,重複的網頁比較多(為了提高排名,人為重複引用);第二,web頁面內容(包括文字、圖片等)用詞沒有經過規範,隨意性非常大,這些嚴重影響著提取出的新詞質量;三是都用到了傳統的或改進的互資訊和log-likelihood ratio兩個引數或設定權值進行詞加權處理,計算量比較大而且複雜;第四,要求大規模網頁作為語料庫,對全文文字進行切分工作量非常龐大,處理時間長,很難付諸實際應用。

本文主要從資訊檢索的角度,提出了一種選擇期刊論文的題名和摘要作為訓練語料,利用N-gram演算法切分和停用詞典等過濾篩選的非專名新詞的識別方法。

2 N-gram演算法識別新詞的設計思路

2.1  訓練文字的選擇

本文使用的資料來源是上海圖書館全國報刊索引資料庫收錄的2004-2006年期刊論文MARC記錄,從中選擇經濟大類的1000條資料作為第一輪測試文字。主要是因為期刊品種多,內容豐富,發行快、流通面廣,連續性也強5,伴隨著期刊的發行,必出現大量的新詞;同時,期刊論文內容成熟可靠,格式也比較規範,通常作者會隨文給出摘要、關鍵詞、分類號、文獻標識號等,所以被學術界視為權威性的知識來源,從中提取的新詞具有可靠性和穩定性,經常被用於詞典編纂、漢語分詞、語法分析、自動標引和資訊檢索等方面。

本文沒有選擇期刊全文作為訓練文字,主要是考慮到N元切分本身時間複雜度就很高,全文切分工作量太大,處理時間太長。而一篇完整的論文都隨文提供題名、摘要。摘要是以提供文獻內容梗概為目的,擁有與文獻同等量的主要資訊。張琪玉6認為,如果從針對文獻整體的檢準率的角度看,文獻題名中的詞最有效,依次為文獻中的小標題和章節名、文獻摘要、文獻正文中的詞;文獻摘要對文獻整體而言,檢索效率大致與文獻中的小標題和章節名相當。在標引源權值設計上,侯漢清7將標題、摘要、正文的權值分別設為5、3、1。因此,為了提高識別演算法的速度和效率,本項研究選用期刊論文的摘要和題名部分作為訓練文字。

2.2  測試內容及實驗方法的特點

本實驗有兩項內容:一是測試本文演算法在提取新詞方面的功效如何;二是比較在提取新詞數量與質量方面,摘要能否代替題名。

本文新詞識別演算法的特點在於:①分學科進行。在過濾演算法中要選用對應學科的抽詞詞典,以減少人工判別的工作量;②動態的演算法。本演算法是一個不斷積累、準確率越來越高的過程,每次將篩選掉的過濾詞加入原有的過濾詞典,參加下一輪n元切分後的演算法過濾;③首次提出利用前停詞典、後停詞典篩選關鍵詞候選集的方法,同時加入特例詞典以減少因使用前停、後停詞典帶來的新詞被過濾的概率;④計算簡單、引數設定比較少,並且切分與過濾之間、各步過濾演算法之間可合併,也可拆分,可靈活選用其中的某一個或多個過濾演算法進行計算。另外,當對相同資料來源的切分結果(關鍵詞候選集及頻次)選用不同過濾演算法組合時不必再重複進行n-gram切分。

3 新詞識別的步驟(見圖1)

文字框: 新增
 

3.1  切詞

(1)訓練文字的選擇見前文,不贅述。

(2)對訓練文字作如下預處理:將資料來源表中題名、文摘欄位出現的諸如20010$a、□$a之類的識別符號替換成空串;將空格、回車符及標點替換為“/”。

(3)將預處理文字與停用詞典進行模式匹配,文字中含有停用詞的地方全部替換成切分標誌“/”。

(4)N元切分並統計詞頻。

利用停用詞、空格、回車換行符、標點等作為分詞標誌把長的文句拆分為句子片斷或子串,利用N-gram演算法對拆分後的片段進行切分,記錄候選關鍵詞及詞頻。

本實驗設定取詞長度最長為12。如題名“構建黑龍江省與俄羅斯遠東地區經貿合作H型產業模式”,由於“與”是停用詞,所以此題名被劃分為兩個子串(子串1——“構建黑龍江省”,子串2——“俄羅斯遠東地區經貿合作H型產業模式”),進行N元切分後,子串2的結果如下:

1元組:俄|羅|斯|遠|東|地|區|經|貿|合|作|H|型|產|業|模|式

2元組:俄羅|羅斯|斯遠|遠東|東地|地區|區經|經貿|貿合|合作|H型|型產|產業|業模|模式

……

12元組:俄羅斯遠東地區經貿合作H|羅斯遠東地區經貿合作H型|斯遠東地區經貿合作H型產|遠東地區經貿合作H型產業|東地區經貿合作H型產業模|地區經貿合作H型產業模式

3.2  過濾

1000條記錄訓練文字的題名(T)、摘要(A)、題名+摘要(T+A)分別被切分出42535、208637、234276個候選關鍵詞,各詞頻段的詞條數及所佔比率統計如下(表1):

表1  題名、摘要、題名+摘要的N元切分結果統計

Freq

N_gram

1(次)

2-10(次)

11-99(次)

>=100(次)

num

比率

num

比率

num

比率

num

比率

T

39061

91.833%

3277

7.704%

195

0.458%

2

0.005%

42535

A

183739

88.066%

23238

11.138%

1596

0.765%

64

0.031%

208637

T+A

200730

85.681%

31468

13.432%

1985

0.847%

93

0.040%

234276

表1表明,不論是摘要、題名,還是題名+摘要,切分出的候選關鍵詞條中頻次為1的數量非常大,佔90%左右。在資料來源夠大的情況下,N元切分後的詞條,詞頻越高則成詞的可能性越大,而一些低頻詞往往是錯切詞,可直接排除,以減少後繼各過濾演算法的資料量,提高執行速度。本文設定詞頻閾值r為2,即排除掉詞頻為1的詞條。

對剩下的10%左右的詞條進行以下一系列過濾:

3.2.1  基於前停詞典和後停詞典的規則過濾

在現代漢語構詞法中,“詞根+詞綴”構成的派生詞是合成詞構成的一種常見方式。詞綴是隻能粘附在詞根上構成新詞的語素,本身不能獨立構成詞,意義虛化且位置比較固定,只表示比較抽象的概括的意義。如“老師”、“刀子”中的“老”和“子”,意義非常虛,實際上已沒有意思,成為漢語詞語雙音節化的一種手段。只能粘附在詞根前面的詞綴稱為字首,粘附在詞根後面的詞綴稱為字尾。現代漢語中的字首有“初第老”等,字尾有“子們頭的著了過”等8

利用現代漢語的此語法規則,本實驗根據詞綴的位置不同和一些無意義的符號(如“□”)收集整理了只能放在詞首和詞尾的字和符號,建立了前停詞典、後停詞典、特例詞典。

前停詞典:該詞典中的字或符號一般出現在詞尾,很少出現在詞首。在分詞後的詞條中,若詞條的詞首為該詞典中的字或符號,則該詞條屬於錯切詞,應過濾掉,除非成詞,特例詞典中含有這一詞條。如“其”、“頭”、“子”都是字尾,一般很少出現在詞首,而“””是後引號,在詞首也沒意義,則n_gram表中出現的“頭角”、“子公”、“”旅遊”等詞條在此演算法中被過濾掉,而“子公司”成詞,因特例詞典中已收錄該詞,所以不被過濾。

 後停詞典與上相反,若某詞條的詞尾為該詞典中的字或符號,則該詞條屬於錯切詞,應被過濾掉,除非特例詞典中含有它。如“初”、“第”、“老”等,n_gram表中的“世紀初”、“為第”等詞條在此步驟被過濾掉,而“府第”成詞,因特例詞典中已收錄該詞,所以不會被過濾掉。

3.2.2  相鄰詞比較篩選

詞長(設詞長為N)相等,並且連續的N-1個字或字元相同,也即只有第一個詞條的首(尾)字或字元與第二個詞條的尾(首)字或字元)不同,其餘字或字元要全部相同,滿足這兩個條件的兩詞條互稱為相鄰詞。如前文2元組中“經貿”和“貿合”,這兩個詞條就互為相鄰詞。對切分後n_gram表中的詞條觀察統計發現,詞頻相同的兩個相鄰詞,大多都是語詞被截斷切開的詞條,沒有意義,而兩者中若是有某一個詞頻高,則其成詞的可能性高於另一個。因此設計瞭如下過濾演算法:如果兩個相鄰詞的詞頻相同,則兩詞均被過濾掉;若其中一個詞條的詞頻高於另一個,則保留詞頻高的詞條。如,在摘要的n_gram表中,“經貿”、“貿合”的詞頻分別為19、3,由於 “貿合”的詞頻低於“經貿”,因此“經貿”被保留,“貿合”被過濾掉。

3.2.3  子串、父串的比較9

子串是由父串中連續若干個字元組成的,表示在父串中的一個子集。子串、父串是相對來說的,如:“經貿合作”對“遠東地區經貿合作”是子串,後者是其父串;但對“經貿”來說,“經貿合作”又變成了父串,“經貿”是其子串。

顧名思義,子父串比較就是將一個子(父)串與其父(子)串比較過濾。本演算法中涉及兩個引數,一是父串與子串詞長間的相對值p(即父串長度與子串長度之差),第二個是父串與子串之間詞頻的相對值q(即子串詞頻與父串詞頻之差),這兩個引數可隨自己訓練文字的長度與實驗要求不同進行調整。

對於某一個詞條I的所有父串來說,當詞條I的詞頻與其父串詞頻之差大於q時,若父串與詞串I的詞長之差小於或等於p,則保留詞條I,而將其父串過濾掉;若詞串I的詞頻減去其父串詞頻的差不大於q時,則保留父串,過濾掉詞串I。而對於詞條I的所有子串來說,當其子串的詞頻減去詞條I的詞頻之差小於或等於q時,則將其子串過濾掉,保留詞條I;否則,要再進一步判斷詞條I與其子串的長度之差是否小於或等於p,若成立,則過濾掉詞條I,並保留其對應的父串。

例如: n_gram表中有以下幾個詞條:虛擬價值鏈-5,價值鏈-21,價值-103。對“價值鏈”來說,其父串是“虛擬價值鏈”,子串有“價值”。不考慮前面的各步過濾演算法,用此例來說明子父串比較演算法。對“價值鏈”來說,它與其父串“虛擬價值鏈”的詞頻之差為16,大於設定的q,同時詞長之差為2,小於等於設定的p,所以將其父串“虛擬價值鏈”過濾掉,而保留詞條“價值鏈”;對於其子串“價值”來說,它們的詞頻之差等於82,大於q,同時,它們的詞長之差為1,小於等於p也是成立的,所以此時將“價值鏈”過濾掉,而保留其子串“價值”。

3.2.4  用抽詞詞典進行過濾

抽詞詞典是比較規範化的、用於自動標引的主題詞表。它按照學科設定,因本實驗選取的是經濟大類的1000條記錄,過濾時要選用對應的經濟大類抽詞詞典,外加通用的地名錶。系統目標是發現新詞,所以要排除掉詞典中已經收錄的語詞。實驗中用的經濟類抽詞詞典的規模是14292個主題詞,經抽詞詞典過濾後,題名還剩候選新詞277個,摘要剩2073個。

3.2.5  用過濾詞典篩選

過濾詞典是每輪實驗資料經切分過濾後,再由人工判別,將過濾演算法中未篩掉的錯位切分、數字等無意義的詞串另作標記,後又將其提取出來加入原有的過濾詞典,因此說本實驗的過濾演算法是一個不斷積累、動態的過程。

3.2.6  人工判別新詞

人工判別的時候,將新詞、通用詞、過濾詞作不同的標記。本實驗選取的1000條經濟類記錄,從摘要提取新詞297個,從題名提取新詞33個。

4  實驗結果評測與分析

4.1  結果評測

在經過詞頻閾值限定、前停和後停篩選、相鄰詞比較、子父串比較、抽詞詞典過濾後,訓練文字中題名、摘要、題名+摘要N元切分出的詞條已分別過濾掉99.35%、99.01%、98.95%的噪聲,所以本實驗的過濾演算法自動去除了99%左右的無用詞條,極大地減少了人工判別的工作量。

同時,引入準確率P來衡量過濾效果,由於本文只是實驗性的訓練文字,初始過濾詞典幾乎為空,隨著切分文字的不斷更新、增多,過濾詞不斷增加,準確率P會越來越高。

準確率(P)=新詞個數/候選新詞個數

據此可計算題名的準確率P1=32/277=11.55%,摘要的準確率P2=297/2073=14.34%,題名+摘要的準確率P3=478/2450=19.51%。

4.2  結果分析

針對題名、摘要、題名+摘要識別出來的新詞進行比較分析,結果發現有以下幾個特點:

(1)比較前文計算出的P1 、P2 、P3可以看出,利用題名+摘要作為實驗資料新詞識別的效果最好,不僅能提取更多的新詞,而且準確率更高。

(2)題名中提取的新詞有很多是摘要中提取的新詞的子串(如表2)。

表2  題名與摘要中新詞的比較

題  名

摘  要

助學貸款制度

國家助學貸款制度

亞式期權定價

平均亞式期權定價

農村土地制度

農村土地制度改革

企業知識型員工

民營企業知識型員工

證券市場制度

中國證券市場制度變遷

(3)抽詞詞典的規模對新詞識別的影響。本文分別利用小型經濟類抽詞詞典(含14292個主題詞)、大型經濟類抽詞詞典(含149279個主題詞)分別對題名切分進行了實驗,結果如下:利用前者題名中能識別出新詞32個,利用後者識別出6個非專名未登入詞(中國-東盟自由貿易區、後配額時代、企業知識型員工、貨幣政策有效性、世界遺產地、亞式期權定價)。比較發現,前一種方法識別出的32個新詞中有26個是大型抽詞詞典中已有或相類似的,所以相應學科抽詞詞典的規模影響著新詞識別的數量。

(4)摘要中識別出的新詞比題名中識別出的新詞多,且摘要中識別出的新詞包含了題名中的新詞。在利用小型抽詞詞典時,摘要中識別出新詞297,而題名只有32個,其中只有3個詞(都市圈、後配額時代、工程量清單)是摘要中未提取出來的,其他29個是同於或類似於(見表2)摘要中識別出的新詞;利用大型抽詞詞典時,摘要中提取非專名未登入詞195,而題名只有6個,且全部出現在摘要新詞識別集合中。所以從摘要中提取的新詞比題名要多很多,只要對摘要進行切分過濾就可識別出大量的非專名未登入詞。

5 結語

本實驗試驗了一種簡單易行的、以期刊論文摘要作為語料識別非專名新詞的方法。實驗的結果表明演算法是可行的。現在本實驗中的演算法已成功地應用於經濟以外的其他學科,分別提取出不同數量的新詞。

實驗發現有些方面尚需改進。首先,測試文字資料量還需要擴大,以確定何種數量的訓練文字實驗效果最好。其次,抽詞詞典的規模、類別與運算速度、準確率之間的權衡。實驗中用小型抽詞詞典時,題名、摘要中分別識別出非專名新詞32個和297個,其中有很多是大型抽詞詞典中已列入的主題詞,這就在一定程度上增添了手工判別的數量,同時影響了過濾演算法的準確率;但是,在用大型抽詞詞典實驗時,執行速度相對前者要慢得多,以後需進一步改進演算法,提高執行速度和準確率。再次,切分及過濾演算法中涉及到的幾個引數都是可變的,它們的取值在一定程度上也影響了新詞的識別,如N元切分過程中n、子父串比較中p和q、詞頻閾值r的取值,使用者可以根據需要靈活設定引數的取值,但這要經過大量實驗測試。同時,人工判別新詞受到個人智慧、經驗、知識體系等各方面的影響。最後,利用了停用詞典過濾,可以減少後繼切分的資料量。但前停、後停用詞典的製作需要一個不斷調整、不斷積累的過程,可以說停用詞典的規模和準確性很大程度影響著切分、過濾演算法的有效性。

參考文獻

1  蘇菲,王丹力,戴國忠.基於標記的規則統計模型與未登入詞識別演算法.計算機工程與應用,2004(15):43-45

2  陳小荷.自動分詞中未登入詞問題的一攬子解決方案.語言文字應用,1999(3):103-109

3  鄒剛.基於Internet的新詞自動檢測.[2006-6-10].http://www.software.ict.ac.cn/seminar/lectures/20040520-%BB%F9%D3%DAInternet%B5%C4%D0%C2%B4%CA %D3%EF%D7%D4%B6%AF%BC%EC%B2%E2.ppt

4  劉建舟,何婷婷,駱昌日.基於語料庫和網路的新詞自動識別.計算機應用,2004,24(7):132-134

5  賴茂生,徐克敏等編著.科技文獻檢索.北京:北京大學出版社,1994

6  張琪玉.自然語言檢索中各種因素對檢索效率的影響.張琪玉情報語言學論文集.北京:北京圖書館出版社,1999.5

7  侯漢清,薛鵬軍.基於知識庫的網頁自動標引和自動分類系統的設計.大學圖書館學報,2004(1):50-55

8  朱巨集一.漢語詞綴的定義、範圍、特點和識別——兼析《漢語水平等級標準與語法等級大綱》的詞綴問題.語文研究,2004(4):32-37

9  張雪英.基於粗糙集理論的文字自動分類研究.南京理工大學[博士學位論文],2005.5

曹  豔  女,1983年生,南京農業大學資訊管理系碩士研究生。

杜慧平  南京農業大學資訊管理系碩士研究生。

劉  竟  南京農業大學資訊管理系在讀博士生。

侯漢清  南京農業大學資訊管理系教授、博士生導師,中國索引學會副理事長。

http://www.cnindex.fudan.edu.cn/zgsy/2008n1/caoyan.htm