胡甜甜,但雅波,胡 杰,李 想,李少波
(1.貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴陽 550025;2.貴州大學(xué)機(jī)械工程學(xué)院,貴陽 550025;3.貴州財(cái)經(jīng)大學(xué)大數(shù)據(jù)統(tǒng)計(jì)學(xué)院,貴陽 550025)
(*通信作者電子郵箱2506062823@qq.com)
21 世紀(jì)是一個(gè)數(shù)據(jù)爆炸式增長(zhǎng)的時(shí)代,也是各種媒體應(yīng)運(yùn)而生的時(shí)代。新聞、教育、醫(yī)療等不同領(lǐng)域每時(shí)每刻都在產(chǎn)生大量的文本數(shù)據(jù),往往這些數(shù)據(jù)中蘊(yùn)藏著大量有價(jià)值的信息,對(duì)社會(huì)性的研究有著非常重要的意義[1]。面對(duì)這些海量文本數(shù)據(jù),如何準(zhǔn)確高效地進(jìn)行信息抽取和數(shù)據(jù)挖掘成為學(xué)術(shù)界和工業(yè)界關(guān)注的熱點(diǎn)問題,作為其中主要技術(shù)的命名實(shí)體識(shí)別(Named Entity Recognition,NER)技術(shù)受到研究者們的高度重視。NER 是指從文本中識(shí)別出命名性指稱項(xiàng),為關(guān)系抽取等任務(wù)做鋪墊,是構(gòu)建知識(shí)圖譜的最初步驟[2]。狹義上,NER 是識(shí)別出人命、地名和組織機(jī)構(gòu)名這三類命名實(shí)體(時(shí)間、貨幣名稱等構(gòu)成規(guī)律明顯的實(shí)體類型可以用正則表達(dá)式等方式識(shí)別)。NER 方法主要用三種:基于規(guī)則的方法、基于特征模板的方法、基于神經(jīng)網(wǎng)絡(luò)的方法?;谝?guī)則的方法常用的是利用手工編寫的規(guī)則,將文本與規(guī)則進(jìn)行匹配來識(shí)別出命名實(shí)體[3]。例如,對(duì)于中文來說,“說”“老師”等詞語可作為人名的下文,“大學(xué)”“醫(yī)院”等詞語可作為組織機(jī)構(gòu)名的結(jié)尾,還可以利用到詞性、句法信息。在構(gòu)建規(guī)則的過程中往往需要大量的語言學(xué)知識(shí),不同語言的識(shí)別規(guī)則不盡相同,而且需要謹(jǐn)慎處理規(guī)則之間的沖突問題;此外,構(gòu)建規(guī)則的過程費(fèi)時(shí)費(fèi)力、可移植性不好?;谔卣髂0宓姆椒ɡ么笠?guī)模語料來學(xué)習(xí)出標(biāo)注模型,從而對(duì)句子的各個(gè)位置進(jìn)行標(biāo)注,通常與條件隨機(jī)場(chǎng)(Conditional Random Field,CRF)[4]結(jié)合使用。特征模板通常是人工定義的一些二值特征函數(shù),試圖挖掘命名實(shí)體內(nèi)部以及上下文的構(gòu)成特點(diǎn)。對(duì)于句子中的給定位置來說,提取特征的方式是采用一個(gè)特征模板在該位置上進(jìn)行數(shù)學(xué)運(yùn)算。而且,不同的特征模板(窗口)之間可以進(jìn)行組合來形成一個(gè)新的特征模板。CRF的優(yōu)點(diǎn)在于其為一個(gè)位置進(jìn)行標(biāo)注的過程中可以利用到此前已經(jīng)標(biāo)注的信息,利用Viterbi 解碼來得到最優(yōu)序列[5]。對(duì)句子中的各個(gè)位置提取特征時(shí),滿足條件的特征取值為1,不滿足條件的特征取值為0;然后,把特征喂給CRF,訓(xùn)練階段建模標(biāo)簽的轉(zhuǎn)移,進(jìn)而在預(yù)測(cè)階段為測(cè)試句子的各個(gè)位置做標(biāo)注。近年來,人工智能(Artificial Intelligence,AI)取得了突破性的進(jìn)展。其中,機(jī)器學(xué)習(xí)(Machine Learning,ML)和深度學(xué)習(xí)(Deep Learning,DL)技術(shù)的應(yīng)用為人類在各個(gè)領(lǐng)域的任務(wù)帶來了優(yōu)異表現(xiàn),包括圖像識(shí)別[6]、語音識(shí)別[7]和自然語言處理(Natural Language Processing,NLP)[8]。神經(jīng)網(wǎng)絡(luò)方法使得模型的訓(xùn)練成為一個(gè)端到端的整體過程,而非傳統(tǒng)的Pipeline,不依賴特征工程,是一種數(shù)據(jù)驅(qū)動(dòng)的方法。
研究者們用神經(jīng)網(wǎng)絡(luò)在自然語言處理方面做了大量研究:Huang 等[9]提出將多種神經(jīng)網(wǎng)絡(luò)模型應(yīng)用到自然語言處理中的序列標(biāo)注問題上,并證明雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)結(jié)合條件隨機(jī)場(chǎng)(Bi-directional Long Short-Term Memory neural network and Conditional Random Field,Bi-LSTM-CRF)模型在序列標(biāo)注上能取得很好的結(jié)果,在CoNLL corpus 語料庫上進(jìn)行命名實(shí)體識(shí)別時(shí),F(xiàn)1 值達(dá)到了90.10%。Ma 等[10]將長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory neural network,LSTM)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、CRF 結(jié)合構(gòu)建出Bi-LSTM-CNNs-CRF 模型,并應(yīng)用在命名實(shí)體識(shí)別任務(wù)上,在CoNLL 2003 corpus 語料庫取得F1 得分為0.912 1的成績(jī)。Luo等[11]提出了一個(gè)自我注意力的雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Self-Attentive Bi-LSTM)來預(yù)測(cè)情緒挑戰(zhàn)中的多種情緒,Self-Attentive Bi-LSTM 模型能夠捕獲文本之間的上下文依賴關(guān)系,有助于對(duì)模糊情緒進(jìn)行分類,它在Friends 和EmotionPush 測(cè)試集中分別獲得了59.6 和55.0 的未加權(quán)準(zhǔn)確性分?jǐn)?shù)。雖然這些方法在NLP 的NER 任務(wù)和情感分析方面取得了顯著的效果,但這些方法都是將實(shí)體識(shí)別與情感分析分別建立預(yù)測(cè)模型,沒有挖掘這兩個(gè)任務(wù)之間的聯(lián)系。
針對(duì)上述問題,本文提出了一種基于注意力機(jī)制的雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)結(jié)合條件隨機(jī)場(chǎng)(Attention-based Bidirectional Long Short-Term Memory neural network and Conditional Random Field,AttBi-LSTM-CRF)的深度神經(jīng)模型來同時(shí)完成對(duì)新聞中核心實(shí)體的提取和核心實(shí)體的情感分類,并與雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,Bi-LSTM)、帶注意力機(jī)制的雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Attention-based Bi-directional Long Short-Term Memory neural network,AttBi-LSTM)、Bi-LSTM-CRF 等算法進(jìn)行了比較。實(shí)驗(yàn)結(jié)果表明,本文采用的AttBi-LSTM-CRF 在同時(shí)識(shí)別核心實(shí)體及分類其情感時(shí)取得了最好的結(jié)果,準(zhǔn)確率為0.786,召回率為0.756,F(xiàn)1值為0.771。
本文模型實(shí)驗(yàn)數(shù)據(jù)集來源于2019 搜狐校園算法大賽中的比賽數(shù)據(jù)(https://biendata.com/competition/sohu2019/data/),其中包含4 萬條訓(xùn)練數(shù)據(jù)(帶標(biāo)簽)和4 萬條測(cè)試數(shù)據(jù)(不帶標(biāo)簽)。該數(shù)據(jù)集文本主要由中文構(gòu)成,偶爾會(huì)出現(xiàn)幾個(gè)英文單詞,每條數(shù)據(jù)包含一篇不限定主題的新聞標(biāo)題和新聞主體內(nèi)容,訓(xùn)練數(shù)據(jù)同時(shí)會(huì)給出新聞主題內(nèi)容對(duì)應(yīng)的1到3個(gè)的核心實(shí)體以及這些核心實(shí)體相對(duì)應(yīng)的情感標(biāo)簽。該數(shù)據(jù)集來自于搜狐新聞文本,包括娛樂、情感、體育、旅游、時(shí)政、時(shí)尚、財(cái)經(jīng)等各種常見新聞?lì)}材,涵蓋內(nèi)容廣泛,種類豐富,語法規(guī)范,數(shù)據(jù)中的核心實(shí)體標(biāo)注和情感分析都由人工標(biāo)注。
本文選取北京師范大學(xué)中文信息處理研究所與中國人民大學(xué)DBIIR 實(shí)驗(yàn)開源的中文詞向量語料庫Chinese Word Vectors(https://github.com/Embedding/Chinese-Word-Vectors)中的搜狐新聞(Sogou News)(http://www.sogou.com/labs/resource/cs.php)中文預(yù)訓(xùn)練詞向量包對(duì)每個(gè)句子進(jìn)行預(yù)訓(xùn)練,將每個(gè)字映射成300 維度的向量。搜狐中文預(yù)訓(xùn)練詞向量包是通過對(duì)大量搜狐新聞文章用ngram2vec 工具包訓(xùn)練得到。由于本文的數(shù)據(jù)來自于搜狐新聞文本和搜狐新聞文章在各個(gè)方面都有非常大的相似度,因此選用搜狐新聞中文預(yù)訓(xùn)練詞向量包對(duì)數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練會(huì)比較適合。最后,每個(gè)句子將會(huì)用矩陣Tn×d表 示,d表示詞向量的維度(300),n=[Max_length×0.8],[·]表示取數(shù)值的整數(shù)部分,Max_length表示語料庫中最大句子長(zhǎng)度。對(duì)于句子長(zhǎng)度小于Max_length的用0填充。
在本文實(shí)驗(yàn)中,模型訓(xùn)練集的標(biāo)簽是給每個(gè)字向量標(biāo)注上對(duì)應(yīng)類別標(biāo)號(hào),標(biāo)注標(biāo)簽一共有10 類,分別是:①Null,②B_pos,③I_pos,④E_pos,⑤B_neg,⑥I_neg,⑦E_neg,⑧B_norm,⑨I_norm,⑩E_norm。其中:空標(biāo)簽(Null)表示非核心實(shí)體;B 表示核心實(shí)體詞的第一個(gè)字;I 表示核心實(shí)體詞中間的字;E 表示核心實(shí)體詞的最后一個(gè)字;pos 表示積極的情感;neg 表示消極的情感;norm 表示中立的情感。例如,B_pos 標(biāo)簽表示的是積極情感的核心實(shí)體的第一個(gè)字。標(biāo)注實(shí)例如表1所示。
AttBi-LSTM 模型將Attention 機(jī)制[12]融合到Bi-LSTM[13]中。深度學(xué)習(xí)中,Attention 機(jī)制可以理解為將注意力放在更重要的信息上,它與Bi-LSTM 融合的基本思想是:打破了傳統(tǒng)Bi-LSTM 結(jié)構(gòu)在編解碼時(shí)都依賴于內(nèi)部一個(gè)固定長(zhǎng)度向量的限制。AttBi-LSTM 機(jī)制的實(shí)現(xiàn)是通過保留Bi-LSTM 編碼器對(duì)輸入序列的中間輸出結(jié)果,然后訓(xùn)練一個(gè)模型來對(duì)這些輸入進(jìn)行選擇性的學(xué)習(xí),并且在模型輸出時(shí)將輸出序列與之進(jìn)行關(guān)聯(lián)。圖1為AttBi-LSTM的模型框架。
圖1 AttBi-LSTM模型框架Fig.1 AttBi-LSTM model framework
對(duì)于時(shí)間序列標(biāo)記任務(wù)來說,每一個(gè)時(shí)刻的歷史信息和未來信息的特征對(duì)于當(dāng)前實(shí)體標(biāo)簽的預(yù)測(cè)都很重要,然而標(biāo)準(zhǔn)的LSTM 并不能捕獲未來信息的特征。Bi-LSTM 模型將前向的LSTM 和后向的LSTM 結(jié)合,具有能夠捕獲前后信息特征的作用,因此,本文采用了Bi-LSTM 模型,其輸出可以表示為。Bi-LSTM 層輸入的向量結(jié)合表示為H:[h1,h2,…,hT]。Attention 層權(quán)重矩陣由M=tanh(H)、α=softmax(WTM)、γ=HαT的方式得到。其中,H∈Rdw·WT,dw為詞向量的維度,WT是一個(gè)訓(xùn)練學(xué)習(xí)得到的參數(shù)向量的轉(zhuǎn)置,最后AttBi-LSTM的輸出為h*=tanh(r)。
AttBi-LSTM 模型最終的輸出是相互獨(dú)立的,AttBi-LSTM學(xué)習(xí)到了輸入中前后信息的特征,但是沒有利用輸出標(biāo)簽的作用。CRF 也是一種序列建模算法,它綜合了隱馬爾可夫模型和最大熵模型的優(yōu)點(diǎn)。它根據(jù)給定觀察序列推測(cè)對(duì)應(yīng)的狀態(tài)序列,可以利用相鄰前后的標(biāo)簽關(guān)系來獲取當(dāng)前的最優(yōu)的標(biāo)記。因此,本文在AttBi-LSTM 的輸出層后疊加一層線性CRF來標(biāo)注核心實(shí)體及其情感分析的類別。
定義矩陣Pn×m為AttBi-LSTM 層的輸出,n在1.2 節(jié)中已經(jīng)進(jìn)行了定義,m表示標(biāo)簽類別的個(gè)數(shù),Pij表示句中第i個(gè)字是第j個(gè)標(biāo)簽的概率。定義狀態(tài)轉(zhuǎn)移矩陣A(m+2)×(m+2),其中,Aij表示在連續(xù)的一段時(shí)間內(nèi),第i個(gè)標(biāo)簽轉(zhuǎn)移到第j個(gè)標(biāo)簽的概率。對(duì)于預(yù)測(cè)序列y的概率可以表示為:,再通過softmax層計(jì)算出所有類別標(biāo)簽的概率。
圖2為本文的AttBi-LSTM-CRF中文核心實(shí)體識(shí)別及其情感分析模型框架。AttBi-LSTM-CRF 框架共分為4 步:1)預(yù)訓(xùn)練[14]部分,將待訓(xùn)練的文本序列進(jìn)行文本向量化,將其每個(gè)字轉(zhuǎn)換為對(duì)應(yīng)的有特定意義的固定長(zhǎng)度的向量。2)將處理好的詞向量序列輸入Bi-LSTM,提取文本雙向長(zhǎng)距離依賴特征。3)通過Attention 機(jī)制,提取輸入和輸出之間的相關(guān)性進(jìn)行重要度計(jì)算,根據(jù)重要度獲取文本整體特征。4)用線性CRF 層處理標(biāo)簽之間的狀態(tài)關(guān)系,得到全局最優(yōu)標(biāo)注序列。
圖2 AttBi-LSTM-CRF模型框架Fig.2 AttBi-LSTM-CRF model framework
本文的實(shí)驗(yàn)環(huán)境為:操作系統(tǒng)Ubuntu 16.04,CUDA 8.0,cudnn 6;處理器4 個(gè)CPU 核心,1 顆Nvidia Tesla P100 共享GPU 核;內(nèi) 存60 GB,顯 存16 GB;編譯平臺(tái)Pycharm Profession,Python 3.5,TensorFlow 1.5.1。
本文采用網(wǎng)格搜索法(grid search)進(jìn)行主要參數(shù)調(diào)節(jié),獲取模型的最優(yōu)參數(shù)集合,模型參數(shù)取值及其說明如表2 所示。其中,模型的部分超參數(shù)主要是來自于現(xiàn)有研究中的經(jīng)驗(yàn),如學(xué)習(xí)速率、Dropout 比例;一些參數(shù)是由數(shù)據(jù)集的特性而設(shè)置,如最長(zhǎng)序列長(zhǎng)度取值范圍根據(jù)句子長(zhǎng)度統(tǒng)計(jì)得到;一些參數(shù)根據(jù)模型訓(xùn)練和硬件的條件配置,如每批數(shù)據(jù)量大小、LSTM 隱藏層單元數(shù)。
表2 AttBi-LSTM-CRF模型的超參數(shù)Tab.2 Hyperparameters of AttBi-LSTM-CRF model
訓(xùn)練好的模型輸出結(jié)果是文本對(duì)應(yīng)的標(biāo)簽,連續(xù)的BIE標(biāo)簽對(duì)應(yīng)的詞表示一個(gè)核心實(shí)體,其中,可能一個(gè)核心實(shí)體會(huì)有幾種不同的情感標(biāo)簽,這時(shí)候通過投票機(jī)制,即少數(shù)服從多數(shù),得到這個(gè)核心實(shí)體的情感分析。
本文模型效果評(píng)估指標(biāo)有準(zhǔn)確率(Precision)、召回率(Recall)和F1 值(F1-score)[15]。每個(gè)指標(biāo)都有實(shí)體詞的得分和實(shí)體情感的得分兩部分,計(jì)算每個(gè)樣本單獨(dú)的指標(biāo)值,然后取所有樣本指標(biāo)值的平均數(shù)作為最后的結(jié)果。情感分析的指標(biāo)值由實(shí)體_情緒的組合標(biāo)簽進(jìn)行判斷,只有實(shí)體與情緒都正確才算正確的標(biāo)簽。其中,兩條實(shí)例數(shù)據(jù)的預(yù)測(cè)結(jié)果如表3所示,對(duì)應(yīng)的預(yù)測(cè)得分如表4所示。
表3 預(yù)測(cè)標(biāo)注實(shí)例Tab.3 Predictive labeling examples
表4 預(yù)測(cè)得分Tab.4 Predictive scores
3.4.1 不同模型的性能對(duì)比
為了驗(yàn)證AttBi-LSTM-CRF 模型中每個(gè)模塊的作用,本文選擇了Bi-LSTM、Bi-LSTM-CRF、AttBi-LSTM 這三種模型進(jìn)行相同的實(shí)驗(yàn)作為實(shí)驗(yàn)對(duì)照。這些模型的參數(shù)與AttBi-LSTMCRF 模型使用的參數(shù)相同。為使實(shí)驗(yàn)結(jié)果更加穩(wěn)定可靠,每種模型都將重復(fù)實(shí)驗(yàn)10次,并取10次實(shí)驗(yàn)的平均值作為最終的結(jié)果,如表5所示。
由表5可知,與AttBi?LSTM 相比,Bi?LSTM的結(jié)果較差,原因是其沒有引入注意力機(jī)制,無法捕捉到核心實(shí)體之間的依賴關(guān)系。AttBi-LSTM 和Bi-LSTM-CRF 的結(jié)果相當(dāng),注意力機(jī)制的引入能有效解決長(zhǎng)文本間的長(zhǎng)期依賴關(guān)系,條件隨機(jī)場(chǎng)(CRF)通過求解最大概率得到最優(yōu)序列,能很好地標(biāo)注序列標(biāo)簽。本文提出的AttBi-LSTM-CRF 模型在準(zhǔn)確率、召回率、F1 值上取得了最好的結(jié)果。模型訓(xùn)練時(shí)的F1 值變化和召回率變化如圖3~4 所示。由圖3 和圖4 可知,本文提出的AttBi-LSTM-CRF 模型的F1 值、召回率和收斂速度均取得了最好的結(jié)果
表5 不同模型的準(zhǔn)確率、召回率和F1值對(duì)比Tab.5 Comparison of accuracy,recall rate and F1 value among different models
圖3 模型訓(xùn)練時(shí)的F1值變化Fig.3 Change of F1 value during model training
圖4 模型訓(xùn)練時(shí)的召回率變化Fig.4 Change of recall rate during model training
3.4.2 Attention模塊
從表5中可以看出:AttBi-LSTM 模型的準(zhǔn)確率為0.754,召回率為0.683,F(xiàn)1 值為0.717,相較Bi-LSTM 模型F1 值高出0.017,準(zhǔn)確率和召回率也有相應(yīng)的提升。比較Bi-LSTM 模型和AttBi-LSTM 模型的實(shí)驗(yàn)數(shù)據(jù)可知,AttBi-LSTM 模型在coreEntityEmotion_train 語料的核心實(shí)體識(shí)別及其情感分析任務(wù)上的表現(xiàn)更好。這是由于采用的Bi-LSTM 模型存在一個(gè)問題:不論輸入長(zhǎng)短都將其編碼成一個(gè)固定長(zhǎng)度的向量表示,這使模型對(duì)于長(zhǎng)輸入序列的學(xué)習(xí)效果很差。而Attention 機(jī)制則克服了上述缺陷,原理是Attention 模塊能高效地分配有限的注意力資源,有選擇性地將注意力投放到高價(jià)值的信息上,在模型輸出時(shí)會(huì)選擇性地專注考慮輸入中對(duì)應(yīng)高度相關(guān)的信息。獲取的信息價(jià)值越高,實(shí)驗(yàn)的結(jié)果越好。
3.4.3 線性CRF模塊
表5 給出了Bi-LSTM 模型和Bi-LSTM-CRF 模型的實(shí)驗(yàn)結(jié)果對(duì)比。Bi-LSTM-CRF 模型的實(shí)驗(yàn)結(jié)果數(shù)據(jù)是準(zhǔn)確率為0.752,召回率為0.691,F(xiàn)1 值為0.720,相較Bi-LSTM 模型F1值高出0.020,準(zhǔn)確率和召回率也有相應(yīng)的提升,表明線性CRF模塊可以獲得更好的效果。線性CRF是一種序列標(biāo)注模型,它和LSTM 等分類器標(biāo)注模型不同,它考慮的不是長(zhǎng)遠(yuǎn)的上下文信息,它是計(jì)算某個(gè)序列中的最優(yōu)聯(lián)合概率,優(yōu)化整個(gè)序列(最終目標(biāo))。
3.4.4 AttBi-LSTM-CRF模型
通過實(shí)驗(yàn)結(jié)果數(shù)據(jù)對(duì)比可以看到,本文使用的AttBi-LSTM-CRF 模型相較于傳統(tǒng)的Bi-LSTM,核心實(shí)體的識(shí)別及其情感分類的準(zhǔn)確性有了大幅度的提升,相較于在Bi-LSTM 基礎(chǔ)上只增加Attention 或者線性CRF 任意一種模塊的模型,也有更優(yōu)的結(jié)果。
針對(duì)搜狐c(diǎn)oreEntityEmotion_train 語料核心實(shí)體識(shí)別和核心實(shí)體情感分析的任務(wù),本文提出了AttBi-LSTM-CRF 模型。Bi-LSTM 網(wǎng)絡(luò)可以獲取長(zhǎng)遠(yuǎn)的上下文信息對(duì)文本標(biāo)注產(chǎn)生影響,加入Attention 模塊可以從輸入中獲取與輸出的標(biāo)注有關(guān)的重要信息,在AttBi-LSTM 層后加上線性CRF 層獲取整個(gè)序列最優(yōu)標(biāo)注。在搜狐c(diǎn)oreEntityEmotion_train 語料上進(jìn)行的對(duì)比實(shí)驗(yàn)結(jié)果表明,本文使用的AttBi-LSTM-CRF 模型在核心實(shí)體識(shí)別和核心實(shí)體的情感分析任務(wù)上取得了較高的準(zhǔn)確值、召回率和F1 值,相較Bi-LSTM、AttBi-LSTM、Bi-LSTM-CRF 三種模型有一定的優(yōu)越性。最近Devlin 等[16]提出了基于BERT的神經(jīng)語音模型,該模型在上10 種自然語言任務(wù)中都取得了最好的結(jié)果,因此,可以使用本文的數(shù)據(jù)對(duì)BERT 進(jìn)行遷移訓(xùn)練后改變輸出層的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行核心實(shí)體的識(shí)別與情感分類。