當前位置:
首頁 > 知識 > 對話系統中的口語理解(一)

對話系統中的口語理解(一)

本文原載於微信公眾號:AI部落聯盟(AI_Tribe)AI研習社經授權轉載。歡迎關注AI部落聯盟 微信公眾號、知乎專欄 AI部落、及AI研習社博客專欄

自然語言理解(NLU)就是要獲得一個計算機能直接使用的語義表示,比如Distributional semantics、Frame semantics、Model-theoretic semantics等,本文採用的是frame semantics。NLU在很多NLP領域或任務都有涉及,比如問答、信息檢索、閱讀理解、對話系統以及很多需要NLG的任務(一般需要先理解才能生成)等。不同任務下的NLU也不一樣,今天我們簡單來聊聊對話系統中的NLU。

先來說下大概的規劃,因為SLU內容較多,所以打算分3次寫。第1次寫領域分類和意圖識別,第2次寫槽填充,第三次寫Structural LU、Contextual LU、各種NLU方法的對比以及評測標準,感興趣的可以期待一下。

1. 簡介

對話系統按功能來劃分的話,分為閑聊型、任務型、知識問答型和推薦型。在不同類型的聊天系統中,NLU也不盡相同。

1.1. 閑聊型對話中的NLU就是根據上下文進行意圖識別、情感分析等, 並作為對話管理(DM)的輸入;

1.2.任務型對話中的NLU就是領域分類和意圖識別、槽填充。他的輸入是用戶的輸入Utterance,輸出是Un=(In, Zn), In是intention,Zn是槽植對。如果不太明白,可以看看我之前發的文章「任務型對話系統公式建模&&實例說明」。

1.3.知識問答型對話中的NLU主要是根據用戶的問題,進行問句類型識別與問題分類,以便於更精準的進行信息檢索或文本匹配而生成用戶需要的知識(知識、實體、片段等)。

1.4.推薦型對話系統中的NLU就是根據用戶各種行為數據和愛好進行興趣匹配,以便於找到更精準的推薦候選集。

2. 主要方法

先來看看我匯總的任務型對話系統中的NLU之Domain/Intent Classification。

下面分別介紹下對話系統中不同Domain/Intent Classification技術。

2.1.傳統方法:SVM、MaxEnt 。

這個就是用傳統的SVM或MaxEnt,模型方面就是傳統的MaxEnt或SVM(幾個不同變種、幾種不同核函數等),特徵主要就是用戶的輸入Utterance的句法、詞法、詞性等特徵,分類的label集合是事先確定的,這方面paper也不少,不過比較久遠了。相信大家都懂,不再贅述。

2.2.DBN-Based(Sarikaya et al., 2011)

這種方法基於Deep belief network,它是一種生成模型,由多個限制玻爾茲曼機(Restricted Boltzmann Machines)層組成,被「限制」為可視層和隱層,層間有連接,但層內的單元間不存在連接。隱層單元被訓練去捕捉在可視層表現出來的高階數據的相關性。

具體到這篇論文,主要思路:無監督訓練權重,然後用BP做Fine-tuning。另外,還對比了與SVM、最大熵、boosting的效果。

2.3.DCN-Based (Tur et al., 2012)

這是一種基於Deep convex network(一種可擴展的模式分類體系結構)做NLU,具體可以參考Li Deng大牛在2011的Interspeech的paper。

這個工作的主要思路:用n-grams對用戶的Utterance做特徵選擇,然後把簡單的分類器做Stacking,Stacking跟Bagging與Boosting一樣,也是一種ensemble的方法。Stacking指訓練一個模型用於組合其他各個模型,在這裡相當於二次分類。首先訓練多個不同的模型,然後把訓練的各個模型的輸出作為輸入來訓練一個模型以得到最終輸出。

另外,基於DCN的方法還被擴展到kernel-DCN(Deng et al., 2012).

2.4.RNN-Based (Ravuri et al., 2015)

這種方法使用了RNN和LSTM,模型方面不用贅述了吧,都爛大街了。最終結論是,輸入完所有詞再進行意圖分類效果更好。

2.5.RNN+CNN based(Lee et al,2016)

這個方法是用RNN+CNN做對話的act分類,提出了基於RNN和CNN並融合preceding short texts的模型。短文本如果出現在一個序列中,使用preceding short texts可能提高分類效果,這就是本文的最大的動機和創新點,事實證明也確實達到了SOTA的效果。

本文的兩部分:使用RNN/CNN把短文本變成向量表示,基於文本的向量表示和preceding short texts做act分類。

另外,還有rule-based的方法做Domain/Intent Classification,比如CFG、JSGF,感興趣的可以看看。基於RNN的細分的話,還有RCNN(Lai et al., 2015)和C-LSTM(Zhou et al., 2015)兩種方法,

3.本文涉及到的論文

以上是我關於對話NLU中Domain/Intent Classification的一些總結。下面貼出了一些代表性的paper,大家可以深入學習。另外,如果看完論文還是不太懂的歡迎微信找我討論。

3.1 Deep belief nets (DBN)

Deep belief nets for natural language call-routing,Sarikaya et al., 2011

3.2 Deep convex networks (DCN)

Towards deeper understanding: Deep convex networks for semantic utterance classification,Tur et al., 2012

3.3 Extension to kernel-DCN

Use of kernel deep convex networks and end-to-end learning for spoken language understanding,Deng et al., 2012

3.4 RNN and LSTMs

Recurrent Neural Network and LSTM Models for Lexical Utterance Classification,Ravurietal., 2015

3.5 RNN and CNNs

Sequential Short-Text Classification with Recurrent and Convolutional Neural Networks,Leeet al,2016NAACL


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

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


請您繼續閱讀更多來自 AI研習社 的精彩文章:

優化函數耗時的問題
AutoML工程實踐與大規模行業應用

TAG:AI研習社 |