賽爾原創 | EMNLP 2019基於知識庫檢索器的實體一致性端到端任務型對話系統

2021-03-02 AINLP

論文名稱:Entity-Consistent End-to-end Task-Oriented Dialogue System with KB Retriever

論文作者:覃立波,劉一佳,車萬翔,文灝洋,李揚名,劉挺
原創作者:覃立波
下載連結:https://www.aclweb.org/anthology/D19-1013/
轉載須註明出處:哈工大SCIR

1.端到端任務型對話系統

任務型對話系統可以用來幫助用戶完成訂購機票、餐廳預訂等業務,越來越受到研究者的關注。近幾年,由於序列到序列(sequence-to-sequence)模型和記憶網絡(memory-network)的強大建模能力,一些工作直接將任務型對話建模為端到端任務型對話任務。如圖一所示,輸入輸出定義如下:

圖1 InCar數據集的一個例子。上面為支撐該組對話的知識庫,下面為對應的對話內容。

端到端任務型對話系統可定義為:通過sequence-to-sequence模型讀入用戶的需求和配套的知識庫,直接生成系統的回覆,如圖2所示:


圖2 端到端任務型對話系統的流程圖

2.背景和動機

一些工作在端到端任務型對話系統中進行了探索。Eric [1] 等人第一次構建了InCar數據集,並提出了對於整個知識庫進行注意力操作,然後將對知識庫中的實體注意分值增廣到最終的生成概率分布中,從而使得整個模型能夠生成實體。Madotto [2] 等人第一次將記憶網絡引入到端到端任務型對話中,用它來存儲知識庫和歷史對話,來增強生成過程中與實體的交互。Wen[3]等人提出使用隱式的對話狀態來檢索相應的知識庫,從而在生成過程中複製選擇實體。

 

但是這些方法都聚焦在整個知識庫的選擇和注意上。往往會造成模型生成實體出現不一致的情況,如圖1所示:如果系統生成回覆中的POI是第四行的「Valero」,但是生成的Address又是第五行標紅的「899 Ames Ct」,這就是我們所說的實體不一致的情況,這極大的影響了任務型對話系統最後的任務成功完成度。

 

同時,我們觀察到,在任務型對話系統中,大部分回覆中的實體是可以由一行知識庫支撐,如圖3,4所示:

圖3 一行知識庫支撐回復案例

圖4 一行知識庫支撐回復案例

因此將該觀察融入到回復生成中,可以提升生成實體的一致性。我們在本文中,提出了一個兩步檢索知識庫的框架,第一步我們引入一個知識庫檢索模塊來檢索出最相關的知識庫行,在第二步中,我們使用注意力機制來對知識庫的列進行打分,最後採用複製(copy)機制,來將選中的實體融入到生成過程。在下面方法階段我們將詳細描述。

3.方法

3.1 基本的序列到序列模型

基本的序列到序列模型包括一個編碼器和一個基於注意力機制的解碼器,基本框架圖如圖5所示:

圖5 基本的序列到序列模型

編碼器:採用雙向LSTM將對話歷史進行編碼得到:

解碼器:使用注意力機制的解碼器,採用單向LSTM對每個時刻狀態進行解碼,公式如下:

3.2 知識庫行選擇

我們採用記憶網絡(memory-network)來建模知識庫的行選擇過程。

 

對話歷史表示:我們follow原始論文(Sukhbaatar等人,2015)[4] 的神經詞袋模型(BoW)來編碼對話歷史。

知識庫每一行的表示:一行中的每個實體採用詞向量表示,第行中的所有實體的詞向量之和來作為該行的表示。

 

基於記憶網絡的知識庫檢索器,建模過程如下:

 

其中i代表記憶網絡中第i個hop。得到a之後,我們可以將檢索結果表示為:其中計算過程如下,方便後面與挑選列的結果結合。

其中在檢索結果中, 表示第行和列的實體是否與最後的生成過程是相關的。總的定行示例圖如圖6所示:

圖6 檢索知識庫行示例圖

 

3.3 知識庫列選擇


我們採用注意力機制來挑選知識庫列:

其中是知識庫第j列的注意力分數,  是知識庫第j列的表頭詞向量表示。選擇過程如下所圖7所示:

圖7 檢索知識庫列示例圖

 

得到了知識庫列的分布,我們將之前的行選擇結果t與列選擇結果相乘得到我們的檢索結果:

最後我們將檢索結果融入到解碼器生成過程中,如圖8所示:


圖8 生成過程融入檢索知識過程

上圖的紅色部分代碼正常詞彙的生成過程,藍色部分代表檢索的知識結果。

4.訓練知識庫檢索器

因為前面提到,給定對話歷史和對應的知識庫,知識庫檢索器需要選擇一個最相關的知識庫行,但是該過程沒有標註數據。

於是我們提出兩種方法去訓練知識庫檢索器。

 

4.1 遠程監督


我們設計了一些啟發式規則來構造行的監督數據。在構造過程中,我們進一步假設一個任務型對話能夠由一行知識庫支撐。我們計算每一個知識庫行與整個對話系統的相似度分數。如果有單詞能夠匹配上,我們就將得分進行加1.最終挑選得分最大的那行,作為我們的監督信息。例子如下:

圖9 遠程監督例子(1)

圖10 遠程監督例子(2)

圖11 遠程監督例子(3)

4.2 Gumbel-Softmax


由於之前挑選行的過程會使用argmax的操作,造成整個框架不能進行端到端的訓練,於是我們在得到行檢索結果T的時候,使用Gumbel-softmax操作來使得整個過程可微分,替換公式如下:

5.實驗


5.1 數據集和評價指標

我們使用公開的InCar數據集,訓練、開發和測試集的劃分依照提出這個數據集的論文[2]進行,並且為了進一步檢驗我們框架的有效性,我們重新標註了Camrest數據集 [5]。我們將該數據集的每一個對話人工標註上它配套的知識庫,目前該標註數據集已經開源,地址為:https://github.com/yizhen20133868/Retriever-Dialogue。

我們follow前人工作,採用BLEU來衡量生成句子的流暢度,採用實體Micro-F1值來衡量系統檢索知識庫的能力。

 

5.2 主實驗結果


主實驗結果如表1所示:

表1 主實驗結果

我們對比了基線模型,可以發現:

(1)在表1第一個方框中,我們顯示了Eric等人報告的結果(帶*)。我們認為,他們的結果不能直接比較,因為他們的工作使用的是標準化形式的實體,這些實體不是基於真實實體來計算的。但是我們的兩種方法的框架在整體BLEU和Entity F方法上仍優於他們的模型的KV Net,這證明了我們框架的有效性。

 

(2)在表1的第二個方框中,我們可以看到我們的框架(遠程監督和Gumbel-Softmax訓練),擊敗了兩個數據集上的基線模型。在InCar數據集中,我們的Gumbel-Softmax模型與基線相比具有最高的BLEU,這表明我們的框架可以產生更多的流暢回復。特別是,在F1指標上,我們的框架在Navigate域上實現了2.5%的改進,在Weather域上實現了1.8%的改進,在Calendar域上實現了3.5%的改進。這表明我們的KB檢索器模塊和框架的有效性可以從KB中檢索更多正確的實體。在CamRest數據集中,也看到了相同的增長趨勢,進一步表明了我們框架的有效性。

(3)我們觀察到,用Gumbel-Softmax訓練的模型好於遠距離監督方法。我們歸功於KB檢索器和Seq2Seq模塊以端到端的方式進行微調,這可以優化KB檢索器並進一步促進對話的生成。

5.3 一行知識庫能夠支撐的回覆比例


我們分析了實驗的兩套數據集,發現95%的Navigate領域,80%的天氣領域和90%的Camrest數據集的生成回覆中的實體可以由一行知識庫支撐。這證明了我們一開始的假設。並且,我們研究了其餘20%的weather領域,發現大部分回復不能由知識庫的任意一行支撐,比如 「It ’s not rainy today」,知識庫實體中只有Sunny,如果我們把這種情況也認為是一行知識庫支撐,那麼比例能夠達到99%。

 

5.4 生成實體一致性


我們定義生成的回覆實體如果是來自相同的一行知識庫(由遠程監督自動得到的結果),就認為他們是一致的,所有模型的一致性結果如表2左半部分:

表2 實體一致性結果與人工評價

5.5 知識庫行數與生成一致性之間的相關性


為了進一步探討知識庫行數與回復實體一致性之間的相關性, 我們實驗了1到5行知識庫的回覆生成。一致性結果如圖12所示,我們可以看到隨著知識庫行數的增加,實體一致性在逐漸降低。這表明不相關的信息將損害對話生成的一致性。

圖12  知識庫行數與回復一致性關係

 

5.6 可視化


我們在生成實體「Alester Ave 200」的解碼位置上知識庫實體概率可視化。從圖13中,我們可以看到第4行和第1列具有生成200 Alester Ave的最高概率,這證明了首先選擇最相關的知識庫行然後進一步選擇知識庫列的有效性。

圖13 可視化結果

5.7 人工評價


我們最後還進行了人工評價,對生成的回覆correctness,fluency, and humanlikeness三個方面進行打分,結果如表2右半部分所示。我們可以看出結果與自動評價一致,尤其是在正確性指標上遠高於基線模型,證明我們框架的有效性。

 

6.結論

(1)我們首次在端到端任務型對話系統中研究實體一致性問題,並採用知識庫檢索器過濾不相關的知識庫,用來提高實體一致性。

(2)我們提出使用遠距離監督和Gumbel-Softmax方法來訓練知識庫檢索器。

(3)我們在兩個公開的任務的對話數據集上的實驗結果表明:提出的模型優於基線模型並產生了更多實體一致的回覆,這證明了我們模型的有效性。

參考文獻


[1] Mihail Eric, Lakshmi Krishnan, Francois Charette, and Christopher DManning. 2017. Key-value retrieval networks for task-oriented dialogue.

[2] Andrea Madotto, Chien-Sheng Wu, andPascale Fung. 2018. Mem2seq: Effectively incorporating knowledge bases intoend-to-end task-oriented dialog systems.

[3] Haoyang Wen, Yijia Liu, Wanxiang Che,Libo Qin, and Ting Liu. 2018. Sequence-to-sequence learning for task-orienteddialogue with dialogue state representation.

[4] Sainbayar Sukhbaatar, Jason Weston, RobFergus, et al. 2015. End-to-end memory networks.

[5] Tsung-Hsien Wen, David Vandyke, NikolaMrkˇsi´c, Milica Gasic, Lina M. Rojas Barahona, Pei-Hao Su, Stefan Ultes, andSteve Young. 2017b. A network-based end-to-end trainable task-oriented dialoguesystem.

本期編輯:馮梓嫻

本文轉載在公眾號:哈工大SCIR,作者哈工大SCIR 

推薦閱讀

「原子」因果常識圖譜

Transformer詳解《attention is all your need》論文筆記

BERT源碼分析PART I

BERT源碼分析PART II

BERT源碼分析PART III

徵稿啟示| 讓更多的NLPer看到你的文章

AINLP-DBC GPU 雲伺服器租用平臺建立,價格足夠便宜

我們建了一個免費的知識星球:AINLP芝麻街,歡迎來玩,期待一個高質量的NLP問答社區

關於AINLP

AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流群請添加AINLP君微信(id:AINLP2),備註工作/研究方向+加群目的。

相關焦點

  • 知識圖譜新研究:DrKIT——虛擬知識庫上的可微推斷,比基於BERT的...
    ,其可以遍歷文本數據,並遵循語料庫中各個實體的關係路徑,並基於評分的方法,實現了整個系統端到端的訓練。針對多條查詢,輸出實體Y可以作為下一次迭代的輸入,被循環利用到相同的模塊中。實體Y是可以微分的,這可以保證實現端到端學習過程。我們主要討論基於稀疏矩陣向量乘積的實現過程,這一過程的運行時間和記憶只依賴於從索引中檢索到的跨度K的數量。
  • 金融行業需要什麼樣的端到端AI系統?螞蟻SQLFlow告訴你
    導語:端到端機器學習是一種由輸入端的數據直接得到輸出端結果的AI系統,它可以對業務人員屏蔽複雜技術細節,同時給模型以更多自動調節空間,增加模型整體契合度。近兩年來,端到端機器學習成為AI領域研發熱點,螞蟻集團於2019年4月發布端到端AI系統SQLFlow開源項目,受到業界廣泛關注。
  • 端到端網絡切片如何解決行業挑戰並支持新業務模式
    簡而言之,這意味著大部分時候是基於APN/IMSI提供靜態切片。由於5G主要是垂直的應用,因此3GPP CT3正在定義動態網絡切片的相關細節。   3GPP系統具備在單個網絡切片上滿足特定安全需求的功能   3GPP系統應具有在網絡切片之間提供隔離的能力,從而將潛在的網絡攻擊限制在單個網絡切片上。   運營商應能夠授權第三方在網絡運營商限定範圍內,通過API創建、管理網絡切片配置。   3GPP系統應在不影響該切片或其他切片服務的前提下,支持網絡切片的容量彈性。
  • 巴別魚雛形,谷歌推出端到端語音翻譯技術,還能模仿你說話
    2017年,谷歌研究員們證明了這種端到端模型可以勝過cascade模型。之後又進一步改進許多端到端語音到文本翻譯模型的方法。最終在2019年,谷歌的研究員們在arXiv發表Translatotron模型,通過證明單個序列到序列模型可以直接將語言從一種語言翻譯成另一種語言的語音,而不依賴於任何一種語言的中間文本表示。
  • 知識圖譜的皇冠:知識圖譜推理的前世今生
    圖:描述邏輯組成架構 通過Tbox和Abox,我們可以把知識庫中複雜的實體關係推理問題轉化為一致性的校驗問題 基於描述邏輯的推理體系中,常見的是基於表運算(Tableaux)的推理,經常被用於檢測描述邏輯知識庫的一致性。
  • 基於知識圖譜的問答在美團智能交互場景中的應用和演進
    在這些時代背後可以發現是人機互動方式的變化:從鼠鍵交互,到觸控交互,再到語音智能交互,可以看到人機互動的方式在向更自然更直接化的方式演進。今天會和大家分享基於知識圖譜的問答在美團智能交互場景中的應用和演進。
  • 前端高效開發必備的 js 庫梳理
    首先我覺得在學習任何知識之前必須要有一個明確的學習目標, 知道自己為什麼要學它, 而不是看網上說的一股腦的給你灌輸各種知識, 讓你學習各種庫, 從而不斷的製造大家的焦慮感.比如說你對移動端比較感興趣, 工作中也剛好涉及到一些技術的應用,那麼我可以專門研究移動端相關的技術和框架, 又或者你對企業後臺/中臺產品感興趣, 比較喜歡開發PC端項目, 那麼我們可以專門研究這種類型的js庫或者框架, 接下來筆者也是按照不同前端業務的需求, 來整理一份能快速應用到工作中的js庫, 以提高大家的開發效率.
  • 聊透分布式系統一致性!
    這也是為什麼稱為原子一致性的原因。嚴格一致性不考慮客戶端在網上有很多人在解釋一致性時,嘗試從客戶端和服務端分別解析;但是在上一篇我們分析CAP的時候,也有提到不要帶Client玩,那麼究竟誰對誰錯呢?這裡我們再來看下,在考慮分布式系統的一致性時我們更關注什麼?
  • 京東副總裁何曉冬:GPT-3後,人機對話與交互何去何從?| CCF-GAIR 2020
    何博士著重強調了下一步可在知識驅動的複雜任務導向人機對話和超出文本的多模態數據和信息融合兩個方向發力,推動多模態人機對話與交互,並將人機對話系統落實到產業應用上,包括智能客服、智能交互營銷、智能消費媒體等。
  • 賽爾XAAR噴墨控制系統
    賽爾噴墨控制系統包含XAAR Proton(382)和XAAR 1201兩種噴頭類型的噴墨系統。賽爾Proton噴頭系統簡介:兩種賽爾噴頭系統均使用USB3.0作為主板到頭板通訊接口,可接入8顆噴頭,滿足基礎配置需求。噴頭簡介賽爾Proton噴頭運用賽爾墨滴優化技術(XaarDOTTM),能以二態或灰度模式進行噴印。
  • CCKS 2020「基於標題的大規模商品實體檢索」競賽冠軍,DeepBlueAI...
    原創 Synced 機器之心機器之心發布作者:羅志鵬(深蘭北京 AI 研發中心)這篇文章介紹了 DeepBlueAI 團隊在第十四屆全國知識圖譜與語義計算大會(CCKS 2020)中「基於標題的大規模商品實體檢索
  • 酒店預訂系統怎麼開發微信端?
    一個合格的酒店預訂系統,必須包含微信端。 那麼,這樣的系統該怎麼開發呢,應該包含哪些功能? 1、 公眾號和小程序都要包含 酒店預訂系統的微信端,不僅要在公眾號裡可以關聯設置,而且要有專門的酒店預訂微信小程序。
  • 知識問答KB-QA
    這些就是一條條知識,而把大量的知識匯聚起來就成為了知識庫。我們可以在wiki百科,百度百科等百科全書查閱到大量的知識。然而,這些百科全書的知識組建形式是非結構化的自然語言,這樣的組織方式很適合人們閱讀但並不適合計算機去處理。為了方便計算機的處理和理解,我們需要更加形式化、簡潔化的方式去表示知識,那就是三元組(triple)。「歐巴馬出生在火奴魯魯。」
  • Uber下一代支付平臺的系統架構設計
    新系統和架構的優勢基於作業/訂單的系統對於運行餘額和用戶實體的記帳來說,基於交易的系統很難擴展。跟蹤和執行零和原則是很困難的。我們的新架構現在使用基於作業/訂單的系統。每份作業都代表著一次拼車旅行或吃飯/送餐。由於調整、獎勵、小費等原因,同一份作業可能會有多個訂單。每個訂單都包含多個訂單條目,每個訂單條目代表著進出用戶帳戶的金額。
  • 基於化妝品行業的RFID資產管理系統優點是什麼
    打開APP 基於化妝品行業的RFID資產管理系統優點是什麼 sz_xindoo2006 發表於 2020-12-11 16:41:45
  • 從ACL 2020看知識圖譜研究進展
    我們選擇了 ACL 2020 中三篇與知識圖譜相關的文章進行詳細解讀。其中,第一篇重點關注知識圖譜本身,提出了一種基於距離的知識圖譜中的源實體到目標實體的連結預測(Link Prediction)方法。第二篇文章是知識圖譜在摘要生成任務中的應用,第三篇文章是知識圖譜在會話生成任務中的應用。1.
  • 華為電子信用卡來了:基於華為Pay 可在手機端申請
    HUWEI Card此外,餘承東還宣布推出HUAWEI Card:一款基於HUAWEI Pay的數字/實體信用卡,用戶能在手機端申請。餘承東也強調了HUAWEI Card的安全性。至於這款卡片是華為跟哪家銀行合作的產品,發布會現場並未說明。也尚未公布何時可以開始申請。
  • Python人工智慧中應用,深度學習搭建人機對話平臺,AI帶你飛
    其中包括它的語法、Python開發人員可用的科學生態系統和數據分析庫、易於和幾乎所有其它技術集成,以及其開源地位。對大數據分析挖掘、機器學習,python等數據領域感興趣的同學我們來看下Python在人工智慧領域的應用。Python在人工智慧領域的應用Python和其它好的技術一樣,在你的開發團隊像病毒一樣快速傳播,然後找到把它應用到各種應用和工具中的方式。
  • 雲邊端全覆蓋 寒武紀打開廣闊市場空間
    有國內AI晶片獨角獸之稱的寒武紀成立於2016年3月,成立當年便發布了全球第一款商用終端智能處理器Cambricon-1A,一年後寒武紀又發布了三款第一代人工智慧晶片IP,隨後寒武紀迅速布局雲端智能晶片及加速卡系列產品思元100和思元270,又於2019年推出基於思元220晶片的邊緣智能加速卡。現在寒武紀的思元290又蓄勢待發。
  • 國內的智能客服發展到哪一步了?這裡有份追蹤報告
    對話更連貫在具體到對話系統技術任務方面,騰訊雲小微技術團隊在今年的第八屆國際對話系統技術挑戰賽 (DSTC-8) 上參與了三個 賽道的七項相關任務,包括多領域對話系統、端到端問答預測、對話狀態追蹤等,取得其中四項指標世界第一、兩項指標第二的優秀成績。