當前位置:
首頁 > 最新 > 「嗨,我叫汪仔,今年三歲了」-論如何為聊天機器人定義一個固定的人格

「嗨,我叫汪仔,今年三歲了」-論如何為聊天機器人定義一個固定的人格

「論文訪談間」是由 PaperWeekly 和中國中文信息學會青工委聯合發起的論文報道欄目,旨在讓國內優質論文得到更多關注和認可。

這是第12期「論文訪談間」

論文作者 錢橋,黃民烈,朱小燕,許靜芳,趙海舟

(清華大學 & 搜狗公司)

特約記者 曾愛玲(廈門大學)

近年來,人工智慧之火大家已經有目共睹了:從《未來簡史》、《必然》等國外著作到李開復的《人工智慧》、李彥宏的《智能革命》等成為暢銷書,大眾對於 AI 的熱捧程度達到了歷史高點,人機對話是人工智慧領域中最重要的問題之一,聊天機器人(chatbot)順勢成為了研究的熱點。

聊天機器人這一熱潮可從兩個角度進行解釋:從學術上,機器人的智能一方面體現他能否理解人類的語言並給出合理的回復,另一方面也體現在他是否足夠的類人化,即可以被當作一個人類用來交流,這對應了人工智慧的終極目標—圖靈測試(一種用於判斷計算機是否具有人類思維能力的測試方法);從工業界看,真正的人工智慧必須有一致的人格,否則任何 App 的談話界面都會很無聊很機器人化,你真的只會把它當做個「machine」。因此,微軟、Facebook、蘋果、谷歌、微信和 Slack 等公司均在聊天機器人方面押了重注,依託科技巨頭的資源或創業公司的熱情,聊天機器人們正在努力滲透到我們生活的方方面面。

在論文訪談的第三期《「小會話,大學問」 - 如何讓聊天機器人讀懂對話歷史?》一文 中提到了聊天機器人這一話題,並且引來熱議。本期論文訪談間我們將以」為聊天機器人固定一個角色/身份,使得聊天對話更加連貫、自然」為例,來向大家介紹來自清華大學智能科學與系統重點實驗室的錢橋同學、黃民烈老師、朱小燕老師以及來自搜狗的趙海舟、許靜芳的相關工作。

聊天機器人按照應用場景主要分為兩類,任務驅動(task-oriented)和閑聊(Chatting)。任務驅動往往限定在單個或幾個領域,例如在線客服或個人助手就屬於此類範疇,以解決問題為目的進行對話,因此它們只需要儘可能高效地完成它們特定的任務。相比而言,閑聊往往是漫無邊際的,話題的無限數量和用於產生合理回復的一定量的知識使之成為了一個難題,並且很容易聊到與 Chatbot 自身相關的話題上,他們的論文「Assigning Personality/Identity to a Chatting Machine for Coherent Conversation Generation」則主要應用在這樣的場景中,為閑聊機器人定義一個固定的角色/身份,從而提升聊天機器人的類人水平。

對於 chatbot 的發展,我們給出了兩個長期的研究目標:

1. 我們希望它能從任務驅動型到閑聊都能夠有較好的回復:隨著大數據時代的不斷發展,閑聊機器人系統可以用更豐富的對話數據進行訓練;並且為避免繁雜的人工定義,在大數據上可以自動聚類或抽取對話行為等信息。

2. 能夠更加有一致的人格,並且能夠有較高的「情商」,即聊天機器人的個性化情感撫慰、心理疏導和精神陪護等能力。

擁有「一致人格」的聊天機器人技術還十分不成熟,而對話中如果沒有一致人格會出現什麼問題呢?會對使用者來說產生什麼困擾呢?舉個例子,當你問某個 chatbot 「你多大了?」,她可能會回復你「我啊……反正是九零後」,然後你接著問「你是九零後嗎?」,她可能會回復「八零後」,非常直觀。同樣的問題想得到一致的回答,也就是將固定的只是或者人格整合進模型在目前看來其實是十分困難的,使用傳統的 seq2seq 模型學習如何生成語義合理的回復,但它們沒被訓練如何生成一致回復的語義,因此在反覆相同的語義輸入時會出現不同的回復。

圖1:與 chatbot 的對話測試

我們一起來看看這篇文章:首先,此文為閑聊機器人設定了固定的屬性,包括但不限于姓名、性別、愛好等。這些屬性被整理為 的形式,當機器人被問及與自身屬性相關的問題時,應生成與自身屬性相一致的回復。如下圖所示:此文為 chatbot 設定為一個名叫汪仔的三歲男孩,他熱愛動漫,特長是彈鋼琴。

圖2:定義一個固定的機器人屬性(agent profile)

那麼,研究面臨的挑戰是什麼呢?實際上是主要來源於數據屬性的不一致性,一方面是訓練數據相互之間不一致,另一方面是訓練數據與機器人不一致。例如,考慮訓練數據中針 對「愛好」的回答,有喜歡籃球的,有喜歡足球的,還有喜歡羽毛球的,這些回答本身就不具有一致性;然而我們機器人的愛好可能是游泳,這與訓練數據也不一致。如何使用這些不一致的數據訓練模型,成為了此研究最大的挑戰。

如何解決上述問題呢?本文提出了位置檢測器(Position Detector),它著眼於在訓練數據中定位屬性值的位置。作者基於詞向量的相似度實現 Position Detector 模塊。例如,在「我 /喜歡」這句話中,由於「籃球」和「游泳」的詞向量距離最近,所以斷定「籃球」為屬性值。此外,本文還將提出一種基於語言模型的方法定位屬性值的位置,以追求更好的性能。 當 Position Detector 定位到 Reply 中的屬性值後,可以通過替換的方法將消除訓練數據的不一致性。

方法思路介紹:如下圖所示,本文模型包含三個重要的子模塊。首先,為了判斷給定的 Post 是否涉及機器人自身的屬性,以及涉及了哪一條屬性,屬性檢測器(Profile Detector)將對給定的 Post 進行分類。訓練 Profile Detector 的過程中使用了帶有噪音的監督數據。若分類結果不涉及機器人屬性,則使用傳統方法 seq2seq 解碼。若分類結果涉及機器人屬性,則使用雙向解碼器(Bidirectional Decoder)以屬性值為中心進行雙向解碼。Bidirectional Decoder 是通過與屬性相關的

數據訓練的。

圖3:整個過程的生成圖解

訓練的時候因為很多訓練數據里的屬性都不是機器人的真實屬性,於是使用機器人屬性去做生成的 response 與訓練數據的 response 會有不一致,所以就想到了用 position detector 替換一下消除這種不一致。因此,需要使用位置檢測器(Position Detector)對訓練過程做特殊的預處理,Position Detector 可以在訓練數據中定位屬性值的位置,從而解決在訓練與測試過程中的落差。需要注意的是,Position Detector 在測試的過程中不參與生成(generation)過程。具體情況如下圖所示,給定一對 ,Position Detector 將會預測屬性值鋼琴(Piano)會被小提琴-4(violin)這一位置所替代,該位置將會被用於訓練 Bidirectional Decoder。

圖4:模型的訓練過程

細節剖析:其中的編碼器(Encoder)是將 post 編碼成向量,以便後續深度生成模型利用。屬性檢測器(Profile Detector)在這裡有兩個目的:一是判斷給定的 Post 是否涉及機器人自身的屬性,二是判斷涉及了哪一條屬性,將檢測到的屬性 放入相應的解碼器中。雙向解碼器(Bidirectional Decoder)的目的是生成一個涉及機器人屬性的反應 (Response(y)),在測試階段以機器人的屬性值(Profile Value)為起點來生成整個序列。雙向解碼器這一點是受到了牟力立同學在 2016 年發表的一篇論文(Mou et al., 2016)[1] 啟發,他們的工作是通過雙向解碼器生成包含限制條件的回復。與之不同的是,在訓練過程中我們使用了 Position Detector 去預測關鍵詞的位置,取代了(Mou et al., 2016)工作中隨機替換關鍵詞訓練 Decoder 的方法。

在實驗過程中,使用了多類數據集:微博數據集(Weibo Dataset)、雙向屬性數據集(Profile Binary Subset)、相關屬性數據集(Profile Related Subset)以及手工數據集(Manual Dataset),所有數據集在特定需求下進行使用。實驗結果顯示,從這些社交媒體上得到的常用對話數據可以用於生成屬性一致的回復。作者表示:「對於 Seq2Seq 這樣的深度模型,訓練數據越多閑聊方面的生成質量自然也會越好。在機器人屬性的工作中,我們主要關注的是機器人屬性 識別的準確性,我們為每種屬性篩選了大約 10000 條訓練數據,它們基本可以涵蓋了所有關於這個屬性的提問方式了。在篩選訓練數據方面,如何篩選出高質量的負例是非常重要的,使模型可以判斷出「你妹妹今年幾歲」不是在詢問機器人自身的屬性。最終,實驗通過人工評估以及自動評估兩種評估方式均顯示此模型能夠在生成更加一致、自然以及多樣的對話。

圖5:傳統 seq2seq 模型與本文模型的對話結果

我們來總結一下,本文的創新點主要有兩點。第一,作者嘗試為閑聊機器人定義一個固定的角色/身份。本文只是一個初步的探索,在未來的工作中會嘗試定義機器人的屬性、個性、語言風格等,甚至可以為機器人的實時想法進行建模,從而達到更好的前後文一致性。 第二,作者提出了一個新穎的生成模型用於識別並回答與機器人自身相關的問題,巧妙地運用不一致的訓練數據,訓練出具有一致性回復的聊天機器人。

雖然本文只是讓閑聊機器人擁有特定人格邁進了一小步,但這是讓機器人通過圖靈測試的關鍵一步。未來還有很多方向值得繼續去研究,例如對話風格一致化和語義推理能力等的提升。當談及未來工作的切入點時,作者主要從模型和數據兩個角度回答了這個問題:模型方面,需要尋求更好的方式表示機器人的屬性,同時也要有更好的方式從句子中挖掘機器人的屬性。數據方面,現有的數據集往往都是

這樣的二元組,缺乏 Reply 的用戶信息。一方面可以挖掘帶有用戶信息的 Response,倘若這樣的數據不好得到,也可以嘗試對 Reply 做聚類或分類,這些帶有用戶信息的 Response 無論對訓練語言風格還是機器人屬性都是有巨大幫助的。」

「聊天機器人通常能夠吸引更年輕,更技術控的消費者,他們對於技術創新既挑剔又喜歡」。你想啊,以後你的 A chatbot 是一個跟你孩子一樣大的「汪仔」,能告訴你他這個年齡在想什麼,需要什麼,教你如何更好地教育孩子;你的 B chatbot 是一個跟你差不多年齡層的 fashion girl,能夠給你提供很多同齡階段的實用時尚知識,你可以把她當做最親密的知己;你的 C chatbot 是一個嚴肅的長者,告訴你寶貴的人生經驗,在你低谷時能給予適當的指導。 機器人不再是一個冷冰冰的機器,他也有自己的屬性和被定義的個性,這樣會給機器人本身增添更豐富的「靈魂」。

相信在未來,一個能夠讓人們與之無所不談的有溫度有個性的聊天機器人將走入我們的日常生活,成為我們的朋友、同事甚至是家人。

[1] Lili Mou, Yiping Song, Rui Yan, Ge Li, Lu Zhang,and Zhi Jin. 2016. Sequence to backward and forward sequences: A content-introducing approach to generative short-text conversation. In 26th International Conference on Computational Linguistics, Proceedings of the Conference. pages 3349–3358.

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PaperWeekly 的精彩文章:

arXiv上最近有哪些值得讀的論文?
SIGIR2017 满分论文:IRGAN
缺少靈感?你一定需要這8篇論文

TAG:PaperWeekly |

您可能感興趣

每個女人的身上,都被男人定義了不同的標籤,大致上有4個!
米切爾新人定義火了!格里芬:哥們,都8年前的事兒了
為什麼我們能給一拳超人定義為無敵,但給骨傲天就沒有這種感覺
49歲許晴配不上36歲彭于晏?!女人的人生不需要別人定義!
更不要讓你不喜歡的那些人定義你
鄭淵潔:超越的秘訣是先落後,你的「起跑線」不應該由別人定義
陳瑜 我不喜歡別人定義我
這款由中國人定義的晶元,現在竟成了不少知名品牌的標配!
女人心裡,給男人定義的5種分類
中國風可以有多美?反正不是外國人定義的那一套
男人和女人定義「出軌」的區別
被問如何看待被別人定義為國際巨星,范冰冰的回應打臉了辛芷蕾
佛陀將二十種人定義為賤民
因《愛情公寓》走紅,一直被人定義為關穀神奇,今憑實力證明自己
韓國美妝博主勇敢公開抗癌紀錄!永遠不要被別人定義自己的人生!
韓國美妝博主勇敢揭開抗癌紀錄!永遠不要被別人定義自己的人生!