對話智慧挑戰賽:ConvAI 2
1. ConvAI2總體介紹
目前很少有適合訓練和評估閒聊對話系統(聊天機器人)的資料集;同樣棘手的是,目前也沒有標準的評價方法來評估這類對話模型。因此,第二屆ConversationalIntelligence Challenge(ConvAI2)的總體目標是建立一個測試聊天機器人的具體方案,旨在吸引研究人員的參與,成為一個標準的評估工具,以使對話系統直接可比。2018年的比賽是ConvAI挑戰的第二屆,同樣是NIPS大會8個正式的競賽任務之一。與去年相比,今年的競賽流程做出了以下改進:
-
從一開始就提供了完整的資料集persona-chat[1]
-
在對話任務的構建上讓會話者的參與度更高
-
更簡單的評估過程(先是使用客觀指標進行自動評估,然後再進行人工評估)
ConvAI2的組織者主要來自Facebook AI Research和Moscow Institute of Physics and Technology等機構。所有的基線系統、資料和指令碼都整合在了Facebook開發的ParlAI平臺[2]中。參賽者可以使用任何的語言或者框架進行開發,最後只需要整合到ParlAI中即可。
參賽者提交系統時需要在github上建立一個私有倉庫,並且共享這個倉庫給比賽組織方的相關人員。參賽者提供完整的模型與程式碼,並確保ParlAI平臺的評價指令碼能夠正確呼叫後,就可以通知主辦方的測試人員。測試人員會在隱藏的測試資料上執行客觀指標評價指令碼,得到此次提交系統的指標,並隨後更新競賽主頁上的排行榜(ofollow,noindex" target="_blank">http://convai.io/#leaderboard )。需要注意的是,一支隊伍一個月只有一次提交的機會。
資料方面,persona-chat資料集來自於眾包人員之間的真實對話。這些眾包人員隨機配對並被要求扮演給定的persona資訊(persona資訊隨機分配,由另一組眾包人員建立)。成對的眾包人員之間進行自然對話,並在嘗試在對話期間相互瞭解。這會產生有趣且引人入勝的對話,對話模型可以嘗試模仿這些對話。persona-chat資料旨在模擬兩個對話者第一次見面、並相互瞭解的對話。他們的目標是儘可能的參與對話過程,瞭解對方的興趣,討論自己的興趣並找到共同點。這項任務在技術上具有很大的挑戰性,因為它涉及到提問和回答,並且需要維持說話者一致的角色資訊。資料被分為了訓練集、開發集和測試集,參賽者能夠獲得的是訓練集和開發集。訓練集含有約1萬組多輪對話,包含了約16萬條句子。由於資料來自真實的人人對話,所以該資料的質量非常高。除了組織方提供的資料外,參賽者還可以任意擴充訓練資料。唯一的條件是,使用的資料在競賽結束後必須要公開出來。
評價指標方面,ConvAI2分為了自動評價和人工評價兩個階段。自動評價階段用到了3個指標,分別是PPL(針對生成模型)、Hits@1(主要針對檢索模型)和f1。指標本身很簡單,不再贅述。任何一項客觀指標排前3的隊伍會進入到人工評價階段,但是人工評價階段無法調整提交的模型。人工評價根據評價參與者的不同,分為了2個大的類別,分別是Amazon Mechanical Turk和Wild Live Chat with Volunteers。Amazon Mechanical Turk的評價者是眾包人員,基於亞馬遜的眾包平臺,和資料的構建方式類似,這部分評價者會得到一定的報酬;而Wild Live Chat with Volunteers則是基於聊天軟體Telegram,任何人都可以通過這款軟體隨機與某一個聊天機器人建立連線並進行打分。客觀指標和主觀指標的排名互相獨立,都會在各自的階段結束後公佈相應的排名。最終的獲勝者會在NIPS大會上公佈。
2. 對於ConvAI2的一些討論
資料方面,競賽組織方提供了一個高質量的人人對話資料集,包含了豐富的persona資訊,為相關研究工作的開展提供了很好的支援。個性化對話研究是開放域對話一個重要問題。在persona-chat資料公佈之前,研究工作中能夠使用的公開資料大多來自社交媒體或者電影臺詞,而要從這些資料中系統化的提取、整理人物的persona資訊比較困難。persona-chat資料的公佈則有效的緩解了這一問題,並且使得不同模型之間的比較成為可能;而另一方面,競賽的組織方出於收集更多資料的考慮,在競賽規則中允許參賽者使用任意語料擴充自己的訓練資料,只需要在賽後公佈使用到的資料。眾所周知,資料的規模在一定程度上會決定最後的效果。因此,想要在ConvAI2中取得好成績,模型調整和資料準備二者缺一不可。
評價指標方面,開放域對話系統的評價本身就是一個很難的任務,目前沒有任何統一、有效的客觀指標能夠準確刻畫對話系統的效能。就ConvAI2來說,目前情況下使用PPL和Hits@1來評價生成模型和檢索模型是相對合理的;而在只有一個句子作為參考答案的情況下,加之對話本身的開放性,使用f1作為評價指標是否合理就值得商榷了;即使需要考慮詞重疊率的相關指標,使用BLEU或許也是一個更好的選擇。
困惑度(PPL)原本是用來衡量語言模型好壞的指標。因為對話在某種程度上也是一種特殊的語言模型(考慮對話歷史而不是同一個句子的前幾個詞),所以近幾年很多開放域對話的研究工作都使用了PPL作為評價指標,以作為回覆流暢性的一種度量。在使用PPL作為評價指標的過程中,研究人員們逐漸發現,當對話模型的PPL低於一定的限度時,模型開始傾向於生成通用(generic)的回覆。這與我們期望對話系統生成多樣化回覆的初衷是背道而馳的。在ConvAI2競賽中,由於客觀指標獨立於主觀指標,參賽者都會以降低模型的PPL為自己的優化目標;此外,由於規則不限制具體資料的使用,在模型相同的前提下,加入更大規模的資料幾乎可以確保在PPL指標上取得更好的效果。作為官方基線系統的seq2seq+attention模型在PPL指標上有著很好的表現,很少有隊伍的PPL指標能夠超過這一模型;但是,很多的研究工作都已表明,seq2seq模型傾向於生成無趣的萬能回覆[3]。那麼,即使PPL優於了seq2seq模型,這樣的對話模型又會生成什麼樣的回覆呢?
現有的技術條件下,評價對話系統很難有萬全的方案。ConvAI2的賽制以及評價指標可能存在一些值得改進的地方,但該項競賽對於開放域對話系統研究所作出的推動,以及對於開放域對話模型評價的探索,都值得肯定。
參考文獻:
[1] Zhang S, Dinan E, Urbanek J, et al. Personalizing Dialogue Agents: I have a dog, do you have pets too? ACL 2018.
[2] Miller A H, Feng W, Fisch A, et al. ParlAI: A Dialog Research Software Platform[J]. 2017.
[3] Jiang S, De Rijke M. Why are Sequence-to-Sequence Models So Dull? Understanding the Low-Diversity Problem ofChatbots[J]. 2018.