ACL2017 對話交互系統論文速覽(一)
最近因研究需要讀大量的論文,ACL2017在Dialog Interactive Systems子類下接收了13篇論文,除去之前介紹的3篇,將用兩篇筆記對個人感興趣的8篇論文做一個概覽。
1.《Chat Detection in an Intelligent Assistant: Combining Task-oriented and Non-task-oriented Spoken Dialogue Systems》
傳統的對話系統里有Intent determination 和 domain determination。前一個用在單領域的任務導向性對話系統,用來決定用戶在對話中尋找的信息類型;第二個用在多領域的開放式對話系統,用來決定用戶的對話內容屬於哪一個領域。和這兩個任務不同,論文提出了新的問題:chat detection。簡單的說,就是在結合了Task-oriented和Non-task-oriented的對話系統中,檢測用戶的交互是想聊天,還是僅僅是一個命令。比如用戶說,「狗蛋,幫我設定明天7點的鬧鐘!」,明顯就是發出命令,系統如果掌握了所有信息,就不應該和用戶過多的嘮叨,引起用戶反感;而用戶說,「狗蛋,你喜歡幹啥?」,就包含了與機器人對話的興趣,系統可以使勁和用戶聊天交互。這樣的對話系統,因為有了chat detection, 可以自由地在task和Non-task中切換,進而提升用戶體驗。這個問題源於業界智能助手越來越多,chatbot兼備了任務交互和開放式聊天的功能。
論文用的baseline分類器是SVM,用的特徵是字元特徵,n-gram 詞向量和下面的三個打分。第二個分類器是CNN網路,在文本分類中很常見的一種網路架構。先卷積,在max-pooling,最後是softmax層,非線性激活函數用的ReLU。下圖中涉及的三個打分,Tweet GRU和Query GRU 分別是在Tweet 對話語料和查詢 非對話語料上訓練的GRU語言模型,Query binary基於實體檢測utterance是否在網路搜索記錄中,這三個分類器會對句子進行一個打分,作為softmax層的輸入。
2.《Affect-LM: A Neural Language Model for Customizable Affective Text Generation》
如何讓對話機器人生成更具有「人情味」的回復是對話系統的難題。論文提出一種基於LSTM擴展的語言模型Affect-LM,可以生成帶有情感色彩的句子。輸入上文 ,情感類別 ,情感強度 ,模型可以輸出帶有感情色彩的句子。
一般來說,傳統的語言模型是基於鏈式規則求聯合概率:
預測詞 的條件概率:
f(.)是LSTM網路的輸出,U是詞表徵的矩陣, 是捕捉unigram共現的偏置項。
而改進的Affect-LM模型是:
是包含從情感類別信息的輸入向量, 是一個網路, 是學習出來的對i-th word的embedding,可以解釋為「情感詞向量」, 是可控的情感強度,可以從0到無窮大。可以看出,(3)比(2)多的就是包含情感類別信息的 ,這項捕捉了預測詞和輸入的情感類別之間的相關度。
3.《Adversarial Adaptation of Synthetic or Stale Data》
論文提到口語理解(SLU)中兩種數據遷移場景,導致模型在訓練和評估時產生偏差:(1)合成數據上訓練,真實環境中部署使用;(2)歷史數據學習,新的環境中使用。論文將之歸結為domain adaptation的問題,有缺陷的訓練集是source domain,評估的數據集是target domain,提出一種對抗訓練的方式。
論文提出了監督式和無監督式的領域自適應場景。開始之前,先簡要介紹下論文用到的兩層雙向LSTM編碼器:對每個詞 的每個字元 ,詞向量 ,將雙向的字元級的詞表徵和詞向量拼接, ;再以為詞表徵單元過一層BiLSTM,得到隱層狀態。編碼器記為.
領域的特徵分為三類:
- : source-specific features
- : target-specific features
- : domain-invariant features
下面介紹無監督的領域自適應的損失函數
1. Source Side Tagging loss
源領域有標籤訓練數據的模型誤差。思想是利用源領域特有特徵和跨領域不變特徵去預測標籤。
2. Reconstruction Loss
從編碼的信息中重建輸入的詞語,以此來學習源領域,目標領域,跨領域的特徵。類似上面的,先用BiLSTM編碼,然後利用隱層狀態重建,解碼器用了翻譯模型里的attention機制,為attention過後的狀態向量,負對數似然函數作為損失函數。
3. Adversarial Domain Classification Loss
領域分類的泛化誤差來源於目標領域和源領域之間的差異,衡量差別的大小用的是模型對領域的二分類錯誤率。若誤差越大,說明兩者越難辨別,極限的錯誤率是1/2,完全正確分類的錯誤率是0。訓練的目標就是,最大化模型分類的錯誤率,這就有點像GAN裡面的「生成網路」,儘可能的糊弄判別器,使之判別的準確度下降。通過這個對抗訓練,促使模型學到更多無法用於辨別領域的domain-invariant特徵。處理過程和1的相似,訓練針對的shared encoder,最後的損失函數改為正對數似然函數。
論文還提到了一種更暴力的訓練方法:隨機預測訓練,直接以0.5的概率設置領域 為source domain或target domain,損失函數也改成負對數似然函數:
4. Non-Adversarial Domain Classification Loss
這個損失函數針對的是領域相關的參數,結構和1類似,,損失函數是負對數似然函數(下面的公式粘自原文,少了一個負號?)
5. Orthogonality Loss
損失函數設計的出發點是使領域特有的特徵儘可能地和共同特徵正交互斥。
將以上5個損失函數加起來,構成總的目標函數:
監督式的領域自適應訓練,假定source 和target domain都有標註數據,在無監督DA目標函數加上一個target domain的tagging loss,就構成監督式DA的目標函數:
4. 《Domain Attention with an Ensemble of Experts》
論文來源於同一作者,主題仍然是domain adaption。。。不同於前一篇利用對抗訓練從領域特定和領域無關的特徵出發,這篇論文的解決思路比較簡單直接:先訓練K個領域的模型,作為專家系統,第K+1個目標領域運用attention組合的思想,由K個領域專家進行構建特徵。這裡的domain,在實驗中是不同的意圖,或者待抽取的槽。
先看individual model,和上一篇一模一樣,兩層BiLSTM ,包含了char-embedding和word-embedding,輸出隱層狀態 。對於意圖分類任務,是對 求和,再用一層的前饋神經網路分類,損失函數用負對數似然函數;對於slot tagging任務,隱層狀態 後面接CRF標註層,損失函數是負對數似然函數。
再看Domain Attention的框架。用上面的模型訓練好K個領域專家系統, 。當新的第K+1個領域來時,用individual model走一遍,得到feature的表徵 ;類似的,領域專家的feature表徵是 。之後是計算attention權重,論文給出了三種方式,直接點積,雙線性函數,前饋網路。之後就是熟悉的softmax歸一化,加權求和得到 。最後用attention過後的專家特徵和原始特徵拼接,得到最後的特徵
另外,論文提到一個變種:引入Label embedding,直接作為attention的對象,即為:
而另一個變種Selective attention,則是選取個專家進行組合預測。
參考文獻
[1] Combining Task-oriented and Non-task-oriented Spoken Dialogue Systems
[2] A Neural Language Model for Customizable Affective Text Generation
[3] http://pages.cs.wisc.edu/~ybkim/paper/adversarial-adaptation-synthetic.pdf
[4] http://www.karlstratos.com/publications/acl17ensemble.pdf
理解若有偏差,歡迎交流。
轉載請聯繫作者
推薦閱讀: