【論文筆記】Bridging Hierarchical and Sequential Context Modeling

Herbe_chanceux發表於2020-10-10


論文題目:

Bridging Hierarchical and Sequential Context Modeling for Question-driven Extractive Answer Summarization

Abstract

基於檢索的問答是目前最廣泛但最具挑戰性的應用和研究領域之一。非事實類問題的答案往往是冗長且繁瑣的,這也給答案總結這項任務帶來了很大的挑戰。問答對之間的多層次互動和不同answer之間的相互關係通常是在現有的答案總結研究的基礎上分別建立起來的。在本論文中,我們提出了一個統一模型,通過問題驅動的多層次架橋和順序上下文模型來進行答案摘要的抽取。
特別的,設計了一個分層compare-aggregate方法在word和sentence的基礎上去整合QA對之間的資訊。然後,我們使用問題感知的順序提取器為冗長的答案生成摘要。實驗結果表明,基於層次和順序的上下文建模方法都能有效地對答案進行總結,並且該方法在WikiHowQA和PubMedQA上都取得了優異的效能。

1. Introduction

近年來,很多非事實問答的研究已經被應用到了很多領域,比如CQA、EQA等。然而,原始答案通常都是由使用者或者從長文字中獲取的,包含大量不相關的多餘資訊。而這些答案通常會給使用者來帶閱讀難度和誤解。
文字摘要可以有效解決答案冗餘的問題。在過去的研究中,答案總結大多通過傳統的資訊檢索方法或者基於查詢的總結模型來實現的。根據分類方法的型別,大概可以分為抽取式的和摘要生成式的兩大類。在這項工作中,我們重點研究答案摘要的生成,因為它能產生更多的語法和連貫的摘要。

對於非事實性問答,答案摘要與所對應的問題高度相關,而問題和答案中所包含資訊量的不平衡性也導致難以區分答案與問題之間的語義關聯。目前存在的答案摘要生成並沒有充分利用問題和答案之間的相關資訊,或者高度依賴於特徵。在這種情況下,就需要一種新的模型去充分處理答案和問題之間資訊的不平衡。
答案選句是一種從一組候選句子中選擇句子來回答問題的方法,可以作為答案總結的另一種方法。Compare-Aggregata的框架,主要通過將低階元素的比較結果聚合到高階表示中,來為QA對之間的互動建模。受此啟發,我們提出對QA對之間的word和sentence兩個不同層面的相關資訊進行層次化建模,從而為相關的答案總結任務獲得合適的句子表示。
另一方面,現有的基於查詢的摘要方法和答案句子選擇方法在獲取原始答案中不同句子之間的相關性方面都存在不足,這在提取摘要設定中是非常重要的。順序建模成功地克服了這一問題,它既考慮了當前句子的突出性,又考慮了來自前一個句子的資訊。
在這項工作中,我們在層次和順序上下文之間架起了橋樑,提出了問題驅動的抽取答案摘要模型(HSCM)。具體地說,我們提出了一種層次比較-聚合方法,將字詞級和句子級的問題-答案對之間的層次互動資訊整合為一個序列提取摘要模型。

2. Method

給定問題 Q Q Q、答案 A A A,由一列句子 [ s 1 , s 2 , . . . , s l ] [s_1,s_2,...,s_l] [s1,s2,...,sl]組成。
目標:從 A A A中提取出句子,組成答案摘要 Y Y Y
總體框架圖如下:
在這裡插入圖片描述

2.1 Word-level compare-Aggregate

word embedding的輸入:
question: Q = q 1 , q 2 , . . . , q n Q={q_1,q_2,...,q_n} Q=q1,q2,...,qn
Answer: A = s 1 , s 2 , . . . , s l A={s_1,s_2,...,s_l} A=s1,s2,...,sl
A A A中的第 l l l個句子為: s l = a 1 , a 2 , . . . , a m s_l={a_1,a_2,...,a_m} sl=a1,a2,...,am
首先進行注意操作,將問題和答案句之間的詞級資訊進行匹配,得到問題和回答中每個詞的注意權重向量。
在這裡插入圖片描述
最後採用element-wise乘法作為比較函式來計算word-level的結果
l
最後用CNN進行聚合
在這裡插入圖片描述
注意,每個句子表示都有一個唯一的問題表示 Q l Q_l Ql和答案中的 S l S_l Sl,這是每個答案句子的單詞級比較結果整合到了問題表徵中。

2.2 Sentence-level compare-Aggregate

這一部分和word-level的處理方式一樣,只是輸入替換成了問題和答案中的句子級別的representation.
在這裡插入圖片描述
關於第四五個公式,我覺得可能是作者筆誤,寫錯了,應該是分別乘以 S j S_j Sj Q j Q_j Qj

最後經過一個LSTM層去聚合sentence-level的比較結果
在這裡插入圖片描述

2.3 Question-aware Sequential Extractor

下面就是通過問題驅動下的順序提取進行答案摘要的生成。我們採用RNN作為解碼器,按順序對每句話進行標記,下一個被解碼的標籤同時考慮已編碼的文件和前一個被解碼的標籤。
在這裡插入圖片描述

此外,由於問題在決定是否要提取句子時非常重要,因此編碼後的問題也被整合到標籤預測中
在這裡插入圖片描述
下面就是計算loss,用cross-entropy loss函式
在這裡插入圖片描述
p p p是softmax層的輸出

3. Experiment

在兩個非事實QA資料集上進行了實驗
在這裡插入圖片描述
實驗設定:
word embedding: GLOVE 100_dim
lr = 0.001
dropout = 0.5
LSTM的hidden unit = 150
batch_size = 32

3.2 Experimental Results

在這裡插入圖片描述
對於摘要生成的方法,主要分為三大類:
傳統的摘要生成方法:沒有利用問題中的相關資訊,傳統的文字摘要方法提取摘要
答案句子查詢的方法:通過衡量問題與每個回答句子之間的關聯程度,從原始答案中選擇句子作為總結
問題驅動的摘要生成方法:
最後還有五種無特徵的基於查詢的總結方法:前兩種屬於抽取式的,後三種屬於摘要生成式。這些方法考慮到問題資訊來指導答案總結過程。
從表中可以看出,傳統的摘要生成方法在WikiHow上的效果要比在PubMedQA上的好,猜想是由於前者著重於上下文資訊,後者著重於相似度資訊

3.3 Analusis

3.3.1 Ablation Study

在這裡插入圖片描述

-sequential decoder: 將LSTM解碼器分開,只進行分層的句子對建模
-compare-aggregate: 沒有比較聚合層,只保留問題感知的順序提取器模型
-word-leve: 移除單詞級別的compare-aggregate層
-sentence-level: 移除句子級別的compare-aggregate層

4. Conclusions

本文橋接分層建模和順序上下文建模,對答案照耀進行提取,以便解決非事實QA中答案的冗餘問題。提出了一種分層比較聚類的方法來編碼問題與答案之間的多層次互動資訊,然後在問題的驅動下利用順序學習來提取答案句子,進而構建答案摘要。

二、使用步驟

1.引入庫

程式碼如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.讀入資料

程式碼如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

該處使用的url網路請求的資料。


總結

提示:這裡對文章進行總結:
例如:以上就是今天要講的內容,本文僅僅簡單介紹了pandas的使用,而pandas提供了大量能使我們快速便捷地處理資料的函式和方法。

相關文章