王小捷
摘要:提出了一系列非常重要、影響人機對話質(zhì)量的問題,包括:如何面向自然語言理解(NLU)構(gòu)建對話任務分析、深度推理,如何利用語言學尤其是互動語言學研究成果構(gòu)建對話管理(DM),如何有效建模人機對話中不同任務間的關(guān)聯(lián)約束來發(fā)展聯(lián)合模型等。認為盡管人機對話系統(tǒng)的基礎模型已取得了長足進步,但如果不能有效地解決上述問題,就不可能獲得高質(zhì)量的人機對話系統(tǒng),自然語言處理的水平也就難以得到實質(zhì)性提升。
關(guān)鍵詞: 人機對話系統(tǒng);NLU;DM;自然語言生成(NLG)
人類社會的一個主要特征是人際交流,廣泛深入的人際交流是促進合作,推動社會向前發(fā)展的重要動力。人際交流的主要工具是包括漢語、英語在內(nèi)的各種自然語言,基于自然語言的對話是人際交流的主要方式之一?;谧匀徽Z言的對話也稱為會話,可以是在兩人之間進行,也可以在多人之間進行。此外,自說自話的獨白也常被語言學家歸入會話。
近年來,隨著技術(shù)日新月異的發(fā)展,各種人造機器成為人類的親密伙伴,人與機器的交流變得越來越重要。為了與機器交流,讓機器明白人類需要它們做什么,人類發(fā)明了很多種機器語言。開始,這些機器語言只是少數(shù)人使用,隨著機器進入到普通人的日常社會生活,就需要機器能與普通人進行交流,發(fā)明越來越簡單的機器語言或操作方式是一個途徑,而讓機器能懂得人類語言無疑是一個更自然、更令人向往的方式。人機對話系統(tǒng)旨在實現(xiàn)這種方式,滿足普通人與機器進行順暢交互的需求。
人機對話系統(tǒng)經(jīng)歷了50多年的發(fā)展,取得了不少的進展,目前更是面臨巨大的發(fā)展機遇。如何抓住機遇,促成人機對話系統(tǒng)的進一步發(fā)展,是每位研究者都需要認真思考的問題。
1 人機對話系統(tǒng)簡述
20世紀60年代,Weizenbaum創(chuàng)建了ELIZA對話系統(tǒng)[1],試圖模仿心理治療師與人進行對話交流;90年代,Seneff 等人開發(fā)了自動機票預訂系統(tǒng)(ATIS)[2],通過與用戶進行多輪對話來獲取用戶需求(如出發(fā)地、出發(fā)日期、航班號等),以幫助用戶預訂機票。這兩個系統(tǒng)分別代表了兩類不同的對話系統(tǒng),后者屬于目標驅(qū)動型對話,前者屬于非目標驅(qū)動型對話。
目標驅(qū)動型人機對話系統(tǒng)通過與用戶進行多輪基于自然語言的對話來逐步收集與目標相關(guān)的信息,輔助用戶成功獲得某種服務。與ATIS系統(tǒng)類似的還有電信服務系統(tǒng)HMIHY[3]、天氣信息查詢系統(tǒng)JUPITER[4]、旅行計劃制定系統(tǒng)DARPA Communicator[5]等。目標驅(qū)動型的人機對話系統(tǒng)也稱為面向任務的人機對話系統(tǒng)。
而以ELIZA系統(tǒng)為代表的非目標驅(qū)動型人機對話系統(tǒng)通常只是對用戶輸入進行基于自然語言的響應,而不完成特定信息服務任務,類似于閑聊似的對話,所以也稱為聊天機器人。與目標驅(qū)動型系統(tǒng)相比,這類系統(tǒng)對收集信息、自主確定對話行為等方面的要求都較弱。
一個典型的任務驅(qū)動型人機對話系統(tǒng)的技術(shù)模塊如圖1所示[6],系統(tǒng)主要包含自然語言理解(NLU)、對話管理(DM)、自然語言生成(NLG)3個部分。用戶輸入可以是語音,也可以是文本,如果是語音,則NLU部分包含語音識別模塊;而系統(tǒng)輸出為語音時,NLG部分還需包含語音合成模塊。NLU部分進一步又分解為3個子任務:其一是領(lǐng)域識別,判定用戶談論的是什么領(lǐng)域的事情;其二是意圖識別,識別用戶話語的目的,比如是告知某個信息,還是確認某個信息;其三是語義分析,又稱為槽填充,旨在標識用戶話語中與目標有關(guān)的語義類別,比如預訂機票時需要的出發(fā)地、目的地、時間等語義類別。DM則進一步分解為對話狀態(tài)追蹤和動作選擇兩個子任務;對話狀態(tài)追蹤獲取對話的當前狀態(tài);動作選擇確定系統(tǒng)響應的動作。DM模塊負責控制整個對話過程,例如:決定系統(tǒng)在上一輪對話中獲取了用戶出發(fā)地信息之后,下一步該和用戶說什么。NLG模塊則把決定要說什么具體轉(zhuǎn)化為自然語言,通常也進一步分解為幾個子任務。
非目標驅(qū)動的對話系統(tǒng)大致按此結(jié)構(gòu),但是大多沒有顯式的意圖識別、語義標注等NLU過程,也沒有顯式的DM。
在實際應用中,目標驅(qū)動與非目標驅(qū)動的劃分也并不是絕對的,常常會需要目標驅(qū)動和非目標驅(qū)動混合出現(xiàn)。比如:目前的個人助理系統(tǒng)Apple Siri、Microsoft Cortana等,有時可能要與用戶閑聊,這時是非目標驅(qū)動的,有時可能要幫助用戶訂票,這時是目標驅(qū)動的。這一系統(tǒng)框架經(jīng)歷了一系列的發(fā)展,其中的各個技術(shù)部分也在飛速發(fā)展中[7-9]。
2 自然語言理解
人機對話系統(tǒng)中NLU的主要目標是識別輸入話語的領(lǐng)域和意圖,獲得任務相關(guān)的語義信息。例如:在訂機票時,客戶說“訂1張5月10號去北京的票”,其領(lǐng)域是“航班信息服務”,意圖是“訂票”,與訂票任務相關(guān)的語義信息包括作為“訂票數(shù)量”的“1張”、作為“起飛時間”的“5月10號”,以及作為“目的地”的“北京”。訂票數(shù)量、起飛時間和目的地稱為槽,句子中提供的這些槽的具體值稱為槽值。
如何準確地進行領(lǐng)域、意圖和槽值的識別或標注是當前針對人機對話的NLU研究中得到關(guān)注最多的方面。近年來人們不斷設計新的模型和算法來提升語言理解的性能[9],而另一個研究重點是當面對的對話任務發(fā)生變化時,如何快速準確地將模型推廣到新的對話領(lǐng)域中,即模型的跨領(lǐng)域適應問題。
然而,筆者認為,目前的語言理解中還存在1個問題沒有得到應有的重視,即:如何為NLU模塊設定目標。從前面的例子可以看到,目前的語言理解對于給定的用戶輸入通過分析獲得什么信息都是基于對話任務而確定的。比如:NLU算法只會在句子中去標注訂票數(shù)量、起飛時間和目的地等槽的槽值,而不會去標注“運動類型”等無關(guān)的信息。但是對話系統(tǒng)如何能知道它只應該去關(guān)注這些信息,而不應關(guān)注其他信息呢?目前的方法是完全由人預先基于對話任務來確定語言理解的目標,再基于這些目標來訓練模型。這種方法需要預先對任務有完整的分析,建立關(guān)于任務的完整意圖和槽的體系。這類似于軟件工程中在構(gòu)建一個軟件時需要完整的需求分析一樣。對于軟件工程,有一套需求分析技術(shù),而對于人機對話系統(tǒng),目前還并沒有這樣的任務分析技術(shù),一般的人機對話系統(tǒng)的任務分析還停留在經(jīng)驗階段,這給人機對話系統(tǒng)的普及帶來了困難。
進一步,在目前的NLU中,對于語言的理解還停留在比較淺的層次。例如:在槽標注時,大多數(shù)模型還只能在語言表層進行標注,在復雜情況下結(jié)合推理進行深入理解的能力還較弱或者基本沒有。例如,客戶說“訂一張端午節(jié)后一天的票,如果那天預報有大霧的話就往后推一天?!边@時簡單地在語言表層標注時間槽已經(jīng)不太可能,需要結(jié)合其他信息并通過推理得到正確的槽值。語言推理不僅需要對語言本體的理解,其背后還需要更為豐富的關(guān)于現(xiàn)實世界對象、事件及其關(guān)系的知識進行支撐,并且有的知識是顯式的,而有些知識是隱式的。例如,上一句中的“端午節(jié)”“下雨”等是現(xiàn)實世界中的對象和事件,其中,端午節(jié)具體是哪一天可以直接查詢獲得。但是其中還含有簡介的、隱式的推理知識,比如在上句中人可能會依據(jù)如下的隱含邏輯去理解說話人:如果有大霧的話,飛機可能不能按時起飛,客戶大概不希望延誤,所以決定在這種情況下推遲一天,推遲的目的是為了等一個好天氣。如果知道存在這樣一個隱含的推理,那么作為好的客服人員,可能就要再問客戶:如果后一天還報有大霧怎么辦?這類知識以及要基于這類知識進行的推理將導致對語言的理解更為復雜和困難。
3 對話管理
DM追蹤對話狀態(tài),并基于此決定系統(tǒng)的響應動作。對話狀態(tài)追蹤和動作選擇的研究已得到了廣泛關(guān)注,取得了大量進展。這些研究一方面由DM計算模型的發(fā)展所帶來[79],例如,從馬爾科夫決策過程(MDP)到部分可觀馬爾科夫決策過程(POMDP),從Q-Learning算法到深度Q網(wǎng)絡(DQN);另一方面也離不開對語言學研究成果的有效借鑒,畢竟人機對話是希望建模人人對話,只有對人類對話的本質(zhì)有了更深刻的理解,才有可能在人機對話的研究中取得相應的進展。這方面,已有的借鑒包括會話分析研究中話輪、相鄰對等概念,它們已成為目前計算模型的建模單元,此外,言語動作等語用學的概念也已成為DM的決策目標。
但是,更多、更深入的語言學研究成果還沒能在計算模型中得到有效體現(xiàn)。如格萊斯的對話合作原則、禮貌原則等還很少進入計算模型的考量范圍。近20年來,一些新興的關(guān)于語言的理論也還幾乎沒有進入計算語言學家的視野,其中就包括筆者認為對于對話建模和DM具有重要借鑒價值的互動語言學。
互動語言學[10]考察和研究日常真實人類互動過程中的語言使用情況,探討語言結(jié)構(gòu)及其運用模式與互動交流是如何相互影響的,為互動參與者在真實、情景化的日常交往中完成互動與交流提供理論解釋和支持?;诱Z言學者從功能語言學、會話分析的成果以及對真實對話數(shù)據(jù)的研究出發(fā),對傳統(tǒng)的語言學有直接的批評。傳統(tǒng)的以喬姆斯基生成語言學為代表的語言學者認為以語言能力為基礎的語言結(jié)構(gòu)的理想形式是語言學研究的對象,語言行為是語言能力在具體使用情景中的實現(xiàn)?;诱Z言學者則認為,語言的結(jié)構(gòu)和意義是在情景互動過程中產(chǎn)生,并隨互動的發(fā)展不斷變化,是說話者和接受者共同協(xié)商的產(chǎn)物。例如:形式語言學將句子這一語言單位作為單個說話者語言能力的產(chǎn)物;而互動語言學者則認為,句子的生成是說話者和接受者在交際過程中互動的產(chǎn)物,它不僅與說話者有關(guān),還關(guān)系到接受者,因為說話者在互動中往往需要根據(jù)接受者的反應調(diào)整話語[11] 。
這種語言結(jié)構(gòu)和意義可以基于互動而不斷進行建構(gòu)的觀點如果能用于DM,幫助構(gòu)建更好的對話結(jié)構(gòu),進行更好的對話言語行為決策,將是十分有價值的。至于如何借鑒,則還需要深入了解互動語言學的相關(guān)成果,同時綜合考慮在當前科學與技術(shù)發(fā)展水平下,構(gòu)建其數(shù)學模型和計算模型的可行性。
筆者在此僅舉一個可能的例子:交互語言學認為語言結(jié)構(gòu)是在語言交互中通過互動而產(chǎn)生的,那么一個好的對話行為決策所基于的對話語言分析和理解可能不應僅局限在一個說話人話輪中進行。在對話中,將對話雙方的鄰接話輪,即相鄰對,作為一個分析單元可能更為可取。目前的模型是可以基于多輪對話信息來進行對話行為選擇。但是,通常只是簡單地拼接對話歷史,而沒有考慮對話歷史中的結(jié)構(gòu)信息。而如果以相鄰對為基礎單元,在計算模型上可以構(gòu)建關(guān)于對話的層次結(jié)構(gòu),有利于建模對話的語言結(jié)構(gòu),從而為對話行為提供更準確的決策信息。
4 系統(tǒng)構(gòu)建
傳統(tǒng)上,一般采用分而治之的方式實現(xiàn)如圖1所示的人機對話系統(tǒng)。即:先分別構(gòu)建NLU、DM和NLG等模塊,這些子模塊通常還要分解為更小的子任務分別建模,之后按序?qū)⑦@些模塊連接起來。這種方案的優(yōu)勢是簡潔清楚,各部分的任務明確,可以分別開展研究,各自解決各自的問題。
但是這種研究方案的問題也很明顯。首先,各個子任務分別研究導致難以建模子任務之間的關(guān)聯(lián)約束信息,而有時這種關(guān)聯(lián)約束信息是非常有價值的。例如:在NLU模塊中的意圖識別和語義分析兩個子任務就是緊密相關(guān)的,一個具有告知所需航班起飛時間意圖的句子很可能包含時間信息,反之,包含時間信息的句子很可能是表明了一種告知時間的意圖。這兩個子任務的交互約束信息是可以互相幫助,共同提高彼此性能的。而如果分別建模,這種交互約束信息就不能得到充分利用了。
其次,各部分分別研究時,某個任務產(chǎn)生的錯誤結(jié)果只能用來調(diào)整這個任務本身,而不能有效地反傳到前面的子任務上,而實際上后一任務的錯誤很可能是前面子任務錯誤的累計導致的。例如:在DM的決策出現(xiàn)錯誤時,其原因可能是狀態(tài)追蹤發(fā)生錯誤,也有可能是語言理解部分發(fā)生了錯誤,如果分別建模,則DM的錯誤不可能直接用于對NLU部分的錯誤進行修正。
因此,人機對話系統(tǒng)的一個重要發(fā)展方向是多任務的聯(lián)合建模。聯(lián)合可以有不同的層次,例如:NLU模塊內(nèi)各個子任務的聯(lián)合建模,綜合利用意圖識別和語義分析兩個子任務之間的交互約束信息,可以獲得更好的理解性能;綜合NLU與DM的跨模塊聯(lián)合建模,使得DM的決策錯誤不僅可以用于修正狀態(tài)追蹤的錯誤,也可以直接用于修正語言理解的錯誤。
另一方面,近年來深度神經(jīng)網(wǎng)絡研究的發(fā)展也為聯(lián)合建模提供了重要的技術(shù)工具。2015年出現(xiàn)了多種基于序列到序列深層神經(jīng)網(wǎng)絡模型的非目標驅(qū)動型對話系統(tǒng)。圖2是一個簡單的例子,其中輸入句子在編碼后逐步解碼得到機器輸出的響應。初期的模型大多只是處理一問一答的應答系統(tǒng),而隨著輸入中加入對話歷史,應答系統(tǒng)逐步向?qū)υ捪到y(tǒng)發(fā)展。與此同時,隨著當前深度強化學習的發(fā)展,面向目標驅(qū)動型對話系統(tǒng)也逐漸成為可能。
這種跨越NLU和DM的聯(lián)合建模具有特別重要的意義,因為它將語言輸入和決策(說什么)直接關(guān)聯(lián)起來了,跨越了NLU任務。實際上,我們在人際對話中是難以看到人的語言理解結(jié)果是什么,而只能看到?jīng)Q策的結(jié)果是什么。我們目前定義的NLU任務只是我們給人機對話引擎設計的,人在對話中是否有類似的理解過程和理解結(jié)果其實是并不清楚的,也有可能不存在或與我們定義的不一樣。我們并不是要否定NLU任務定義本身,而是認為,如果未來能發(fā)展出直接關(guān)聯(lián)語言輸入和決策結(jié)果的好模型,那么基于對這種模型內(nèi)部狀態(tài)的分析,也許可以幫助我們了解在對話過程中真正需要的NLU任務是什么。
5 結(jié)束語
人機對話系統(tǒng)業(yè)已展現(xiàn)出廣泛的應用價值,也在很多實際問題中發(fā)揮了作用。在微軟Build 2016開發(fā)者大會上,微軟首席執(zhí)行官納德拉提出了作為平臺的對話(CaaP),將對話作為平臺技術(shù),作為整合人工智能技術(shù)的途徑,這吸引了非常廣泛的研究和商業(yè)關(guān)注。
從目前的問題研究和技術(shù)水平來看,為特定任務提供信息服務的人機對話系統(tǒng),在進行精心的任務定義和設計之后,是可以獲得較好的服務質(zhì)量的,但是其魯棒性不能得到有效保證。處于任務邊界的話語將很可能導致系統(tǒng)不能優(yōu)雅地退出工作,而對于更為復雜的多任務、跨任務等情形,系統(tǒng)的魯棒性就更難以保證了。然而,反觀人類的日常人際對話,任務邊界模糊在大多數(shù)情況下并不是問題,除非進入非常專業(yè)的領(lǐng)域,跨領(lǐng)域并不太影響人類的人際交互能力,魯棒性似乎是人際對話的一個基本特質(zhì)。人際交互時不懂可以馬上就問,這本身也就是維持對話的一種方式,而不像在閱讀時遇到不懂問題就難以繼續(xù)推進閱讀本身。這些跡象表明,也許目前我們還遠沒有觸及到人機對話系統(tǒng)的核心問題,未來還需要更多、更深入的工作。
參考文獻
[1] WEIZENBAUM J. ELIZA—A Computer Program for the Study of Natural Language Communication Between Man And Machine[J]. Communications of the ACM, 1966, 9(1): 36-45. DOI:10.1145/365153.365168
[2] SENEFF S, HIRSCHMAN L, ZUE V W. Interactive Problem Solving and Dialogue in the ATIS Domain[C]// The Workshop on Speech and Natural Language. Association for Computational Linguistics, 1991:354-359. DOI:10.3115/112405.112743
[3] GORIN A L, RICCARDI G, WRIGHT J H. How May I Help You?[J]. Speech Communication, 1997, 23(1-2):113-127. DOI:10.1016/S0167-6393(97)00040-X
[4] ZUE V, SENEFF S, GLASS J R, et al. JUPITER: A Telephone-Based Conversational Interface for Weather Information[J]. Speech & Audio Processing IEEE Transactions on, 2000, 8(1):85-96. DOI: 10.1109/89.817460
[5] WALKER M, ABERDEEN J, BOL J, et al. DARPA Communicator Dialog Travel Planning Systems: The June 2000 Data Collection[J]. Veterinary Pathology, 2001, 9(3):190-201
[6] JURAFSKY, D. MARTIN, J. H. Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition[M]. New Jersey: Prentice-Hall
[7] YOUNG S, GASIC M, THOMSON B, et al. POMDP-Based Statistical Spoken Dialog Systems: A Review[J]. Proceedings of the IEEE, 2013, 101(5):1160-1179. DOI: 10.1109/JPROC.2012.2225812
[8] YU K, CHEN L, CHEN B, et al. Cognitive Technology in Task- Oriented Dialogue Systems: Concepts, Advances and Future[J]. Chinese Journal of Computers, 2014, 37(18):1-17
[9] WANG X, YUAN C. Recent Advances on Human-Computer Dialogue[J]. Caai Transactions on Intelligence Technology, 2016, 1(4):303-312.DOI: 10.1016/j.trit.2016.12.004
[10] 林大津, 謝朝群. 互動語言學的發(fā)展歷程及其前景[J]. 現(xiàn)代外語, 2003, 26(4):411-418
[11] 羅桂花. 互動語言學:語言產(chǎn)生于互動 互動塑造語言[N]. 中國社會科學報, 2012-10-8(A07)