聊天機器人的“高情商”煉成術
聊天機器人,是一種通過自然語言模擬人類進行對話的程序。通常運行在特定的軟件平臺上,如PC平臺或者移動終端設備平臺,而類人的硬件機械體則不是必需的承載設備。
聊天機器人的研究源于圖靈(Alan M. Turing)在1950年《Mind》上發表的文章《Computing Machinery and Intelligence》,文章開篇提出了“機器能思考嗎?”(“Can machines think?”)的設問,并且通過讓機器參與一個模仿游戲(Imitation Game)來驗證“機器”能否“思考”,進而提出了經典的圖靈測試(Turing Test)。圖靈測試被認為是人工智能的終極目標,圖靈本人因此也被稱作“人工智能之父”。
最早的聊天機器人ELIZA[1]誕生于1966年,由麻省理工學院(MIT)的約瑟夫·魏澤鮑姆(Joseph Weizenbaum)開發,用于在臨床治療中模仿心理醫生。值得注意的是盡管ELIZA的實現技術僅為關鍵詞匹配及人工編寫的回復規則,但魏澤鮑姆本人對ELIZA的表現感到吃驚,隨后撰寫了《Computer Power and Human Reason》這本書,表達他對人工智能的特殊情感。
1988年,加州大學伯克利分校(UC Berkeley)的羅伯特·威林斯基(Robert Wilensky)等人開發了名為UC(UNIX Consultant)[2]的聊天機器人系統。顧名思義,UC是一款幫助用戶學習怎樣使用UNIX操作系統的聊天機器人。它具備了分析用戶的語言、確定用戶操作的目標、給出解決用戶需求的規劃、決定需要與用戶溝通的內容、以英語生成最終的對話內容以及根據用戶對UNIX系統的熟悉程度進行建模的功能。如果說ELIZA開啟了智能聊天機器人時代的話,那么UC則進一步推動了聊天機器人的智能化程度。
為了將圖靈測試付諸實踐,美國科學家兼慈善家休·勒布納(Hugh G. Loebner)于1990年設立了人工智能年度比賽——勒布納獎(Loebner Prize)[3](包括10萬美金的獎金和一塊印有勒布納與圖靈頭像的金牌)。勒布納獎的設立旨在獎勵首個與人類回復無差別的計算機程序,即聊天機器人系統,并以此推動圖靈測試及人工智能的發展。
在勒布納獎的推動下,聊天機器人的研究迎來了一個高潮,這里面較為代表性的聊天機器人系統是ALICE(Artificial Linguistic Internet Computer Entity)[4]。受到ELIZA聊天機器人的啟發,理查德·華勒斯(Richard S. Wallace)博士在1995年開發了ALICE系統。ALICE曾經在2000年、2001年和2004年三次問鼎勒布納獎,并于1998年開始開源,目前全世界有超過500個開發者為ALICE項目貢獻代碼。值得注意的是,隨著ALICE一同發布的AIML(Artificial Intelligence Markup Language)目前被廣泛應用在移動端虛擬助手的開發中。盡管ALICE采用的是啟發式模板匹配的對話策略,但是它仍然被認為是同類型聊天機器人中性能最好的系統之一。此外,還有用于查詢英國電話黃頁的YAP[5]、用于外語學習伴侶的CSIEC[6]、用于哈佛大學數學教學的Sofia[7]等,在這里暫不展開介紹。
近年來,基于聊天機器人系統的應用層出不窮。從應用場景的角度來看,可以分為在線客服、娛樂、教育、個人助理和智能問答五個種類。
在線客服聊天機器人系統的主要功能是同用戶進行基本溝通并自動回復用戶有關產品或服務的問題,以實現降低企業客服運營成本、提升用戶體驗的目的。其應用場景通常為網站首頁和手機終端。代表性的商用系統有小I機器人、京東的JIMI客服機器人等。用戶可以通過與JIMI聊天了解商品的具體信息以及反饋購物中存在的問題等。值得稱贊的是,JIMI具備一定的拒識能力,即能夠知道自己不能回答用戶的哪些問題以及何時應該轉向人工客服。
娛樂場景下聊天機器人系統的主要功能是同用戶進行開放主題的對話,從而實現對用戶的精神陪伴、情感慰藉和心理疏導等作用。其應用場景通常為社交媒體、兒童玩具等。代表性的系統如微軟“小冰”、微信“小微”、“小黃雞”、“愛情玩偶”等。其中微軟“小冰”和微信“小微”除了能夠與用戶進行開放主題的聊天之外,還能提供特定主題的服務,如天氣預報和生活常識等。
應用于教育場景下的聊天機器人系統根據教育的內容不同包括構建交互式的語言使用環境,幫助用戶學習某種語言;在學習某項專業技能中,指導用戶逐步深入地學習并掌握該技能;在用戶的特定年齡階段,幫助用戶進行某種知識的輔助學習等。其應用場景通常為具備人機交互功能的學習、培訓類軟件以及智能玩具等。這里以科大訊飛公司的開心熊寶(具備移動終端應用軟件和實體型玩具兩種形態)智能玩具為例,“熊寶”可以通過語音對話的形式輔助兒童學習唐詩、宋詞以及回答簡單的常識性問題等。
個人助理類應用主要通過語音或文字與聊天機器人系統進行交互,實現個人事務的查詢及代辦功能,如天氣查詢、空氣質量查詢、定位、短信收發、日程提醒、智能搜索等,從而更便捷地輔助用戶的日常事務處理。其應用場景通常為便攜式移動終端設備。代表性的商業系統有Apple Siri、Google Now、微軟Cortana、出門問問等。其中,Apple Siri的出現引領了移動終端個人事務助理應用的商業化發展潮流。,Apple Siri隨著IOS 5一同發布,具備聊天和指令執行功能,可以視為移動終端應用的總入口,然而受到語音識別能力、系統本身自然語言理解能力的不足以及用戶使用語音和UI操作兩種形式進行人機交互時的習慣差異等限制,Siri沒能真正擔負起個人事務助理的重任。
智能問答類的聊天機器人主要功能包括回答用戶以自然語言形式提出的事實型問題和需要計算和邏輯推理型的問題,以達到直接滿足用戶的信息需求及輔助用戶進行決策的目的。其應用場景通常作為問答服務整合到聊天機器人系統中。典型的智能問答系統除了IBM Watson之外,還有Wolfram Alpha和Magi,后兩者都是基于結構化知識庫的問答系統,且分別僅支持英文和中文的問答。
聊天機器人系統的組成結構及關鍵技術
通常來說,聊天機器人的系統框架如下圖所示,包含五個主要的功能模塊。語音識別模塊負責接收用戶的語音輸入并將其轉換成文字形式交由自然語言理解模塊進行處理。自然語言理解模塊在理解了用戶輸入的語義之后將特定的語義表達式輸入到對話管理模塊中。對話管理模塊負責協調各個模塊的調用及維護當前對話狀態,選擇特定的回復方式并交由自然語言生成模塊進行處理。自然語言生成模塊生成回復文本輸入給語音合成模塊將文字轉換成語音輸出給用戶。這里我們僅以文本輸入形式為例介紹聊天機器人系統,語音識別和語音合成相關技術則不做展開介紹。
聊天機器人系統框架圖
自然語言理解
自然語言理解的目的是為聊天任務生成一種語義表示形式[8]。通常來說,聊天機器人系統中的自然語言理解功能包括用戶意圖識別、用戶情感識別、指代消解、省略恢復、回復確認及拒識判斷等技術。
1)用戶意圖識別:用戶意圖又包括顯式意圖和隱式意圖,顯示的意圖通常對應一個明確的需求,如用戶輸入“我想預定一個標準間”,明確表明了想要預定房間的意圖,而隱式意圖則較難判斷,如用戶輸入“我的手機用了三年了”,有可能想要換一個手機或者顯示其手機性能和質量良好。
2)用戶情感識別:用戶情感同樣也包含顯式和隱式兩種,如用戶輸入“我今天非常高興”,明確表明了喜悅的情感,而“今天考試剛剛及格”,則不太容易判斷用戶的情感。
3)指代消解和省略恢復:在對話過程中,由于人們之間具備聊天主題背景一致性的前提,用戶通常使用代詞來指代上文中的某個實體或事件,或者干脆省略一部分句子成分。但對于聊天機器人系統來說只有明確了代詞指代的成分以及句子中省略的成分,才能正確理解用戶的輸入,給出合乎上下文語義的回復。因此需要進行代詞的消解和省略的恢復。
4)回復確認:用戶意圖有時會帶有一定的模糊性,這時就需要系統具有主動詢問的功能,進而對模糊的意圖進行確認,即回復確認。
5)拒識判斷:聊天機器人系統應當具備一定的拒識能力,主動拒絕識別超出自身回復范圍之外或者涉及敏感話題的用戶輸入。
當然,詞法分析、句法分析以及語義分析等基本的自然語言處理技術對于聊天機器人系統中的自然語言理解功能也起到了至關重要的作用。
對話管理
對話管理功能主要協調聊天機器人的各個部分,并維護對話的結構和狀態[9]。對話管理功能中涉及到的關鍵技術主要有對話行為識別、對話狀態識別、對話策略學習及對話獎勵等。
1)對話行為識別:對話行為是指預先定義或者動態生成的對話意圖的抽象表示形式。分為封閉式和開放式兩種,所謂封閉式對話行為,即將對話意圖映射到預先定義好的對話行為類別體系。常見于特定領域或特定任務的對話系統,如票務預訂、酒店預訂等,例如:“我想預訂一個標準間”,這句話被識別為 Reservation(Standard_room) 的對話行為。相對的,開放式對話行為則沒有預先定義好的對話行為類別體系,對話行為動態生成。常見于開放域對話系統,如聊天機器人。例如:“今天心情真好啊”,這句話的對話行為可以通過隱式的主題、N元組、相似句子簇、連續向量等形式表達。
2)對話狀態識別:對話狀態與對話的時序及對話行為相關聯,在t時刻的對話行為序列即為t時刻的對話狀態。因此,對話狀態的轉移就由前一時刻的對話狀態與當前時刻的對話行為決定。
3)對話策略學習:通常是通過離線的方式,從人-人對話數據中學習對話的行為、狀態、流行度等信息,從而作為指導人-機對話的策略。這里流行度通常是指特定模式在語料庫中的頻度。
4)對話獎勵:對話獎勵是對話系統的中間級評價機制,但會影響對話系統的整體評價。常見的對話獎勵有槽填充效率和回復流行度等。
自然語言生成
自然語言生成通常根據對話管理部分產生的非語言信息,自動生成面向用戶的自然語言反饋[10]。近年來,在聊天機器人系統上的對話生成主要涉及檢索式和生成式兩類技術。
1)檢索式對話生成技術:檢索式的代表性技術[11]是在已有的人人對話語料庫中通過排序學習技術和深度匹配技術找到適合當前輸入的最佳回復。這種方法的局限是僅能以固定的語言模式進行回復,無法實現詞語的多樣性組合。
2)生成式對話生成技術:生成式的代表性技術[12,13]則是從已有的人人對話中學習語言的組合模式,是通過一種類似機器翻譯中常用的“編碼-解碼”的過程去逐字或逐詞地生成一個回復,這種回復有可能是從未在語料庫中出現的、由聊天機器人自己“創造”出來的句子。
聊天機器人研究存在的挑戰
當前,聊天機器人的研究存在的挑戰包括:對話上下文建模、對話過程中的知識表示、對話策略學習、聊天機器人智能程度的評價等。
1)對話上下文建模:聊天是一個有特定背景的連續交互過程,在這一過程中經常出現上下文省略和指代的情況。一句話的意義有時要結合對話上下文或者相關的背景才能確定,而現有的自然語言理解主要基于上下文無關假設,因此對話上下文的建模成為聊天機器人系統的主要挑戰之一。
2)對話過程中的知識表示:知識表示一直就是人工智能領域的重要課題,也是聊天機器人提供信息服務的基礎。聊天機器人相關的領域任務可能有復雜的組成,牽涉很多的因素,只有了解這些因素的關系和相關的含義,才能與用戶做到真正意義上的交流。
3)對話策略學習:對話策略涉及很多方面,其中最主要的是對話的主導方式。對話主導方式可以分為用戶主導、系統主導和混合主導三種方式。在當前的對話管理研究中,系統應答的目標是自然、友好、積極,在不會發生問題的情況下,讓用戶盡可能自主,實現對話的混合主導。
4)聊天機器人智能程度的評價:目前聊天機器人智能程度的評價也是一項挑戰。雖然可以采用一些通用的客觀評價標準,如回答正確率、任務完成率、對話回合數、對話時間、系統平均響應時間、錯誤信息率等,對聊天機器人進行評價,評價的基本單元是單輪對話。但是,由于人機對話過程是一個連續的過程,而對不同聊天機器人系統的連續對話的評價僅能保證首句輸入的一致性,當對話展開后,不同系統的回復不盡相同,因此不能簡單地將連續對話切分成單輪對話去評價,于是設計合理的人工主觀評價也許能夠成為客觀評價標準之外,對聊天機器人系統智能程度評價的重要指標。
聊天機器人在研究上的展望
隨著聊天機器人研究的廣泛開展,未來的研究將著眼于以下三方面:
1)端到端:得益于深度學習技術的發展,已有學者開始著手研究端對端的對話系統[14],即利用統一的模型代替序列化地執行自然語言理解、對話管理和自然語言生成的步驟,從用戶的原始輸入直接生成系統回復。
2)從特定域到開放域:隨著大數據時代的到來,一方面,使得開放域的聊天機器人系統得以獲取豐富的對話數據用于訓練,另一方面,在大數據上可以自動聚類或抽取對話行為等信息,避免繁雜的人工定義。
3)更加關注“情商”:如果說傳統的聊天機器人關注的是“智商”,即聊天機器人的信息和知識獲取能力的話,那么今后的聊天機器人研究則更加注重“情商”,即聊天機器人的個性化情感撫慰、心理疏導和精神陪護等能力。
相信在不久的將來,一個能夠讓人們與之無所不談的高“情商”聊天機器人將走入我們的日常生活,成為我們的朋友、同事甚至是家人。
參考文獻:
[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.



























