国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GRU的命名實體識別方法①

2018-09-17 08:48張瑞東吳晨生
計算機系統(tǒng)應用 2018年9期
關鍵詞:語料庫名稱命名

王 潔,張瑞東,吳晨生

1(北京工業(yè)大學 信息學部,北京 100124)

2(北京市科學技術情報研究所,北京 100048)

1 引言

自然語言處理(Nature Language Processing)是近年來快速發(fā)展的一門涵蓋了數(shù)學、語言學和計算機科學的交叉學科.其旨在讓計算機能夠正確的理解人類的語言,并且實現(xiàn)人與機器之間通過自然語言進行交互,其中包括信息抽取、機器翻譯、信息檢索、問答系統(tǒng)等方面[1].

命名實體識別是自然語言處理的一項關鍵任務,在1995年的MUC會議上被第一次引入,目的是識別文本中的特定類型的事物名稱和有意義的數(shù)量短語,包括命名性實體、時間、數(shù)字等三大類,又可細分為七個小類:人名、地名、機構名、時間、日期、貨幣以及百分比等[2].作為自然語言處理中的一項基礎任務,命名實體識別對于機器翻譯、信息的檢索與抽取等工作有重要意義.隨著時代的發(fā)展,命名實體識別的目標早已超出了上述幾類的范圍,特定領域的命名實體識別需求非常廣泛,如電子病歷、生物醫(yī)學等領域,本文的子實驗既是在會議名稱識別這一特定領域的命名實體上展開的.除了需要識別的實體在不斷增加外,命名實體識別方法也在不斷進步和完善[3–5].

傳統(tǒng)的命名實體識別多采用基于規(guī)則和統(tǒng)計機器學習的方法.最初,命名實體識別采用基于手工制定詞典和規(guī)則的方法.這些方法大多以語言學專家建立的規(guī)則知識庫和詞典為基礎,采用模式匹配或者字符串匹配的方法識別命名實體[6,7].對于規(guī)律性強的文本,基于規(guī)則的方法準確而且高效.但對于規(guī)律性不強的文本,規(guī)則的編寫變得困難,識別效果也相當不理想,所以人們開始將目光投向機器學習的方法.

在命名實體識別領域常用的機器學習方法有隱馬爾可夫模型(Hidden Markov Model,HMM)、條件隨機場模型(Conditional Random Fields,CRF)、最大熵模型(Maximum Entropy)、支持向量機模型(Support Vector Machine,SVM)等[8–10].其中最典型的也是應用比較成功的是隱馬爾可夫模型和條件隨機場模型.基于機器學習的方法在遷移性、識別效果等方面的表現(xiàn)優(yōu)于基于規(guī)則的方法,但使用統(tǒng)計機器學習方法的命名實體識別模型也存在一些局限性.一方面,為了使推理易于處理,它需要明確的依賴性假設;另一方面,以統(tǒng)計模型為基礎的機器學習方法對特征選取的要求比較高,需要選擇對命名實體識別任務有影響的各種特征,即特征工程(feature engineering),它對識別結果有重要影響,但是該過程費時費力[11–14];最后,它們通常需要大量的與任務相關的特定知識,如設計HMM的狀態(tài)模型,或選擇CRF的輸入特征.

隨著深度學習研究的不斷深入,人們開始引入深度神經(jīng)網(wǎng)絡來處理自然語言.2011年Collobert提出一種基于窗口的深層神經(jīng)網(wǎng)絡模型,該模型可以自動學習輸入句子中的抽象特征,在訓練中使用反向傳播算法來訓練參數(shù).其效果和性能超過了之前的傳統(tǒng)算法.該模型的主要局限性是使用固定長度的上下文,不能充分的利用語境信息[15–18].Mikolov于2010年提出一種基于循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Networks,RNNs)的語言模型,它不使用固定大小的上下文信息,通過重復鏈接,信息可以在這些網(wǎng)絡內(nèi)循環(huán),這種信息循環(huán)的方式非常適用于處理序列數(shù)據(jù)[19–24].

本文利用循環(huán)神經(jīng)網(wǎng)絡在處理序列數(shù)據(jù)方面的優(yōu)勢,建立了基于循環(huán)神經(jīng)網(wǎng)絡的命名實體識別模型.循環(huán)神經(jīng)網(wǎng)絡包含多種不同的變體,經(jīng)過分析對比,本文最終選用了由RNN改進而來、結構相對簡單的GRU.本文結構安排如下:第2節(jié)介紹語料庫的構建;第3節(jié)闡述基于GRU的命名實體識別模型;第4節(jié)是實驗和分析;最后做全文總結.

2 基于 GRU 的命名實體識別模型

以字作為輸入單位容易產(chǎn)生歧義,需要根據(jù)具體的語境信息判斷每個字的標簽,循環(huán)神經(jīng)網(wǎng)絡能很好的計算和保持語境信息.RNN是比較簡單的循環(huán)神經(jīng)網(wǎng)絡,不含“門”結構,訓練時會出現(xiàn)梯度消失或梯度爆炸的問題.LSTM與GRU是在RNN的基礎上改進而來的循環(huán)神經(jīng)網(wǎng)絡,本文分析了RNN、LSTM和GRU三種循環(huán)神經(jīng)網(wǎng)絡之間的關系,在此基礎上,提出了一個基于GRU的命名實體識別模型.該模型以字向量作為輸入,經(jīng)過雙向GRU層計算,提取句子特征,經(jīng)softmax層計算得到一個相應的輸出序列.

2.1 循環(huán)神經(jīng)網(wǎng)絡

循環(huán)神經(jīng)網(wǎng)絡是深度學習中常用的一類神經(jīng)網(wǎng)絡,包括RNN和RNN的變體LSTM、GRU等,它利用序列信息并通過中間層保持這些信息,這使它在處理序列數(shù)據(jù)時有獨特優(yōu)勢.

RNN將一個向量序列(s1,s2,···,sn)作為輸入,得到另一個序列h1,h2,···,hn,其中st表示時刻t的輸入向量,ht是隱藏層狀態(tài),表示關于每個輸入時刻t的序列信息,它的結構示意圖如圖1.其中,

U、V、W是權值矩陣,f是激活函數(shù),一般是Sigmoid或者tanh函數(shù),ot是輸出向量.

圖1 RNN 網(wǎng)絡

理論上RNN可以學習長期依賴,但實際上它不能實現(xiàn)這個目標,因為根據(jù)求導的鏈式法則,公式(1)使得損失函數(shù)的梯度成為連續(xù)乘積的形式,這樣做會導致梯度消失或者梯度爆炸的問題.

為了解決梯度消失(或者梯度爆炸)的問題,Hochreiter和Schmidhuber[25]提出了一種RNN的改進型網(wǎng)絡:LSTM.在自然語言處理中常用的LSTM可以用如下公式來描述:

本文使用的GRU是RNN的另一種改進模型,它與LSTM非常類似,也是通過門來保持序列信息,同時克服RNN中的梯度消失問題.它的公式如下:

其中,zt是一個更新門,決定t–1時刻的信息有多少進入t時刻.rt是一個重置門,決定丟棄多少信息,二者共同決定ht的值.GRU只有兩個門,舍棄了LSTM中增加一個細胞狀態(tài)C的做法,把線性自更新的過程放到了隱藏層狀態(tài)的計算中,把h作為序列信息的載體,這樣做不但使得GRU的結構比LSTM更簡單,參數(shù)更少,而且加快了神經(jīng)網(wǎng)絡的計算速度,節(jié)省了時間.

2.2 命名實體識別模型

近年來,很多學者使用前饋神經(jīng)網(wǎng)絡進行命名實體識別,得到了不錯的效果,這種方法一般使用輸入窗口,即利用固定長度的輸入來學習待識別詞的上下文信息,它的結構可以用圖2描述.

圖2 基于窗口的前饋神經(jīng)網(wǎng)絡結構

因為窗口大小有限(如上圖的窗口大小是3),所以該方法學習上下文信息的能力不足.另一方面,該神經(jīng)網(wǎng)絡的隱藏層狀態(tài)之間沒有聯(lián)系,不能夠?qū)W習到長期依賴,對于序列標注任務來說,這意味著丟失了序列信息.

循環(huán)神經(jīng)網(wǎng)絡的輸入則不受窗口大小的限制,并且網(wǎng)絡的隱藏層之間是有聯(lián)系的,即攜帶了序列信息,如圖3所示.

圖3 基于 RNN 的序列處理結構

圖2和圖3中,xt表示t時刻對應的字或者詞.以字作為輸入單位,命名實體的長度一般會超過三個字,使用基于窗口的方法無法將整個名稱作為一個整體考慮,容易丟失信息,致使邊界判定準確率低,而且基于字的判別對上下文環(huán)境的依賴程度更高.循環(huán)神經(jīng)網(wǎng)絡學習上下文信息與窗口大小無關,實現(xiàn)了學習長期依賴的目的,適用于命名實體較長的情況.本文分別使用循環(huán)神經(jīng)網(wǎng)絡的變體LSTM和GRU作為模型的基本算法,并且對比說明了GRU的優(yōu)勢.

為了充分利用每個字的上下文信息,這里使用了一個雙向GRU結構,即考慮了句子的正向和反向兩個方向上的序列信息.另外,用于會議等新實體識別的用料庫一般較小,所以模型的結構不宜過復雜,否則容易出現(xiàn)過擬合的現(xiàn)象.本文設計的命名實體識別模型如圖4所示.

圖4中,模型的第一層和第二層分別對應輸入層和Embedding層.由于神經(jīng)網(wǎng)絡不能直接處理自然語言符號,所以,應該將輸入的字或者詞轉(zhuǎn)換成對應的向量,即Embedding層的工作,其中,向量Et與xt之間的關系滿足,即通過向量表LT查找xt對應的向量.輸入Et經(jīng)過前向GRU層和后向GRU層計算得到了句子的正向信息和反向信息,兩者共同組成了隱藏層狀態(tài),這里用ht表示,,經(jīng)過狀態(tài)輸出層計算得到ot=f(ht),再由Softmax層進行概率歸一化計算,得到最終的預測值.

圖4 基于 GRU 的命名實體識別網(wǎng)絡

這里可以把命名實體識別當作一個序列標注過程,對于一個輸入序列:

經(jīng)過模型計算,給每個輸入xt一個對應的標簽,得到一個相應的輸出序列:

對于輸入xt,預測結果為yt滿足:

yt是一個長度為n的向量,n是標簽種類的個數(shù),即本文用向量表示預測結果,yt的每個位置上的值表示是該標簽的概率:

訓練時,使用交叉熵作為代價函數(shù):其中,yi表示真實值,表示預測值,n是標簽的種類.

得到代價函數(shù)后,通過訓練集訓練模型,對于訓練集的使用,一般有批量梯度下降、隨機梯度下降和mini-batch gradient(小批量梯度下降)三種方法,本文使用第三種方法,因為批量梯度下降方法每次計算損失函數(shù)都要遍歷整個訓練集,并通過計算函數(shù)對所有參數(shù)的梯度來更新參數(shù),這種方法每更新一次參數(shù)就要遍歷一次訓練集,導致計算開銷很大,計算速度較慢;隨機梯度下降法每次計算損失函數(shù)僅使用一條數(shù)據(jù),并通過梯度下降來更新參數(shù).與第一種方法相比,雖然該方法的計算速度比較快,但是收斂性能較差;而第三種方法則結合了二者的優(yōu)點,它把訓練數(shù)據(jù)分成多個批次,計算損失函數(shù)時只使用其中的一批.這樣,梯度的方向由這一小批次中的數(shù)據(jù)共同決定,降低了方向選擇的隨機性,提高了收斂性能;同時,與整個訓練集相比,每個批次數(shù)據(jù)量要小很多,這降低了計算量,節(jié)省了計算開銷.

過擬合是使用人工神經(jīng)網(wǎng)絡時經(jīng)常遇到的問題,尤其是語料規(guī)模較小時,更容易產(chǎn)生過擬合現(xiàn)象,為了解決這個問題,本文采用了 DropOut方法.DropOut是Srivastava[26]提出的用來解決前饋神經(jīng)網(wǎng)絡過擬合問題的方法,它通過在訓練過程中隨機的讓一些神經(jīng)元暫時停止工作來增加網(wǎng)絡的稀疏性.與權重衰減、過濾器范數(shù)約束等其它防止過擬合的方法相比,DropOut方法更有效,而且計算方便,只需要在訓練過程中產(chǎn)生相應的隨機數(shù)來控制神經(jīng)元的開閉即可.在循環(huán)神經(jīng)網(wǎng)絡中,將DropOut應用到非循環(huán)層,這樣做即能有效的避免過擬合的出現(xiàn),又能保證神經(jīng)元之間不失去“聯(lián)系”,保存了序列信息.

本文提出的模型需要在監(jiān)督訓練數(shù)據(jù)上進行訓練.對于特定領域的命名實體識別來說,往往沒有可用的標注語料,自己構建的語料庫規(guī)模又比較小,為了提高模型的效果,一方面,應當盡可能降低模型的復雜程度,所以,本文設計的模型只使用了一層雙向GRU結構;另一方面,將已有的相關標注語料融合到自建語料庫中,可以豐富預料的語境語義特征,提高識別效果,第3節(jié)通過實驗說明了該方法的可行性.

3 實驗與分析

本文分別在人名這一傳統(tǒng)命名實體和會議名稱這個特定領域?qū)嶓w上進行了實驗.人名識別實驗使用的是人民日報語料庫.會議名稱識別使用的是自建語料庫.由于本文的成果最終要運用到情報所的工作實踐中,所以兩類實驗使用的都是字向量,第3.2節(jié)會進一步分析使用字向量的優(yōu)勢.

3.1 語料庫構建

語料庫是進行自然語言處理必須的數(shù)據(jù)集,它承載著重要的語言知識.基于神經(jīng)網(wǎng)絡的命名實體識別需要帶標注的預料庫作為訓練數(shù)據(jù).本文除了在傳統(tǒng)命名實體領域測試模型外,還使用會議名稱這一特定領域?qū)嶓w對模型進行了測試.由于目前沒有會議名稱識別的語料庫,本文通過搜集文本、篩選、分詞和標注等步驟構建了一個針對會議名稱識別的語料庫.

文本搜集是構建語料庫的第一步.本文搜集的文本來自中國學術會議在線網(wǎng).這里搜集了會議預告、會議新聞、會議評述、會議回顧的相關材料,一共得到了31.2 M的初始文本.

第二步需要人工篩選搜集的文本,刪除大量與會議名稱無關的段落,并使用結巴分詞對文本句子進行切分,形成了初步標識的語料庫.

第三步,標注已經(jīng)處理過的文本,即人工標注會議名稱.會議名稱有兩種,一種是簡單會議名稱,如“中國醫(yī)學會年會”、“香山論壇”、“十八屆四中全會”等,這類名稱不存在嵌套,屬于簡單的會議名稱;第二種是結構復雜的會議名稱,包括嵌套格式、并列結構等,如“香山科學會議第473次學術討論會”、“第四屆中國古籍數(shù)字化國際學術研討會暨第六屆文學與資訊技術國際研討會”.本文采取的策略是最大化邊界,即將最完整的會議名稱作為一個標注單位,給予會議標簽,完成標注.這樣做的優(yōu)勢是可以根據(jù)后續(xù)實驗的具體策略靈活的改變會議名稱的標注方式,既可以采用并列結構分別標注的方法,也可以采用整體標注的方法.

完成上述步驟后,得到了一個針對會議名稱識別的專用語料庫,為實驗提供了可用的數(shù)據(jù)集.

3.2 字向量

語料庫中的數(shù)據(jù)并不能直接輸入到本文的模型中,因為神經(jīng)網(wǎng)絡只能計算數(shù)字,所以應先將詞或者字轉(zhuǎn)換成數(shù)字形式,即轉(zhuǎn)換成向量.傳統(tǒng)的方法是先將文本分詞,以詞向量作為輸入單位.以詞作為輸入單位需要首先進行分詞,本文沒有采用先分詞再識別的方法,而是直接使用字向量作為模型的輸入,采用字向量有如下兩點優(yōu)勢:

1)以字作為輸入單位可以避免不同分詞系統(tǒng)及分詞錯誤對識別效果的影響,節(jié)省了分詞時間,提高了模型的識別速度;

2)新領域的自建語料庫相對較小,如果以詞作為輸入單位,那么測試時會遇到很多未登錄詞,降低識別效果.而常用漢字不超過 3000 個,相對于詞,數(shù)據(jù)集覆蓋的字的種類更加全面,采用字向量可以避免因為未登錄詞過多而影響識別效果的情況.

會議名稱識別中,為了進一步提高模型的泛化能力,訓練字向量時采用了兩種數(shù)據(jù)集,一種是基于自建語料庫的數(shù)據(jù)集,記為DataSet1;另一種則通過加入人民日報語料庫擴展了原有數(shù)據(jù)集,這種擴展并沒有增加帶標注的會議語料的規(guī)模,只是增加了與會議無關的文本,達到豐富數(shù)據(jù)集特征的目的,該數(shù)據(jù)集記為DataSet2.本文使用的字向量隨循環(huán)神經(jīng)網(wǎng)絡訓練過程產(chǎn)生.

3.3 標注策略與評價指標

命名實體識別中常用的標注策略有BIO、BIEO、BIESO,O 表示不是實體,S 表示單個實體,B 表示實體其實邊界,I表示實體的中間部分,E表示實體的結束邊界.由于本文采用的是輸入形式是字向量,所以必須同時找出起始和結束邊界,所以采用BIEO形式的標注策略.命名實體識別的結果是否正確有兩個標準:①實體的邊界正確,類型正確;② 類型正確,邊界只覆蓋了實體的一部分.只要滿足上述兩個條件中的一個,就認為識別結果是正確的.

本文使用精確率、召回率和F值來評價模型的識別效果.命名實體識別可以看做分類問題,以人名識別為例,正類(Positive)表示該詞的預測結果是人名,負類(Negative)表示該詞的預測結果不是人名.人名被正確識別的個數(shù)為TP,即正類中真正的人名個數(shù)是TP;正類中非人名的個數(shù)為FP;負類中非人名的個數(shù)為TN;負類中被錯誤識別的個數(shù)為FN,即被預測為負類的人名的個數(shù)是FN.則精確率P、召回率R、F值的計算公式如下:

3.4 實驗結果與分析

通過上述評價指標,文章對比了LSTM、GRU和RNN的識別效果.表1是人名的識別結果,可以看出,三種網(wǎng)絡在召回率方面相差較少,但是GRU的識別結果的準確率更高,得到了最高的F值.

表1 人名識別實驗結果

表2和表3分別是在DataSet1和DataSet2上對會議名稱進行識別的結果,觀察兩個表可知,在兩個數(shù)據(jù)集上,GRU的都得到了最高的F值.由表2實驗結果可知,在DataSet2數(shù)據(jù)集上訓練的模型,效果要好于DataSet1上訓練的模型.雖然DataSet2數(shù)據(jù)集只是增加了與會議無關的文本,但它豐富了文本特征,提高了模型的泛化能力.

表2 DataSet1 會議名稱識別結果

表3 DataSet2 會議名稱識別結果

表4是GRU和LSTM的訓練時間,根據(jù)實驗結果可知,GRU與LSTM的效果相差并不顯著,但是由于GRU結構相對簡單,參數(shù)較少,所以它的訓練時間比LSTM減少約15%,這是GRU的優(yōu)勢所在.

表4 GRU 與 LSTM 訓練時間對比

4 結束語

本文提出了一個基于GRU的會議名稱識別模型,并且在傳統(tǒng)命名實體和特定領域?qū)嶓w兩類實體上進行了實驗,并且根據(jù)識別會議名稱的需要搜集了會議文本,通過機器分詞和人工標注構建了語料庫.本文使用的方法的最大的優(yōu)勢是不依賴外部知識,省去了人工設計特征的繁瑣工作,是一種端到端的會議名稱識別方法.識別特定領域命名實體是命名實體識別的一個發(fā)展方向,但經(jīng)常面臨沒有監(jiān)督訓練數(shù)據(jù)的困境,自建的數(shù)據(jù)庫又比較小,這就在一定程度上限制了神經(jīng)網(wǎng)絡模型的泛化能力,如何利用自建的小語料集訓練一個具有足夠泛化能力的神經(jīng)網(wǎng)絡模型是一個值得探索的方向.

猜你喜歡
語料庫名稱命名
基于語料庫的清末民初日源外來詞漢化研究
命名——助力有機化學的學習
《語料庫翻譯文體學》評介
有一種男人以“暖”命名
為一條河命名——在白河源
我是我自己的許多孩子〔外一首〕
滬港通一周成交概況
滬港通一周成交概況
滬港通一周成交概況
滬港通一周成交概況