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