張 璐,李卓桓,殷緒成,晉贊霞
(1.北京科技大學 計算機與通信工程學院,北京 100083;2.北京郵電大學 計算機學院,北京 100876)
近年來,由于深度學習的快速發(fā)展以及數(shù)據(jù)的積累,聊天機器人技術得到了迅速提升,展現(xiàn)出了巨大的潛力和商業(yè)價值,受到了越來越多的關注。根據(jù)應用目的進行分類[1-3],可將聊天機器人分為目標驅動的聊天機器人和無目標驅動的聊天機器人。如表1所示,目標驅動的聊天機器人一般針對特定領域設計,目標是完成用戶要求的任務,比如訂餐、訂機票、幫助學習特定技能等,代表系統(tǒng)有阿里的小蜜[4]。目標驅動的聊天機器人的對話效果好壞可根據(jù)任務完成測試或根據(jù)用戶滿意分數(shù)進行評價[5]。無目標驅動的聊天機器人也被稱為閑聊機器人,沒有具體的目標,只是與用戶閑聊,起到情感陪伴的作用,代表系統(tǒng)為微軟的小冰[6]。因為閑聊機器人的目標不明確,所以閑聊機器人對話效果好壞的定義也不明確。目前,對閑聊機器人的評價沒有統(tǒng)一的定義和標準。這也是閑聊機器人的一大挑戰(zhàn),制約了閑聊機器人的進一步快速發(fā)展。
表1 聊天機器人的分類
閑聊機器人的構建方式有三種[1-3],分別是基于模板的閑聊機器人[7]、基于檢索模型的閑聊機器人[8-9]和基于生成模型的閑聊機器人[10-14]。如圖1所示,基于模板的閑聊機器人,通過人工制定模板,采用關鍵詞匹配等方法構建,人工構建的模板十分準確,因此回復的準確性很高,但模板構建受到人力和物力的限制,導致模板數(shù)量比較少,因此靈活性比較差,會有很多不能回復的問題?;跈z索模型的閑聊機器人,其檢索庫為人類產(chǎn)生的對話數(shù)據(jù),如百度貼吧的帖子,因此準確率較高,而且由于互聯(lián)網(wǎng)的發(fā)展,論壇、社交軟件中人類對話的數(shù)據(jù)量很大,因此靈活性也較高?;谏赡P偷拈e聊機器人,采用數(shù)據(jù)驅動的端到端的方法構建,可以對任意問題進行回復,因此靈活性最高,但生成模型生成的回復往往存在語義不準確、上下文不一致等問題,因此準確率最低?;跈z索模型的閑聊機器人可以使用準確率、召回率、F值和MAP@K進行評價[8-9],而基于生成模型的閑聊機器人的評價更加復雜,具有挑戰(zhàn)性,本文關注基于生成模型的閑聊機器人的評價方法。
圖1 構建閑聊機器人的三種方法的比較
當前,研究者們大多將閑聊機器人的評價細分為對生成合理的回復、生成多樣的回復、對話具有特定的個性、對話具有情感、對話主題具有深度和廣度等能力的評價[15-18]。此外,雖然閑聊機器人有了很大的發(fā)展[1],但還是面臨很多挑戰(zhàn),如回復單一無趣、不能保持一致的個性、主題不一致等問題,研究者們大多只對其中的一個問題進行研究以改善閑聊機器人的對話效果,因此,當前閑聊機器人大多只具備一種能力,如能夠保持一致個性的機器人不一定能夠理解用戶的情感,能夠討論不同話題的機器人不一定具有一致個性等。因此,根據(jù)閑聊機器人的發(fā)展現(xiàn)狀,同時也為了評價目標更加明確,本文只針對閑聊機器人具備的能力進行評價。
對于閑聊機器人具備的能力的評價,現(xiàn)在大多采用自動評價和人工評價相結合的方法[19-23]。人工評價方法雖然評價結果比較可靠,但是有很多缺點:人力物力消耗大,花費時間長,不能方便快速地對閑聊機器人進行評價從而促進機器人的快速迭代,此外評價者的個人喜好對評價結果也有一定的影響。因此,為了克服人工評價方法的缺點,急需可靠的自動評價方法。
大多數(shù)自動評價方法是對閑聊機器人是否能夠生成合理的回復進行評價,因為回復的合理性是對話進行的基本保證,生成合理的回復是閑聊機器人最基本的能力。就像最初閑聊機器人的生成模型借鑒機器翻譯任務中的方法一樣[10],閑聊機器人的自動評價方法最初也是從機器翻譯等生成任務中借鑒而來的,比如機器翻譯任務的BLEU[24]、METEOR[25],自動文本摘要生成的ROUGE[26]。機器翻譯任務的特點是一個源語言對應一個目標語言,是“一對一”的問題,而在閑聊任務中,給定一個問題,會有很多個合理的回復,是“一對多”的問題,如表2所示,針對一個上下文,合理的回復有3個,包括參考回復和閑聊機器人可能生成的回復,所以借鑒的自動評價方法與閑聊任務并不適配。
表2 對話與閑聊機器人生成回復示例
BLEU等基于詞重疊的評價方法通過計算生成回復與參考回復相同的n-gram數(shù)量進行評價,簡單來說,在平均加權的情況下,相同的n-gram數(shù)越多,生成回復與參考回復越相似,生成回復越合理。但在閑聊中,存在閑聊機器人生成的回復是合理的,但是與參考回復幾乎沒有相同的n-gram的情況,導致BLEU分數(shù)很低,如表2中閑聊機器人可能生成的回復1?;谠~重疊的評價方法沒有考慮生成回復與參考回復的語義信息,所以,研究者們提出應用基于詞向量的評價方法,常用的有三種方法:向量均值法[27]、向量極值法[28]和貪婪匹配法[29],通過計算生成回復與參考回復的語義相似性度來判斷生成回復的合理性,語義相似度越高,生成的回復越合理,但在閑聊中也存在閑聊機器人生成的回復是合理的,與參考回復不僅沒有相同的n-gram,還與其語義不相同的情況,如表2中閑聊機器人可能生成的回復2。但基于詞向量的評價方法沒有考慮對話歷史,如果考慮到對話歷史信息,可以判斷出回復2也是合理的。此外,有研究表明,基于詞重疊的評價方法和基于詞向量的評價方法對閑聊機器人的評價結果與人工評價結果具有很低的相關性[15],說明這兩種自動評價方法的評價結果并不可信。
為了更好地評價閑聊機器人,構建與人工評價更具相關性的自動評價方法,有很多研究者采用機器學習的方法來構建評價模型。主要有三個思路:使用具有人工評分的標注數(shù)據(jù)訓練模型,使得打分模型能夠學習人類,從而對閑聊機器人進行評價打分[30-32];借鑒生成對抗網(wǎng)絡,訓練對抗模型,使得對抗模型能夠區(qū)分閑聊機器人生成的回復和人類產(chǎn)生的回復[33-34];結合生成回復與參考回復的相似性和生成回復與問題的相關性這兩個評價維度設計打分模型[35-36],其中,評價生成回復與問題的相關性的模型采用負采樣技術進行訓練。
以上提到的都是評價閑聊機器人的基本能力—生成合理的回復的自動評價方法。除此之外,評價閑聊機器人擴展能力的自動評價方法也有一定的發(fā)展,能夠對閑聊機器人可能具有的其他能力進行評價,如生成多樣的回復、對話具有情感、對話具有特定個性和對話主題具有廣度和深度等。此外,為了發(fā)展具有多種能力的閑聊機器人的自動評價方法,需要學習并發(fā)展當前對閑聊機器人進行綜合能力評價的方法,即學習綜合評分策略,將人工評價方法自動化,并借鑒一些自動評價方法來評價某種特定能力。
文獻[19]是一篇針對基于生成模型的閑聊機器人的自動評價方法的英文綜述,發(fā)表于2016年;文獻[20]是一篇針對對話系統(tǒng)評價方法的中文綜述,發(fā)表于2017年。本文與這兩篇綜述的區(qū)別在于,這兩篇綜述僅涉及到閑聊機器人的基本能力的評價,即評價回復的合理性的自動評價方法,而本文將閑聊機器人的評價劃分為基本能力評價、擴展能力評價和綜合能力的評價,并對評價每一種能力的自動評價方法進行了梳理和總結。此外,對于評價回復的合理性的自動評價方法的總結,尤其是基于模型的評價方法這一分支,內容更加全面、分析更加深入、分類更加系統(tǒng)。
本文組織結構如圖2所示,第1節(jié)主要介紹對閑聊機器人的基本能力—生成合理的回復進行評價的自動評價方法;第2節(jié)分類討論對閑聊機器人的擴展能力進行評價的自動評價方法;第3節(jié)介紹評價閑聊機器人綜合能力的方法,并探討如何發(fā)展綜合自動評價方法;第4節(jié)介紹評價自動評價方法的方法;第5節(jié)分析討論發(fā)展自動評價方法的困難與挑戰(zhàn);最后對全文進行總結。
圖2 文章架構
只有閑聊機器人生成的回復是合理的,對話才有可能進行下去,因此,生成合理的回復是閑聊機器人最基本的能力,當前很多研究致力于提升閑聊機器人生成回復的合理性。那么怎樣判斷生成回復的合理性?
(1)生成回復與參考回復的相似性越高,生成回復越合理。
判斷生成回復與參考回復相似性的代表方法為粗粒度的基于詞重疊的評價方法和較細粒度的基于詞向量的評價方法。
(2)生成回復越適合回答提出的問題,生成回復越合理。
判斷生成回復是否適合回答提出的問題有三種方法:可以構建模型模仿人類打分,從而判斷生成回復是否能夠合理地回答問題;可以根據(jù)問題判斷生成回復是不是很像人類產(chǎn)生的回復,一般人類產(chǎn)生的回復都比較合理;還可以既對生成回復與參考回復的相似度進行計算,又對生成回復與問題的相關性進行判斷,然后結合起來判斷生成回復是否能夠合理地回答問題。
(3)從其他領域借鑒的一些方法,如困惑度。
表3對評價回復的合理性的自動評價方法進行了總結。
表3 評價回復的合理性的自動評價方法概況
從其他生成任務中借鑒的評價方法主要有機器翻譯任務中的BLEU[24]、METEOR[25]和自動文本摘要任務中的ROUGE[26]。這些評價方法被稱為詞重疊評價方法,基于詞重疊的評價方法假設生成回復與參考回復之間存在大量的詞重疊,計算生成回復與參考回復之間相同的n-gram,在平均加權的情況下,相同的n-gram越多,生成回復與參考回復越相似,生成回復越合理。
基于詞重疊的評價方法都是在精確匹配的準確率和召回率的基礎上改進得到的。
(3)
(4)
METEOR(metric for evaluation of translation with explicit ordering)對BLEU進行了改進,匹配時不僅考慮單詞精確匹配,還考慮詞干、同義詞和釋義的匹配;不僅計算準確率P1,考察生成回復相對于參考回復的準確性,還計算召回率R1,考慮生成回復相對于參考回復的完整性。計算如式(5)、式(6)所示,其中,Pm和Rm是根據(jù)匹配對齊規(guī)則對P1和R1進行調整后得到的,懲罰項Penalty是根據(jù)匹配情況計算得到的,α是超參數(shù)。
(7)
(8)
(9)
(10)
(11)
上述三個評價指標中,評價閑聊機器人最常用的是BLEU。此外還有一些遷移到閑聊機器人評價領域的自動評價方法,如圖像標題生成任務的CIDEr[37]、BLEU的改進deltaBLEU[38]、以及AM-FM方法[39]?;谠~重疊的評價方法假設生成回復與參考回復之間存在大量的詞重疊,這個假設在機器翻譯中比較有效,因為一個源語言的目標翻譯只有“一個”,若生成翻譯很合理,其必定與參考翻譯有很多相同的n-gram。因此,這些評價方法在它們原本的任務中表現(xiàn)很好,與人工評價具有很高的相關性。但由于閑聊任務與其他生成任務不同,即在閑聊中合理的回復有很多,存在生成回復是合理的但是與參考回復沒有相同的n-gram的情況,使得基于詞重疊的評價方法遷移到閑聊領域表現(xiàn)會很差。文獻[15]也指出在閑聊中,基于詞重疊的評價方法的評價結果與人工評價結果的相關性很差。因此,不建議繼續(xù)使用基于詞重疊的評價方法對閑聊機器人的生成回復進行評價。
基于詞向量的評價方法利用余弦函數(shù)計算生成回復與參考回復之間的語義相似性,從而評價生成回復的合理性,相似性越高,生成回復越合理。
(12)
當前主要有三種基于詞向量的評價方法。
① 向量均值法(embedding average)[27]是計算句子向量最直接、簡單的方法,通過計算所有單詞的詞向量在每一維的平均值獲得句子向量表示。計算如式(13)所示,其中|r|代表參考回復包含的單詞數(shù)。
(13)
② 向量極值法(vector extrema)[28]考慮到詞向量中極值可能包含更多的信息,因此,通過選取所有單詞的詞向量在每個維度的極值—最大值或最小值獲得句子的向量表示。一個維度的計算如式(14)所示,其中,ewd代表單詞w在維度d上的向量值,erd代表參考回復r在維度d上的向量值。
(14)
③ 貪婪匹配法(greedy matching)[29]認為兩個句子之間的相似度可以通過累加兩個句子之間單詞對的相似度獲得,因此,將參考回復中的每個單詞轉換為詞向量后,利用余弦函數(shù)匹配生成回復中的每個單詞的詞向量,最終的相似度分數(shù)是最大匹配值的平均值,因為公式是不對稱的,要考慮兩個方向的貪婪匹配,如式(15)、式(16)所示。該方法支持生成回復中的關鍵詞與參考回復中的關鍵詞相似的生成回復。
文獻[15]指出雖然基于詞向量的評價方法的評價結果與人工評價結果的相關性很低,但是其能夠區(qū)分出合理性不同的生成回復。因此,在還沒有更好的自動評價方法的情況下,可以繼續(xù)使用簡單、快速、有效的基于詞向量的評價方法。以上三種最常用的基于詞向量的評價方法還可以進一步改進,如獲得更好的句子向量表示,采用更好的相似性計算方法。近些年,詞向量有很大的發(fā)展,詞向量不再是靜態(tài)詞向量,而是上下文相關的動態(tài)詞向量,如Elmo[42]、GPT[43-44]和BERT[45]等詞向量;此外,已有更多表現(xiàn)更好的句子向量表示方法被提出,如SkipThought[46]、QuickThought[47]、Infersent[48]和Weighted Meta-Embedding[49],或者使用神經(jīng)網(wǎng)絡模型LSTM[50]、Transformer[51-52]對句子進行編碼獲得句子向量表示。除余弦相似度之外,還可以嘗試使用單詞移動距離方法(word mover’s distance)[53]和句子移動相似性方法(sentencce mover’s similarity)[54]以及兩者的結合進行相似度計算。
1.3.1 模仿打分模型
模仿打分模型通過收集人類評分構造數(shù)據(jù)集對模型進行訓練,從而獲得模仿人類打分的模型,對閑聊機器人進行評價。模仿打分模型的構建與評價可分為三步:
(1)構建數(shù)據(jù)集,訓練模仿打分模型的數(shù)據(jù)集的形式為{問題—回復—人類評分},因此首先要收集人類評分;
(2)方法設計與訓練,模仿打分模型一般是分類器或神經(jīng)網(wǎng)絡模型;
(3)評價。分類問題的評價指標為準確率和F1值,回歸問題的評價指標為皮爾遜相關系數(shù),該系數(shù)度量兩個變量之間的線性相關程度,其值介于-1到+1之間;或者斯皮爾曼相關系數(shù),該系數(shù)度量兩個變量之間的單調關系,當兩個變量完全單調相關時,其值為+1或-1[15]。
文獻[30]將打分問題看作一個回歸問題,訓練模型學習人類評價打分。首先需要構建具有人工評分的評價數(shù)據(jù)集,先收集不同閑聊模型在數(shù)據(jù)集上的回復,使得回復能夠具有不同的合理性,然后在亞馬遜眾包平臺雇傭評價者,對回復的合理性進行打分,打分區(qū)間為[1,5],分數(shù)越高代表回復越合理。
圖3 ADEM模型[31]
(17)
其中,M、N∈Rn是學習參數(shù)矩陣,可以看作線性映射,將生成回復映射到上下文和參考回復的向量空間中。當映射后的生成回復和上下文以及參考回復具有相似的向量表示時,模型會給高分。α,β是常量,將模型的打分限制在[1,5]。
文獻[30]的實驗結果顯示,ADEM模型的評價結果與人工評價結果的相關性較高,超過了BLEU等詞重疊評價方法。但ADEM模型的缺點是評分太保守,原因在于訓練ADEM模型的目標函數(shù)是均方誤差,模型為了避免預測極值受到較大的懲罰,學會預測接近人類平均打分的分數(shù)。文獻[31]對ADEM模型的評價效果進行了深入評估,發(fā)現(xiàn)ADEM模型對所有生成回復評分的平均值為2.75,標準差為0.34,表明ADEM模型對不同的生成回復評分相近,無法明確區(qū)分合理性不同的生成回復。而且ADEM模型很容易受到攻擊從而表現(xiàn)不佳,比如將回復中的單詞順序調換之后,ADEM模型仍會給出較高的分數(shù)。
文獻[32]認為一個問題的合理回復有很多,文獻[30]使用參考回復并對生成回復和參考回復進行語義相似度比較是不合理的,因此文獻[32]將打分問題看作分類問題,只使用問題和生成回復,對生成回復的合理性進行分類。文獻[32]直接使用了一個聊天機器人研討會中具有人工評價標注的數(shù)據(jù),人工評價結果為合理的、可接受的和不合理的三類。
文獻[32]的分類模型使用了簡單有效的支持向量機和隨機森林模型,也使用了神經(jīng)網(wǎng)絡模型,如圖4所示的基于CNN的分類模型。該模型共四層:查找表層、應用Word2Vec或者GloVe預訓練詞向量,將單詞表示為詞向量;卷積層,提取局部特征,或者循環(huán)層,獲得句子的向量表示,分別得到問題和回復的向量表示之后拼接在一起;池化層,使用隨時間推移的平均值(窗口大小為M,平均池化的一種特殊情況)或者注意力機制(加權平均值);具有sigmoid激活函數(shù)的線性層將池化表示映射為(0,1)之間的標量值。
圖4 基于CNN的分類模型[30]
模仿打分模型通過使用回復具有人工評分的標注數(shù)據(jù),進行監(jiān)督訓練,學習人類的評分標準,對回復進行評價打分。這類方法的評價結果與人工評價結果具有較高的相關性,文獻[32]只利用了{問題—生成回復—人類評分}數(shù)據(jù)進行模型訓練,文獻[30]利用了{問題—參考回復—生成回復—人類評分}數(shù)據(jù)對模型進行訓練。而總有一些數(shù)據(jù)中的問題是沒有參考回復的,文獻[30]中的方法更具局限性,但評價效果也更好。模仿打分模型的主要缺點是需要大量標注數(shù)據(jù),而標注數(shù)據(jù)的獲取是很耗費物力財力的,限制了此類方法的進一步發(fā)展。而且,人類標注數(shù)據(jù)存在偏差,如人類傾向于給較短的回復打高分,模型通過訓練,也會學習到給較短回復打高分這個錯誤行為,需要針對這一情況對模型做出改進。此外,模仿打分模型受限于訓練數(shù)據(jù),當測試集為另一個數(shù)據(jù)集時,模型可能就需要重新訓練才能獲得較好的評價效果,需要增強該類方法的通用性。
1.3.2 對抗模型
由于生成對抗網(wǎng)絡(generative adversarial network,GAN)在圖像生成任務中的成功應用[55],生成對抗網(wǎng)絡也被嘗試用于閑聊機器人的評價,該類方法假設一個回復的合理性跟該回復與人類產(chǎn)生回復的區(qū)分性有關,區(qū)分性越小,該回復越合理。通過對抗模型分析生成回復與人類回復的區(qū)分性,判斷生成回復的合理性。對抗模型在閑聊機器人評價領域的應用分為以下三個部分:
① 模型設計。評價閑聊機器人的對抗模型主要是判別器,對機器人生成的回復和語料中的參考回復進行判別。
② 實驗設計。測試對抗模型的判別效果一般通過以下兩個實驗。
實驗一:將數(shù)據(jù)集中一半對話對保留原始回復,一半對話對中的回復替換為隨機回復。給定上下文,判斷給出的回復是原本的回復還是隨機的回復。
實驗二:首先訓練一個閑聊機器人,閑聊機器人根據(jù)數(shù)據(jù)集中的問題生成回復,然后判斷回復是閑聊機器人生成的回復還是語料中的參考回復。
③ 對抗模型的評價。評價指標為準確率、召回率和F1值。
文獻[33]是第一個嘗試使用對抗模型評價閑聊機器人的工作,其模型包含一個生成器和一個判別器,生成器和判別器分開訓練。生成器是一個Seq2Seq模型。判別器由RNN和二分類器組成,給定問題—回復—分數(shù)三元組(o,r,y),y=1代表回復來自訓練數(shù)據(jù)集,y=0代表回復是生成器模型生成的,模型的目標函數(shù)如式(18)所示。
J=∑(o,r,y)logP(y|o,r)
(18)
文獻[33]只進行了實驗二,實驗結果表明,判別器區(qū)分生成器模型和人類回復的準確率僅為62.5%。此外,判別器會給長句子打高分,甚至在長句子不連貫的情況下,也會給包含不常見單詞、詞匯的句子打高分,會給生成器生成的通用回復如‘我不知道’等打低分,可以說判別器檢測出了生成器的缺點。
文獻[34]在文獻[33]的基礎上進一步探索對抗模型在閑聊機器人評價領域的潛能和局限性。文獻[34]測試了兩個實驗,并且設計了更加復雜的對抗模型,其對抗模型只包含一個判別器,是一個基于注意力機制的雙向LSTM的二分類器,給定一個問題—回復對,判斷它是“真”的(語料中的對話對),還是“假”的(回復被隨機替換或機器人生成的回復)。
文獻[34]中,人類和對抗模型同時進行了兩個實驗。實驗對人類來說很有挑戰(zhàn)性,實驗一的結果顯示,3名評價者之間的一致性僅為0.3,實驗二的結果顯示,人類表現(xiàn)是隨機選擇水平。而對抗模型的評價結果優(yōu)于人工評價,說明對抗模型能夠學習到人類“看”不到的一些模式。進一步分析對抗模型利用了什么信息進行預測,發(fā)現(xiàn)當上下文和回復的余弦相似度很高時更容易被對抗模型預測為連貫的對話,并且連續(xù)對話的上下文和回復的余弦相似度很高。
目前,對抗模型在閑聊評價領域處于嘗試測試階段,只能夠在一定程度上對閑聊機器人的生成回復和語料參考回復進行區(qū)分,并不能像模仿打分模型那樣評價生成回復,給出確切的分數(shù)。而且,對抗模型在閑聊評價領域應用的前提是,假設閑聊機器人生成的回復的合理性可以用該回復與參考回復的區(qū)分性來衡量,區(qū)分性越小,生成回復越合理。需要進一步的實驗去驗證假設,因為可能閑聊機器人的生成回復與參考回復區(qū)分性較大,但仍然是合理的回復。還要進一步探索對抗模型的評價效果。比如可使用多個對話效果不同的閑聊機器人在測試集上生成回復,首先評價者根據(jù)回復的合理性進行評價,產(chǎn)生閑聊機器人的參考排序,然后對抗模型和評價者分別對生成回復和參考回復進行區(qū)分性判斷后對閑聊機器人進行排序,隨后查看評價者的排序結果是否與參考排序一致,如果不一致,就要重新考慮這個假設的成立性,如果一致代表假設成立,然后查看對抗模型的排序結果是否與參考排序一致,如果不一致,說明對抗模型的評價效果并不是很好,需要進一步發(fā)展。此外,還需要考慮區(qū)分性大小是否可以作為評價分數(shù),比如可將區(qū)分性進行一定處理后與人類評分結果進行相關性判斷,若相關性較高,那么區(qū)分性大小可以作為評價分數(shù)。
1.3.3 直觀打分模型
下一話語分類任務(next utterance classification, NUC)[56]專為檢索式閑聊模型的訓練和測試而設計。在NUC中,閑聊模型需要從回復列表中選出最合理的回復,該列表中包含參考回復和隨機從語料庫中采樣的其他回復。使用Recall@k(模型在排名最高的前k個回復中找到參考回復的概率)對閑聊模型進行評價。
文獻[56]使用ANN模型執(zhí)行NUC任務,ANN模型是一個雙編碼器模型(dual encoder model, DE model),分別對上下文和回復進行編碼,得到它們的向量表示,然后利用式(19)判斷回復是不是上下文的下一句。
P(ris correct response)=σ(cTMr)
(19)
其中,M是學習參數(shù)矩陣,σ是sigmoid激活函數(shù),c是上下文向量表示,r是回復的向量表示。
模型的訓練采用了負采樣技術,即隨機從語料庫中選取回復作為負樣本,訓練的目標是最小化上下文—回復對的交叉熵損失。
NUC任務給了直觀打分模型靈感,相比于模仿打分模型訓練使用人工標注數(shù)據(jù)費時費力,直觀打分模型訓練采用負采樣技術得到正負樣本而不需要人工標注。此外,直觀打分模型還來源于對問題“在開放領域對話系統(tǒng)中,怎么樣算一個合理的回復?”的思考,直觀打分模型不僅計算生成回復與參考回復之間的語義相似性,還考慮生成回復與問題之間的相關性。
直觀打分模型中的代表模型為RUBER模型(a referenced metric and unreferenced metric blended evaluation routine)[35]和BERT-RUBER模型[36],BERT-RUBER模型基于RUBER模型進行了改進。
如圖5所示,該類模型由三部分組成,分別是參考指標、非參考指標和結合方法。
圖5 RUBER模型[35]
(1)參考指標(referenced metric)。與參考回復相像意味著生成回復是一個合理的回復。直觀打分模型采用了基于詞向量的相似度測量方法。
RUBER模型中的參考指標使用了向量池化方法: 考慮符號的特征,選取句子中所有單詞的詞向量在每個維度的最大值和最小值,然后拼接起來作為句子的向量表示。得到生成回復和參考回復的句子向量表示后,使用余弦函數(shù)計算語義相似度。
BERT-RUBER模型對RUBER模型中的參考指標進行了改進,如圖6所示,將Word2Vec詞向量換為BERT詞向量。
圖6 改進的參考指標[36]
(2)非參考指標(unreferenced metric)。在閑聊中,一個問題會有很多個合理回復,而且參考回復可能很通用,如“我不知道”。因此,只考慮參考回復不足以評價生成回復的合理性。此外,問題也包含很多信息,可以用來評價生成回復的合理性,生成回復與問題的相關性越高代表生成回復越合理。
RUBER模型中的非參考指標,使用神經(jīng)網(wǎng)絡模型捕獲生成回復與問題之間的語義相關性。如圖7所示。
圖7 非參考指標[35]
首先問題和回復中的每個單詞被映射為詞向量后,通過雙向GRU得到問題和回復的語義表示,然后計算二次特征(quadratic feature)qTMr(M是參數(shù)矩陣),再將問題、二次特征和回復的向量表示拼接起來,拼接向量首先通過非線性激活函數(shù)tanh,然后通過非線性激活函數(shù)sigmoid,將非參考分數(shù)限制在(0,1)之間。
采用負采樣技術訓練模型,給定問題—回復對,從訓練集中隨機選取一個回復作為負樣本r-。目標函數(shù)為如式(20)所示。
J=max(0,Δ-SU(q,r)+SU(q,r-))
(20)
其中,SU(q,r)表示參考回復的非參考分數(shù),SU(q,r-)表示隨機回復的非參考分數(shù),Δ為一個常量。
BERT-RUBER模型改進了RUBER模型中的非參考指標,如圖8所示,修改的地方共三處。
圖8 改進的非參考指標[36]
① 詞向量
將靜態(tài)的Word2Vec詞向量換為動態(tài)的BERT詞向量,動態(tài)的BERT詞向量能夠根據(jù)上下文產(chǎn)生詞向量,即在不同的上下文中,同一個單詞會有不同的詞向量。
② 句子向量
將雙向RNN換為簡單的池化,原因是BERT詞向量是使用雙向Transformer訓練得到的,已經(jīng)包含了豐富的上下文信息,如果再加一層雙向RNN只是增加參數(shù),對效果提升沒有幫助。
③ 多層感知器網(wǎng)絡
將目標函數(shù)排序損失替換為交叉熵損失,BERT-RUBER模型將非參考分數(shù)預測看作是一個簡單的二分類問題,把問題—參考回復對標記為1,問題—隨機采樣回復對標記為0,MLP分類器最后一層的softmax函數(shù)輸出每對問題和回復的相關性得分。
(3)結合方法
采用啟發(fā)式策略:首先將參考分數(shù)和非參考分數(shù)歸一化,然后可采用最小、最大、幾何平均或算術平均的方式進行結合。
無論是檢索式閑聊機器人還是生成式閑聊機器人的評價,RUBER模型的評價結果與人工評價結果的相關性都要高于BLEU等基于詞重疊的評價方法。此外,RUBER模型使用豆瓣語料進行訓練,但也能夠在沒有重新訓練的情況下有效遷移到百度貼吧語料,雖然性能有輕微下降,但也優(yōu)于其他方法。BERT-RUBER模型的表現(xiàn)優(yōu)于RUBER模型,其非參考指標的評價結果與人工評價結果的相關性最高,其參考指標與非參考指標結合后仍然取得了較好的表現(xiàn),但是相比于非參考指標的結果,相關性有所下降,表明參考指標的應用對相關性的提高并沒有幫助,與RUBER模型的結果相矛盾。
相比于模仿打分模型,直觀打分模型無需人工標注數(shù)據(jù)就可以取得很好的評價效果,相比于對抗模型,直觀打分模型能夠對回復進行打分。因此,可以說目前最有發(fā)展前景的是直觀打分模型,但兩篇文獻都未開放源代碼,阻礙了該類評價方法在閑聊機器人評價中的標準化和進一步發(fā)展。直觀打分模型中BERT-RUBER模型將參考指標和非參考指標結合后,表現(xiàn)差于非參考指標,與RUBER模型的結果相矛盾,因此,需要進一步探索參考指標的有效性,提升參考指標的評價效果,以及嘗試設計更好的結合方式。直觀打分模型是針對單輪對話的評價方法,通過修改非參考指標中的神經(jīng)網(wǎng)絡結構,將對話上下文信息考慮進去,可以擴展到多輪對話評價。直觀打分模型的非參考指標模型可簡化為一個分類器,未來可嘗試效果更好的分類模型,提升非參考指標的評價效果。
1.3.4 其他
對于概率語言模型,困惑度(perplexity, PPL)是表現(xiàn)很好的評價指標,也可應用于閑聊機器人的評價[14,57-58],困惑度定義如式(21)所示。
(21)
分類錯誤(word classification error),也被稱為單詞錯誤率(word error-rate)[14],常用于語音識別,將生成回復變?yōu)閰⒖蓟貜?,需要替換(substitution)、刪除(delete)或者插入(insertion)某些詞,其計算如式(22)所示。
(22)
其中,S、D、I分別代表生成回復變?yōu)閰⒖蓟貜托枰鎿Q、刪除和插入的單詞個數(shù),N為參考回復包含的單詞的個數(shù)。
當閑聊機器人具備基本能力之后,有些研究致力于在此基礎之上增強閑聊機器人的擴展能力,如使回復具有多樣性[59],在對話中能夠保持一致的個性[60-61],對話具有情感[62-63],以及能夠在對話中保持主題一致[64]。與此同時,評價這些擴展能力的自動評價方法也有一定的發(fā)展。
Seq2Seq模型生成的回復,存在平淡無趣的缺點[1,14],研究者們將提高回復的多樣性作為目標,探索新的模型,如改變目標函數(shù)[59]、使用對抗學習[65]、使用強化學習[66]、使用層次化結構[67]等。但如何評價回復的多樣性沒有明確的標準,除了人工評價,也有一些自動評價方法。
最簡單的方法是通過計算生成回復的平均長度來判斷回復的多樣性,直觀上,句子越長,句子包含的信息越多,回復越多樣。
文獻[59]提出distinct-1、distinct-2指標評價回復的多樣性,首先計算生成回復中的unigram, bigram數(shù)量,然后根據(jù)句子長度進行縮放,以避免評價指標偏愛長句子。
文獻[67]使用熵衡量回復的多樣性,一般人類產(chǎn)生的話語包含很多的信息,而且相應話語的熵很大。因此,可以認為熵越大代表回復越多樣,如式(23)所示。
(23)
這些度量標準獨立于問題和參考回復,只能針對多樣性這個維度進行評價。
閑聊機器人具有明確的個性對產(chǎn)生自然而有趣的回復、避免無趣回復是至關重要的,因此有很多閑聊機器人可以生成具有特定個性的回復。評價閑聊機器人是否能夠生成反映不同個性的回復,一般需要兩步:
(1)構建回復具有個性標注的數(shù)據(jù)集。該評價數(shù)據(jù)集的形式為{問題—回復—回復體現(xiàn)的個性},因此,首先需要使用個性識別器識別數(shù)據(jù)集中回復體現(xiàn)的個性,然后做相應的標注。
(2)評價閑聊機器人的個性特質。閑聊機器人在測試集上根據(jù)問題生成回復后,首先使用個性識別器對生成回復體現(xiàn)的個性進行識別,然后再與之前對參考回復識別出的個性進行比較。
個性識別器OCEAN能夠識別五種個性:開放性(openness)、盡責性(conscientiousness)、性格外向(extraversion)、令人愉快(agreeableness)和神經(jīng)質(neuroticism),其識別結果OCEAN分數(shù)是一個五維向量,每一維代表一種個性。文獻[60]首先使用個性識別器OCEAN識別電視劇數(shù)據(jù)集中主要角色的個性,然后對問題—回復對中的回復標記OCEAN分數(shù),從而得到具有個性標注的數(shù)據(jù)集。
文獻[60]測試的兩個閑聊模型分別是基于對話者的模型[61]和基于個性的模型。在基于對話者的模型中,回復生成基于不同的對話者;在基于個性的模型中,回復生成基于不同的個性。兩個模型在測試集上根據(jù)問題生成回復后,為兩個模型的每個生成回復計算OCEAN分數(shù),最后使用支持向量機分類器來測試生成回復的OCEAN分數(shù)是否可以分到正確的個性類別。實驗結果表明,基于對話者的模型優(yōu)于基于個性的模型。
基于個性的自動評價方法能夠衡量閑聊機器人是否能夠針對不同的角色或不同的性格生成具有可區(qū)分個性的回復,評價閑聊機器人個性特質的自動評價方法可以成為人工評價的有用補充。該自動評價方法還可以進一步提高,如個性識別器OCEAN的識別效果可能不是最好的,因為其最初是在對話摘要等任務中訓練的,可以使用其他能夠產(chǎn)生個性分數(shù)的個性識別器。
情感的感知與表達是閑聊機器人取得好的對話效果的關鍵因素,對閑聊機器人的情感表達能力進行評價的自動評價方法與評價閑聊機器人的個性特質的自動評價方法類似[66-67],也需要兩步:
(1)構建回復具有情感標注的數(shù)據(jù)集。該評價數(shù)據(jù)集的形式為{問題—回復—回復體現(xiàn)的情感},因此,首先需要使用情感分類器識別數(shù)據(jù)集中回復體現(xiàn)的情感,然后做相應的標注。
(2)評價閑聊機器人的情感表達能力。在測試集上,使用情感分類器對閑聊機器人生成的回復的情感類別進行預測,然后計算參考回復的情感類別與生成回復的情感類別之間的一致性,得到情感準確性,情感準確性越高,代表該閑聊機器人的情感表達能力越好。
文獻[62-63]首先訓練了情感分類效果較好的Bi-LSTM分類器,Bi-LSTM分類器能夠分類六類情感:生氣、厭惡、開心、喜歡、傷心和其他。然后使用Bi-LSTM分類器去標注測試閑聊機器人的數(shù)據(jù)集,獲得具有情感標簽的數(shù)據(jù)。
文獻[62]中測試的閑聊模型為ECM(emotional chatting machine),ECM能夠產(chǎn)生內容上合理并且情感準確的回復,實驗結果顯示ECM的情感準確率為77.3%,在情感表達上取得了較好的表現(xiàn)。
基于情感的自動評價方法可以評價閑聊機器人的情感感知和表達能力,通過訓練效果更好的情感分類器可提升自動評價方法的評價效果。
對話可以看作是在一系列主題上信息和觀點的交換,因此,可以使用基于主題的評價指標來評價閑聊機器人的對話效果。基于主題的評價指標評價一個閑聊機器人是否能夠在一個主題上保持連貫而有趣的對話,以及是否可以討論多樣的主題。
文獻[68]提出了兩個基于主題的評價指標:主題廣度和主題深度。主題廣度評價指標衡量閑聊機器人在不重復表達的情況下就各種粗粒度和細粒度主題進行交談的能力。主題深度評價指標衡量閑聊機器人在給定主題上保持長時間連貫對話的能力。評價過程如下:
(1)首先使用主題分類模型識別每句話語的主題,使用主題關鍵字檢測器識別每句話語的主題關鍵字。
文獻[68]訓練了一個監(jiān)督型主題分類模型,該模型為深度平均網(wǎng)絡(deep average networks, DAN),如圖9所示。
圖9 DAN模型[64]
DAN模型將話語中每個單詞的詞向量的平均值作為話語表示,話語表示輸入全連接層后進入softmax層進行主題分類。在此基礎上添加一個注意力詞表,該表可學習詞匯表中各個主題詞的權重,從而可以檢測出每一句話語中特定主題的關鍵詞,該模型為基于注意力的深度平均網(wǎng)絡(ADAN),如圖10所示。
圖10 ADAN模型[64]
DAN模型和ADAN模型在測試集上可以達到較好的準確性,不僅可以識別如“政治”之類的粗粒度主題,而且還可以突出顯示如“特朗普”之類的細粒度主題詞。
(2)獲得用戶話語和閑聊機器人回復的主題和主題關鍵字之后,根據(jù)表4定義的概念,進一步定義如表5所示的評價指標。
表4 概念定義
表5 評價指標
(3)評價基于主題的自動評價方法,計算自動評價方法的評價結果與人工評價結果的相關性。
文獻[68]在評價時,使用的數(shù)據(jù)集為亞馬遜Alexa Prize中用戶和閑聊機器人之間的對話數(shù)據(jù),每個對話都有實時用戶評分。實驗結果表明,主題深度評價指標與人工評價的相關性很高,說明對話針對特定主題進行的時間越長,對該主題的討論就越深入,用戶就越滿意。此外,粗粒度的主題廣度與人工評價的相關性也較高,代表用戶會給能夠討論多樣主題的閑聊機器人打高分。
基于主題的評價指標,能夠評價機器人在主題深度和主題廣度方面的表現(xiàn)。用戶滿意度與長時間且連貫的主題對話相關程度高,而主題廣度指標會為用戶評分提供補充信息,因為由于實時用戶數(shù)據(jù)評分的局限性,很難在用戶評分中捕獲到主題的重復性。在未來工作中,可以結合已提出的指標綜合評價閑聊機器人,還可以研究無監(jiān)督的主題分類方法,從大量未標注的對話中學習主題。
對閑聊機器人綜合能力的評價,可以看作綜合評價閑聊機器人具備的多種能力,多種能力包括基本能力以及部分擴展能力。但當前具備多種能力的閑聊機器人很少,因此評價閑聊機器人綜合能力的自動評價方法幾乎沒有。為了自動評價方法的進一步發(fā)展,需要關注評價閑聊機器人的多種能力的場景,包括強化學習中的獎勵函數(shù)和閑聊機器人競賽中的評價,需要借鑒這兩個場景中對閑聊機器人綜合評價的方法。
強化學習中的獎勵函數(shù)也是一種評價方法。通常,獎勵函數(shù)是幾個評價指標的結合,對閑聊機器人的多種能力進行了評價。其中,有兩個級別的獎勵函數(shù)。
話語級別
文獻[66]提出使用強化學習訓練閑聊機器人,強化學習中的獎勵函數(shù)包含三個評價指標。
① 容易回答。閑聊機器人生成的話語應該易于回復,避免使對話者回答通用回復。通過使用生成無趣回復的負對數(shù)似然函數(shù)來衡量生成話語是否容易回答,計算如式(24)所示。
(24)
其中,NS表示無趣回復列表中無趣回復的個數(shù),Ns代表一個無趣回復所含的單詞數(shù),pSeq2Seq(s|a)代表給定生成回復a,Seq2Seq模型生成無趣回復s的概率。
② 信息流。閑聊機器人應該能夠在每次回復中包含新的信息,避免重復內容以推動對話發(fā)展。因而提出對閑聊機器人連續(xù)生成話語的余弦相似度進行懲罰的方法,如式(25)所示。
r2=-logcos(hpi,hpi+1)
(25)
其中,hpi、hpi+1分別代表閑聊機器人連續(xù)生成的兩個回復pi、pi+1的編碼。
③ 語義連貫性。使用生成回復與上下文的互信息來確保生成回復是連貫且合理的,如式(26)所示。
(26)
最終的獎賞函數(shù)為三個評價指標的加權和,如式(27)所示。
r(a,[pi,qi])=λ1r1+λ2r2+λ3r3
(27)
其中,λ1+λ2+λ3=1。
系統(tǒng)級別
文獻[69]提出三個評價指標,分別評價了閑聊機器人不同方面的能力,并且可以結合起來成為獎賞函數(shù)用于強化學習。
① 合理性。將回復的合理性檢測看作是分類問題,評價者將回復的合理性標記為三類:合理的、一般的和不合理的。使用具有人工評價的標注數(shù)據(jù)訓練支持向量機分類器。
② 對話主題深度。討論同一主題的連續(xù)話語數(shù)量反映了對話主題深度。同樣將對話主題深度檢測看作分類問題,對話主題深度可分為“淺”(少于6句話)、“中級”(7~10句話)和“深”(多于10句話)三個等級,根據(jù)設定的標準,對對話數(shù)據(jù)進行主題深度標注,然后使用標注數(shù)據(jù)對支持向量機分類器進行訓練。
③ 信息增益。閑聊機器人引入對話的唯一單詞的數(shù)量越多,對話中包含的信息越多,對話效果就越好。對回復進行分詞后,統(tǒng)計不同的單詞數(shù)量來計算此指標。
文獻[66]的實驗結果表明,基于強化學習的閑聊機器人在對話長度、回復的多樣性和多輪對話的整體表現(xiàn)方面都優(yōu)于其他閑聊機器人,說明在沒有參考回復的情況下,獎勵函數(shù)可以成功地捕獲問題和生成回復之間的部分關系。因此,可以嘗試直接將文獻[66]的獎勵函數(shù)作為綜合自動評價方法,用于評價閑聊機器人的綜合能力,還可以增添不同的自動評價指標,評價閑聊機器人不同的能力,從而開發(fā)出可評價閑聊機器人多種不同能力的綜合自動評價方法;此外,設計的獎勵函數(shù)中,如文獻[69]的對話主題深度評價指標,可以用于其他場合,即只對閑聊機器人的擴展能力—對話主題具有的深度進行評價。
在一些閑聊機器人比賽中,會針對閑聊機器人的多種能力進行評價,如Alexa Prize,ConvAI2[70]。Alexa Prize設定的任務是構建能夠在政治、體育和娛樂等領域就熱門話題和新聞事件進行社交對話的機器人。在該比賽中,提出了一種綜合評價方法,該評價方法包括六類十個評價方法[71],其中很大一部分為人工評價指標,如連貫性和對話用戶體驗指標等,它們都有人工標注數(shù)據(jù),利用收集到的數(shù)據(jù),可以嘗試訓練自動評價模型。
對閑聊機器人在多個維度上進行評價(機器人可能在某個方面表現(xiàn)較好,而在另一方面表現(xiàn)較差),需要發(fā)展綜合評分策略對閑聊機器人進行綜合評價。因此,文獻[71]中的三種綜合評分策略值得關注,Alexa Prize比賽使用這三種策略組合十個評價方法對機器人進行了評價。
① 堆棧排名(stack ranking)。根據(jù)單個指標對機器人進行排名,并使用各個指標排名的總和生成分數(shù)。如果所有指標并非同等重要,可以采用加權堆棧排名方法。
② 贏家圈(winners circle)。將人類評分最高的兩個機器人作為基準,其他機器人在每個指標上都與基準機器人進行比較,若二者之差在誤差允許范圍內,那么得分為1,否則為0。將每項指標的得分加起來得到總分然后排名。
③ 置信帶(confidence bands)。針對每一個指標,將得分最高的兩個機器人作為基準,其他機器人與基準機器人進行比較,若二者之差在誤差允許范圍內,那么得分為1,否則為0。
文獻[71]的實驗結果表明,統(tǒng)一指標的評價結果與用戶評分具有較強的相關性,代表可以使用統(tǒng)一指標作為用戶評分的代理。可將該統(tǒng)一指標中的人工評價部分自動化,發(fā)展為全自動綜合評價方法。還可以發(fā)展不同的自動評價方法,使用不同的綜合評分策略,設計出與人工評價結果相關較高的綜合自動評價方法。
自動評價方法的發(fā)展同樣也需要相應的評價。在閑聊中,一般通過判斷自動評價方法的評價結果與人工評價結果的相關性確定自動評價方法的好壞,相關性越高,說明自動評價方法就越好。相關性判斷一般使用皮爾遜相關系數(shù)(Pearson correlation coefficient)和斯皮爾曼相關系數(shù)(Spearman correlation coefficient)[31,35-36]。
皮爾遜相關系數(shù)度量兩個變量之間的線性相關程度,完全線性正相關時相關系數(shù)為+1,完全線性負相關時相關系數(shù)為-1,相關系數(shù)的絕對值越大,代表兩個變量之間的線性關系越強[72-73],計算如式(28)所示。
(28)
其中,Cov(X,Y)是變量X、Y的協(xié)方差,σ(X)、σ(Y)分別是變量X、Y的標準差。
樣本皮爾遜相關系數(shù)通過估計樣本均值和標準差計算得到,如式(29)所示。
-1≤r≤1
(29)
斯皮爾曼相關系數(shù)度量兩個變量之間的單調關系,當兩個變量完全單調相關時,相關系數(shù)為+1或-1。該系數(shù)根據(jù)變量的排序位置求解,兩個變量的對應值的排序位置相同或類似時,就具有較強的相關性[72-73]。計算如式(30)所示。
(30)
其中,n為數(shù)據(jù)總數(shù),di為兩個變量對應值的排序位置的差值。
計算出相關系數(shù)之后,還需要對兩個變量之間的相關關系的顯著性水平進行判斷。一般使用t檢驗[72-73],檢驗過程如下。
① 建立假設。原假設H0:r=0,兩變量之間不存在相關關系;備擇假設H1:r≠0,兩變量之間存在相關關系。設置檢驗水準α。
② 根據(jù)相關系數(shù)r計算t值。計算如式(31)所示。
(31)
其中,n為數(shù)據(jù)總量。
③ 查找t分布概率表,找到對應的p值,若p<α,那么可以拒絕原假設,選擇備擇假設,即兩變量之間存在顯著的相關關系。
綜上所述,閑聊機器人的自動評價方法有了很大發(fā)展,但是仍然存在很多問題。
(1)構建標準閑聊評價數(shù)據(jù)集
評價回復合理性的自動評價方法的發(fā)展趨勢為發(fā)展基于模型的評價方法,該類方法在不同的數(shù)據(jù)集上評價了不同的閑聊機器人,因此,評價效果無法直接進行比較,需要復現(xiàn)所有評價方法,然后再進行比較,無法快速推進基于模型的自動評價方法的發(fā)展[30,35]。
需要構建一個標準閑聊評價數(shù)據(jù)集,此標準閑聊評價數(shù)據(jù)集由(問題—參考回復—生成回復—人工評分)組成,首先不同的閑聊機器人在該數(shù)據(jù)集上進行測試,得到生成回復,然后人工評價不同閑聊機器人的生成回復,給出評分。得到人工評分數(shù)據(jù)后,就可以測試基于模型的自動評價方法的評價效果。首先自動評價方法利用(問題—參考回復—生成回復)數(shù)據(jù),對生成回復進行打分,然后將自動評價方法的評分與人工評分進行相關性分析,相關性越大,說明該自動評價方法越好。
(2)提高人工評價的可信度
人工評價結果被看作是正確的評價結果,自動評價方法的評價結果與人工評價結果相關性越高,那么該自動評價方法越好。但是人工評價結果存在評價者之間一致性較低的問題[58,60]。原因在于評分的標準很模糊,如回復的合理性等定義不明確,以及評價者的個人喜好存在差異,例如一個評價者認為機器人生成的回復很幽默、合理,而另一個評價者認為該回復很無趣。
為了設計出更好的自動評價方法,需要提高人工評價的可信度??梢酝ㄟ^實驗設置提高評價者之間的一致性,如設計合適的問題[74];采用結合連續(xù)量表和相對評估方法的基于等級的幅度估計方法RankME[75];使用多輪成對比較方法ACUTE-EVAL[76],后者結合了單輪成對比較和多輪打分排名方法的優(yōu)點。
(3)研究多輪交互式評價方法
大多數(shù)評價都是單輪靜態(tài)評價,閑聊機器人使用的數(shù)據(jù)集被分為訓練集、驗證集和測試集,測試集中的問題作為閑聊機器人的輸入,得到生成回復,然后由人工或自動評價方法評價生成回復。即使是評價多輪對話閑聊模型[58],也只是對根據(jù)具有多輪話語的上下文生成的一個回復進行評價。即使是為了保持一致個性而提出的模型也沒有在交互式環(huán)境下評價[66]。然而,單輪靜態(tài)評價不能捕獲到閑聊機器人的一些常見缺陷,如無法保持一致的個性、回復缺乏多樣性、回復存在重復等[77]。
對話是一個過程,閑聊機器人的一個生成回復很合理,不代表它能夠在整個對話中表現(xiàn)很好。所以多輪交互式評價很重要,它能夠更加可靠地評價不同閑聊機器人的對話效果,人與閑聊機器人進行多輪對話,然后由人或自動評價方法對閑聊機器人的多個回復進行評價。可能由于收集人—機器對話數(shù)據(jù)的難度較大,所以該方法未得到廣泛應用,只應用于一些大型比賽,如Alexa Prize,ConvAI2。文獻[77]提出一種替代方法self-play,閑聊機器人與自己進行對話,即閑聊機器人生成的回復作為下一輪的輸入。這樣就可以得到多輪交互的機器—機器對話數(shù)據(jù),可以進一步在這些數(shù)據(jù)上開發(fā)評價閑聊機器人的自動評價方法。
(4)開發(fā)并應用閑聊機器人公共評價平臺
由于不同的閑聊機器人使用的數(shù)據(jù)集不同,自動評價方法也不同,而且人工評價的標準也不一致,所以無法直接比較不同的閑聊機器人[10-14]。
為了能夠在無需復現(xiàn)其他閑聊機器人的情況下,可以直接比較新設計的閑聊機器人和其他閑聊機器人,一個解決方案是在文獻[78]開發(fā)的公共評價平臺ChatEval上對閑聊機器人進行評價,研究者提交閑聊機器人的信息和閑聊機器人對標準評估集中問題的回復。平臺對閑聊機器人進行自動評價和人工評價,然后將結果公開發(fā)布在ChatEval網(wǎng)站上。
(5)了解閑聊機器人的“絕對表現(xiàn)”
當前,無論是閑聊機器人的自動評價結果還是人工評價結果,都只能表明該閑聊機器人的表現(xiàn)是否優(yōu)于其他閑聊機器人,無法得知該閑聊機器人自身的表現(xiàn)有多好,即距離人類表現(xiàn)還有多遙遠[58-60]。
通過對測試集中的參考回復進行自動評價或人工評價,獲得人類表現(xiàn)得分,并將其作為閑聊機器人生成回復的表現(xiàn)上限。這樣在評價中,既可以獲得閑聊機器人的“相對表現(xiàn)”,也可以了解閑聊機器人的“絕對表現(xiàn)”。
自動評價方法的研究對于閑聊機器人的快速發(fā)展具有極大的意義,近年來引起了廣大研究者的關注。本文總結了目前基于生成模型的閑聊機器人的自動評價方法,針對閑聊機器人具有的不同能力,展示了不同的自動評價方法。本文首先介紹了評價閑聊機器人基本能力—生成合理的回復的自動評價方法,包括基于詞重疊的評價方法、基于詞向量的評價方法和基于模型的評價方法,并總結了每類方法的優(yōu)缺點及未來的發(fā)展方向。根據(jù)分析,研究者們應不再使用基于詞重疊的評價方法;可繼續(xù)發(fā)展基于詞向量的評價方法;由于基于模型的評價方法比較復雜,泛化能力還有待提高,需要進一步發(fā)展,其中,具有較好發(fā)展前景的是直觀打分模型,因為該模型無需標注數(shù)據(jù),就可以對生成回復的合理性進行評價并給出分數(shù),而且與人工評價具有較高的相關性。然后分別針對回復的多樣性、閑聊機器人的個性特質、閑聊機器人的情感表達,以及閑聊機器人對話主題的深度和廣度,介紹了評價閑聊機器人擴展能力的自動評價方法。隨后展示了對具有多種能力的閑聊機器人進行評價的場景,并討論了如何借鑒場景中的綜合評價方法發(fā)展綜合自動評價方法。還介紹了如何評價自動評價方法。最后,提出一些有待深入研究的問題,并給出相應的解決思路??傊?,無論是基本能力評價、擴展能力評價還是綜合能力評價,都需要進一步發(fā)展簡單、便捷、通用并且與人工評價相關性高的自動評價方法。