夏鶴瓏 嚴丹丹
摘要:使用傳統(tǒng)深度學習方法來進行信息抽取時,存在長距離依賴問題或者梯度彌散問題。針對以上問題,提出基于多頭注意力機制的神經(jīng)網(wǎng)絡(luò)模型的關(guān)系抽取方法,利用文本向量和位置編碼得到局部特征,將得到的局部特征作為輸入導入到多頭注意力機制的神經(jīng)網(wǎng)絡(luò)模型中,得到全局特征,最后使用分類器進行分類。通過該模型在中文語料庫上進行人物關(guān)系抽取,并與多個模型進行對比實驗,結(jié)果表明:基于多頭注意力機制的神經(jīng)網(wǎng)絡(luò)模型在效果上有所提高。
關(guān)鍵詞:信息抽取,注意力機制,深度學習,自然語言處理,神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP391?文獻標志碼:A?文章編號:2095-5383(2020)01-0032-05
Abstract:Information extraction is an important part of knowledge mapping,it mainly extracts entities,relationships and other structured information from text information.?At present,traditional deep learning methods are widely used for information extraction,but it also has the problem of long distance dependence or gradients diffusion.?In response to the above problems,a relationship extraction method based on the neural network model of Multiple Attention mechanism was proposed,it used text vector and position coding to obtain local features,and the obtained local features were input into the neural network model of Multiple Attention mechanism to obtain global feature.?Finally,the classifier was applied for classification.?The model was used to extract character relationships from Chinese corpus and compared with multiple models.?The results show that the neural network model based on Multi-Head Attention mechanism is more effective.
Keywords:information extraction,attention mechanism,deep learning,natural language processing,neural network
信息的爆炸式增長是互聯(lián)網(wǎng)快速發(fā)展的必然結(jié)果,有用的和無用的信息混雜在一起。無論是學術(shù)角度還是商業(yè)角度,如何從中提取有效信息都是一個重要課題。信息抽取技術(shù)[1]是通過計算機從非結(jié)構(gòu)化的文本中抽取結(jié)構(gòu)化信息,主要分為實體抽取、實體關(guān)系抽取和事件抽取。關(guān)系抽取是對于給定的兩個或多個實體,從劃分好的關(guān)系類型表中找到合適的關(guān)系類型。目前關(guān)系抽取方法主要分為傳統(tǒng)的基于統(tǒng)計的機器學習方法和近些年來熱門的深度學習方法。林壓平等[2]利用馬爾科夫模型對文本進行信息抽取,周晶等[3]使用條件隨機場進行文本信息抽取,均取得不錯的成績。但隨著信息的增多,傳統(tǒng)的基于統(tǒng)計的機器學習方法開始逐漸顯現(xiàn)弊端,人們必須對要信息文本中所述的領(lǐng)域非常了解才能制定出合適特征。深度學習的興起,使信息抽取技術(shù)有了更好的發(fā)展。Socher等[4]利用遞歸神經(jīng)網(wǎng)絡(luò)(recursive neural network)的方法進行信息抽取,但其并未考慮多個實體之間的位置關(guān)系。區(qū)別于傳統(tǒng)的機器學習方法,深度學習一般需要大量數(shù)據(jù)集,能夠利用標記好的數(shù)據(jù)集實現(xiàn)對特征權(quán)重的調(diào)整,從而實現(xiàn)自動選取特征。本文以關(guān)系抽取技術(shù)為例,提出以注意力機制為整體架構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,對給定的文本通過位置關(guān)系獲得其位置向量與對應(yīng)的詞向量作為該文本的輸入特征,應(yīng)用注意力機制提取輸入特征作為輸出特征,最后對提取后的特征進行分類。
1?基于Multi-Head Attention機制的人物關(guān)系抽取模型
Attention機制實質(zhì)是學習一種概率分布,能夠聯(lián)系上下文,從而學習到更多的文本特征。Multi-Head Attention機制是Attention機制的一種變種[5],是在Attention機制的基礎(chǔ)上增加了多個head,每個head能從不同的表征空間學習到不同的信息,從而捕捉到輸入與輸出之間的依賴性。本文模型框架如圖1所示,主要包括兩部分:1)詞向量和位置編碼。利用分詞工具對中文語料庫進行分詞,再用Skip-gram模型進行Word2Vec訓練[6],得到詞向量。其后利用分詞后的句子中每個單詞與所要判斷的2個人名的首位置的距離關(guān)系得到位置編碼,詞向量與位置編碼作為輸入向量進行訓練。2)構(gòu)建Multi-Head Attention神經(jīng)網(wǎng)絡(luò)模型。利用Multi-Head Attention機制對輸入向量計算概率分布,根據(jù)計算得到的概率分布與輸入向量進行加權(quán)計算從而獲得文本特征,因為其有多個head能從不同表征空間學習到不同的信息,所以有多個特征向量,將多個特征向量進行拼接后再進行線性變換,以此作為最后的輸出特征,導入到分類器,進行分類。
2?模型求解
2.1?詞向量的生成
由于計算機程序不能直接處理文本數(shù)據(jù),因此需要將文本數(shù)據(jù)轉(zhuǎn)換成數(shù)字數(shù)據(jù)。對于給定的一個文本S,其中包含單詞集,n為文本S中的單詞數(shù)。
2.2?位置編碼
位置編碼能反映句中所要判斷關(guān)系的2個詞語的距離關(guān)系。對于文本S,有:
將得到的Eword,EPos1,EPos2的各個詞向量進行拼接,得到Econcat∈Rn×3m。
2.3?Multi-Head Attention層
Multi-Head Attention機制是Attention機制的一個變種,在原來Attention機制的基礎(chǔ)上,增加了多個head,使其能在不同表征空間并行地獲取不同文本信息,增加了對文本信息特征的提取能力。Multi-Head Attention層結(jié)構(gòu)如圖2所示,以下以一個head為例。
2.3.1?線性變換
對于給定矩陣Q,V,K,因為使用Self-Attention機制,所以令Q=V=K=X。其中X為上文詞向量拼接后所得到的Econcat。進行線性變換:
表示參數(shù)W所屬于headi。得到的Qi,Ki,Vi∈Rn×r,經(jīng)過線性變換的矩陣保持著維度一致,以方便后面計算。
2.3.2?縮放點積模型
縮放點積操作是使用點積進行相似度計算,主要是被用于計算概率分布。其步驟是利用Q對K進行相似度計算,再利用Soft max函數(shù)得到K關(guān)于Q的注意力分布,最后把其與V進行加權(quán)求和。
其中:
Q,K,V均是X進行不同線性變換后所得到的矩陣,r為K的維度,除以r是為了把數(shù)值縮放在合適范圍,不至于太大。將得到的多個head進行拼接,得到文本全局特征。Soft max是歸一化函數(shù),其公式為:
2.3.3?層標準化(Layer Normalization)
Layer Normalization是一種橫向規(guī)范化,是針對同一層的隱藏單元進行計算,同層的輸入擁有相同的方差與均值,不同的訓練樣本則是不同的方差和均值。它能夠改良數(shù)據(jù)的分布,加速訓練損失的收斂。
2.3.4?損失函數(shù)
關(guān)系抽取可以看作是多分類問題,本文使用交叉熵損失函數(shù)對分類結(jié)果進行損失(Loss)計算,并在訓練過程中以Adam優(yōu)化算法降低損失。交叉熵損失函數(shù)為:
2.3.5?關(guān)于梯度彌散
隨著網(wǎng)絡(luò)層數(shù)的加深反向傳播時鏈式求導項會變得越長,同時選取不當?shù)募せ詈瘮?shù)都可能會造成梯度趨近于0的問題[7]。而本文模型能在一定程度緩解梯度彌散問題是因為模型網(wǎng)絡(luò)層簡單,并不會使反向傳播鏈很長,并且選用relu激活函數(shù),在x正區(qū)間不飽和,緩解了此問題,同時還引入了Layer Normalization層標準化,能把輸入的數(shù)據(jù)拉入relu激活函數(shù)的非飽和區(qū),同樣能在一定程度上緩解梯度彌散。
3?實驗部分
3.1?實驗環(huán)境
本實驗在Ubuntu系統(tǒng)下進行的,實驗所使用的CPU為i7-7 700 k,內(nèi)存32 GB,顯存8 GB,所使用編
程語言為Python 3.5版本,開發(fā)工具為Jupyter Notebook。使用的深度學習框架為Tensorflow 1.9。
3.2?實驗數(shù)據(jù)
本實驗人物關(guān)系數(shù)據(jù)集總共89 183條,劃分的訓練集、驗證集、測試集數(shù)量分別為71 346條、8 918條、8 919條。其中包含11類人物關(guān)系,如父母、師生、合作、好友等,如表1所示。樣本的示例如表2所示。
3.3?評判指標
本實驗采用精準率(precision),召回率(recall),F(xiàn)1值作為實驗結(jié)果的評判標準,其中精準率P、召回率R、F1值公式為:
其中:TP為預(yù)測正確的個數(shù),F(xiàn)P是實際為負但預(yù)測為正的錯誤個數(shù),F(xiàn)N是實際為正但預(yù)測為負的錯誤個數(shù)。P值反應(yīng)的是在預(yù)測為正的樣本中有多少預(yù)測正確,R值反應(yīng)的是在所有正例中有多少被預(yù)測出來。
3.4?實驗設(shè)計
本文利用中文分詞工具Jieba對數(shù)據(jù)集進行中文分詞,得到分詞后的數(shù)據(jù)集。然后使用Skip-gram模型對位置編碼和分詞后的數(shù)據(jù)集訓練其詞向量,將3個詞向量拼接后作為模型的輸入。經(jīng)過多次訓練,觀察Loss值的迭代,記錄每次的參數(shù)和性能指標,最后從中選取性能最好的一組作為最終數(shù)據(jù)。
3.5?實驗結(jié)果
選取實驗數(shù)據(jù)中的訓練集作為訓練數(shù)據(jù),以測試集作為最終模型結(jié)果的評判數(shù)據(jù),其實驗結(jié)果如圖3、表3所示。
可以看出關(guān)系類型“夫妻”的精準率、召回率、F1值均優(yōu)于其他關(guān)系類型,關(guān)系類型“親戚”的精準率、召回率、F1值相較于其他關(guān)系類型更低。這主要是由于數(shù)據(jù)集樣本的分布不平衡所造成,關(guān)系類型為“夫妻”的數(shù)據(jù)量占了整個數(shù)據(jù)集總量的32%,但關(guān)系類型為“親戚”的數(shù)據(jù)量只占有數(shù)據(jù)集總量的1.5%,數(shù)據(jù)量的大小很大程度決定了模型的性能。其次關(guān)系類型為夫妻的大部分句子中包含特征鮮明的詞,如“嫁”“娶”“丈夫”等,多頭注意力機制能分配更多的注意力在類似詞語上。
3.6?模型對比
應(yīng)用在自然語言處理的神經(jīng)網(wǎng)絡(luò)模型有很多,本實驗利用基于多頭注意力機制的神經(jīng)網(wǎng)絡(luò)模型與傳統(tǒng)的深度學習模型在相同數(shù)據(jù)集上進行對比,如表4所示。
由表4可知,基于Multi-Head Attention的神經(jīng)網(wǎng)絡(luò)模型在性能上優(yōu)于其他3種傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型,其原因是傳統(tǒng)的GRU、LSTM模型無法捕捉到長序列之間的依賴關(guān)系,而Multi-Head Attention機制能夠緩解長距離依賴問題,多個head能獲得文本不同表征空間的更多特征。
4?結(jié)束語
關(guān)系抽取作為信息抽取的其中的一部分,利用傳統(tǒng)的深度學習模型不能有效地捕捉到長距離關(guān)系。針對所述問題,本文提出了基于多頭注意力的神經(jīng)網(wǎng)絡(luò)模型,該模型的優(yōu)點在于多個head能提取得到更加全面的文本特征,同時也能夠考慮到輸入與輸出之間的關(guān)系,所以在相同數(shù)據(jù)集的實驗中獲得了相比較而言更好的效果。但其只能應(yīng)用在傳統(tǒng)的信息抽取上,對于開放式實體關(guān)系抽取,將來會做進一步研究。
參考文獻:
[1]李楓林,柯佳.基于深度學習框架的實體關(guān)系抽取研究進展[J].情報科學,2018,36(3):169-176.
[2]周晶,吳軍華,陳佳,等.基于條件隨機域CRF模型的文本信息抽取[J].計算機工程與設(shè)計,2008,29(23):6094-6097.
[3]林亞平,劉云中,周順先,等.基于最大熵的隱馬爾可夫模型文本信息抽取[J].電子學報,2005(2):236-240.
[4]SOCHER R,HUVAL B,MANNING C D,et al.?Semantic compositionality through recursive Matrix-vector spaces[C]// Proceedings of the 2012
Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning,2012.
[5]劉峰,高賽,于碧輝,等.基于Multi-head Attention和Bi-LSTM的實體關(guān)系分類[J].?計算機系統(tǒng)應(yīng)用,2019,28(6):118-124. http://www.c-s-a.org.cn/1003-3254/6944.html.
[6]MIKOLOV T,CHEN K,CORRADO G,et al.?Efficient estimation of word representations in vector space[J].?Computer Science,2013.?https://www.researchgate.net/publication/234131319_Efficient_Estimation_of_Word_Representations_in_Vector_Space.
[7]HE K,ZHANG X,REN S,et al.?Deep residual learning for image recognition[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).?IEEE Computer Society,2016.