想了解任務型對話機器人,咱們先從天然語言理解聊起

摘要:本文中主要介紹對話系統中的天然語言理解模塊(NLU),NLU是對話系統中很是重要的一個模塊,主要包括意圖識別和槽位填充。

1、引言

隨着移動互聯網和智能終端的快速發展,任務型對話機器人的應用愈來愈普遍。任何一款成熟的對話機器人產品都離不開任務型對話系統。目前,對於任務型對話系統工業界主流的作法都是採用一套較爲固定的pipline方式實現。具體的流程圖以下:網絡

整個pipline由三大模塊組成:天然語言理解(NLU);對話管理(DM);天然語言生成(NLG)。如今愈來愈多的產品還融入了知識庫,主要是在對話管理模塊引入。在這裏天然語言理解、對話管理、天然語言生成都屬於天然語言處理技術。在語音會話時,會在輸入和輸出端加上語音識別(ASR)和語音合成(TTS)。天然語言理解(NLU):主要做用是對用戶輸入的句子或者語音識別的結果進行處理,提取用戶的對話意圖以及用戶所傳遞的信息。性能

對話管理(DM):對話管理分爲兩個子模塊,對話狀態追蹤(DST)和對話策略學習(DPL),其主要做用是根據NLU的結果來更新系統的狀態,並生成相應的系統動做。學習

天然語言生成(NLG):將DM輸出的系統動做文本化,用文本的形式將系統的動做表達出來。編碼

以上每一個模塊在學術界都對應着一個研究領域,本文中主要介紹對話系統中的天然語言理解模塊(NLU),NLU是對話系統中很是重要的一個模塊,主要包括意圖識別和槽位填充。下面將介紹意圖識別和槽位填充的概念以及近幾年用於意圖識別和槽位填充的主流方法。3d

2、意圖識別和槽位填充概念

(1)意圖識別

意圖識別,顧名思義就是判斷用戶要作什麼,好比一個用戶向機器人問了一個問題,因而機器人就須要判斷這個用戶他問的是天氣、是旅遊仍是問某部電影的信息呢?說到底意圖識別就是一個文本分類的問題。既然對應文本分類,那麼首先就須要將明確有哪幾類意圖,也就是說咱們須要預先定義好意圖的類別而後才能考慮意圖識別的問題。那麼如何定義意圖類別呢,它不像情感分類任務那樣,無論什麼場景,都能劃分紅積極、消極和中立情感三分類;咱們講意圖分類是須要將其置於特定的場景中來考慮的,不一樣應用場景就有不一樣的意圖分類。好比在美團APP上,它把用戶的搜索意圖分爲訂外賣、訂酒店、訂旅遊門票、訂電影票、訂機票等類別。code

(2)槽位填充

理解一段文字的一種方法是標記出對句子有意義的詞或記號。在天然語言處理領域,這個問題被稱爲語義槽填充問題。orm

在對話系統中,槽填充過程通常指從用戶一句話中抽取出關鍵信息,將用戶隱式的意圖轉化爲顯式的指令從而讓計算機理解。語義槽通常用來表示用戶的需求,如出發地、到達地、出發時間等信息,做爲意圖識別的關鍵字,是進行下一步對話的提示信息。blog

在對話系統中,填槽的意義有兩個,一個是做爲條件分支進行多輪對話,還有一個是做爲信息補全更明確的表達出用戶的意圖。換言之,填槽不只是補全用戶意圖的方式,並且前序槽位的填寫還會起到指導後續信息補全走向的做用。token

3、意圖識別和槽位填充方法

關於意圖識別和槽值填充既能夠做爲兩個單獨的任務處理,也能夠聯合處理。因爲兩個任務之間的存在較大的相關性(意圖和槽值之間有相關性),所以聯合建模的效果通常會更好。接下來咱們將介紹一些相關的論文方法。ip

論文1:A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding

(1)概述

該文章爲針對SLU(Spoken Language Understanding)的意圖-槽填充聯合模型,文章的出色之處在於提供了一個同時在文本分類和文本標記兩個nlp基本任務中都取得卓越成績的基於RNNs的聯合模型。循環神經網絡(RNNs),在文本分類任務中被證實可取得較好的結果。因爲意圖識別和槽填充有至關的聯繫,因此論文做者提出一個適合於兩種任務的聯合模型。

在文中,做者採用了RNNs的改進版門控循環神經網絡(GRU),GRU具備隨着時序學習每一個詞(token)的表徵的特性,經過這個特性能夠預測每一個插槽,同時,一個max-pooling層能夠捕捉句子的全局特徵從而實現意圖識別。GRU捕捉到的每一個token的特徵和max-pooling層捕捉的句子全局特徵是被兩個任務所共享的,譬如,假如一句話的意圖是找到一個航班,那麼他更有可能有出發以及目的城市,反之亦然。實驗證實了聯合模型比分開的每一個模型效果都要更好一些。文章選用了United loss function做爲策略,實驗結果證實了該篇論文在兩個任務中都取得了state-of-the-art的結果。

(2)模型結構

(3)定義損失

(4)模型結果

實驗結果展現以下,第二列是每一個方法使用的特徵,其中,W,N和S分別表明單詞、命名實體和語義特徵,在CQUD數據集中,W表明每個中文字特徵表示。能夠看到CRF的結果比SVM好,代表CRF更加適合序列標註任務。另外,RNN戰勝了CRF,由於RNN能夠捕捉長依賴關係。而R-CRF模型結合了RNN和CRF模型的優勢,能夠模擬標籤轉移和獲得整個序列的全局的優勢。對於填槽任務來講,sentence simplification是最好的辦法,它使用了依存分析來提取句中關鍵詞。RecNN使用dl提取的語義信息,可是他的效果比sentence simplification更差,做者認爲可能的緣由是語料的規模不夠大。總的來講,論文在ID和SF領域分別提高了1.59%和1.24%的準確率。

聯合模型和分開的模型的對比:

論文2:Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling

(1)概述

這篇文章主要介紹了使用Attention-Based RNN模型識別意圖和槽填充(slot filling)。意圖識別一般使用分類的方法將句子分爲相應的意圖種類。槽填充則能夠看作是序列標註問題,即對於給定的句子中的每一個詞分別打上相應的標籤。例如句子「first/class/fares/from/boston/to/denver.」,每一個詞對應的標籤爲」B-class_type/I-class_type/O/O/B-fromloc/B-toloc」。槽填充既能夠用RNN模型也能夠用encoder-dedoder 模型解決。即源輸入是句子序列,目標輸出則是標註序列,同時意圖識別也能夠用encoder-dedoder 模型解決。即源輸入是句子序列,目標輸出則是意圖種類。可是對與槽填充來講,句子與相應的標籤是一 一對應的,也就是說有「explicit alignment」。做者提出了兩種模型,一種是將「alignment information」加入到encoder-dedoder 模型中,另外一種就是將「alignment information」和」attention「加入到RNN模型中來解決槽填充和意圖識別問題。

(2)聯合模型

聯合意圖識別和槽位填充的基於注意力的RNN模型以下圖所示:

在用於序列標記的雙向RNN中,每一個時間步的隱藏狀態都攜帶整個序列的信息,可是信息可能會隨着向前和向後傳播而逐漸丟失。所以,在進行時槽位預測時,咱們不只但願在每一個步驟中僅使用對齊的隱藏狀態,還但願查看是否使用上下文向量爲咱們提供了任何其餘支持信息,尤爲是那些須要長期依賴的信息未被隱藏狀態徹底捕獲。

在模型中,雙向RNN(BiRNN)沿正向和反向讀取源序列。文章中RNN採用了長短時記憶網絡(LSTM)。插槽標籤依賴關係在前向RNN中建模。相似於上述編碼器-解碼器體系結構中的編碼器模塊,每一個步驟的隱藏狀態是前向狀態和後向狀態的串聯。每一個隱藏狀態都包含整個輸入單詞序列的信息,並重點關注單詞周圍的部分。而後將此隱藏狀態與上下文向量組合以產生標籤分佈,其中上下文向量計算爲RNN隱藏狀態的加權平均值。

對於意圖識別和槽填充的聯合建模,文中採用雙向RNN的隱藏狀態來生成意圖類分佈。不加入注意力機制時,先對隱藏狀態向量最大池化,而後輸入到邏輯迴歸中來進行意圖分類。加入注意力機制時,則取得隱藏狀態向量加權平均值。

值得注意的是,與利用顯式對齊輸入的基於注意力的編碼器/解碼器模型相比,基於注意力的RNN模型具備更高的計算效率。在模型訓練期間,編碼器-解碼器插槽填充模型兩次讀取輸入序列,而基於注意力的RNN模型只讀取一次輸入序列。

(3)實驗結果

表1顯示了提出模型的槽填充F1分數。表2將槽填充模型性能與先前報告的結果進行了比較。

表3顯示了文章提出的意圖模型和先前方法之間的意圖分類錯誤率。

表4顯示了與先前報告的結果相比,在乎圖檢測和槽填充方面的聯合訓練模型性能。

進一步驗證聯合訓練模型的性能,文章將提出的模型應用於其餘ATIS數據集,並經過10倍交叉驗證對它們進行評估。編碼器-解碼器和基於注意力的RNN方法均取得了可喜的結果。

【參考】

[1] Zhang X, Wang H. A joint model of intent determination and slot filling for spoken language understanding[C]//IJCAI. 2016, 16: 2993-2999.

[2] Liu, B., & Lane, I. (2016). Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling. Interspeech.

[3] https://www.jianshu.com/p/cec045c55175?utm_campaign=haruki

[4] https://zhuanlan.zhihu.com/p/92909762

本文分享自華爲雲社區《任務型對話機器人之天然語言理解(一)》,原文做者:小蜜蜂~ 。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索