時迎超,王會珍,肖 桐,胡明涵
(1. 東北大學(xué) 自然語言處理實(shí)驗室,遼寧 沈陽 110819;2. 醫(yī)學(xué)影像計算教育部重點(diǎn)實(shí)驗室(東北大學(xué)),遼寧 沈陽 110819)
命名實(shí)體識別(Named Entity Recognition, NER)是自然語言處理的一項基本技術(shù),它是信息抽取、信息檢索、機(jī)器翻譯、組塊分析、問答系統(tǒng)等多種自然語言處理技術(shù)的重要基礎(chǔ)。也是一個各種會議上指定的任務(wù)或任務(wù)的重要組成部分[1]。所以,對實(shí)體識別的研究有著重要的理論和實(shí)用價值。
到目前為止,實(shí)體識別的研究已經(jīng)有了很多成果,較早的實(shí)體識別多采用基于規(guī)則的方法[2-4]?;谝?guī)則的方法實(shí)現(xiàn)比較簡單并且缺乏適應(yīng)性,規(guī)則的制定往往要依賴于具體的語言、領(lǐng)域和文本格式,而且規(guī)則編寫人員往往需要有豐富的語言知識和深厚的計算語言學(xué)背景。隨著研究的深入基于統(tǒng)計的實(shí)體識別方法成了近年來研究的主流。與基于規(guī)則的方法相比,基于統(tǒng)計的方法利用人工標(biāo)注的語料進(jìn)行訓(xùn)練,標(biāo)注語料時不需要廣博的語言學(xué)知識,并且可以在較短時間內(nèi)完成。常見的基于統(tǒng)計的實(shí)體識別方法主要包括基于支持向量機(jī)的實(shí)體識別,基于隱馬爾可夫模型的實(shí)體識別,基于最大熵模型的實(shí)體識別和基于條件隨機(jī)場的實(shí)體識別等。從在最近幾年發(fā)表在ACL年度會議以及COLING、SIGHAN等國際會議上的論文[5-8]來看,大多數(shù)實(shí)體識別系統(tǒng)都采用了條件隨機(jī)場模型。基于統(tǒng)計的方法可以利用自然語言的統(tǒng)計規(guī)律幫助實(shí)體識別,和規(guī)則方法比提高了系統(tǒng)的適應(yīng)性。
從總體上來說,CLP2010人名消歧任務(wù)是個聚類問題。對給定的一組文檔,按照文檔中出現(xiàn)的查詢詞所指向的人進(jìn)行聚類。最后,在每個類中,所有查詢詞都必須是指向現(xiàn)實(shí)生活中的同一個人。任務(wù)輸入: 對每一個查詢詞,用“字”串匹配的方法從新華社的語料庫中抽出所有含有該人名的文檔,并組成一個針對該查詢詞的文檔集。任務(wù)輸出: 對每一個查詢詞,要求將其對應(yīng)的文檔集聚類,每個類對應(yīng)現(xiàn)實(shí)生活中的一個人。在該任務(wù)中,中文人名主要有下面一些歧義問題:
1) 給定的查詢詞指向現(xiàn)實(shí)中不同的人,例如一些普通的人名“李剛”、“王剛”等。
2) 給定的查詢詞只是真實(shí)人名的子字符串,例如“戰(zhàn)士李燕卿是個孤兒”中“李燕”是給定的查詢詞,而人名是“李燕卿”。
3) 真實(shí)人名是給定的查詢詞的子字符串,查詢詞不是真的指向一個人,例如含“最高軍事法院”中的“高軍”是查詢詞,但只是“最高軍事法院”的一部分。
通過上面的討論可以知道,CLP2010人名消歧任務(wù)的輸入是新華社的語料庫中抽取出的新聞?wù)Z料,里面的人名比較標(biāo)準(zhǔn);基于條件隨機(jī)場的實(shí)體識別系統(tǒng)是近年研究的熱門,并且表現(xiàn)了較好的性能?;谶@些分析,本文提出了基于多系統(tǒng)集成和啟發(fā)式規(guī)則的人名識別方法。本文選擇集成的兩個系統(tǒng)分別為基于條件隨機(jī)場的實(shí)體識別系統(tǒng)和基于大量人名列表資源的最大匹配和統(tǒng)計的人名識別系統(tǒng)。具體方法是首先利用已經(jīng)實(shí)現(xiàn)的兩個實(shí)體識別系統(tǒng)進(jìn)行整合,得到一個統(tǒng)一的實(shí)體識別輸出,然后基于啟發(fā)式規(guī)則進(jìn)行后處理,以獲得最終的識別結(jié)果。
本文的后續(xù)部分組織如下: 第2節(jié)主要闡釋了系統(tǒng)的整合,第3節(jié)介紹本文所使用的啟發(fā)式規(guī)則,第4節(jié)主要介紹本文的實(shí)驗和實(shí)驗結(jié)果,最后一節(jié)是對實(shí)驗的總結(jié)和對未來工作的展望。
東北大學(xué)自然語言處理實(shí)驗室已經(jīng)實(shí)現(xiàn)了兩套實(shí)體識別系統(tǒng)。一套是基于條件隨機(jī)場的實(shí)體識別系統(tǒng)[9](下稱: 系統(tǒng)A),另一套是基于大量人名列表資源的最大匹配和統(tǒng)計的人名識別系統(tǒng)(下稱: 系統(tǒng)B)。由于兩個系統(tǒng)所采用的方法和模型不同,所以兩個系統(tǒng)的特點(diǎn)也不一樣。系統(tǒng)A的主要特點(diǎn)有:
1) 采用的是基于條件隨機(jī)場統(tǒng)計模型的實(shí)體識別,實(shí)體識別準(zhǔn)確率較高。
2) 采用統(tǒng)一的方法同時進(jìn)行各類中文命名實(shí)體的識別。
系統(tǒng)B的主要特點(diǎn)有:
1) 使用了大量的網(wǎng)絡(luò)人名資源,所以它對現(xiàn)實(shí)中的大量的常用人名識別準(zhǔn)確率和召回率較高,但是有一些非人名也可能被識別成人名。
2) 只對人名進(jìn)行了識別,所以有些由人名構(gòu)成的其他實(shí)體中的人名可能被錯誤的識別出來。
在人名消歧任務(wù)中,語料都是新聞?wù)Z料,查詢詞所涉及的人名大多都是在互聯(lián)網(wǎng)上經(jīng)常出現(xiàn)的比較標(biāo)準(zhǔn)的人名,所以系統(tǒng)B對人名消歧語料中的人名特別是涉及查詢詞的人名表現(xiàn)了比較好的性能,但是由于系統(tǒng)B是基于最大匹配的方法進(jìn)行的人名識別,所以可能會錯誤識別出一些人名或者只識別人名的一部分。為了能夠有效地利用兩個系統(tǒng)的人名識別的優(yōu)點(diǎn),本文對這兩個系統(tǒng)進(jìn)行了整合,實(shí)現(xiàn)了基于多實(shí)體識別系統(tǒng)整合的人名識別系統(tǒng)。系統(tǒng)的整合算法如下。
輸入:兩個系統(tǒng)的實(shí)體識別結(jié)果A_result,B_result和原始文件test_file
1: 對于test_file中的每一個詞word,
2: 如果word在A_result中識別成了人名,那么word是人名。
3: 否則,如果word在B_result中識別成了人名,在A_result中識別成了其他的實(shí)體名稱的一部分,則把A中的實(shí)體名稱拆分為人名+相應(yīng)實(shí)體后綴。
4: 否則,如果word在B_result中識別成了人名,在A_result中是普通詞,則word為人名。
5: 否則,如果word在A_result中識別成了其他實(shí)體名詞的部分,在B_result中沒有被識別,則word為其他實(shí)體名詞的部分。
6: 否則,word不是人名。
輸出:基于整合規(guī)則的識別結(jié)果
系統(tǒng)整合后分析發(fā)現(xiàn),人名的識別依然存在著很多的錯誤,這些錯誤主要有以下的原因造成的。
1) 人名的前后文信息不足,例如“唐海創(chuàng)我國對蝦孵化最高紀(jì)錄”中的地名“唐?!保ㄟ^這句話我們不清楚唐海是人名還是地名,于是錯誤識別成了人名。
2) 沒有充分利用前后文信息造成的,例如“通訊員 高明”中的“高明”,它是一個普通詞,由于沒有充分利用前面的前綴信息,所以沒有識別出來。
3) 整合算法引入了一些新的錯誤,例如“阿薩姆邦德馬杰鎮(zhèn)的居民舉行印度第58個獨(dú)立日慶?;顒訒r”,系統(tǒng)整合后阿薩姆邦德馬杰錯誤識別成了人名。
基于對錯誤原因的分析,本文提出了基于啟發(fā)式規(guī)則對人名的識別進(jìn)行后處理。
所謂并列詞是用并列連詞或符號串聯(lián)在一起的字符串的集合,其中并列連詞和符號有: “和”、“或”、“與”、“、”等。提出動機(jī)為: 第一由于并列實(shí)體詞前后的上下文信息離并列實(shí)體詞較遠(yuǎn),所以并列詞的前后文信息在統(tǒng)計系統(tǒng)中并不能很好的發(fā)揮作用,從而使得并列詞本身的識別不夠準(zhǔn)確。第二并列詞串的前面或者后面往往有較強(qiáng)的實(shí)體指示信息。并列詞規(guī)則分為并列詞數(shù)大于2和等于2兩種情況。
并列詞數(shù)大于2時,規(guī)則如下:
1) 如果并列詞后面緊跟的是地名、機(jī)構(gòu)名、產(chǎn)品名等列表后導(dǎo)詞中的一個,則并列詞為相應(yīng)的列表詞。
2) 如果并列詞前面緊接的是人名稱謂詞,則并列詞為人名列表。
3) 如果其中超過1/2的識別為人名, 則并列詞為人名列表。
4) 如果其中超過1/2的是其他詞性, 則并列詞是其他實(shí)體名列表。
所謂并列詞列表后導(dǎo),就是并列詞后面的用于限定并列詞類型的詞或詞串。例如: “正在建設(shè)的5萬畝河蟹養(yǎng)殖場主要分布于豐南、灤南、唐海等3個縣”。本例句中“豐南、灤南、唐?!睘?個并列詞,“等3個縣”為地名列表后導(dǎo)。
并列詞數(shù)等于2時,由于這兩個詞并不能確定是不是并列詞,所以當(dāng)并列詞數(shù)為2時,此規(guī)則只對查詢詞使用。規(guī)則為,如果查詢詞的并列詞識別為人名,則查詢詞也是人名。
所謂Title規(guī)則就是利用人名稱謂識別人名。提出動機(jī)為: 有一些詞本身就可以做人名,但它們同時又可以作為普通詞,那么系統(tǒng)很可能就識別不出來,而是識別成了普通詞,由于評測語料中有只有1/6的discarded文檔,即查詢詞是人名的概率為5/6,所以如果一個查詢詞前面是人稱稱謂,那么它就有更高的概率是人名。規(guī)則為:
如果查詢詞或者其所在的詞本身符合人名的一般原則,而且其前面第一個詞是人稱謂詞,則查詢詞或其所在的詞為人名。
例如: “(通訊員 高明)”,本例句中通訊員為人稱稱謂,高明是查詢詞。那么基于此規(guī)則得到“高明”是人名。
所謂后綴詞就是實(shí)體詞后部標(biāo)示實(shí)體類型的部分。提出動機(jī)為: 在系統(tǒng)整合時,為了保證人名的最大召回率,基于系統(tǒng)B把在系統(tǒng)A中識別的部分實(shí)體詞拆分成了人名和實(shí)體后部,但是這其中有一些是拆分錯的,還有一些其他實(shí)體本身沒有識別出來。 規(guī)則為:
對于識別出的人名詞:
1) 如果其后面的詞是機(jī)構(gòu)名稱后綴,則識別的人名和后面的詞構(gòu)成機(jī)構(gòu)名。
2) 如果其后面的詞長度小于6,如果其尾部包含機(jī)構(gòu)名后綴,則識別的人名和后面的詞構(gòu)成機(jī)構(gòu)名,其前部為機(jī)構(gòu)名中間詞,則識別的人名和后面的詞構(gòu)成機(jī)構(gòu)名。
3) 如果其后面的詞是地名后綴,則識別的人名和后面的詞構(gòu)成地名。
例如: “阿薩姆邦德馬杰鎮(zhèn)的居民舉行印度第58個獨(dú)立日慶?;顒訒r”,在系統(tǒng)中“阿薩姆邦德馬杰”被識別成了人名,通過本規(guī)則可以識別“阿薩姆邦德馬杰鎮(zhèn)”是一個地名。從而糾正了原來的人名識別錯誤。
所謂外國人名規(guī)則就是對分開了的外國人名進(jìn)行合并。提出動機(jī)為: 整合后的系統(tǒng)中有部分外國人名在識別時被分開成多個部分,所以本文基于此規(guī)則對被錯誤分開的外國人名進(jìn)行合并,以提高識別正確率。規(guī)則為:
1) 如果有兩個相鄰的詞,有一個識別成了人名,且它們中間有英文句點(diǎn)“·”,則合并成一個人名,如果兩個相鄰的人名其中一個的一邊有點(diǎn)則合并成一個人名。
2) 如果識別的兩個相鄰的人名合并后在外國人名列表中,則合并成一個人名。
3) 如果以識別人名的前詞或后詞是單字詞,且和人名的互信息非常小,而它和人名可以組合在一起正好在外國人名列表中,則合并成一個人名。
例如: “第三名菲·羅杰斯澳大利亞1分1秒76”。整合系統(tǒng)中“菲”被錯誤識別成了地名,而羅杰斯被識別成了人名,經(jīng)過這個規(guī)則,“菲·羅杰斯”就被識別成人名。
所謂中文特殊姓氏規(guī)則就是利用中文的特殊姓氏進(jìn)行人名識別。提出動機(jī)為: 中文姓氏使用的很不平衡, 姓氏中使用頻度最高的是“王”姓, “王, 陳,李, 張, 劉”等5個大姓覆蓋率達(dá)32%, 姓氏頻度表中的前14個高頻度的姓氏覆蓋率為50%, 前400個姓氏覆蓋率達(dá)99%[9]。其中有些姓氏詞只能作為姓氏使用,如“劉、朱、趙”等,有些即可以作為姓氏又可以和其他字按一定規(guī)則成詞,如“張、段、王”等。規(guī)則為:
1) 對于“張、段”等有量詞詞性的姓氏,如果前面是數(shù)詞則這不是姓氏,否則是。
2) 對于“高”等有形容詞詞性的姓氏,如果前面是副詞則這不是姓氏,否則是。
3) 對于“劉、趙”等專用姓氏,如果后面是一個名稱常用詞,并且它們合并后包含查詢詞,則合并后識別為人名。
例如: “寰島險勝敖東 (1張楊磊)”,本句中“張楊磊”被錯誤識別成了人名,基于這條規(guī)則,就可以糾正這個錯誤。
所謂的查詢詞就是評測集文檔中一定包含的詞串。提出動機(jī)為: 在評測語料中,對于一個查詢詞可能對應(yīng)著多個實(shí)際的人名,在整合系統(tǒng)中已經(jīng)識別的人名可以作為一種資源用來對錯誤的識別進(jìn)行糾正修改,以達(dá)到人名統(tǒng)一正確的識別,減少同一個人名識別成不同形式的可能。
規(guī)則為: 如果識別的人名a被識別的人名b所包含,且包含人名b的文檔數(shù)大于等于2,如果人名a跟后面的一個詞能夠組成人名b,則a跟后面的詞是一個人名。
例如: “這本書由郭超人、南振中主編”。本例中“郭超”被錯誤識別成了人名,但是在其他文本中大量“郭超人”正確識別,基于本規(guī)則,可以把“郭超人”正確的識別出來。
本文采用的語料是CLP2010的人名消歧的訓(xùn)練語料作為本實(shí)驗的測試語料,本語料共6 926個文檔,其中人名文件5 901個,Discarded文件1 025個。其中Discarded文件是指查詢詞不涉及人名的文件,人名文件是指查詢詞涉及人名的文件。
資源列表包括實(shí)驗室的資源以及從外部收集的資源。這些資源列表可以提升系統(tǒng)的識別準(zhǔn)確度,但是它的貢獻(xiàn)度取決于資源收集的覆蓋面。本文使用的資源主要有機(jī)構(gòu)名后綴、中文人名姓氏、地名后綴、人名稱謂、公司名稱中間詞、中文人名常用字、中文人名常用詞、外國人名等。其中機(jī)構(gòu)名后綴1 448個、人名稱謂1 970個、公司名中間詞605個,中文人名常用字560個,中文人名詞10 413個,外國人名107 865個。
本文采用的是正確率作為評測標(biāo)準(zhǔn),由于評測數(shù)據(jù)分為人名和discarded兩類,所謂人名類就是在評測文檔中所指定查詢詞是人名或人名的部分,而discarded類是指在評測文檔中所指定查詢詞不是人名或人名的部分。針對本評測中的數(shù)據(jù)的特殊性,本文對正確率做了如下定義: 如果一個文檔中的指定查詢詞是人名或人名的部分,并且識別正確,則本文檔查詢詞識別正確,否則識別不正確;如果一個文檔中指定查詢詞不是人名,并且此查詢詞沒有識別成人名或人名的部分,則識別正確,否則不正確。正確率計算如公式(1)所示。
(1)
實(shí)驗中,本文首先人工驗證了評測方所給人名數(shù)據(jù)的正確性,從而確定測試數(shù)據(jù)的正確性。首先我們進(jìn)行了系統(tǒng)整合實(shí)驗,整體準(zhǔn)確率提升約0.1%個百分點(diǎn),性能提升不是非常明顯,然后我們做了兩組啟發(fā)式規(guī)則的實(shí)驗: 實(shí)驗1是對單個規(guī)則進(jìn)行加入,實(shí)驗結(jié)果如表1所示;實(shí)驗2是以疊加的形式不斷加入規(guī)則,加入的順序依次是外國人名規(guī)則、稱謂規(guī)則、并列詞規(guī)則、后綴規(guī)則、姓氏規(guī)則、和查詢詞規(guī)則,其結(jié)果如表2所示。
從表1可以看出對性能有較大提升的依次是并列詞規(guī)則、記者規(guī)則、外國人名規(guī)則,查詢詞規(guī)則四個規(guī)則,這幾個個規(guī)則對性能的提升分別為超過或接近一個百分點(diǎn),性能的提升是非常明顯的。其中加入Title規(guī)則后discarded文件的正確率有所下降,加入后綴規(guī)則后人名文件的正確率有所下降,我們將在下一節(jié)進(jìn)行解釋。
從表2可以看出幾個規(guī)則有一定的重復(fù)疊加性,所以當(dāng)幾個規(guī)則相繼使用時,其性能表現(xiàn)的并不如單獨(dú)使用效果明顯,但是識別的性能要有了很大的提高,基本上符合了我們對評測數(shù)據(jù)人名識別的要求。在評測過程中我們評測所給的測試語料中的實(shí)體人工抽查結(jié)果顯示,人名識別正確率基本和在訓(xùn)練數(shù)據(jù)中的評測結(jié)果吻合。
本文中提到的方法,考慮了評測數(shù)據(jù)的特殊性,除了加入了通用性的規(guī)則,還加入了查詢詞規(guī)則和記者規(guī)則等, 在評測方所給的訓(xùn)練集上表現(xiàn)出了良好的性能。
在分別加入規(guī)則的實(shí)驗結(jié)果中,加入Title規(guī)則,discarded文檔的正確率有所下降,經(jīng)分析發(fā)現(xiàn),加入規(guī)則后使得一些非人名識別成了人名,例如: 山田先生贊嘆不已: “中國醫(yī)生高明,中國軍醫(yī)高尚!”其中“高明”不是人名,但是加入Title規(guī)則后,由于“高明”前面有職稱詞“醫(yī)生”,則“高明”錯誤識別成了人名。加入后綴規(guī)則,錯誤原因類同。
在逐個加入規(guī)則的人名識別的最終結(jié)果中, 還有少量的錯誤,錯誤分布如表3所示。根據(jù)統(tǒng)計可以看出其中不是人名識別成人名的錯誤約占1/2,例如: “齊肩秀發(fā),高翹劉海,端莊美麗?!敝械摹皠⒑!弊R別成了人名,還有“唐海創(chuàng)我國對蝦孵化最高紀(jì)錄”中的“唐?!币沧R別成了人名。這主要是由于本系統(tǒng)在整合兩個系統(tǒng)時,是基于最大人名召回率來整合的。而在后面的規(guī)則中又沒有充分的規(guī)則可以對這樣的錯誤進(jìn)行糾正,而導(dǎo)致這樣的錯誤識別。也一定程度上影響了系統(tǒng)的性能。
表1 較之整合后數(shù)據(jù)單獨(dú)加入規(guī)則后的準(zhǔn)確率的提升
表2 較之整合后數(shù)據(jù)逐個加入規(guī)則識別正確率的提升
表3 識別錯誤分布
本文首先用系統(tǒng)整合的方法,把已經(jīng)實(shí)現(xiàn)了的實(shí)體識別系統(tǒng)進(jìn)行了整合,然后基于啟發(fā)式規(guī)則對整合后的系統(tǒng)中依然存在的識別錯誤進(jìn)行糾正,在實(shí)體識別的過程中更充分的利用了文本的上下文信息以及評測數(shù)據(jù)本身的信息。但是由于很多規(guī)則是硬性的規(guī)則,所以在基于規(guī)則的錯誤糾正的過程中可能會引入一些新的錯誤。實(shí)驗結(jié)果證明,多系統(tǒng)整合和啟發(fā)式規(guī)則后處理的實(shí)體識別方法取得了是很好的結(jié)果。
下一步工作有: 1)進(jìn)一步研究實(shí)體識別的啟發(fā)式規(guī)則,以充分利用實(shí)體的上下文信息來幫助實(shí)體識別;2)盡可能地將實(shí)體的上下文信息用到我們的統(tǒng)計實(shí)體識別系統(tǒng)實(shí)現(xiàn)中來,減少對規(guī)則的依賴。
[1] Zhai L, FUNG P, SCHWARTZ R et al. Using N-best Lists for Named Entity Recognition from Chinese Speech[C]//Proceedings of HLT/NAACL-2004, 2004.
[2] Borthwick A, Sterling J and Agichtein E et al. Description of the MENE Named Entity System as Used in MUC-7[C]//Proceedings of the 7th Message Understanding Conference(MUC-7). Washington D.C, 1998: 145-150.
[3] Krupka G R, Haasman K. Description of the NetOwl Extractor System as Used for MUC-7[C]//Proceedings of the 7th Message Understanding Conference (MUC-7). Washington D.C, 1998: 133-138.
[4] Black W J, Rinaldi F, Mowatt D. Description of the NE System used for MUC-7[C]//Proceedings of the MUC-7, Washington D.C, 1998: 115-120.
[5] Hirano T. Detecting Semantic Relations between Named Entities in Text Using Contextual Features[C]//Proceedings of the 45th Annual Meeting of the Association for Computational Linguistics. Prague, Czech, 2007.
[6] Mao X N, Dong Y, He S K, et al. Chinese Word Segmentation and Named Entity Recognition Based on Conditional Random Fields[C]//Sixth SIGHAN Workshop on Chinese Language Processing. 2008:90-93.
[7] Yu X F, Lam W, Chan S K. Chinese NER Using CRFs and Logic for the Fourth SIGHAN Bakeoff[C]//Sixth SIGHAN Workshop on Chinese Language Processing. 2008:335-342.
[8] Yang F, Zhao J, Zou B. CRFs-Based Named Entity Recognition Incorporated with Heuristic Entity List Searching[C]//Sixth SIGHAN Workshop on Chinese Language Processing. 2008:171-174.
[9] 張祝玉,任飛亮,朱靖波. 基于條件隨機(jī)場的中文命名實(shí)體識別特征比較研究[C]//第4屆全國信息檢索與內(nèi)容安全學(xué)術(shù)會議論文集. 2008.