<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          PRGC:一種新的聯(lián)合關(guān)系抽取模型

          共 5132字,需瀏覽 11分鐘

           ·

          2022-01-16 11:14

          點(diǎn)擊藍(lán)字關(guān)注NLP論文精選


          ?NLP論文解讀?原創(chuàng)?作者?| 小欣


          論文標(biāo)題:PRGC: Potential Relation and Global Correspondence Based Joint Relational Triple Extraction

          論文鏈接:https://arxiv.org/pdf/2106.09895.pdf

          代碼:https://github.com/hy-struggle/PRGC


          前言

          1. 論文的相關(guān)背景

          關(guān)系抽取是信息抽取和知識圖譜構(gòu)建的關(guān)鍵任務(wù)之一,它的目標(biāo)是從非結(jié)構(gòu)化的文本中抽取形如<頭實體,關(guān)系,尾實體>的三元組數(shù)據(jù)。通常使用Pipeline方法進(jìn)行抽取:先對句子進(jìn)行實體識別,然后對識別出的實體兩兩組合進(jìn)行關(guān)系分類,最后把存在關(guān)系的實體對輸出為三元組。但這樣的做法存在以下缺點(diǎn):1. 誤差積累,實體識別模塊的錯誤會影響下面的關(guān)系分類性能。2. 實體冗余:沒有關(guān)系的實體對會帶來多余信息,提升錯誤率,同時降低整個抽取流程的效率。3. 信息利用不充分:Pipeline方法中兩個子任務(wù)相對獨(dú)立,無法有效利用兩個子任務(wù)的內(nèi)在聯(lián)系和依賴關(guān)系。為了緩解Pipeline方法存在的一些問題,聯(lián)合關(guān)系抽取模型應(yīng)運(yùn)而生。聯(lián)合關(guān)系抽取模型的設(shè)計目的是希望進(jìn)一步利用兩個任務(wù)之間的潛在信息,加強(qiáng)實體識別模型和關(guān)系分類模型之間的交互。早期的聯(lián)合關(guān)系抽取模型通過模型參數(shù)共享、多任務(wù)和關(guān)系信息融入序列標(biāo)注等方法進(jìn)行聯(lián)合抽取,但取得的效果并不盡如人意。隨著CasRel、TPLinker等一系列聯(lián)合解碼模型的提出,聯(lián)合關(guān)系抽取模型開始取得SOTA的效果。

          2. 論文主要解決的問題

          CasRel、TPLinker等基于聯(lián)合解碼的關(guān)系抽取模型在抽取效率上的問題

          3. 論文的主要創(chuàng)新和貢獻(xiàn)

          • 通過將關(guān)系抽取拆解為關(guān)系判斷、實體提取和主客實體對?三個子任務(wù),定義了一種新的關(guān)系抽取模型方法
          • 有助于緩解CasRel、TPLinker等模型存在的關(guān)系冗余、主客實體對齊效率低等問題

          論文摘要


          實體關(guān)系聯(lián)合抽取是信息抽取中的?項重要任務(wù)。?前的聯(lián)合抽取?法已有了相當(dāng)可觀的表現(xiàn),但仍存在冗余關(guān)系預(yù)測能?差、Span提取泛化不?和效率低等問題。本?將聯(lián)合抽取任務(wù)分為三個?任務(wù):關(guān)系判斷、實體提取和主客實體體對?,進(jìn)?提出了?種新的聯(lián)合抽取模型PRGC。該模型設(shè)計了?個模塊預(yù)測潛在的關(guān)系,從?限制預(yù)測規(guī)模;使?基于關(guān)系的序列標(biāo)注解決實體重疊問題;最后設(shè)計?個全局通信模塊將主體和客體整合成三元組。

          論文模型


          PRGC將關(guān)系抽取分解成三個任務(wù):關(guān)系判斷、實體抽取和主客體對齊。首先通過關(guān)系判斷模塊獲取文本中蘊(yùn)含的關(guān)系,過濾掉不可能存在的關(guān)系。接著,將關(guān)系信息加入到實體抽取模塊,每種關(guān)系都抽取出相應(yīng)的主客實體。最后,使用主客體對齊模塊獲取的全局實體相關(guān)矩陣將主客實體進(jìn)行對齊,從而抽取出文本所對應(yīng)的三元組。
          PRGC整體架構(gòu)圖

          3.1 Relation Judgement

          關(guān)系判斷可以建模為文本多標(biāo)簽問題,即定義為給定一段文本,輸出這段文本可能包含的所有關(guān)系標(biāo)簽。如下式所示,作者使用BERT編碼器將句子轉(zhuǎn)化為向量形式,并通過平均池化獲取句子的向量表征,進(jìn)而實現(xiàn)關(guān)系判斷。
          假設(shè)一個句子對應(yīng)N個關(guān)系標(biāo)簽,則PRGC在訓(xùn)練階段會將一個句子樣本拆分成N個句子樣本,每個句子樣本中僅包含一個關(guān)系標(biāo)簽。例如,"九玄珠是在縱橫中文網(wǎng)連載的一部小說,作者是龍馬"這個句子中存在"連載網(wǎng)站"和"作者"兩個關(guān)系,則在訓(xùn)練階段該句子會被分別以<"九玄珠是在縱橫中文網(wǎng)連載的一部小說,作者是龍馬","連載網(wǎng)站">和<"九玄珠是在縱橫中文網(wǎng)連載的一部小說,作者是龍馬","作者">輸入模型進(jìn)行關(guān)系判斷。此時關(guān)系判斷模型便是常規(guī)的多分類模型,使用交叉熵計算損失即可。
          # (bs, h)
          h_k_avg = self.masked_avgpool(sequence_output, attention_mask)
          # (bs, rel_num)
          rel_pred = self.rel_judgement(h_k_avg)

          loss_func = nn.BCEWithLogitsLoss(reduction='mean')
          loss_rel = loss_func(rel_pred, rel_tags.float())

          在預(yù)測階段,通過sigmoid函數(shù)獲取句子對應(yīng)的所有關(guān)系標(biāo)簽的概率,并結(jié)合預(yù)先設(shè)定的概率閾值獲取句子蘊(yùn)含的關(guān)系標(biāo)簽。

          # (bs, rel_num)
          rel_pred_onehot = torch.where(
          torch.sigmoid(rel_pred) > rel_threshold,
          torch.ones(rel_pred.size(), device=rel_pred.device),
          torch.zeros(rel_pred.size(), device=rel_pred.device)
          )

          3.2 Entity Extraction

          實體抽取模塊與一般的序列標(biāo)注任務(wù)的不同在于:輸入的向量是融合了關(guān)系信息的句子向量。作者提供了兩種融合方式,一種是直接拼接兩個向量,另一種是通過向量相加進(jìn)行融合。此外,實體抽取模塊會將主體實體抽取和客體實體抽取分開進(jìn)行抽取

          if ex_params['emb_fusion'] == 'concat':
          decode_input = torch.cat([sequence_output, rel_emb], dim=-1)
          # sequence_tagging_sub就是個普通的序列標(biāo)注模塊
          output_sub = self.sequence_tagging_sub(decode_input)
          output_obj = self.sequence_tagging_obj(decode_input)
          elif ex_params['emb_fusion'] == 'sum':
          decode_input = sequence_output + rel_emb
          # sequence_tagging_sum里面主客實體抽取也是分開進(jìn)行的
          output_sub, output_obj = self.sequence_tagging_sum(decode_input)

          3.3 Subject-object Alignment

          主客實體對齊模塊本質(zhì)上就是生成字符與字符的相關(guān)矩陣。

          代碼實現(xiàn)

          # batch x seq_len x seq_len x 2*hidden
          corres_pred = torch.cat([sub_extend, obj_extend], 3)
          # (bs, seq_len, seq_len)
          corres_pred = self.global_corres(corres_pred).squeeze(-1)

          # global_corres的類代碼
          class MultiNonLinearClassifier(nn.Module):
          def __init__(self, hidden_size, tag_size, dropout_rate):
          super(MultiNonLinearClassifier, self).__init__()
          self.tag_size = tag_size
          self.linear = nn.Linear(hidden_size, int(hidden_size / 2))
          self.hidden2tag = nn.Linear(int(hidden_size / 2), self.tag_size)
          self.dropout = nn.Dropout(dropout_rate)

          def forward(self, input_features):
          features_tmp = self.linear(input_features)
          features_tmp = nn.ReLU()(features_tmp)
          features_tmp = self.dropout(features_tmp)
          features_output = self.hidden2tag(features_tmp)
          return features_output

          由于采用了拼接向量后通過全連接生成對齊矩陣,故而會占用較多的顯存。筆者在這部分嘗試了使用biffine機(jī)制進(jìn)行向量的交叉融合,可以在不降低性能的情況下有效地節(jié)約顯存。

          3.4 Loss Function

          PRGC的損失采用了三個子任務(wù)加權(quán)的形式,本質(zhì)上都是交叉熵,只是針對不同維度進(jìn)行了處理。作者在論文中并未詳細(xì)討論不同的加權(quán)方式對模型的影響,在代碼實現(xiàn)中也是采用了常規(guī)的三個損失直接相加的結(jié)構(gòu)。筆者認(rèn)為由于三個損失的收斂情況不同,可以嘗試根據(jù)訓(xùn)練輪數(shù)動態(tài)調(diào)整三個損失之間的加權(quán)關(guān)系。


          論文實驗


          PRGC主要在NYTWebNLG上進(jìn)行實驗,NYTWebNLG都有兩個版本,一個版本是標(biāo)注出整個實體,另一個版本是僅標(biāo)注出實體的最后一個字符,作者將僅標(biāo)注出實體的最后一個字符的版本記為NYT*WebNLG*。如下例中實體North CarolinaNYT中是整體標(biāo)出的,而在NYT*中則是僅標(biāo)出Carolina

          • NYT的數(shù)據(jù)格式:
          {
          "text": "North Carolina EASTERN MUSIC FESTIVAL Greensboro , June 25-July 30 .",
          "triple_list": [
          [
          "North Carolina",
          "/location/location/contains",
          "Greensboro"
          ]
          ]
          }
          • NYT*的數(shù)據(jù)格式:
          {
          "text": "North Carolina EASTERN MUSIC FESTIVAL Greensboro , June 25-July 30 .",
          "triple_list": [
          [
          "Carolina",
          "/location/location/contains",
          "Greensboro"
          ]
          ]
          }
          • WebNLG的數(shù)據(jù)格式:
          {
          "text": "Alan Bean , who graduated in 1955 from UT Austin with a B.S . and was selected by NASA in 1963 , spent 100305.0 minutes in space .",
          "triple_list": [
          [
          "Alan Bean",
          "was selected by NASA",
          "1963"
          ]
          ]
          }
          • WebNLG*的數(shù)據(jù)格式:
          {
          "text": "Alan Bean , who graduated in 1955 from UT Austin with a B.S . and was selected by NASA in 1963 , spent 100305.0 minutes in space .",
          "triple_list": [
          [
          "Bean",
          "was selected by NASA",
          "1963"
          ]
          ]
          }

          評價指標(biāo)采用了常見的精準(zhǔn)率(Prec.)、 召回率(Rec.)和F1-score。實驗結(jié)果如下圖,可以看出PRGC在四個數(shù)據(jù)上都取得了不錯的效果。

          此外,作者還對PRGC的效率進(jìn)行了實驗,得益于PRGC可以通過關(guān)系判斷去除掉句子中不包含的關(guān)系標(biāo)簽和整個模型不存在過于復(fù)雜的解碼方式,PRGC在復(fù)雜度和推理速度上相比于CasRel和TPLinker都有明顯的優(yōu)勢:



          記得點(diǎn)個在看


          瀏覽 51
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91 国产 爽 黄 在线相亲 | 免费的黄色的视频 | 色小姐综合网 | 毛片一区75 | 男人天堂新网址 |