日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【NLP】基于神经网络PCNN(Piece-Wise-CNN)的关系抽取模型

發(fā)布時間:2023/12/31 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NLP】基于神经网络PCNN(Piece-Wise-CNN)的关系抽取模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

關(guān)系抽取是信息抽取的基本任務(wù)之一,對于知識庫的構(gòu)建以及文本的理解十分重要,在自然語言處理的一些任務(wù),如問答,文本理解等得到了廣泛的應(yīng)用。

這里介紹的關(guān)系抽取主要指的是實(shí)體之間的關(guān)系抽取,實(shí)體是之前NER任務(wù)中介紹的概念。實(shí)體之間可能存在各式各樣的關(guān)系,關(guān)系抽取就是通過自動識別實(shí)體之間具有的某種語義關(guān)系。有的實(shí)體之間可能有多種關(guān)系,例如“徐崢自導(dǎo)自演了《人在囧途》”,那么徐崢《人在囧途》 之間的關(guān)系就存在“導(dǎo)演”與“參演”兩種關(guān)系,。這里介紹的是兩個實(shí)體之間的關(guān)系也稱為二元關(guān)系抽取( Binary Relation Extraction,BiRE)是比較經(jīng)典的關(guān)系抽取任務(wù),我們也稱為簡單關(guān)系抽取。近些年隨著關(guān)系抽取場景的變化,慢慢衍生出需要復(fù)雜關(guān)系抽取(Complex Relation Extration,CoRE),如:多個實(shí)體之間的關(guān)系抽取,即多元關(guān)系抽取,文檔關(guān)系抽取,多模態(tài)關(guān)系抽取,嵌套關(guān)系抽取等等。

目前的在深度學(xué)習(xí)領(lǐng)域關(guān)系抽取方法主要分為三大類:基于監(jiān)督學(xué)習(xí)的BiRE(Supervised BiRE)、基于半監(jiān)督學(xué)習(xí)的(Semi-supervised BiRE)以及基于遠(yuǎn)程監(jiān)督的BiRE(Distant Supervised BiRE)。畢竟在工程中,標(biāo)注數(shù)據(jù)并不是那么多,成本高。對于有監(jiān)督的關(guān)系抽取任務(wù),通常也將其分為兩大類
Pipline: 將實(shí)體抽取與關(guān)系抽取分為兩個獨(dú)立的過程,關(guān)系抽取依賴實(shí)體抽取的結(jié)果,容易造成誤差累積;Joint Model: 實(shí)體抽取與關(guān)系抽取同時進(jìn)行,通常用模型參數(shù)共享的方法來實(shí)現(xiàn)。

關(guān)系抽取還可以按照業(yè)務(wù)領(lǐng)域分為:限定領(lǐng)域和開放領(lǐng)域兩類。限定領(lǐng)域關(guān)系抽取,指在一個或多個限定的領(lǐng)域內(nèi)對實(shí)體間的語義關(guān)系進(jìn)行抽取。一般來說,在限定領(lǐng)域下,關(guān)系都是預(yù)先定義好的有限個類別,該任務(wù)可以采用基于監(jiān)督學(xué)習(xí)的方法來處理,也就是針對每個關(guān)系類別標(biāo)注足夠多的樣本,然后使用多分類模型來訓(xùn)練關(guān)系抽取模型;開放領(lǐng)域關(guān)系抽取,該任務(wù)不限定關(guān)系的類別,也就是在抽取關(guān)系之前不知道會有什么樣的關(guān)系被抽取到,依據(jù)模型對自然語言句子理解的結(jié)果從中開放式的抽取實(shí)體三元組。

傳統(tǒng)的解決方案可以通過書寫規(guī)則(模板)的方式確保關(guān)系抽取的準(zhǔn)確性,但是召回效果并不理想,并且還需要人工去總結(jié)歸納。

當(dāng)然關(guān)系抽取也有很多難點(diǎn),如:

  • 同一關(guān)系可由不同的詞語表達(dá)。
  • 同一短語或詞具有歧義性,不能很好的表征同一關(guān)系。
  • 實(shí)體對間可能具有多種關(guān)系。
  • 跨句多元關(guān)系不能很好解決。
  • 隱含關(guān)系不能很好解決。
  • 對nlp處理工具依賴較大等。
  • 下面我就從經(jīng)典深度學(xué)習(xí)關(guān)系抽取模型開始介紹,Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks(2015年),該論文實(shí)在 ACL 2014的中《Relation Classification via Convolutional Deep Neural Network》改進(jìn),就是我們所說的PCNN。這是一個pipline形式的模型。

    論文閱讀

    Distant Supervised Learning 遠(yuǎn)程監(jiān)督學(xué)習(xí)

    2010年提出Distant Supervision可以自動標(biāo)注訓(xùn)練樣本,Distant supervision for relation extraction without labeled data。原理很簡單,利用知識圖譜中的兩個entity以及對應(yīng)的某個relation,在corpus中進(jìn)行回標(biāo),如果某個句子中同時包含了兩個entity,那么就假定這個句子包含了上述的relation。這樣就可以獲得大量的標(biāo)注數(shù)據(jù)。當(dāng)然缺陷就是假設(shè)太強(qiáng),會引入了很多噪音數(shù)據(jù), 因?yàn)榘瑑蓚€entity的句子不一定可以刻畫對應(yīng)的relation。

    正文概覽

    論文要解決的兩個問題:

    • Distant supervised 會產(chǎn)生有大量噪音或者被錯誤標(biāo)注的數(shù)據(jù),直接使用supervised的方法進(jìn)行關(guān)系分類,效果很差。
    • 傳統(tǒng)的方法大都是基于詞法、句法特征來處理, 無法自動提取特征。而且句法樹等特征在句子長度變長,正確率會顯著下降。

    針對第一個問題,文中是這么說的:

    To address the first problem, distant supervised relation extraction istreated as a multi-instance problem similar to pre-vious studies 。In multi-instance problem, the training set consists of many bags,and each contains many instances. The labels of the bags are known; however, the labels of the in-stances in the bags are unknown. We design an objective function at the bag level. In the learning process, the uncertainty of instance labels can be taken into account; this alleviates the wrong label problem。

    概括起來就是,對樣本使用Multi-Instance Learning(MIL),構(gòu)建了一個bag級別的目標(biāo)函數(shù)。如何理解這個MIL呢,可以參考:

    設(shè)想有若干個人,每個人手上有一個鑰匙串(bag),串有若干個鑰匙(instance)。已知某個鑰匙串能否打開特定的一扇門(training set)。我們的任務(wù)是要學(xué)習(xí)到哪一串鑰匙串能打開這扇門,以及哪個鑰匙能打開這扇門。

    針對第二個問題,概括來說,就是在Zeng 2014 的CNN基礎(chǔ)上修改了Pooling的方式,調(diào)整了特征提取方案,根據(jù)實(shí)體位置將一個sentence分成三段,每段單獨(dú)進(jìn)行max pooling以進(jìn)行特征提取。

    具體模型

    模型主要分為四個模塊:Vector Representation,Convolution,Piecewise Max PoolingandSoftmax Output,如下圖:

    Vector Representation

    NLP中文本常規(guī)操作,將文本轉(zhuǎn)成低緯度的向量。詞語使用的是預(yù)訓(xùn)練的詞向量(Word Embeddings),此外還未對應(yīng)的詞語添加了position feature(PF),也就是位置向量(Position Embeddings)。這個PF的構(gòu)建還是比較有意思的,位置的設(shè)定取與關(guān)系詞的相對距離,如下圖:Kojo Annan 相對于關(guān)系吃son,左邊第三個,以此類推,Kofi Annan則是在關(guān)系詞son右邊第二個開始。

    假設(shè)詞向量的維度為dwd_wdw?,位置信號的維度為dpd_pdp?,拼接后的向量維度d=dw+dp×2d=d_w+d_p \times 2d=dw?+dp?×2

    Convolution

    卷積計(jì)算是一個比較經(jīng)典的操作了,也比較容易理解。為了提高捕捉特征的能力,可以在卷積操作中增加多個卷積核或者稱為filter的家伙。想諒解相關(guān)的計(jì)算公式可參見原文。

    Piecewise Max Pooling

    分段池化應(yīng)該屬于論文中的一個亮點(diǎn)。就是把每個卷積核得到向量cic_ici?按照兩個實(shí)體的位置將向量劃分三個部分,然后使用最大池化的方式取出每個部分的最大值,相比于傳統(tǒng)的全局max pooling 每個卷積核只能得到一個值,這樣可以更加充分有效的得到句子特征信息。每個通道經(jīng)過分段最大池化后,再拼接成一個向量,最后再與其他通道的向量拼接起來,再經(jīng)過一個非線性層。

    Softmax Output

    深度學(xué)習(xí)分類常規(guī)操作層,添加softmax函數(shù),對各個類別進(jìn)行打分輸出。

    Multi-instance Learning

    多實(shí)例學(xué)習(xí)。在訓(xùn)練的過程中需要設(shè)計(jì)學(xué)習(xí)的目標(biāo)函數(shù),也就是我們常說的損失函數(shù)的構(gòu)造。模型輸入是一個bag。假設(shè)有個TTT個bag {M1,?,MT}\{M_1,\cdots, M_T\}{M1?,?,MT?},第iii個bag有qiq_iqi?個實(shí)例Mi={mi1,?,miqi}M_i=\{ m^1_i, \cdots, m_i^{q_i}\}Mi?={mi1?,?,miqi??},即有qiq_iqi?個句子。下面我們看看如何構(gòu)造這個目標(biāo)函數(shù)。

    一個bag中所有的實(shí)例都認(rèn)為是獨(dú)立的。包含兩個同樣實(shí)體的實(shí)例就是一個bag,按照遠(yuǎn)程監(jiān)督的情況樣本處理的方式,認(rèn)為一個bag有一個relation標(biāo)簽。

    對于一個實(shí)例mijm_i^jmij?經(jīng)過模型后輸出的結(jié)果為ooo。這個結(jié)果的維度是與關(guān)系類別想對應(yīng)的,包含oro_ror?表示對第rrr個類別的打分,文章這個打分是未經(jīng)過softmax處理的。經(jīng)過softmax處理后的打分如下:

    p(r∣mij;θ)=eor∑k=1n1eokp\left(r \mid m_{i}^{j} ; \theta\right)=\frac{e^{o_{r}}}{\sum_{k=1}^{n_{1}} e^{o_{k}}} p(rmij?;θ)=k=1n1??eok?eor??
    多實(shí)例學(xué)習(xí)的目的是區(qū)分bag而不是實(shí)例,于是需要定義bag級別的目標(biāo)函數(shù)。對于訓(xùn)練集(Mi,yi)(M_i, y_i)(Mi?,yi?)來說,目標(biāo)函數(shù)在bag級使用的是交叉熵?fù)p失函數(shù):

    J(θ)=∑i=1Tlog?p(yi∣mij;θ)J(\theta)=\sum_{i=1}^{T} \log p\left(y_{i} \mid m_{i}^{j} ; \theta\right) J(θ)=i=1T?logp(yi?mij?;θ)

    其中,TTT表示訓(xùn)練集(bag)數(shù)目,θ\thetaθ表示模型。看起來這個和普通的分類損失函數(shù)沒有什么不同,需要注意的是上式中的jjj是有限制的,如下:

    j?=arg?max?jp(yi∣mij;θ)1≤j≤qij^{*}=\arg \max _{j} p\left(y_{i} \mid m_{i}^{j} ; \theta\right) \quad 1 \leq j \leq q_{i} j?=argjmax?p(yi?mij?;θ)1jqi?
    從bag中選取標(biāo)注結(jié)果打分最高的實(shí)例進(jìn)行誤差反向傳播的計(jì)算。這里也從側(cè)面說明了,默認(rèn)每一個bag中必有一個實(shí)例的標(biāo)注是正確的,即所謂的at least one假設(shè)。

    到這里,整個模型已經(jīng)介紹完畢了。

    論文結(jié)論

    首先把PCNNs結(jié)合多實(shí)例學(xué)習(xí)的遠(yuǎn)程監(jiān)督模型(PCNNs+MIL),與人工構(gòu)造特征的遠(yuǎn)程監(jiān)督算法(記為Mintz)和多實(shí)例學(xué)習(xí)的算法(記為MultiR和MIML)進(jìn)行比較。

    上圖中,根據(jù)縱橫坐標(biāo)的意義,值在坐標(biāo)系的右上角效果越好。從實(shí)驗(yàn)結(jié)果中可以看到,無論是查準(zhǔn)率還是查全率,PCNNs+MIL模型都顯著優(yōu)于其他模型,這說明用卷積神經(jīng)網(wǎng)絡(luò)作為自動特征抽取器,可以有效降低人工構(gòu)造特征和NLP工具提取特征帶來的誤差。即在問題二上有一定的改善。

    將分段最大池化和普通的最大池化的效果進(jìn)行對比(PCNNs VS CNNs),將結(jié)合多實(shí)例學(xué)習(xí)的卷積網(wǎng)絡(luò)與單純的卷積網(wǎng)絡(luò)進(jìn)行對比(PCNNs+MIL VS PCNNs)。

    從結(jié)果可以看出,分段最大池化比普通的最大池化效果更好,說明分段最大池化可以抽取更豐富的結(jié)構(gòu)特征。把多實(shí)例學(xué)習(xí)加入到卷積網(wǎng)絡(luò)中,效果也有一定的提升,表明多實(shí)例學(xué)習(xí)可以緩解樣本標(biāo)注錯誤的問題。這說明針對問題1和問題2都已一定的改善。

    總結(jié)

    總得來說,在限定域的pipline形式的關(guān)系抽取中,使用分段的最大池化能夠減少人為特征提取的操作,再引入遠(yuǎn)程監(jiān)督的內(nèi)容后,使用多實(shí)例學(xué)習(xí)的方式在一定程度上也能夠減少遠(yuǎn)程監(jiān)督引入的錯誤,使得關(guān)系抽取的整體效果達(dá)到當(dāng)時的sota水平。

    當(dāng)然也存在不足之處,多實(shí)例學(xué)習(xí)僅從某個實(shí)體對句子中挑選最可能的句子進(jìn)行反向傳播計(jì)算,這也必然造成信息的大量損失。

    總結(jié)

    以上是生活随笔為你收集整理的【NLP】基于神经网络PCNN(Piece-Wise-CNN)的关系抽取模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。