陳龍++孫澤健
摘 要 面向任務(wù)的對話系統(tǒng)是智能問答系統(tǒng)最熱門和最有應(yīng)用價(jià)值的子領(lǐng)域之一,近幾十年來,其已經(jīng)發(fā)展了三代技術(shù),形成較為成熟的結(jié)構(gòu)框架,本文給予相關(guān)總結(jié),進(jìn)而為相關(guān)研究人員提供一個(gè)的借鑒和幫助。
【關(guān)鍵詞】面向任務(wù)的對話系統(tǒng) 綜述 智能問答 數(shù)據(jù)庫
面向任務(wù)的對話系統(tǒng)的研究目標(biāo)是希望利用自然語言來訪問結(jié)構(gòu)化數(shù)據(jù)庫并從中查詢數(shù)據(jù),可以視為繼圖形用戶界面之后新的人機(jī)交互接口。面向任務(wù)的對話系統(tǒng)不同于以閑聊和情感陪伴為目的的聊天機(jī)器人,是智能客服技術(shù)工具化應(yīng)用的主要發(fā)展方向,也是智能問答系統(tǒng)最熱門和最有應(yīng)用價(jià)值的子領(lǐng)域之一,本文對面向任務(wù)的對話系統(tǒng)的發(fā)展現(xiàn)狀和基本框架進(jìn)行介紹。
1 發(fā)展現(xiàn)狀
任務(wù)驅(qū)動(dòng)式對話系統(tǒng)始自人工智能諸多專家系統(tǒng)的研究,學(xué)者們最早通過人工提取特征,設(shè)計(jì)本體,組織規(guī)則,研制了眾多數(shù)據(jù)庫自然語言接口(Natural Language Interface of Database,NLIDB),使人們可以通過限定性的自然語言來查詢數(shù)據(jù),但其只支持上下文無關(guān)的單輪對話查詢,通用性和可擴(kuò)展性都很差。后來隨著ELIZA系統(tǒng)的成功,多輪對話系統(tǒng)也開始出現(xiàn)。一些系統(tǒng)開始了在某些狹窄領(lǐng)域的商業(yè)應(yīng)用,如機(jī)票訂購,餐廳預(yù)訂,導(dǎo)航助理。此類系統(tǒng)稱為基于規(guī)則或基于模板(Symbolic Rule/Templated Based)的對話系統(tǒng),是第一代技術(shù)。優(yōu)點(diǎn)是系統(tǒng)內(nèi)部的規(guī)則易懂透明,很容易修補(bǔ)漏洞和進(jìn)行系統(tǒng)更新。但跨領(lǐng)域的通用性和可擴(kuò)展性都很差,依賴領(lǐng)域?qū)<业拈_發(fā)和維護(hù),數(shù)據(jù)被用來設(shè)計(jì)規(guī)則,而不是學(xué)習(xí)。
隨著大數(shù)據(jù)技術(shù)的發(fā)展,統(tǒng)計(jì)機(jī)器翻譯(簡稱SMT)在自動(dòng)翻譯上取得了巨大成功,熱潮蔓延到對話系統(tǒng)領(lǐng)域,出現(xiàn)了統(tǒng)計(jì)對話系統(tǒng)(Statistical Dialog System),為第二代技術(shù)。此類系統(tǒng)將許多淺層模型(如CRF、HMM)用于對話系統(tǒng)的語言理解和生成,增強(qiáng)學(xué)習(xí)的方法也開始使用,代表是劍橋大學(xué)Steve Young教授團(tuán)隊(duì)研發(fā)的基于POMDP的對話系統(tǒng)。優(yōu)點(diǎn)是擺脫了對領(lǐng)域?qū)<业囊蕾?,增?qiáng)了問答的魯棒性,但模型卻變得難以解釋,從而很難維護(hù)系統(tǒng),模型的表征能力也不夠強(qiáng),不足以做到完全端到端學(xué)習(xí),系統(tǒng)依然難以跨領(lǐng)域擴(kuò)展。
2014年,深度學(xué)習(xí)在計(jì)算機(jī)視覺和語音識別上的突破性進(jìn)展,以及深度增強(qiáng)學(xué)習(xí)在Atari游戲上的成功,使學(xué)者們開始將諸多神經(jīng)網(wǎng)絡(luò)模型用于對話系統(tǒng),稱為神經(jīng)對話系統(tǒng)(Neural Dialog System),為第三代技術(shù)。在此基礎(chǔ)上,模型的表征能力更強(qiáng),完全端到端變得可行,微軟鄧力團(tuán)隊(duì)于2016年即開發(fā)了一個(gè)完全端到端的機(jī)器人KB-InfoBot,采用基于概率的軟查詢來訪問結(jié)構(gòu)化數(shù)據(jù)庫,讓人們看到了神經(jīng)網(wǎng)絡(luò)模型在面向任務(wù)的對話系統(tǒng)上的更多可能。但此類對話系統(tǒng)依然有很多局限,包括依靠大規(guī)模標(biāo)注數(shù)據(jù)的訓(xùn)練,模型仍然很難解釋,在神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)和符號自然語言之間缺乏交互界面。而其跨領(lǐng)域遷移擴(kuò)展能力成為熱門的研究方向(從一個(gè)數(shù)據(jù)庫到另一個(gè)數(shù)據(jù)庫),許多開發(fā)者希望利用深度遷移學(xué)習(xí)和增強(qiáng)學(xué)習(xí)來實(shí)現(xiàn)。
2 基本框架
任務(wù)驅(qū)動(dòng)的對話系統(tǒng)框架一般擁有五大模塊,分別為自然語言理解(Natural Language Understanding,NLU),對話狀態(tài)跟蹤(Dialog State Tracker,DST),數(shù)據(jù)庫,對話策略(Dialog Policy,DP)和自然語言生成(Natural Language Generation,NLG)。其主要框架和運(yùn)行流程如圖1所示。
自然語言理解(NLU)模塊:負(fù)責(zé)實(shí)現(xiàn)用戶問詢的結(jié)構(gòu)化語義表示,主要包括兩個(gè)子模塊:意圖識別和屬性抽取。意圖識別要求實(shí)現(xiàn)對用戶最終需求的理解,將其劃歸到有限范圍內(nèi)的某一類別,語言學(xué)家Harry Bunt等人對用戶意圖建立了包含了56個(gè)定義統(tǒng)一分類體系,成為ISO標(biāo)準(zhǔn)。對于特定數(shù)據(jù)查詢?nèi)蝿?wù),意圖也可以和某一查詢目標(biāo)甚至是和SQL查詢語句配對。而屬性抽取也稱為槽位(Slot)抽取,識別的是查詢目標(biāo)的諸個(gè)限制條件、關(guān)鍵信息,在數(shù)據(jù)庫中,一個(gè)槽位代表了某一查詢表的列項(xiàng)。屬性抽取完成后,表示成槽值對(Slot-Value Pairs)傳遞給狀態(tài)跟蹤模塊。屬性和意圖既可以表示為確定數(shù)值,也可以表示成概率分布,又稱為置信狀態(tài)。當(dāng)槽值對不足以確定查詢目標(biāo)時(shí),對話策略模塊可能指示系統(tǒng)提出反問,尋求更多信息。圖2給出了一個(gè)示例。由于對話系統(tǒng)更關(guān)注口語處理,所以往往要處理非嚴(yán)謹(jǐn)語法和語音識別錯(cuò)誤等問題。
對話狀態(tài)跟蹤(DST)模塊:緩存查詢信息,根據(jù)多輪對話來確定當(dāng)前用戶目標(biāo),在端到端解決方案中,上一模塊傳遞來的用戶意圖和槽位會(huì)被表示成概率分布,故此一模塊也被稱為置信狀態(tài)跟蹤。在某些復(fù)雜的系統(tǒng)中,用戶畫像的相關(guān)信息也存儲(chǔ)在此一模塊中。
數(shù)據(jù)庫模塊:可以是關(guān)系型數(shù)據(jù)庫或者基于本體的知識圖譜,通常是比較簡單的關(guān)系型數(shù)據(jù)庫(如IMDB電影數(shù)據(jù)庫),表的列項(xiàng)較少而行數(shù)較多。對話系統(tǒng)需要通過生成SQL等語言的查詢語句完成數(shù)據(jù)訪問和返回。
對話策略(DP)模塊:和DST模塊合稱為對話管理(Dialog Manager,DM)模塊,根據(jù)DST模塊中存儲(chǔ)的信息進(jìn)行決策,輸出一個(gè)系統(tǒng)動(dòng)作(Verbal Action)。系統(tǒng)動(dòng)作也是一個(gè)由查詢目標(biāo)和槽值對組成的語義表示,表明系統(tǒng)要執(zhí)行的動(dòng)作的類型和操作參數(shù),主要類型有查詢結(jié)束、模糊確認(rèn)、反問等。
自然語言生成(NLG)模塊:此模塊根據(jù)對話策略的決策生成相應(yīng)的回話(Response)返回給用戶。一種方式是將回話固定為模板(Template-based),回話生成的過程就轉(zhuǎn)化為從候選列表中選擇模板的過程,實(shí)現(xiàn)較容易,但其無法像閑聊機(jī)器人一樣可以利用海量的社交網(wǎng)絡(luò)對話數(shù)據(jù),必須人工提取特征,組織模板耗時(shí)耗力,難以移植和擴(kuò)展。另一種是通過端到端模型來完成回話生成,根據(jù)上下文逐詞的完成句子的輸出,效果更好,但模型構(gòu)建更加復(fù)雜。endprint
3 結(jié)束語
當(dāng)前,面向任務(wù)的對話系統(tǒng)已在多個(gè)領(lǐng)域成功應(yīng)用,如通過訪問IMDB電影數(shù)據(jù)庫來尋找電影,通過淘寶的商品數(shù)據(jù)庫來查找想要的商品,通過航班信息數(shù)據(jù)庫來訂購機(jī)票等,成為多個(gè)熱門APP應(yīng)用的重要模塊,有的系統(tǒng)甚至可以接受用戶語音的輸入。這些面向任務(wù)的對話系統(tǒng)都極大地改善了用戶體驗(yàn),提高了用戶粘性,成為各大互聯(lián)網(wǎng)巨頭競爭的焦點(diǎn),也是多個(gè)人工智能初創(chuàng)公司的核心競爭力。但目前在復(fù)雜結(jié)構(gòu)數(shù)據(jù)庫、上下文對話建模、跨領(lǐng)域擴(kuò)展等方面,面向任務(wù)的對話系統(tǒng)仍有很多困難需要解決。
參考文獻(xiàn)
[1]劉挺.人機(jī)對話浪潮:語音助手、聊天機(jī)器人、機(jī)器伴侶[J].中國計(jì)算機(jī)學(xué)會(huì)通訊,2015,11(10):54-56.
[2]孟小峰.中文數(shù)據(jù)庫自然語言查詢處理研究[D].中國科學(xué)院研究生院(計(jì)算技術(shù)研究所),1999.
[3]馮志偉.自然語言問答系統(tǒng)的發(fā)展與現(xiàn)狀[J].外國語(上海外國語大學(xué)學(xué)報(bào)),2012(06):2-16.
[4]微軟首席AI科學(xué)家鄧力演講:口語對話系統(tǒng)的分類及三代演變[EB/OL].雷鋒網(wǎng).https://www.leiphone.com/news/201701/daOUg72qLCmnb2Cr.html.
[5]Young Steve,Ga?i? M,Thomson B, et al.POMDP-Based Statistical Spoken Dialog Systems:A Review[J].Proceedings of the IEEE,2013,101(05):1160-1179.
[6]Mnih V,Kavukcuoglu K,Silver D,et al.Human-level control through deep reinforcement learning[J]. Nature,2015,518(7540):529.
[7]Dhingra B, Li L, Li X,et al.Towards End-to-End Reinforcement Learning of Dialogue Agents for Information Access[J].2016.
[8]Z Wang,H Chen,G Wang,H Tian,H Wu & H Wang (2014) Policy Learning for Domain Selection in an Extensible Multi-domain Spoken Dialogue System. In Proceedings of Conference on Empirical Methods on Natural Language Processing (EMNLP 2014).
作者簡介
陳龍(1988-),碩士生,研究方向?yàn)樽鲬?zhàn)模擬系統(tǒng)工程。
作者單位
國防大學(xué)研究生院 北京市 100091endprint