聊天機(jī)器人的“高情商”煉成術(shù)
聊天機(jī)器人,是一種通過自然語(yǔ)言模擬人類進(jìn)行對(duì)話的程序。通常運(yùn)行在特定的軟件平臺(tái)上,如PC平臺(tái)或者移動(dòng)終端設(shè)備平臺(tái),而類人的硬件機(jī)械體則不是必需的承載設(shè)備。
聊天機(jī)器人的研究源于圖靈(Alan M. Turing)在1950年《Mind》上發(fā)表的文章《Computing Machinery and Intelligence》,文章開篇提出了“機(jī)器能思考嗎?”(“Can machines think?”)的設(shè)問,并且通過讓機(jī)器參與一個(gè)模仿游戲(Imitation Game)來(lái)驗(yàn)證“機(jī)器”能否“思考”,進(jìn)而提出了經(jīng)典的圖靈測(cè)試(Turing Test)。圖靈測(cè)試被認(rèn)為是人工智能的終極目標(biāo),圖靈本人因此也被稱作“人工智能之父”。
最早的聊天機(jī)器人ELIZA[1]誕生于1966年,由麻省理工學(xué)院(MIT)的約瑟夫·魏澤鮑姆(Joseph Weizenbaum)開發(fā),用于在臨床治療中模仿心理醫(yī)生。值得注意的是盡管ELIZA的實(shí)現(xiàn)技術(shù)僅為關(guān)鍵詞匹配及人工編寫的回復(fù)規(guī)則,但魏澤鮑姆本人對(duì)ELIZA的表現(xiàn)感到吃驚,隨后撰寫了《Computer Power and Human Reason》這本書,表達(dá)他對(duì)人工智能的特殊情感。
1988年,加州大學(xué)伯克利分校(UC Berkeley)的羅伯特·威林斯基(Robert Wilensky)等人開發(fā)了名為UC(UNIX Consultant)[2]的聊天機(jī)器人系統(tǒng)。顧名思義,UC是一款幫助用戶學(xué)習(xí)怎樣使用UNIX操作系統(tǒng)的聊天機(jī)器人。它具備了分析用戶的語(yǔ)言、確定用戶操作的目標(biāo)、給出解決用戶需求的規(guī)劃、決定需要與用戶溝通的內(nèi)容、以英語(yǔ)生成最終的對(duì)話內(nèi)容以及根據(jù)用戶對(duì)UNIX系統(tǒng)的熟悉程度進(jìn)行建模的功能。如果說(shuō)ELIZA開啟了智能聊天機(jī)器人時(shí)代的話,那么UC則進(jìn)一步推動(dòng)了聊天機(jī)器人的智能化程度。
為了將圖靈測(cè)試付諸實(shí)踐,美國(guó)科學(xué)家兼慈善家休·勒布納(Hugh G. Loebner)于1990年設(shè)立了人工智能年度比賽——勒布納獎(jiǎng)(Loebner Prize)[3](包括10萬(wàn)美金的獎(jiǎng)金和一塊印有勒布納與圖靈頭像的金牌)。勒布納獎(jiǎng)的設(shè)立旨在獎(jiǎng)勵(lì)首個(gè)與人類回復(fù)無(wú)差別的計(jì)算機(jī)程序,即聊天機(jī)器人系統(tǒng),并以此推動(dòng)圖靈測(cè)試及人工智能的發(fā)展。
在勒布納獎(jiǎng)的推動(dòng)下,聊天機(jī)器人的研究迎來(lái)了一個(gè)高潮,這里面較為代表性的聊天機(jī)器人系統(tǒng)是ALICE(Artificial Linguistic Internet Computer Entity)[4]。受到ELIZA聊天機(jī)器人的啟發(fā),理查德·華勒斯(Richard S. Wallace)博士在1995年開發(fā)了ALICE系統(tǒng)。ALICE曾經(jīng)在2000年、2001年和2004年三次問鼎勒布納獎(jiǎng),并于1998年開始開源,目前全世界有超過500個(gè)開發(fā)者為ALICE項(xiàng)目貢獻(xiàn)代碼。值得注意的是,隨著ALICE一同發(fā)布的AIML(Artificial Intelligence Markup Language)目前被廣泛應(yīng)用在移動(dòng)端虛擬助手的開發(fā)中。盡管ALICE采用的是啟發(fā)式模板匹配的對(duì)話策略,但是它仍然被認(rèn)為是同類型聊天機(jī)器人中性能最好的系統(tǒng)之一。此外,還有用于查詢英國(guó)電話黃頁(yè)的YAP[5]、用于外語(yǔ)學(xué)習(xí)伴侶的CSIEC[6]、用于哈佛大學(xué)數(shù)學(xué)教學(xué)的Sofia[7]等,在這里暫不展開介紹。
近年來(lái),基于聊天機(jī)器人系統(tǒng)的應(yīng)用層出不窮。從應(yīng)用場(chǎng)景的角度來(lái)看,可以分為在線客服、娛樂、教育、個(gè)人助理和智能問答五個(gè)種類。
在線客服聊天機(jī)器人系統(tǒng)的主要功能是同用戶進(jìn)行基本溝通并自動(dòng)回復(fù)用戶有關(guān)產(chǎn)品或服務(wù)的問題,以實(shí)現(xiàn)降低企業(yè)客服運(yùn)營(yíng)成本、提升用戶體驗(yàn)的目的。其應(yīng)用場(chǎng)景通常為網(wǎng)站首頁(yè)和手機(jī)終端。代表性的商用系統(tǒng)有小I機(jī)器人、京東的JIMI客服機(jī)器人等。用戶可以通過與JIMI聊天了解商品的具體信息以及反饋購(gòu)物中存在的問題等。值得稱贊的是,JIMI具備一定的拒識(shí)能力,即能夠知道自己不能回答用戶的哪些問題以及何時(shí)應(yīng)該轉(zhuǎn)向人工客服。
娛樂場(chǎng)景下聊天機(jī)器人系統(tǒng)的主要功能是同用戶進(jìn)行開放主題的對(duì)話,從而實(shí)現(xiàn)對(duì)用戶的精神陪伴、情感慰藉和心理疏導(dǎo)等作用。其應(yīng)用場(chǎng)景通常為社交媒體、兒童玩具等。代表性的系統(tǒng)如微軟“小冰”、微信“小微”、“小黃雞”、“愛情玩偶”等。其中微軟“小冰”和微信“小微”除了能夠與用戶進(jìn)行開放主題的聊天之外,還能提供特定主題的服務(wù),如天氣預(yù)報(bào)和生活常識(shí)等。
應(yīng)用于教育場(chǎng)景下的聊天機(jī)器人系統(tǒng)根據(jù)教育的內(nèi)容不同包括構(gòu)建交互式的語(yǔ)言使用環(huán)境,幫助用戶學(xué)習(xí)某種語(yǔ)言;在學(xué)習(xí)某項(xiàng)專業(yè)技能中,指導(dǎo)用戶逐步深入地學(xué)習(xí)并掌握該技能;在用戶的特定年齡階段,幫助用戶進(jìn)行某種知識(shí)的輔助學(xué)習(xí)等。其應(yīng)用場(chǎng)景通常為具備人機(jī)交互功能的學(xué)習(xí)、培訓(xùn)類軟件以及智能玩具等。這里以科大訊飛公司的開心熊寶(具備移動(dòng)終端應(yīng)用軟件和實(shí)體型玩具兩種形態(tài))智能玩具為例,“熊寶”可以通過語(yǔ)音對(duì)話的形式輔助兒童學(xué)習(xí)唐詩(shī)、宋詞以及回答簡(jiǎn)單的常識(shí)性問題等。
個(gè)人助理類應(yīng)用主要通過語(yǔ)音或文字與聊天機(jī)器人系統(tǒng)進(jìn)行交互,實(shí)現(xiàn)個(gè)人事務(wù)的查詢及代辦功能,如天氣查詢、空氣質(zhì)量查詢、定位、短信收發(fā)、日程提醒、智能搜索等,從而更便捷地輔助用戶的日常事務(wù)處理。其應(yīng)用場(chǎng)景通常為便攜式移動(dòng)終端設(shè)備。代表性的商業(yè)系統(tǒng)有Apple Siri、Google Now、微軟Cortana、出門問問等。其中,Apple Siri的出現(xiàn)引領(lǐng)了移動(dòng)終端個(gè)人事務(wù)助理應(yīng)用的商業(yè)化發(fā)展潮流。,Apple Siri隨著IOS 5一同發(fā)布,具備聊天和指令執(zhí)行功能,可以視為移動(dòng)終端應(yīng)用的總?cè)肟?,然而受到語(yǔ)音識(shí)別能力、系統(tǒng)本身自然語(yǔ)言理解能力的不足以及用戶使用語(yǔ)音和UI操作兩種形式進(jìn)行人機(jī)交互時(shí)的習(xí)慣差異等限制,Siri沒能真正擔(dān)負(fù)起個(gè)人事務(wù)助理的重任。
智能問答類的聊天機(jī)器人主要功能包括回答用戶以自然語(yǔ)言形式提出的事實(shí)型問題和需要計(jì)算和邏輯推理型的問題,以達(dá)到直接滿足用戶的信息需求及輔助用戶進(jìn)行決策的目的。其應(yīng)用場(chǎng)景通常作為問答服務(wù)整合到聊天機(jī)器人系統(tǒng)中。典型的智能問答系統(tǒng)除了IBM Watson之外,還有Wolfram Alpha和Magi,后兩者都是基于結(jié)構(gòu)化知識(shí)庫(kù)的問答系統(tǒng),且分別僅支持英文和中文的問答。
聊天機(jī)器人系統(tǒng)的組成結(jié)構(gòu)及關(guān)鍵技術(shù)
通常來(lái)說(shuō),聊天機(jī)器人的系統(tǒng)框架如下圖所示,包含五個(gè)主要的功能模塊。語(yǔ)音識(shí)別模塊負(fù)責(zé)接收用戶的語(yǔ)音輸入并將其轉(zhuǎn)換成文字形式交由自然語(yǔ)言理解模塊進(jìn)行處理。自然語(yǔ)言理解模塊在理解了用戶輸入的語(yǔ)義之后將特定的語(yǔ)義表達(dá)式輸入到對(duì)話管理模塊中。對(duì)話管理模塊負(fù)責(zé)協(xié)調(diào)各個(gè)模塊的調(diào)用及維護(hù)當(dāng)前對(duì)話狀態(tài),選擇特定的回復(fù)方式并交由自然語(yǔ)言生成模塊進(jìn)行處理。自然語(yǔ)言生成模塊生成回復(fù)文本輸入給語(yǔ)音合成模塊將文字轉(zhuǎn)換成語(yǔ)音輸出給用戶。這里我們僅以文本輸入形式為例介紹聊天機(jī)器人系統(tǒng),語(yǔ)音識(shí)別和語(yǔ)音合成相關(guān)技術(shù)則不做展開介紹。
聊天機(jī)器人系統(tǒng)框架圖
自然語(yǔ)言理解
自然語(yǔ)言理解的目的是為聊天任務(wù)生成一種語(yǔ)義表示形式[8]。通常來(lái)說(shuō),聊天機(jī)器人系統(tǒng)中的自然語(yǔ)言理解功能包括用戶意圖識(shí)別、用戶情感識(shí)別、指代消解、省略恢復(fù)、回復(fù)確認(rèn)及拒識(shí)判斷等技術(shù)。
1)用戶意圖識(shí)別:用戶意圖又包括顯式意圖和隱式意圖,顯示的意圖通常對(duì)應(yīng)一個(gè)明確的需求,如用戶輸入“我想預(yù)定一個(gè)標(biāo)準(zhǔn)間”,明確表明了想要預(yù)定房間的意圖,而隱式意圖則較難判斷,如用戶輸入“我的手機(jī)用了三年了”,有可能想要換一個(gè)手機(jī)或者顯示其手機(jī)性能和質(zhì)量良好。
2)用戶情感識(shí)別:用戶情感同樣也包含顯式和隱式兩種,如用戶輸入“我今天非常高興”,明確表明了喜悅的情感,而“今天考試剛剛及格”,則不太容易判斷用戶的情感。
3)指代消解和省略恢復(fù):在對(duì)話過程中,由于人們之間具備聊天主題背景一致性的前提,用戶通常使用代詞來(lái)指代上文中的某個(gè)實(shí)體或事件,或者干脆省略一部分句子成分。但對(duì)于聊天機(jī)器人系統(tǒng)來(lái)說(shuō)只有明確了代詞指代的成分以及句子中省略的成分,才能正確理解用戶的輸入,給出合乎上下文語(yǔ)義的回復(fù)。因此需要進(jìn)行代詞的消解和省略的恢復(fù)。
4)回復(fù)確認(rèn):用戶意圖有時(shí)會(huì)帶有一定的模糊性,這時(shí)就需要系統(tǒng)具有主動(dòng)詢問的功能,進(jìn)而對(duì)模糊的意圖進(jìn)行確認(rèn),即回復(fù)確認(rèn)。
5)拒識(shí)判斷:聊天機(jī)器人系統(tǒng)應(yīng)當(dāng)具備一定的拒識(shí)能力,主動(dòng)拒絕識(shí)別超出自身回復(fù)范圍之外或者涉及敏感話題的用戶輸入。
當(dāng)然,詞法分析、句法分析以及語(yǔ)義分析等基本的自然語(yǔ)言處理技術(shù)對(duì)于聊天機(jī)器人系統(tǒng)中的自然語(yǔ)言理解功能也起到了至關(guān)重要的作用。
對(duì)話管理
對(duì)話管理功能主要協(xié)調(diào)聊天機(jī)器人的各個(gè)部分,并維護(hù)對(duì)話的結(jié)構(gòu)和狀態(tài)[9]。對(duì)話管理功能中涉及到的關(guān)鍵技術(shù)主要有對(duì)話行為識(shí)別、對(duì)話狀態(tài)識(shí)別、對(duì)話策略學(xué)習(xí)及對(duì)話獎(jiǎng)勵(lì)等。
1)對(duì)話行為識(shí)別:對(duì)話行為是指預(yù)先定義或者動(dòng)態(tài)生成的對(duì)話意圖的抽象表示形式。分為封閉式和開放式兩種,所謂封閉式對(duì)話行為,即將對(duì)話意圖映射到預(yù)先定義好的對(duì)話行為類別體系。常見于特定領(lǐng)域或特定任務(wù)的對(duì)話系統(tǒng),如票務(wù)預(yù)訂、酒店預(yù)訂等,例如:“我想預(yù)訂一個(gè)標(biāo)準(zhǔn)間”,這句話被識(shí)別為 Reservation(Standard_room) 的對(duì)話行為。相對(duì)的,開放式對(duì)話行為則沒有預(yù)先定義好的對(duì)話行為類別體系,對(duì)話行為動(dòng)態(tài)生成。常見于開放域?qū)υ捪到y(tǒng),如聊天機(jī)器人。例如:“今天心情真好啊”,這句話的對(duì)話行為可以通過隱式的主題、N元組、相似句子簇、連續(xù)向量等形式表達(dá)。
2)對(duì)話狀態(tài)識(shí)別:對(duì)話狀態(tài)與對(duì)話的時(shí)序及對(duì)話行為相關(guān)聯(lián),在t時(shí)刻的對(duì)話行為序列即為t時(shí)刻的對(duì)話狀態(tài)。因此,對(duì)話狀態(tài)的轉(zhuǎn)移就由前一時(shí)刻的對(duì)話狀態(tài)與當(dāng)前時(shí)刻的對(duì)話行為決定。
3)對(duì)話策略學(xué)習(xí):通常是通過離線的方式,從人-人對(duì)話數(shù)據(jù)中學(xué)習(xí)對(duì)話的行為、狀態(tài)、流行度等信息,從而作為指導(dǎo)人-機(jī)對(duì)話的策略。這里流行度通常是指特定模式在語(yǔ)料庫(kù)中的頻度。
4)對(duì)話獎(jiǎng)勵(lì):對(duì)話獎(jiǎng)勵(lì)是對(duì)話系統(tǒng)的中間級(jí)評(píng)價(jià)機(jī)制,但會(huì)影響對(duì)話系統(tǒng)的整體評(píng)價(jià)。常見的對(duì)話獎(jiǎng)勵(lì)有槽填充效率和回復(fù)流行度等。
自然語(yǔ)言生成
自然語(yǔ)言生成通常根據(jù)對(duì)話管理部分產(chǎn)生的非語(yǔ)言信息,自動(dòng)生成面向用戶的自然語(yǔ)言反饋[10]。近年來(lái),在聊天機(jī)器人系統(tǒng)上的對(duì)話生成主要涉及檢索式和生成式兩類技術(shù)。
1)檢索式對(duì)話生成技術(shù):檢索式的代表性技術(shù)[11]是在已有的人人對(duì)話語(yǔ)料庫(kù)中通過排序?qū)W習(xí)技術(shù)和深度匹配技術(shù)找到適合當(dāng)前輸入的最佳回復(fù)。這種方法的局限是僅能以固定的語(yǔ)言模式進(jìn)行回復(fù),無(wú)法實(shí)現(xiàn)詞語(yǔ)的多樣性組合。
2)生成式對(duì)話生成技術(shù):生成式的代表性技術(shù)[12,13]則是從已有的人人對(duì)話中學(xué)習(xí)語(yǔ)言的組合模式,是通過一種類似機(jī)器翻譯中常用的“編碼-解碼”的過程去逐字或逐詞地生成一個(gè)回復(fù),這種回復(fù)有可能是從未在語(yǔ)料庫(kù)中出現(xiàn)的、由聊天機(jī)器人自己“創(chuàng)造”出來(lái)的句子。
聊天機(jī)器人研究存在的挑戰(zhàn)
當(dāng)前,聊天機(jī)器人的研究存在的挑戰(zhàn)包括:對(duì)話上下文建模、對(duì)話過程中的知識(shí)表示、對(duì)話策略學(xué)習(xí)、聊天機(jī)器人智能程度的評(píng)價(jià)等。
1)對(duì)話上下文建模:聊天是一個(gè)有特定背景的連續(xù)交互過程,在這一過程中經(jīng)常出現(xiàn)上下文省略和指代的情況。一句話的意義有時(shí)要結(jié)合對(duì)話上下文或者相關(guān)的背景才能確定,而現(xiàn)有的自然語(yǔ)言理解主要基于上下文無(wú)關(guān)假設(shè),因此對(duì)話上下文的建模成為聊天機(jī)器人系統(tǒng)的主要挑戰(zhàn)之一。
2)對(duì)話過程中的知識(shí)表示:知識(shí)表示一直就是人工智能領(lǐng)域的重要課題,也是聊天機(jī)器人提供信息服務(wù)的基礎(chǔ)。聊天機(jī)器人相關(guān)的領(lǐng)域任務(wù)可能有復(fù)雜的組成,牽涉很多的因素,只有了解這些因素的關(guān)系和相關(guān)的含義,才能與用戶做到真正意義上的交流。
3)對(duì)話策略學(xué)習(xí):對(duì)話策略涉及很多方面,其中最主要的是對(duì)話的主導(dǎo)方式。對(duì)話主導(dǎo)方式可以分為用戶主導(dǎo)、系統(tǒng)主導(dǎo)和混合主導(dǎo)三種方式。在當(dāng)前的對(duì)話管理研究中,系統(tǒng)應(yīng)答的目標(biāo)是自然、友好、積極,在不會(huì)發(fā)生問題的情況下,讓用戶盡可能自主,實(shí)現(xiàn)對(duì)話的混合主導(dǎo)。
4)聊天機(jī)器人智能程度的評(píng)價(jià):目前聊天機(jī)器人智能程度的評(píng)價(jià)也是一項(xiàng)挑戰(zhàn)。雖然可以采用一些通用的客觀評(píng)價(jià)標(biāo)準(zhǔn),如回答正確率、任務(wù)完成率、對(duì)話回合數(shù)、對(duì)話時(shí)間、系統(tǒng)平均響應(yīng)時(shí)間、錯(cuò)誤信息率等,對(duì)聊天機(jī)器人進(jìn)行評(píng)價(jià),評(píng)價(jià)的基本單元是單輪對(duì)話。但是,由于人機(jī)對(duì)話過程是一個(gè)連續(xù)的過程,而對(duì)不同聊天機(jī)器人系統(tǒng)的連續(xù)對(duì)話的評(píng)價(jià)僅能保證首句輸入的一致性,當(dāng)對(duì)話展開后,不同系統(tǒng)的回復(fù)不盡相同,因此不能簡(jiǎn)單地將連續(xù)對(duì)話切分成單輪對(duì)話去評(píng)價(jià),于是設(shè)計(jì)合理的人工主觀評(píng)價(jià)也許能夠成為客觀評(píng)價(jià)標(biāo)準(zhǔn)之外,對(duì)聊天機(jī)器人系統(tǒng)智能程度評(píng)價(jià)的重要指標(biāo)。
聊天機(jī)器人在研究上的展望
隨著聊天機(jī)器人研究的廣泛開展,未來(lái)的研究將著眼于以下三方面:
1)端到端:得益于深度學(xué)習(xí)技術(shù)的發(fā)展,已有學(xué)者開始著手研究端對(duì)端的對(duì)話系統(tǒng)[14],即利用統(tǒng)一的模型代替序列化地執(zhí)行自然語(yǔ)言理解、對(duì)話管理和自然語(yǔ)言生成的步驟,從用戶的原始輸入直接生成系統(tǒng)回復(fù)。
2)從特定域到開放域:隨著大數(shù)據(jù)時(shí)代的到來(lái),一方面,使得開放域的聊天機(jī)器人系統(tǒng)得以獲取豐富的對(duì)話數(shù)據(jù)用于訓(xùn)練,另一方面,在大數(shù)據(jù)上可以自動(dòng)聚類或抽取對(duì)話行為等信息,避免繁雜的人工定義。
3)更加關(guān)注“情商”:如果說(shuō)傳統(tǒng)的聊天機(jī)器人關(guān)注的是“智商”,即聊天機(jī)器人的信息和知識(shí)獲取能力的話,那么今后的聊天機(jī)器人研究則更加注重“情商”,即聊天機(jī)器人的個(gè)性化情感撫慰、心理疏導(dǎo)和精神陪護(hù)等能力。
相信在不久的將來(lái),一個(gè)能夠讓人們與之無(wú)所不談的高“情商”聊天機(jī)器人將走入我們的日常生活,成為我們的朋友、同事甚至是家人。
參考文獻(xiàn):
[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.
[2] Wilensky R, Chin D N, Luria M, et al. The Berkeley UNIX consultant project[J]. Computational Linguistics, 1988, 14(4): 35-84.
[3] http://www.loebner.net/Prizef/loebner-prize.html
[4] http://www.alicebot.org/
[5] Kruschwitz, U., De Roeck, A., Scott, P., Steel, S., Turner, R., and Webb, N. (1999). Natural language access to yellow pages. In Third International conference on knowledge-based intelligent information engineering systems, pages 34–37.
[6] Jia J. CSIEC (Computer Simulator in Educational Communication): A virtual context-adaptive chatting partner for foreign language learners[C]//Advanced Learning Technologies, 2004. Proceedings. IEEE International Conference on. IEEE, 2004: 690-692.
[7] Knill O, Carlsson J, Chi A, et al. An artificial intelligence experiment in college math education[J]. http://www. math. harvard. edu/~ knill/preprints/sofia. pdf, 2004.
[8] Ginzburg J, Fernandez R. Computational Models of Dialogue[M]// The Handbook of Computational Linguistics and Natural Language Processing. Wiley‐Blackwell, 2010:429-481.
[9] Jurafsky, D., & Martin, J. H. (2009). Speech and language processing an introduction to natural language processing, computational linguistics, and speech recognition. Prentice-Hall, Inc. Second Edition.
[10] Reiter E, Dale R. Building natural language generation systems[M]. Cambridge University Press, 2000.
[11] Z. Ji, Z. Lu, H. Li. An information Retrieval Approach to Short-text Conversation. arXiv: 1408.6988, 2014.
[12] Ritter A, Cherry C, Dolan W B. Data-Driven Response Generation in Social Media.[J]. Empirical Methods in Natural Language Processing, 2011:583-593.
[13] L. Shang, Z. Lu, and H. Li. Neural Responding Machine for Short-text Conversation. In Proceedings of ACL, 2015.
[14] I.V. Serban., A. Sordoni, Y. Bengio et al. Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models. arXiv:1507.04808v2 [cs.CL] 25 Nov 2015.