張海楠,伍大勇,劉 悅,程學(xué)旗
(1. 中國科學(xué)院 計(jì)算技術(shù)研究所,北京 100190; 2. 煙臺(tái)中科網(wǎng)絡(luò)技術(shù)研究所,山東 煙臺(tái) 264000)
基于深度神經(jīng)網(wǎng)絡(luò)的中文命名實(shí)體識(shí)別
張海楠1,伍大勇1,劉 悅1,程學(xué)旗2
(1. 中國科學(xué)院 計(jì)算技術(shù)研究所,北京 100190; 2. 煙臺(tái)中科網(wǎng)絡(luò)技術(shù)研究所,山東 煙臺(tái) 264000)
由于中文詞語缺乏明確的邊界和大小寫特征,單字在不同詞語下的意思也不盡相同,較于英文,中文命名實(shí)體識(shí)別顯得更加困難。該文利用詞向量的特點(diǎn),提出了一種用于深度學(xué)習(xí)框架的字詞聯(lián)合方法,將字特征和詞特征統(tǒng)一地結(jié)合起來,它彌補(bǔ)了詞特征分詞錯(cuò)誤蔓延和字典稀疏的不足,也改善了字特征因固定窗口大小導(dǎo)致的上下文缺失。在詞特征中加入詞性信息后,進(jìn)一步提高了系統(tǒng)的性能。在1998年《人民日?qǐng)?bào)》語料上的實(shí)驗(yàn)結(jié)果表明,該方法達(dá)到了良好的效果,在地名、人名、機(jī)構(gòu)名識(shí)別任務(wù)上分別提高1.6%、8%、3%,加入詞性特征的字詞聯(lián)合方法的F1值可以達(dá)到96.8%、94.6%、88.6%。
命名實(shí)體識(shí)別;深度學(xué)習(xí);神經(jīng)網(wǎng)絡(luò);機(jī)器學(xué)習(xí);詞性
Abstract: Chinese NER is challenged by the implicit word boundary, lack of capitalization, and the polysemy of a single character in different words. This paper proposes a novel character-word joint encoding method in a deep learning framework for Chinese NER. It decreases the effect of improper word segmentation and sparse word dictionary in word-only embedding, while improves the results in character-only embedding of context missing. Experiments on the corpus of the Chinese Peoples' Daily Newspaper in 1998 demonstrates a good results: at least 1.6%, 8% and 3% improvements, respectively, in location, person and organization recognition tasks compared with character or word features; and 96.8%, 94.6%, 88.6% in F1, respectively, on location, person and organization recognition tasks if integrated with part of speech feature.
Key words: named entity recognition; deep learning; neural network; machine learning; POS
命名實(shí)體識(shí)別(named entity recognition,NER)是自然語言處理(natural language processing,NLP)的一項(xiàng)基礎(chǔ)任務(wù),它的重要作用是從文本中準(zhǔn)確地識(shí)別出人名、地名、機(jī)構(gòu)名、時(shí)間、貨幣等信息[1],為機(jī)器翻譯、自動(dòng)文摘、主題發(fā)現(xiàn)、主題跟蹤等高級(jí)NLP任務(wù)提供實(shí)用的信息。最初的NER主要采用的是基于規(guī)則的識(shí)別,通過領(lǐng)域?qū)<液驼Z言學(xué)者手工制定有效規(guī)則,識(shí)別出命名實(shí)體。這樣的方法僅適用于簡(jiǎn)單的識(shí)別系統(tǒng),對(duì)于復(fù)雜的NER,要求規(guī)則之間不能產(chǎn)生沖突,因此制定規(guī)則會(huì)消耗人們大量的時(shí)間和精力,且領(lǐng)域遷移性欠佳。因此,隨著技術(shù)的發(fā)展,越來越多的人們采用機(jī)器學(xué)習(xí)的方法來完成NER任務(wù)。
近年來,研究者們把NER任務(wù)規(guī)約為一種序列標(biāo)注任務(wù)[2],對(duì)于每一個(gè)輸入的字,判斷其標(biāo)簽類別,根據(jù)最終的類別標(biāo)簽判定命名實(shí)體的邊界和類型。例如,在“SBEIO”策略中,S表示這個(gè)字本身就是一個(gè)命名實(shí)體,B表示該字是命名實(shí)體的開始,I表示該字位于命名實(shí)體的中間位置,E表示命名實(shí)體的結(jié)尾,O表示該字不屬于命名實(shí)體的一部分。序列標(biāo)注任務(wù)有許多適用的機(jī)器學(xué)習(xí)方法,例如,隱馬爾科夫模型(hidden markov models, HMM)[3]、最大熵馬爾科夫模型(maximum entropy markov models, MEMM )[4]、條件隨機(jī)場(chǎng)(conditional random fields, CRF)[5]等。這些學(xué)習(xí)方法需要研究者手工提取有效的語法特征,設(shè)定模型的模板進(jìn)行識(shí)別,因此特征模板的選擇直接影響NER的結(jié)果。Zhou和Su[6]提出使用四種不同的特征去提高HMM在NER的性能。Borthwick[4]等利用了MEMM和額外的知識(shí)集合,例如姓氏集,提高了NER標(biāo)注的準(zhǔn)確性。Lafferty[7]等提出CRF用于模式識(shí)別和機(jī)器學(xué)習(xí),后來McCallum和Li[5]提出了特征感應(yīng)的方法和Viterbi方法,用于尋找最優(yōu)NER序列。在中文NER領(lǐng)域,存在著一些問題,例如系統(tǒng)的自適應(yīng)性不強(qiáng)、網(wǎng)頁數(shù)據(jù)復(fù)雜、簡(jiǎn)稱機(jī)構(gòu)名識(shí)別困難[8]。陳鈺楓[9]提出使用雙語對(duì)齊信息來提高NER性能和雙語對(duì)齊結(jié)果,可以有效提高中文NER的自適應(yīng)性。邱泉清[10]提出使用CRF模型對(duì)微博數(shù)據(jù)進(jìn)行命名實(shí)體識(shí)別,利用知識(shí)庫和合適的特征模板,取得了良好的效果。本文使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行NER,可以提高系統(tǒng)的召回率,有效提升系統(tǒng)的自適應(yīng)性。
機(jī)器學(xué)習(xí)方法需要提取文本特征,如何高效地表示文本的語法和語義特征,是NLP領(lǐng)域亟需解決的問題。近幾年,word2vec的提出吸引了無數(shù)NLP愛好者的目光。它可以將詞語表示成一個(gè)固定長度的低維向量,這個(gè)向量被認(rèn)為具有一定的潛在語義信息,近似詞語之間具有一定的向量相似性,詞向量之間還可以進(jìn)行加減操作,獲得詞語之間的語義聯(lián)系,例如等式“國王-男+女=王后”成立[11]。因此,使用詞向量作為輸入特征,可以更自然地展示語言的潛在信息,而且不需要手工設(shè)置特征模板,對(duì)于NER的識(shí)別具有一定的積極意義。可以把詞向量作為深度神經(jīng)網(wǎng)絡(luò)的輸入,執(zhí)行許多NLP任務(wù)[12]。深度神經(jīng)網(wǎng)絡(luò)是一個(gè)用于挖掘潛在有用特征的多層神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)的每一層的輸出是該語句的一種抽象表示,層級(jí)越高,表示的信息越抽象。語言本身就是一種抽象的表達(dá),因此采用基于詞向量的特征表示,利用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行命名實(shí)體識(shí)別,可以有效地提高NER的性能[12]。
相較于西方語言如英語的NER,中文命名實(shí)體識(shí)別顯得更加困難,因?yàn)橹形脑~語沒有明確的邊界信息和首字大小寫信息。因此,分詞錯(cuò)誤的漫延和信息缺失會(huì)大大降低NER的準(zhǔn)確率[13]。中文的字和詞都具有其特定的語義信息,相同的字組成不同順序的詞語之間的語義可能差別很大,而且由于詞典的不完備性,識(shí)別過程中會(huì)出現(xiàn)很多的未登錄詞造成識(shí)別的錯(cuò)誤,自然地,基于字的命名實(shí)體識(shí)別方法被提出[14]。但是,基于字的NER也有其自身的局限性。一方面,由于窗口大小的限制,導(dǎo)致無法獲得更多的有用信息;另一方面,中文詞語具有其特殊的含義,字也有它本身的意義,僅使用字的NER系統(tǒng)無法高效關(guān)聯(lián)出字詞之間的聯(lián)系。因此,我們考慮使用字詞結(jié)合的方法進(jìn)行NER。詞性是詞語的重要屬性,詞性可以表達(dá)更加抽象的詞語特征,因此在NER中加入詞性特征可以為系統(tǒng)提供更多的有用信息[2],幫助分類算法進(jìn)行分歧判斷。因此,我們提出將詞性信息加入特征向量中,該方法可進(jìn)一步提高中文命名實(shí)體識(shí)別系統(tǒng)的性能。
本文的主要工作如下: (1)我們提出將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于中文命名實(shí)體識(shí)別,該方法可有效提高中文NER的性能; (2)我們利用字向量、詞向量的特點(diǎn),提出了將字詞聯(lián)合的方法用于深度神經(jīng)網(wǎng)絡(luò)的中文NER系統(tǒng); (3)我們方便地在深度神經(jīng)網(wǎng)絡(luò)中加入了詞性信息,進(jìn)一步提高了系統(tǒng)的識(shí)別性能。
本文的組織結(jié)構(gòu)如下: 第一節(jié)介紹了引言及相關(guān)工作;第二節(jié)主要介紹了深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和訓(xùn)練方法,詳細(xì)介紹了字向量、詞向量和字詞結(jié)合向量三種輸入特征的表示;第三節(jié)對(duì)比了不同窗口大小和隱藏節(jié)點(diǎn)個(gè)數(shù)情況下,在字向量、詞向量和字詞聯(lián)合向量作為輸入特征時(shí),DNN在中文NER上的實(shí)驗(yàn)結(jié)果;最后一節(jié)是本文的結(jié)論。
命名實(shí)體識(shí)別任務(wù)可以被抽象為輸入的每一個(gè)字進(jìn)行“SBEIO”標(biāo)簽預(yù)測(cè)的問題。傳統(tǒng)的標(biāo)注方法是人工選擇一組適合該任務(wù)的特征模板,標(biāo)注結(jié)果的好壞依賴于特征模板的質(zhì)量。因此,研究者需要學(xué)習(xí)和掌握語言學(xué)知識(shí)和領(lǐng)域常識(shí),這會(huì)消耗大量的時(shí)間、財(cái)力和精力。Collobert[12]等提出了一種深度神經(jīng)網(wǎng)絡(luò)(deep neural network, DNN)結(jié)構(gòu),普遍適用于許多NLP標(biāo)注任務(wù)。DNN可以訓(xùn)練一套低維詞向量用于詞語的特征表示,它不再需要人工設(shè)計(jì)一個(gè)特殊的特征模板,最重要的是詞語的向量之間具有潛在的語義關(guān)系,因此使用詞向量可以提高任務(wù)的召回率。除此之外,DNN可以很方便的加入額外的特征信息。所以,我們選擇深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行中文NER任務(wù)。
DNN是一個(gè)多層的神經(jīng)網(wǎng)絡(luò),它的結(jié)構(gòu)如圖1所示。第一層是輸入層,它主要負(fù)責(zé)將輸入窗口的字或者詞進(jìn)行詞向量的映射,所有出現(xiàn)在字典中的字或者詞都有一個(gè)固定長度的低維向量,這些向量被存放在Lookup表中,當(dāng)輸入窗口產(chǎn)生新的字詞后,輸入層將對(duì)這些字詞進(jìn)行向量映射,將其按順序進(jìn)行組合,獲得該窗口下的窗口向量,窗口向量作為DNN第二層的輸入。第二層是一個(gè)標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò),它具有兩個(gè)線性層和一個(gè)位于中間的非線性層。第三層是采用Viterbi算法實(shí)現(xiàn)的輸出層,它主要負(fù)責(zé)對(duì)輸入的句子進(jìn)行最優(yōu)標(biāo)簽序列的搜索。
圖1 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
2.1 詞向量特征
我們定義一個(gè)字典DC和一個(gè)詞典DW,所有字向量均保存在字向量矩陣Μc∈Rdc×|DC|中,所有的詞向量均保存在詞向量矩陣Μw∈Rdw×|DW|中,其中dc和dw分別表示每個(gè)字向量和詞向量的維度,|DC|和|DW|分別表示字典和詞典的大小。
給定一個(gè)中文句子c[1∶n],這個(gè)句子由n個(gè)字ci∈DC,1≤i≤n組成,經(jīng)過分詞以后,這個(gè)句子可以被分為m個(gè)詞語wj∈DW,1≤j≤m。我們使用映射函數(shù)Ψc(·)∈Rdc和Ψw(·)∈Rdw,如式(1)、式(2)所示。
2.1.1 字特征
假定中文句子c[1∶n],首先我們抽取每個(gè)字的特征向量作為深度神經(jīng)網(wǎng)絡(luò)的輸入。對(duì)每一個(gè)字ci,最簡(jiǎn)單的方法是直接使用Ψc(ci)作為ci的輸入特征,但是每個(gè)字的上下文對(duì)于這個(gè)字所表達(dá)的意義具有重要的作用,因此應(yīng)該盡可能地使用上下文為ci提供更多的信息。由于句子的長短不一,為了適應(yīng)不同長度的句子,使用滑動(dòng)窗口的方式進(jìn)行字特征的提取是合理的。
我們定義字窗口大小為ωc,然后按照從左到右的順序滑動(dòng)窗口,對(duì)于每一個(gè)字ci,它的輸入特征定義為:
(3)
如果出現(xiàn)字不在字典中的情況或者超邊界,我們將其映射為一個(gè)固定的向量,在實(shí)驗(yàn)中我們?yōu)槊恳痪S數(shù)值均設(shè)定相同的歸一化向量。
(4)
假設(shè)NER的標(biāo)簽種類用Tc表示,則神經(jīng)網(wǎng)絡(luò)的輸出是一個(gè)|Tc|維的向量。例如,使用“SBEIO”策略則輸出層包含五個(gè)節(jié)點(diǎn)。這個(gè)輸出向量表示對(duì)滑動(dòng)窗口中字ci預(yù)測(cè)每個(gè)標(biāo)簽的概率。我們可以對(duì)每個(gè)字按照如式(5)進(jìn)行概率預(yù)測(cè)。
(5)
2.1.2 詞特征
類似字特征,我們定義詞特征窗口為ωw,對(duì)于詞ωj,它的輸入特征可以簡(jiǎn)單定義為:
(6)
詞向量的表示還有一個(gè)優(yōu)點(diǎn),就是可以方便的添加新的特征。例如,對(duì)于詞語可以添加詞性特征,對(duì)于單字可以添加姓氏特征等。由于命名實(shí)體的構(gòu)成依賴于外部語言環(huán)境,詞性信息可以很好地對(duì)詞語進(jìn)行抽象,進(jìn)一步發(fā)現(xiàn)語句的結(jié)構(gòu)聯(lián)系,所以我們?cè)谠~特征中加入詞性信息,進(jìn)一步提高NER的性能。
我們定義詞性標(biāo)注集合為POS,現(xiàn)定義一個(gè)單位方陣Μp∈R|POS|×|POS|,當(dāng)詞ωj被標(biāo)記為psj時(shí),其對(duì)應(yīng)的詞性序?yàn)閗,wj的詞性向量表示為Ψp(psj)∈R|POS|,它是一個(gè)One-hot向量,向量第k值為1,其余全部為0。其映射函數(shù)如式(7)所示。
(7)
給定某個(gè)中文語句由m個(gè)詞w[1∶m]組成,詞性標(biāo)注序列為ps[1:m]。那么,詞特征可以被定義為:
(8)
帶詞性的詞特征被定義為每個(gè)詞向量及其詞性one-hot向量的拼接,然后首尾相接組成詞特征。
2.1.3 字詞結(jié)合特征
我們選擇字詞結(jié)合的向量主要基于以下兩個(gè)原因: (1)基于字的NER不能夠理解中文漢字的意義,例如“中國”和“印度尼西亞”在僅使用字窗口的情況下,因?yàn)榇翱谙拗萍白珠L差異,是無法進(jìn)行聯(lián)系擴(kuò)展并將其正確地識(shí)別為地名的; (2)基于詞的NER強(qiáng)依賴于分詞結(jié)果的質(zhì)量和詞典的完備程度,如果分詞出現(xiàn)錯(cuò)誤會(huì)直接影響NER的結(jié)果。另外,因?yàn)椴淮嬖谟谠~典中的詞語會(huì)被映射為一個(gè)特殊的向量,意味著這個(gè)詞語本身不能夠提供任何信息,極有可能造成詞語的誤判斷。因此,我們選擇字詞結(jié)合的方式進(jìn)行NER,二者之間可以進(jìn)行有效的互補(bǔ),從而提高NER系統(tǒng)的識(shí)別性能。
設(shè)定一種字詞映射關(guān)系:
ci?wj
(9)
其中wj=ci-t…ci…ci+k,t,k≥0。
結(jié)合ci的鄰近字和wj的上下文,定義字窗口和詞窗口大小分別為ωc和ωw,從左至右滑動(dòng)輸入窗口,對(duì)于每個(gè)字ci?wj,它的字詞聯(lián)合輸入特征定義為:
(10)
加入詞性特征以后的字詞聯(lián)合特征如圖2所示,針對(duì)“上”字,抽取的5窗口的字特征如圖左所示,因?yàn)椤吧稀笔恰吧虾!钡囊徊糠?,所以詞特征方面是以“上?!睘橹行牡?,其窗口的詞語如圖右所示,關(guān)于詞性特征,以“上海”是名詞為例,詞性信息在/n位置顯示的是1,其他部分均為0。經(jīng)過將字特征和詞特征進(jìn)行連接,共同作為“上”的輸入特征,進(jìn)入神經(jīng)網(wǎng)絡(luò)進(jìn)行處理,該輸入特征的定義為:
(11)
圖2 字詞聯(lián)合特征
假設(shè)標(biāo)簽集合為T,神經(jīng)網(wǎng)絡(luò)的輸出為|T|維向量,用于指示輸入字ci的標(biāo)簽概率。它的預(yù)測(cè)函數(shù)可以定義為:
(12)
其中Whid∈RH×(ωcdc+ωwdw),bhid∈RH,Wout∈R|T|×H,bout∈R|T|為訓(xùn)練參數(shù),H為隱藏節(jié)點(diǎn)個(gè)數(shù)。
2.2 語句評(píng)分
NER的標(biāo)注結(jié)果取決于兩個(gè)數(shù)值,一是神經(jīng)網(wǎng)絡(luò)輸出層的輸出概率,二是標(biāo)簽的轉(zhuǎn)移概率Aij[12]。轉(zhuǎn)移概率Aij表示的是從第i∈T個(gè)標(biāo)簽轉(zhuǎn)移到第j∈T個(gè)標(biāo)簽的概率,例如B標(biāo)簽后面接E標(biāo)簽的概率要遠(yuǎn)大于接S標(biāo)簽的概率。對(duì)于不會(huì)發(fā)生的轉(zhuǎn)移,可以采用設(shè)置其轉(zhuǎn)移概率為很小的負(fù)數(shù)來進(jìn)行簡(jiǎn)化計(jì)算。對(duì)于可能出現(xiàn)的轉(zhuǎn)移情況,可以采用隨機(jī)初始化或者平均初始化其轉(zhuǎn)移概率。最后可以采用Vertibi算法計(jì)算最優(yōu)標(biāo)簽路徑。
對(duì)于一個(gè)給定的句子c[1∶n],神經(jīng)網(wǎng)絡(luò)為每一個(gè)字輸出一個(gè)標(biāo)簽概率向量,則對(duì)該句子輸出層是一個(gè)標(biāo)簽概率矩陣score(θ,c[1∶n])∈R|T|×n,其中score(t[i],c[i],θ)表示的是第i個(gè)字ci標(biāo)記為標(biāo)簽ti的概率,其計(jì)算方法如式(12)。給定句子c[1∶n],標(biāo)注的標(biāo)簽t[1∶n],將標(biāo)簽概率和轉(zhuǎn)移概率聯(lián)合,表示的是整個(gè)句子標(biāo)注得分,該得分定義為:
+score(t[i],c[i],θ)
(13)
(14)
使用Viterbi算法可以快速計(jì)算出句子的最優(yōu)標(biāo)簽序列。
2.3 梯度下降訓(xùn)練模型
該模型的訓(xùn)練參數(shù)為θ={Mc,Mw,Whid,qhid,Wout,qout,Aij},可以選擇梯度下降法,對(duì)訓(xùn)練集合中的每個(gè)訓(xùn)練樣本(c,t)進(jìn)行迭代訓(xùn)練,最大化句子的概率[12]。參數(shù)的更新操作如下:
(15)
其中,λ是訓(xùn)練速度,p(·) 是神經(jīng)網(wǎng)絡(luò)最終的輸出分?jǐn)?shù)[13],t和c分別表示的是標(biāo)簽序列t[1∶n]和輸入文本c[1∶n]的簡(jiǎn)寫。p(t|c,θ)表示的是給定句子c標(biāo)記為序列t的條件概率,我們需要對(duì)它進(jìn)行歸一化處理,主要采用softmax方法進(jìn)行歸一化。
(16)
其中TP表示的是給定句子c,所有可能的標(biāo)簽序列集合。它的對(duì)數(shù)似然可以表示為:
(17)
隨著句子長度的增加,|TP|會(huì)迅速增長,雖然計(jì)算一次可行路徑的耗時(shí)是線性的,但是計(jì)算所有可行路徑卻是指數(shù)級(jí)的。因此我們選用Zheng[15]提出的加速算法,對(duì)模型進(jìn)行更新。
我們共進(jìn)行了三組實(shí)驗(yàn)進(jìn)行人名、地名、機(jī)構(gòu)名的識(shí)別,第一組實(shí)驗(yàn)的目的是對(duì)DNN參數(shù)進(jìn)行選擇,第二組實(shí)驗(yàn)是對(duì)比字向量、詞向量和字詞結(jié)合向量的NER性能,第三組實(shí)驗(yàn)是比較加入詞性特征后的系統(tǒng)識(shí)別性能。
第一組實(shí)驗(yàn)選用的是1998年《人民日?qǐng)?bào)》語料1月(RMRB-98-1)的數(shù)據(jù),選擇前75%共14 860句的數(shù)據(jù)作為開發(fā)訓(xùn)練集,剩余作為開發(fā)驗(yàn)證集。第二組實(shí)驗(yàn)選用的數(shù)據(jù)集是1998年《人民日?qǐng)?bào)》語料(RMRB-98)1月至6月的數(shù)據(jù),選取80%共100 000句的數(shù)據(jù)作為訓(xùn)練集,其余部分作為測(cè)試集。第三組實(shí)驗(yàn)的數(shù)據(jù)與第二組相同,我們加入一級(jí)詞性、二級(jí)詞性特征后,觀察識(shí)別的F1值的變化情況。除此之外,使用word2vec對(duì)新浪新聞*可以在http: //zhangkaixu.github.io/resources.html下載。5個(gè)季度635MB的數(shù)據(jù)進(jìn)行無監(jiān)督訓(xùn)練,非線性函數(shù)選取的是tanh函數(shù),生成字向量和詞向量,分詞工具使用的是無字典的ICTCLAS。
實(shí)驗(yàn)采用C++編程,運(yùn)行服務(wù)器配置為2.05 GHz AMD Opteron(TM)CPU和8 GB內(nèi)存,軟件使用的是Linux操作系統(tǒng)和g++編譯器。實(shí)驗(yàn)的評(píng)測(cè)方法是F1值、準(zhǔn)確率、召回率。
3.1 DNN參數(shù)實(shí)驗(yàn)
我們使用RMRB-98-1作為開發(fā)集,對(duì)參數(shù)的選擇進(jìn)行實(shí)驗(yàn)分析。對(duì)于人名(PERSON)、地名(LOCA)、機(jī)構(gòu)名(ORGAN)三種識(shí)別任務(wù),分別采用字特征(CHAR)、詞特征(WORD)、字詞聯(lián)合(CH-WO)特征進(jìn)行實(shí)驗(yàn),對(duì)比在不同窗口大小和不同隱藏層節(jié)點(diǎn)的情況下F值的變化情況,實(shí)驗(yàn)結(jié)果如圖2、圖3所示。
圖2 比較不同窗口大小的F1值
圖3 比較不同隱藏節(jié)點(diǎn)個(gè)數(shù)的F1值
從圖2可以看出,當(dāng)窗口大小在3~5時(shí),系統(tǒng)的識(shí)別效果較好。我們可以觀察到如下現(xiàn)象: 字詞結(jié)合系統(tǒng)對(duì)于大部分識(shí)別任務(wù)是窗口大小不敏感的,在小窗口下也可以達(dá)到很好的效果;人名任務(wù)的最優(yōu)窗口大小為5,因?yàn)橹形娜嗣话愣夹∮?并且這樣的窗口大小可以帶來一部分信息;當(dāng)窗口大于5時(shí),由于過擬合的原因,機(jī)構(gòu)名的識(shí)別準(zhǔn)確率急速下降。從圖3可以觀察到,當(dāng)隱藏節(jié)點(diǎn)足夠多時(shí),系統(tǒng)的性能不再受到很大影響,而且隱藏節(jié)點(diǎn)數(shù)目越多系統(tǒng)運(yùn)行越緩慢。因此,在余下的實(shí)驗(yàn)中,我們?cè)O(shè)定了300個(gè)隱藏節(jié)點(diǎn)。
3.2 字詞法合向量對(duì)比實(shí)驗(yàn)
字向量、詞向量、字詞結(jié)合向量對(duì)比實(shí)驗(yàn)的數(shù)據(jù)集為RMRB-98,參數(shù)設(shè)定如表1所示,實(shí)驗(yàn)結(jié)果如表2所示。
表1 神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
續(xù)表
表2 字向量、詞向量、字詞結(jié)合向量對(duì)比結(jié)果
對(duì)于地名和機(jī)構(gòu)名任務(wù),詞向量的結(jié)果優(yōu)于字向量,這主要是因?yàn)樵~向量更能表達(dá)詞語的潛在語義關(guān)系。中文句子是由許多詞語組成的,相同的字的不同組合,語句中詞語意思也可能不相同,而且字特征的窗口受到限制,因此NER的結(jié)果普遍不如詞向量。但是對(duì)于人名識(shí)別任務(wù),由于詞典稀疏問題,詞向量方法中人名會(huì)被影射成一個(gè)特殊向量,降低了識(shí)別效果,而且人名更關(guān)注于姓氏和語句結(jié)構(gòu),因此使用字向量效果更好。
字特征和詞特征都有其自身的局限性,因此當(dāng)使用字詞結(jié)合向量后,三類任務(wù)的取值均有較大提升,對(duì)地名、人名、機(jī)構(gòu)名的提升度分別達(dá)到了1.6%、8%、3%。
3.3 結(jié)合詞性特征對(duì)比實(shí)驗(yàn)
使用DNN結(jié)構(gòu)可以輕松地加入額外的特征信息。例如,當(dāng)我們加入了詞性特征以后,系統(tǒng)的性能有了很大的提高。我們分別對(duì)比了不增加詞性信息(no-pos)、增加一級(jí)詞性標(biāo)注(1-pos)、增加二級(jí)詞性標(biāo)注(2-pos)的實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)中的詞性使用《現(xiàn)代漢語語料庫加工——詞語切分與詞性標(biāo)注規(guī)范》中的詞性標(biāo)注符號(hào)。其中一級(jí)詞性有25個(gè),二級(jí)詞性有39個(gè),如表3所示。實(shí)驗(yàn)結(jié)果如表4所示。我們和現(xiàn)階段較好[8]的NER模型——Hybrid Model[13](HM)進(jìn)行了實(shí)驗(yàn)對(duì)比,HM模型使用的訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)與本文方法相同,實(shí)驗(yàn)結(jié)果顯示: 加入詞性標(biāo)注的字詞聯(lián)合模型可以超越HM的識(shí)別性能,在地名、人名和機(jī)構(gòu)名的識(shí)別上,F(xiàn)1值可以達(dá)到96.8%、94.6%、88.6%。尤其需要指出的是,本文的方法有效提高了地名、人名和機(jī)構(gòu)名識(shí)別任務(wù)的召回率,加入2-pos后系統(tǒng)性能提升明顯。其中在人名F1值方面我們的模型不如HM好,主要原因是HM進(jìn)行了人名的細(xì)分,它針對(duì)不同國家的人名訓(xùn)練了不同的模型并進(jìn)行混合,而我們的模型是不區(qū)分國家人名的,所以我們的結(jié)果略差于HM模型。與此同時(shí),我們還使用了CRF模型與本文方法進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明,加入2-pos后的系統(tǒng)在地名和人名識(shí)別方面表現(xiàn)出色,但機(jī)構(gòu)名識(shí)別方面準(zhǔn)確率不如CRF高,這可能是由于機(jī)構(gòu)名構(gòu)成復(fù)雜,神經(jīng)網(wǎng)絡(luò)語言模型只利用了局部信息而沒有利用全局信息導(dǎo)致的。
表3 詞性標(biāo)注設(shè)置
表4 無詞性、一級(jí)詞性、二級(jí)詞性、HM方法對(duì)比結(jié)果
本文介紹了用于中文命名實(shí)體識(shí)別的深度神經(jīng)網(wǎng)絡(luò),提出了字詞結(jié)合方法,有效地彌補(bǔ)了單字識(shí)別和單詞識(shí)別的不足,加入詞性特征后的識(shí)別系統(tǒng)性能更加魯棒。實(shí)驗(yàn)對(duì)比了字向量、詞向量和字詞結(jié)合向量在中文NER上的結(jié)果,字詞結(jié)合方法對(duì)中文NER有較大提升。目前,跟命名實(shí)體相關(guān)的專用特征還沒有加入到系統(tǒng)中,我們下一步將考慮加入姓氏集、地區(qū)特征集等相關(guān)特征,進(jìn)一步觀察該方法的系統(tǒng)性能。
[1] Volk M, Clematide S. Learn-filter-apply-forget. mixed approaches to named entity recognition[C]//Proceedings of NLDB, 2001(1): 153-163.
[2] Finkel J R, Grenager T, Manning C. Incorporating non-local information into information extraction systems by gibbs sampling[C]//Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics. Association for Computational Linguistics, 2005: 363-370.
[3] Bikel D M, Schwartz R, Weischedel R M. An algorithm that learns what's in a name[J]. Machine learning, 1999, 34(1-3): 211-231.
[4] Borthwick A. A maximum entropy approach to named entity recognition[D]. New York University, 1999.
[5] McCallum A, Li W. Early results for named entity recognition with conditional random fields, feature induction and web-enhanced lexicons[C]//Proceedings of the 7th conference on natural language learning at HLT-NAACL 2003-Volume 4. Association for Computational Linguistics, 2003: 188-191.
[6] Zhou G D, Su J. Named entity recognition using an HMM-based chunk tagger[C]//Proceedings of the 40th Annual Meeting on Association for Computational Linguistics. Association for Computational Linguistics, 2002: 473-480.
[7] Lafferty J, McCallum A, Pereira F C N. Conditional random fields: probabilistic models for segmenting and labeling sequence data[C]//Proceedings of 18th Internationl conference on Nachine Learning.Williamstoun: ICML,2001: 282-289.
[8] 趙軍. 命名實(shí)體識(shí)別、排歧和跨語言關(guān)聯(lián)[J]. 中文信息學(xué)報(bào), 2009, 23(2): 3-17.
[9] 陳鈺楓, 宗成慶, 蘇克毅. 漢英雙語命名實(shí)體識(shí)別與對(duì)齊的交互式方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2011,34(9): 1688-1696.
[10] 邱泉清, 苗奪謙, 張志飛. 中文微博命名實(shí)體識(shí)別[J]. 計(jì)算機(jī)科學(xué), 2013, 40(6): 196-198.
[11] Mikolov T, Yih W, Zweig G. Linguistic regularities in continuous space word representations[C]//Proceedings of HLT-NAACL 2013.ACL,2013: 746-751.
[12] Collobert R, Weston J, Bottou L, et al. Natural language processing (almost) from scratch[J]. The Journal of Machine Learning Research, 2011,12: 2493-2537.
[13] Wu Y, Zhao J, Xu B, et al. Chinese named entity recognition based on multiple features[C]//Proceedings of the conference on human language technology and empirical methods in natural language processing. Association for Computational Linguistics, 2005: 427-434.
[14] Klein D, Smarr J, Nguyen H, et al. Named entity recognition with character-level models[C]//Proceedings of the seventh conference on natural language learning at HLT-NAACL 2003-Volume 4. Association for Computational Linguistics, 2003: 180-183.
[15] Zheng X, Chen H, Xu T. Deep learning for Chinese word segmentation and POS tagging[C]//Proceedings of EMNLP, 2013: 647-657.
張海楠(1990—),博士,主要研究領(lǐng)域?yàn)樽匀徽Z言處理、命名實(shí)體識(shí)別、對(duì)話系統(tǒng)、強(qiáng)化學(xué)習(xí)。
E-mail: zhanghainan1990@163.com
伍大勇(1976—),博士,主要研究領(lǐng)域?yàn)樽匀徽Z言處理、命名實(shí)體識(shí)別、分詞。
E-mail: wudayong@ict.ac.cn
劉悅(1971—),博士,副研究員,主要研究領(lǐng)域?yàn)樾畔z索、互聯(lián)網(wǎng)挖掘等。
E-mail: liuyue@ict.ac.cn
Chinese Named Entity Recognition Based on Deep Neural Network
ZHANG Hainan1, WU Dayong1, LIU Yue1, CHENG Xueqi2
(1. Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China;2. Institute of Network Technology, ICT(YANTAI), CAS, Yantai, Shandong 264000, China)
1003-0077(2017)04-0028-08
TP391
A
2015-09-25 定稿日期: 2016-04-21
國家重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃(“973”計(jì)劃)(2014CB340401);國家自然基金(61232010,61433014,61425016,61472401,61203298);中國科學(xué)院青年創(chuàng)新促進(jìn)會(huì)優(yōu)秀會(huì)員項(xiàng)目(20144310,2016102);泰山學(xué)者工程專項(xiàng)經(jīng)費(fèi)(ts201511082)