天天看點

聊天機器人系統的組成結構及關鍵技術

       通常來說,聊天機器人的系統架構如下圖所示,包含五個主要的功能子產品。語音識别子產品負責接收使用者的語音輸入并将其轉換成文字形式交由自然語言了解子產品進行處理。自然語言了解子產品在了解了使用者輸入的語義之後将特定的語義表達式輸入到對話管理子產品中。對話管理子產品負責協調各個子產品的調用及維護目前對話狀态,選擇特定的回複方式并交由自然語言生成子產品進行處理。自然語言生成子產品生成回複文本輸入給語音合成子產品将文字轉換成語音輸出給使用者。這裡我們僅以文本輸入形式為例介紹聊天機器人系統,語音識别和語音合成相關技術則不做展開介紹。

聊天機器人系統的組成結構及關鍵技術

                                                                                  聊天機器人系統架構圖

自然語言了解

         自然語言了解的目的是為聊天任務生成一種語義表示形式[1]。通常來說,聊天機器人系統中的自然語言了解功能包括使用者意圖識别、使用者情感識别、指代消解、省略恢複、回複确認及拒識判斷等技術。

         1)使用者意圖識别:使用者意圖又包括顯式意圖和隐式意圖,顯示的意圖通常對應一個明确的需求,如使用者輸入“我想預定一個标準間”,明确表明了想要預定房間的意圖,而隐式意圖則較難判斷,如使用者輸入“我的手機用了三年了”,有可能想要換一個手機或者顯示其手機性能和品質良好。

        2)使用者情感識别:使用者情感同樣也包含顯式和隐式兩種,如使用者輸入“我今天非常高興”,明确表明了喜悅的情感,而“今天考試剛剛及格”,則不太容易判斷使用者的情感。

       3)指代消解和省略恢複:在對話過程中,由于人們之間具備聊天主題背景一緻性的前提,使用者通常使用代詞來指代上文中的某個實體或事件,或者幹脆省略一部分句子成分。但對于聊天機器人系統來說隻有明确了代詞指代的成分以及句子中省略的成分,才能正确了解使用者的輸入,給出合乎上下文語義的回複。是以需要進行代詞的消解和省略的恢複。 

      4)回複确認:使用者意圖有時會帶有一定的模糊性,這時就需要系統具有主動詢問的功能,進而對模糊的意圖進行确認,即回複确認。

       5)拒識判斷:聊天機器人系統應當具備一定的拒識能力,主動拒絕識别超出自身回複範圍之外或者涉及敏感話題的使用者輸入。

       當然,詞法分析、句法分析以及語義分析等基本的自然語言處理技術對于聊天機器人系統中的自然語言了解功能也起到了至關重要的作用。

對話管理

         對話管理功能主要協調聊天機器人的各個部分,并維護對話的結構和狀态[9]。對話管理功能中涉及到的關鍵技術主要有對話行為識别、對話狀态識别、對話政策學習及對話獎勵等。

        1)對話行為識别:對話行為是指預先定義或者動态生成的對話意圖的抽象表示形式。分為封閉式和開放式兩種,所謂封閉式對話行為,即将對話意圖映射到預先定義好的對話行為類别體系。常見于特定領域或特定任務的對話系統,如票務預訂、酒店預訂等,例如:“我想預訂一個标準間”,這句話被識别為Reservation(Standard_room) 的對話行為。相對的,開放式對話行為則沒有預先定義好的對話行為類别體系,對話行為動态生成。常見于開放域對話系統,如聊天機器人。例如:“今天心情真好啊”,這句話的對話行為可以通過隐式的主題、N元組、相似句子簇、連續向量等形式表達。

       2)對話狀态識别:對話狀态與對話的時序及對話行為相關聯,在t時刻的對話行為序列即為t時刻的對話狀态。是以,對話狀态的轉移就由前一時刻的對話狀态與目前時刻的對話行為決定。

      3)對話政策學習:通常是通過離線的方式,從人-人對話資料中學習對話的行為、狀态、流行度等資訊,進而作為指導人-機對話的政策。這裡流行度通常是指特定模式在語料庫中的頻度。

      4)對話獎勵:對話獎勵是對話系統的中間級評價機制,但會影響對話系統的整體評價。常見的對話獎勵有槽填充效率和回複流行度等。

自然語言生成

        自然語言生成通常根據對話管理部分産生的非語言資訊,自動生成面向使用者的自然語言回報[10]。近年來,在聊天機器人系統上的對話生成主要涉及檢索式和生成式兩類技術。

      1)檢索式對話生成技術:檢索式的代表性技術[2]是在已有的人人對話語料庫中通過排序學習技術和深度比對技術找到适合目前輸入的最佳回複。這種方法的局限是僅能以固定的語言模式進行回複,無法實作詞語的多樣性組合。

     2)生成式對話生成技術:生成式的代表性技術[3,4]則是從已有的人人對話中學習語言的組合模式,是通過一種類似機器翻譯中常用的“編碼-解碼”的過程去逐字或逐詞地生成一個回複,這種回複有可能是從未在語料庫中出現的、由聊天機器人自己“創造”出來的句子。

聊天機器人研究存在的挑戰

         目前,聊天機器人的研究存在的挑戰包括:對話上下文模組化、對話過程中的知識表示、對話政策學習、聊天機器人智能程度的評價等。

        1)對話上下文模組化:聊天是一個有特定背景的連續互動過程,在這一過程中經常出現上下文省略和指代的情況。一句話的意義有時要結合對話上下文或者相關的背景才能确定,而現有的自然語言了解主要基于上下文無關假設,是以對話上下文的模組化成為聊天機器人系統的主要挑戰之一。

        2)對話過程中的知識表示:知識表示一直就是人工智能領域的重要課題,也是聊天機器人提供資訊服務的基礎。聊天機器人相關的領域任務可能有複雜的組成,牽涉很多的因素,隻有了解這些因素的關系和相關的含義,才能與使用者做到真正意義上的交流。

        3)對話政策學習:對話政策涉及很多方面,其中最主要的是對話的主導方式。對話主導方式可以分為使用者主導、系統主導和混合主導三種方式。在目前的對話管理研究中,系統應答的目标是自然、友好、積極,在不會發生問題的情況下,讓使用者盡可能自主,實作對話的混合主導。

      4)聊天機器人智能程度的評價:目前聊天機器人智能程度的評價也是一項挑戰。雖然可以采用一些通用的客觀評價标準,如回答正确率、任務完成率、對話回合數、對話時間、系統平均響應時間、錯誤資訊率等,對聊天機器人進行評價,評價的基本單元是單輪對話。但是,由于人機對話過程是一個連續的過程,而對不同聊天機器人系統的連續對話的評價僅能保證首句輸入的一緻性,當對話展開後,不同系統的回複不盡相同,是以不能簡單地将連續對話切分成單輪對話去評價,于是設計合理的人工主觀評價也許能夠成為客觀評價标準之外,對聊天機器人系統智能程度評價的重要名額。

聊天機器人在研究上的展望

       随着聊天機器人研究的廣泛開展,未來的研究将着眼于以下三方面:

        1)端到端:得益于深度學習技術的發展,已有學者開始着手研究端對端的對話系統[5],即利用統一的模型代替序列化地執行自然語言了解、對話管理和自然語言生成的步驟,從使用者的原始輸入直接生成系統回複。

        2)從特定域到開放域:随着大資料時代的到來,一方面,使得開放域的聊天機器人系統得以擷取豐富的對話資料用于訓練,另一方面,在大資料上可以自動聚類或抽取對話行為等資訊,避免繁雜的人工定義。

        3)更加關注“情商”:如果說傳統的聊天機器人關注的是“智商”,即聊天機器人的資訊和知識擷取能力的話,那麼今後的聊天機器人研究則更加注重“情商”,即聊天機器人的個性化情感撫慰、心理疏導和精神陪護等能力。

        相信在不久的将來,一個能夠讓人們與之無所不談的高“情商”聊天機器人将走入我們的日常生活,成為我們的朋友、同僚甚至是家人。

[1] Ginzburg J, Fernandez R. Computational Models of Dialogue[M]// The Handbook of Computational Linguistics and Natural Language Processing. Wiley‐Blackwell, 2010:429-481.

[2] Z. Ji, Z. Lu, H. Li. An information Retrieval Approach to Short-text Conversation. arXiv: 1408.6988, 2014.

[3] Ritter A, Cherry C, Dolan W B. Data-Driven Response Generation in Social Media.[J]. Empirical Methods in Natural Language Processing, 2011:583-593.

[4] L. Shang, Z. Lu, and H. Li. Neural Responding Machine for Short-text Conversation. In Proceedings of ACL, 2015.

[5] 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.

繼續閱讀