国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
【文本信息抽取與結構化】詳聊如何用BERT實現關系抽取

常常在想,自然語言處理到底在做的是一件什么樣的事情?到目前為止,我所接觸到的NLP其實都是在做一件事情,即將自然語言轉化為一種計算機能夠理解的形式。這一點在知識圖譜、信息抽取、文本摘要這些任務中格外明顯。不同的任務的差異在于目標的轉化形式不一樣,因而不同的任務難度、處理方式存在差異。

這個系列文章【文本信息抽取與結構化】,在自然語言處理中是非常有用和有難度的技術,是文本處理與知識提取不可或缺的技術。

BERT這么強大的預訓練模型,當然會想著把他利用起來,本篇介紹如何利用BERT進行關系抽取。

作者&編輯 | 小Dream哥

前述

關系分類與提取是一個重要的NLP任務,其主要目標是提取出實體以它們之間的關系。在BERT之前,最有效的關系分類方法主要是基于CNN或RNN。最近,預訓練BERT模型在許多NLP的分類和序列標注任務中都獲得了非常好的結果。

因此,必然會有工作考慮利用BERT來自關系抽取。關系提取與分類的主要難點在于,其不僅僅依賴于兩個目標實體的信息,還依賴于句子本身的語義及語法信息。利用BERT強大的編碼能力,預期能夠同時抽取到文本中的兩種特征。事實上也正是如此,目前效果最好的關系抽取模型正是基于BERT的工作,本片介紹幾個利用BERT來做關系抽取的工作。

R-BERT模型

R-BERT(作者這樣稱呼),是我調研到的第一篇用BERT做RE的模型,所以筆者先介紹這個模型。

1) 模型結構

Wu S , He Y . Enriching Pre-trained Language Model with Entity Information for Relation Classification[J]. 2019.

如上圖所示,是R-BERT的模型結構在模型中,需要注意一下三點:

1.為了使BERT模型能夠定位兩個實體的位置,作者在每個句子的開頭添加 "[CLS]" ,在第一個實體前后添加特殊字符 "$" ,在第二個實體前后添加特殊字符"#"

2.R-BERT利用了BERT三部分特征進行最后的關系分類:

    (1)[CLS]最終隱含狀態(tài)向量,這部分提取了句子

             的語義特征

    (2)兩個實體的隱含狀態(tài)向量,這部分提取了實體 

             特征

3.最后,利用拼接三個特征進行關系分類,接一個softmax進行分類

2) 模型運算

下面來講一講如何獲取這三個特征,對于[CLS]特征,利用BERT輸出的第一個編碼向量,做以下的處理即可得到:

對于兩個實體的特征,在訓練時,拿到BERT輸出對應位置的隱藏向量后做如下的處理即可得到:

獲取到3個特征之后,如何進行關系分類呢?模型將上述3個特征拼接起來,然后接一個DENSE層,在通過softmax進行分類,具體運算過程如下:

作者還做了去除了實體前后的標識符的實驗,發(fā)現模型的F1值從89.25%降到87.98%,表明標識符可以幫助提供實體信息;假如僅僅使用BERT輸出層的[CLS]句子向量,會使得模型F1值從89.25%降到87.99%;上述實驗證明在關系分類任務中,明確實體的位置,能夠提升模型的性能。

但是這僅僅是一個關系分類的模型,在前面的文章我們介紹過,在關系抽取模型中,其實end-to-end模型才是更合理的方式,下面介紹一種端到端的BERT關系抽取模型。

2  End-to-End BERT RE

1) 模型結構

Giorgi J , Wang X , Sahar N , et al. End-to-end Named Entity Recognition and Relation Extraction using Pre-trained Language Models[J]. 2019.

如上圖所示是該模型的結構示意圖,模型可以分為兩個部分:實體抽取模塊和關系分類模塊。

1. 實體識別模塊

實體抽取模塊和我們前面介紹的實體抽取模塊基本相同,感興趣的同學可以看如下的文章:

【NLP-NER】如何使用BERT來做命名實體識別

該模型中差異僅僅在于,文本經過BERT進行特征抽取之后,接一個Feed-Forward層和sonftmax,而不是CRF。

2. 關系分類模塊

我們重點來看關系抽取的模塊,該模塊的輸入由2個部分組成:實體抽取信息以及BERT編碼信息。將實體抽取模塊輸出的BIOES類別信息,編碼成固定維度的向量。然后將該向量與BERT的編碼向量拼接起來,作為關系抽取模塊的輸入,如下公式所示:

該輸入并行的通過了兩個FFN層,稱為FFN-head和FFN-tail,如上面的模型結構圖所示,得到兩個向量。

隨后,將這兩個向量通過一個 Biaffine層,預測出屬于每個關系的類別:

這里U的維度是m*C*m,W的維度是C*2m。m是FFN層輸出的向量的維度,C是關系的類別數。

2)損失函數

如上公式所示,是該模型采用的損失函數,其中S_r是模型預測的樣本中真正有的關系的預測得分,即r in R(樣本標簽里的關系)。S_r_c表示模型預測樣本有某一個關系的得分,r in C。

當然,NER模型和RE模型要一起優(yōu)化,所以總的損失函數為:

這個模型的特點是端到端的實現了實體抽取和關系抽取,同時也能夠預測多個關系類別。

總結

文本信息抽取與結構化是目前NLP中最為實際且效益最大的任務,熟悉這個任務是一個NLP算法工程師必需要做的事情。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
知識表示與融入技術前沿進展及應用
AI研習丨面向中醫(yī)古籍的文言文信息抽取技術研究
圖解BERT模型:從零開始構建BERT
NLP領域近期有哪些值得讀的開源論文?
實戰(zhàn) | 基于NLP文本相似技術實現生產事件智能審核
ACL 2019論文| 揭秘認知圖譜!從多跳閱讀理解問答開始
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服