讀懂智慧對話系統(1)任務導向型對話系統

Naturali奇點機智發表於2018-11-23

京東資料團隊曾經出了一片關於對話系統的論文《A Survey on Dialogue Systems:Recent Advances and New Frontiers(智慧對話系統調查:前沿與進展)》,全文引用了124篇論文,是一篇綜合全面的介紹對話系統的文章。

論文原文地址:

https://www.kdd.org/exploration_files/19-2-Article3.pdf

公眾號“機器學習演算法全棧工程師”對這篇論文的內容進行了解讀,主要概述了對話系統,尤其是對話系統在深度學習方面的進展,還討論了可能的研究方向。以下是主要架構:

讀懂智慧對話系統(1)任務導向型對話系統

奇點機智對這篇文章進行了進一步的拆解,分成四篇文章來介紹智慧對話系統。

讀懂智慧對話系統(1)任務導向型對話系統

讀懂智慧對話系統(2)聊天機器人

讀懂智慧對話系統(3)對話系統的未來發展


來源:機器學習演算法全棧工程師

作者:蒙康

任務導向型對話系統

擁有一個虛擬助理或一個擁有足夠智慧的聊天夥伴系統似乎是虛幻的,而且可能只在科幻電影中存在很長一段時間。近年來,人機對話因其潛在的潛力和誘人的商業價值而受到越來越多研究者的關注。

隨著大資料和深度學習技術的發展,建立一個自動的人機對話系統作為我們的私人助理或聊天夥伴,將不再是一個幻想。
當前,對話系統在各個領域越來越引起人們的重視,深度學習技術的不斷進步極大地推動了對話系統的發展。對於對話系統,深度學習技術可以利用大量的資料來學習特徵表示和回覆生成策略,這其中僅需要少量的手工操作。

現如今,我們可以很容易地訪問網路上對話的“大資料”,我們也許能夠學習如何回覆,以及如何回覆幾乎任何的輸入,這將極大地允許我們在人類和計算機之間建立資料驅動的、開放的對話系統。

另一方面,深度學習技術已經被證明是有效的,可以在大資料中捕獲複雜的模式,並擁有大量的研究領域,如計算機視覺、自然語言處理和推薦系統等。在本文中,作者從不同的角度對這些最近的關於對話系統的進展進行概述,並討論了一些可能的研究方向。
具體來說,對話系統大致可分為兩種:

  • 任務導向型(task-oriented)對話系統

  • 非任務導向型(non-task-oriented)對話系統(也稱為聊天機器人)

面向任務的對話系統是對話系統的一個重要分支。在這部分中,作者總結了面向任務的對話系統的管道方法端到端方法


管道(pipeline)方法

640?wx_fmt=png任務導向型對話系統的典型結構在之前的圖中已經展示,它包括四個關鍵組成部分:

  • 自然語言理解(Natural Language Understanding,NLU)

它將使用者輸入解析為預定義的語義槽。

如果有一個話語,自然語言理解將其對映為語義槽。插槽是根據不同的場景預先定義的。 

640?wx_fmt=png

上圖展示了一個自然語言表示的示例,其中“New York”是指定為slot值的位置,並且分別指定了域和意圖。典型的,有兩種型別的表示。一個是話語層次類別,如使用者的意圖和話語類別。另一個是字級資訊提取,如命名實體識別和槽填充。對話意圖檢測是為了檢測使用者的意圖。它將話語劃分為一個預先定義的意圖。 

  • 對話狀態跟蹤(Dialogue State Tracker,DST)

對話狀態跟蹤是確保對話系統健壯性的核心元件。它在對話的每一輪次對使用者的目標進行預估,管理每個回合的輸入和對話歷史,輸出當前對話狀態。這種典型的狀態結構通常稱為槽填充或語義框架。傳統的方法已經在大多數商業實現中得到了廣泛的應用,通常採用手工規則來選擇最有可能的輸出結果。然而,這些基於規則的系統容易出現頻繁的錯誤,因為最可能的結果並不總是理想的。
最近深度學習採用的方法是使用一個滑動視窗輸出任意數量的可能值的概率分佈序列。雖然它在一個領域受過訓練,但它可以很容易地轉移到新的領域。此處運用較多的模型是,multi-domain RNN dialog state tracking models和Neural Belief Tracker (NBT) 。 

  • 對話策略學習(Dialogue policy learning)

策略學習根據狀態跟蹤器的狀態表示生成下一個可用的系統操作。無論是監督學習還是強化學習都可以用來優化政策學習。監督學習是針對規則產生的行為進行的,在線上購物場景中,如果對話狀態是“推薦”,那麼觸發“推薦”操作,系統將從產品資料庫中檢索產品。強化學習方法的引入可以對對話策略進行進一步的訓練,以引導系統制定最終的策略。在實際實驗中,強化學習方法的效果超過了基於規則和監督的方法。 

  • 自然語言生成(Natural Language Generation,NLG)

選擇操作進行對映並生成回覆。
一個好的生成器通常依賴於幾個因素:適當性、流暢性、可讀性和變化性。傳統的NLG方法通常是執行句子計劃。它將輸入語義符號對映到代表話語的中介形式,如樹狀或模板結構,然後通過表面實現將中間結構轉換為最終響應。深度學習比較成熟的方法是基於LSTM的encoder-decoder形式,將問題資訊、語義槽值和對話行為型別結合起來生成正確的答案。同時利用了注意力機制來處理對解碼器當前解碼狀態的關鍵資訊,根據不同的行為型別生成不同的回覆。 

端到端(end-to-end)方法

儘管傳統的面向任務的對話系統中有許多特定領域的手工製作,但它們很難適應新的領域,近年來,隨著端到端神經生成模型的發展,為面向任務的對話系統構建了端到端的可訓練框架。值得注意的是,當我們引入非面向任務的對話系統時,將討論關於神經生成模型的更多細節。與傳統的管道模型不同,端到端模型使用一個模組,並與結構化的外部資料庫互動。 

640?wx_fmt=png

上圖的模型是一種基於網路的端到端可訓練任務導向型對話系統,將對話系統的學習作為學習從對話歷史到系統回覆的對映問題,並應用encoder-decoder模型來訓練。然而,該系統是在監督的方式下進行訓練——不僅需要大量的訓練資料,而且由於缺乏對訓練資料對話控制的進一步探索,它也可能無法找到一個好的策略。 

640?wx_fmt=png

隨著強化學習研究的不斷深入,上圖的模型首先提出了一種端到端強化學習的方法,在對話管理中聯合訓練對話狀態跟蹤和對話策略學習,從而更有力地對系統的動作進行優化。

相關文章