如何評測一個智能對話系統(四) | 人人都是產品經理

編輯導語:隨著科技的不斷發展,智能設備逐漸深入我們的生活中;在上一篇文章中作者介紹了智能對話系統標註數據的採樣,標註問題的設計以及問題背後的技術原理;本文作者將帶我們繼續了解對話系統的特徵,我們一起來看一下。

在上一章中我們介紹了分散式對話系統評測方法的具體實現細節,包括數據的分類和採樣,標註問題的設計與其背後的技術原理;我們詳細闡述了獲取標註數據,以及制定語言數據話題類型的方法;同時,我們還介紹了基於6個維度的信息特徵而分解出來的12個封閉式問題;我們將數據與問題相互對應,就形成一份可操作,可統計的對話評測標註任務。

接下來,我將介紹如何通過分散式對話評測方法對一個對話系統進行評估;基於智能對話系統的特徵,我們將評測任務分為兩大類:單輪對話評測任務;多輪對話評測任務。

我們先來對這兩個概念做一個定義:

單輪對話:

在單輪對話的場景中,我們向被測試的對話系統發送一組自然語言語句,該對話系統將針對每一個輸入語句進行理解,並給出相應的輸出內容;這裡我們期待對話系統能夠還原真實人類的對話場景,較好的理解每一個輸入語句,並給出合理且得體的回復。

多輪對話:

在多輪對話的場景中,我們圍繞一個固定的話題,向對話系統發送一連串的自然語言內容;對話系統需要結合上下文內容,在設定話題的範圍內,連續的給出相關聯的回復內容,並將話題不斷的延續下去。

為什麼要對單輪對話場景和多輪對話場景分別做評測呢?

這就涉及到智能對話系統的自身的特性與技術瓶頸。我們在之前的文章中介紹過,智能對話系統共分為三個類型,即問答型,任務型,以及開放型(閑聊型);每一類型的對話系統都有自己獨特的實現方式,同時也存在著特定的優勢與短板,不同的對話系統會根據其目標場景和服務對象進行差異化的設計。

因此,為了確保評測任務的客觀性和有效性,我們將單輪對話場景與多輪對話場景分離開來,分別制定了不同的評測任務。

具體的評測任務如下:

一、單輪對話評測

首先,我們將預設數據集中的1500條數據逐一輸入被測試的問答系統當中,並將系統所輸出的答案記錄下來,從而生成1500組問答對;我們將在這1500組問答對中隨機抽取500組作為評測任務數據集。

接下來,我們將前一篇文章所總結的6個評測維度與12個評測問題進行分類,目的是便於人工標註和統計。

我們將「回復是不是符合正確的語法」和「回復內容是不是不可以被接受(色情,暴力,消極、辱罵,政治等)」這兩個問題單獨挑選出來作為一組獨立的評判標準;我們把這組評判標準定義為「一級評判標準」。

我們將「內容關聯度」和「邏輯關聯度」合併成「關聯度」。這樣一來,6個評測維度就整合成5個大類的指標,每類指標下包含2個是否類型的判斷題(共10道題);我們把這組評判標準定義為「二級評判標準」。

評測人員需要對500組評測數據分別進行人工評判,並將判斷的結果記錄下來,評測順序為先做一級評判,再做二級評判。

下圖為參考範例:

當評測人員完成評判后,會對每組數據的評測結果進行打分,打分方法如下圖所示:

為了確保評測的客觀性,每組評測數據需要由至少3名測試人員依照同樣的標準,分別進行打分,對話系統的最終評測得分將會權衡多個測試人員的得分情況。

評測的最終分數為所有500組問答數據評判結果的分數總和,即滿分 = 總測試題數 500 * 評測維度 5 * 判斷指標 2 * 參與評測人數 3 = 15000;我們可以將被評測對話系統的實際分數(介於0到15000之間)線性轉換成滿分為100的分數,就得出了被評測對話系統的量化表現分數(單輪)。

二、多輪對話評測

相較於單輪對話場景,多輪對話評測任務主要考核的是一個智能對話系統的持續對話能力,而不僅僅是其在每一輪對話的表現;這次,我們從數據集中的1500條數據中選取20條對系統行評測;這裡需要注意的是,被選的20條數據需要覆蓋數據集中全部的16個話題。

接下來,我們將選取出來的20條數據作為起始內容(首個問題)輸入到被測試的對話系統當中,從而展開對話內容;測試人員將嘗試與對話系統進行實時的多輪次對話交互,並在每次系統返回內容后,針對所返回的內容進行評測;當評測人員認為對話內容無法繼續進行下去時,則測試結束。

多輪對話的評測主要分為兩個部分,對話質量,以及對話數量。對話質量和對話數量的評測方式又分別包括每一輪的表現情況和總體的表現情況;這裡,我們只關心繫統的「關聯度」和「發散性」這兩個核心維度指標。

考慮到多輪對話場景的複雜性和主觀性,我們將多輪對話評測的最大次數鎖定在5次,同時建議至少5名測試人員參與測試。

評測標準與計分方式如下表所示:

當被測試對話系統能夠圍繞同一個話題進行等於或多於5輪對話,且在每一輪對話都滿足規定的評測指標時,我們則認為該對話系統在多輪對話的場景中獲得了滿分;即滿分 =總測試題數20 * 評測類別 2 * 評測指標 4 * 最大對話輪次 5 *  參與評測人數 5 = 4000。

同樣的,我們將被評測對話系統的實際分數(介於0到4000之間)線性轉換成滿分為100的分數,就得出了被評測對話系統的量化表現分數。(多輪)

至此,我們就將一整套開放領域的智能對話系統評測任務介紹完了。為了確保評測任務的合理性和嚴謹性,我們還針對評測任務中的判斷題進行了inter-rater reliability(評分者信度)的分析,採取了Free Marginal Kappa(Randolph, J. J. 2005)的計算方式,得到了不錯的結果。

另外,我們還將任務的評測結果與傳統Liker Questionnaire(里克特量表)的統計結果進行了詳細的對比;對比結果顯示,我們提出的評測方法在少數據、少人力投入的情況下,依然能夠獲得較好的結果。

歡迎有興趣的讀者嘗試用不同的方式對本評測任務進行驗證,這部分內容我就不在這裡展開了。

三、總結

這套評測方法的目標並不是實現完全自動化的智能對話評測,而是嘗試提出一個更高效、更可靠的人工評測方法。

本評測方法最大的特點就是採取了多維度分散式的方式,嘗試將原本抽象的自然語言能力進行了量化拆解;圍繞客觀性,合理性,和易操作性的原則,將原本需要海量人力標柱且難以評估的難題,優化成一個需要較少人力和時間即可完成的任務;此外,我們還專門為這套評測方法量身打造了一組測試數據集,從而最大程度的保障評測的系統性和科學性。

當然,這套智能對話評測方法還有很多的不足之處。

首先,我們依然是以人工標柱為主要方式進行評測,這就導致我們無法完全避免評測的主觀性;另外,我們並不認為這套評測方法可以通用於所有的智能對話場景。

我們的評測方法並沒有較強的學術權威性,更多的是希望能夠幫助企業級的智能對話產品進行表現能力的分析、評估和比較。

我們鼓勵大家使用同樣的評測標準、統一的測試數據集、同樣的標柱方式,針對不同對話系統的評測結果進行橫向對比,從而獲得有意義的參考數據和有價值的評測結果。