?

聊天機器人系統研究進展

2018-12-13 09:05王浩暢
計算機應用與軟件 2018年12期
關鍵詞:評測聊天語音

王浩暢 李 斌

(東北石油大學計算機與信息技術學院 黑龍江 大慶 163318)

0 引 言

隨著社會信息化進程的日益加快,人們希望能夠用自然語言與計算機進行交流,聊天機器人的市場因此產生。聊天機器人通過學習自然語言來與人類進行對話,屬于問答系統的范疇。它不僅能回答用戶所提的問題,還能人性化地與用戶交流,同時提醒或者安排用戶完成一些任務。

20世紀90年代以前的聊天機器人,與用戶的交談僅僅基于談話技巧和程序技巧,在它們的對話庫中存放著很多句型和模板[1],但缺乏語義分析能力,且幾乎沒有知識庫,因此根本無法真正理解用戶所提出問題,對話質量差強人意。同時由于應用場景的缺失,聊天機器人在過去的十幾年間并未得到太多的關注。

隨著技術的不斷創新和市場需求的持續增大,人工智能正成為數據、科技進入人類生活的重要橋梁。近年來,包括自然語言處理、深度學習、語音識別和模式識別等在內的人工智能技術穩步前進,推動了聊天機器人系統的高度發展,人機交互的方式也發生了很大的變化。目前,很多商業公司紛紛投入到聊天機器人的研發中,陸續推出了相關產品,比如蘋果的Siri、谷歌的Google Now、微軟的Cortana與小冰、百度的“度秘”、亞馬遜的智能語音助手Alexa、Facebook的語音助手M、以及韓國風靡全球的SimSimi等。研究聊天機器人的相關技術,尤其是對話理解問題,對促進人機交互方式的發展有重要意義[2]。

1 國內外研究現狀

1.1 國外研究現狀

國外在聊天機器人領域的研究起步比較早,也比較成熟,一些知名的大學和科研機構都對智能人機對話系統進行了深入的研究和系統開發。

聊天機器人的研究開始于1950年,英國知名數學家圖靈在《Mind》上發表了一篇經典論文——《計算機器與智能》[3-4]。在文中,圖靈第一次提出“機器智能”的概念,并提出判斷計算機是否具備智能的實驗方法——“圖靈測試”[5]?!皥D靈測試”是問答系統的藍圖,也是人工智能的終極目標。

1966年,麻省理工學院的計算機科學家Joseph Weizenbaum開發出了最早也是最著名的聊天機器人系統——Eliza[6]。該系統的基本原理是在數據庫中查找與用戶問句中相應的關鍵詞,然后使關鍵詞與相應的模式進行匹配,最后輸出與之匹配的答案。Eliza主要應用于醫療領域,通過這個系統可以引導精神病人與系統進行交互,從而獲取治療需要的信息,能對精神病人進行輔助治療[7]。從此,Eliza系統開啟了智能聊天機器人的時代。

1990年,美國科學家兼慈善家Hugh G.Loebner設立了一年一度的人工智能比賽——Loebner Prize(勒布納獎),目的在于獎勵最擅長模仿人類真實對話場景的機器人;Chatterbox Challenge是2001年開始的一年一度的挑戰,旨在測試聊天機器人在對話中模擬真人的能力,根據對一系列的問題和整個對話的反應程度來判斷該能力。

在這樣一些競賽的推動下,眾多科學家和學者紛紛投身到聊天機器人系統研究中,這在推廣圖靈測試的同時,也推動了人工智能的發展,是聊天機器人的研究的一個黃金期。1995年,Richard S.Wallace博士開發了一個基于經驗的人工智能聊天機器人——ALICE。它以人工智能標記語言AIML(Artificial Intelligence Markup Language)作為知識描述語言,憑借其良好的設計和逼真的效果,在2000年、2001年和2004年三度獲得著名的勒布納獎,并且在2004年獲得了Chatterbox Challenge比賽的冠軍,曾一度被認為是最聰明的聊天機器人。目前,該系統經過改進后已經能夠完全支持中文語言,并且在各種中文聊天系統中取得了較好的成績。

1998年,Wendell Cowart用Java script和PERL語言編寫的Talk-Bot作為一個在線聊天系統被發布,在2001年、2002年和2006年三次獲得了Chatterbox Challenge比賽的冠軍[8]。

由Bruce Wilcox開發的ChatScript在2010年、2011年和2014年三次獲得了勒布納獎,促進了聊天機器人領域的快速發展。由于ChatScript改進了腳本引擎,使其比AIML更具維護性及可讀性,并從AIML時代基于無狀態的對話,進入基于狀態、擁有上下文情景及記憶的對話,帶來了更高的交互性;同時引入Ontology,讓聊天機器人擁有更豐富的知識[9]。

新世紀的到來為智能聊天系統創造了更大的發展空間,尤其是深度學習算法的出現,為聊天機器人的研究帶來了蓬勃生機[10]。目前,研究聊天機器人的熱度持續上漲,各大廠商也紛紛加入到研制聊天機器人的行列,如蘋果語音助手Siri、韓國的小黃雞、IBM沃森系統、谷歌的Google Now、微軟的Cortana、亞馬遜的Alexa等。

1.2 國內研究現狀

相比之下,國內在聊天機器人領域的研究起步較晚,面臨著兩大難題:一是中文在信息處理方面的特殊性,往往無法將國外一些成熟技術和研究成果直接利用到中文對話系統中;二是缺乏相應的自然語言處理的相關基礎資源,如語料庫、知識庫以及相應的評價機制等[1]。

近年來,隨著聊天機器人技術的飛速發展,國內的聊天機器人研究事業有了很大的進展。2014年,微軟小冰一時成為熱門話題,小冰在與用戶的對答中積累了大量的語料基礎,同時,微軟憑借在大數據、自然語義分析、機器學習和深度神經網絡方面的技術積累[11],大大提升了小冰的對話學習能力。繼小冰之后,國內其他廠商緊隨其后,各具特色的聊天機器人應運而生,如公子小白、百度度秘、Holoera等。按照時間的先后順序將聊天機器人所屬的應用場景分類,以及主要功能或核心技術等總結如圖1所示。

圖1 聊天機器人

2 聊天機器人的分類

聊天機器人種類繁多,且廣泛地應用于各個領域。在功能上,可以將聊天機器人劃分為以閑聊為主的開放領域和以任務為主的特定領域;而在技術實現上又可以劃分為檢索式和生成式;本文主要從應用場景上對聊天機器人進行分類,從該方面可以將其劃分為娛樂、在線客服、教育、個人助理和智能問答。

娛樂聊天機器人的主要功能是同用戶進行開放主題的對話。代表性的系統有微軟“小冰”、微信“小微”、“小黃雞”等。此類應用不僅能夠與用戶進行閑聊,實現情感撫慰和精神陪伴等;還能滿足日常生活需求,如新聞播報和天氣預報等。

在線客服聊天機器人的主要功能是針對用戶提出的有關產品或服務的相關問題進行回答。代表性的系統有小i機器人、京東的JIMI客服機器人等。一般而言,客服機器人具備一定的拒識能力,即當知道自己不能回答用戶的問題時,就會提供某種機制將用戶轉向人工客服。

教育場景下的聊天機器人主要功能包括幫助用戶學習新語種;輔助用戶在特定年齡階段對某種知識的學習;指導用戶對某項專業技能的學習等。代表性的系統有科大訊飛公司的開心熊寶和微軟亞洲研究院開發的微軟小英。

個人助理類聊天機器人的主要功能側重于實現個人事務,如信息查詢及代辦其他事件等功能,目的是更便捷地輔助用戶的日常事務處理。代表性的系統有蘋果Siri、百度度秘、微軟Cortana和 Google Now等。

智能問答類的聊天機器人主要功能是理解并回答用戶提出的問題,這些問題比較側重于事實性問題或者是需要計算和邏輯推理型的問題。代表性的系統有IBM Watson、Wolfram Alpha等。

3 聊天機器人系統框架

圖2顯示了一個通用的聊天機器人系統框架,其中包含五個主要的功能模塊?;镜牧鞒虨椋河脩敉ㄟ^文字形式或語音形式輸入之后進行預處理,轉化成文本形式進行自然語言理解,然后再通過語義表示和上下文進入對話管理,接著對當前對話模型進行答案提取,最后將生成的回復文本進行合成輸出給用戶。

圖2 聊天機器人系統框架

3.1 輸入預處理

輸入預處理模塊主要負責對用戶輸入的問句進行前期的處理,如果是文字輸入,就直接交給自然語言理解模塊進行處理;如果是語音輸入,就需要先將語音轉換成文字形式。語音輸入涉及到語音識別技術,語音識別技術主要包括特征提取技術、模式匹配準則以及模型訓練技術3個方面[12]。

3.2 自然語言理解

自然語言理解模塊主要負責從完整的語句中提取出需要的信息,并且理解用戶輸入問句的語義,產生一個特定的語義表達式。聊天機器人系統中的自然語言理解功能包括用戶意圖識別、用戶情感識別、指代消解、省略恢復、回復確認及拒識判斷等技術[13]。并且語法分析、語義分析、關鍵詞提取、相似度計算等自然語言處理技術也是必不可缺的。

3.3 對話管理

對話管理模塊是整個系統的核心,主要功能是協調聊天機器人的各個部分,提供人機交互的對話策略,幫助用戶高效自然地完成任務,并維護和更新整個對話的狀態[14]。其中涉及到對話行為識別、對話狀態跟蹤、動作選擇、對話信息記錄、策略優化以及對話獎勵等關鍵技術。對話管理模塊首先要識別出用戶輸入問題的形式是屬于封閉式還是開放式。封閉式是指有明確的服務目標和服務對象,僅處理特定領域中的問題,給對話的主題進行了限制。開放式則沒有一個清晰的目標和對象,對話涉及的主題很廣,所需要的知識量也是巨大的。接著進行知識匹配,最后得到可以表示或者指向答案的模型。對話管理模塊管理著對話的上下文和后端的知識庫,以及對于生成最終的對話答案產生了直接的影響[15],在整個系統中是非常重要的。

3.4 答案生成

答案生成模塊主要負責根據當前對話的模型進行答案的提取。答案生成通常根據對話管理部分產生的文本信息,自動生成面向用戶的自然語言反饋[13],整個答案生成的過程包括了內容選擇、文本規劃、語句合成、指代表達生成、表層實現等階段。目前,聊天機器人的對話生成技術主要包括檢索式和生成式兩種。檢索式是指在對話庫中以搜索匹配的方式找到適合用戶輸入語句的最佳答案予以回復。生成式是指采用一定的技術手段(如深度學習技術)自動生成新的回復內容。

3.5 輸出處理

輸出處理模塊主要負責了解用戶是以何種形式進行提問。提問時采用的是文字,就直接將文字輸出給用戶;提問時采用的是語音,就先將語音轉化成文字。

4 聊天機器人的構建方法

對于聊天機器人的技術而言,常見的幾種主流技術構建方法有:基于人工模板的聊天機器人、基于檢索的聊天機器人和基于深度學習的聊天機器人。

4.1 基于人工模板的聊天機器人

該方法是根據用戶輸入的句子,在模板庫中找到匹配的問句模板,然后按照對應的應答模板生成答案,返回給用戶,如ALICE、ChatScript等。ALICE[16]采用AIML[17]語言來描述知識庫,AIML語言采用XML語法來存儲數據[18],圖3所示為AIML規則實例。這種方法的優點是精確,缺點是需要大量的人力,并且缺乏靈活性,可擴展性差。

圖3 AIML規則

4.2 基于檢索的聊天機器人

基于檢索技術的聊天機器人根據用戶輸入的句子,在對話庫中以搜索匹配的方式進行匹配,從中找到最合適的應答內容,將答案提取出來返回給用戶,其工作流程圖如圖4所示。這種方法對對話庫的要求很高,并且需要足夠大,但是它的優點是回答質量高,表達比較自然。

圖4 基于檢索的聊天系統工作流程

4.3 基于深度學習的聊天機器人

基于深度學習的聊天機器人根據用戶輸入的句子,利用模型逐詞或逐字生成答案,然后將答案回復給用戶。其中多數技術采用了Encoder-Decoder[19-21]模型,即編碼-解碼模型,其框架技術原理如圖5所示。Encoder就是對輸入序列進行編碼,通過一系列非線性變換轉化成一個帶有語義固定長度的向量;Decoder就是根據之前生成的固定向量再轉化成輸出序列。實現聊天系統的時候,Encoder和Decoder都不是固定的,可選擇的模型有RNN[22]、LSTM[23]、GRU[24]等,可以自由組合。這種方法思路簡單,可擴展,能夠更好地理解上下文,但是模型很難訓練,回復時經常存在一些語法錯誤。

圖5 Encoder-Decoder框架

目前,在構建系統時都是將多種方法融合。根據三種構建方法的不同,將聊天機器人構建方法進行對比,如表1所示。

表1 三種構建方法的比較

5 聊天機器人技術評測及評測指標

5.1 聊天機器人技術評測

技術評測在聊天機器人(人機對話)領域非常重要,不僅對人工智能的技術進步起到了巨大的推動作用,還能夠促進整個科學研究領域的發展。近年來,出現了一些專門針對人機對話技術的評測,如NIPS、DSTC、SMP2017-ECDT等。

神經信息處理系統大會NIPS(Advances in Neural Information Processing Systems)是由連接學派(connectionist)神經網絡的學者于1987年在加拿大創辦,是一個關于機器學習和神經計算領域的頂級會議,該會議于每年12月由NIPS基金會主辦。2017年NIPS在美國西岸加州南部城市長灘市舉辦,競賽主要有5項,包括人機問答、學習跑步、會話智能挑戰等。

對話狀態跟蹤挑戰DSTC(Dialog State Tracking Challenge)是從2013年開始進行的系列研究挑戰任務,每年一次,到2017年已經組織了五次。該評測是一種任務驅動多輪對話評測標準,其重點在于改善跟蹤對話系統的技術水平。狀態跟蹤是指在對話過程中準確估計用戶的目標,該挑戰為對話狀態跟蹤提供了第一個通用的測試平臺和評估標準。

全國社會媒體處理大會SMP(National Conference of Social Media Processing)從2012年開始,每年舉行一次,現已成為社會媒體處理的重要學術活動。第六屆SMP于2017年9月在北京召開,此次會議首次組織舉辦了中文人機對話技術評測(The Evaluation of Chinese Human-Computer Dialogue Technology,SMP2017-ECDT),此次評測主要為了促進中文人機對話系統相關研究的發展,為人機對話技術相關的學術研究人員和產業界從業人員提供一個良好的溝通平臺。表2列出了近5年評測任務及評測指標。

5.2 聊天機器人系統評測指標

聊天機器人系統的評測指標[30-34]采用國際上通用的平均排序倒數MRR(Mean Reciprocal Rank)、信賴加權評分CWS(Confidence Weighted Score)、準確率P(Precision)、召回率R(Recall)和F-Measure(F)幾個評測指標。

(1)

如果標準答案存在于系統給出的排序結果中的多個位置,以排序最高的位置計算;如果標準答案不在系統給出的排序結果中,得0分。式(1)中的M表示標準答案在系統給出的排序結果中的位置,N表示測試集中的提問個數。

表2 人機對話技術評測

續表2

(2)

式中:C表示前i個提問中被正確回答的提問數,N表示測試集中的提問個數。

(3)

(4)

(5)

6 結 語

目前,聊天機器人的研究仍存在許多不足,這些不足為我們指出了未來的發展趨勢。

(1) 理解提問者的問題及語言。目前有些聊天機器人忽略了最基礎的語言理解能力。當用戶所提問題較短時,系統不能有效的理解問題[35]。谷歌和Facebook就對這一問題進行了深入的研究,他們使用深度神經網絡來推進聊天機器人的自然語言處理能力,希望通過分析海量數據來學會理解語言,并以自然的方式回應人類語言。

(2) 學習能力。學習應當是一個優化的過程,聊天機器人應該要建立自己的道德標準體系,識別哪些是應該學習的。除此之外,還要有主動學習的能力?,F在聊天機器人開放式學習的能力依舊是有限的,仍需要人類教會它們如何獲取及處理數據,這背后需要一個龐大的團隊。如果可以通過互聯網自行搜索信息,并進行自動學習和獲取知識,就能減少大量的人力,這也是走向人工智能的重要一步。

(3) 推理判斷能力。聊天機器人如果沒有推理判斷能力,就無法分辨出自己的回答是否正確、合理。因此需要建立自己的評價體系,對所有回答進行判斷,并找出最優答案。目前已有一些研究人員和機構將深度學習和知識圖譜技術應用到聊天機器人中,使得聊天機器人具有一定的推理能力,且對話更加流暢自然。

(4) 記憶能力。目前的聊天機器人只是回答一些簡單的問題,幾乎沒有記憶能力。在一段對話中,人們經常有所省略,用一個或幾個字來代指上文中所說的某一件事,對于這種情況,聊天機器人基本上無法根據上下文來回答。這就需要它們通過深度學習,按照語義的邏輯關系正確代入指代對象[36]。

(5) 語音識別技術。即使聊天機器人已擁有先進的語音識別技術,但口音的差異仍是一大難題。由于語言的差異及各種口音的存在,聊天機器人必須學習適應語種轉換和音調變化。目前,Alexa、Siri、Cortana等個人助理正試圖利用現有數據補充語音功能,以增強語音識別技術,并改善對復雜語音模式的理解,使用數據挖掘和神經網絡來分析和模仿人類語言。

一個好的聊天機器人不僅需要用到各種信息處理技術,還要考慮各種知識的融合,而現在的人工智能技術也正朝著這個方向發展。目前的聊天機器人雖然離我們理想的目標還有一段距離,功能不夠全面,產業和技術發展仍存在著很多局限性,但是隨著研究的不斷深入,聊天機器人的智能化水平將不斷提高,聊天機器人也在逐步走向成熟。如今,聊天機器人技術正處于蓬勃發展的時期,相信在不久的將來聊天機器人會取得一次次重大的突破。

猜你喜歡
評測聊天語音
熱力站設備評測分析
次時代主機微軟XSX全方位評測(下)
次時代主機微軟XSX全方位評測(上)
魔力語音
基于MATLAB的語音信號處理
基于MQ3與MP3的價廉物美的酒駕語音提醒器
對方正在輸入……
我就是不想跟你聊天了
敞開門聊天
MI評測產品排行榜
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合