當前位置:
首頁 > 知識 > 評價端到端生成式聊天系統,哈工大提出新型數據集 LSDSCC

評價端到端生成式聊天系統,哈工大提出新型數據集 LSDSCC

機器之心專欄

作者:徐振、劉秉權(哈爾濱工業大學智能技術與自然語言處理實驗室)

端到端的生成式聊天系統在模型層面的研究工作近年來取得了長足進展,但是對於生成結果的合理評價方法的探索卻不足,無法為模型的優化提供有效指引。基於此,本文提出了兩種用於自動測評生成回復的語義多樣性的量化指標 PDS 和 MDS,並開放了一個由電影領域的高質量 query-response 組成的數據集。本工作是哈工大ITNLP實驗室聯合北航的姜楠及其導師一起完成的。

引言

得益於深度學習的發展,端到端的生成式聊天系統在模型層面的研究工作在近兩到三年中取得了長足的進步 [1-5]。與之相比,對於生成結果的合理評價方法的探索則極為滯後,無法為模型的優化方向提供有效的指引。現有的較為通用的自動評價方法多是來源於機器翻譯、自動文摘等領域,被普遍認為無法有效評測端到端的生成式模型生成結果的語義多樣性,而人工評測的開銷較大且無法保證很高的一致性 [6,7]。與此同時,儘管目前開放域聊天的通用訓練數據較多,但針對特定領域的富含較大信息量的對話數據則比較缺少。針對這些問題,論文 LSDSCC: A Large Scale Domain-Specific Conversational Corpus for Response Generation with Diversity Oriented Evaluation Metrics 提出了兩種用於自動評測生成回復的語義多樣性的量化指標,並開放了一個由電影領域的高質量 query-response 組成的數據集。

1 新的端到端對話生成數據集 LSDSCC

生成式聊天是自動對話領域中最前沿的研究方向之一,其核心技術就是利用端到端的一體化結構自動生成回復(Response Generation),而回復生成模型通常需要大規模的聊天數據進行訓練。理論上,用戶通過社交網路平台積累的海量對話數據可以用於訓練端到端的回復生成模型。然而,目前學術界常用的大規模訓練數據集普遍存在雜訊數據比例較高、主題分散等問題,給模型的訓練和評價帶來了一定的問題。針對這方面的問題,本文給出了一個基於單一領域數據源的高質量對話生成訓練數據集。

1.1 基於單一領域的對話生成數據集

現有的很多聊天數據集通常是開放域數據集(包括很多領域,如電影,音樂等),如果生成的回復與參考回復不在統一領域,評價生成回復的質量的難度可想而知。除此之外,常見的訓練數據集諸如 Twitter、Ubuntu 等 [8,9],包含了大量的雜訊信息(如,typos 和 slangs,超鏈接等),也不利於模型的有效訓練。因此,使用高質量的單一領域數據集評價不同的回復生成模型更加合理。為此,作者選取了 Reddit 論壇的電影板塊的對話作為候選數據集,並在此基礎上進行了數據清洗(替換掉 html 標籤、表情符等)、詞表截斷以及對話精簡(刪除特別長的句子)等複雜的預處理。

數據清洗:首先,在 Reddit 獲取的原始人與人的對話數據中通常包含 mark-down 和 html 標籤,這些標籤會干擾語句的合法性,作者將這種類型的標籤剝離,從而得到完整通順的句子。此外,Reddit 的回復通常還包含大量的 URL、Email 和數字,本文利用正則表達式將此類字元串統一格式化為「__URL__」、「__EMAIL__」和「__DIGIT__」。然後,如 Reddit 這樣的社交網路中會經常使用表情符號傳遞信息,作者將利用對應的表情符號與詞語的映射表,將其轉換為對應的詞語,從而有利於文本分析和理解。最後,本文將重複多次的詞語或者字(如,「cooool」and「ahahaha」)也轉化為正常的形式。

詞表剪枝:經過上述清洗之後,詞表中仍然存在大量的超長或者低頻字串(如,「ILoveYou」),這導致詞表包含超過 160K 的詞語。如表 1 所示,這些詞語中約 45% 左右的是超長組合辭彙或者不是 ascii 的辭彙。對於「序列-序列」模型來說,這麼大的詞表將使得模型參數非常龐大、模型很難收斂等問題。將這些詞語全部映射成「UNK」會損失掉大量的信息,從而影響模型的表現。為此,作者將超長或者低頻的字元串拆解成若干高頻詞,盡量保留的回復所包含的信息。

表 1 Post 和 Response 中的雜訊辭彙的比例

對話精簡:圖 1 是數據集中詢問 post 和回復 response 的長度分布情況,可以看出約有 40% 的話語長度超過了 50。而大多數回復生成模型的關鍵組件循環神經網路(RNN)在實際的應用中很難捕獲長距離的語義信息。此外,回復過長,「序列-序列」模型中的解碼器也很難訓練,並且生成過程中的效率也會受到影響。【同時,聊天場景下的回復通常是用很少的句子表達一個單一的觀點】。為此,作者選取了詢問 post 長度不超過 100、回復長度不超過 60 的對話,最終獲取了一個包含約 74 萬單論對話的數據集。

圖 1 數據集中 Post 和 Response 長度分布

2 面向生成結果語義多樣性的自動評價方法

自動生成的回復的自動評價方法一直都是一個難點。目前大多數生成的回復質量自動評價方法大多數來源於機器翻譯 (如 BLEU Score)[10,11],這些方法可以從一定程度上度量生成的回復與輸入話語的相關性。但是,由於聊天場景下回復通常比較發散(一個輸入話語常有很多語義相差很大的回復,如表 2 所示),與機器翻譯有很大不同,因此上述這些自動方法很難評價生成回復的質量,特別是面向回復的語義多樣性 (semantic diversity) 的評價。此外,基於人工標註的方法固然能夠保證較全面的評價,但主要問題在於開銷較大且無法保證很高的一致性。為了自動地對回復生成模型合理地評價,作者使用半自動地方法構建了一個電影領域的、高質量的測試集合,同時提出了兩個多樣性的自動評價指標。

表 2 多樣性回復的實例

2.1 複合參考回復集的半自動構建

圖 2 數據集中詢問 post 的回復個數分布

圖 2 給出了 Reddit 語料中 post 的回復個數分布。可以看出,約 70% 的只有一個回復,16% 的有兩個回復,這與我們最終的聊天場景下一個輸入話語有很多回復不相符。因此,如果使用這樣的測試數據去衡量回復生成模型的表現是不合理的。為此,本文使用半自動的方法為輸入話語構建了多個回復,並按照回復語義關係進行了分組。

為一個輸入話語構建多個回復的第一步就是從大規模的數據中將與輸入話語語義相似的話語找出來。為此,作者通過基於 TF-IDF 和語義向量的相似度方法計算話語之間的相似度,從而找到跟當前話語最相似的若干個語句。整個過程可以分為兩個階段,首先根據詞的 TF-IDF,使用 apache lucence 抽取 100 個最相似的語句;然後,使用 Doc2Vec 將當前話語和所有候選語句向量化,根據向量計算當前話語與候選語句之前的語義相似度,進而對候選語句重新排序,選取相似度大於某一閾值(如,0.9)作為當前話語最相似的語句。

將與當前話語語義相似的語句的回復作為當前話語的回復是合理的,因此,作者將 15 個最相似語句的回復收集起來作為當前話語的回復。而在社交網路中雜訊比較大,會有一些不合理的回復混入到其中。為了保證數據質量,邀請了一些標註人員進行話語與回復的相關性判斷。在相關性判斷過程中,要求標註人員首先判斷候選回復的語法是否正確,是否與對應的話語語義相關,如果這兩個條件都滿足,該回復被標為「1」,否則被標為「0」。經過這個過程之後,每個話語的回復的個數分布如下:

圖 3 測試集的回復個數分布

本文主要的目的是構建一個可以評價對話模型多樣性的測試數據集,為此,作者對獲取的回復集合進行了分組,每個組內的回復語義高度相關,組之間的語義有較大差異。首先,通過回復之間的詞重疊度的將回復自動分組。這種自動分組方法非常粗糙,只能將一些詞重疊比較多的回復歸併到一個組裡,而對於那些語義相近用詞差異很大的回復沒法合併到一個組裡。為此,作者請標註人員將語義相似的組合併,從而實現了將話語的多個回復分成了若干組。在這個過程中標註人員需要先理解 post 的語義,然後閱讀每組回復理解其表達的語義,在此基礎上,將語義相近的回復組進行歸併。因此,可以通過對話模型生成回復對於這些組的覆蓋情況判斷其多樣性。

2.2 基於複合參考回復的多樣性評價指標

現有的回復生成框架大都基於神經機器翻譯模型,因此 BLEU Score 對於生成結果的語義相關性的度量是有相對的指示價值的。然而,由於多個參考回復的語義差異較大,使用生成回復與每一個參考回復的平均 BLUEU 值評價生成模型的表現是不合理的。為了揭示生成的回復的多樣性,本文首先提出了一個基於 Multi-BLEU 的 MaxBLEU 評價生成回復與參考回復集合之前的相關性。然後,基於 MaxBLEU 提出了兩個多樣性的評價指標。其過程如下:

給定一個輸入問句,生成模型會生成一組回復假設 ,同時還有一組半自動的參考回復 ,r_ij 表示第 i 組的第 j 個回復,基於此 MaxBLEU 定義如下:

基於 Max BLEU,本文提出了兩個多樣性評價指標:平均多樣性 (Mean Diversity Score, MDS) 和概率多樣性 (Probabilistic Diversity Score, PDS),用於評價生成模型生成的回復的多樣性。其計算過程如表所示,

演算法 1 PDS 和 MDS 求解過程

從 MDS 和 PDS 演算法中可以看出,MDS 假設每組回復都有相同的概率,而不考慮其中包含的參考回復的數量;與之相反,PDS 在估算每組回復的概率的時候,則將回復的數量考慮在其中。總之,MDS 和 PDS 越大,生成的假設回復覆蓋的參考回復組越多,對應的生成模型的多樣性就越好。下圖用一個實際的例子展示了 PDS 和 MDS 計算過程。

圖 4 MDS 和 PDS 的實例分析

3 結語

本文提出了一個電影領域的對話數據集以及複合參考回復的測試集,並基於此提出了兩個度量生成式對話模型多樣性的評價指標 PDS 和 MDS。實驗發現本文提出的評價指標可以更好的反應已有的回復生成模型在回復多樣性上的表現。此外,由於缺乏統一的評價標準和數據集,生成式對話的研究一直無法專註於模型的主航道上,本文提出的數據集和評價方法從一定程度上緩解這個問題。同時,期望本文的多樣性指標可以為構建基於多樣性的損失函數提供新的研究思路,從而實現對回復多樣性的直接優化。

數據集鏈接:http://anthology.aclweb.org/attachments/N/N18/N18-1188.Datasets.zip

參考文獻

[1] Lifeng Shang, Zhengdong Lu, and Hang Li. 2015. Neural responding machine for short-text conversation. In Proc. of ACL, pages 1577–1586.

[2] Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. 2016a. A diversity-promoting objective function for neural conversation models. In Proc. of NAACL-HLT, pages 110–119.

[3] Iulian Vlad Serban, Alessandro Sordoni, Yoshua Bengio, Aaron C. Courville, and Joelle Pineau. 2016. Building end-to-end dialogue systems using generative hierarchical neural network models. In Proc. Of AAAI, pages 3776–3784.

[4] Jianan Wang, Xin Wang, Fang Li, Zhen Xu, Zhuoran Wang, and Baoxun Wang. 2017. Group linguistic bias aware neural response generation. In Proceedings of the 9th SIGHAN Workshop on Chinese Language Processing, pages 1–10.

[5] Yu Wu, Wei Wu, Dejian Yang, Can Xu, Zhoujun Li, and Ming Zhou. 2018. Neural response generation with dynamic vocabularies. In Proc. of AAAI.

[6] Chia-Wei Liu, Ryan Lowe, Iulian Serban, Mike Noseworthy, Laurent Charlin, and Joelle Pineau. 2016. How not to evaluate your dialogue system: An empirical study of unsupervised evaluation metrics for dialogue response generation. In Proc. of EMNLP, pages 2122–2132.

[7] Ryan Lowe, Michael Noseworthy, Iulian Vlad Serban, Nicolas Angelard-Gontier, Yoshua Bengio, and Joelle Pineau. 2017. Towards an automatic turing test: Learning to evaluate dialogue responses. In Proc. of ACL, volume 1, pages 1116–1126.

[8] Alan Ritter, Colin Cherry, and William B. Dolan. 2011. Data-driven response generation in social media. In Proc. of EMNLP, pages 583–593.

[9] Rudolf Kadlec, Martin Schmid, and Jan Kleindienst. 2015. Improved deep learning baselines for ubuntu corpus dialogs. In Machine Learning for SLU Interaction Workshop, NIPS.

[10] Kishore Papineni, Salim Roukos, Todd Ward, and WeiJing Zhu. 2002. Bleu: a method for automatic evaluation of machine translation. In Proc. of ACLCVPR, pages 311–318. Association for Computational Linguistics.

[11] Michel Galley, Chris Brockett, Alessandro Sordoni, Yangfeng Ji, Michael Auli, Chris Quirk, Margaret Mitchell, Jianfeng Gao, and Bill Dolan. 2015. deltableu: A discriminative metric for generation tasks with intrinsically diverse targets. In Proc. Of ACL, pages 445–450.

本文為機器之心專欄,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

DeepMind等機構提出「圖網路」:面向關係推理
到頭來,這是只有量子計算機才能解決的問題

TAG:機器之心 |