●通拉嘎,劉 凱,李佳正(1.泉州師范學(xué)院圖書館,福建 泉州 36000;.中國科學(xué)院計(jì)算技術(shù)研究所,北京 100080)
基于最大熵的蒙古文人名識別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
●通拉嘎1,2,劉凱2,李佳正2
(1.泉州師范學(xué)院圖書館,福建泉州362000;2.中國科學(xué)院計(jì)算技術(shù)研究所,北京100080)
[關(guān)鍵詞]信息處理;蒙古文人名識別;最大熵
[摘要]最大熵模型能充分利用上下文,靈活取用多個特征。使用最大熵模型進(jìn)行蒙古文人名識別,分析蒙古文人名結(jié)構(gòu)及上下文環(huán)境,根據(jù)語言特點(diǎn)設(shè)計(jì)特征模板,建立粗選特征集;建立人名知識庫,提取精選特征集,訓(xùn)練最大熵模型;實(shí)驗(yàn)結(jié)果證明,本系統(tǒng)能有效識別蒙古文人名,開放測試的正確率達(dá)到94.56%,召回率達(dá)到85.15%,F(xiàn)值達(dá)到89.61%,識別效果較為理想。
蒙古文詞法分析是蒙古文信息處理的一項(xiàng)基礎(chǔ)研究課題,是短語、句法、語義、篇章處理的基礎(chǔ)環(huán)節(jié)。命名實(shí)體識別是文本信息處理的基本問題,[1]是蒙古文詞法分析的關(guān)鍵問題之一,提升命名實(shí)體的識別性能,必將提高詞法分析系統(tǒng)的整體性能。命名實(shí)體包括實(shí)體(人名、地名、組織機(jī)構(gòu))及時間表達(dá)式、數(shù)字表達(dá)式。[2]
蒙古文屬于阿爾泰語系拼音文字,為黏著語言類型,[3]故而蒙古文人名識別更加注重運(yùn)用形態(tài)特征及上下文信息。為了解決蒙古文人名自動識別的瓶頸問題,我們擬引入最大熵方法,它是一個機(jī)器學(xué)習(xí)模型,具有通用、易于移植、可多次使用等特點(diǎn),能夠有效利用上下文環(huán)境,可以較好地包容各種約束信息,在自然語言處理方面應(yīng)用廣泛。
人名識別系統(tǒng)主要包括2個功能模塊,即模型訓(xùn)練及人名識別(見圖)。基于最大熵模型的蒙古文人名識別系統(tǒng)實(shí)現(xiàn)的環(huán)境主要為Windows 7平臺,以Microsoft Visual Studio 2010為開發(fā)工具,使用C++編程語言編寫核心代碼。我們使用的訓(xùn)練語料庫為內(nèi)蒙古大學(xué)蒙古文拉丁文本,以“/Nt1”對人名進(jìn)行標(biāo)注,并在此基礎(chǔ)上,依次進(jìn)行特征提取、特征選擇以及迭代訓(xùn)練,得到該集合上的判別模型。人名識別模塊的主要功能是使用訓(xùn)練好的最大熵模型對語料進(jìn)行標(biāo)注,并計(jì)算正確率和召回率。
圖 系統(tǒng)流程
以是否有歧義為劃分標(biāo)準(zhǔn)的話,蒙古文人名可以分為兼類人名及非兼類人名兩種。識別非兼類人名時,我們直接使用最大熵模型計(jì)算人名的出現(xiàn)概率;判斷兼類人名時,我們首先以兼類人名詞典進(jìn)行初步的篩選確認(rèn),然后以兼類詞搭配詞判斷兼類詞的位置,最后以最大熵模型計(jì)算人名的出現(xiàn)概率。
2.1模型訓(xùn)練模塊
在對相關(guān)文本進(jìn)行標(biāo)注前,我們需要在訓(xùn)練語料庫上進(jìn)行模型訓(xùn)練,并依次進(jìn)行特征提取、特征選擇及迭代訓(xùn)練,使模型與訓(xùn)練樣本一致,而對于訓(xùn)練集中沒有出現(xiàn)的情況,模型則賦予均勻的分布。
2.1.1特征的抽取
最大熵模型的關(guān)鍵在于如何針對特定的任務(wù)為模型選取特征集合,[4]我們提取的特征為基本特征及語
言學(xué)特征。蒙古語是一種典型的粘著語,所以,我們在未進(jìn)行詞法分析的語料上抽取特征時,應(yīng)考慮詞干和詞綴的相應(yīng)信息,以減少粘著語的特性對特征的影響?;诿晒盼奶攸c(diǎn)及上下文環(huán)境,我們制定了人名的特征模板及標(biāo)注特征取值,進(jìn)行基本特征集的抽取?;咎卣鬟x取的最大優(yōu)勢是不依賴于任何語法和語義知識,這對其它的命名實(shí)體識別也同樣適用。語言學(xué)特征提取則依賴于人工提供的知識規(guī)則,并按照不同的規(guī)則類型生成對應(yīng)的特征。知識規(guī)則即語言學(xué)資源,包括詞典和規(guī)則庫等。
表1 人名特征模板
表2 人名的標(biāo)注特征取值
2.1.2特征選擇
提取語言學(xué)特征及基本特征后,需要循環(huán)匹配特征模板,形成粗選特征集。不過,該特征集是在語料庫偏小狀況下形成的,特征價值、時空開銷都是需要考慮的問題。為了進(jìn)一步提取蒙古文人名特征,我們在對人名及其上下文環(huán)境進(jìn)行分析的基礎(chǔ)上,依托語料庫,建立了普通人名知識庫及兼類人名知識庫,并以最大熵的統(tǒng)計(jì)模型,對人名知識庫中的各類特征進(jìn)行選擇實(shí)驗(yàn),從中提取了更為有效的人名特征,為進(jìn)一步的人名識別工作做好準(zhǔn)備。
表3 人名知識庫及數(shù)據(jù)統(tǒng)計(jì)
我們擬在最大熵模型中使用的精選特征集共有14個,地名詞典、蒙古族蒙古姓氏詞典、著名人物詞典、地名后綴詞典、機(jī)構(gòu)名后綴詞典、漢語姓氏映射表、漢語人名映射表、有距離邊界詞典、左邊界詞詞典、右邊界詞詞典、梵藏滿人名詞典、兼類人名詞典、蒙古人名詞典,兼類搭配詞典。雖然最大熵可以不用設(shè)定規(guī)則的優(yōu)先集來避免沖突,不過,我們還不清楚哪些特征是有效的,哪些特征有副作用。為驗(yàn)證特征集中各個特征的效果,我們設(shè)計(jì)了以下方案。
(1)令特征集=簡單上下文特征集,在該特征集的基礎(chǔ)上訓(xùn)練最大熵模型,然后測試。
(2)在原始的簡單上下文特征集的基礎(chǔ)上,逐次加入某一項(xiàng)新特征,在新特征集的基礎(chǔ)上訓(xùn)練最大熵模型,然后進(jìn)行測試,參考開放測試的結(jié)果,如果某特征集導(dǎo)致正確率和召回率都下降,說明該特征是無效特征,予以去除;如果正確率和召回率都有一定特征,表明該特征的有效性,則保留該特征。重復(fù)這些步驟,直至每個特征集都實(shí)驗(yàn)過(特征選擇實(shí)驗(yàn)結(jié)果,請參見《圖書館理論與實(shí)踐》2015年第2期第112頁表3)。
(3)漢語人名在語料庫中出現(xiàn)較多,但其形式與蒙古人名又有較大區(qū)別,漢語姓氏與人名拉丁映射表能覆蓋大多數(shù)人名,因而,我們直接選取“漢語姓氏映射表”、“漢語人名映射表”為最大熵的特征,而無需經(jīng)過實(shí)驗(yàn)步驟的驗(yàn)證。
之所以建立地名詞典、地名后綴詞典、機(jī)構(gòu)名后綴詞典,是因?yàn)槿嗣c地名兼類的現(xiàn)象在蒙古文中出現(xiàn)較多,語料庫中地名、機(jī)構(gòu)名、機(jī)構(gòu)名后綴對人名有一定的指稱作用,我們希望以此排除與人名的兼類現(xiàn)象。[5,6]但是,限于語料庫規(guī)模,能滿足這些特征的語境還是較少,而且地名、地名后綴、機(jī)構(gòu)名后綴有時與人名的距離過遠(yuǎn),運(yùn)用這些特征后正確率和召回率都有一定程度下降。經(jīng)過上述實(shí)驗(yàn),我們?nèi)コ藱C(jī)構(gòu)名后綴詞典、地名后綴詞典、地名詞典等3個特征,保留了11個特征集作為最大熵統(tǒng)計(jì)模型的特征集,從而形成了適應(yīng)最大熵的精選特征集。
2.1.3參數(shù)估計(jì)
在獲取特征集合的基礎(chǔ)上,我們使用東北大學(xué)張樂提供的最大熵工具包來訓(xùn)練模型,[7]根據(jù)最大熵工具包的使用說明書規(guī)定特征文件的格式,組織好特征文件。
參數(shù)估計(jì)的作用是用最大熵原理對每個特征進(jìn)行參數(shù)估值,使每個參數(shù)與一個特征相對應(yīng),以此建立所求模型。在生成train.txt文件后,我們將其送至最大熵工具包。經(jīng)過maxent程序處理,使用默認(rèn)的L-BFGS算法進(jìn)行參數(shù)估計(jì)后,我們得到了train.feat,test.feat,model.txt等三個文件。這里,train.feat,test.
feat等兩個文件記錄了每個詞是否為人名的判別結(jié)果和特征,model.txt記錄了每個特征對應(yīng)的參數(shù)值。
經(jīng)過模型訓(xùn)練后,我們得到了一個特征集合,每個特征對應(yīng)一個參數(shù)α。特征的參數(shù)表示特征參數(shù)的重要程度或可信度,α可正可負(fù)。
2.2人名識別模塊
用最大熵工具包對特征集進(jìn)行參數(shù)估計(jì)后,每一個特征都有了一個與之對應(yīng)的參數(shù),這意味著生成了我們需要的最大熵模型。在此基礎(chǔ)上,可以對文本進(jìn)行標(biāo)注,也即本文所闡述的“識別”,我們將此過程稱之為“解碼”,解碼過程可視作是一個標(biāo)注問題。
本文的人名識別過程如下:
a讀入一個句子,即給定的輸入系列W={W1,W2,……,Wn};
b依據(jù)訓(xùn)練得到的特征函數(shù)集f1(a,b)及其參數(shù)αt,求解行動序列A={a1,a2…,an},其中,ai的值域?yàn)轭惣驑?biāo)注集C∈{B,M,E,O,S},bi為輸入序列中每一個元素Wi的上下文環(huán)境信息;
c最終選出在候選標(biāo)記序列空間內(nèi)具有最大概率的標(biāo)注結(jié)果序列。
為驗(yàn)證蒙古文人名自動識別模型的有效性,我們首先選擇訓(xùn)練語料和測試語料,然后通過封閉測試和開放測試分析蒙古文人名識別模型的效果。
3.1實(shí)驗(yàn)數(shù)據(jù)
訓(xùn)練及測試所用的句子共為8343句,共含11583個人名(見表4)?!罢Z料分布”中,“內(nèi)大”指的是內(nèi)蒙古大學(xué)26萬語料庫中提取的2570個人名句,“自建”指的是從中國蒙古語新聞網(wǎng)、人民網(wǎng)(蒙古文版)、蒙古文化網(wǎng)等9個網(wǎng)站人工抓取的5千人名句。網(wǎng)站選取的原則為統(tǒng)一的蒙科立編碼,句子選取原則為人名句,盡量為兼類人名句。從上述網(wǎng)站上抓取人名句,以蒙科立轉(zhuǎn)拉丁的編碼轉(zhuǎn)換工具3轉(zhuǎn)換為蒙古文拉丁格式,并著重對人名及上下文兩詞進(jìn)行校對,標(biāo)注出人名位置。封閉測試集是訓(xùn)練集的子集,開放測試集與訓(xùn)練集不存在包含與被包含關(guān)系。
表4 訓(xùn)練集、測試集數(shù)據(jù)統(tǒng)計(jì)
3.2實(shí)驗(yàn)結(jié)果
輸入格式設(shè)定為內(nèi)蒙古大學(xué)語料庫蒙古文拉丁形式,文字需以空格分開,盡量輸入完整的句子。在顯示的主界面輸入待分析的句子,單擊“NameRec”按鈕,啟動對句子的分析,就會出現(xiàn)識別結(jié)果。顯示系統(tǒng)以中括號表示人名及其邊界。
從測試結(jié)果可以看出,系統(tǒng)能有效識別蒙、漢、梵藏、外國人名,對有名無姓,有姓無名、人名簡稱、帝名、筆名等不常見的人名也有較好的識別效果。不過,系統(tǒng)對較為特殊的蒙古文人名,如仿疊人名、雙姓人名、三字以上人名識別效果不佳;由于缺乏詞性信息并受語料庫、知識庫規(guī)模限制,兼類人名的識別有一些問題。最終,系統(tǒng)實(shí)驗(yàn)的結(jié)果為封閉測試的正確率96.52%,召回率87.25%,F(xiàn)值91.65%;開放測試的結(jié)果正確率94.56%,召回率85.15%,F(xiàn) 值89.61%,識別效果較為理想。
[參考文獻(xiàn)]
[1]潘正高.基于規(guī)則和統(tǒng)計(jì)相結(jié)合的中文命名實(shí)體識別研究[J].情報(bào)科學(xué),2012,30(5):708.
[2]李佳正,等.維吾爾語種漢族人名的識別及翻譯[J].中文信息學(xué)報(bào),2011,25(4):82.
[3]清格爾泰.現(xiàn)代蒙古語語法[M].呼和浩特:內(nèi)蒙古人民出版社,1980:2-8.
[4]桑海巖,等.基于最大熵的哈薩克語詞性標(biāo)注模型[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(11):127.
[5]皇甫晶,王凌云.基于規(guī)則的紀(jì)傳體古代漢語文獻(xiàn)姓名識別[J].圖書情報(bào)工作,2013,57(3):123.
[6]那順烏日圖,等.蒙古文人名自動識別研究[C]//語言計(jì)算與基于內(nèi)容的文本處理——全國第七屆計(jì)算語言學(xué)聯(lián)合學(xué)術(shù)會議論文集.哈爾濱:2003:125.
[7]Zhang Le.Maximum Entropy Modeling Toolkit for Python and C++[EB/OL].[2004-12-29].http://www. docin.com/p-13535384.html.
[收稿日期]2014-09-11 [責(zé)任編輯]李海燕
[作者簡介]通拉嘎(1976-),女,內(nèi)蒙古科右中旗人,中央民族大學(xué)少數(shù)民族語言文學(xué)學(xué)院博士,泉州師范學(xué)院圖書館館員,中國社科院閩南文化研究基地成員,研究方向:計(jì)算語言學(xué)、應(yīng)用語言學(xué)及情報(bào)學(xué);劉凱(1987-),男,博士,研究方向:自然語言處理;李佳正(1988-),女,碩士,研究方向:自然語言處理。
[基金項(xiàng)目]本文系國家自然科學(xué)基金重點(diǎn)項(xiàng)目“跨語言社會輿情分析基礎(chǔ)理論與關(guān)鍵技術(shù)”(項(xiàng)目編號:61331013)的研究成果之一。
[文章編號]1005-8214(2015)05-0096-03
[文獻(xiàn)標(biāo)志碼]A
[中圖分類號]G254.29