1
會話式機器閱讀理解是什么?
如何在會話式閱讀理解里面能夠建模它的implicative reasoning,即如何去學習會話與閱讀理解篇章之間的蘊含關系。 在這篇文章中,講者概述了兩種常見閱讀理解的類型: 第一種是標準的閱讀理解,該模式是指,給定一篇描述型的文章和一個基于事實型的問題,通過匹配文章和問題,從文章中抽取一個span來回答這個問題; 第二種是會話式的問答,與標準的單輪問答不同,需要追問新問題,即follow up question,同時問題是以交互的形式出現。會話式問答,存在兩個挑戰,一個是需要能理解篇章,另一個是能夠理解交互的會話本身。 基于會話式問答,講者引入一個例子簡單說明(圖1)。
比如,用戶簡單描述了自己的情況(Scenario),但用戶的問題并不能直接從文章(Rule Text)中獲取,往往這個文章可能是一個比較通用的、相當于是一個法規或者法律的篇章。 比如,說明能夠申請7a貸款的人,需要具備什么樣的條件,但針對用戶問題在文章中沒有直接的答案,必須和用戶進行一個交互,才能得到明確的回答。例子中,成功申請貸款的條件有三個,所以還需再問另外的條件。 比如,能不能夠在別的地方獲取它的資金來源,假如用戶說no的話,這時候就可以給他一個答案,也就是說你可以申請。 因此,在這種情形下,就需要既能夠讀懂這篇文章,理解文章中的規則,也要能夠主動地和用戶交互,從用戶那邊獲取一些需要知道的信息,最終再給他一個決策。
圖1 定義該項任務常用的數據集是ShARC (shaping answers with rules through conversation 的簡稱),數據集的設定是:給定Rule Text;用戶描述自己的Scenario(Background);用戶提出question;已有的問答(Dialog History)。 整個過程可以概述為,由于用戶給定的background往往不明確,機器需要進行幾輪交互,然后從交互中獲取一些跟規則有關的信息,然后告訴用戶具體答案。 整個任務有兩個子任務: 任務一,整合Rule Text,Scenario,Question以及通過幾輪交互從用戶獲取的信息,作為模型輸入,然后做出決策(Decision Making)。
該決策包含四種類型:一種是根據現有的信息能夠作出yes or no 的決策;或者有些情況下,用戶的問題可能與給定Rule Text無關,或根據Rule Text并不能解決問題,則會出現unanswerable的答案;另一種情況是Rule Text中需要滿足很多條件,但有些條件機器不確定是否滿足,需要作出inquire的決策,主動從用戶那里獲取更多信息,直至幾輪交互后能夠作出yes or no的決策。 任務二,如果生成的決策是inquire,則需要機器問一個follow-up question,該問題能根據Rule Text引導用戶提供一些沒有提供的信息,便于進一步的決策。
圖2 2
會話式機器閱讀理解的初探
2.1 模型介紹 負采樣 針對于該任務,講者主要介紹了兩項工作,首先是發表于ACL2020的文章“Explicit Memory Tracker with Coarse-to-Fine Reasoning for Conversational Machine Reading”。 該工作的貢獻有兩個: a. 針對決策,提出了explicit tracker,即能夠顯示的追蹤文章中條件是否被滿足; b. 采用coarse-to-fine方法抽取Rule Text中沒有被問到的規則、條件等。
圖3 模型主要包括了四部分:1.Encoding→ 2.Explicit Memory Tracking→ 3.Decision Making→ 4.Question Generation,整體結構如下:
圖4 (1) Encoding 將Rule Text中的句子分開,比如分為三個句子,在每個句子前加一個[CLS]表征句子特征,同時把queestion,scenario以及用戶的會話歷史加起來,也用[CLS]表征,拼接起全部特征后,通過BERT進行encoding。
圖5 (2) Explicit Memory Tracking 該部分的目的在于挖掘出存在于Relu Text的句子中與用戶提供的信息(比如initial question 和dialog history)之間的implication。 針對于此,提出了explict memory tracker,類似于recurrent的思想,逐步的把用戶的信息和Relu Text中的規則進行交互,從而更新每一個規則的memory里對應的value,最終得到每一個條件滿足,不滿足或者不知道的一個狀態。 經過n次更新完后,每一個rule 都會得到key-value對。
圖6 (3)Decision Making 對n次更新完后的key-value做self-attention,經過一個線性層做四分類,即Yes, No, Irrelevant, Inquire。
圖7 同時,還設計了一個subtask,即對最終更新完之后的key-value做一個預測,顯示的預測該規則是Entailment,Prediction還是Unknown。該預測任務和Decision Making一起進行訓練。
圖8 (4)Question Generation 若得到的決策是Inquire,就要求繼續做一個follow-up question的generation。 主要包括兩個步驟: 第一步,從rule 中抽取一個span,具體是使用了一種coarse-to-fine 的做法,如下圖所示。由于在Entailment prediction,句子的unknown分數越高,表示該句子越可能被問;若句子狀態是Entailment或者Contradiction,說明該句子狀態已知,沒必要繼續問下去。 因此,選擇每一個句子在Entailment prediction中unknown的分數,并在每一個句子中計算抽取start和end的分數,然后將這兩個分數相乘,綜合判斷哪一個span最有可能被問到。
圖9 第二步,就是把span和rule 拼接起來,經過一個預訓練模型將其rephrase一個question。
圖10 2.2 實驗驗證 負采樣 使用ShARC數據集進行實驗驗證,包含了兩個任務的評價:分別為對于Decision Making任務采用 Marco-Accuracy 和Micro-Accuracy評價;以及對于問題生成采用BLEU Score評價。 此外,講者考慮到在end-to-end evaluation時,存在一個缺點,也就是說,對于評價問題生成時,模型是基于決策這部分的水平去做問題生成的評價,這使得每個模型之間問題生成的表現不好比較,因此提出一個oracle question generation evaluation,即只要當Ground truth decision 是inquire,就對其問題生成的水平進行評價。 在測試集上得到的結果驗證了所提出的Entailnment Memory Tracker(EMT)模型較其他模型效果有很大提升,尤其在問題生成方面效果顯著。
表1 具體分析每一類決策的準確率,可驗證Inquire的效果要更好,主要因為模型能顯式的追蹤模型的一些狀態,而不是簡單的學習模型中一些Pattern。 此外,在oracle question generation evaluation數據集上,與之前最好的模型E3,以及加上UniLM的模型進行對比,同樣也證明了采用Coarse-to-Fine的方法抽取span,在問題生成方面具有更好的效果。
表2 同時,講者給出了一個例子,更形象明白的說明了所提出的模型具備可解釋性。
圖11 3
如何更好地進行會話式機器閱讀理解
3.1 問題提出負采樣 進一步,講者介紹了第二項工作,該工作與前者的側重點有所不同,存在兩個差異: 第一,document interpretation,主要由于第一項工作只是簡單的對句子進行了一個切分,但實際上有些conditions(比如,上述例子中的American small business for profit business)是長句子中從句的條件,因此,第二項工作側重如何去理解這樣的條件。比如,能申請7(a)貸款,需要滿足(①==True and ②==True and ③==True)的條件,這在第一項工作中是沒有被建模的。
圖12 第二,dialogs understanding,即對于會話并沒有做特別顯式的理解。比如,在會話第一輪發現rule之間是and的關系,并且在Scenairo中抽取出條件,說明第一個rule是true,但還要繼續問第二個和第三個rule,所以給定Inquire的決策,直至滿足所有的rule后,才能給一個“You can apply the loan”的回答。
3.2 模型介紹負采樣 因此,該項工作主要基于這兩點,提出先采用Discourse Segmentation的方法顯式的把條件更好地抽取出來,之后做Entailment Reasoning 顯式地預測每一個狀態是否被滿足,如果預測結果是Inquire,還需要做一個Follow-up Question Generation。
具體的,在discourse segmentation 中主要有兩個目標:其一是明白Rule Text中的邏輯關系;其二是將句子中的條件更好地抽取出來。比如,對于一個rule采用Discourse Segmentation的方法將其抽取成三個elementary discourse unit (EDU),比如,下圖中EDU1 ,EDU3是條件,然后EDU2是一個結果,這樣的一個關系。
圖15 如何實現Entailment Reasoning? 與工作一類似,在EDU抽取之后,將其與之前的用戶Question,Scenairo 以及Dialog History拼接起來,經過預訓練模型,得到每一個phrase的表征。然后采用多層transformer模型預測rule中每一個EDU 的狀態,是Entailment、Contradiction,或者Neutral。 多層transformer模型較之前recurrent思想的模型更優秀,其不僅能在用戶信息與rule之間做交互,也能更好的理解rule本身的邏輯結構(比如,conjunction,disconjunction等 )。 進一步,如何實現Decision Making? 在做決策時,根據學習到的Entailment、 Contradiction、Neutral向量,去映射前一步做Entailment Prediction的三個分數,得到每一個EDU的狀態vector,同時拼接該狀態vector與EDU本身的語義表示,作為Decision Classifier 輸入,從而得到決策。
圖163.3實驗驗證及結論負采樣 同樣地,實驗也是在ShARC數據集上進行。實驗結果表明,使用discourse segmentation加上更好的更顯式的Reasoning的模式,較之前使用EMT模型具有更好的性能表現,在Micro Accuracy和Macro Accuracy上差不多高出4%。
表3 在Ablation Study中,首先對比了RoBERTa和BERT之間的區別,表明了RoBERTa對于Reasoning的任務具有一定的貢獻;其次,說明了采用discourse segmentation劃分一個句子為多個EDU形式的效果優于僅對句子進行劃分的結果;然后,證明了采用Transformer顯示地對用戶信息和問題之間做交互是有必要的;最后,證明了拼接Entailment vector和EDU本身的語義表示,對最終決策具有相當大的貢獻。
表4 進一步,分析了不同邏輯結構下模型的結果表現。這里粗略分成4種規則的邏輯結構,即Simple、Disjunction、Conjunction以及Other。結果表示,模型在Simple形式下具有最好效果,然而在Disjunction形式下效果較差。
圖17 為什么模型對于Disjunction,做出的決策效果較差? 考慮到模型涉及兩部分內容,一是dialogue understanding;二是對 scenario的理解。 因此,講者進一步做了如下實驗,就是把這兩塊內容分開,選擇一個只用到dialogue understanding 的子集,再選擇一個只用到scenario Interpretation的子集,進行實驗。 結果表明,只用到dialogue understanding 的子集的模型效果要優于用到整個數據集的效果,但在scenario Interpretation的子集上,實驗效果差了很多。 該現象的原因在于,用戶自己的background (scenario)可能用到了很多reasoning的方式,與rule 不完全一樣,因此對scenario的理解是比較差的。很多時候scenario里提到了關鍵信息但是模型并沒有抽取成功,從而繼續做出inquire的決策。這也可能是導致Disjunction決策效果較差的原因。
圖18 4
總結
綜上,講者團隊分別提出了Explicit Memory Tracker with Coarse-to-Fine Reasoning 以及Discourse aware Entailment Reasoning的方法,并且在ShARC數據集上效果很好,同時設計實驗分析了數據集本身的難點以及模型的缺陷,為后續研究指明可拓展方向。
責任編輯:xj
原文標題:香港中文大學高一帆博士:會話式機器閱讀理解
-
閱讀
+關注
關注
0文章
10瀏覽量
11615 -
機器學習
+關注
關注
66文章
8487瀏覽量
133975
原文標題:香港中文大學高一帆博士:會話式機器閱讀理解
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論