趙鑫,李正光,吳鏑,方金朋
(大連交通大學(xué) 軟件學(xué)院,遼寧 大連 116028)
近年來,特別是社交網(wǎng)絡(luò)的發(fā)展使得用于研究藥物不良反應(yīng)的互聯(lián)網(wǎng)數(shù)據(jù)增長迅速,文本分類成為處理大量文本數(shù)據(jù)的關(guān)鍵技術(shù).文本分類,就是在事先給定的類別標記(label)集合下,根據(jù)文本的內(nèi)容來判斷它的類別,這在自然語言處理中有著廣泛的運用[1].
目前應(yīng)用到文本分類中的算法很多,例如KNN分類算法、樸素貝葉斯分類算法、支持向量機(SVM),神經(jīng)網(wǎng)絡(luò)、最大熵等,這些方法都是通過淺層神經(jīng)網(wǎng)絡(luò)來實現(xiàn)的,在文本分類中取得了很好的效果.但是它們的局限性表現(xiàn)在對復(fù)雜函數(shù)的表示能力不足,使得對復(fù)雜分類問題的泛化能力不足[2-3].
深度神經(jīng)網(wǎng)絡(luò)的迅速發(fā)展為解決這個問題提供了可能,多層的神經(jīng)網(wǎng)絡(luò)模型不但可以克服這一問題,同時非線性映射的深層結(jié)構(gòu)能夠利用比較少的傳參數(shù)來完成較復(fù)雜的函數(shù)逼近,具備良好的特征學(xué)習(xí)能力.而在深度神經(jīng)網(wǎng)絡(luò)模型中,文本的預(yù)處理以及特征的選擇在很大程度上影響最終分類器的性能.目前大多數(shù)的研究都提取了某一類特征運用于分類任務(wù)中.文獻[4]使用卷積神經(jīng)網(wǎng)絡(luò)和詞向量,加入位置特征,其分類性能超越了傳統(tǒng)方法.但是,不同類型的特征所表征的信息并不相同,僅使用一種特征不能充分利用文本信息.基于此問題,本文提出了一種混合多特征的神經(jīng)網(wǎng)絡(luò)模型,融合詞性特征,情感特征和位置特征作為多通道卷積網(wǎng)絡(luò)的輸入,通過CNN和LSTM模型的特征學(xué)習(xí),最后利用softmax輸出關(guān)系類型完成分類.
本文所用的數(shù)據(jù)來自twitter中與藥品相關(guān)的帖子共計6773條推文,預(yù)處理的過程包括:
(1)獲取文檔中的文本信息,即去除文檔中用戶的ID、名稱等信息,去除標點符號以及一些特殊符號(如“ , …”),并將所有的單詞變?yōu)樾?
(2)構(gòu)建映射表,將每個單詞均映射成數(shù)字,這樣可以將文檔表示成特征向量的形式,每個特征向量對應(yīng)一個單詞.例如,單詞bloody映射成9.
通過以上處理工作,把文本表示成特征向量形式,結(jié)構(gòu)化數(shù)據(jù),以便于后續(xù)的處理.另外,模型訓(xùn)練時,數(shù)據(jù)集中90%作為訓(xùn)練集,為了加快訓(xùn)練速度以及增加精確度,使用5倍平衡將訓(xùn)練集中正例擴充5倍;剩余的10%作為測試集.
詞向量(word vector)也稱為詞嵌入(word embedding),是詞語的一種分布式表示.每個單詞被表示成一個連續(xù)的實數(shù)值向量,并通過訓(xùn)練使得向量空間的相似度可以表示文本語義的相似度[5].同時,相比較于其他的文本表示方法,例如one-hot、概率主題模型等,詞向量模型包含的語義信息更加豐富[6].本文選用Google在2013年開源Word2Vec作為詞向量訓(xùn)練工具,該工具使用的訓(xùn)練模型是Mikvolov等人[6]在2013年提出的CBOW和skip-gram,并且因為使用簡單,而且效果顯著被廣泛使用.
1.3.1 詞性標注(Part-of-Speech tagging)
通過詞性標注概括文本,可以保存更多的文本信息,而且利用詞性能夠代表某一類文本的特征這一特點,以詞性序列作為文本的特征表示,相較于N-gram特征提取方法也可達到降低特征表示維度的效果[7].文獻[8]提出的詞性標注方法在twitter數(shù)據(jù)上實驗得到將近90%的準確率.本文利用NLP工具Word2Vec自動獲取詞性序列.如圖1所示.
圖1 本文獲取的詞性序列
用工具自動獲取詞性,構(gòu)建詞性-數(shù)字映射表,則上述句子被表示為:[1,2,3,1,4].
1.3.2 情感分析(Sentiment Analysis)
對文本感情色彩的判斷來自于文本中帶有感情色彩的詞語,在特定的文本分類任務(wù)中,不同的感情色彩也影響著分類的精確度.在ADR文本分類中,帶有負面情感的文本屬于ADR的概率更大.文獻[9]提出一種基于監(jiān)督學(xué)習(xí)的方法應(yīng)用到情感分析中,對影評文本進行情感傾向性分類,該研究對之后的情感分析研究有著深遠的影響.
本文使用情感詞典,其中有117個負面情感詞,將情感詞映射為特征向量,與利用語料庫所構(gòu)建詞袋(bag-of-words)中的每個詞所映射的特征向量通過式(1)計算得到情感特征向量.
(1)
1.3.3 位置特征(Position Features)
文本上下文中詞語對關(guān)系實例的描述能力與詞語和關(guān)系實例間相對位置有關(guān).詞語距離關(guān)系實例越近,其對實例的描述能力越強[10].所以詞語的位置特征能夠作為文本分類中有用的特征.求詞語的位置特征有很多選取方法,文獻[11]提出將詞語相對位置的信息增益作為位置特征.
本文使用一種簡單的提取位置特征的計算方法,假設(shè)目標實體(即文本中的藥品名稱)的位置為a,則該實體所在的句子中其余詞相對于實體的位置信息表達為:
(2)
其中,c表示該詞語當前位置,sum表示句子長度.例如:“My doc is going to up my fluoxetine dosages.”,句子中藥品實體為“fluoxetine”,則通過式(2)計算其余詞相對實體的位置,最終句子表示為: [-0.78,-0.67,-0.56, -0.44,-0.33,-0.22,-0.11,0.0,0.11]
本文提出的多特征混合神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖2所示,不同的特征向量通過不同的CNN模型通道輸入到模型中,經(jīng)過CNN訓(xùn)練之后的結(jié)果經(jīng)過池化層以及merge層的融合連接作為LSTM模型的輸入,最終運用softmax分類器計算輸出向量在類別空間中的置信度分布.
圖2 多通道卷積神經(jīng)網(wǎng)絡(luò)
2.1.1 卷積層
卷積層接收嵌入層輸出的特征向量r,
r=WwdV
其中:Wwd=[W1,W2,…,Wi]∈Rc×v×d是訓(xùn)練好的詞向量矩陣,Wi表示輸入第i通道的特征向量,c為通道,υ為詞典大小,d為詞向量的維度;V∈Rc×n×d表示輸入矩陣,用于之后的卷積層提取特征,n表示輸入句子的最大長度.
卷積核D∈Rc×h×d,h表示卷積核的高度.設(shè)Di×Rh×d表示第i通道卷積核,大小為h×d,Vi[k:k+h-1]表示第i通道第k到k+h-1的向量,b為偏置,f為非線性激活函數(shù),則卷積mk表示為:
mk=f(Vi[k:k+h-1]·Di+b)
(4)
輸入層矩陣通過式(4)得到卷積后得到一個新的特征C:
C=[m1,m2,m3,…,mn-h+1]
(5)
卷積層提取窗口大小為h的輸入層句子特征,由于輸入層特征不同,可以提取更多新的特征.
2.1.2 Bi-LSTM層
長短時間記憶網(wǎng)絡(luò)(Long Short Term Memory Net-works, LSTM),一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),該網(wǎng)絡(luò)能夠解決深度學(xué)習(xí)中RNN梯度消失的問題.CNN模型的輸出經(jīng)過池化層和merge層融合連接之后作為LSTM模型的輸入.LSTM 的模型由專門的記憶存儲單元組成,經(jīng)過精心設(shè)計的輸入門、遺忘門和輸出門來控制各個記憶存儲單元的狀態(tài),通過門的控制保證了隨著隱藏層在新的時間狀態(tài)下不斷疊加輸入序列,前面的信息能夠繼續(xù)向后傳播而不消失.
利用形式化語言,LSTM可以表述為:
其中,δ表示激活函數(shù)sigmod;W*,U*,V*,b*分別表示系數(shù)矩陣和偏置向量;it,ft,ot分別表示t時刻輸入門、遺忘門和輸出門的計算方法,ct表示t時刻記憶單元計算方法,表示t時刻LSTM單元的輸出.
另外,單向LSTM只能參考輸入序列的上文信息,而對下文信息并無涉及為了解決這一缺點,充分利用上下文信息,所以構(gòu)建了雙向的LSTM(簡稱Bi-LSTM),對每個訓(xùn)練序列分別訓(xùn)練一個正向LSMT網(wǎng)絡(luò)和一個反向LSTM網(wǎng)絡(luò),并且在同一個輸出層輸出,這樣能夠充分捕獲輸入序列每個點的上下文信息.
在訓(xùn)練過程中有幾個參數(shù)需要調(diào)整:多通道詞向量矩陣Wwd,多通道卷積核D,轉(zhuǎn)移矩陣W,以及偏移量b,有θ=(Wwd,D,W,b), 使用式(11)作為損失函數(shù):
(11)
yi為輸入xi的標簽,L表示每次訓(xùn)練的樣本數(shù)量.在訓(xùn)練參數(shù)時使用梯度下降最小化損失函數(shù),使用式(12)更新梯度:
另一方面,為了減少固定學(xué)習(xí)率λ造成的不穩(wěn)定的損失,使用adam算法改進每個訓(xùn)練步驟中梯度下降參數(shù).
模型訓(xùn)練各個超參數(shù)設(shè)置如下:卷積核個數(shù)為128;卷積核高度為3,4,5;步長為1;激活函數(shù)為Relu;池化窗口大小為5.為了驗證多通道模型可以提高關(guān)系抽取的性能,進行對比試驗,實驗分別設(shè)置為只使用位置特征,只使用詞性特征,只使用情感特征以及同時使用三通道,其他參數(shù)保持一致.
圖3 迭代次數(shù)對比
圖3所示為四種模型迭代次數(shù)的對比,從圖中可以看出多通道模型(Muti)迭代次數(shù)明顯少于詞性模型(POS)和情感特征模型(Sentiment)的迭代次數(shù),而與位置特征(Position)的迭代次數(shù)相差不大,說明多通道模型可以加快收斂,使訓(xùn)練速度大大提升.
表1為單個特征模型和多通道模型結(jié)果,通過對比得出:
(1)不同的特征向量訓(xùn)練得出的結(jié)果有差別,說明不同的特征帶有不同的信息;
(2)使用多通道將各個特征向量融合后訓(xùn)練結(jié)果優(yōu)于使用單一特征向量的訓(xùn)練結(jié)果.
表1 模型訓(xùn)練結(jié)果
為了證明本文所提出的模型有較好的識別效果,表2列舉了幾個分類模型作為對比.
表2 模型對比
其中,FastText模型利用n元組(bag-of-n-gram)將特征轉(zhuǎn)化為低維向量空間,這樣可以通過分類算法實現(xiàn)不同特征共享[13];Supervised CNN使用上下文語境作為默認參數(shù)訓(xùn)練CNN模型;ADR Classifier是一個較先進的二分類模型,識別短文本是否為藥物不良反應(yīng)(ADR)文本[14];而Multi-CNN為本文提出的模型,通過對比可知,本文所提模型無論從準確率,召回率還是F值上都略高于其余模型,證明本文所提模型的有效性與先進性.
本文提出一種多通道網(wǎng)絡(luò)模型,該模型用于生物醫(yī)學(xué)的實體關(guān)系抽取中,使用word2vec訓(xùn)練工具提取特征向量并應(yīng)用到多通道模型中,從而可以增加表征信息.通過實驗對比得知,多通道模型在生物醫(yī)學(xué)的實體關(guān)系抽取中表現(xiàn)突出.在未來的工作中,可以嘗試更多的特征融合到多通道中,比如依存句法樹等.另外可以使用GloVe作為詞向量提取特征向量.GloVe是由斯坦福大學(xué)Pennington等人[15]提出的,模型構(gòu)造了一個全局的詞共現(xiàn)矩陣,是基于計數(shù)的方法,從而可以利用全局統(tǒng)計信息,更多的考慮了全局的信息.所以使用GloVe在多通道模型關(guān)系抽取中有很大的研究價值.