【信息抽取】如何使用卷积神经网络进行关系抽取
事物、概念之間的關系是人類知識中非常重要的一個部分,但是他們通常隱藏在海量的非結構文本中。為了從文本中抽取這些關系事實,從早期的模式匹配到近年的神經網絡,大量的研究在多年前就已經展開。
然而,隨著互聯網的爆炸發展,人類的知識也隨之飛速的增長,因而對關系抽取(Relation Extraction, RE)提出了更高的要求,需要一個有效的RE系統,能夠利用更多的數據;有效的獲取更多的關系;高效的處理更多復雜的文本;具有較好的擴展性,能夠遷移到更多的領域。
本文首先介紹一種基于卷積神經網絡的關系抽取方法。
作者&編輯 | 小Dream哥
1 導論?
在引入深度學習之前,在NLP領域,關系抽取最優的方法是基于機器學習的方法。機器學習的方法依賴手動提取特征,手動提取的特征通常依賴于其他的NLP系統(一些NLP工具),這些工具不免會帶入錯誤,這些錯誤就會在關系抽取的任務中進行傳播。
因此,基于機器學習的關系抽取方法代價大且效果不佳。這里介紹一種比較早的應用深度卷積神經網絡進行關系抽取的方法,由神經網絡進行特征抽取,避免了手動的特征提取,實現了端到端的關系抽取。
Daojian Zeng, Kang Liu, Siwei Lai, Guangyou Zhou, and Jun Zhao. 2014. Relation classifification via convolutional deep neural network. In Proceedings of COLING, pages 2335–2344.
2 網絡結構
如上圖所示是該基于深度卷積神經網絡的模型框架圖,從圖中可知,模型的輸入是一段話,并指明了句子中的2個實體;輸出為一個特征向量,表征了這兩個實體的關系。該結構主要分為3個部分:詞嵌入、特征抽取以及輸出。
1)詞嵌入(Word Representation)
詞嵌入就是目前NLP領域最普通的詞嵌入,每一個輸入詞語轉化成一個固定維度的向量。這個向量是從預先訓練好的詞向量字典中查找得到,這份詞向量字典中的詞向量表征了詞之間的語義關系。
2) 特征抽取層
鑒于關系分類是一個復雜的任務,模型需要學習實體的詞語級特征和整個句子的語義級別的特征,才能完成關系的分類。
因此模型的特征抽取包括兩個部分,詞語級特征抽取和句子級特征抽取。詞語級的特征抽取提取局部的詞語級的信息,句子級的特征抽取提取全局的語義信息,二者結合提高模型的準確性。
1.詞語級特征抽取(Lexical Level Features)
如上圖所示,詞語級特征包括3個部分,
? ? 第一部分是詞語(待分類的實體)本身;
? ? 第二部分是詞語左右的詞;
? ? 第三部分是詞語的上位詞,通過wordNet獲取得到。
這三個部分的通過詞嵌入之后,拼接在一起就構成了詞語級的特征。
2.句子級特征抽取(Sentence Level Features)
詞向量雖然能夠一點程度的表征詞語之間的關系及相似度,但是在關系抽取任務中,通常需要在當前語境的關系下學習兩個詞之間的關系。有時候兩個詞語之間的距離還會比較遠,這就需要模型要能夠表征長距離的特征及語義特征。
為此,模型設計了一個Convolution層,用于句子級的語義特征抽取。
首先,Convolution層的輸入包括兩個部分,Word Feature和Position feature。
Word Feature是由一定大小的窗口,拼接起來的特征。假設,輸入序列經過詞嵌入之后的序列為(X1,X2,...Xn),假設窗口的大小為3,則Word Feature構建成這樣:
? ? ? ? ? {[Xs,X1,X2],[X1,X2,X3],...[Xn-1,Xn,Xe]}
通過這種方式,能夠一定程度的提取句子的局部特征。但是全局特征,仍需要其他模塊來提取。
模型中的Position feature是相對距離,記錄的是當前詞與兩個待預測實體之間的相對距離,PF=[d1, d2],并且初始化成一定維度的向量。
最后將兩種特征拼接起來X=[WF,PF]構成句子級特征抽取的輸入。
隨后的Convolution層非常的簡單,主要包括如下的3步:
第一步,線性變換:
第二步,最大層池化:
池化的維度是序列延展的方向。通過最大層池化,提取出最有效的特征。
第三步,激活函數:
3) 輸出層
將詞語級特征和句子級特征拼接起來,[Y,g],接一個全連接層,獲得模型的特征向量O,最后再接一個softmax層,輸出兩個詞屬于預定義關系類別的概率。
模型訓練采用常用的隨機梯度下降和方向傳播算法,這里就不再贅述。
總結
本文介紹了一種基于深度學習的關系抽取的方法,這是用深度學習處理關系抽取任務最早的工作之一了,避免了早期用機器學習方法的人工特征提取,取得了當時最好的效果。
用現在的眼光來看這個模型,可能覺得稍顯“粗陋”,例如,局部特征和全局特征分開抽取,簡陋的卷積網絡、最大池化的操作值得商榷。但看看早期的工作能夠更好的理解目前的NLP工作,更深刻的理解目前的BERT等新工作的做法。
下期預告:基于循環神經網絡的關系抽取
知識星球推薦
掃描上面的二維碼,就可以加入我們的星球,助你成長為一名合格的自然語言處理算法工程師。
知識星球主要有以下內容:
(1) 聊天機器人。
(2) 知識圖譜。
(3) NLP預訓練模型。
轉載文章請后臺聯系
侵權必究
往期精選
【完結】 12篇文章帶你完全進入NLP領域,掌握核心技術
【年終總結】2019年有三AI NLP做了什么,明年要做什么?
【NLP-詞向量】詞向量的由來及本質
【NLP-詞向量】從模型結構到損失函數詳解word2vec
【NLP-NER】什么是命名實體識別?
【NLP-NER】命名實體識別中最常用的兩種深度學習模型
【NLP-NER】如何使用BERT來做命名實體識別
【NLP-ChatBot】我們熟悉的聊天機器人都有哪幾類?
【NLP-ChatBot】搜索引擎的最終形態之問答系統(FAQ)詳述
【NLP-ChatBot】能干活的聊天機器人-對話系統概述
【知識圖譜】人工智能技術最重要基礎設施之一,知識圖譜你該學習的東西
【知識圖譜】知識表示:知識圖譜如何表示結構化的知識?
【知識圖譜】如何構建知識體系:知識圖譜搭建的第一步
【知識圖譜】獲取到知識后,如何進行存儲和便捷的檢索?
【知識圖譜】知識推理,知識圖譜里最“人工智能”的一段
【文本信息抽取與結構化】目前NLP領域最有應用價值的子任務之一
【文本信息抽取與結構化】詳聊文本的結構化【上】
【文本信息抽取與結構化】詳聊文本的結構化【下】
【信息抽取】NLP中關系抽取的概念,發展及其展望
【NLP實戰】tensorflow詞向量訓練實戰
【NLP實戰系列】樸素貝葉斯文本分類實戰
【NLP實戰系列】Tensorflow命名實體識別實戰
【NLP實戰】如何基于Tensorflow搭建一個聊天機器人
【NLP實戰】基于ALBERT的文本相似度計算
【每周NLP論文推薦】從預訓練模型掌握NLP的基本發展脈絡
【每周NLP論文推薦】 NLP中命名實體識別從機器學習到深度學習的代表性研究
【每周NLP論文推薦】 介紹語義匹配中的經典文章
【每周NLP論文推薦】 對話管理中的標志性論文介紹
【每周NLP論文推薦】 開發聊天機器人必讀的重要論文
【每周NLP論文推薦】 掌握實體關系抽取必讀的文章
【每周NLP論文推薦】 生成式聊天機器人論文介紹
【每周NLP論文推薦】 知識圖譜重要論文介紹
【NLP預訓練模型】你finetune BERT的姿勢可能不對哦?
總結
以上是生活随笔為你收集整理的【信息抽取】如何使用卷积神经网络进行关系抽取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【星球知识卡片】人脸属性编辑都有哪些核心
- 下一篇: 【每周CV论文】初学GAN图像风格化必须