京東數(shù)據(jù)團(tuán)隊曾經(jīng)出了一片關(guān)于對話系統(tǒng)的論文《A Survey on Dialogue Systems:Recent Advances and New Frontiers(智能對話系統(tǒng)調(diào)查:前沿與進(jìn)展)》,全文引用了124篇論文,是一篇綜合全面的介紹對話系統(tǒng)的文章。
論文原文地址:
https://www.kdd.org/exploration_files/19-2-Article3.pdf
公眾號“機(jī)器學(xué)習(xí)算法全棧工程師”對這篇論文的內(nèi)容進(jìn)行了解讀痛侍,主要概述了對話系統(tǒng)鲫趁,尤其是對話系統(tǒng)在深度學(xué)習(xí)方面的進(jìn)展磷杏,還討論了可能的研究方向吏饿。以下是主要架構(gòu):
奇點機(jī)智對這篇文章進(jìn)行了進(jìn)一步的拆解,分成四篇文章來介紹智能對話系統(tǒng)憋活。
讀懂智能對話系統(tǒng)(1)任務(wù)導(dǎo)向型對話系統(tǒng)
讀懂智能對話系統(tǒng)(3)對話系統(tǒng)的未來發(fā)展
來源:機(jī)器學(xué)習(xí)算法全棧工程師
作者:蒙康
任務(wù)導(dǎo)向型對話系統(tǒng)
擁有一個虛擬助理或一個擁有足夠智能的聊天伙伴系統(tǒng)似乎是虛幻的,而且可能只在科幻電影中存在很長一段時間虱黄。近年來悦即,人機(jī)對話因其潛在的潛力和誘人的商業(yè)價值而受到越來越多研究者的關(guān)注。
隨著大數(shù)據(jù)和深度學(xué)習(xí)技術(shù)的發(fā)展橱乱,創(chuàng)建一個自動的人機(jī)對話系統(tǒng)作為我們的私人助理或聊天伙伴辜梳,將不再是一個幻想。
當(dāng)前泳叠,對話系統(tǒng)在各個領(lǐng)域越來越引起人們的重視作瞄,深度學(xué)習(xí)技術(shù)的不斷進(jìn)步極大地推動了對話系統(tǒng)的發(fā)展。對于對話系統(tǒng)析二,深度學(xué)習(xí)技術(shù)可以利用大量的數(shù)據(jù)來學(xué)習(xí)特征表示和回復(fù)生成策略粉洼,這其中僅需要少量的手工操作。
現(xiàn)如今叶摄,我們可以很容易地訪問網(wǎng)絡(luò)上對話的“大數(shù)據(jù)”属韧,我們也許能夠?qū)W習(xí)如何回復(fù),以及如何回復(fù)幾乎任何的輸入蛤吓,這將極大地允許我們在人類和計算機(jī)之間建立數(shù)據(jù)驅(qū)動的宵喂、開放的對話系統(tǒng)。
另一方面会傲,深度學(xué)習(xí)技術(shù)已經(jīng)被證明是有效的锅棕,可以在大數(shù)據(jù)中捕獲復(fù)雜的模式,并擁有大量的研究領(lǐng)域淌山,如計算機(jī)視覺裸燎、自然語言處理和推薦系統(tǒng)等。在本文中泼疑,作者從不同的角度對這些最近的關(guān)于對話系統(tǒng)的進(jìn)展進(jìn)行概述德绿,并討論了一些可能的研究方向。
具體來說,對話系統(tǒng)大致可分為兩種:
- 任務(wù)導(dǎo)向型(task-oriented)對話系統(tǒng)
- 非任務(wù)導(dǎo)向型(non-task-oriented)對話系統(tǒng)(也稱為聊天機(jī)器人)
面向任務(wù)的對話系統(tǒng)是對話系統(tǒng)的一個重要分支移稳。在這部分中蕴纳,作者總結(jié)了面向任務(wù)的對話系統(tǒng)的管道方法和端到端方法。
管道(pipeline)方法
任務(wù)導(dǎo)向型對話系統(tǒng)的典型結(jié)構(gòu)在之前的圖中已經(jīng)展示个粱,它包括四個關(guān)鍵組成部分:
- 自然語言理解(Natural Language Understanding古毛,NLU)
它將用戶輸入解析為預(yù)定義的語義槽。
如果有一個話語都许,自然語言理解將其映射為語義槽稻薇。插槽是根據(jù)不同的場景預(yù)先定義的。
上圖展示了一個自然語言表示的示例梭稚,其中“New York”是指定為slot值的位置颖低,并且分別指定了域和意圖。典型的弧烤,有兩種類型的表示忱屑。一個是話語層次類別,如用戶的意圖和話語類別暇昂。另一個是字級信息提取莺戒,如命名實體識別和槽填充。對話意圖檢測是為了檢測用戶的意圖急波。它將話語劃分為一個預(yù)先定義的意圖从铲。
- 對話狀態(tài)跟蹤(Dialogue State Tracker,DST)
對話狀態(tài)跟蹤是確保對話系統(tǒng)健壯性的核心組件澄暮。它在對話的每一輪次對用戶的目標(biāo)進(jìn)行預(yù)估名段,管理每個回合的輸入和對話歷史,輸出當(dāng)前對話狀態(tài)泣懊。這種典型的狀態(tài)結(jié)構(gòu)通常稱為槽填充或語義框架伸辟。傳統(tǒng)的方法已經(jīng)在大多數(shù)商業(yè)實現(xiàn)中得到了廣泛的應(yīng)用,通常采用手工規(guī)則來選擇最有可能的輸出結(jié)果馍刮。然而信夫,這些基于規(guī)則的系統(tǒng)容易出現(xiàn)頻繁的錯誤,因為最可能的結(jié)果并不總是理想的卡啰。
最近深度學(xué)習(xí)采用的方法是使用一個滑動窗口輸出任意數(shù)量的可能值的概率分布序列静稻。雖然它在一個領(lǐng)域受過訓(xùn)練,但它可以很容易地轉(zhuǎn)移到新的領(lǐng)域匈辱。此處運(yùn)用較多的模型是振湾,multi-domain RNN dialog state tracking models和Neural Belief Tracker (NBT) 。
- 對話策略學(xué)習(xí)(Dialogue policy learning)
策略學(xué)習(xí)根據(jù)狀態(tài)跟蹤器的狀態(tài)表示生成下一個可用的系統(tǒng)操作亡脸。無論是監(jiān)督學(xué)習(xí)還是強(qiáng)化學(xué)習(xí)都可以用來優(yōu)化政策學(xué)習(xí)押搪。監(jiān)督學(xué)習(xí)是針對規(guī)則產(chǎn)生的行為進(jìn)行的佛南,在在線購物場景中,如果對話狀態(tài)是“推薦”嵌言,那么觸發(fā)“推薦”操作,系統(tǒng)將從產(chǎn)品數(shù)據(jù)庫中檢索產(chǎn)品及穗。強(qiáng)化學(xué)習(xí)方法的引入可以對對話策略進(jìn)行進(jìn)一步的訓(xùn)練摧茴,以引導(dǎo)系統(tǒng)制定最終的策略。在實際實驗中埂陆,強(qiáng)化學(xué)習(xí)方法的效果超過了基于規(guī)則和監(jiān)督的方法苛白。
- 自然語言生成(Natural Language Generation,NLG)
選擇操作進(jìn)行映射并生成回復(fù)焚虱。
一個好的生成器通常依賴于幾個因素:適當(dāng)性购裙、流暢性、可讀性和變化性鹃栽。傳統(tǒng)的NLG方法通常是執(zhí)行句子計劃躏率。它將輸入語義符號映射到代表話語的中介形式,如樹狀或模板結(jié)構(gòu)民鼓,然后通過表面實現(xiàn)將中間結(jié)構(gòu)轉(zhuǎn)換為最終響應(yīng)薇芝。深度學(xué)習(xí)比較成熟的方法是基于LSTM的encoder-decoder形式,將問題信息丰嘉、語義槽值和對話行為類型結(jié)合起來生成正確的答案夯到。同時利用了注意力機(jī)制來處理對解碼器當(dāng)前解碼狀態(tài)的關(guān)鍵信息,根據(jù)不同的行為類型生成不同的回復(fù)饮亏。
端到端(end-to-end)方法
盡管傳統(tǒng)的面向任務(wù)的對話系統(tǒng)中有許多特定領(lǐng)域的手工制作耍贾,但它們很難適應(yīng)新的領(lǐng)域,近年來路幸,隨著端到端神經(jīng)生成模型的發(fā)展荐开,為面向任務(wù)的對話系統(tǒng)構(gòu)建了端到端的可訓(xùn)練框架。值得注意的是劝赔,當(dāng)我們引入非面向任務(wù)的對話系統(tǒng)時誓焦,將討論關(guān)于神經(jīng)生成模型的更多細(xì)節(jié)。與傳統(tǒng)的管道模型不同着帽,端到端模型使用一個模塊杂伟,并與結(jié)構(gòu)化的外部數(shù)據(jù)庫交互。
上圖的模型是一種基于網(wǎng)絡(luò)的端到端可訓(xùn)練任務(wù)導(dǎo)向型對話系統(tǒng)仍翰,將對話系統(tǒng)的學(xué)習(xí)作為學(xué)習(xí)從對話歷史到系統(tǒng)回復(fù)的映射問題赫粥,并應(yīng)用encoder-decoder模型來訓(xùn)練。然而予借,該系統(tǒng)是在監(jiān)督的方式下進(jìn)行訓(xùn)練——不僅需要大量的訓(xùn)練數(shù)據(jù)越平,而且由于缺乏對訓(xùn)練數(shù)據(jù)對話控制的進(jìn)一步探索频蛔,它也可能無法找到一個好的策略。
隨著強(qiáng)化學(xué)習(xí)研究的不斷深入秦叛,上圖的模型首先提出了一種端到端強(qiáng)化學(xué)習(xí)的方法晦溪,在對話管理中聯(lián)合訓(xùn)練對話狀態(tài)跟蹤和對話策略學(xué)習(xí),從而更有力地對系統(tǒng)的動作進(jìn)行優(yōu)化挣跋。