日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

一文详解深度学习在命名实体识别(NER)中的应用

發(fā)布時間:2024/7/5 pytorch 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一文详解深度学习在命名实体识别(NER)中的应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

近幾年來,基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法在計算機(jī)視覺、語音識別等領(lǐng)域取得了巨大成功,另外在自然語言處理領(lǐng)域也取得了不少進(jìn)展。在NLP的關(guān)鍵性基礎(chǔ)任務(wù)—命名實體識別(Named Entity Recognition,NER)的研究中,深度學(xué)習(xí)也獲得了不錯的效果。最近,筆者閱讀了一系列基于深度學(xué)習(xí)的NER研究的相關(guān)論文,并將其應(yīng)用到達(dá)觀的NER基礎(chǔ)模塊中,在此進(jìn)行一下總結(jié),與大家一起分享學(xué)習(xí)。

一、NER 簡介

NER又稱作專名識別,是自然語言處理中的一項基礎(chǔ)任務(wù),應(yīng)用范圍非常廣泛。命名實體一般指的是文本中具有特定意義或者指代性強(qiáng)的實體,通常包括人名、地名、組織機(jī)構(gòu)名、日期時間、專有名詞等。NER系統(tǒng)就是從非結(jié)構(gòu)化的輸入文本中抽取出上述實體,并且可以按照業(yè)務(wù)需求識別出更多類別的實體,比如產(chǎn)品名稱、型號、價格等。因此實體這個概念可以很廣,只要是業(yè)務(wù)需要的特殊文本片段都可以稱為實體。

學(xué)術(shù)上NER所涉及的命名實體一般包括3大類(實體類,時間類,數(shù)字類)和7小類(人名、地名、組織機(jī)構(gòu)名、時間、日期、貨幣、百分比)。

實際應(yīng)用中,NER模型通常只要識別出人名、地名、組織機(jī)構(gòu)名、日期時間即可,一些系統(tǒng)還會給出專有名詞結(jié)果(比如縮寫、會議名、產(chǎn)品名等)。貨幣、百分比等數(shù)字類實體可通過正則搞定。另外,在一些應(yīng)用場景下會給出特定領(lǐng)域內(nèi)的實體,如書名、歌曲名、期刊名等。

NER是NLP中一項基礎(chǔ)性關(guān)鍵任務(wù)。從自然語言處理的流程來看,NER可以看作詞法分析中未登錄詞識別的一種,是未登錄詞中數(shù)量最多、識別難度最大、對分詞效果影響最大問題。同時NER也是關(guān)系抽取、事件抽取、知識圖譜、機(jī)器翻譯、問答系統(tǒng)等諸多NLP任務(wù)的基礎(chǔ)。

NER當(dāng)前并不算是一個大熱的研究課題,因為學(xué)術(shù)界部分學(xué)者認(rèn)為這是一個已經(jīng)解決的問題。當(dāng)然也有學(xué)者認(rèn)為這個問題還沒有得到很好地解決,原因主要有:命名實體識別只是在有限的文本類型(主要是新聞?wù)Z料中)和實體類別(主要是人名、地名、組織機(jī)構(gòu)名)中取得了不錯的效果;與其他信息檢索領(lǐng)域相比,實體命名評測預(yù)料較小,容易產(chǎn)生過擬合;命名實體識別更側(cè)重高召回率,但在信息檢索領(lǐng)域,高準(zhǔn)確率更重要;通用的識別多種類型的命名實體的系統(tǒng)性能很差。

2. 深度學(xué)習(xí)方法在NER中的應(yīng)用

NER一直是NLP領(lǐng)域中的研究熱點,從早期基于詞典和規(guī)則的方法,到傳統(tǒng)機(jī)器學(xué)習(xí)的方法,到近年來基于深度學(xué)習(xí)的方法,NER研究進(jìn)展的大概趨勢大致如下圖所示。

圖1:NER發(fā)展趨勢

在基于機(jī)器學(xué)習(xí)的方法中,NER被當(dāng)作序列標(biāo)注問題。利用大規(guī)模語料來學(xué)習(xí)出標(biāo)注模型,從而對句子的各個位置進(jìn)行標(biāo)注。NER 任務(wù)中的常用模型包括生成式模型HMM、判別式模型CRF等。條件隨機(jī)場(ConditionalRandom Field,CRF)是NER目前的主流模型。它的目標(biāo)函數(shù)不僅考慮輸入的狀態(tài)特征函數(shù),而且還包含了標(biāo)簽轉(zhuǎn)移特征函數(shù)。在訓(xùn)練時可以使用SGD學(xué)習(xí)模型參數(shù)。在已知模型時,給輸入序列求預(yù)測輸出序列即求使目標(biāo)函數(shù)最大化的最優(yōu)序列,是一個動態(tài)規(guī)劃問題,可以使用Viterbi算法解碼來得到最優(yōu)標(biāo)簽序列。CRF的優(yōu)點在于其為一個位置進(jìn)行標(biāo)注的過程中可以利用豐富的內(nèi)部及上下文特征信息。圖2:一種線性鏈條件隨機(jī)場

近年來,隨著硬件計算能力的發(fā)展以及詞的分布式表示(word embedding)的提出,神經(jīng)網(wǎng)絡(luò)可以有效處理許多NLP任務(wù)。這類方法對于序列標(biāo)注任務(wù)(如CWS、POS、NER)的處理方式是類似的:將token從離散one-hot表示映射到低維空間中成為稠密的embedding,隨后將句子的embedding序列輸入到RNN中,用神經(jīng)網(wǎng)絡(luò)自動提取特征,Softmax來預(yù)測每個token的標(biāo)簽。

這種方法使得模型的訓(xùn)練成為一個端到端的過程,而非傳統(tǒng)的pipeline,不依賴于特征工程,是一種數(shù)據(jù)驅(qū)動的方法,但網(wǎng)絡(luò)種類繁多、對參數(shù)設(shè)置依賴大,模型可解釋性差。此外,這種方法的一個缺點是對每個token打標(biāo)簽的過程是獨(dú)立的進(jìn)行,不能直接利用上文已經(jīng)預(yù)測的標(biāo)簽(只能靠隱含狀態(tài)傳遞上文信息),進(jìn)而導(dǎo)致預(yù)測出的標(biāo)簽序列可能是無效的,例如標(biāo)簽I-PER后面是不可能緊跟著B-PER的,但Softmax不會利用到這個信息。

學(xué)界提出了DL-CRF模型做序列標(biāo)注。在神經(jīng)網(wǎng)絡(luò)的輸出層接入CRF層(重點是利用標(biāo)簽轉(zhuǎn)移概率)來做句子級別的標(biāo)簽預(yù)測,使得標(biāo)注過程不再是對各個token獨(dú)立分類。

2.1?BiLSTM-CRF

LongShort Term Memory網(wǎng)絡(luò)一般叫做LSTM,是RNN的一種特殊類型,可以學(xué)習(xí)長距離依賴信息。LSTM 由Hochreiter &Schmidhuber (1997)提出,并在近期被Alex Graves進(jìn)行了改良和推廣。在很多問題上,LSTM 都取得了相當(dāng)巨大的成功,并得到了廣泛的使用。LSTM 通過巧妙的設(shè)計來解決長距離依賴問題。
所有 RNN 都具有一種重復(fù)神經(jīng)網(wǎng)絡(luò)單元的鏈?zhǔn)叫问健T跇?biāo)準(zhǔn)的RNN中,這個重復(fù)的單元只有一個非常簡單的結(jié)構(gòu),例如一個tanh層。

圖3:傳統(tǒng)RNN結(jié)構(gòu)

LSTM 同樣是這樣的結(jié)構(gòu),但是重復(fù)的單元擁有一個不同的結(jié)構(gòu)。不同于普通RNN單元,這里是有四個,以一種非常特殊的方式進(jìn)行交互。

圖4:LSTM結(jié)構(gòu)

LSTM通過三個門結(jié)構(gòu)(輸入門,遺忘門,輸出門),選擇性地遺忘部分歷史信息,加入部分當(dāng)前輸入信息,最終整合到當(dāng)前狀態(tài)并產(chǎn)生輸出狀態(tài)。

圖5:LSTM各個門控結(jié)構(gòu)

應(yīng)用于NER中的biLSTM-CRF模型主要由Embedding層(主要有詞向量,字向量以及一些額外特征),雙向LSTM層,以及最后的CRF層構(gòu)成。實驗結(jié)果表明biLSTM-CRF已經(jīng)達(dá)到或者超過了基于豐富特征的CRF模型,成為目前基于深度學(xué)習(xí)的NER方法中的最主流模型。在特征方面,該模型繼承了深度學(xué)習(xí)方法的優(yōu)勢,無需特征工程,使用詞向量以及字符向量就可以達(dá)到很好的效果,如果有高質(zhì)量的詞典特征,能夠進(jìn)一步獲得提高。

圖6:biLSTM-CRF結(jié)構(gòu)示意圖

2.2?IDCNN-CRF

對于序列標(biāo)注來講,普通CNN有一個不足,就是卷積之后,末層神經(jīng)元可能只是得到了原始輸入數(shù)據(jù)中一小塊的信息。而對NER來講,整個輸入句子中每個字都有可能對當(dāng)前位置的標(biāo)注產(chǎn)生影響,即所謂的長距離依賴問題。為了覆蓋到全部的輸入信息就需要加入更多的卷積層,導(dǎo)致層數(shù)越來越深,參數(shù)越來越多。而為了防止過擬合又要加入更多的Dropout之類的正則化,帶來更多的超參數(shù),整個模型變得龐大且難以訓(xùn)練。因為CNN這樣的劣勢,對于大部分序列標(biāo)注問題人們還是選擇biLSTM之類的網(wǎng)絡(luò)結(jié)構(gòu),盡可能利用網(wǎng)絡(luò)的記憶力記住全句的信息來對當(dāng)前字做標(biāo)注。

但這又帶來另外一個問題,biLSTM本質(zhì)是一個序列模型,在對GPU并行計算的利用上不如CNN那么強(qiáng)大。如何能夠像CNN那樣給GPU提供一個火力全開的戰(zhàn)場,而又像LSTM這樣用簡單的結(jié)構(gòu)記住盡可能多的輸入信息呢?

Fisher Yu and Vladlen Koltun 2015 提出了dilated CNN模型,意思是“膨脹的”CNN。其想法并不復(fù)雜:正常CNN的filter,都是作用在輸入矩陣一片連續(xù)的區(qū)域上,不斷sliding做卷積。dilated CNN為這個filter增加了一個dilation width,作用在輸入矩陣的時候,會skip所有dilation width中間的輸入數(shù)據(jù);而filter本身的大小保持不變,這樣filter獲取到了更廣闊的輸入矩陣上的數(shù)據(jù),看上去就像是“膨脹”了一般。

具體使用時,dilated width會隨著層數(shù)的增加而指數(shù)增加。這樣隨著層數(shù)的增加,參數(shù)數(shù)量是線性增加的,而receptive field卻是指數(shù)增加的,可以很快覆蓋到全部的輸入數(shù)據(jù)。圖7:idcnn示意圖

圖7中可見感受域是以指數(shù)速率擴(kuò)大的。原始感受域是位于中心點的1x1區(qū)域:

(a)圖中經(jīng)由原始感受域按步長為1向外擴(kuò)散,得到8個1x1的區(qū)域構(gòu)成新的感受域,大小為3x3;

(b)圖中經(jīng)過步長為2的擴(kuò)散,上一步3x3的感受域擴(kuò)展為為7x7;

(c)圖中經(jīng)步長為4的擴(kuò)散,原7x7的感受域擴(kuò)大為15x15的感受域。每一層的參數(shù)數(shù)量是相互獨(dú)立的。感受域呈指數(shù)擴(kuò)大,但參數(shù)數(shù)量呈線性增加。

對應(yīng)在文本上,輸入是一個一維的向量,每個元素是一個character embedding:

圖8:一個最大膨脹步長為4的idcnn塊

IDCNN對輸入句子的每一個字生成一個logits,這里就和biLSTM模型輸出logits完全一樣,加入CRF層,用Viterbi算法解碼出標(biāo)注結(jié)果。

在biLSTM或者IDCNN這樣的網(wǎng)絡(luò)模型末端接上CRF層是序列標(biāo)注的一個很常見的方法。biLSTM或者IDCNN計算出的是每個詞的各標(biāo)簽概率,而CRF層引入序列的轉(zhuǎn)移概率,最終計算出loss反饋回網(wǎng)絡(luò)。

3. 實戰(zhàn)應(yīng)用

3.1?語料準(zhǔn)備

Embedding:我們選擇中文維基百科語料來訓(xùn)練字向量和詞向量。

基礎(chǔ)語料:選擇人民日報1998年標(biāo)注語料作為基礎(chǔ)訓(xùn)練語料。

附加語料:98語料作為官方語料,其權(quán)威性與標(biāo)注正確率是有保障的。但由于其完全取自人民日報,而且時間久遠(yuǎn),所以對實體類型覆蓋度比較低。比如新的公司名,外國人名,外國地名。為了提升對新類型實體的識別能力,我們收集了一批標(biāo)注的新聞?wù)Z料。主要包括財經(jīng)、娛樂、體育,而這些正是98語料中比較缺少的。由于標(biāo)注質(zhì)量問題,額外語料不能加太多,約98語料的1/4。

3.2?數(shù)據(jù)增強(qiáng)

對于深度學(xué)習(xí)方法,一般需要大量標(biāo)注語料,否則極易出現(xiàn)過擬合,無法達(dá)到預(yù)期的泛化能力。我們在實驗中發(fā)現(xiàn),通過數(shù)據(jù)增強(qiáng)可以明顯提升模型性能。具體地,我們對原語料進(jìn)行分句,然后隨機(jī)地對各個句子進(jìn)行bigram、trigram拼接,最后與原始句子一起作為訓(xùn)練語料。

另外,我們利用收集到的命名實體詞典,采用隨機(jī)替換的方式,用其替換語料中同類型的實體,得到增強(qiáng)語料。

下圖給出了BiLSTM-CRF模型的訓(xùn)練曲線,可以看出收斂是很緩慢的。相對而言,IDCNN-CRF模型的收斂則快很多。
圖9:BiLSTM-CRF的訓(xùn)練曲線

圖10:IDCNN-CRF的訓(xùn)練曲線

3.3?實例

以下是用BiLSTM-CRF模型的一個實例預(yù)測結(jié)果。

圖11:BiLSTM-CRF預(yù)測實例

4. 總結(jié)

最后進(jìn)行一下總結(jié),將神經(jīng)網(wǎng)絡(luò)與CRF模型相結(jié)合的CNN/RNN-CRF成為了目前NER的主流模型。對于CNN與RNN,并沒有誰占據(jù)絕對優(yōu)勢,各有各的優(yōu)點。由于RNN有天然的序列結(jié)構(gòu),所以RNN-CRF使用更為廣泛?;谏窠?jīng)網(wǎng)絡(luò)結(jié)構(gòu)的NER方法,繼承了深度學(xué)習(xí)方法的優(yōu)點,無需大量人工特征。只需詞向量和字向量就能達(dá)到主流水平,加入高質(zhì)量的詞典特征能夠進(jìn)一步提升效果。對于少量標(biāo)注訓(xùn)練集問題,遷移學(xué)習(xí),半監(jiān)督學(xué)習(xí)應(yīng)該是未來研究的重點。

總結(jié)

以上是生活随笔為你收集整理的一文详解深度学习在命名实体识别(NER)中的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。