每日最新頭條.有趣資訊

沈向洋等重磅論文:詳細講述微軟小冰系統設計

新智元報導

來源:Arxiv 編輯:肖琴,金磊

【新智元導讀】近日,微軟沈向洋等人發表論文《微軟小冰的設計與實現》,幾乎無保留地公開了小冰系統的開發過程,詳述了系統架構和關鍵組件,包括對話管理器、核心聊天、技能和移情計算模塊。

社交聊天機器人,或能夠與人類進行共情對話的智能系統的開發,一直是人工智能領域持續時間最長的目標之一。近年來,隨著大量會話數據的出現,以及機器學習的突破被應用於會話AI,對話智能系統在學術研究界和行業中都取得了可喜的成果。

微軟小冰是世界上最流行的社交聊天機器人之一。自2014年5月發布以來,小冰已經和超過6.6億用戶聊過天,並成功地與其中許多用戶建立了長期情感聯繫。

近日,微軟小冰團隊發表論文《微軟小冰的設計與實現》(The Design and Implementation of XiaoIce, an Empathetic Social Chatbot),幾乎無保留地公開了小冰系統的開發過程,詳述了系統架構和關鍵組件,包括對話管理器,核心聊天,技能和移情計算模塊,展示了小冰是如何在長時間的對話中動態地識別人類的情感和狀態,理解用戶的意圖,並響應用戶的需求的。

這篇論文可以說是迄今最詳細的關於微軟小冰的論文,作者包括微軟亞洲工程院的周麗、李迪,以及雷德蒙德研究院的高建峰和沈向洋。

論文地址:

https://arxiv.org/pdf/1812.08989v1.pdf

小冰的設計目標

小冰的主要設計目標是成為一個AI伴侶,用戶可以與之形成長期的情感聯繫。作為一個開放領域的社交聊天機器人,小冰能夠與人類用戶建立這樣的長期關係,這不僅使她有別於早期的社交聊天機器人,也使她不同於蘋果Siri、亞馬遜Alexa、Google Assistant和微軟Cortana等最近開發的AI助理。

圖1顯示了一名用戶和小冰之間如何在兩個月時間裡建立起情感聯繫。當用戶第一次遇到聊天機器人(Session 1)時,她在對話中試圖了解小冰的特性和功能。然後,在不到兩周的時間裡(Session 6),用戶開始和小冰談論她的興趣愛好(一部日本漫畫)。到第4周(Session 20),她開始把小冰當作朋友,問她一些與她的真實生活有關的問題。7周後(Session 42次),用戶開始把小冰當作同伴,幾乎每天都和她聊天。又過了兩周(Session 71),沒當她希望有人聊天時,小冰成了她的第一選擇。

小冰是在一個移情計算框架的基礎上開發的,它使得機器(在我們的用例中是社交聊天機器人)能夠識別人類的情感和狀態,理解用戶的意圖,並動態地響應用戶的需求。

小冰的目標是通過一種特殊形式的圖靈測試,稱為“分時測試”(timesharing test)。在測試中,機器和人類在一個具有分時計劃的陪伴系統中共存。如果一個人喜歡它的陪伴(通過對話),我們就可以稱它為“移情”機器。

在接下來的部分,我們將介紹小冰的設計和實現的細節,然後,展示系統的架構和關鍵組件,包括對話管理器,核心聊天,重要技能和移情計算模塊。

小冰的設計原則

社交聊天機器人需要有足夠高的智商(IQ)才能獲得一系列技能,跟上用戶的需求,並幫助他們完成特定的任務。

更重要的是,社交聊天機器人還需要足夠的情商(EQ)來滿足用戶的情感需求,例如情感感受和社會歸屬感,這些都是人類的基本需求。

IQ和EQ的結合是小冰系統設計的核心。小冰的個性也是獨一無二的。

IQ + EQ + 個性

IQ 能力包括知識和記憶建模、影像和自然語言理解、推理、生成和預測。這些都是發展對話技巧的基礎,它們對於社交聊天機器人來說是必不可少的,可以滿足用戶的特定需求,幫助用戶完成特定的任務。

在過去的5年裡,小冰已經開發了230種不同的技能,從回答問題、推薦電影或餐館,到安慰用戶和講故事。最重要、最複雜的技能是核心聊天(Core Chat),它可以與用戶就許多主題進行長時間的開放式對話。

圖2:用戶與小冰的聊天記錄,使用日語(中間),英語翻譯(左)。移情模型提供了一種上下文感知策略,可以在需要的時候驅動對話(右)。例如,小冰決定在第3輪對話停頓時將對話“驅動”到一個新主題,並在第4輪和第7輪對話中,當用戶自己也參與到新主題時積極傾聽。

EQ有兩個關鍵組成部分:同理心和社交技巧。如圖2所示,小冰展示出了足夠的情商,因為她產生了有社交吸引力的反應(例如,幽默感、安慰等),並且能夠決定在對話陷入停滯時,是否將對話“驅動”到一個新的主題,或者當用戶參與到對話時,是否積極傾聽。

個性(Personality)的定義是形成個體獨特性格的行為、認知和情感模式的特徵集合。社交聊天機器人需要表現出一致的個性,在對話中為用戶設定正確的期望,獲得用戶長期的信心和信任。

小冰的角色被設計為一個18歲的女孩,她總是可靠、富有同情心、充滿深情,而且有很好的幽默感。儘管小冰非常博學(因為她能接觸到大量的數據),但她從來沒有表現出任性的一面,只是在適當的時候展示她的智慧和創造力。如圖1所示,小冰聰明地回答了一些敏感的問題(如Session 20),然後巧妙地轉換到對雙方來說都更舒服的新話題。

社交聊天機器人的指標:CPS

與任務導向型的機器人不同,他們的性能可以通過任務成功率來衡量,衡量社交聊天機器人的性能很難。

過去,圖靈測試被用來評估聊天性能。但這還不足以衡量與用戶長期的情感接觸是否成功。相反,我們將每次會話交流回合數(Conversation-turns Per Session, CPS)作為社交聊天機器人的度量標準。它是聊天機器人和用戶在一輪會話中的平均對話次數。CPS越大,社交聊天機器人的參與度就越好。

社交聊天作為分層決策

為了實現這些設計目標,我們在數學上將人機對話作為決策過程,並根據預期的GPS來優化小冰的長期用戶參與度。

如圖3所示,小冰試圖通過促進對話模式的多樣性來維護用戶的興趣。每個會話模式都由處理特定類型會話段的技能管理。例如, 在Turn 1,小冰使用“General Chat”技能,以一句休閑聊天開始了對話;然後,在Turn 4,小冰使用“Music Chat”技能,切換到一個新的音樂話題;在Turn 15,使用“Song On-Demand”技能推薦了一首歌,並在“Turn 18”使用“Ticket-Booking”技能幫助預定了一張音樂會的票。

小冰的系統架構

小冰的總體架構如圖4所示。它由3個層組成:用戶體驗、對話引擎和數據。

用戶體驗層:該層將小冰連接到流行的聊天平台(如微信、QQ),並以兩種模式與用戶交流:全雙工模式和輪流對話模式。該層還包括一組用於處理用戶輸入和小冰響應的組件,如語音識別和合成、影像理解和文本規範化。

對話引擎層:由對話管理器、移情計算模塊、核心聊天和對話技能組成。

數據層:由一組數據庫組成,這些數據庫存儲收集到的人類會話數據(文本對或文本影像對)、用於核心會話和技能的非會話數據和知識圖,以及小冰和所有注冊用戶的個人檔案。

對話引擎深度解析

對話引擎層主要包括四大組件:對話管理器、移情計算(empathetic computing)、Core Chat和技巧。

對話管理器

對話管理器是對話系統的中央控制器。它由全局狀態跟蹤器(Global State Tracker)和對話策略(Dialogue Policy)組成。 該操作可以是頂級策略激活的技巧或Core Chat。

全局狀態跟蹤器

全局狀態跟蹤器通過一個工作記憶體(working memory)來跟蹤對話狀態。工作記憶體在每個會話開始時是空的,然後在每個對話中將用戶和小冰的對話以及根據移情計算模塊從文本中檢測到的實體和移情標簽,用文本字元串的形式來進行存儲。

移情計算

小冰使用分層策略:

頂級策略通過在每個對話輪次中選擇Core Chat或基於對話狀態激活的技能來管理整個會話;

一組低級策略,每個策略對應一種技能,用於管理其會話段。

對話策略旨在通過基於XiaoIce用戶反饋的迭代、反覆試驗和錯誤過程來優化長期用戶參與。

話題管理器(Topic Manager)

話題管理器模擬人類在對話期間更改話題的行為。它由一個分類器和一個話題檢索引擎組成,分類器用於在每個對話回合決定是否切換話題。

如果小冰對話題沒有足夠的了解,無法進行有意義的對話,或者用戶感到厭煩,就會引發話題切換。

移情計算

移情計算反映了小冰的情商。

給定用戶輸入查詢Q,移情計算將上下文C考慮在內,將Q改寫為上下文版本Qc,使用查詢移情向量eQ對用戶在對話中的感受和狀態進行編碼,用響應移情向量eR指定響應R。

移情計算模塊的輸出表示為對話狀態向量s =(Qc,C,eQ,eR),用於選擇技能的對話策略和用於生成的激活技能(例如,CoreChat)的輸入。

移情計算模塊由三個部分組成:上下文查詢理解、用戶理解和人際響應生成。

上下文查詢理解(CQU)

CQU根據C語中的上下文資訊將Q重寫為Qc。例如下圖所示:

用戶理解

該組件基於Qc和C生成查詢移情向量eQ。eQ由表示用戶意圖、情緒,話題、觀點和用戶角色的鍵值對的列表組成,如下圖所示:

人際響應生成

該組件生成響應移情向量eR,它既指定了要生成的響應的移情方面,也體現了小冰的角色。如下圖所示:

Core Chat

Core Chat是小冰IQ和EQ非常重要的組成部分。它與移情計算模塊一起提供了以文本輸入和生成人際響應作為輸出的基本通信能力。

Core Chat由兩部分組成,一般聊天(Generate Chat)和域聊天(Domain Chat)。一般聊天負責參與涵蓋廣泛話題的開放性會話;域聊天負責在特定領域(如音樂、電影和名人)進行更深入的對話。

因為一般聊天和域聊天都是使用相同的引擎實現的,所以在此隻介紹一般聊天。

一般聊天

一般聊天是一個數據驅動響應生成系統。

它將對話狀態s =(Qc,C,eQ,eR)作為輸入,並在兩個階段輸出響應R:響應候選者生成和排名。

一般聊天可以從由人類生成的對話或文本組成的數據庫中檢索響應候選者,或者通過神經生成模型在運行中生成響應候選者。

使用未配對數據集和XiaoIce知識圖(KG)生成響應候選的示例,本文為此顯示了與“北京”(上圖)話題相關的小冰KG片段。 對於人機對話(左下),每個用戶查詢被重寫為由箭頭指示的上下文查詢,然後識別其話題(例如,“北京”),相關話題(“八達嶺長城”和“ 從KG(頂部)檢索“北京小吃”),使用組合查詢話題及其相關話題的查詢從未配對數據集(右下角)檢索響應候選者。

對話技能(Dialogue Skills)

小冰擁有230個對話技能,這些技能與Core Chat一起構成了小冰的智商組成部分。接下來將從四個方面描述這些技能:影像評論、內容創建、深度參與和任務完成。

影像評論

在社交聊天中,人們經常圍繞著圖片進行互動。例如,在Twitter上,上傳照片和附帶的tweet(評論)變得越來越流行。

上圖示出了圍繞共享影像的社交聊天。 可以看到,對話不僅基於可見對象(例如,男孩,自行車),而且還基於影像中隱含的事件,動作或甚至情緒(例如,比賽,獲勝)。

對於人類用戶來說,後面這些方面對於推動有意義且有趣的對話更為重要。

影像評論技能不僅可以正確識別對象並真實地描述影像的內容,還可以生成反映個人情感、態度、位置等的評論。

內容創建

這些技能使小冰能夠與人類用戶在創作活動中進行合作,包括基於文本的詩歌創作、基於語音的歌曲和有聲圖書創作。

上圖中的(a)展示了一位用戶使用小冰為她的母親製作了一個FM節目,為即將到來的春節做準備。(b)展示了小冰可以根據用戶配置自動創建一個故事,例如,這個故事是用於教育還是娛樂,主要人物的姓名、性別和性格等。

深度參與

深度參與技能是針對特定的話題和設定,滿足用戶特定的情感和智力需求,從而提高用戶的長期參與。下圖顯示了一些示例技能。

深度參與技能的例子。(a)食物識別與推薦技能,由食物圖片觸發;(b)“安慰我33天”技能,由用戶輸入中檢測到的極度負面情緒觸發;(c)“計數羊”技能,由類似“數羊”、“多少隻羊”等短語觸發。(d)繞口令技能,由“開始繞口令”命令觸發。

這些技能可以在兩個維度上分成不同的系列:從IQ到EQ,從一對一到小組討論,如下圖所示:

任務完成(Task Completion)

與流行的語音助手(如Google智能助理和微軟Cortana)類似,小冰配備了一系列技能,可幫助用戶完成任務,包括氣象,設備控制(全雙工),按需點播,新聞推薦,Bing Knows等。如下圖所示:

論文地址:

https://arxiv.org/pdf/1812.08989v1.pdf

【加入社群】

新智元 AI 技術 + 產業社群招募中,歡迎對 AI 技術 + 產業落地感興趣的同學,加小助手微信號:aiera2015_2入群;通過審核後我們將邀請進群,加入社群後務必修改群備注(姓名 - 公司 - 職位;專業群審核較嚴,敬請諒解)。

獲得更多的PTT最新消息
按讚加入粉絲團