閱讀更多,歡迎關注公衆號:論文收割機(paper_reader)
原文鏈接:EMNLP'18 | 利用膠囊神經網絡零數據檢測用戶意圖
Xia C, Zhang C, Yan X, et al. Zero-shot user intent detection via capsule neural networks, EMNLP 2018
引言
我們之前公衆號中寫過關於膠囊網絡的系列分析,本次的推送是實驗室該文章的第一作者Congying寫的中文介紹,詳細介紹瞭如何使用膠囊神經網絡在無標註的新場景下進行用戶意圖檢測。
用戶意圖檢測是QA以及對話系統的一個重要環節。傳統的用戶意圖檢測利用標註數據在預定義好的用戶意圖上進行分類。對於新出現的用戶意圖,傳統方法需要重新收集標註數據並重新訓練模型,非常的耗時耗力。
因此,我們希望可以利用上已經訓練好的模型,在沒有新的標註數據的情況下,也可以檢測出新出現的用戶意圖。
爲了解決零數據檢測用戶意圖的問題,本文利用膠囊網絡來進行遷移學習:利用已經訓練好的用戶意圖分類器以及新舊意圖之間的關係來分類新出現的用戶意圖。
背景
隨着語音交互技術的發展,科技公司都開始研發智能語音產品,比如Google Home,AmazonAlexa,Siri,微軟小冰。
在語音交互中,理解用戶意圖是其中最基本的一項技術。現有的用戶意圖識別技術依賴大量的人工標註數據來訓練深度神經網絡。隨着產品新功能的增加,用戶意圖也會逐漸增多。對於新出現的意圖,原有的模型就無法進行識別。因此,我們會遇到在零數據的情況下進行用戶意圖識別的場景。
模型
本文提出了兩個基於膠囊網絡的模型來進行用戶意圖檢測:
-
INTENTCAPSNET
-
INTENTCAPSNET-ZSL
INTENTCAPSNET用於檢測已經出現的用戶意圖, 如獲取天氣信息(GetWeather)、 播放音樂(Play Music)等;INTENTCAPSNET-ZSL用於進行零數據用戶意圖檢測,如加入播放列表(Addto Playlist) 、評價一本書(Rate a Book)等。
在訓練的過程中,我們用在已有用戶意圖上的標註數據來訓練INTENTCAPSNET。
INTENTCAPSNET由SemanticCaps和DetectionCaps組成。其中SemanticCaps是一個multi-head self-attention的RNN模型,用於對輸入語料抽取可解釋的語義特徵。
DetectionCaps是一個膠囊網絡,利用動態路由進行已有的用戶意圖分類。
在測試時,我們利用INTENTCAPSNET-ZSL在INTENTCAPSNET的基礎上對新的用戶意圖進行分類。INTENTCAPSNET-ZSL由SemanticCaps,DetectionCaps及Zero-shotDetectionCaps三個部分組成。
SemanticCaps對新出現的語料進行語義抽取;輸入至DetectionCaps中獲得在已有用戶意圖上的路由信息;再利用新的用戶意圖與已有用戶意圖之前的相似度,將已有用戶意圖上的路由信息遷移至新的用戶意圖上。利用新的用戶意圖上的路由信息,另一個膠囊網絡Zero-shotDetectionCaps便可以利用動態路由算法進行新的用戶意圖分類。
實驗
本文在SNIPS-NLU及CVA兩個數據集上對現有用戶意圖分類及新出現的用戶意圖分類兩個任務進行了實驗。
其中,SNIPS-NLU是英文數據集,有5個已有的用戶意圖,2個新出現的用戶意圖;CVA爲中文數據集,有80個已有的用戶意圖,20個新出現的用戶意圖。
表1說明了INTENTCAPSNET在現有用戶意圖分類上超過了現有的文本分類方法;表2說明INTENTCAPSNET-ZSL在新的用戶意圖分類上超過現有的零數據文本分類方法。(具體的對實驗的詳細分析可以點擊文末閱讀原文查看)
結論
本文首次利用膠囊網絡將知識從已有的用戶意圖模型中遷移到新出現的用戶模型當中,使用膠囊網絡能夠捕捉到文本數據中的層級(hierarchical)結構信息。
同時,本文在膠囊網絡結構中利用帶有自注意力機制的RNN模型,一方面能夠獲取語句中的語義信息,另一方面,這種語義信息能夠與膠囊網絡中的動態路由相結合來提高模型的可解釋性。
往期文章:
閱讀更多,歡迎關注公衆號:論文收割機(paper_reader)
原文鏈接:EMNLP'18 | 利用膠囊神經網絡零數據檢測用戶意圖