宋希良, 韓先培, 孫 樂
(1. 中國科學院 軟件研究所 中文信息處理實驗室,北京 100190; 2. 中國科學院大學,北京 100049)
命名實體識別(named entity recognition,NER)是信息抽取中的基礎任務,旨在從無結構的文本中識別出人名、地名和組織結構名等類型的實體。人名識別可以作為命名實體識別任務的一部分,使用命名實體識別的方法與其他類型的實體同時進行識別;其也可以作為一項單獨的任務,使用基于規(guī)則、詞典、統(tǒng)計以及混合的方法進行識別。
基于規(guī)則的方法需要領域?qū)<铱偨Y并維護大量的規(guī)則,需要相應的人力成本;基于詞典的方法只能識別詞典范圍內(nèi)的實體,泛化性能差。除純粹基于規(guī)則和詞典的方法外,當前的人名識別方法依賴于訓練語料對特定類型人名的覆蓋,在遇到新類型人名時識別性能顯著下降。例如,《人民日報》語料中的人名大部分都是漢族人名,系統(tǒng)在遇到維吾爾人名、日本人名和蘇俄人名等子類型人名時性能很差。
針對上述問題重新構建訓練語料是一種耗時耗力的任務。有研究者利用Wikipedia的結構自動標注數(shù)據(jù)用于訓練數(shù)據(jù),如DBpedia Spotlight[注]https://www.dbpedia-spotlight.org/、TagMe[注]https://tagme.d4science.org/tagme/、AIDA[注]https://gate.d5.mpi-inf.mpg.de/webaida等,但其存在兩個問題:一是其實體來源于Wikipedia實體集合,大部分是比較常見的實體,且其類型和規(guī)模不能進行擴展;二是其文本來自Wikipedia文本,訓練得到的模型對其他類型的文本(如來自社交媒體的文本)的性能會變差。也有研究者提出基于詞典的數(shù)據(jù)標注方法,文獻[1]提出了兩種使用詞典進行標注訓練的方法,一種是使用生語料庫詞典匹配的訓練方法(DMC Training),另一種是使用生語料庫自動標注加詞典增強與標注語料庫相結合的訓練方法(DECAC Training)。此類方法也存在兩個問題:一是這種類似于遠距離監(jiān)督學習的方法會產(chǎn)生標注噪聲,詞典中的實體在不同的上下文中可能不是實體或者與詞典中的實體類型不一致;二是對于不在詞典中的真實實體則會被錯誤地標注成非實體。
此外,針對子類型人名識別問題,有學者針對不同的人名子類型,總結該子類型人名特點,使用規(guī)則、詞典、統(tǒng)計以及相混合的方法構建特定于該類型的人名識別系統(tǒng)。文獻[2-3]使用統(tǒng)計和規(guī)則相結合的方法來識別日本人名以及音譯人名,文獻[4]利用統(tǒng)計的方法結合總結的維吾爾人名的構成規(guī)則來進行維吾爾族人名的識別,文獻[5]針對音譯人名的發(fā)音特點,將中文拼音與對應外語的字符串映射到國際音標字母表(international phonetic alphabet,IPA)然后基于發(fā)音相似度進行音譯人名的識別。該類型方法的準確率較高,但移植到其他人名子類型的靈活性比較差。
針對以上問題,本文提出了一種基于數(shù)據(jù)增強(data augmentation)的方法,通過簡單的新類型實體替換策略來生成偽訓練數(shù)據(jù),有效提升系統(tǒng)對不同新類型人名的識別性能。對每種子類型人名,本文提出了貪心的代表性子類型人名選擇算法來選擇有代表性的該類型人名實體的子集,讓模型自動學習該子類型的人名構成特點,無需特定于該類型人名的先驗知識。
本文的組織結構如下:第1節(jié)主要介紹相關工作;第2節(jié)主要介紹本文所采用的數(shù)據(jù)增強方法;第3節(jié)主要介紹實驗設置、實驗結果和實驗結論;最后一節(jié)介紹本文的結論和未來工作。
人名識別可以作為NER任務的一部分,可以采用NER的方法進行識別,此類方法通常將任務建模成序列標注任務,使用的統(tǒng)計模型有隱馬爾可夫模型HMM[6]、條件隨機場模型CRF[7-8]以及深度學習模型[9-12]等。對特定的子類型人名識別時,當前的方法主要采用針對特定于該子類型的特點,利用該子類型先驗知識,建立特定于該子類型人名的模型。文獻[13]使用基于語義角色標注的方法,利用中國人名及上下文中的不同角色作用,來進行中國人名識別,該方法依賴于訓練語料中對中國人名以及上下文的角色覆蓋情況。也有學者針對人名的構成特點,使用混合策略的方法進行人名的識別。文獻[5]利用外國人名的中文音譯名的發(fā)音特點,提出了基于中文和外文相似度的外文翻譯人名的識別方法;文獻[3,14]提出了CRF模型初篩—人名可行度模型確認—上下文規(guī)則篩選—局部統(tǒng)計算法進行邊界糾正—全文擴散未識別人名的統(tǒng)計和規(guī)則相結合的線式方法,規(guī)則主要來源于基于錯誤驅(qū)動的轉(zhuǎn)換學習和基于人名的邊界糾正規(guī)則。以上的方法的性能均依賴于標注數(shù)據(jù),標注數(shù)據(jù)的覆蓋情況、質(zhì)量及規(guī)模決定了模型的性能。
與本文相關的一項評測任務是WNUT2017[注]http://noisy-text.github.io/2017/emerging-rare-entities.html組織的評測任務“Emerging and Rare entity recognition”,該任務旨在從最新出現(xiàn)的文本如社交媒體文本中,識別出比較稀少或未出現(xiàn)過的實體。該評測任務的潛在要求是待識別的實體在訓練數(shù)據(jù)中沒有出現(xiàn)過或者出現(xiàn)的次數(shù)極少,因此該任務限制了訓練數(shù)據(jù)中實體的覆蓋度。參與評測任務隊伍模型的主要框架是基于詞、字符的Bi-LSTM-CRF模型,各個隊伍主要進行了兩個方向的探索:一是實體本身信息的探索如實體、組塊、詞典等更深層次的信息;二是實體上下文信息的探索,如全局上下文信息和局部上下文信息。
也有學者研究不同領域間的命名實體識別問題,即領域適應問題。其假設與本文稍有不同:假設源領域和目標領域的上下文分布不同,但實體的類別標簽相同或類似。根據(jù)目標領域中的數(shù)據(jù)是否有標注,可以分為兩種類型的任務:第一種,目標領域沒有標注數(shù)據(jù),只有大量未標注數(shù)據(jù);第二種,目標領域有少量標注數(shù)據(jù)和大量未標注數(shù)據(jù)。第一種任務主要采用的是無監(jiān)督領域適應方法,文獻[15-16]利用主題模型如LSA和LDA將特征映射到潛在語義空間,以此來進行領域適應;文獻[17]使用迭代訓練的方式,在大量的未標注目標數(shù)據(jù)集上訓練模型。在第二種任務中,針對目標領域的少量標注數(shù)據(jù),不同的研究者提出了不同的使用方式:文獻[18]與主題模型類似,將源領域和目標領域的特征組織成層次的樹狀結構,然后在訓練目標領域模型時,使用源領域模型的先驗知識,以此來進行領域適應;文獻[19-20]在領域之間共享全部或部分架構源,但其目的是使用源領域訓練的參數(shù)對目標領域參數(shù)進行初始化,以此來利用神經(jīng)網(wǎng)絡學習到的源領域的語義先驗知識。
新類型人名實體的識別性能依賴于訓練數(shù)據(jù)對這些人名的覆蓋,而通用領域的人名訓練數(shù)據(jù)往往不包含新類型的人名實體,或者僅包含很少量的新類型人名實體。包含新類型人名的真實訓練數(shù)據(jù)不易獲取,但其人名集合及通用領域人名訓練數(shù)據(jù)容易獲取。本文假設不同類型的人名出現(xiàn)的上下文分布一致,基于此假設提出了數(shù)據(jù)增強(data augmentation,DA)方法,通過獲取不同人名子類型的詞典,以簡單的替換策略來自動生成符合語法和假設的新類型人名標注實例。
在不同的人名子類型出現(xiàn)的上下文中,有很多通用的上下文,例如,人名后面可以有表示動作性的詞語,前面可以有表示頭銜的詞語。這些比較通用的上下文對判定候選詞是否是人名提供必要的信息;另一方面,在不同的人名子類型出現(xiàn)的上下文中,也有特定于其子類型的上下文,例如,日本人名的上下文可以是包含與日本有關的地名、組織機構名等,這些上下文對區(qū)分該人名的子類型提供重要的信息。特定人名子類型的上下文只能通過包含該子類型人名的真實標注數(shù)據(jù)獲取,由于缺乏真實的標注數(shù)據(jù),這一類信息很難獲取到,但通用的上下文信息可以在通用領域的標注數(shù)據(jù)中獲取。在本文中,不同子類型的人名統(tǒng)一標注為PER,不區(qū)分其子類型,同時為了充分利用通用人名標注數(shù)據(jù)來自動生成子類型人名標注數(shù)據(jù),本節(jié)提出了人名上下文條件獨立性假設。該假設指不同類型的人名出現(xiàn)的上下文分布一致,具體地,給定出現(xiàn)人名實體的上下文,其出現(xiàn)的人名子類型與上下文無關。更形式地,給定人名左上下文Cleft,以及右上下文Cright,其出現(xiàn)不同人名子類型peri,perj的概率相等,如式(1)所示。
P(peri|Cleft,Cright)=P(perj|Cleft,Cright), ?i≠j
(1)
例如,“今天上午,{PER} 出席了會議,并做了大會報告?!敝械腜ER可以是任何人名子類型的實體。
本文在Chinese Gigaword第二版中的新華社語料[注]https://catalog.ldc.upenn.edu/LDC2005T14中,統(tǒng)計了不同類型的人名及其上下文的分布情況。本文在使用Stanford NER工具進行標注以后,將人名分為漢族人名、歐美人名、日本人名、蘇俄人名及新疆維吾爾族人名(維族人名),計算各種子類型人名之間的JS散度,計算結果如表1所示。從表1中可以看出,各種子類型人名之間的JS散度值比較小,而與整個語料的JS散度值比較大,這在一定程度上驗證了本文提出的上下文條件獨立性假設。
表1 各種人名子類型上下文以及語料分布的JS距離
本文選擇的人名的子類型是維族人名子類型、日本人名子類型以及蘇俄人名子類型。維吾爾人名雖然屬于中國人名,但由于維吾爾人有自己的獨立語言,人名數(shù)量多、規(guī)律性差、隨意性大、結構成分復雜、歧義性較大,識別起來存在著一定困難[4],且因其相關的研究比較少,因此本文選 擇 了維吾爾人名子類型作為新類型人名之一。文獻[21]對人名做了深入統(tǒng)計:在3.8 萬個歐美人名、4.4萬個蘇俄人名和1.5萬個日本人名的實體名列表上,300個高頻歐美人名用字覆蓋了98.75%的歐美人名,200個高頻蘇俄人名覆蓋了99.32%的蘇俄人名,而1 000個高頻日語人名用字覆蓋了94.19%的日本人名。相比歐美人名,日本人名用字相對比較廣,姓氏比較多,且還有許多與地名重合的部分,識別起來更具有挑戰(zhàn)性,因此本文選擇了日本人名子類型作為第二種新類型人名。蘇俄人名的識別相關研究比較少,本文選擇將其作為第三種新類型人名進行識別。
新類型人名詞表存儲了新類型人名使用的字符和詞語的分布和組合情況,主要用于生成新類型人名訓練語料。本文采用多種策略,從互聯(lián)網(wǎng)上獲取對應的子類型人名實體表,主要來源于現(xiàn)成的人名詞表,如搜狗詞庫[注]https://pinyin.sogou.com/dict/;雙語人名詞表,如新華社世界人名翻譯大辭典[22];對應子類型人名的垂直網(wǎng)站,如新疆地區(qū)政府網(wǎng)站、教育網(wǎng)站的公示信息等。
獲取新類型人名詞典以后,需要使用該詞典與通用人名的標注語料生成新類型人名的標注數(shù)據(jù)。當新類型的人名資源不容易獲取時,獲取到的新類型人名詞典的規(guī)模比較小,這時可以使用該新類型人名詞典的全部人名實體生成標注數(shù)據(jù),這樣不會使得學習到的模型在標注時傾向于該類型人名實體。本文獲取到的三種新類型人名實體的規(guī)模與訓練語料標注實例在同一數(shù)量級上,使用全部的詞典會使得新產(chǎn)生的標注數(shù)據(jù)中該人名子類型的標注實例頻率遠超于其他類型(如通用人名)實例,而且使用過多的詞典,會使得上下文重復出現(xiàn),模型在訓練數(shù)據(jù)上出現(xiàn)過擬合現(xiàn)象。因此產(chǎn)生新類型標注數(shù)據(jù)時,需要選擇新類型詞典中的一個子集,該子集能夠有效地代表整個新類型詞典,使用其產(chǎn)生更合理的標注數(shù)據(jù)。
本節(jié)從兩個方面研究了代表整個字典的子集選擇方法。一方面,選擇的子集的詞匯能盡可能多地覆蓋整個詞典的詞匯。這里的詞匯可以是字符,也可以是分詞的子詞。本文研究了使用字符時的子集覆蓋情況,發(fā)現(xiàn)維族人名和蘇俄人名的子集的規(guī)模僅僅在幾百時就能覆蓋整個集合,日本人名子集規(guī)模稍微大一些,但其規(guī)模相對于訓練實例的數(shù)量都太小,而使用字符覆蓋不能保證子詞的覆蓋,這對基于詞粒度的人名識別系統(tǒng)的幫助是有限的。本文使用的人名實體識別模型是基于詞粒度的,因此選擇使用子詞的覆蓋度進行子集選擇,同時在分詞時本文選擇最小粒度的分詞器,這樣盡可能地減少分詞錯誤,減少子集選擇的規(guī)模。給定子集的規(guī)模大小N,本文定義的覆蓋度如式(2)所示。
Coverage=|Udict∩UN|/|Udict|
(2)
其中,UN表示規(guī)模為N的子集的子詞集合,Udict表示整個新類型詞典的子詞的集合,|U|表示集合U的元素數(shù)量。
另一方面,詞典中的子詞有的是高頻子詞,包含該子詞的人名也是相對高頻人名,包含詞典中的長尾子詞人名是相對低頻人名。為了使得子集能夠包含更多的高頻子詞,同時也覆蓋長尾的子詞,選擇的子集子詞分布要盡可能地與整個詞典子詞分布接近。本文使用KL距離描述子集和全集的子詞分布相似程度,如式(3)所示。
(3)
其中,p是全集的子詞分布,q是子集的子詞分布。
上述的兩個目標相互影響,同時優(yōu)化比較困難。為了簡化問題,本文提出了貪心的代表性子類型人名選擇算法,將以上兩個過程分開,分別使用貪心的替代算法。首先設定子集的初始規(guī)模N,使用貪心的策略最大化字符覆蓋度;之后設定子集增大的最大規(guī)模為αN(α>1),使用貪心的策略最大化子集和全集的子詞分布相似度。上述過程的算法描述如算法1所示。
Algorithm1:代表性子類型人名選擇算法Input:特定新類型人名實體集合Udict,覆蓋度最大候選集合數(shù)N,候選子集最大數(shù)αN(α>1)Output:候選新類型人名子集UαN;候選子類型子集大小count←0;候選子類型子集UαN←[];新類型人名全集剩余集合Uleft←UdictWhilecount
3.1.1 數(shù)據(jù)及其處理
本文選用1998年《人民日報》1—6月份的語料:1—4月的數(shù)據(jù)作為基本的訓練集,5—6月的數(shù)據(jù)作為基本的測試集。對這些數(shù)據(jù)使用ansj[注]https://github.com/NLPchina/ansj_seg細粒度分詞器進行分詞。在本文中,只考慮人名類別的實體,將地點和組織機構類型的實體忽略。原始訓練和測試數(shù)據(jù)中的人名出現(xiàn)次數(shù)和人名出現(xiàn)句子數(shù)的統(tǒng)計信息如表2所示。構造的三種新類型人名詞典,其規(guī)模都在3萬以上,如表3所示[注]部分人名來自https://github.com/wainshine/Chinese-Names-Corpus并進行了過濾。。
表2 訓練測試數(shù)據(jù)人名統(tǒng)計信息
表3 新類型人名詞典規(guī)模
本文使用兩種類型的測試數(shù)據(jù):一種是使用數(shù)據(jù)增強的方式自動生成的包含新類型人名的偽測試數(shù)據(jù),其中的子類型人名從不在訓練數(shù)據(jù)中出現(xiàn)的人名詞典中隨機選擇;另一種是從三種新類型人名的新聞網(wǎng)站獲取并人工標注的真實數(shù)據(jù)。這些新聞網(wǎng)站包括天山網(wǎng)[注]http://www.ts.cn/、俄羅斯衛(wèi)星通訊社[注]http://sputniknews.cn/、日本新聞網(wǎng)[注]http://www.ribenxinwen.com/等。按照三種新類型人名等比例標注,去掉大量不包含新類型人名的句子以及噪聲數(shù)據(jù),共標注536句,人名實體出現(xiàn)540次。
本文設定每一種新類型人名子集的最大實體數(shù)為包含通用人名句子數(shù)的1/3,使用覆蓋度策略選擇子類型人名時,N大小設置為能夠覆蓋90%該子類型人名詞典子詞的最小子詞數(shù)。
3.1.2 模型
為了更好地適應不同人名子類型的識別,提高模型的通用性,本文選擇了不同的模型。為了減少模型本身帶來的誤差,我們選擇了兩類模型三種實現(xiàn)方法。第一類模型是傳統(tǒng)的CRF模型,本文選擇了Stanford CRF[8]和CRFsuite[23]兩種實現(xiàn)方法;第二種是基于深度學習的模型,本文選擇的是Anago[12]實現(xiàn)方法。其中Stanford CRF使用其在OntoNotes數(shù)據(jù)集上調(diào)優(yōu)的特征集合。CRFSuite的特征模板為窗口為6的上下文字符、子詞以及前綴、后綴、長度等。Anago的詞向量來自Wikipedia中文數(shù)據(jù)訓練的200維度詞向量,同時使用了基于字符的向量,其他參數(shù)默認。本文實驗中均沒有使用詞性特征。
3.1.3 對比實驗設置
本節(jié)使用《人民日報》的原始訓練數(shù)據(jù)分別訓練三個模型,以此作為基線系統(tǒng),記作Base,使用新類型人名增強的訓練數(shù)據(jù)訓練的三個模型作為對比系統(tǒng),記作DA。將訓練得到的系統(tǒng)分別在偽測試數(shù)據(jù)和真實標注數(shù)據(jù)上進行測試,在模型后面分別使用fake和mannual作標記。評價的指標為人名實體的準確率(P)、召回率(R)和F1值。
此外,為了對比覆蓋度和分布相似性兩個因素對實驗結果的影響,本文構造了“低覆蓋度—高分布相似性(LCHD)”和“高覆蓋度—低分布相似性(HCLD)”的兩組訓練和測試數(shù)據(jù)集,使用上述的三個模型進行實驗。
將基線系統(tǒng)和對比系統(tǒng)在增強的測試數(shù)據(jù)集上進行測試,偽測試數(shù)據(jù)中保留了部分原有的通用人名數(shù)據(jù)。表4展示了三種方法分別在不同語料上的人名識別結果。其中Base表示使用原始的《人民日報》數(shù)據(jù)訓練得到的基線系統(tǒng),DA表示使用增強的數(shù)據(jù)訓練得到的對比系統(tǒng)?!澳P?fake)”和“模型(mannual)”分別表示模型在偽測試數(shù)據(jù)中的測試結果和在真實標注數(shù)據(jù)上的測試結果。表5展示了三種詞典子集選擇策略的實驗結果。
總體而言,在偽測試數(shù)據(jù)和人工標注的新聞數(shù)據(jù)的測試結果中,人名識別的性能均有顯著提升,F(xiàn)1值分別提升了至少12個和6個百分點。從表4可以看出,在偽測試數(shù)據(jù)中,三種模型F1值均提升了12個以上百分點,其中CRFSuite模型提升最高,約20個百分點,其次是Stanford CRF,提升15個百分點,Anago的F1提升12個百分點。實驗結果表明,在對新類型人名不進行人工標注的情況下,使用新類型人名詞典基于數(shù)據(jù)增強方法生成的偽訓練數(shù)據(jù),能夠充分利用通用人名標注數(shù)據(jù)的標注結果,顯著提升新類型人名的識別性能。
表4 三種模型與基線系統(tǒng)對比實驗結果
表5 三種詞典子集選擇策略實驗結果
三個模型在偽測試數(shù)據(jù)上的測試性能接近,但在《人民日報》原有數(shù)據(jù)集上進行訓練的基線模型中,Anago的F1值最高,其次是Stanford CRF模型。在人工標注的真實數(shù)據(jù)集實驗中,三個模型的F1值均提升了6個百分點以上,Anago提升了12個百分點,CRFSuite和Stanford CRF分別提升了7個和6個百分點。真實測試數(shù)據(jù)的性能整體上要低于在偽測試數(shù)據(jù)上的性能,主要是由于真實數(shù)據(jù)來源于最新的新聞數(shù)據(jù),與1998年《人民日報》行文風格差異很大,人名實體的上下文分布也不完全一致。
基于覆蓋度和分布相似性策略選擇的兩組訓練數(shù)據(jù)訓練的三組模型,在偽標注數(shù)據(jù)集上的性能與基于兩種因素的選擇結果類似,F(xiàn)1相差在0.5個百分點以內(nèi)。其在真實的標注數(shù)據(jù)集的測試結果如表5所示??傮w而言,考慮兩種因素的選擇策略(Gold)性能最佳。CRFSuite模型的F1值在三組選擇策略中非常接近;Stanford CRF模型的F1也比較接近,基于高分布相似性策略(LCHD)要比基于高覆蓋度策略(HCLD)的F1值高1.4個百分點;Anago模型的F1值在三種策略中差異比較大,Gold策略比LCHD高6個百分點,比HCLD高11.5個百分點。通過實驗樣例分析,雖然實驗中LCHD是低覆蓋度策略,但在真實數(shù)據(jù)集測試時,與HCLD策略的覆蓋度差異很小,但后者選擇的詞表與真實分布相反:HCLD策略更傾向于選擇真實分布中低頻的詞,這使得模型已覆蓋的詞典學習存在偏差。通過其他額外的實驗分析,我們發(fā)現(xiàn)通過高覆蓋率選擇初始的子集后,通過均勻分布選擇剩余的詞典詞語的策略,實驗性能也能接近Gold策略的結果。
在本文實驗中,基線方法的F1比較高的原因有三點:①《人民日報》語料中含有一些日本人名和音譯人名實體; ②本文使用的分詞器的分詞粒度比較小,很多新類型人名實體被分詞器分成了單字詞,這些單字詞在原始的人民日報語料中已經(jīng)被覆蓋了一部分; ③使用替換策略增強數(shù)據(jù)方法生成的測試數(shù)據(jù)實體的上下文與訓練數(shù)據(jù)分布一致,模型可以根據(jù)上下文信息獲取部分實體的類別信息。
本文介紹了利用新類型人名詞典增強訓練數(shù)據(jù)的方法,提出了貪心的代表性子類型人名選擇算法,用于解決訓練數(shù)據(jù)不覆蓋新類型人名時模型不能有效識別這些人名實體的問題。實驗對比了在偽測試數(shù)據(jù)和真實測試數(shù)據(jù)下的識別結果,本文提出的方法對識別結果均有顯著提高。
目前本文只考慮了人名實體類型,沒有考慮其他實體類型,在未來工作中,我們將探索多種實體類型的數(shù)據(jù)增強方法,以進一步提高模型對不同實體的各種子類型的識別能力。此外,本文中所選擇的詞典的子集規(guī)模相對比較大,沒有深入探究產(chǎn)生最佳性能的最小的詞典子集規(guī)模,在未來工作中,我們將繼續(xù)研究選擇詞典子集的最小規(guī)模,以及影響該規(guī)模的因素。