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

本文將把目光聚焦到分散式評測方法的具體實現細節上,為大家介紹評測系統標註數據的採樣,標註問題的設計以及問題背後的技術原理。

一、評測標註任務的數據採集與問題設計

在上一章中我們介紹了目前業界比較流行的智能對話評測方法,包括人工評測和自動評測。闡述了不同評測方法的優勢與不足,並解釋了人工評測在智能對話評測任務中的重要性和必要性。

之後,我們介紹了分散式的評測方法。即把一個問題分解成:語法質量;內容質量;內容關聯度;邏輯關聯度;情感強度;發散性六個不同的維度。並以這六個維度為思考角度,分別對一個對話系統的對話內容進行評判。

分散式的評測方法就是將問題拆分成多個維度,再分解為可操作的問題,分別進行回答。最後整理合併,計算出一個具有參考價值的結果。複雜的問題,答案往往是辯證的,而分散式統計的方法恰恰能夠較好的處理信息龐大的複雜問題。

接下來,讓我們將目光聚焦到分散式評測方法的具體實現細節上。筆者將在本章為大家介紹評測系統標註數據的採樣,標註問題的設計以及問題背後的技術原理。

1. 數據樣本

想要創建一個有效的評測標註任務,我們首先需要製作一組數據集,也就是用來評測對話系統的問題集(或者說是query集,因為輸入內容不局限於疑問句)。

用於對話評測的query集往往是一套包含各種形式和類別的自然語句。目前各大NLP相關的競賽和研究報告中,會有一些開源的數據集供研究者使用。不過,這些數據集多以英文為主。因而,我們需要有針對性的為評估任務整理一份中文樣本數據集。

中國漢語可謂博大精深,客觀的講,一套簡單的數據集不可能囊括所有漢語中的對話意圖和語言使用場景。因此,理論上講,樣本的數據量一定是越多越好(用於訓練語言模型的數據常在億級以上)。

然而,為了便於評測標註任務的執行,我們希望標註的題目儘可能的少。(這樣標註人員就可以在較短的時間完成標註)於是,以儘可能少的數據量囊括儘可能多的語言話題成了樣本數據的重點和難點。

在這裡,筆者將自己收集和整理樣本數據的方法與大家分享,希望大家可以借鑒筆者的方法,整理屬於自己的評測數據集。

由於數據保密的原因,筆者不便將數據內容在這裡完全公開(感興趣的朋友可搜索「NLPCC2019 – 開放領對話系統評測任務」,了解更多細節)。

當然,筆者所做的數據集並不一定是最好的,如果有更好的數據集也歡迎大家與筆者分享和交流。

2. 數據採樣及細節描述

數據源:來自真實的用戶日誌和互聯網社交媒體上的公開數據

獲取方式:通過腳本篩選和人工標註的方式從億級的原始數據中獲取數據池

話題分類:

  • 通過百度開源信息獲得百度中發帖數前200的貼吧
  • 通過百度貼吧分類將200個貼吧分為22個類別
  • 從22個類別中提取出16個話題和2個無話題類別

樣本數據:

  • 針對每個話題,從數據池中抽取100個問題,共計1600個問題
  • 從數據池中收集16個話題之外的100個問題
  • 樣本數據集共計1700個問題

數據分配:1700個問題當中,有200題作為測試問題,其餘1500題作為真實評測問題

3. 標註選項

有了評測的數據集,接下來我們還需要設計標註的具體任務。(annotation task)為了能夠更加準確且高效的評測一個對話系統的表現,評測的標註任務需要秉持兩個基本原則:客觀和精簡。

對話評測的底層方法論是從6個不同的維度分散式的評測一個對話系統,在評測的過程中,我們主要是在判斷被評測的對話系統是否能夠滿足這6個維度的信息特徵。為了能夠更加直觀的進行判斷,我們將6個維度的評判分解成12個封閉式問題(True or False question)。封閉式的問題能夠幫助評測者儘可能的避免主觀思考的模式,相對快速的給出理性的評判。

以下是筆者針對對話評估任務設計的12個問題,以及相應的幾個維度:

語法質量:

  • 回復是不是符合正確的語法
  • 回復是不是有與上文內容相關或重疊的實體詞
  • 回復是不是明顯的書面化表達

內容質量:

  • 回復內容是不是不可以被接受(色情,暴力,辱罵,政治等)
  • 回復內容是不是不含糊,不存在歧義
  • 回復內容是不是信息量適當

內容關聯度:

  • 回復內容是不是看上去正確理解了上文意圖

邏輯關聯度:

  • 回復內容是不是可以自然的與上文銜接

情感強度:

  • 回復是不是有主觀態度或明顯的情緒表達
  • 回復內容是不是會引人發笑

發散性:

  • 回復是不是有發散,生成新的內容或實體
  • 回復是不是能讓用戶知道接下來該說什麼

4. 標註類型

標註任務的類型包括基本標註和特殊標註。

一般情況下,在評測一個答案的時候,我們會有限判斷其內容是否可以被接受。如果回復可以被接受,則繼續從多個維度對這個回復進行評測。如果回復不可以被接受,則直接跳過其他問題,將這組問答對標為不合格。

我們將「回復是不是符合正確的語法「與「回復內容是不是不可以被接受」這兩條評測問題整合到一起作為特殊標註類型,而所有其他的評測問題則都是基本標註類型。

5. 技術理論依據

雖然,上面提到的大多數評測標註問題都是在分散式對話評測方法的基礎上而創建,我們依然需要有足夠的技術理論作為參考和支持。

一方面,經典技術理論的支持可以使整個評測方法更具說服力,另一方面,我們可以通過技術理論中的數學模型,部分的實現一個對話系統的自動化評測。

在有效評判市場上智能對話類產品表現的同時,也具備了一定的科研價值。

語法和內容質量:參考了常用的NLP評測方法理論,如PPL,BLEU和Distinct等。

關聯度和發散性:名詞實體變化統計(NER)和LSTM深度學習演算法針對多輪對話概率的計算。

情感強度:基於情感分析(Sentiment Analysis)的一些演算法和理論支持。

二、總結

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

不同的對話系統有不同的側重點,有的對話系統比較擅長單輪的問答對話,有的對話系統則在多輪對話的場景下有更好的表現。我將在接下來的兩篇文章中,分別介紹如何使用分散式對話評測方法進行單輪對話系統的評測與多輪對話系統的評測。