日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

图灵测试70载,回顾对话机器人的经典实践和最新进展

發(fā)布時(shí)間:2024/10/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图灵测试70载,回顾对话机器人的经典实践和最新进展 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文內(nèi)容整理自 PaperWeekly 和 biendata 在 B 站組織的直播回顧,點(diǎn)擊文末閱讀原文即可跳轉(zhuǎn)至 B 站收看本次分享完整視頻錄像,如需嘉賓課件,請(qǐng)?jiān)?PaperWeekly?公眾號(hào)回復(fù)關(guān)鍵詞課件下載獲取下載鏈接。


作者介紹:盧棟才,來(lái)自華為云語(yǔ)音語(yǔ)義創(chuàng)新 Lab,博士學(xué)位,畢業(yè)于中國(guó)科技大學(xué),曾獲世界機(jī)器人大賽冠軍,所負(fù)責(zé)的家庭服務(wù)機(jī)器人可佳和佳佳機(jī)器人在國(guó)內(nèi)外有較高的影響力。曾研發(fā)的知識(shí)圖譜問(wèn)答技術(shù),獲得 CCKS2019 的技術(shù)創(chuàng)新獎(jiǎng),2020 年聯(lián)合組織了一個(gè) CCKS 相關(guān)的評(píng)測(cè)任務(wù)。同時(shí),在一些機(jī)器人相關(guān)的會(huì)議和期刊上發(fā)表過(guò)一些論文。從 2012 年開始從事人機(jī)交互系統(tǒng)的算法,包括系統(tǒng)的研發(fā),目前致力于華為云對(duì)話機(jī)器人平臺(tái)相關(guān)工作。

從 1950 年圖靈測(cè)試的提出到現(xiàn)在,對(duì)話系統(tǒng)已經(jīng)走過(guò)了將近 70 年的時(shí)間,在這期間對(duì)話系統(tǒng)技術(shù)得到了快速的發(fā)展。方法也從當(dāng)初的規(guī)則演變成如今的深度學(xué)習(xí)方法,對(duì)話系統(tǒng)的魯棒性和準(zhǔn)確性都得到了大幅提升。

2020 年,自然語(yǔ)言處理頂級(jí)會(huì)議 ACL 被接收論文中,對(duì)話系統(tǒng)相關(guān)工作論文數(shù)量達(dá)到歷史之最,這也進(jìn)一步驗(yàn)證了對(duì)話系統(tǒng)最近幾年得到了非常大的關(guān)注。


本文將圍繞對(duì)話機(jī)器人相關(guān)技術(shù)及其在行業(yè)中應(yīng)用實(shí)踐展開,同時(shí)介紹華為云對(duì)話機(jī)器人在多模態(tài)、小樣本、預(yù)訓(xùn)練方向上的最新進(jìn)展。將按照以下 5 部分展開:

  • 對(duì)話機(jī)器人介紹以及歷史簡(jiǎn)單回顧

  • 對(duì)話機(jī)器人中的自然語(yǔ)言理解

  • 對(duì)話機(jī)器人中的對(duì)話管理

  • 多模態(tài)對(duì)話機(jī)器人進(jìn)展

  • 對(duì)話機(jī)器人未來(lái)方向以及總結(jié)

  • 對(duì)話機(jī)器人介紹以及歷史簡(jiǎn)單回顧

    回顧對(duì)話機(jī)器人的發(fā)展歷史,首先要提及的就是著名的圖靈測(cè)試。1950 年圖靈發(fā)表了一篇論文《計(jì)算機(jī)器與智能》,首次提出了對(duì)人工智能的評(píng)價(jià)準(zhǔn)則,也就是圖靈測(cè)試。其含義是指測(cè)試者和被測(cè)試者,通常是一個(gè)人和一臺(tái)機(jī)器,在彼此分隔的情況下,由測(cè)試者通過(guò)一些裝置向被測(cè)試者隨意提問(wèn)。

    如果經(jīng)過(guò)一段時(shí)間的交流后,有超過(guò) 30% 的測(cè)試者不能區(qū)分出哪些問(wèn)題是由人或機(jī)器回答的,那么就證明這臺(tái)機(jī)器通過(guò)測(cè)試,并且認(rèn)為機(jī)器具有了一定的人類智慧。雖然說(shuō)用圖靈測(cè)試來(lái)評(píng)測(cè)對(duì)話系統(tǒng)目前存在很多的爭(zhēng)議,但不妨礙圖靈測(cè)試的思路引領(lǐng)了幾十年間對(duì)話系統(tǒng)的發(fā)展。

    圖靈測(cè)試誕生后第一個(gè)人機(jī)對(duì)話系統(tǒng)是 ELIZA,由 Weizenbaum 于 1964 年到 1966 年間在 MIT 編碼完成。ELIZA 主要是用在臨床治療中去,來(lái)模仿心理醫(yī)生對(duì)患者提供咨詢服務(wù)。當(dāng)時(shí)只是用一些關(guān)鍵字的識(shí)別,但反響還是比較大的。時(shí)間跨越到 1995 年,業(yè)界誕生了一個(gè)非常聰明的,而且很有大眾知名度的對(duì)話機(jī)器人 Alice。

    Alice 三次獲得了羅伯納獎(jiǎng)。羅伯納獎(jiǎng)是重要的人工智能的競(jìng)賽,采用的是標(biāo)準(zhǔn)化的圖靈測(cè)試,評(píng)審會(huì)選出參賽程序中最像人類的。Alice 的成績(jī)?yōu)槭裁慈绱梭@人?主要原因在于其使用了 AIML 語(yǔ)言,在當(dāng)年和同類產(chǎn)品相比具有很大的的競(jìng)爭(zhēng)優(yōu)勢(shì)。

    總結(jié)這時(shí)期對(duì)話機(jī)器人的功能,基本都是基于關(guān)鍵字的識(shí)別,或者是通過(guò)專家系統(tǒng)的規(guī)則來(lái)構(gòu)建的對(duì)話系統(tǒng)。但是,隨著專家系統(tǒng)規(guī)則的演變,逐漸地出現(xiàn)了瓶頸。而基于數(shù)據(jù)驅(qū)動(dòng)方法就得到很廣泛的研究,并且慢慢地應(yīng)用到了對(duì)話系統(tǒng)中。這一時(shí)期的對(duì)話系統(tǒng)主要是由自然語(yǔ)言理解這個(gè)模塊來(lái)驅(qū)動(dòng),同時(shí)會(huì)結(jié)合基于強(qiáng)化學(xué)習(xí)的對(duì)話管理。

    為了解釋它為什么是由自然語(yǔ)言理解和對(duì)話管理來(lái)驅(qū)動(dòng)這個(gè)問(wèn)題,研究者們做過(guò)兩個(gè)典型的工作:在 2005 年到 2013 年,劍橋大學(xué)的 Steve Young 教授提出了基于 POMDP 的對(duì)話管理,以及一個(gè)基于管道 Pipeline 方式的對(duì)話系統(tǒng)。

    這一時(shí)期,基于機(jī)器學(xué)習(xí)自然語(yǔ)言理解方法百花齊放,出現(xiàn)了很多經(jīng)典的機(jī)器學(xué)習(xí)模型。

    上文提及的劍橋大學(xué) Steve Young,就是現(xiàn)在蘋果手機(jī)里面后臺(tái)的 Siri 之父,為后續(xù)的深度學(xué)習(xí)的方法的對(duì)話系統(tǒng)研究,包括應(yīng)用落地,打下了非常堅(jiān)實(shí)的基礎(chǔ)。基本上形式化了很多對(duì)話系統(tǒng)的經(jīng)典的問(wèn)題。但是隨著后面的發(fā)展,基于傳統(tǒng)的機(jī)器學(xué)習(xí)也很快遇到了瓶頸,特別是在語(yǔ)音識(shí)別和圖像分類方面,準(zhǔn)確率無(wú)法得到很大的提升。

    所以在第三代的研究中,這些系統(tǒng)基本上轉(zhuǎn)向了基于大數(shù)據(jù)和深度學(xué)習(xí)的技術(shù)。比如現(xiàn)在大家熟知的,Amazon Alex、Google Home、Siri 這些助手類機(jī)器人。它們其實(shí)主要是以深度學(xué)習(xí)方法,即意圖的識(shí)別、語(yǔ)言理解的方式。基于深度學(xué)習(xí)技術(shù),使得端到端的對(duì)話系統(tǒng)變得可行。

    最近的幾年的研究中,端到端的對(duì)話系統(tǒng)得到了越來(lái)越多的關(guān)注和投入。2017 年開始,對(duì)話系統(tǒng)已經(jīng)開始大規(guī)模在行業(yè)落地應(yīng)用了,也有人稱 2017 年是對(duì)話機(jī)器人的元年。

    那么,為什么需要對(duì)話系統(tǒng)、對(duì)話機(jī)器人呢?對(duì)話機(jī)器人到底有什么用?我們?yōu)槭裁匆芯克?#xff1f;這點(diǎn)要從對(duì)話機(jī)器人巨大的需求背景講起。

    需求主要是在兩個(gè)方向,一個(gè)是 to B,另一個(gè)是 to C。to B 場(chǎng)景比如企業(yè)客服,客服人員的勞動(dòng)是簡(jiǎn)單重復(fù)的,可以用對(duì)話機(jī)器人自動(dòng)客服取代人類客服。

    其二是辦公助手,像華為 Welink,即類似釘釘、微信、WeChat 一樣的辦公類軟件,其實(shí)也有一部分可以去輔助人觸達(dá)一些應(yīng)用。這種辦公類的助手,可以幫助訂機(jī)票,新建日程。還有一個(gè)方向是市場(chǎng)銷售,機(jī)器人也可以幫助企業(yè)做一些推銷、銷售、介紹產(chǎn)品。

    對(duì)于 toC 來(lái)說(shuō),一個(gè)典型的應(yīng)用是個(gè)人助理,特別像家里會(huì)涉及到音箱等,這些個(gè)人助理現(xiàn)在有很大的應(yīng)用背景。包括針對(duì)老人、小孩等特定人群的情感陪護(hù)需求,相對(duì)應(yīng)的可以開發(fā)情感陪護(hù)的機(jī)器人。甚至有些機(jī)器人可以與小孩進(jìn)行同步學(xué)習(xí),教小孩一些課程,做一些娛樂的活動(dòng)。

    那么什么是對(duì)話機(jī)器人?首先通過(guò)最后三個(gè)字 “機(jī)器人”,第一個(gè)想到可能是一個(gè)實(shí)體機(jī)器人。

    確實(shí),實(shí)體機(jī)器人可以做人機(jī)對(duì)話交互,特別像科大可佳機(jī)器人,能夠做一些多模態(tài)交互,給人類情感上一些陪護(hù),甚至機(jī)器人它可以根據(jù)人的指令去做一些家居的控制,科大的可佳機(jī)器人可以去操作冰箱、微波爐, 可以聽懂人的指令去操作環(huán)境上的一些物體,另外類似日本的阿森姆機(jī)器人,這一類機(jī)器人就是實(shí)體類的硬件機(jī)器。

    還有一類是虛擬的軟件機(jī)器人,它可以部署在我們的操作系統(tǒng)里面,像微軟的 Cortana。也可以部署到硬件里面,甚至是手機(jī)里面,像 Siri、Amazon Alex。

    總結(jié)一下,對(duì)話機(jī)器人主要的目的是希望能夠通過(guò)多輪對(duì)話的方式幫助用戶完成任務(wù),或者是保持用戶持續(xù)的一個(gè)有效的交流,并且可以部署到大量的硬件設(shè)備里面去。

    這里將對(duì)話機(jī)器人做兩個(gè)分類,第一類是任務(wù)完成型的對(duì)話機(jī)器人,第二是閑聊型對(duì)話機(jī)器人。上圖表格是兩種機(jī)器人的對(duì)比,我們可以稱之為一個(gè)是理性機(jī)器人,一個(gè)是感性機(jī)器人。

    任務(wù)完成型對(duì)話機(jī)器人它可以偏理性一點(diǎn),它需要去做一些任務(wù)。通常它可能需要調(diào)用一些知識(shí)庫(kù),或者一些服務(wù)后臺(tái)的 API。

    但感性機(jī)器人即閑聊對(duì)話機(jī)器人,對(duì)產(chǎn)品層級(jí)來(lái)說(shuō),它可能會(huì)更偏向于感性一點(diǎn),需要理解用戶的一些情感。任務(wù)完成型對(duì)話機(jī)器人它一般都有特定的目標(biāo),因?yàn)樗_實(shí)需要完成一些具體的任務(wù)。閑聊對(duì)話機(jī)器人它通常是沒有特定的目標(biāo)的,它會(huì)跟你一直持續(xù)的聊下去。

    而且從對(duì)話輪數(shù)控制來(lái)說(shuō),任務(wù)完成型對(duì)話機(jī)器人它希望是對(duì)話輪數(shù)越少越好,因?yàn)樵缴僭胶?#xff0c;能更快地達(dá)到目標(biāo)。閑聊對(duì)話機(jī)器人它可能希望能夠跟人對(duì)話次數(shù)越來(lái)越多,而且能夠持續(xù)的交流下去。

    任務(wù)完成型對(duì)話機(jī)器人它通常包含多個(gè)模塊,而且可以采用規(guī)則或者統(tǒng)計(jì)學(xué)習(xí)的方法。但閑聊對(duì)話機(jī)器人它通常采用一些檢索,或者是 sequence to sequence 的生成方法,這是這兩類方法的不同點(diǎn)。下文將重點(diǎn)在任務(wù)完成型這一類機(jī)器人上展開內(nèi)容。

    從歷史角度看,從圖靈測(cè)試到現(xiàn)在已經(jīng) 70 年過(guò)去了,對(duì)話機(jī)器人這一領(lǐng)域目前還是存在非常大的挑戰(zhàn)。大體總結(jié)為以下幾點(diǎn):

    首先,語(yǔ)言的多樣性非常復(fù)雜,一個(gè)含義可能有各種各樣的表達(dá)。同樣,同一個(gè)表達(dá),在不同的語(yǔ)境下代表的含義可能不一樣,也就是語(yǔ)言的歧義性。

    語(yǔ)言的多樣性和歧義性會(huì)給對(duì)話機(jī)器人的進(jìn)展帶來(lái)非常大的挑戰(zhàn)。

    此外還有語(yǔ)義的表示,首先需要讓機(jī)器去理解語(yǔ)言,而語(yǔ)言本身的符號(hào)是無(wú)法被機(jī)器所理解的,需要把符號(hào)轉(zhuǎn)換成機(jī)器的內(nèi)部表示。那么內(nèi)部表示怎么定義呢,什么樣的內(nèi)部表示才是豐富的呢。但是表示越豐富,對(duì)應(yīng)的學(xué)習(xí)能力可能越弱,反之表示越弱,可能學(xué)習(xí)得越快,這需要如何權(quán)衡呢?

    再者是系統(tǒng)的魯棒性,關(guān)于精度和召回的平衡。對(duì)話機(jī)器人也面臨著一個(gè)問(wèn)題,特別是在 to B 場(chǎng)景里面數(shù)據(jù)是極度匱乏的,在沒有數(shù)據(jù)情況下,如何去進(jìn)行訓(xùn)練,如何去做模型的調(diào)優(yōu),如何保證它的魯棒性?還包括現(xiàn)在深度學(xué)習(xí)的可解釋性,面對(duì)符號(hào)和環(huán)境知識(shí)的橋接。

    當(dāng)機(jī)器人跟人對(duì)話時(shí),它一般會(huì)建立在共同的知識(shí)基礎(chǔ)上,大家都知道中國(guó)的首都是北京,但如果機(jī)器人不知道這個(gè)知識(shí),那它怎么跟人繼續(xù)交流呢?

    上圖是一個(gè)對(duì)話機(jī)器人常用的框架流程,主要分三個(gè)模塊。

    第一塊是自然語(yǔ)言理解,自然語(yǔ)言理解的目的就是將自然語(yǔ)言文本轉(zhuǎn)成機(jī)器內(nèi)部語(yǔ)義表示。任務(wù)型對(duì)話它通常有個(gè)假設(shè)。假設(shè)語(yǔ)義表示,它是由三個(gè)語(yǔ)義元素來(lái)組成的,一個(gè)是領(lǐng)域、一個(gè)意圖、一個(gè)槽。

    一個(gè)領(lǐng)域通常是包含多個(gè)意圖,比如天氣這個(gè)領(lǐng)域,有可能查天氣,有可能查溫度,有可能是查風(fēng)向,這些不同的意圖,通常一個(gè)意圖上可能有多個(gè)槽,我說(shuō)查天氣它查的是什么呢?可能有時(shí)間、可能有地點(diǎn),槽可能是任務(wù)型對(duì)話里面的概念,大家可以認(rèn)為槽是一個(gè)關(guān)鍵字的這樣一個(gè)關(guān)鍵信息的概念,類似于時(shí)間、地點(diǎn),也可以是用戶定義的任何的一個(gè)詞條類型。

    這里舉個(gè)例子,當(dāng)用戶說(shuō):“今天深圳天氣怎么樣”,自然語(yǔ)言理解的任務(wù)就是需要識(shí)別出來(lái)這句話里面領(lǐng)域和意圖是什么。所以輸出領(lǐng)域?yàn)樘鞖?#xff0c;意圖是查天氣。句子中提取到時(shí)間和地點(diǎn)槽位,時(shí)間是今天,地點(diǎn)是深圳。通常在實(shí)際落地應(yīng)用里,還需要把時(shí)間今天翻譯成一個(gè)真正的一個(gè)時(shí)間表達(dá),比如說(shuō) 2020 年 8 月 26 號(hào)。讓后臺(tái)系統(tǒng)方便對(duì)接。

    自然語(yǔ)言理解模塊之后,進(jìn)入對(duì)話管理的模塊,其中包含兩個(gè)子模塊,對(duì)話狀態(tài)跟蹤和對(duì)話策略。從對(duì)話管理職責(zé)來(lái)看,這一步的輸入就是自然語(yǔ)言理解模塊的輸出,輸出是一個(gè) action,action 表明系統(tǒng)應(yīng)該去做什么,應(yīng)該回復(fù)給用戶什么東西,而且這個(gè)生成的 action 一般是一個(gè)形式化的、結(jié)構(gòu)化的內(nèi)容,所以說(shuō)它一般會(huì)再經(jīng)過(guò)一個(gè)自然語(yǔ)言生成的模塊。

    自然語(yǔ)言生成模塊的目的就是把對(duì)話管理的輸出,轉(zhuǎn)成一個(gè)用戶能夠理解的自然語(yǔ)言描述,這個(gè)時(shí)候它會(huì)生成一個(gè)回復(fù)就是:“好的,今天深圳的天氣是晴,溫度 20~30 度。”這么一條自然語(yǔ)言描述。這就構(gòu)成了非常典型的對(duì)話機(jī)器人的常用框架。

    重點(diǎn)來(lái)看,對(duì)話管理又可細(xì)分對(duì)話狀態(tài)跟蹤和對(duì)話策略模塊。對(duì)話狀態(tài)跟蹤的意思就是需要輸入自然語(yǔ)言理解的結(jié)果,同時(shí)需要去更新機(jī)器里面內(nèi)部維持的狀態(tài),它狀態(tài)跳轉(zhuǎn)到什么地方了,而且每一個(gè)槽的值發(fā)生了什么變化。

    比如說(shuō)像這里面已經(jīng)知道時(shí)間是今天,地點(diǎn)是深圳,當(dāng)沒有獲取到這個(gè)信息的時(shí)候,它之前的時(shí)間、地點(diǎn)肯定是空的、未知的,當(dāng)接受到這個(gè)信息,需要去更新它,時(shí)間,原來(lái)是今天,地點(diǎn)是深圳,這就是對(duì)話狀態(tài)跟蹤需要做的。

    對(duì)話策略就是需要根據(jù)這些機(jī)器人里面的狀態(tài),去選擇一個(gè)行動(dòng),這個(gè)行動(dòng)就需要去反饋給用戶,圖上所示就是通過(guò)狀態(tài)的結(jié)果,去生成一個(gè) inform 動(dòng)作。

    對(duì)話機(jī)器人中的自然語(yǔ)言理解

    那么,華為云在自然語(yǔ)言理解方面有哪些實(shí)踐、進(jìn)展?首先來(lái)講講對(duì)話機(jī)器人中的自然語(yǔ)言理解模塊。

    自然語(yǔ)言理解模塊任務(wù)包含三個(gè)任務(wù),一個(gè)是領(lǐng)域識(shí)別,一個(gè)意圖識(shí)別,一個(gè)槽填充。

    領(lǐng)域識(shí)別、意圖識(shí)別其實(shí)它任務(wù)是一樣的,都是一個(gè)分類任務(wù)。在上圖的圓圈里,是我們涉及到的一些典型的算法,在領(lǐng)域、意圖識(shí)別里面。左下角就是一些規(guī)則的方法,前面對(duì)話機(jī)器人的歷史介紹的時(shí)候有提到過(guò),主要包括一些關(guān)鍵字的識(shí)別,正則規(guī)則,然后上下文無(wú)關(guān)文法。這一塊其實(shí)工業(yè)界機(jī)器人平臺(tái)也有在使用。

    上圖左上角是傳統(tǒng)的機(jī)器學(xué)習(xí)方法,像傳統(tǒng)的 SVM、決策樹,甚至 LR 的一些方法。到后面深度學(xué)習(xí)里面用的比較多了,像 TextCNN,Fasttext,包括 R-CNN。從最近幾年趨勢(shì)來(lái)看,其實(shí)預(yù)訓(xùn)練已經(jīng)開始流行了,甚至分類識(shí)別的一個(gè)任務(wù)的范式其實(shí)已經(jīng)發(fā)生改變了。像基于 BERT,華為的 NEZHA 這樣的預(yù)訓(xùn)練的模型加微調(diào)方式,都可以很好的去做這類任務(wù)。

    針對(duì)一些平臺(tái)級(jí)的,特別是 to B 的場(chǎng)景,有很多不同類型的場(chǎng)景,因?yàn)橛行┢髽I(yè)可能沒有數(shù)據(jù),有些企業(yè)數(shù)據(jù)量不多,而有些企業(yè)確實(shí)隨著日志的產(chǎn)生,它有很多數(shù)據(jù)。針對(duì)不同的數(shù)據(jù),不可能一上來(lái)就套用BERT或一個(gè)預(yù)訓(xùn)練模型,這種方法是不太可行的。

    針對(duì)這些不同情況我們做了一些探索。先看如果在無(wú)樣本情況下,如何做這樣的領(lǐng)域一種識(shí)別,所以說(shuō)華為云的一些對(duì)話機(jī)器人技術(shù)平臺(tái)上,其提供了一些規(guī)則的方式定制,因?yàn)橐?guī)則的話,一旦配置一條規(guī)則,其實(shí)它能泛化識(shí)別出大量的文本,在規(guī)則里面提供適配的一些通配符,包括它可以配置一些槽位的字段,甚至一些普通的字段,普通字段可能是一些 word,包括用戶自己的字典,這些都可以配置。

    右邊是給的一些示例,通過(guò)這些規(guī)則配置,我就可以做一些冷啟動(dòng)的方式。即使在這個(gè)用戶沒有訓(xùn)練數(shù)據(jù)的情況下,也有很大的幫助。

    第二種情況,有很多數(shù)據(jù)時(shí)如何選擇最好的方法呢?這就要用到最近幾年眾人熟知的,通過(guò)預(yù)訓(xùn)練加微調(diào)的方式,像上圖右邊這種方式,基本的結(jié)構(gòu)是 transformer,transformer 之后輸出了一個(gè)CLS標(biāo)簽的 Logits,后面接個(gè)全連接層,來(lái)預(yù)測(cè)做分類。

    這種任務(wù)通過(guò)大量的實(shí)驗(yàn)后發(fā)現(xiàn)確實(shí)效果比較好,比如云上辦公軟件華為 Welink。

    Welink 有一些助手的意圖,在 80 多家意圖里面,每個(gè)意圖給它分配 10 條語(yǔ)料、50 條語(yǔ)料、100 條語(yǔ)料,然后把所有語(yǔ)料放進(jìn)去,它的效果確實(shí)不斷遞增,而且最終效果基本上可以達(dá)到 95% 以上的效果。如果你數(shù)據(jù)越多,它效果確實(shí)會(huì)答的非常好。

    不過(guò)存在一個(gè)問(wèn)題,即部署成本較高。因?yàn)槿绻總€(gè)用戶都上一個(gè) BERT,成本上的壓力是很大的。雖然說(shuō)它是通過(guò)預(yù)訓(xùn)練的方式加微調(diào),但仍然需要交大量的數(shù)據(jù)。

    我們有沒有其他方法去解決呢?有的,可以使用一些模型蒸餾的方法來(lái)解決,例如上圖 Tiny-NEZHA 這樣一個(gè)蒸餾的方式去把大模型去蒸餾到小模型里。

    NEZHA 其實(shí)跟 BERT 本身模型上其實(shí)差距不是很大,都是基于 transformer 的結(jié)構(gòu),但它有一些細(xì)微上的結(jié)構(gòu)上的不同,一是可能采用一些相對(duì)位置編碼,第二個(gè)就是字掩碼,因?yàn)樽盅诖a可能是字,或是基于詞級(jí)別的掩碼,和增大 batch size 可能會(huì)用一些混合精度訓(xùn)練,包括 LAMB 優(yōu)化器,這四點(diǎn)可能會(huì)有點(diǎn)不一樣。

    第二塊就是我們的蒸餾技術(shù) Tiny-BERT,會(huì)在兩個(gè)地方都做蒸餾,一個(gè)是在預(yù)訓(xùn)練中的通用蒸餾,通用蒸餾即在訓(xùn)練里面也可以做蒸餾。第二個(gè)就是在任務(wù)相關(guān)的其實(shí)也可以做蒸餾,也做了一些數(shù)據(jù)增強(qiáng)的工作,中文系列模型 NEZHA 的話已經(jīng)也開源了,代碼和模型可以公開下載。

    蒸餾方法如何實(shí)現(xiàn)呢?首先要想清楚學(xué)什么,其次知道怎么學(xué)。因?yàn)榇竽P?teacher 和 Student 原本就可以學(xué)很多向量的表示了,向量生成的一個(gè)表示,包括本身的隱藏 State 等都可以去學(xué)。

    每個(gè)層學(xué)的方向不一樣,在輸出層,可以通過(guò)傳統(tǒng)的 logits 學(xué)生模型的預(yù)測(cè)層的 logits 上去擬合 logits,在中間層,就是一個(gè) Embedding 層的一個(gè)蒸餾,可以去用 MSE 去不斷的去逼近中間層的表達(dá)。

    通過(guò)這幾種方式,其實(shí)在 NLPCC 任務(wù)里面其實(shí)也做了很多這樣的蒸餾實(shí)驗(yàn),包括大小模型、高瘦模型、矮胖模型等,還包括如下面表格里面,在 4 層在 6 層在 8 層里面它的一個(gè)對(duì)應(yīng)的效果。最終結(jié)果還是看上圖的右上角,在 ChineseProve 這樣一個(gè)小模型任務(wù),我們最后 score 達(dá)到 77.7 分,拿到第一位。

    假如需要再輕量級(jí)的模型,是否還有其他方法?對(duì)工業(yè)界來(lái)說(shuō),可以結(jié)合一些傳統(tǒng)的特征,也可以結(jié)合一些深度的特征。傳統(tǒng)的特征例如語(yǔ)言模型、詞性、實(shí)體,包括同義詞、停用詞這些都可以利用上,而深度特征像 word2vec,包括結(jié)合一些淺層的深度學(xué)習(xí)的編碼器等都可以實(shí)現(xiàn)。

    第二個(gè)問(wèn)題,在沒有大量的數(shù)據(jù)前提下,也就是小樣本場(chǎng)景下的領(lǐng)域意圖識(shí)別如何處理。這種情況下,隨時(shí)會(huì)加一些新的類別,而且新的類別下可能幾條數(shù)據(jù),無(wú)法跟之前的數(shù)據(jù)一起訓(xùn)練。

    這種情況下學(xué)界提出小樣本學(xué)習(xí)的概念,其目標(biāo)是只需提供你若干個(gè)樣本(可能是 1~5 個(gè)樣本),根據(jù)這 1~5 個(gè)樣本去學(xué)習(xí),來(lái)判斷這個(gè)類別是什么。

    小樣本學(xué)習(xí)的思路分兩個(gè)過(guò)程,一個(gè)是元訓(xùn)練的階段,這一步非常簡(jiǎn)單。有一個(gè)基本的訓(xùn)練數(shù)據(jù)后,把這個(gè)基本的數(shù)據(jù)劃分成兩個(gè)集合,一個(gè)是支撐集,一個(gè)是詢問(wèn)集,支撐集里可能是每個(gè)類別是非常有限的,只能 sample 句子,k 通常很少很少可能 1~5 個(gè), Query 可以自己選。最后元測(cè)試的階段就隨機(jī)去采 1 到 5 個(gè)樣本,再輸入一個(gè) Query,通過(guò)這批小樣本是不是能夠預(yù)測(cè)正確。

    小樣本學(xué)習(xí)有三種不同類型的方法,像剛見過(guò)的基于模型的,還有基于 optimize的優(yōu)化的方式,此外還有基于度量的方式。我們?cè)诙攘糠绞阶隽艘恍┨剿鳌?/p>

    度量方式分很多種,比如 MatchingNet 是匹配的網(wǎng)絡(luò);原型網(wǎng)絡(luò) protoNet,唯一的不同就是 distance 計(jì)算不太一樣,此外還有 relationnet。我們?cè)谛颖旧细鷤鹘y(tǒng)的 BERT 預(yù)訓(xùn)練加微調(diào)的方式確實(shí)做了對(duì)比。

    在十個(gè)類別、五個(gè)樣本都做了一些對(duì)比的實(shí)驗(yàn)。BERT傳統(tǒng)分類有 83.2% 準(zhǔn)確率,但小樣本學(xué)習(xí)的方法可能達(dá)到 93% 的準(zhǔn)確率,提高確實(shí)比較大。最終十個(gè)類別十個(gè)樣本最終能達(dá)到準(zhǔn)確率 96% 的效果。

    同樣,在實(shí)驗(yàn)的過(guò)程中也發(fā)現(xiàn)了一個(gè)問(wèn)題,為什么它能達(dá)到準(zhǔn)確率 96%?這背后有個(gè)取巧方法,目前小樣本學(xué)習(xí)也存在這樣的現(xiàn)象。在已有框架下是每個(gè) Epoch 的訓(xùn)練測(cè)試數(shù)據(jù)其實(shí)是隨機(jī)采樣的,當(dāng)有 2000 個(gè)類別時(shí),隨機(jī)采 5 個(gè),而數(shù)據(jù)本身包含大量簡(jiǎn)單樣本時(shí),這樣的采樣方式很難涵蓋到其中的困難樣本,所以實(shí)際效果十分存疑。

    為此,我們也做了實(shí)驗(yàn),提出了一個(gè)結(jié)合小樣本學(xué)習(xí)和課程學(xué)習(xí)的方法。方法分為幾部分,一部分先做難度的評(píng)估。我們可以采用 BM25 或 TFIDF 計(jì)算一下每個(gè)樣本之間的差距,專挑那些難的樣本放在一起來(lái)學(xué)習(xí)。另一部分做數(shù)據(jù)劃分,可以把相似難度的數(shù)據(jù)劃分到一起。

    在之前的實(shí)驗(yàn)里面,直接用難的樣本去訓(xùn)練效果如上圖所示是非常非常差的。

    換一個(gè)思路,在能夠保證測(cè)試級(jí)別比較難的基礎(chǔ)上完成學(xué)習(xí)訓(xùn)練,但發(fā)現(xiàn)效果還是會(huì)下降得很快。而前文講過(guò)測(cè)出來(lái)可能會(huì)達(dá)到準(zhǔn)確率 96% 的效果,但這樣分析和實(shí)驗(yàn)后,會(huì)發(fā)現(xiàn)真實(shí)的小樣本學(xué)習(xí)其實(shí)沒有這么好的效果。為了解決這種情況,就要結(jié)合課程學(xué)習(xí),不斷從易到難。

    最終如上圖,提高三到六個(gè)點(diǎn)的準(zhǔn)確率,目前工作也在也在持續(xù)地進(jìn)行中。

    可以得到的結(jié)論是,在簡(jiǎn)單數(shù)據(jù)上,課程學(xué)習(xí)雖然不能顯著提升效果,能提高 3 到 6 個(gè)點(diǎn)的準(zhǔn)確率,但確實(shí)可以降低方差(方差就是說(shuō)原本我隨著訓(xùn)練的難度,測(cè)試難度越大,好跟不好差距特別大),而且直接使用傳統(tǒng)的小樣本學(xué)習(xí)的方法,在難的樣本里其實(shí)并不能取得很好的效果,之前能達(dá)到準(zhǔn)確率 95% 這樣的效果其實(shí)是不可信的。同時(shí)加入小樣本加課程學(xué)習(xí),在難樣本上提升效果比較明顯。

    再來(lái)看槽填充方法。比如說(shuō)用戶想要預(yù)定明天去北京的機(jī)票,機(jī)器人需要提取出來(lái) time 是明天,而 destination 是北京,通常在實(shí)際使用中明天可能會(huì)需要轉(zhuǎn)成一個(gè)具體的時(shí)間表達(dá),這樣一個(gè)任務(wù)可以轉(zhuǎn)換成一個(gè)序列標(biāo)注任務(wù)

    在線上場(chǎng)景中除了可以采用 CRF、LSTM-CRF、BERT 這些模型,一般情況下有一套完整流程,通常對(duì)話前會(huì)內(nèi)置一些實(shí)體,首先會(huì)做自定義的實(shí)體識(shí)別,其目的在于作為一個(gè)實(shí)體的歸一化和做細(xì)度的特征提取,之后才會(huì)輸入到模型里,來(lái)提高模型的泛化能力。同時(shí)還會(huì)結(jié)合槽填充的規(guī)則做融合,得到輸出結(jié)果。

    應(yīng)用場(chǎng)景中,槽填充會(huì)有哪些問(wèn)題呢?首先是時(shí)間歸一化,時(shí)間表達(dá)會(huì)比較多。另外不同的客戶人名可能不太一樣,人名表達(dá)也具有多樣化,不同用戶人名的識(shí)別也會(huì)帶來(lái)一些難度。同時(shí)模型和規(guī)則的融合方法也存在挑戰(zhàn)。最后就是多輪中可能會(huì)有一些槽填充的問(wèn)題。新平臺(tái)里面需要內(nèi)置一些槽位,這樣用戶用起來(lái)可能會(huì)比較方便、簡(jiǎn)單。

    從上文可以看出,將領(lǐng)域識(shí)別、意圖識(shí)別槽填充拆開出來(lái)當(dāng)多個(gè)任務(wù)會(huì)帶來(lái)一些問(wèn)題:

    領(lǐng)域識(shí)別和意圖識(shí)別會(huì)產(chǎn)生錯(cuò)誤,槽填充也會(huì)產(chǎn)生錯(cuò)誤,經(jīng)過(guò)一層一層 pipeline 可能會(huì)疊加一些誤差。這個(gè)時(shí)候可以采用多任務(wù)模型的方式,即把這三個(gè)標(biāo)簽信息、三個(gè)語(yǔ)料同時(shí)去放到一個(gè)模型里面去學(xué)習(xí);

    如上圖模型,融合 bert 和 crf 對(duì)領(lǐng)域、意圖、槽聯(lián)合建模,實(shí)驗(yàn)結(jié)果也證明確實(shí)會(huì)帶來(lái)較大的提高。傳統(tǒng)的 CRF 模型可能效果確實(shí)不是很好,最后的 ChunkF1 可能只能達(dá)到 0.79 的準(zhǔn)確率。通過(guò) BERT 它可能達(dá)到 0.87 的準(zhǔn)確率。加入領(lǐng)域識(shí)別槽填充這一系列后,最后的 ChunkF1 大約能提高大概兩個(gè)點(diǎn)。

    對(duì)話機(jī)器人中的對(duì)話管理

    為什么對(duì)話機(jī)器人需要對(duì)話管理模塊呢?為什么不直接用自然語(yǔ)言理解直接對(duì)接服務(wù) API?對(duì)話管理模塊存在很有必要,而且是對(duì)話系統(tǒng)的核心,其原因在于用戶很多情況下不會(huì)一次性表達(dá)完意圖,同時(shí)系統(tǒng)各個(gè)模塊的準(zhǔn)確率,也并不一定能達(dá)到 100% 的準(zhǔn)確。

    不管是語(yǔ)音識(shí)別或者自然語(yǔ)言理解本身解析都可能產(chǎn)生錯(cuò)誤,導(dǎo)致反饋不正確的回復(fù),或者根本就不知道怎么回復(fù)。這兩種情況都需要機(jī)器人跟用戶進(jìn)行多次的交流確認(rèn),才能獲取用戶的完整的意圖,也就是需要對(duì)話管理模塊來(lái)完成這部分工作。

    對(duì)話管理一般分為狀態(tài)跟蹤和對(duì)話策略的學(xué)習(xí)兩部分。狀態(tài)跟蹤就是用來(lái)跟蹤用戶的目標(biāo),比如用戶當(dāng)前說(shuō)了什么、之前說(shuō)了什么。上圖左邊是一個(gè)簡(jiǎn)單的狀態(tài)集合,包括可能有一些相關(guān)的狀態(tài)之間跳轉(zhuǎn),可以看到通常會(huì)有狀態(tài)如何跳轉(zhuǎn)的先驗(yàn)知識(shí)。

    右邊的結(jié)構(gòu)是隨著用戶跟機(jī)器人的對(duì)話同時(shí)進(jìn)行的。用戶說(shuō) “我要預(yù)定明天去北京的機(jī)票”,這時(shí)用戶狀態(tài)從空就跳到了目的地出發(fā)地這樣一個(gè)狀態(tài),并隨著問(wèn)題交互的進(jìn)行,直到填充所有的槽位。這樣一個(gè)過(guò)程是通過(guò)狀態(tài)跟蹤來(lái)做的。

    再來(lái)看對(duì)話策略,對(duì)話策略的目的是告訴機(jī)器人應(yīng)該說(shuō)什么。看一個(gè)例子,按照上圖紅色框所示,根據(jù)輸入的當(dāng)前狀態(tài)的信息,用戶已經(jīng)輸入目的地了并告知了出發(fā)時(shí)間,系統(tǒng)應(yīng)該去判斷,發(fā)現(xiàn)出發(fā)地是未知的,這時(shí)的策略也很簡(jiǎn)單,提問(wèn) “請(qǐng)問(wèn)從哪里出發(fā)?” 而不是 “請(qǐng)問(wèn)去哪里?”。

    對(duì)話管理任務(wù)到底存在哪些問(wèn)題和困難呢?

    首先是用戶的意圖是無(wú)法事先知道的,用戶隨時(shí)可能會(huì)說(shuō)任何其他的話,甚至調(diào)戲機(jī)器人。所以機(jī)器人很難捕捉到用戶真實(shí)的意圖,甚至要面對(duì)用戶可能會(huì)隨時(shí)切換意圖的可能。

    第二,真實(shí)環(huán)境中噪音比較大,導(dǎo)致對(duì)話管理獲取到的信息并不是用戶真實(shí)表達(dá)的含義。

    第三,絕大部分領(lǐng)域的意圖槽位內(nèi)容會(huì)很多,比如時(shí)間或者其他數(shù)字信息是連續(xù)的。如果要用模型真實(shí)建模來(lái)跟蹤所有可能的狀態(tài),傳統(tǒng)的方法基本上不可用。要建模所有可能的狀態(tài),并在狀態(tài)之間跳轉(zhuǎn),需要枚舉所有可能的語(yǔ)料,這本身是一個(gè)統(tǒng)計(jì)學(xué)問(wèn)題。

    對(duì)話管理本身方法也有很多。從上文講過(guò)的歷史來(lái)看,首先想到的是狀態(tài)機(jī)的方法,像比如說(shuō)上圖左邊的 S1,用戶從 S1 狀態(tài)下定義我在 S1 狀態(tài)下它應(yīng)該做什么行動(dòng),可以 forward,可以 backward,可以 left,可以 right。

    當(dāng)執(zhí)行了 forward,就會(huì)到達(dá) S3 狀態(tài),這個(gè)時(shí)候就完成了一輪的交互,這就是一個(gè)通過(guò)狀態(tài)機(jī)的方式去實(shí)現(xiàn)的對(duì)話管理。對(duì)于狀態(tài)怎么跳轉(zhuǎn),包括狀態(tài)下應(yīng)該做什么行為,都定義得非常清楚。

    第二種,假設(shè)有 10 個(gè)槽,那個(gè)槽里面很多值,一一列舉兩種組合或者幾種可能,其空間是非常大的,導(dǎo)致維護(hù)起來(lái)很困難。解決這一問(wèn)題的思路之一是基于槽的框架的方法。

    我們來(lái)看看大致思路,首先對(duì)模型做簡(jiǎn)單的形式化,認(rèn)為槽跟槽之間是獨(dú)立的,與所填的值無(wú)關(guān),在沒有填槽情況下,就進(jìn)行提問(wèn),填充后就不問(wèn),多輪交互之后提問(wèn)結(jié)束,目前很多企業(yè),包括成熟的大企業(yè)和創(chuàng)業(yè)公司,很多都會(huì)采用槽的框架的方式。

    不管是基于狀態(tài)機(jī)還是槽框架,本質(zhì)上都是一套規(guī)則,而歷史上后續(xù) Steve young 教授提出一個(gè)基于數(shù)據(jù)驅(qū)動(dòng)的對(duì)話管理方法,本質(zhì)上來(lái)說(shuō)就是把對(duì)話管理當(dāng)做一個(gè)部分馬可夫決策過(guò)程,POMDP。如果大家感興趣可以看一下 Steve Young 于 2013 年發(fā)表的非常經(jīng)典的綜述論文,主題就是 POMDP 的對(duì)話管理。

    沿著歷史的脈絡(luò)梳理,這之后開始深度學(xué)習(xí)的方法就比較多了。目前效果最好的、比較經(jīng)典的是 trade 模型,該模型獲得了ACL2019 的 outstanding paper,作者把對(duì)話狀態(tài)跟蹤的任務(wù)建模成生成任務(wù),首先把歷史信息編碼成向量,同時(shí)會(huì)把領(lǐng)域槽進(jìn)行編碼,最后融合生成對(duì)應(yīng)槽的值。

    當(dāng)年這篇論文獲得很大的成功,效果確實(shí)比較好。另一個(gè)典型的例子是上圖右邊基于強(qiáng)化學(xué)習(xí)的對(duì)話管理,把對(duì)話策略建模成深度強(qiáng)化學(xué)習(xí)的問(wèn)題。

    隨著預(yù)訓(xùn)練火熱之后,用 BERT 也能夠解決對(duì)話狀態(tài)跟蹤的問(wèn)題。可以通過(guò) Bert 閱讀理解技術(shù),預(yù)測(cè)用戶所說(shuō)的話里面每個(gè)槽位的 Start pos 和 end pos,最終提取槽的值,同時(shí)它會(huì)再聯(lián)合一個(gè)分類的任務(wù)去做聯(lián)合模型。但是在真實(shí)場(chǎng)景中是沒有標(biāo)注數(shù)據(jù)的,所以我們一般會(huì)通過(guò)仿真器和一個(gè)機(jī)器人進(jìn)行交互,這種交互的方式可以生成大量對(duì)話數(shù)據(jù),同時(shí)也建立了一個(gè)訪仿真器。

    通過(guò)這個(gè)仿真器,可以生成很多對(duì)話樣本。現(xiàn)在根據(jù)我們的意圖和槽位,生成大概有 7000 多個(gè)對(duì)話樣本,訓(xùn)練集里面大概有 3000 多個(gè)對(duì)話樣本,最后通過(guò) Bert 閱讀理解分類聯(lián)合方式,它的跟蹤準(zhǔn)確率可以達(dá)到 90% 左右。但這也存在一個(gè)問(wèn)題 —— 生成的數(shù)據(jù)可能無(wú)法很好地模擬真實(shí)的情況。

    針對(duì)對(duì)話策略來(lái)說(shuō),現(xiàn)在工業(yè)界絕大部分用的都是這種對(duì)話邏輯、對(duì)話流程的方式。因?yàn)樵?toB 場(chǎng)景中,它的對(duì)話選擇很豐富,剛開始在某個(gè)狀態(tài)下,用戶說(shuō)任何一個(gè)意圖,它可能會(huì)跳轉(zhuǎn)到任何一個(gè)狀態(tài),它的行為會(huì)很多。

    如果把它建模成一個(gè)真實(shí)的強(qiáng)化學(xué)習(xí)問(wèn)題,第一對(duì)數(shù)據(jù)量要求很大,雖然也可以通過(guò)仿真生成數(shù)據(jù),但它也需要很大的數(shù)據(jù)量。其次真實(shí)場(chǎng)景的一個(gè)行為空間是很大的,所以很難通過(guò)一個(gè)強(qiáng)化學(xué)的方式去模擬它。

    但是在對(duì)這種對(duì)話流程方案進(jìn)行設(shè)計(jì)的時(shí)候,也要解決很多實(shí)際上的問(wèn)題。一個(gè)是槽位記憶的問(wèn)題,它需要支持不同意圖槽位之間的關(guān)聯(lián),例如在訂票時(shí),已經(jīng)說(shuō)了時(shí)間地點(diǎn),那么在說(shuō)查天氣的時(shí)候它不應(yīng)該反問(wèn)你要查什么地方的天氣。第二個(gè)是意圖記憶的問(wèn)題,它需要支持多輪的意圖識(shí)別。例如用戶在問(wèn)天氣時(shí),問(wèn) “那上海的呢?” 就會(huì)利用多輪的信息識(shí)別成天氣意圖。

    對(duì)話系統(tǒng)可以拆成語(yǔ)言理解、狀態(tài)跟蹤,和對(duì)話策略。其實(shí)自然語(yǔ)言理解也能夠融入到對(duì)話管理里,深度學(xué)習(xí)已經(jīng)允許把對(duì)話系統(tǒng)建模成端到端的方式。

    有兩個(gè)經(jīng)典的工作,一個(gè)是 HRED,它把對(duì)話系統(tǒng)建立成雙層的端到端的網(wǎng)絡(luò),第一層用來(lái)編碼對(duì)話文本歷史,第二層用來(lái)編碼對(duì)話狀態(tài)。這種方法比較粗暴,來(lái)了文本就直接編碼,然后歷史信息傳遞下去。

    還有一個(gè)比較經(jīng)典的工作是 Steve young教授團(tuán)隊(duì)的,它看起來(lái)是端到端,還是分局部的模塊,特別像 pipeline 的方式,它先做一個(gè)意圖的檢測(cè),也就是意圖的網(wǎng)絡(luò),再做一個(gè)叫做 brief checker 的槽填充,最后再?gòu)?database 里面去做一個(gè)搜索,最后這三個(gè)信息融入到 policy network ,policy network 可以認(rèn)為是對(duì)話策略網(wǎng)絡(luò),最后去生成它的一個(gè)回復(fù),這樣一個(gè)局部的端到端的任務(wù)型對(duì)話系統(tǒng),比前面一種方法更好理解,而且解釋性更強(qiáng)。

    這就是兩個(gè)比較經(jīng)典的端到端的對(duì)話管理,那么針對(duì)未來(lái)的人機(jī)對(duì)話方式,怎么去設(shè)計(jì)一個(gè)更好的端到端對(duì)話系統(tǒng)架構(gòu)呢?是不是仍然采用之前這兩種方式?未來(lái)的人機(jī)對(duì)話的方式到底是什么呢?

    多模態(tài)對(duì)話機(jī)器人進(jìn)展

    多模態(tài)自然人機(jī)交互系統(tǒng)是下一代人機(jī)交互系統(tǒng)的一個(gè)發(fā)展趨勢(shì),它可以融合視覺、聽覺、觸覺、嗅覺甚至味覺,表達(dá)的效率比單一的視覺甚至單一的文本豐富性更強(qiáng)。多模態(tài)自然語(yǔ)言人機(jī)交互的對(duì)話模式,是目前最為自然而且最理想的人際交互方式。

    之所以研究多模態(tài)對(duì)話系統(tǒng),是因?yàn)檎鎸?shí)環(huán)境里的語(yǔ)音識(shí)別引擎帶來(lái)的錯(cuò)誤很難避免,同時(shí)它帶來(lái)的語(yǔ)義歧義性也特別大。那是不是能夠在理解語(yǔ)言的基礎(chǔ)上,融合其他模塊的信息,比如視頻圖片,引入一種多模態(tài)信息融合就能夠提升計(jì)算機(jī)對(duì)用戶意圖的理解的準(zhǔn)確性呢?

    多模態(tài)對(duì)話的應(yīng)用目前不是很多,但也有文章對(duì)此進(jìn)行了研究,一個(gè)是情感感知對(duì)話系統(tǒng),在駕駛時(shí),駕駛員需要集中精力去關(guān)注路況,但是他很難騰出手去操作一個(gè)界面,這是一個(gè)很經(jīng)典的多模態(tài)問(wèn)題,它可以通過(guò)駕駛員,可以通過(guò)口頭或者是視覺的提示,甚至是語(yǔ)音文本,駕駛時(shí)語(yǔ)音識(shí)別效果可能會(huì)更差,那么能不能通過(guò)視覺的信息,手勢(shì)的信息去理解,這是一個(gè)非常典型的場(chǎng)景。

    中科院自動(dòng)化研究出了一個(gè)多模態(tài)自然語(yǔ)言口語(yǔ)對(duì)話系統(tǒng),它可以結(jié)合人的一些表情手勢(shì)姿態(tài)去進(jìn)行對(duì)話,但本質(zhì)上這幾個(gè)應(yīng)用場(chǎng)景還是一個(gè)模態(tài)之間的串聯(lián),它其實(shí)沒有做到很好的模態(tài)之間的融合。所以我們一直在調(diào)查研究是不是可以做模態(tài)的融合。

    通過(guò)調(diào)查,發(fā)現(xiàn)電子商務(wù)其實(shí)有這樣一個(gè)場(chǎng)景:用戶說(shuō) “我要買褲子,我要買衣服”,他還會(huì)發(fā)送一些樣本圖片,然后機(jī)器人也同時(shí)會(huì)反饋一些圖片給他,這就是天生的一個(gè)文本加圖片的方式,它可以構(gòu)成一個(gè)多模態(tài)對(duì)話的流程。

    多模態(tài)的簡(jiǎn)單定義是,給定多模態(tài)對(duì)話上下文,包括用戶的詢問(wèn),目標(biāo)是生成對(duì)應(yīng)的系統(tǒng)的文本回復(fù)。針對(duì)上文電商的場(chǎng)景,提供的可能只有文本跟圖片,當(dāng)然后面都可以擴(kuò)充,還可以加語(yǔ)音甚至其他某些信息,那么這里面可能不含圖片。它形式上就是你只需要輸入一個(gè)歷史上下文,再加上用戶的 query,需要生成的是系統(tǒng)的回復(fù)。

    對(duì)于端到端的對(duì)話管理,也可以使用 HRED 模型,該模型非常簡(jiǎn)單,但是它僅支持單模態(tài)。在 HRED 里面,只需要把圖片信息加入,把圖片編碼,編碼之后再融合文本,文本通過(guò) RNN 得到向量,把這兩個(gè)拼接在一起,再通過(guò)一層上面的 RNN,這就是現(xiàn)在用的比較多的基于 HRED 構(gòu)造的多模態(tài)的 HRED 模型。

    后面對(duì)模型進(jìn)行了改進(jìn),第一使它可以在生成里面進(jìn)行控制,經(jīng)過(guò)意圖的理解,去控制生成一個(gè)簡(jiǎn)單、通用的回復(fù),也可以去生成一個(gè)多模態(tài)的、知識(shí)相關(guān)的回復(fù)。第二個(gè)改進(jìn)點(diǎn),可以在生成過(guò)程中融合一些知識(shí)進(jìn)來(lái),比如說(shuō)三元組這些信息或者屬性表格,會(huì)比較好地控制生成的質(zhì)量。但這幾個(gè)模型,也存在比較大的問(wèn)題。

    這里列舉的兩個(gè)經(jīng)典論文提及的這些方法都是基于層級(jí)循環(huán)的神經(jīng)網(wǎng)絡(luò)。這個(gè)方法的模態(tài)融合很弱,是把句子編碼成一個(gè)向量,其實(shí)這會(huì)損失句子里面的細(xì)度信息,比如說(shuō)關(guān)鍵字實(shí)體。

    另外一方面雖然使用了屬性三元組,但其實(shí)并不能很好地有效利用這些知識(shí),即知識(shí)的利用率比較低,所以華為采用了一種叫做 MATE 的模型,它是基于語(yǔ)義元素集的、上下文依賴的一個(gè)多模態(tài)對(duì)話系統(tǒng)。將模型拆開來(lái)看,左邊是一個(gè)多模態(tài)元素集的編碼器,用來(lái)編碼來(lái)自對(duì)話歷史的記錄,包括用戶查詢的所有圖像,都存儲(chǔ)在對(duì)話記憶模塊。

    為什么存在圖像記憶模塊?因?yàn)橛行┊?dāng)前的文本看不到前面的圖片,所以說(shuō)這里面會(huì)做一個(gè) attention 操作。通過(guò)注意力機(jī)制或者圖像的一些文本的嵌入,有選擇性的是否加入一些圖片。


    最后所有嵌入都會(huì)拼接成多模態(tài)的語(yǔ)義元素集。這樣每個(gè)元素跟圖片里面的元素都可以進(jìn)行一個(gè)很好的交互。第二塊是右半部分,它是一個(gè)解碼過(guò)程,解碼過(guò)程可以分兩步。

    第一步先關(guān)注在編碼器里面輸出,它只關(guān)注前面生成的注意力操作。第二階段,解碼之后再結(jié)合領(lǐng)域知識(shí),再做一個(gè) attention 操作,這樣能夠進(jìn)一步很好地去利用這樣的知識(shí),而且同時(shí)會(huì)利用好前面的一個(gè)編碼器的輸出,這樣能夠進(jìn)一步地優(yōu)化系統(tǒng)回復(fù)的質(zhì)量。

    上圖是我們論文的一個(gè)實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)發(fā)現(xiàn)如果使用第一種解碼器和第二個(gè)解碼器,確實(shí)有一些提高。同時(shí)我們第一階段的編碼器,相對(duì)于前面所有方法中最好的方法,在 BLEU-1 上能提高 6 個(gè)點(diǎn),在 BLEU-4 上能提高 9 個(gè)點(diǎn),而且是絕對(duì)值的提升,這個(gè)提升是非常大的。

    同時(shí)下面的表格,把不同的模塊進(jìn)行替換,進(jìn)行進(jìn)一步的分析,包括在去掉 image position,previous image,knowledge 的情況下進(jìn)行的對(duì)比。

    上圖是展示的一個(gè)樣例。它關(guān)注了語(yǔ)義元素集的信息,左下部分、右下部分, formal shoes 能關(guān)注到更上層的比較關(guān)鍵更元素集的一些信息,包括 star。

    對(duì)話機(jī)器人未來(lái)方向以及總結(jié)



    以上就是我們?cè)趯?duì)話機(jī)器人上的一些進(jìn)展和工作。針對(duì)機(jī)器人的這個(gè)行業(yè)來(lái)說(shuō),我們是希望每個(gè)人都能享受到對(duì)話人機(jī)交互的樂趣。即使跨洋彼岸,機(jī)器人也能夠跟用戶更好地進(jìn)行交流,甚至機(jī)器人能夠服務(wù)好用戶。上圖是一張圖片,顯示器里面是凱文?凱利,右邊是科大的佳佳機(jī)器人,當(dāng)時(shí)是做了一個(gè)跨洋跨語(yǔ)種的對(duì)話。但要把這樣的事做好,其實(shí)是一個(gè)很大的挑戰(zhàn)。


    首先,機(jī)器要理解用戶,甚至能夠理解用戶很多開放性的問(wèn)題,這需要很大量的常識(shí)知識(shí),例如上文提及:中國(guó)的首都是北京,機(jī)器人怎么會(huì)知道這樣一個(gè)知識(shí)?真實(shí)世界知識(shí)太多,如果它能夠理解用戶各種各樣的問(wèn)題,需要具備大量的常識(shí)知識(shí)去豐富它的能力。

    再者同樣比較重要的。也是現(xiàn)在比較流行的個(gè)性化需求。每個(gè)人的特性不一樣,甚至機(jī)器人的特性也不一樣,如何去依照每一個(gè)用戶的個(gè)性去做不同的、基于個(gè)性化的回復(fù),也是目前相對(duì)來(lái)說(shuō)研究得比較多,且前景比較好的方向。另外,對(duì)于小樣本學(xué)習(xí)需要解決的問(wèn)題,特別是 toB 的場(chǎng)景企業(yè)的問(wèn)題,挑戰(zhàn)是比較嚴(yán)峻的,真實(shí)的場(chǎng)景里面企業(yè)其實(shí)沒有太多數(shù)據(jù),甚至是沒有數(shù)據(jù),小樣本學(xué)習(xí)是企業(yè)會(huì)重點(diǎn)關(guān)注的一個(gè)問(wèn)題。

    多模態(tài)、多領(lǐng)域,預(yù)訓(xùn)練,預(yù)訓(xùn)練在相對(duì)未來(lái)一段時(shí)間內(nèi)還是會(huì)成為主流。從目前實(shí)踐證明,預(yù)訓(xùn)練加微調(diào)的方式效果確實(shí)會(huì)比傳統(tǒng)的深度學(xué)習(xí)的重新訓(xùn)練效果好很多。再結(jié)合現(xiàn)在深度學(xué)習(xí)的可解釋性,有一部分人在研究神經(jīng)網(wǎng)絡(luò)與符號(hào)類進(jìn)行結(jié)合去解釋深度學(xué)習(xí),更好地去建模真實(shí)的 AI 問(wèn)題。

    然后是無(wú)監(jiān)督學(xué)習(xí),無(wú)監(jiān)督學(xué)習(xí)和小樣本學(xué)習(xí)面對(duì)的同樣還是企業(yè)場(chǎng)景的問(wèn)題,客戶可能沒有標(biāo)注數(shù)據(jù),也許會(huì)有一些非結(jié)構(gòu)化數(shù)據(jù),這些數(shù)據(jù)怎么用,怎么去學(xué)習(xí),也是對(duì)話機(jī)器人從業(yè)者面臨的挑戰(zhàn)。最后,現(xiàn)在的一些語(yǔ)料,甚至是對(duì)話機(jī)器人的語(yǔ)料,絕大部分是 2014 年之前的,還是單語(yǔ)種的數(shù)據(jù),到最近才開放了多語(yǔ)種的數(shù)據(jù)集,所以多語(yǔ)種對(duì)話機(jī)器人也將會(huì)是比較好的方向。

    關(guān)于數(shù)據(jù)實(shí)戰(zhàn)派

    數(shù)據(jù)實(shí)戰(zhàn)派希望用真實(shí)數(shù)據(jù)和行業(yè)實(shí)戰(zhàn)案例,幫助讀者提升業(yè)務(wù)能力,共建有趣的大數(shù)據(jù)社區(qū)。

    更多閱讀

    #投 稿?通 道#

    ?讓你的論文被更多人看到?

    如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。

    總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?

    PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得技術(shù)干貨。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來(lái)。

    ?????來(lái)稿標(biāo)準(zhǔn):

    ? 稿件確系個(gè)人原創(chuàng)作品,來(lái)稿需注明作者個(gè)人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?

    ? 如果文章并非首發(fā),請(qǐng)?jiān)谕陡鍟r(shí)提醒并附上所有已發(fā)布鏈接?

    ? PaperWeekly 默認(rèn)每篇文章都是首發(fā),均會(huì)添加“原創(chuàng)”標(biāo)志

    ?????投稿郵箱:

    ? 投稿郵箱:hr@paperweekly.site?

    ? 所有文章配圖,請(qǐng)單獨(dú)在附件中發(fā)送?

    ? 請(qǐng)留下即時(shí)聯(lián)系方式(微信或手機(jī)),以便我們?cè)诰庉嫲l(fā)布時(shí)和作者溝通

    ????

    現(xiàn)在,在「知乎」也能找到我們了

    進(jìn)入知乎首頁(yè)搜索「PaperWeekly」

    點(diǎn)擊「關(guān)注」訂閱我們的專欄吧

    關(guān)于PaperWeekly

    PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

    總結(jié)

    以上是生活随笔為你收集整理的图灵测试70载,回顾对话机器人的经典实践和最新进展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。