深度前沿:对话管理模型研究最新进展
簡(jiǎn)介: 從人工智能研究的初期開始,人們就致力于開發(fā)高度智能化的人機(jī)對(duì)話系統(tǒng)。對(duì)話管理模型研究最新進(jìn)展源于前沿的深度的研究。
作者: 戴音培1、虞暉華2、蔣溢軒2、唐呈光1、李永彬1、孫健1
單位: 阿里巴巴-達(dá)摩院-小蜜Conversational AI團(tuán)隊(duì)1,康奈爾大學(xué)2
?
對(duì)話管理模型背景
從人工智能研究的初期開始,人們就致力于開發(fā)高度智能化的人機(jī)對(duì)話系統(tǒng)。艾倫·圖靈(Alan Turing)在1950年提出圖靈測(cè)試[1],認(rèn)為如果人類無(wú)法區(qū)分和他對(duì)話交談的是機(jī)器還是人類,那么就可以說機(jī)器通過了圖靈測(cè)試,擁有高度的智能。第一代對(duì)話系統(tǒng)主要是基于規(guī)則的對(duì)話系統(tǒng),例如1966年MIT開發(fā)的ELIZA系統(tǒng)[2]是一個(gè)利用模版匹配方法的心理醫(yī)療聊天機(jī)器人,再如1970年代開始流行的基于流程圖的對(duì)話系統(tǒng),采用有限狀態(tài)自動(dòng)機(jī)模型建模對(duì)話流中的狀態(tài)轉(zhuǎn)移。它們的優(yōu)點(diǎn)是內(nèi)部邏輯透明,易于分析調(diào)試,但是高度依賴專家的人工干預(yù),靈活性和可拓展性很差。
隨著大數(shù)據(jù)技術(shù)的興起,出現(xiàn)了基于統(tǒng)計(jì)學(xué)方法的數(shù)據(jù)驅(qū)動(dòng)的第二代對(duì)話系統(tǒng)(以下簡(jiǎn)稱統(tǒng)計(jì)對(duì)話系統(tǒng))。在這個(gè)階段,增強(qiáng)學(xué)習(xí)也開始被廣泛研究運(yùn)用,其中最具代表性的是劍橋大學(xué)Steve Young教授于2005年提出的基于部分可見馬爾可夫決策過程(Partially Observable Markov Decision Process , POMDP)的統(tǒng)計(jì)對(duì)話系統(tǒng)[3]。該系統(tǒng)在魯棒性上顯著地優(yōu)于基于規(guī)則的對(duì)話系統(tǒng),它通過對(duì)觀測(cè)到的語(yǔ)音識(shí)別結(jié)果進(jìn)行貝葉斯推斷,維護(hù)每輪對(duì)話狀態(tài),再根據(jù)對(duì)話狀態(tài)進(jìn)行對(duì)話策略的選擇,從而生成自然語(yǔ)言回復(fù)。POMDP-based 對(duì)話系統(tǒng)采用了增強(qiáng)學(xué)習(xí)的框架,通過不斷和用戶模擬器或者真實(shí)用戶進(jìn)行交互試錯(cuò),得到獎(jiǎng)勵(lì)得分來(lái)優(yōu)化對(duì)話策略。統(tǒng)計(jì)對(duì)話系統(tǒng)是一個(gè)模塊化系統(tǒng),它避免了對(duì)專家的高度依賴,但是缺點(diǎn)是模型難以維護(hù),可拓展性也比較受限。
近些年,伴隨著深度學(xué)習(xí)在圖像、語(yǔ)音及文本領(lǐng)域的重大突破,出現(xiàn)了以運(yùn)用深度學(xué)習(xí)為主要方法的第三代對(duì)話系統(tǒng),該系統(tǒng)依然延續(xù)了統(tǒng)計(jì)對(duì)話系統(tǒng)的框架,但各個(gè)模塊都采用了神經(jīng)網(wǎng)絡(luò)模型。由于神經(jīng)網(wǎng)絡(luò)模型表征能力強(qiáng),語(yǔ)言分類或生成的能力大幅提高,因此一個(gè)重要的變化趨勢(shì)是自然語(yǔ)言理解的模型從之前的產(chǎn)生式模型(如貝葉斯網(wǎng)絡(luò))演變成為深度鑒別式模型(如CNN、DNN、RNN)[5],對(duì)話狀態(tài)的獲取不再是利用貝葉斯后驗(yàn)判決得到,而是直接計(jì)算最大條件概率。在對(duì)話策略的優(yōu)化上大家也開始采用深度增強(qiáng)學(xué)習(xí)模型[6]。另一方面,由于端到端序列到序列技術(shù)在機(jī)器翻譯任務(wù)上的成功,使得設(shè)計(jì)端到端對(duì)話系統(tǒng)成為可能,Facebook研究者提出了基于記憶網(wǎng)絡(luò)的任務(wù)對(duì)話系統(tǒng)[4],為研究第三代對(duì)話系統(tǒng)中的端到端任務(wù)導(dǎo)向型對(duì)話系統(tǒng)提出了新的方向。總的來(lái)說,第三代對(duì)話系統(tǒng)效果優(yōu)于第二代系統(tǒng),但是需要大量帶標(biāo)注數(shù)據(jù)才能進(jìn)行有效訓(xùn)練,因此提升模型的跨領(lǐng)域的遷移拓展能力成為熱門的研究方向。
?
常見的對(duì)話系統(tǒng)可分為三類:
?自然語(yǔ)言理解(Natural Language Understanding, NLU):對(duì)用戶的文本輸入進(jìn)行識(shí)別解析,得到槽值和意圖等計(jì)算機(jī)可理解的語(yǔ)義標(biāo)簽。
?
?對(duì)話狀態(tài)跟蹤(Dialog State Tracking, DST):根據(jù)對(duì)話歷史,維護(hù)當(dāng)前對(duì)話狀態(tài),對(duì)話狀態(tài)是對(duì)整個(gè)對(duì)話歷史的累積語(yǔ)義表示,一般就是槽值對(duì)(slot-value pairs)。
?對(duì)話策略(Dialog Policy):根據(jù)當(dāng)前對(duì)話狀態(tài)輸出下一步系統(tǒng)動(dòng)作。一般對(duì)話狀態(tài)跟蹤模塊和對(duì)話策略模塊統(tǒng)稱為對(duì)話管理模塊(Dialog manager, DM)。
?自然語(yǔ)言生成(Natural Language Generation, NLG):將系統(tǒng)動(dòng)作轉(zhuǎn)換成自然語(yǔ)言輸出。
這種模塊化的系統(tǒng)結(jié)構(gòu)的可解釋性強(qiáng),易于落地,大部分業(yè)界的實(shí)用性任務(wù)型對(duì)話系統(tǒng)都采用的此結(jié)構(gòu)。但是其缺點(diǎn)是不夠靈活,各個(gè)模塊之間相對(duì)獨(dú)立,難以聯(lián)合調(diào)優(yōu),適應(yīng)變化的應(yīng)用場(chǎng)景。并且由于模塊之間的誤差會(huì)層層累積,單一模塊的升級(jí)也可能需要整個(gè)系統(tǒng)一起調(diào)整。
?
?
圖 1. 任務(wù)導(dǎo)向型對(duì)話系統(tǒng)的模塊化結(jié)構(gòu)[41]
?
任務(wù)型對(duì)話系統(tǒng)的另一種實(shí)現(xiàn)是端到端系統(tǒng),也是近年來(lái)學(xué)界比較熱門的方向9[11](如圖 2),這類結(jié)構(gòu)希望訓(xùn)練一個(gè)從用戶端自然語(yǔ)言輸入到機(jī)器端自然語(yǔ)言輸出的整體映射關(guān)系,具有靈活性強(qiáng)、可拓展性高的特點(diǎn),減少了設(shè)計(jì)過程中的人工成本,打破了傳統(tǒng)模塊之間的隔離。然而,端到端模型對(duì)數(shù)據(jù)的數(shù)量和質(zhì)量要求很高,并且對(duì)于填槽、API調(diào)用等過程的建模不夠明確,現(xiàn)階段業(yè)界應(yīng)用效果有限,仍處在探索中。
?
?
圖 2. 任務(wù)導(dǎo)向型對(duì)話系統(tǒng)的端到端結(jié)構(gòu)[41]
?
隨著用戶對(duì)產(chǎn)品體驗(yàn)的要求逐漸提高,實(shí)際對(duì)話場(chǎng)景更加復(fù)雜,對(duì)話管理模塊也需要更多的改進(jìn)和創(chuàng)新。傳統(tǒng)的對(duì)話管理模型通常是建立在一個(gè)明確的話術(shù)體系內(nèi)(即先查找再問詢最后結(jié)束),一般會(huì)預(yù)定義好系統(tǒng)動(dòng)作空間、用戶意圖空間和對(duì)話本體,但是實(shí)際中用戶的行為變化難測(cè),系統(tǒng)的應(yīng)答能力十分有限,這就會(huì)導(dǎo)致傳統(tǒng)對(duì)話系統(tǒng)可拓性差的問題(難以處理預(yù)定義之外的情況)。另外,在很多的真實(shí)業(yè)界場(chǎng)景,存在大量的冷啟動(dòng)問題,缺少足量的標(biāo)注對(duì)話數(shù)據(jù),數(shù)據(jù)的清洗標(biāo)注成本代價(jià)高昂。而在模型訓(xùn)練上,基于深度增強(qiáng)學(xué)習(xí)的對(duì)話管理模型一般都需要大量的數(shù)據(jù),大部分論文的實(shí)驗(yàn)都表明,訓(xùn)練好一個(gè)對(duì)話模型通常需要幾百個(gè)完整的對(duì)話session,這樣低下的訓(xùn)練效率阻礙了實(shí)際中對(duì)話系統(tǒng)的快速開發(fā)和迭代。
綜上,針對(duì)傳統(tǒng)對(duì)話管理模型的諸多局限,近幾年學(xué)界和業(yè)界的研究者們都開始將焦點(diǎn)放在如何加強(qiáng)對(duì)話管理模型的實(shí)用性上,具體來(lái)說有三大問題:
我們將按照這三個(gè)方向,為大家介紹近期最新的研究成果。
?
對(duì)話管理模型研究前沿介紹
?
對(duì)話管理模型痛點(diǎn)一 --- 可拓展性差
如前文所述,對(duì)話管理器由兩部分組成:對(duì)話狀態(tài)跟蹤器(DST)和對(duì)話策略(dialog policy)。傳統(tǒng)的DST研究中,最具代表的是劍橋大學(xué)的學(xué)者們?cè)?017年提出的神經(jīng)信度跟蹤模型(neural belief tracker, NBT)[12],利用神經(jīng)網(wǎng)絡(luò)來(lái)解決單領(lǐng)域復(fù)雜對(duì)話的對(duì)話狀態(tài)跟蹤問題。NBT 通過表征學(xué)習(xí)(representation learning)來(lái)編碼上輪系統(tǒng)動(dòng)作、本輪用戶語(yǔ)句和候選槽值對(duì),在高維空間中計(jì)算語(yǔ)義的相似性,從而檢測(cè)出本輪用戶提到的槽值。因此NBT可以不依賴于人工構(gòu)建語(yǔ)義詞典,只需借助槽值對(duì)的詞向量表示就能識(shí)別出訓(xùn)練集未見但語(yǔ)義上相似的槽值,實(shí)現(xiàn)槽值的可拓展。后續(xù)地,劍橋?qū)W者們對(duì)NBT進(jìn)一步改進(jìn)13,將輸入的槽值對(duì)改成領(lǐng)域-槽-值三元組,每輪識(shí)別的結(jié)果采用模型學(xué)習(xí)而非人工規(guī)則的方法進(jìn)行累積,所有數(shù)據(jù)采用同一個(gè)模型訓(xùn)練,從而實(shí)現(xiàn)不同領(lǐng)域間的知識(shí)共享,模型的總參數(shù)也不隨領(lǐng)域數(shù)目的增加而增加。在傳統(tǒng)的Dialogue Policy研究領(lǐng)域中,最具代表性的是劍橋?qū)W者們6提出的基于ACER方法的策略優(yōu)化。
通過結(jié)合 Experience replay 技巧,作者分別嘗試了trust region actor-critic 模型和episodic natural actor-critic 模型,驗(yàn)證了AC系列的深度增強(qiáng)學(xué)習(xí)算法在樣本利用效率、算法收斂性和對(duì)話成功率上都達(dá)到了當(dāng)時(shí)最好的表現(xiàn)。
然而傳統(tǒng)的對(duì)話管理模型在可拓展性方面仍需改進(jìn),具體在三個(gè)方面:
?
變化的用戶意圖
在實(shí)際應(yīng)用場(chǎng)景中,時(shí)常會(huì)出現(xiàn)由于用戶意圖未被考慮到,使得對(duì)話系統(tǒng)給出不合理回答的情況。如圖 3所示的例子,用戶的“confirm”意圖未被考慮,這時(shí)就需要加入新的話術(shù)來(lái)幫助系統(tǒng)處理這樣的情況。
?
?
圖 3. 出現(xiàn)新意圖的對(duì)話實(shí)例[15]
?
一旦出現(xiàn)訓(xùn)練集未見的新用戶意圖時(shí),傳統(tǒng)模型由于輸出的是表示舊意圖類別的固定one-hot向量,若要包含新的意圖類別,向量就需要進(jìn)行改變,對(duì)應(yīng)的新模型也需要進(jìn)行完全的重訓(xùn)練,這種情況會(huì)降低模型的可維護(hù)性和可拓展性。論文[15]提出了一種“老師-學(xué)生”的學(xué)習(xí)框架來(lái)緩解這一問題,他們將舊模型和針對(duì)新用戶意圖的邏輯規(guī)則作為“老師”,新模型作為“學(xué)生”,構(gòu)成一個(gè)“老師-學(xué)生”訓(xùn)練架構(gòu)。該架構(gòu)使用了知識(shí)蒸餾技術(shù),具體做法是:對(duì)于舊的意圖集合,舊模型的概率輸出直接指導(dǎo)訓(xùn)練新模型;對(duì)于新增的意圖,對(duì)應(yīng)的邏輯規(guī)則作為新的標(biāo)注數(shù)據(jù)來(lái)訓(xùn)練新模型。這樣就使得在新模型不再需要與環(huán)境進(jìn)行新的交互重新訓(xùn)練了。論文在DSTC2數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),首先選擇故意去掉 confirm 這個(gè)意圖,然后再將它作為新意圖加入對(duì)話本體中,依次驗(yàn)證新模型是否具有很好的適應(yīng)能力。圖 4 是實(shí)驗(yàn)結(jié)果,論文新模型(即Extended System)、直接在包含所有意圖的數(shù)據(jù)訓(xùn)練的模型(即 Contrast System)和舊模型進(jìn)行比較,實(shí)驗(yàn)證明新模型對(duì)新意圖的識(shí)別正確率在不同噪聲情況下都不錯(cuò)的擴(kuò)展識(shí)別新意圖的能力。
?
?
圖 4. 不同噪聲設(shè)置下各種模型的比較
?
當(dāng)然這種架構(gòu)仍然需要對(duì)系統(tǒng)進(jìn)行一定的訓(xùn)練,[16] 提出一種語(yǔ)義相似性匹配的模型CDSSM能夠在不依賴于標(biāo)注數(shù)據(jù)以及模型重新訓(xùn)練的前提下,解決用戶意圖拓展的問題。CDSSM先利用訓(xùn)練集數(shù)據(jù)中用戶意圖的自然描述直接學(xué)習(xí)出一個(gè)意圖向量(intent embedding)的編碼器,將任意意圖的描述嵌入到一個(gè)高維語(yǔ)義空間中,這樣在測(cè)試時(shí)模型可以直接根據(jù)新意圖的自然描述生成對(duì)應(yīng)的意圖向量,進(jìn)而再做意圖識(shí)別。在后面的內(nèi)容我們可以看到,有很多提高可拓展性的模型均采用了類似的思想,將標(biāo)簽從模型的輸出端移到輸入端,利用神經(jīng)網(wǎng)絡(luò)對(duì)標(biāo)簽 (標(biāo)簽命名本身或者標(biāo)簽的自然描述) 進(jìn)行語(yǔ)義編碼得到某種語(yǔ)義向量再進(jìn)行語(yǔ)義相似性的匹配。
[43]則給出了另外一種思路,它通過人機(jī)協(xié)同的方式,將人工客服的角色引入到系統(tǒng)線上運(yùn)行的階段來(lái)解決訓(xùn)練集未見的用戶意圖的問題。模型利用一個(gè)額外的神經(jīng)判決器根據(jù)當(dāng)前模型提取出來(lái)的對(duì)話狀態(tài)向量來(lái)判斷是否請(qǐng)求人工,如果請(qǐng)求則將當(dāng)前對(duì)話分發(fā)給線上人工客服來(lái)回答,如果不請(qǐng)求則由模型自身進(jìn)行預(yù)測(cè)。由于通過數(shù)據(jù)學(xué)習(xí)出的判決器有能力對(duì)當(dāng)前對(duì)話是否包含新意圖作一定的判斷,同時(shí)人工的回復(fù)默認(rèn)是正確的,這種人機(jī)協(xié)同的方式十分巧妙地解決了線上測(cè)試出現(xiàn)未見用戶行為的問題,并可以保持比較高對(duì)話準(zhǔn)確率。
?
?
變化的槽位和槽值
在多領(lǐng)域或復(fù)雜領(lǐng)域的對(duì)話狀態(tài)跟蹤問題中,如何處理槽位與槽值的變化一直是一個(gè)難題。對(duì)于有的槽位而言,槽值可能是不可枚舉 的,例如,時(shí)間、地點(diǎn)和人名,甚至槽值集合是動(dòng)態(tài)變化的,例如航班、電影院上映的電影。在傳統(tǒng)的對(duì)話狀態(tài)跟蹤問題中,通常默認(rèn)槽位和槽值的集合固定不變,這樣就大大降低了系統(tǒng)的可拓展性。
針對(duì)槽值不可枚舉的問題,谷歌研究者[17]提出了一個(gè)候選集(candidate set)的思路。對(duì)每個(gè)槽位,都維護(hù)一個(gè)有總量上限的候選集,它包含了對(duì)話截止目前最多k個(gè)可能的槽值,并賦于每個(gè)槽值一個(gè)分?jǐn)?shù)以表示用戶在當(dāng)前對(duì)話中對(duì)該槽值的偏好程度。系統(tǒng)先利用雙向RNN模型找出本輪用戶語(yǔ)句包含的中某個(gè)槽位的槽值,再將它和候選集中已有的槽值進(jìn)行重新打分排序,這樣每輪的DST就只需在一個(gè)有限的槽值集合上進(jìn)行判決,從而解決不可枚舉槽值的跟蹤問題。針對(duì)未見槽值的跟蹤問題,一般可以采用序列標(biāo)注的模型[18],或者選擇神經(jīng)信度跟蹤器[12]這樣的語(yǔ)義相似匹配模型。
以上是槽值不固定的情況,如果對(duì)話本體中槽位也變化呢?論文[19]采用了槽位描述編碼器(slot description encoder),對(duì)任何槽(已見的、未見的)的自然語(yǔ)言描述進(jìn)行編碼,得到表示該槽的語(yǔ)義向量,和用戶語(yǔ)句一起作為輸入送入Bi-LSTM模型中,采用序列標(biāo)注的方式輸出識(shí)別到的槽值,見圖 5。該論文做了一個(gè)可接受的假設(shè),即任何槽的自然語(yǔ)言描述是很容易得到的,因此設(shè)計(jì)了一個(gè)在多個(gè)領(lǐng)域具有普適性的概念標(biāo)注器(Concept Tagger)結(jié)構(gòu),槽描述編碼器的實(shí)現(xiàn)是簡(jiǎn)單的詞向量之和。實(shí)驗(yàn)表明,該模型能迅速適應(yīng)新的槽位,相較于傳統(tǒng)方法,該方法的可拓展性有很大的提升。
?
?
圖 5. 概念標(biāo)注器結(jié)構(gòu)
?
隨著近幾年序列到序列技術(shù)的發(fā)展,直接利用端到端神經(jīng)網(wǎng)絡(luò)模型將DST的結(jié)果作為一個(gè)序列生成出來(lái)也是一個(gè)很熱門的方向,常見的技巧如注意力機(jī)制(attention mechanism)、拷貝機(jī)制(copy mechanism)均可以用來(lái)提高生成效果。在著名的多領(lǐng)域?qū)υ扢ultiWOZ數(shù)據(jù)集上,來(lái)自港科大的Pascale Fung 教授團(tuán)隊(duì)利用了拷貝網(wǎng)絡(luò),顯著提高了不可枚舉槽的識(shí)別精度 [20]。他們提出的TRADE 模型如圖 6所示,每次檢測(cè)槽值時(shí),模型會(huì)將領(lǐng)域和槽位的不同結(jié)合進(jìn)行語(yǔ)義編碼作為RNN解碼器的初始位置輸入,解碼器通過拷貝網(wǎng)絡(luò),直接將對(duì)應(yīng)的槽值生成出來(lái)。通過生成的方式,無(wú)論是不可枚舉的槽值,還是變化的槽位的槽值,都能使用同一個(gè)模型完成,這可以做到領(lǐng)域間槽值信息的共享,也大大地提高了模型的泛化能力。
?
?
圖 6. TRADE模型框架
?
最近一個(gè)明顯的趨勢(shì)是將多領(lǐng)域DST看作一個(gè)機(jī)器閱讀理解的任務(wù),將TRADE這種生成式模型改進(jìn)成鑒別式模型45。不可枚舉槽的追蹤利用類似SQuAD的機(jī)器閱讀理解任務(wù)[46],從對(duì)話歷史和提問中找到對(duì)應(yīng)的 text span作為槽值,而可枚舉槽的追蹤則轉(zhuǎn)化成一個(gè)多項(xiàng)選擇的機(jī)器閱讀理解任務(wù),從候選值中選擇正確的值作為預(yù)測(cè)出的槽值。通過結(jié)合ELMO,BERT等深度上下文詞表示,這些新提出的模型最終在MultiWOZ數(shù)據(jù)集上取得目前最好結(jié)果。
?
變化的系統(tǒng)動(dòng)作
可拓展性問題的最后一個(gè)方面在于系統(tǒng)動(dòng)作空間難以預(yù)定義。如圖 7所示,在設(shè)計(jì)一個(gè)電子產(chǎn)品推薦系統(tǒng)時(shí),也許一開始并不會(huì)考慮到用戶會(huì)問到如何升級(jí)產(chǎn)品操作系統(tǒng)這樣的問題,但現(xiàn)實(shí)的情況是你無(wú)法限定用戶只問系統(tǒng)能解決的問題。如果系統(tǒng)動(dòng)作空間事先框定,在用戶提出新問題時(shí)就會(huì)導(dǎo)致一連串的答非所問,導(dǎo)致極差的用戶體驗(yàn)。
?
?
圖 7. 對(duì)話系統(tǒng)遇到未考慮的系統(tǒng)動(dòng)作時(shí)的對(duì)話案例[22]
?
對(duì)此,我們需要考慮的是,如何設(shè)計(jì)更好的對(duì)話策略網(wǎng)絡(luò),使得系統(tǒng)能夠快速的擴(kuò)展新的動(dòng)作。首先的嘗試來(lái)自微軟[21],他們?cè)噲D通過改變經(jīng)典的DQN結(jié)構(gòu)來(lái)實(shí)現(xiàn)系統(tǒng)在不受限動(dòng)作空間上的增強(qiáng)學(xué)習(xí)。論文的對(duì)話任務(wù)是一個(gè)文字游戲闖關(guān)任務(wù),每輪的動(dòng)作是一句話,動(dòng)作數(shù)目不定,選擇不同的動(dòng)作故事情節(jié)就會(huì)有不同的發(fā)展。作者提出了新的模型Deep Reinforcement Relevance Network (DRRN),通過語(yǔ)義相似性匹配的方式將當(dāng)前的對(duì)話狀態(tài)和各個(gè)可選的系統(tǒng)動(dòng)作一一匹配得到Q函數(shù)。具體來(lái)看:某輪對(duì)話時(shí),每個(gè)長(zhǎng)度不定的動(dòng)作文本會(huì)經(jīng)過神經(jīng)網(wǎng)絡(luò)編碼得到固定長(zhǎng)度的系統(tǒng)動(dòng)作向量,故事背景文本經(jīng)過另一個(gè)神經(jīng)網(wǎng)絡(luò)也得到固定長(zhǎng)度的的對(duì)話狀態(tài)向量,兩個(gè)向量通過交互函數(shù)(如點(diǎn)積)生成最后的Q值。圖 8是論文設(shè)計(jì)模型結(jié)構(gòu)。實(shí)驗(yàn)表明,在“Saving John”和“Machine of Death”兩個(gè)文字游戲上DRRN比傳統(tǒng)DQN(使用padding技巧)的表現(xiàn)更加優(yōu)異。
?
?
圖 8. DRRN模型。t輪有兩個(gè)候選動(dòng)作,t+1輪有三個(gè)候選動(dòng)作。
?
論文[22]則希望從對(duì)話系統(tǒng)整體的角度來(lái)解決這個(gè)問題,作者提出了增量學(xué)習(xí)對(duì)話系統(tǒng)(Incremental Dialogue System, IDS),如圖 9所示。首先系統(tǒng)通過Dialogue Embedding 模塊對(duì)對(duì)話歷史編碼得到上下文向量,再利用一個(gè)基于VAE的Uncertainty Estimation模塊根據(jù)上下文向量對(duì)當(dāng)前系統(tǒng)能否給出正確回答進(jìn)行一個(gè)置信度的評(píng)估。類似于主動(dòng)學(xué)習(xí)的方式,若置信度高于閾值,則由對(duì)話管理器對(duì)當(dāng)前所有可選動(dòng)作一一打分,經(jīng)過softmax函數(shù)預(yù)測(cè)出概率分布,若置信度低于閾值,則請(qǐng)求標(biāo)注人員對(duì)本輪的回復(fù)進(jìn)行標(biāo)注(選擇正確回復(fù)或創(chuàng)建新的回復(fù)),得到了新數(shù)據(jù)并入數(shù)據(jù)池里一起在線更新模型。通過這種人類教學(xué)(human-teaching)的方式,IDS系統(tǒng)不僅解決了不受限動(dòng)作空間的學(xué)習(xí)問題,還可以快速地收集高質(zhì)量的數(shù)據(jù),十分貼近實(shí)際生產(chǎn)應(yīng)用。
?
?
圖 9. IDS的對(duì)話系統(tǒng)整體框架圖
?
?
對(duì)話管理模型痛點(diǎn)二 --- 標(biāo)注數(shù)據(jù)少
隨著對(duì)話系統(tǒng)應(yīng)用領(lǐng)域的多樣化,對(duì)數(shù)據(jù)的需求也更加多樣化,若想訓(xùn)好一個(gè)任務(wù)型對(duì)話系統(tǒng),通常都需要盡可能多的該領(lǐng)域的數(shù)據(jù),但一般來(lái)說,想要獲取高質(zhì)量的有標(biāo)注數(shù)據(jù)的成本很高。為此學(xué)者們進(jìn)行了各種研究嘗試,主要可分為三種思路:1) 用機(jī)器自動(dòng)標(biāo)注數(shù)據(jù),降低數(shù)據(jù)標(biāo)注的成本;2) 對(duì)話結(jié)構(gòu)挖掘,盡可能高效利用無(wú)標(biāo)注數(shù)據(jù);3) 加強(qiáng)數(shù)據(jù)采集策略,高效獲取優(yōu)質(zhì)的數(shù)據(jù)。
?
機(jī)器自動(dòng)標(biāo)注
由于人工標(biāo)注數(shù)據(jù)的代價(jià)大、效率低,學(xué)者們希望通過機(jī)器輔助人工來(lái)標(biāo)注數(shù)據(jù),方法大致可分為兩大類:有監(jiān)督方法和無(wú)監(jiān)督方法。論文[23]提出一種架構(gòu)auto-dialabel,用層次聚類的無(wú)監(jiān)督學(xué)習(xí)方法將對(duì)話數(shù)據(jù)中的意圖和槽位自動(dòng)分組,從而實(shí)現(xiàn)對(duì)話數(shù)據(jù)的自動(dòng)標(biāo)注(類別的具體標(biāo)簽需要人工來(lái)定)。該方法是基于一個(gè)假設(shè):相同意圖的表達(dá)可能會(huì)共享相似的背景特征。模型提取的初始特征包括詞向量、POS 標(biāo)注、名詞詞簇和LDA 四種特征。各個(gè)特征經(jīng)由自編碼器轉(zhuǎn)成相同維度的向量后進(jìn)行拼接,再采用RBF(radial bias function)函數(shù)計(jì)算類間距離進(jìn)行動(dòng)態(tài)的層次聚類。距離最近的類將會(huì)自動(dòng)合并,直到類間距離大于預(yù)設(shè)的閾值停止。模型框架如圖 10所示。
?
?
圖 10. Auto-dialabel 模型
?
論文[24]則采用有監(jiān)督聚類的方法來(lái)實(shí)現(xiàn)機(jī)器標(biāo)注。作者將每條對(duì)話數(shù)據(jù)看作是一個(gè)個(gè)圖節(jié)點(diǎn),將聚類的過程看作是找出最小生成森林的過程。模型首先采用SVM在問答數(shù)據(jù)集上有監(jiān)督訓(xùn)練出節(jié)點(diǎn)和節(jié)點(diǎn)之間的距離得分模型,再結(jié)合結(jié)構(gòu)化模型和最小子樹生成算法來(lái)將對(duì)話數(shù)據(jù)對(duì)應(yīng)的類別信息作為隱變量推斷出來(lái),從而輸出最佳的聚類結(jié)構(gòu)表示用戶意圖類別。
對(duì)話結(jié)構(gòu)挖掘
由于訓(xùn)練對(duì)話系統(tǒng)的高質(zhì)量帶標(biāo)注數(shù)據(jù)稀缺,如何充分地挖掘無(wú)標(biāo)注對(duì)話數(shù)據(jù)中隱含的對(duì)話結(jié)構(gòu)或信息也成為了當(dāng)今的研究熱點(diǎn)之一,隱含的對(duì)話結(jié)構(gòu)或信息在一定程度上有助于對(duì)話策略的設(shè)計(jì)和對(duì)話模型的訓(xùn)練。
論文[25]提出了一種用變分循環(huán)神經(jīng)網(wǎng)絡(luò)(variational RNN, VRNN)的無(wú)監(jiān)督方法自動(dòng)學(xué)習(xí)對(duì)話數(shù)據(jù)中的隱藏結(jié)構(gòu)。作者給出兩種模型來(lái)獲取對(duì)話中的動(dòng)態(tài)信息:Discrete-VRNN和Direct-Discrete-VRNN。如圖 11所示,x_t是第t輪對(duì)話,h_t表示對(duì)話歷史隱變量,z_t表示對(duì)話結(jié)構(gòu)隱變量(一維one-hot離散變量)。兩種模型的差別在于:對(duì)于D-VRNN,隱變量z_t取決于h_(t-1);而對(duì)于DD-VRNN,隱變量z_t取決于z_(t-1)。VRNN通過最大整個(gè)對(duì)話的似然值,利用VAE的一些常用技巧,估計(jì)出隱變量z_t的后驗(yàn)概率分布。
?
?
圖 11. Discrete-VRNN(D-VRNN)與Direct-Discrete-VRNN(DD-VRNN)的示意圖
?
論文實(shí)驗(yàn)表明VRNN 要優(yōu)于傳統(tǒng)的HMM的方法,同時(shí)將對(duì)話結(jié)構(gòu)的信息加入到獎(jiǎng)勵(lì)函數(shù)中,也有助于增強(qiáng)學(xué)習(xí)模型更快地收斂。圖 12 是經(jīng)過D-VRNN 挖掘出的餐館領(lǐng)域的隱變量z_t轉(zhuǎn)移概率的可視化圖。
?
?
圖 12. D-VRNN 對(duì)餐館領(lǐng)域的對(duì)話數(shù)據(jù)挖掘出的對(duì)話流結(jié)構(gòu)
?
CMU學(xué)者[26]也嘗試?yán)肰AE的方法,將系統(tǒng)動(dòng)作作為隱變量推斷出來(lái)直接用于對(duì)話策略的選擇,這樣就能減輕預(yù)定義系統(tǒng)動(dòng)作不夠全面帶來(lái)的問題。如圖 13所示,為了簡(jiǎn)便起見,論文采用端到端的對(duì)話系統(tǒng)框架,基線模型是字級(jí)別的增強(qiáng)學(xué)習(xí)模型(即對(duì)話動(dòng)作是詞表中的詞),通過encoder將對(duì)話歷史編碼,再利用decoder解碼生成對(duì)話回復(fù),獎(jiǎng)勵(lì)函數(shù)直接通過比對(duì)生成的對(duì)話回復(fù)語(yǔ)句和真實(shí)對(duì)話回復(fù)語(yǔ)句得到。作者提出的隱動(dòng)作模型和基線模型的區(qū)別是encoder到decoder之間多了離散隱變量的后驗(yàn)推理,對(duì)話動(dòng)作由離散隱變量表示,沒有任何人為的干預(yù)定義。最終實(shí)驗(yàn)證明,基于隱動(dòng)作的端到端增強(qiáng)學(xué)習(xí)模型在語(yǔ)句生成的多樣性和任務(wù)完成率上均超過了基線模型。
?
?
圖 13. 基線模型和隱動(dòng)作模型
?
?
數(shù)據(jù)采集策略
最近,谷歌研究者們提出了一種快速收集對(duì)話數(shù)據(jù)的方法[27](見圖 14):首先利用兩個(gè)基于規(guī)則的模擬器交互生成對(duì)話的outline,即用語(yǔ)義標(biāo)簽表示的對(duì)話流骨架;然后利用模板將語(yǔ)義標(biāo)簽轉(zhuǎn)寫為自然語(yǔ)言對(duì)話;最后利用眾包對(duì)自然語(yǔ)句進(jìn)行改寫,使得對(duì)話數(shù)據(jù)的語(yǔ)言表達(dá)更加豐富多樣。這種反向收集數(shù)據(jù)方法不僅收集效率高,而且數(shù)據(jù)標(biāo)注完整、可用性強(qiáng),避免了收集領(lǐng)域數(shù)據(jù)的成本花費(fèi)和大量的人工處理。
?
?
圖 14. 對(duì)話outline,模板生成對(duì)話以及眾包重寫對(duì)話的示例
?
上述方法屬于機(jī)器-機(jī)器(machine-to-machine, M2M)的數(shù)據(jù)收集策略:先生成覆蓋面廣的對(duì)話數(shù)據(jù)語(yǔ)義標(biāo)簽,再眾包生成大量對(duì)話語(yǔ)料。其缺點(diǎn)在于,生成的對(duì)話相對(duì)局限,不能涵蓋真實(shí)場(chǎng)景的所有可能性,并且效果依賴于模擬器的好壞。
學(xué)界還有另外兩種常用于對(duì)話系統(tǒng)數(shù)據(jù)收集的方法:人-機(jī)對(duì)話(human-to-machine,H2M)和人-人對(duì)話(human-to-human, H2H)。H2H 方法要求用戶(由眾包人員扮演)和客服(由另一眾包人員扮演)進(jìn)行多輪對(duì)話,用戶負(fù)責(zé)基于某些指定的對(duì)話目標(biāo)(例如買機(jī)票)提需求,客服負(fù)責(zé)標(biāo)注對(duì)話標(biāo)簽和創(chuàng)建對(duì)話回復(fù)。這種模式被稱為 Wizard-of-Oz 框架,對(duì)話研究的諸多數(shù)據(jù)集如 WOZ[5], MultiWOZ[28]均采用此方式收集。H2H 方法可以得到最貼近實(shí)際業(yè)務(wù)場(chǎng)景的對(duì)話數(shù)據(jù),但是需要為了不同的任務(wù)需要設(shè)計(jì)不一樣的互動(dòng)界面,而且需要耗費(fèi)大量人力清理錯(cuò)誤的標(biāo)注,成本相當(dāng)昂貴。H2M 的數(shù)據(jù)收集策略則是讓用戶和訓(xùn)練到一定程度的機(jī)器直接進(jìn)行對(duì)話在線收集數(shù)據(jù),并且利用增強(qiáng)學(xué)習(xí)不斷改進(jìn)對(duì)話管理模型,著名的 DSTC2&3 數(shù)據(jù)集就是通過這種方法收集得到。H2M 方法的效果總體比較依賴于對(duì)話管理模型的初始效果,并且在線收集的數(shù)據(jù)噪聲較大,清理成本也會(huì)較高,影響模型優(yōu)化的效率。
對(duì)話管理模型痛點(diǎn)三 --- 訓(xùn)練效率低
隨著深度增強(qiáng)學(xué)習(xí)在游戲圍棋領(lǐng)域的大獲成功,該方法在任務(wù)導(dǎo)向型對(duì)話領(lǐng)域也有廣泛應(yīng)用。例如論文[6]的ACER對(duì)話管理方法,使用了model-free 深度增強(qiáng)學(xué)習(xí),通過結(jié)合Experience Replay、信度域約束、預(yù)訓(xùn)練等技巧,大大提高了增強(qiáng)學(xué)習(xí)算法在任務(wù)型對(duì)話領(lǐng)域的訓(xùn)練效率和穩(wěn)定性。
然而,簡(jiǎn)單地套用增強(qiáng)學(xué)習(xí)算法并不能滿足對(duì)話系統(tǒng)的實(shí)際應(yīng)用。這主要是因?yàn)閷?duì)話領(lǐng)域不像游戲圍棋那樣有清晰的規(guī)則、獎(jiǎng)勵(lì)函數(shù),動(dòng)作空間簡(jiǎn)單明確,還有完美的環(huán)境模擬器可以生成數(shù)以億計(jì)的高質(zhì)量交互數(shù)據(jù)。對(duì)話任務(wù)中,一般包括了多樣變化的槽位槽值和動(dòng)作意圖,這使得對(duì)話系統(tǒng)的動(dòng)作空間急劇增大且難以預(yù)定義。傳統(tǒng)扁平的增強(qiáng)學(xué)習(xí)(flat reinforcement learning)方法由于對(duì)所有的系統(tǒng)動(dòng)作進(jìn)行one-hot編碼,會(huì)存在維度災(zāi)難,因此不再適用于處理動(dòng)作空間非常大的復(fù)雜對(duì)話問題,為此學(xué)者們進(jìn)行了諸多研究嘗試,包括model-free RL、model-based RL和human-in-the-loop三個(gè)方向。
?
Model-free 增強(qiáng)學(xué)習(xí)–分層增強(qiáng)學(xué)習(xí)
分層增強(qiáng)學(xué)習(xí)(Hierarchical Reinforcement Learning, HRL)基于“分而治之”的理念,將復(fù)雜任務(wù)分解成多個(gè)子任務(wù)(sub-task),解決了傳統(tǒng)扁平的增強(qiáng)學(xué)習(xí)的維度災(zāi)難。論文[29]首次將分層增強(qiáng)學(xué)習(xí)(HRL)應(yīng)用到任務(wù)導(dǎo)向型對(duì)話領(lǐng)域,作者利用專家知識(shí)把復(fù)雜的對(duì)話任務(wù)在時(shí)序維度上拆分成多個(gè)子任務(wù),例如一個(gè)復(fù)雜的旅行問題可以分解為訂機(jī)票、訂酒店、租車等子問題。根據(jù)這個(gè)拆分,他們?cè)O(shè)計(jì)了兩個(gè)層次的對(duì)話策略網(wǎng)絡(luò),一個(gè)層次負(fù)責(zé)選擇和安排所有的子任務(wù),另一個(gè)層次負(fù)責(zé)具體子任務(wù)的執(zhí)行。
他們提出的對(duì)話管理模型(如圖 15 所示)包括:
- 頂層策略(top-level policy),用于根據(jù)對(duì)話狀態(tài)選擇子任務(wù);
- 底層策略(low-level policy),用于完成子任務(wù)的具體的某個(gè)對(duì)話動(dòng)作;
- 全局對(duì)話狀態(tài)追蹤,記錄整體對(duì)話狀態(tài)。整個(gè)對(duì)話任務(wù)完成之后,頂層策略會(huì)收到外部獎(jiǎng)勵(lì)(external reward)。
除此以外,模型還新增了內(nèi)部評(píng)定模塊(internal critic),用于根據(jù)對(duì)話狀態(tài)估計(jì)子任務(wù)完成的可能性(子任務(wù)的填槽程度),底層策略會(huì)根據(jù)子任務(wù)完成程度收到內(nèi)部評(píng)定模塊的一個(gè)內(nèi)部獎(jiǎng)勵(lì)(intrinsic reward)。
?
?
圖 15. 任務(wù)型對(duì)話系統(tǒng)的分層增強(qiáng)學(xué)習(xí)框架
?
面對(duì)復(fù)雜的對(duì)話問題,傳統(tǒng)的增強(qiáng)學(xué)習(xí)的每一步?jīng)Q策都在選擇基本系統(tǒng)動(dòng)作,比如詢問槽值或者確認(rèn)約束,而分層增強(qiáng)學(xué)習(xí)的先通過頂層策略選擇一大類基本動(dòng)作的集合,再通過底層策略選擇當(dāng)前集合的基本動(dòng)作,流程如圖 16所示。這種對(duì)動(dòng)作空間的層次劃分,能夠考慮到不同子任務(wù)之間的時(shí)序約束關(guān)系,有助于完成復(fù)合對(duì)話任務(wù)(composite task)。并且論文通過加入內(nèi)部獎(jiǎng)勵(lì)的方式,有效緩解了獎(jiǎng)勵(lì)稀疏的問題,加快了增強(qiáng)學(xué)習(xí)的訓(xùn)練,也在一定程度上避免了對(duì)話在不同子任務(wù)之間頻繁切換,提高了動(dòng)作預(yù)測(cè)準(zhǔn)確率。當(dāng)然動(dòng)作的分層設(shè)計(jì)比較依賴專家知識(shí),需要通過專家來(lái)確定子任務(wù)的種類,近期相應(yīng)地出現(xiàn)了一些對(duì)話子任務(wù)自動(dòng)發(fā)現(xiàn)的工作30,通過無(wú)監(jiān)督的方法,對(duì)整個(gè)對(duì)話歷史的對(duì)話狀態(tài)序列進(jìn)行自動(dòng)切分,從而避免人工構(gòu)建對(duì)話子任務(wù)結(jié)構(gòu)。
?
?
圖 16. 分層增強(qiáng)學(xué)習(xí)的策略選擇流程示意圖
?
Model-free 增強(qiáng)學(xué)習(xí)–封疆增強(qiáng)學(xué)習(xí)!
封疆增強(qiáng)學(xué)習(xí)(Feudal Reinforcement Learning, FRL)是另一種適用于大維度問題的增強(qiáng)學(xué)習(xí)方法。分層增強(qiáng)學(xué)習(xí)是把對(duì)話策略按照時(shí)間維度上的不同任務(wù)階段劃分成子策略,從而降低策略學(xué)習(xí)的復(fù)雜度;而封疆增強(qiáng)學(xué)習(xí)(FRL)是在空間維度上把策略進(jìn)行劃分,限制子策略負(fù)責(zé)的動(dòng)作范圍,劃分了“管轄疆域”,從而降低子策略的復(fù)雜度。封疆增強(qiáng)學(xué)習(xí)(FRL)不劃分子任務(wù),而是應(yīng)用了狀態(tài)空間的抽象化函數(shù),從對(duì)話狀態(tài)中提取有用的特征。這種抽象化有利于封疆增強(qiáng)學(xué)習(xí)(FRL)在大型問題中的應(yīng)用以及在不同領(lǐng)域之間的遷移,具有較強(qiáng)的擴(kuò)展性。
劍橋?qū)W者們首次將封疆增強(qiáng)學(xué)習(xí)[32]運(yùn)用到任務(wù)導(dǎo)向?qū)υ捪到y(tǒng)領(lǐng)域,將動(dòng)作空間按照是否和槽位相關(guān)來(lái)進(jìn)行劃分,這樣只利用了動(dòng)作空間的自然結(jié)構(gòu)而不需要額外的專家知識(shí)。他們提出了如圖 17所示的封疆策略結(jié)構(gòu),該結(jié)構(gòu)的決策過程分兩步:1)決定下一步動(dòng)作是否需要槽位作為參數(shù);2)根據(jù)第一步的決策,以及對(duì)應(yīng)的不同槽位采用不同的底層策略選擇下一步動(dòng)作。
?
?
圖 17. 封疆增強(qiáng)學(xué)習(xí)在任務(wù)導(dǎo)向型對(duì)話系統(tǒng)上的應(yīng)用
?
總的來(lái)說,分層增強(qiáng)學(xué)習(xí)(HRL)與封疆增強(qiáng)學(xué)習(xí)(HRL)都是將高維度的復(fù)雜動(dòng)作空間進(jìn)行不同方式的拆分,以解決傳統(tǒng) RL 動(dòng)作空間維度大導(dǎo)致訓(xùn)練效率低的問題。分層增強(qiáng)學(xué)習(xí)(HRL)對(duì)任務(wù)的分割合理,比較符合人類的理解,但是需要專家知識(shí)來(lái)拆分子任務(wù)。封疆增強(qiáng)學(xué)習(xí)(FRL)對(duì)復(fù)雜問題的拆分則直接考慮其動(dòng)作本身的邏輯結(jié)構(gòu),不考慮不同子任務(wù)之間的相互約束。
?
Model-based 增強(qiáng)學(xué)習(xí)
以上討論的屬于無(wú)模型(model-free)增強(qiáng)學(xué)習(xí),它是通過和環(huán)境交互試錯(cuò)得到大量弱監(jiān)督數(shù)據(jù),再去訓(xùn)練一個(gè)價(jià)值網(wǎng)絡(luò)或者策略網(wǎng)絡(luò),而不關(guān)心環(huán)境本身。與之相對(duì)的是基于模型的(model-based)增強(qiáng)學(xué)習(xí),它的學(xué)習(xí)過程如圖 18。其特點(diǎn)是對(duì)環(huán)境直接進(jìn)行建模,利用和環(huán)境交互得到的數(shù)據(jù)學(xué)習(xí)出一個(gè)狀態(tài)和獎(jiǎng)勵(lì)的概率轉(zhuǎn)移函數(shù),即環(huán)境模型,然后系統(tǒng)可以和環(huán)境模型交互產(chǎn)生更多的訓(xùn)練數(shù)據(jù),因此model-based增強(qiáng)學(xué)習(xí)一般比model-free增強(qiáng)學(xué)習(xí)的訓(xùn)練效率要高,尤其是在和環(huán)境交互代價(jià)昂貴的場(chǎng)景。但其效果取決于環(huán)境建模的好壞。
?
?
圖 18. model-based的增強(qiáng)學(xué)習(xí)的流程
?
采用 model-based 增強(qiáng)學(xué)習(xí)來(lái)提高訓(xùn)練效率是最近研究熱點(diǎn),微軟首先將經(jīng)典的 Deep Dyna-Q(DDQ)算法應(yīng)用到對(duì)話中[33],如圖 19c 所示,DDQ 訓(xùn)練開始之前,先利用少量已有的對(duì)話數(shù)據(jù)對(duì)策略模型和環(huán)境模型(world model)進(jìn)行預(yù)訓(xùn)練,之后 DDQ的訓(xùn)練不斷循環(huán)三個(gè)步驟:1)直接增強(qiáng)學(xué)習(xí) --- 通過和真實(shí)用戶在線對(duì)話交互,更新策略模型并且儲(chǔ)存對(duì)話數(shù)據(jù);2)訓(xùn)練環(huán)境模型 --- 利用收集到的真實(shí)對(duì)話數(shù)據(jù)更新環(huán)境模型;3)規(guī)劃(planning)--- 利用和環(huán)境模型交互得到的對(duì)話數(shù)據(jù)來(lái)訓(xùn)練策略模型。其中環(huán)境模型(如圖 20)是一個(gè)神經(jīng)網(wǎng)絡(luò),對(duì)環(huán)境的狀態(tài)轉(zhuǎn)換和獎(jiǎng)勵(lì)進(jìn)行概率建模,輸入是當(dāng)前對(duì)話狀態(tài)以及系統(tǒng)動(dòng)作,輸出是下一輪用戶動(dòng)作、環(huán)境獎(jiǎng)勵(lì)和對(duì)話終止變量。環(huán)境模型使得 DDQ 降低了在線增強(qiáng)學(xué)習(xí)(如圖 19a)對(duì)人機(jī)交互數(shù)據(jù)量的需求,也避免了和用戶模擬器交互(如圖 19b)質(zhì)量不高的問題。
?
?
圖 19. 三種不同增強(qiáng)學(xué)習(xí)框架
?
?
?
圖 20. 環(huán)境模型的結(jié)構(gòu)
?
環(huán)境模型與對(duì)話領(lǐng)域中的用戶模擬器比較相似,它們都可以用于模擬真實(shí)用戶的動(dòng)作并和系統(tǒng)的對(duì)話管理模塊交互。但兩者不同之處在于用戶模擬器本質(zhì)是系統(tǒng)的外部環(huán)境,用于模擬真實(shí)用戶,環(huán)境模型是系統(tǒng)的一部分,屬于系統(tǒng)內(nèi)部模型。
在DDQ的工作基礎(chǔ)上,微軟研究者們做了更多的擴(kuò)展:為了提高環(huán)境模型產(chǎn)生的對(duì)話數(shù)據(jù)的真實(shí)性,他們提出[34]采用對(duì)抗訓(xùn)練的思想提高對(duì)話數(shù)據(jù)的生成質(zhì)量;針對(duì)何時(shí)使用和真實(shí)環(huán)境交互的數(shù)據(jù),何時(shí)使用和環(huán)境模型交互的數(shù)據(jù),論文[35]探討了可行方案;為了將真人交互也納入進(jìn)來(lái),論文[36]給出了一個(gè)統(tǒng)一的對(duì)話框架。這種人類教學(xué)(human-teaching)的思想也是目前業(yè)界構(gòu)建對(duì)話管理模型的關(guān)注熱點(diǎn),我們?cè)谙滦」?jié)給出更多闡述。
Human-in-the-loop
我們希望能充分引入人的知識(shí)經(jīng)驗(yàn)來(lái)生成高質(zhì)量數(shù)據(jù),提高模型訓(xùn)練效率。Human-in-the-loop增強(qiáng)學(xué)習(xí)[37]就是一種將人類引入機(jī)器人訓(xùn)練過程的方法,通過設(shè)計(jì)好的人機(jī)交互方式,人類可以高效地指導(dǎo)訓(xùn)練增強(qiáng)學(xué)習(xí)模型。為了進(jìn)一步提升任務(wù)導(dǎo)向?qū)υ捪到y(tǒng)的訓(xùn)練效率,針對(duì)對(duì)話問題的特性設(shè)計(jì)有效的human-in-the-loop方式成為了研究人員新的探索方向。
?
?
圖 21. 監(jiān)督式預(yù)訓(xùn)練、模仿學(xué)習(xí)和在線增強(qiáng)學(xué)習(xí)結(jié)合的復(fù)合式學(xué)習(xí)
?
谷歌研究者提出了一種人類教學(xué)和增強(qiáng)學(xué)習(xí)結(jié)合的復(fù)合學(xué)習(xí)方法[37](如圖 21),在有監(jiān)督預(yù)訓(xùn)練和在線增強(qiáng)學(xué)習(xí)之間增加一個(gè)人類教學(xué)階段,讓人介入進(jìn)來(lái)打標(biāo)簽,避免了有監(jiān)督預(yù)訓(xùn)練導(dǎo)致的covariate shift 問題[42]。亞馬遜研究者也提出一種類似的人類教學(xué)框架[37]:每輪對(duì)話中,系統(tǒng)都推薦4條回復(fù)供客服專家選擇;然后客服專家決定是選擇4條回復(fù)中的一條,還是另外編輯新的回復(fù);最后由客服專家把選擇好或者編輯好的回復(fù)發(fā)給用戶。利用這種方式,開發(fā)人員可以快速地更新對(duì)話系統(tǒng)能力,適合落地。
以上是系統(tǒng)被動(dòng)地接受人對(duì)數(shù)據(jù)進(jìn)行標(biāo)注,但是好的系統(tǒng)也應(yīng)該學(xué)會(huì)主動(dòng)提問、尋求人的幫助。論文[40]提出了陪伴式學(xué)習(xí)(companion learning)的架構(gòu)(如圖 22),在傳統(tǒng)的增強(qiáng)學(xué)習(xí)框架中加入老師的角色(即人),老師可以糾正對(duì)話系統(tǒng)(即學(xué)生)的回復(fù)(圖左側(cè)開關(guān)),也能以內(nèi)部reward的形式對(duì)學(xué)生的回復(fù)進(jìn)行評(píng)價(jià)(圖右側(cè)開關(guān))。對(duì)于主動(dòng)學(xué)習(xí)的實(shí)現(xiàn),作者提出了對(duì)話決策確信度(decision certainty)的概念,通過dropout技巧對(duì)學(xué)生策略網(wǎng)絡(luò)進(jìn)行多次采樣,得到可取動(dòng)作的最大概率近似估計(jì),再通過計(jì)算該最大概率的若干對(duì)話輪次的滑動(dòng)平均值作為學(xué)生策略網(wǎng)絡(luò)的決策確信度。確信度若低于目標(biāo)值,則根據(jù)確信度與目標(biāo)值的差距,決定老師是否參與進(jìn)來(lái)糾正錯(cuò)誤和提供獎(jiǎng)勵(lì)函數(shù),確信度高于目標(biāo)值,則停止向老師學(xué)習(xí),系統(tǒng)自行進(jìn)行判決。
?
?
圖 22. 老師糾正學(xué)生的回復(fù)(左側(cè)開關(guān))或者對(duì)學(xué)生的回復(fù)做出評(píng)價(jià)(右側(cè)開關(guān))
?
主動(dòng)學(xué)習(xí)的關(guān)鍵在于估計(jì)出對(duì)話系統(tǒng)對(duì)自身決策的確信度,除了上述對(duì)策略網(wǎng)絡(luò)進(jìn)行dropout的方法,還有以隱變量為條件變量,計(jì)算策略網(wǎng)絡(luò)分布Jensen-Shannon散度的方法[22]、根據(jù)當(dāng)前系統(tǒng)對(duì)話成功率做判斷的方法[36]。
?
小蜜Conversational AI團(tuán)隊(duì)的對(duì)話管理框架
為了保證穩(wěn)定性和可解釋性,目前業(yè)界對(duì)話管理模塊多采用基于規(guī)則的方法。阿里巴巴-達(dá)摩院-小蜜Conversational AI團(tuán)隊(duì)在去年就開始嘗試對(duì)話管理模型化的工作,并進(jìn)行了深入地探索。在真實(shí)的對(duì)話系統(tǒng)建設(shè)中,我們需要解決兩個(gè)問題:1)如何獲得特定場(chǎng)景的大量對(duì)話數(shù)據(jù),2)怎么利用算法充分發(fā)揮數(shù)據(jù)的價(jià)值?
對(duì)于整個(gè)模型化的框架設(shè)計(jì),目前我們規(guī)劃成四步走的路線(如圖 23所示):
?
?
圖 23. 對(duì)話管理模型化四步走路線
?
第一步,先利用小蜜Conversational AI團(tuán)隊(duì)自主研發(fā)的對(duì)話工廠(dialog studio)快速構(gòu)建一個(gè)基于規(guī)則對(duì)話流的對(duì)話引擎(稱為TaskFlow),同時(shí)用類似的對(duì)話流去構(gòu)建一個(gè)用戶模擬器。在構(gòu)建好用戶模擬器和對(duì)話引擎之后,兩者采用M2M方式持續(xù)交互沉淀出大量的對(duì)話數(shù)據(jù)。
第二步,有了一定量的對(duì)話數(shù)據(jù)后,我們?cè)倮糜斜O(jiān)督學(xué)習(xí)訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò),構(gòu)建和規(guī)則對(duì)話引擎能力基本相當(dāng)?shù)膶?duì)話管理模型,實(shí)現(xiàn)對(duì)話管理的初步模型化。模型的設(shè)采用語(yǔ)義相似匹配和端到端生成兩種方法結(jié)合來(lái)實(shí)現(xiàn)可拓展性,對(duì)于動(dòng)作空間較大的對(duì)話任務(wù)采用HRL進(jìn)行動(dòng)作劃分。
第三步,有了初步的對(duì)話管理模型,在開發(fā)階段,我們讓系統(tǒng)和改進(jìn)的用戶模擬器或人工智能訓(xùn)練師進(jìn)行交互,通過off-policy ACER增強(qiáng)學(xué)習(xí)算法讓系統(tǒng)的對(duì)話能力持續(xù)地增強(qiáng)。
第四步,人機(jī)對(duì)話體驗(yàn)達(dá)到初步實(shí)用之后,就可以上線運(yùn)行,引入人的因素,收集用戶真實(shí)交互數(shù)據(jù),同時(shí)通過一些UI設(shè)計(jì)方便地引入用戶的反饋,持續(xù)不斷地更新強(qiáng)化模型。沉淀出大量人機(jī)對(duì)話數(shù)據(jù)也會(huì)進(jìn)一步進(jìn)行做數(shù)據(jù)分析和挖掘,用于客戶洞察。
目前,我們打造的基于增強(qiáng)學(xué)習(xí)的對(duì)話管理模型,在訂會(huì)議室這種中等復(fù)雜規(guī)模的對(duì)話任務(wù)上,和用戶模擬器交互的對(duì)話完成率可達(dá)80%,如圖24所示。
?
?
圖 24. 小蜜Conversational AI團(tuán)隊(duì)的對(duì)話管理模型框架和評(píng)價(jià)指標(biāo)
?
總結(jié)
本綜述圍繞對(duì)話管理(Dialog Management, DM)模型的最新前沿研究做了一個(gè)詳細(xì)的介紹,針對(duì)傳統(tǒng)對(duì)話管理的痛點(diǎn)劃分了三個(gè)大的方向:1)可拓展性差 2)標(biāo)注數(shù)據(jù)少 3)訓(xùn)練效率低。在可拓展性方面,我們介紹了處理變化的用戶意圖、對(duì)話本體、系統(tǒng)動(dòng)作空間的常用方法,主要有語(yǔ)義相似匹配方法、知識(shí)蒸餾方法和序列生成方法;對(duì)于標(biāo)注數(shù)據(jù)稀缺問題,我們介紹了機(jī)器自動(dòng)標(biāo)注、對(duì)話結(jié)構(gòu)有效挖掘和數(shù)據(jù)高效收集策略三部分內(nèi)容;而針對(duì)傳統(tǒng)DM中RL模型訓(xùn)練效率低下的問題,學(xué)界有嘗試引入HRL、FRL等方法對(duì)動(dòng)作空間進(jìn)行層次劃分,也有利用model-based RL對(duì)環(huán)境進(jìn)行建模提高訓(xùn)練效率,將human-in-the-loop引入對(duì)話系統(tǒng)訓(xùn)練框架亦是當(dāng)下十分活躍的研究方向。最后我們對(duì)阿里巴巴-達(dá)摩院-小蜜Conversational AI團(tuán)隊(duì)目前在DM模型化的進(jìn)展做了一個(gè)比較詳細(xì)的匯報(bào)介紹,希望本綜述能為大家的對(duì)話管理研究提供一些啟發(fā)和思考。
總結(jié)
以上是生活随笔為你收集整理的深度前沿:对话管理模型研究最新进展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Github Action发布函数到
- 下一篇: 2019 Flink Forward 大