ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

號外!又一撥頂會論文乾貨來襲!

據芯君瞭解,本次預講會在學術圈的火爆程度完全超出了主辦方的想象,開放報名的短短几天就全面滿額了,以至於主辦方不得不設定條件篩選參會者。

讀芯君作為本次預講會的活動媒體,將全程跟隨大會,為大家全程紀錄活動中最前沿的觀點,最有價值的成果,並特邀預講會論文報告者聯合為讀者朋友們推出預講會系列組文,向你展示頂會最新論文成果。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

ACL 2018

根據不同的對話場景定製序列到序列模型

Tailored Sequence to Sequence Models to Different Conversation Scenarios

中國科學院計算所

Institute of Computing Technology,Chinese Academy of Sciences

【摘要】序列到序列(Seq2Seq)模型已經被廣泛用於對話生成領域。然而,不同的會話場景的需求是不一樣的。例如,客服自動回覆需要生成的回覆儘量具體和準確,而閒聊機器人更偏向回覆不同的回答以吸引不同的用戶。當前的Seq2Seq模型不能滿足這些不同的需求,而是通過使用一個平均最大似然作為優化目標。因此,它通常會產生“安全”和通用的回覆,例如“我不知道”之類的。在本文中,我們為不同的會話場景提出兩種定製的Seq2Seq優化策略,即針對具體化需求的應用場景,使用最大化生成似然模型(MGL),針對多樣性需求的應用場景,使用條件風險價值(CVaR)模型。在Ubuntu對話數據集(Ubuntu服務場景)和中文微博數據集(社交聊天機器人場景)的實驗結果表明,對比傳統的Seq2Seq模型及其變種,無論是自動評價還是人工評價,我們提出的模型不僅滿足不同的需求情景,而且可以生成質量更好的回覆。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

1 介紹

本文重點討論單輪對話生成的問題。單輪對話在自然語言處理應用,如客服自動回覆,智能助理和聊天機器人,都有廣泛的使用。最近,序列到序列(Seq2Seq)模型(Sutskever et al.,2014)已被廣泛應用在對話生成中。在這些Seq2Seq模型中,一個RNN作為編碼器,首先將輸入Post編碼為固定長度的向量,然後使用另一個RNN解碼器,根據這個向量自動逐字生成回覆。編碼器和解碼器的參數是通過最大化平均似然來學習的。

顯然,不同的對話情景對生成的需求是不一樣的。例如,在客服回覆或者手機助手的場景下,用戶主要期望該系統幫助他們解決問題,因此,回覆需要儘量具體和準確,提供有用的幫助。例如,如果用戶提問“我怎樣才能得到在Ubuntu 12.10上運行的AMD驅動程序?”,該系統比較好的回覆是“fglrx驅動在repo可以找到。它可能取決於你的芯片類型。”,而不是“我不知道那個安裝包”,儘管後者也可以被視為相關的回覆。我們稱之為具體化需求的場景。在另一種情況下,如聊天機器人,用戶希望在與對話系統的互動中獲得樂趣。因此,所產生的回覆應該是多樣的,以吸引不同的用戶。例如用戶提問“可以推薦我一個旅遊城市嗎?”,如果用戶喜歡壯麗的山川河流,機器人最好回覆“你可能會喜歡伯爾尼納的列車開往阿爾卑斯山”。而如果用戶喜歡文學,最好回覆“巴黎是一個美麗的充滿文藝氣息的城市”。機器應該具有這種可以生成多樣回覆的能力。這種場景被稱為多樣化需求場景。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

2 模型

目前的Seq2Seq(Sutskever etal.,2014)模型傾向於生成通用回覆,如“我不知道”和“這是什麼意思?”(Li et al., 2016a,b; Zhou et al., 2017),但不能滿足不同對話場景的需求。本質上,對話是一種典型的一對多的問題,即一個post可以由多個具有不同語義的回覆作為回答。這意味著有各種各樣的post-responses匹配的訓練數據。 Seq2Seq優化了平均似然,所以它只能捕獲最常見的匹配模式,導致容易產生通用的回覆。本文的目的是提出兩種為不同的對話場景定製的Seq2Seq模型優化策略,即具體化需求的場景和多樣性需求的場景。這其中的關鍵點是如何捕捉所需的post-response匹配模式。

對於具體化需求場景,我們定義最大生成似然作為目標,有了這個標準,我們只需要優化一個接近真實的答案,而不是求平均。給定post,它的ground-truth的回覆包括{

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

},優化的函數定義為:

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

其中

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

是X對應的回覆的個數。使用上述優化函數,通過softmax的方式對數據點進行深度優化。

對於多樣化需求的場景,可以將條件風險價值(CVaR)作為目標策略。CVaR作為一種風險敏感的策略,被廣泛應用於金融領域(Rockafellar and Uryasev, 2002; Alexander et al., 2006; Chen et al., 2015)。以CVaR作為目標函數,選取未優化好的1-α比例的post-response數據對兒,進行深層次的優化,因此多樣的post-response匹配模式可以被捕捉到,並且模型有能力產生不同的回覆。給定post,它的ground-truth的回覆包括{

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

},優化的函數定義為:

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

模型更多的關注於那些還沒有訓練好的數據點,進行更深層的訓練。最終會使得生成各個數據點的可能性都比較大,提高生成的多樣性。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

3 實驗

我們使用公開數據集來評估我們提出的模型。 對於具體化需求的場景,我們在Ubuntu對話數據集(Ubuntu服務場景)上的實驗表明,MGL模型比傳統Seq2Seq模型可以產生更具體和準確的回覆。針對多樣性需求情景,中文微博數據集(社交聊天機器人場景)上的實驗表明,與Seq2Seq及其變體相比,優化CVaR會產生更多樣的回覆。

對於具體化需求場景,表1顯示了自動評價指標的結果。結果顯示,MGL模型可以獲得更高的distinct值,並且BLEU和PPL也優於baseline模型。因此MGL可以生成更具體化的回覆。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

人工評價評分規則如下:

1 分表示邏輯錯誤或不相關

2 分表示通用回覆

3 分表示相關

從表2的結果可以看到MGL模型獲得了更好的人工評分,生成更相關的回覆。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

表3展示了一些生成的case,可以看出MGL模型可以生成更多的有趣和具體的回覆。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

對於多樣性需求場景,表4顯示了自動評價指標的結果。我們計算beam size=10的情況下,每個模型生成的回覆內部的相似度和重疊度作為該模型生成多樣性回覆的能力評價。評價標準如下:

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

結果顯示,CVaR模型可以獲得更低的divrs和overlap值。因此CVaR生成多樣性回覆的能力優於其他baseline模型。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

表5展示了人工評價的結果,可以看到MGL模型獲得了更好的人工評分,這是因為人工評價的準則是相關性評價,因此更加強調了MGL可以生成更相關的回覆的效果。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型

表6展示了一些生成的case,可以看出baseline模型生成的回覆的主題比較單一,但是CVaR模型可以生成更多的主題回覆,更有趣和多樣。

ACL2018|中科院計算所:根據不同的對話場景定製序列到序列模型


分享到:


相關文章: