0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

情感機器人小冰的外部結(jié)構(gòu)

深度學(xué)習(xí)自然語言處理 ? 來源:深度學(xué)習(xí)自然語言處理 ? 作者:深度學(xué)習(xí)自然語言 ? 2020-09-25 17:16 ? 次閱讀

在大學(xué)時代參加過一次微軟技術(shù)大會,沒記錯的是在2015年吧,當時演講者(原諒我不記得名字)在臺上介紹了兩款機器人,所負責日常事務(wù)的秘書小娜(Cortana)和具有情感溝通能力的小冰(XiaoIce),前者在現(xiàn)在看來更像是任務(wù)型的代表,而小冰,則更像是一個有血有肉的人,在回答中能更明顯地透露出人的氣息,這在當時已經(jīng)是神級別的產(chǎn)品了。

19年微軟的4位大佬桌子Arxiv上對微軟小冰的整體架構(gòu)進行了詳盡的介紹,我們來看一下:論文標題:The design and implement of XiaoIce, an empathetic social chatbot。

按事先說明,這篇文章沒有啥復(fù)雜的模型,而是把小冰的外部結(jié)構(gòu)講的很清楚,可以說是智能機器人整個領(lǐng)域一個非常前沿的介紹,大家可以在這里面抽取自己所需放入自己的系統(tǒng)里面。

懶人目錄:

小冰的設(shè)計原則

小冰的架構(gòu)

對話引擎

小結(jié)

小冰的設(shè)計原則

一般系統(tǒng)級介紹的文章,開篇intro結(jié)束后會開始講結(jié)構(gòu)了,但是這篇論文卻加了一章專門討論全文的設(shè)計原則,這里面其實有很多有參考價值的東西,我們來看看。

IQ+EQ+Personality

文章認為,一個完整的人,需要擁有完整智商情商和人格,小冰也是這樣拆解實現(xiàn)的。

先說智商,文章將小冰的智商理解為知識和記憶的建模,圖像和自然語言的理解、推理、生成和預(yù)測。這么說起來其實就非常明確了,一方面我們要有存儲,一種是長期穩(wěn)定的知識,另一種是短期變化的聊天記憶;另一方面就是滿足基本的交流能力,這個和人的對話類似,理解對方說什么、自己反應(yīng)提煉信息、產(chǎn)生自己的回復(fù)并且對對方的回答產(chǎn)生預(yù)期。

然后是情商,情商被拆解為共情能力和社交能力。顧名思義,前者是一種將心比心的能力,理解他人的能力,這里面其實涵蓋了query理解、用戶畫像、情感檢測、情緒識別、動態(tài)追蹤情緒變化等多個能力,可能在細節(jié)上每個能力其實都已經(jīng)有一定的研究,但組合在一起還是有一定難度的;而后者,其實體現(xiàn)在交流上,用戶是有不同的文化、性格等的背景的,因此要具備迎合對方興趣的能力,盡可能避免說一些敏感的話題

最后是人格,中文叫做personality,讓一個人能成為人,必須有他最鮮明的標簽,有自己的性格,因為只有明確性格才能讓用戶有明確的預(yù)期,知道他會和你聊什么,當然這點還被做的更加差異化,不同地區(qū)、場景的小冰可能會有不同的形象以滿足當?shù)赜脩舻男枨蟆?/p>

抓手:對話交互次數(shù)

要衡量一個機器人好壞,對于小冰所應(yīng)對的場景,文章使用了平均單次對話交互次數(shù)作為評價的抓手。文章認為這是一個非常有效、長期可靠的指標。首先對于對話機器人,更多的對話次數(shù)意味著用戶愿意與他溝通,獲取所需信息;第二是,雖然類似“沒聽懂”的這種問題可能會短期帶來更高的交互次數(shù),但是這種劣質(zhì)的交互次數(shù)多以后用戶自然就不愿意再和交流了,所以這個指標在長期來看也是比較有意義的;第三雖然一些技能的快速達成同樣會大導(dǎo)致交互次數(shù)的下降,但是高效的交互同樣會加強用戶和機器人的紐帶,在長期同樣有意義。(作者在這里說了很多有關(guān)交互次數(shù)的誤解,但是個人感覺這個指標還是不能只看次數(shù),還有一些別的指標吧,只看一個指標可能會比較危險)

把社交聊天當做是分層決策

這里的分層決策其實看做是將整個對話內(nèi)容決策看做兩層操作:頂層是技能決策,選擇合適的技能應(yīng)對用戶的對話,底層則考慮原始基本的話術(shù)執(zhí)行回復(fù),兩者結(jié)合完成整體對話操作。

a top-level process manages the overall conversation and selects skills to handle different types of conversation modes (e.g., chatting casually, question answering, ticket booking), and a low- level process, controlled by the selected skill, chooses primitive actions (responses) to generate a conversation segment or complete a task.

小冰的架構(gòu)

整體架構(gòu)長這樣。

整體架構(gòu)分了3層。

用戶體驗層。不同APP下、不同的語音輸入場景下,用戶都有不同的需求。這里分了兩種,說人話就是把語音模式單獨抽取出,滿足更為實時的對話場景,另一種則涵蓋文本、圖像、聲音、視頻的模式。這里面會涉及大量的信息預(yù)處理的工作,如文本圖像則是歸一化、聲音的去噪、判全和ASR等等。

對話引擎層??疵志椭懒?,主要是用來進行對話交互的處理的,里面涵蓋了大量的功能,后面會花點時間展開說,論文也是花了整個章節(jié)來討論這塊。

數(shù)據(jù)層。我們當然知道是需要存儲數(shù)據(jù)的,但是存了什么與怎么用就是用戶所關(guān)心。這里主要講了有什么,有小冰畫像、用戶畫像、成對(我們有的時候叫平行)數(shù)據(jù)、非成對數(shù)據(jù)、主題索引、知識圖譜。

對話引擎

前面的章節(jié)討論了整體架構(gòu)后,這時候就把最核心的對話引擎拿出來詳細品一品了。

對話管理器

Dialogue Manager,對話管理器,可以說是多輪對話最為靈魂的一個模塊了,這里作者把它分為了兩個子模塊,分別是全局狀態(tài)管理器和對話規(guī)則,這里其實把整個對話看成一個類似強化學(xué)習(xí)問題去看了,根據(jù)這個狀態(tài)和對話規(guī)則,可以進行一些動作決策,即,這個動作可以是特定技能,也可以是核心對話的一些規(guī)則。

首先聊聊對話狀態(tài)管理器,它主要維護的是對話過程中出現(xiàn)的需要記憶的信息,從而跟蹤對話的狀態(tài),舉個例子,在對話過程匯總達成的共識就需要被記錄下來,如當前的話題、用戶的愛好等,這種是短期、對話內(nèi)有效的記憶。

而對話規(guī)則,則如上所示采用了分層的對話策略,高級策略管技能,低級策略管話術(shù)。而在其中,高級策略管理的技能也需要記錄下來,于是有了話題管理器,它主要用于實現(xiàn)當前話題、管理話題切換等功能,這里有很多有意思的技術(shù),如發(fā)現(xiàn)用戶覺得無聊的時候主動切換話題、自身知識匱乏聊不下去時的主動切換等等。

說到這個話題的切換,其實內(nèi)部是按照“召回-排序”的模式去搭建的,這個和推薦搜索非常類似,召回主要就是基于用戶信息和當前對話的狀態(tài)了,而排序其實用的就是多個特征合并到一個提升樹上進行機器學(xué)習(xí)打分排序,文章中列舉了一些排序的規(guī)則,如下:

上下文信息。

新鮮度。

用戶個性化特征。

流行度??梢岳斫鉃?a href="http://srfitnesspt.com/v/tag/1722/" target="_blank">網(wǎng)絡(luò)的熱門程度。

接受度??梢岳斫鉃樵谛”鶊鼍跋碌挠脩粼敢馊チ牡某潭取?/p>

情感計算

如果說小冰情感機器人的一個代表任務(wù),那么情感計算模塊就是整個小冰最為特色的對話模塊了。

實質(zhì)上情感計算模塊是把上面提到的狀態(tài)給構(gòu)造處后來,這4個東西分別為上下文狀態(tài)、上下文、用戶情感向量和回復(fù)的情感向量,這個東西后續(xù)就會被放入dialog policy(對話規(guī)則)中進行處理,最終表現(xiàn)為小冰形式的回復(fù)——一個18歲,可靠,富有同情心,深情,博學(xué)多聞,但會自欺欺人,并且幽默感極佳的妹子(心動了沒?)。

整合整個計算模塊主要有3個任務(wù):上下文query理解、用戶理解和用戶回復(fù)生成。

首先是上下文query理解,這個相信很多做搜索推薦的人應(yīng)該都會比較熟悉,這里面涉及到這幾個計算任務(wù):

命名實體識別。NLU的基本操作。

共指解析。這個在多輪對話非常常見,要把里面你的代詞給解析出來。

句子完整性。這個在對話問題里面很常見,需要判斷句子是否完整。

用戶理解實質(zhì)上就是基于上面的和,即上下文狀態(tài)和上下文,處理成用戶情感向量。這里面主要有5個核心工作:

話題檢測,檢測當前的話題狀態(tài),看用戶有沒有自己開新的的話題等。這個要會和話題管理器進行交互(topic manager)

識別對話意圖,文中一共提到了11中對話意圖,如打招呼、回復(fù)、告知等。

情感分析,分析用戶情緒,是開心、傷心、憤怒等。

觀點分析,分析用戶對話題的觀點,樂觀悲觀等。

在用戶畫像明確的前提下引入用戶畫像,如性別興趣等。

在上面基礎(chǔ)上就可以生成了,這里作者把它叫做用戶共情向量生成,說到生成,說明就要把前面的信息集成起來,這樣才能有一個比較綜合性的結(jié)果,這里就包括了前面的對話內(nèi)容、用戶理解,還需要涵蓋小冰的人格特征等。

核心聊天模塊

核心聊天模塊是處理用戶輸入最終完成結(jié)果回復(fù)的重要模塊,它主要分為通用域聊天和垂直域聊天。顧名思義通用域就是管常見的閑聊、開放域場景的聊天,對于特定領(lǐng)域、任務(wù)的聊天,就交給垂直域聊天負責,一般都會是一些比較有深度知識依賴的領(lǐng)域,例如聊電影演員八卦之類的。這樣劃分的核心主要是根據(jù)下游數(shù)據(jù)庫知識存儲的結(jié)構(gòu)有關(guān),這個和搜索非常類似。

無論是開放域聊天還是垂直于聊天,實質(zhì)上都是一種“召回-排序”模式的實現(xiàn)方式,召回(生成)多個可能的回答,然后排序。召回的方式文章列舉了3種:

基于成對文本的數(shù)據(jù)庫檢索。

神經(jīng)網(wǎng)絡(luò)生成。文中提到了實質(zhì)上用的是seq2seq的框架,并特地提到了GRU-RNN。

非成對樣本。非成對樣本的召回來自一些講座、對話記錄等,進行過一些類似非小冰風格的過濾,使用,即對話上下文狀態(tài)作為索引過濾,并借助知識圖譜的方式進行適當?shù)耐卣?,知識圖譜的構(gòu)建原理源于“共現(xiàn)”。

然后就是排序了,排序同樣使用的是提升樹類的模型(可見提升樹類的機器學(xué)習(xí)模型仍有很大的使用空間,不要小看)。特征作者也列舉出來了:

局部語義相似度特征。保證小冰回復(fù)的內(nèi)容和上一句足夠接近,使用的是DSSM模型。

全局語義相似度特征。保證整個聊天會話中內(nèi)容是比較緊湊的,所以會和全局上下文進行與上述相似的一次語義相似度計算。

情緒匹配度。為了保證小冰的形象及其回復(fù)足夠有共情力,需要考慮情緒上的匹配度(注意這里叫匹配度,不是相似性,用戶傷心你不見得要跟著她傷心,你可以嘗試用快樂感染他,大家細品,這也是為什么前兩個用戶用的是coherence,這一個用的是matching的理由)。

檢索相似性。即搜索的相似性,在特定話題下,應(yīng)該有一些特定的關(guān)鍵詞是需要被保留的,所以要有搜索上的相似性,比較突出的當然就是BM25之類的基操了。

圖像評論

圖像評論稍微會觸及到我的知識盲區(qū)——CV,我試著講講吧。

首先看需求,回想下我們在微信給別人發(fā)圖都是為了什么,為了聊天分享對吧,哪怕是斗圖也有斗圖本身的含義,因此圖像評論功能有別于一般的圖像識別,因為這里除了要識別圖像內(nèi)容,還要分析出用戶的目的,然后返回針對性的內(nèi)容,例如“斗圖”,只有能分析出目的并且能給出針對性回復(fù),斗圖才能都得起來。

整體的操作流程和文字的處理其實類似,所以作者更多是舉例子而沒有深入技術(shù)細節(jié)。

對話技能

對話技能涉及到對話內(nèi)容中需要完成的任務(wù),這塊和上述的圖像評論和核心聊天共同組成了IQ模塊,對話技能主要分為內(nèi)容創(chuàng)建,深度參與和任務(wù)完成三種能力。

內(nèi)容創(chuàng)建的主要目標是和人類一起完成一些創(chuàng)作任務(wù),如畫畫、作曲等,甚至包括一些兒童讀物等。這里特別提到了RNN進行創(chuàng)作。

深度參與旨在通過針對特定主題和設(shè)置來滿足用戶的特定情感和智力需求,從而提高用戶的長期參與度,類似的一些百科檢索、求安慰之類的其實都算是深度參與的部分,他主要涵蓋兩個維度,從IQ到EQ,以及組內(nèi)的討論。上面提到的百科、求安慰其實都算是這個維度里面的,這個能覆蓋大量用戶需求。組內(nèi)討論則傾向于和用戶達成一種更加深入的關(guān)系,文中提到的“數(shù)羊”技能就是其中一個。

任務(wù)完成能力讓小冰具備了和小娜類似的私人秘書能力,而且更具“人性”,完成度和貼心度都很高,類似一些相關(guān)的問答,小冰會考慮到用戶的知識背景給出更加通俗的解釋,例如美國人問某個國家的面積,回復(fù)可能就是“面積是XXX,相當于X個美國”。

小結(jié)

文章讀完,可能深度技術(shù)上沒有很明顯的提升,文中但凡說了模型,其實都是一些非常經(jīng)典簡單的模型,收獲是在于知道了這些架構(gòu)上、設(shè)計思路上的東西,回頭想來說實話其實模型反而不是最值錢的東西,他只是一個工具,有了好的設(shè)計,出效果的風險就會更低,哪怕是各種飛機大炮模型,其實都是建立在對用戶對系統(tǒng)現(xiàn)狀足夠理解,根據(jù)這個現(xiàn)狀因地制宜建立起來的,不是誰都適用,試錯風險自然就高了,這也是我在本系列第一篇用這個的核心目的所在。

責任編輯:xj

原文標題:【微軟小冰】多輪和情感機器人的先行者

文章出處:【微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微軟
    +關(guān)注

    關(guān)注

    4

    文章

    6537

    瀏覽量

    103812
  • 情感機器人
    +關(guān)注

    關(guān)注

    1

    文章

    6

    瀏覽量

    3458

原文標題:【微軟小冰】多輪和情感機器人的先行者

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    開源項目!用ESP32做一個可愛的無用機器人

    簡介 作者在完成碩士論文答辯后,利用空閑時間制作了一個他一直想做的機器人——可愛無用機器人。 無用機器人原理是一個連接到開關(guān)的電機,通過邏輯門控制。當開關(guān)被推到“開”時,機器人啟動
    發(fā)表于 09-03 09:34

    開源項目!用ESP32做一個可愛的無用機器人

    簡介 作者在完成碩士論文答辯后,利用空閑時間制作了一個他一直想做的機器人——可愛無用機器人。 無用機器人原理是一個連接到開關(guān)的電機,通過邏輯門控制。當開關(guān)被推到“開”時,機器人
    發(fā)表于 08-30 14:50

    柔性機器人和剛性機器人有什么區(qū)別?

    柔性機器人和剛性機器人都是工業(yè)機器人的一種,柔性機器人和剛性機器人的主要區(qū)別在于它們的結(jié)構(gòu)和使用
    的頭像 發(fā)表于 08-16 10:17 ?323次閱讀
    柔性<b class='flag-5'>機器人</b>和剛性<b class='flag-5'>機器人</b>有什么區(qū)別?

    柔性機器人與剛性機器人區(qū)別與聯(lián)系

    柔性機器人和剛性機器人結(jié)構(gòu)、功能、應(yīng)用場景等方面存在顯著的區(qū)別,但也有一些聯(lián)系。以下是它們的主要區(qū)別與聯(lián)系: 區(qū)別 1.結(jié)構(gòu)材料 柔性機器人
    的頭像 發(fā)表于 07-21 15:37 ?399次閱讀
    柔性<b class='flag-5'>機器人</b>與剛性<b class='flag-5'>機器人</b>區(qū)別與聯(lián)系

    Al大模型機器人

    理解能力強大: AI大模型機器人可以理解和生成自然語言,能夠進行復(fù)雜的對話和語言任務(wù)。它們能夠識別語言中的語義、語境和情感,并據(jù)此作出適當?shù)幕貞?yīng)。廣泛的知識儲備: 這些模型基于大規(guī)模的數(shù)據(jù)集進行訓(xùn)練,擁有
    發(fā)表于 07-05 08:52

    ABB機器人的基本程序數(shù)據(jù)有哪些

    的內(nèi)容。 一、程序結(jié)構(gòu) ABB機器人的程序結(jié)構(gòu)主要包括主程序、子程序、中斷程序和任務(wù)。其中,主程序是機器人執(zhí)行的主要程序,子程序是主程序中調(diào)用的輔助程序,中斷程序是在
    的頭像 發(fā)表于 06-17 09:20 ?859次閱讀

    AI陪伴機器人市場需求快速增長,情感交互成重要布局方向

    電子發(fā)燒友網(wǎng)報道(文/李彎彎)AI陪伴機器人是一種基于人工智能技術(shù)的智能機器人,它能夠與人類進行交互,并提供陪伴和幫助。它們通過模擬人類的行為和思維過程,具備一定的智能和情感能力,能夠理解人類的語言
    的頭像 發(fā)表于 04-20 00:19 ?3172次閱讀

    高壓放大器在介電彈性體折紙術(shù)軟體機器人中的應(yīng)用

    ,機器人被賦予了更多使命,但剛性機器人的高度發(fā)展無法滿足所有應(yīng)用需求,脆弱的結(jié)構(gòu)與笨重的體型使得它們的應(yīng)用受到環(huán)境的限制。近年來軟體機器人的不斷發(fā)展使得這一劣勢足以彌補,為了滿足剛性
    發(fā)表于 02-27 17:15

    并聯(lián)機器人和串聯(lián)機器人的區(qū)別是什么?

    并聯(lián)機器人和串聯(lián)機器人的區(qū)別是什么? 并聯(lián)機器人和串聯(lián)機器人是兩種常見的機器人系統(tǒng)結(jié)構(gòu),它們在設(shè)
    的頭像 發(fā)表于 01-26 15:17 ?2981次閱讀

    常見的工業(yè)機器人類型有哪些?

    工業(yè)機器人根據(jù)其應(yīng)用和結(jié)構(gòu)特點,可以分為多種不同類型,例如SCARA機器人、軸式機器人、Delta機器人、協(xié)作
    發(fā)表于 01-03 11:05 ?1337次閱讀

    【開源項目】Emo:基于樹莓派 4B DIY 能笑會動的桌面機器人

    Emo是一款基于樹莓派4做的個人伴侶機器人,集時尚與創(chuàng)新于一身。它不僅僅是一款機器人,更是一個活生生的存在,與其他機器人不同,它擁有獨特的個性和情感。 硬件部分 樹莓派 4B
    發(fā)表于 12-26 15:18

    用3.8元芯片合宙Air32自制輪腿機器人,靠譜嗎

    在漫天飛舞的銀杏葉中,為你跳“華爾茲”的可能是——可愛的機器人小伙伴?閃耀的科技之光,讓夢想照進現(xiàn)實。
    的頭像 發(fā)表于 12-23 08:04 ?434次閱讀
    用3.8元芯片合宙Air32自制輪腿<b class='flag-5'>機器人</b>,靠譜嗎

    什么是特種機器人?特種機器人的可移動性結(jié)構(gòu)解析

    特種機器人工作環(huán)境的多樣性和復(fù)雜性,它不可能像工業(yè)領(lǐng)域的機器人那樣總是具有良好結(jié)構(gòu)化的或抑制的環(huán)境,其使用環(huán)境的有關(guān)信息往往是多義、不完全或不準確的,而且可能隨著時間改變。
    發(fā)表于 12-19 10:09 ?483次閱讀
    什么是特種<b class='flag-5'>機器人</b>?特種<b class='flag-5'>機器人</b>的可移動性<b class='flag-5'>結(jié)構(gòu)</b>解析

    力控機器人的控制框架和性能評估

    力控機器人是一種能夠基于外部力量進行控制和交互的機器人系統(tǒng)。與傳統(tǒng)的位置控制機器人相比,力控機器人更加靈活和適應(yīng)性強,能夠?qū)崿F(xiàn)與環(huán)境和人類操
    的頭像 發(fā)表于 11-09 15:54 ?473次閱讀

    機器人末端抓手的工作原理及結(jié)構(gòu)設(shè)計

    在當前的機器人研究中,末端抓手是機器人應(yīng)用廣泛的部件之一。機器人末端抓手的主要作用是進行物體的抓取、搬運和放置等任務(wù)。它具有多種結(jié)構(gòu)形式和原理,既可根據(jù)不同應(yīng)用場合進行設(shè)計,也可根據(jù)不
    的頭像 發(fā)表于 11-04 08:07 ?1378次閱讀
    <b class='flag-5'>機器人</b>末端抓手的工作原理及<b class='flag-5'>結(jié)構(gòu)</b>設(shè)計