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