【信息抽取】介绍一种端到端的关系抽取方法
事物、概念之間的關系是人類知識中非常重要的一個部分,但是他們通常隱藏在海量的非結構文本中。為了從文本中抽取這些關系事實,從早期的模式匹配到近年的神經網絡,大量的研究在多年前就已經展開。
然而,隨著互聯網的爆炸發展,人類的知識也隨之飛速的增長,因而對關系抽取(Relation Extraction, RE)提出了更高的要求,需要一個有效的RE系統,能夠利用更多的數據;有效的獲取更多的關系;高效的處理更多復雜的文本;具有較好的擴展性,能夠遷移到更多的領域。
本文首先介紹一種端到端的關系抽取方法,即能夠通過一個模型,共享參數,進行實體識別和關系分類。
作者&編輯 | 小Dream哥
1 導論?
我們前面介紹的深度學習方法進行關系的分類,包括卷積神經網絡和循環神經網絡,這類模型主要關注的是關系分類的問題,且在此類問題中取得了一定的進展。
但是,在現實的場景中,我們遇到最多的問題是,需要直接從非結構的文檔中抽取出<e1, r, e2>的三元組。
如果采用上述的模型,就需要先用NER任務,講文本的中的實體抽取出來;隨后,基于NER的結構,用關系分類模型對抽取到的實體的關系進行識別。
目前得到的一種共識是,NER任務會有誤差,這種誤差會積累,然后傳遞到關系分類的任務中去,從整體的效果會變差。
進而出現了一些聯合的抽取模型,在一個模型里就能端到端的抽取出實體及他們之間的關系。
Suncong, Zheng, Yuexing, etc. Joint entity and relation extraction based on a hybrid neural network[J]. Neurocomputing, 2017.
2 網絡結構
如上圖所示是該基于循環神經網絡和卷積神經網絡的實體及其關系分類的聯合抽取模型的框架圖,從圖中可知,模型的輸入是一段話;輸出包括一個序列標注序列和一個預測的類別,實現了實體抽取和關系分類的聯合抽取。
聯合抽取的一個主要思想是參數共享,這個模型可以分開去看,包括實體抽取和關系分類兩個部分。兩個部分進行了部分的參數共享,可以任務關系分類模型共享了實體抽取模型特征抽取過程的參數,獲得很多實體以及文本語義及文法特征,從而能夠較好的進行關系分類。
下面我們來詳細介紹這個模型的結構:
1)公共特征抽取
模型的底座,公共部分,是一個雙向LSTM網絡,通過這個網絡,進行輸入文本的特征抽取及表征。
2) 實體抽取部分
實體識別部分的輸入是上述雙向LSTM網絡T(T為輸入序列的長度)個時刻的編碼<h1,h2,h3,...hT>。
實體抽取部分,針對輸入<h1,h2,h3,...hT>先做一個解碼操作,解碼部分引入了一個decoding LSTM層,該層LSTM的解碼過程,可參考下面的計算公式:
其中,ht是該時刻encoding的編碼向量;st-1為上一個時刻decoding LSTM的cell state;Tt-1為上一個時刻解碼器的序列標記預測向量;(ps,it=st)
再通過一個線性變化,得到當前時刻的序列標記預測向量:
最后接一個softmax層,預測是每一個標記的概率。
這里解碼層跟現今大部分的模型不一樣,如今的NER模型通常采用CRF,感興趣的同學,可以試試效果會不會變好。
3) 關系分類層
如上圖所示,是關系分類部分的結構圖。從圖中可知,關系分類部分采用的是卷積神經網絡。
該部分的輸入包括2個部分:
1.實體的編碼向量,因為有的實體會包含幾個字,會將該實體內所有字的編碼向量相加,得到實體的編碼向量he1和he2。
2.實體間的詞向量。
講實體的編碼向量及實體間的詞向量拼接在一起,輸入到卷積神經網絡中進行進一步的解碼。
解碼后經過一個最大池化層,改池化層的用法跟前面講的池化是一樣的邏輯,忘記的讀者可以出門左轉看看。
最后,經過一個softmax層就可以輸出這兩個實體是某種關系的概率了。
3 訓練過程
訓練過程采用RMSprop優化器,NER喝RC的損失函數分別為:
需要注意的一點是,模型在訓練時,先把NER模型訓練一段時間,獲得一定的準確度后,再進一步加入關系分類模型一起訓練。
有意思的一點是,作者認為大部分有關系的實體,他們之間相差的詞不會超過20個,所以再模型里加了一個Lmax的超參數,假如兩個實體間的距離超過了20,則認為他們沒有任何關系。
其實這個結論,應該只在作者訓練的數據集(ACE05)有效,在目前很多的數據集都存在大量的“遠距離實體間的關系”。
總結
聯合模型的想法其實挺樸素的,主要基于如下兩個點:
1.減少模型間的誤差傳遞。
2.讓NER和RC模型共享參數,讓RC模型能夠充分利用NER模型獲取到的實體間的語義信息。
基于此,出現了很多的聯合抽取模型,我們下次再介紹一種,看看二者的差別,進一步理解聯合抽取的思想。
下期預告:聯合關系抽取模型
知識星球推薦
掃描上面的二維碼,就可以加入我們的星球,助你成長為一名合格的自然語言處理算法工程師。
知識星球主要有以下內容:
(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的文本相似度計算
總結
以上是生活随笔為你收集整理的【信息抽取】介绍一种端到端的关系抽取方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【总结】有三AI大量原创视频和图文资料,
- 下一篇: 【杂谈】有三AI专业版学习扑克牌上线,一