【信息抽取】如何使用循环神经网络进行关系抽取
事物、概念之間的關(guān)系是人類知識(shí)中非常重要的一個(gè)部分,但是他們通常隱藏在海量的非結(jié)構(gòu)文本中。為了從文本中抽取這些關(guān)系事實(shí),從早期的模式匹配到近年的神經(jīng)網(wǎng)絡(luò),大量的研究在多年前就已經(jīng)展開(kāi)。
然而,隨著互聯(lián)網(wǎng)的爆炸發(fā)展,人類的知識(shí)也隨之飛速的增長(zhǎng),因而對(duì)關(guān)系抽取(Relation Extraction, RE)提出了更高的要求,需要一個(gè)有效的RE系統(tǒng),能夠利用更多的數(shù)據(jù);有效的獲取更多的關(guān)系;高效的處理更多復(fù)雜的文本;具有較好的擴(kuò)展性,能夠遷移到更多的領(lǐng)域。
本文介紹一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的關(guān)系抽取方法。
作者&編輯 | 小Dream哥
1 導(dǎo)論?
因?yàn)榛诮y(tǒng)計(jì)的關(guān)系抽取方法需要復(fù)雜的特征過(guò)程,基于深度學(xué)習(xí)的方法得以引入,最早的應(yīng)用在關(guān)系抽取中的深度學(xué)習(xí)模型是CNN,上一篇我們介紹了一種較早的用于關(guān)系抽取的CNN模型,感興趣的讀者可以看看:
【信息抽取】如何使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行關(guān)系抽取
相比于基于統(tǒng)計(jì)的方法,基于CNN的方法確實(shí)取得了不錯(cuò)的進(jìn)展,但是CNN對(duì)于時(shí)序特征的抽取能力偏弱,特別是
當(dāng)兩個(gè)實(shí)體之間的“距離”比較遠(yuǎn)時(shí),CNN模型的效果會(huì)變差。
RNN時(shí)最適合做時(shí)序特征抽取的模型,本文介紹一種簡(jiǎn)單的基于RNN的關(guān)系抽取框架,雖然簡(jiǎn)單,但是在當(dāng)時(shí)取得了非常不錯(cuò)的效果。
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 網(wǎng)絡(luò)結(jié)構(gòu)
如上圖所示,是這次要介紹的基于RNN的關(guān)系抽取模型的的框架圖,總的來(lái)說(shuō),這個(gè)框架非常的簡(jiǎn)潔,主要包括3個(gè)部分:詞嵌入,雙向RNN層,池化層。
1)詞嵌入(Word Representation)
詞嵌入就是目前NLP領(lǐng)域最普通的詞嵌入,每一個(gè)輸入詞語(yǔ)轉(zhuǎn)化成一個(gè)固定維度的向量。這個(gè)向量是從預(yù)先訓(xùn)練好的詞向量字典中查找得到,這份詞向量字典中的詞向量表征了詞之間的語(yǔ)義關(guān)系。論文中用到的詞向量是用word2vec訓(xùn)練好的詞向量。
2) 雙向RNN層
采用雙向RNN層進(jìn)行特征抽取,這里的雙向RNN是最樸素的RNN模型,通過(guò)雙向RNN建模輸入序列的語(yǔ)義特征。循環(huán)神經(jīng)網(wǎng)絡(luò)是NLP中最基本的概念,這里就不再贅述了。
3) 池化層
在現(xiàn)在的NLP模型中,池化層并不多見(jiàn),但是在早期的深度學(xué)習(xí)模型中,池化用的還挺多的,主要是用于特征抽取。
輸入序列經(jīng)過(guò)雙向RNN層的特征抽取之后,得到一個(gè)輸出序列[h1,h2,h3,...ht],那么如何利用這些特征,得到一個(gè)句向量,來(lái)表征輸入序列呢?該論文中,參考CNN的池化層,做如下的操作,得到句向量m:
其中t表示輸入序列的長(zhǎng)度,M表示RNN的size。
總的來(lái)說(shuō),這個(gè)操作就是,對(duì)每一個(gè)維度,取t個(gè)特征向量中最大的值,得到一個(gè)維度為M的向量m,用來(lái)表征輸入序列。
為什么最大池化能有效呢?論文認(rèn)為,只有那些關(guān)鍵的特征對(duì)最后的關(guān)系分類有作用,通過(guò)模型的訓(xùn)練,可以突出這些特征,從而獲得效果。
4) 輸出層
輸出層就非常的簡(jiǎn)單了,接一個(gè)全連接層,在接softmax就可以輸出分類,然后用交叉熵做損失函數(shù),用來(lái)訓(xùn)練了。
需要提出的是,論文的輸入還引入了實(shí)體位置的標(biāo)識(shí)(Position indicators)。即用特殊的標(biāo)識(shí)在輸入序列中將兩個(gè)實(shí)體標(biāo)識(shí)出來(lái),例如:
<e1>周杰倫</e1>的<e2>七里香</e2>很受歡迎。
3 模型效果
如上圖所示,展示了模型增加不同部分,對(duì)最終F1值的影響,我們可以得出一下結(jié)論:
(1) 最大池化對(duì)模型的效果影響很大:池化的過(guò)程能夠提取出對(duì)關(guān)系分類最重要特征,用于分類。
(2) 標(biāo)識(shí)出實(shí)體的位置能夠給模型帶來(lái)很好的性能提升。
這些結(jié)論和經(jīng)驗(yàn)對(duì)于后續(xù)的模型建模都是寶貴的經(jīng)驗(yàn),基于這些經(jīng)驗(yàn),后面的工作才能更能進(jìn)一步。
總結(jié)
本文介紹了一種基于循環(huán)神經(jīng)的關(guān)系抽取的方法,總的來(lái)說(shuō),這個(gè)模型很簡(jiǎn)潔,但是效果卻很好。
最大池化能夠提升模型的性能,但是同時(shí)也會(huì)損失很多特征。因此這個(gè)模型對(duì)于一些難度較高的,需要一定的語(yǔ)義理解關(guān)系的情況會(huì)比較吃力,這也是為什么后面的NLP模型都摒棄了池化層的原因之一。
前面介紹的都是關(guān)系分類模型,下一篇介紹一種一個(gè)模型就能夠抽取出來(lái)實(shí)體和關(guān)系的聯(lián)合模型。
下期預(yù)告:一種端到端的關(guān)系抽取模型
知識(shí)星球推薦
掃描上面的二維碼,就可以加入我們的星球,助你成長(zhǎng)為一名合格的自然語(yǔ)言處理算法工程師。
知識(shí)星球主要有以下內(nèi)容:
(1) 聊天機(jī)器人。
(2) 知識(shí)圖譜。
(3) NLP預(yù)訓(xùn)練模型。
轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系
侵權(quán)必究
往期精選
【完結(jié)】 12篇文章帶你完全進(jìn)入NLP領(lǐng)域,掌握核心技術(shù)
【年終總結(jié)】2019年有三AI NLP做了什么,明年要做什么?
【NLP-詞向量】詞向量的由來(lái)及本質(zhì)
【NLP-詞向量】從模型結(jié)構(gòu)到損失函數(shù)詳解word2vec
【NLP-NER】什么是命名實(shí)體識(shí)別?
【NLP-NER】命名實(shí)體識(shí)別中最常用的兩種深度學(xué)習(xí)模型
【NLP-NER】如何使用BERT來(lái)做命名實(shí)體識(shí)別
【NLP-ChatBot】我們熟悉的聊天機(jī)器人都有哪幾類?
【NLP-ChatBot】搜索引擎的最終形態(tài)之問(wèn)答系統(tǒng)(FAQ)詳述
【NLP-ChatBot】能干活的聊天機(jī)器人-對(duì)話系統(tǒng)概述
【知識(shí)圖譜】人工智能技術(shù)最重要基礎(chǔ)設(shè)施之一,知識(shí)圖譜你該學(xué)習(xí)的東西
【知識(shí)圖譜】知識(shí)表示:知識(shí)圖譜如何表示結(jié)構(gòu)化的知識(shí)?
【知識(shí)圖譜】如何構(gòu)建知識(shí)體系:知識(shí)圖譜搭建的第一步
【知識(shí)圖譜】獲取到知識(shí)后,如何進(jìn)行存儲(chǔ)和便捷的檢索?
【知識(shí)圖譜】知識(shí)推理,知識(shí)圖譜里最“人工智能”的一段
【文本信息抽取與結(jié)構(gòu)化】目前NLP領(lǐng)域最有應(yīng)用價(jià)值的子任務(wù)之一
【文本信息抽取與結(jié)構(gòu)化】詳聊文本的結(jié)構(gòu)化【上】
【文本信息抽取與結(jié)構(gòu)化】詳聊文本的結(jié)構(gòu)化【下】
【信息抽取】NLP中關(guān)系抽取的概念,發(fā)展及其展望
【NLP實(shí)戰(zhàn)】tensorflow詞向量訓(xùn)練實(shí)戰(zhàn)
【NLP實(shí)戰(zhàn)系列】樸素貝葉斯文本分類實(shí)戰(zhàn)
【NLP實(shí)戰(zhàn)系列】Tensorflow命名實(shí)體識(shí)別實(shí)戰(zhàn)
【NLP實(shí)戰(zhàn)】如何基于Tensorflow搭建一個(gè)聊天機(jī)器人
【NLP實(shí)戰(zhàn)】基于ALBERT的文本相似度計(jì)算
總結(jié)
以上是生活随笔為你收集整理的【信息抽取】如何使用循环神经网络进行关系抽取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【技术综述】人脸妆造迁移核心技术总结
- 下一篇: 【阿里云课程】循环神经网络:RNN及其改