馬孟鋮,艾斯卡爾·艾木都拉,吐爾地·托合提
(新疆大學(xué)信息科學(xué)與工程學(xué)院,烏魯木齊 830046)
命名實體識別是自然語言處理的基礎(chǔ)任務(wù),其中通用領(lǐng)域語料下的復(fù)雜地名、機構(gòu)名實體識別效果還有待提高。針對這一問題,提出一種多特征融合的中文地名、機構(gòu)名實體識別方法,該方法以條件隨機場為框架,結(jié)合實驗語料的特點,選取統(tǒng)計特征,將局部特征、復(fù)合特征與規(guī)則知識庫相融合,對中文語料進行命名實體識別。實驗結(jié)果表明,1998年1月《人民日報》語料上的測試結(jié)果,地名實體的F1 值提高2.2%,達到97.70%,機構(gòu)名實體的F1 值提高6.2%,達到92.80%。
命名實體;多特征融合;自然語言處理;條件隨機場
命名實體識別是自然語言處理研究領(lǐng)域中的一項很重要的基礎(chǔ)性任務(wù)[1],是實體關(guān)系抽取和事件抽取等高層任務(wù)重要基石,旨在從如今互聯(lián)網(wǎng)時代很容易獲得的海量非結(jié)構(gòu)文本中提取出能夠體現(xiàn)現(xiàn)實世界中存在的客觀具體或者抽象實體的單詞或者詞組,例如人名、地名和組織機構(gòu)名等[2]。
中文命名實體識別研究近年來發(fā)展迅速,中文命名實體識別的方法主要是基于規(guī)則的方法、基于統(tǒng)計的方法和深度學(xué)習(xí)[3]的方法[4]。Huang 等[5]提出了Bi-Lstm-CRF 模型,同時還融合了其他語言學(xué)特征以提升模型性能。Collobert[6]等采用CNN 進行特征抽取,同時提出一種句級對數(shù)似然函數(shù),通過融合其他特征取得了不錯的結(jié)果?;跈C器學(xué)習(xí)的命名方法通常被當(dāng)作序列標注任務(wù)[7],張華平等[8]應(yīng)用隱馬爾可夫模型并使用角色標注的方法來進行實體識別,胡文博[9]提出一種基于多層條件隨機場的命名實體識別的方法,對各粗分詞串先在底層進行簡單實體的識別,將結(jié)果傳入到高層模型再進行復(fù)雜實體的識別,取得了不錯的效果。對于醫(yī)療文本中存在大量復(fù)合疾病名稱實體等問題,王鵬遠[10]提出了基于多標簽CRF 的疾病名稱抽取方法,對數(shù)據(jù)標注多層標簽進行訓(xùn)練,最后用標簽對實體進行分離,且取得了不錯的效果。以《人民日報》語料為代表的通用領(lǐng)域語料,其復(fù)合地名、機構(gòu)名實體由于具有很強的隨意性,弱化了構(gòu)詞規(guī)律,而且二者之間易相互嵌套,使得其識別的效果相對較差。本文基于條件隨機場模型,充分利用通用領(lǐng)域語料的特點,選取原子特征、組合特征、語義特征等,通過構(gòu)建原子模板和復(fù)合模板,與知識庫相結(jié)合的方式識別地名、機構(gòu)名實體,實驗結(jié)果表明,該方法取得了較好的效果。
條件隨機場是一個在給定輸入節(jié)點條件下計算輸出節(jié)點的條件概率的無向圖模型。條件隨機場是在給定需要標記的觀察序列的條件下,計算整個標記序列的聯(lián)合概率分布,而不是在給定當(dāng)前狀態(tài)條件下,計算下一個狀態(tài)的狀態(tài)分布。對于觀察值序列W 和狀態(tài)序列O,可以定義一個線性的CRF 模型,形式如下:
其中,Zw 是歸一化參數(shù),它使得給定輸入的所有可能狀態(tài)序列的概率之和為1。Fk(On-1,On,W,n)是對于整個觀察序列W,標記位于N 和N-1 之間的特征函數(shù),特征函數(shù)可以是0、1值,也可以是任意實數(shù)。Θ=θ1θ2…θk是特征函數(shù)對應(yīng)的權(quán)重。對與W 來說,目標是搜索概率最大的O*=argmaxP(W|O)。
對于條件隨機場模型而言,觀察序列x 即輸入的句子是已知的,可以得到任意位置的觀測值,而狀態(tài)序列y 需要人工標注,但并不計入特征函數(shù),只是用于最后標定標記聯(lián)合概率分布的參考。使用特征構(gòu)建特征模板,進而得到特征函數(shù)。本文采用的訓(xùn)練工具是:CRF++0.58;CRF++是著名的條件隨機場的開源工具,也是目前綜合性能最佳的CRF 工具。它可以自動生成一系列的特征函數(shù),而不用我們自己生成特征函數(shù),我們要做的就是尋找特征,基于條件隨機場命名實體識別流程圖如圖1 所示。
圖1 基于條件隨機場命名實體識別流程圖
狀態(tài)序列需要進行標注。原始語料中文本已被分成詞語的形式,如“忠誠/a 的/u 共產(chǎn)主義/n 戰(zhàn)士/n”,我們對語料中的實體進行標注,用“B-”、“I-”、“E-”、“S-”表示出上下文的語義關(guān)系。如“[西藏/ns 自治區(qū)/n 政府/n]nt 副/b 主席/n”標注成“西藏B-nt 自治區(qū)I-nt 政府E-nt 副O(jiān) 主席O”。這樣我們可以將語料中的人名、地名、機構(gòu)名實體標注出來作為狀態(tài)序列。
在基于統(tǒng)計機器學(xué)習(xí)的命名實體識別方法中,特征的選擇能夠直接影響最終識別性能的好壞。本文著重對地名、機構(gòu)名實體研究,提取出合適的特征。
(1)詞語本身標記為WORD:本文選取的1998年人民日報語料,通過NLPIR-ICTCLAS 分詞系統(tǒng)將原始文本進行切分形成詞語。詞語是表達中基本的形式,含有豐富的信息。
(2)詞性標記為POS;分詞系統(tǒng)切分詞語的過程中會標注詞語的詞性。地名、機構(gòu)名實體的詞性一般為名詞、名詞短語、動詞或動詞短語,而幾乎不會是介詞、連詞等詞性。故可認為與實體有一定的相關(guān)性。
(3)實體的特征核心詞標記為CORE:對語料下的復(fù)合地名、復(fù)合機構(gòu)名實體研究發(fā)現(xiàn),這些實體一般都含有核心詞,如“地區(qū)”,“自治區(qū)”出現(xiàn)時大概率會出現(xiàn)地名,如“日喀則地區(qū)”,“新疆維吾爾自治區(qū)”。對于機構(gòu)實體而言,“公司”,“委員會”很大程度上是機構(gòu)名的中心詞,如“中國文聯(lián)出版公司”,“美國聯(lián)邦儲備委員會”。針對這一特點,我們添加實體的核心詞作為特征。
(4)實體的右邊界詞標記為Right_Boundary;中文地名和機構(gòu)名的組成隨意性較大,如果能夠確定實體邊界,就能提高實體的識別效果。分析語料,我們發(fā)現(xiàn)實體的上下文出現(xiàn)的詞是有規(guī)律的,如“位于河南附近”,位于一般是地名的左邊界詞,附近也可作為地名的右邊界詞??紤]到一些地名開頭的復(fù)合機構(gòu)名易誤識別成地名,如“新疆大學(xué)”可能只識別出“新疆”,所以我們選取實體的右邊界詞作為特征,能夠區(qū)分地名和機構(gòu)名邊界。
(5)復(fù)雜機構(gòu)名的左右邊界限定標記為Ins_Limit;語料中一些復(fù)雜的機構(gòu)名識別率較低,對其分析,發(fā)現(xiàn)其存在以下幾個特點:一是字符長度較長,增加了識別難度;二是該類實體一般由地名+簡單機構(gòu)名組合而成。識別過程中容易誤識別或漏識別。針對這一問題,我們利用該類實體的特點,通過判斷實體開頭是否為地名構(gòu)建復(fù)合機構(gòu)限定詞詞典,對測試集進行標注。
選取實體特征后,驗證特征是否對于實體識別有提高需要組合不同的特征進行實驗對比,組合特征需要根據(jù)特征類型構(gòu)建模板。所以特征模板的構(gòu)建也是實體識別的關(guān)鍵。
CRF++工具包通過固定格式的特征模板來定義特征集,允許在一個上下文中按一元(Unigram)、二元(Bigram)、三元(Trigram)來使用特征。以下列出了特征模板實例,如表1 所示。
表1 特征模板實例
表中每一行%x[#,#]表示生成一個條件隨機場中的點函數(shù):f(S,O),其中S 為t 時刻的標簽,O 為t 時刻的上下文,如表2 中的訓(xùn)練語料所示。
表2 訓(xùn)練語料模板
當(dāng)前考慮的位置t 為“順利”,本文選取的上下文窗口大小為5;
表1 中U00-U04 特征模板:表示某個位置與當(dāng)前位置的詞的關(guān)系,如U04:%x[2,0]表示“順利”和“對”之間的聯(lián)系。
U05-U07 特征模板:表示某個位置與當(dāng)前位置的詞性的關(guān)系,如U06:%x[-1,1]表示“政府”的詞性“n”和“順利”的詞性“ad”之間的聯(lián)系。
同理U08-U09 特征模板:表示某兩個位置與當(dāng)前位置的詞的關(guān)系;U10-U12 表示某兩個位置與當(dāng)前位置的詞性的關(guān)系;U13-U15 特征模板表示表示某三個位置與當(dāng)前位置的詞性的關(guān)系。
隨著特征的不斷增多,特征模板的數(shù)量也快速增加,這會加重實驗的數(shù)據(jù)處理量,增加訓(xùn)練的復(fù)雜度,甚至?xí)档蛯嶓w識別的準確度??梢姡绾胃鶕?jù)特征的效果有選擇地構(gòu)建特征模板,也是命名實體識別研究的關(guān)鍵。
實驗所用語料為1998年1月的人民日報語料,該語料為通用領(lǐng)域語料,其中復(fù)雜地名、機構(gòu)名實體的識別效果還有待提高。本文隨機抽取10000 條句子作為訓(xùn)練語料,3000 條句子作為測試語料。
本文將采用準確率(P)、召回率(R)和F 值等三個指標來評價實驗的性能。
根據(jù)語料的特點選擇不同的特征,特征的選取決定了命名實體識別效果的好壞。除了詞和詞性特征意外,本文選取了三項特征加入特征模板。
選取特征時,以“組織”一詞為例,如果把“組織”作為特征進行標記,則應(yīng)該把語料中所有出現(xiàn)的“組織”都進行標記。但是“組織”在“世界衛(wèi)生組織”中是實體的中心詞,在“組織當(dāng)?shù)厝罕婇_展……”中就不是中心詞了。這可能會導(dǎo)致數(shù)據(jù)稀疏問題。所以我們通過設(shè)定閾值,滿足條件的詞添加標記作為特征。不同閾值下得到的右邊界詞個數(shù)如表1 所示。
如表3、表4 所示,實體右邊界詞特征的閾值取0時做標記詞數(shù)為25807 個。閾值取0.05 時,該特征標記下的詞數(shù)為19851 個,語料中詞語標注的數(shù)目下降了1/5。實體中心詞特征的閾值取0 時做標記詞數(shù)為23665 個。閾值取0.3 時,該特征標記下的詞數(shù)為10290 個。標記數(shù)目下降1/2,有效避免了數(shù)據(jù)稀疏問題。雖然實體右邊界詞特征閾值取0.1 時,語料中詞語標記數(shù)下降了1/2,但是實體右邊界詞也減少了2/3,會使得該特征對于語料中的實體表示不夠充分,造成識別效果下降。所以實體中心詞特征的閾值設(shè)為0.3,實體右邊界詞特征的閾值設(shè)為0.05。
表3 不同閾值下實體中心詞個數(shù)及語料中詞語標記數(shù)
表4 不同閾值下實體右邊界詞個數(shù)及語料中詞語標記數(shù)
通過設(shè)定不同閾值獲得特征后,選取不同特征構(gòu)建特征模板進行實驗對比,構(gòu)造組合特征進行對比實驗。原子、組合特征模板如表5 所示。
表5 原子、組合特征模板
選取不同特征,構(gòu)造特征模板對添加特征的效果進行實驗,如表6 所示。
本文針對通用領(lǐng)域下地名、機構(gòu)名實體的特點,通過選取地名、機構(gòu)名實體的原子特征,復(fù)合特征和語義特征,利用條件隨機場模型根據(jù)訓(xùn)練模型對地名、機構(gòu)名實體進行識別。實驗結(jié)果表明:該方法能夠有效地識別通用語料下地名、機構(gòu)名實體。地名實體的F1 值達到了97.70%,機構(gòu)名實體的F1 值提高了6.2%,達到了92.80%。
表6 不同特征模板下地名、機構(gòu)名識別的效果