问答机器人2.0!文档问答产品科普
在之前的文章里,我們測試過百度UNIT的圖形化多輪對話編輯功能TaskFlow,今天我們將帶大家體驗UNIT和小i機器人最新的文檔問答(document-based question answering,DBQA)功能。這兩家也是作者目前了解到僅有的在開放平臺提供這一功能的廠商。
傳統的問答機器人產品往往需要用戶提供大量自己整理的問答對(FAQ)用于模型的訓練或知識庫的構建;但借助基于文檔的問答技術用戶只需上傳如產品手冊、宣傳文檔這樣的文本材料便可直接產生一個問答機器人。相比于FAQ,文檔問答方式將大大降低機器人的啟動門檻,在實際業務場景中是很有吸引力的。
技術背景
與文檔問答相關的是NLP領域里一種稱為機器閱讀理解(machine reading comprehension,MRC)的算法,是在近兩年大熱的一個領域。該領域著名的排行榜如SQuAD、CNN/Daily Mail等一直都是NLP技術的風向標,也是NLP列強的兵家必爭之地。
所謂機器閱讀理解,就是給出一段文章,讓機器能夠回答與文章相關的問題。雖然定義簡單,但細節不少,閱讀理解相關數據集的難度其實是漸漸提高的。以SQuAD為例,2016年斯坦福大學發布SQuAD1.0[1]版本,該數據集一共針對題材廣泛的500多篇維基百科中的23000多個段落提了十萬個問題,在這些問題中主要的幾類提問目標是常見名詞、人名、日期等等。因為這些問題的答案都可以在文章中找到,算法的目標就是在文章中標出一個能回答問題的區間(Span)。
2018年斯坦福在1.0版本數據集的基礎上發布了新的SQuAD 2.0。新版數據集不僅包含了原來的所有10萬條問題,還人工撰寫了五萬句根據文章無法回答的問題,而且這些問題都是精心設計,讓它們看起來和可回答的問題非常相似。
SQuAD2.0段落樣例SQuAD2.0問題及答案樣例,包含了不可回答問題在前BERT時代,針對閱讀理解的模型往往很復雜,在文章和問題、文章和標題、問題和標題間充滿了各種人工設計的attention機制。而在預訓練語言模型大行其道的今天,閱讀理解問題的算法范式已經變得非常簡單。例如在BERT[2]論文里,將問題和文章內容拼接后輸入語言模型模型,然后用一個簡單的2輸出全連接層獲得每個字詞作為答案開始和結束的概率;再根據這兩個概率經過簡單的后處理即可得到預測的區間。
BERT 運用于閱讀理解問題的示意圖目前閱讀理解問題的排行榜已經完全被各種強大的預訓練語言模型占領,SQuAD2.0上的SOTA是來自上海交通大學的Retro-Reader on ALBERT[3]。精確匹配準確率達到了驚人的90.115,已經遠遠超過了人類86.831的水平。
SQuAD2.0SOTA水平趨勢圖,來自paperswithcode雖然在一些特定的數據集上AI算法已經取得了優異的成績,但這些都是在大量數據支撐訓練下達到的結果。而在實際的應用場景中,一般的企業很難針對自身的業務場景提供如此大量的數據。
UNIT和小i的文檔問答
在我們看來,百度和小i敢于在實際產品中上線文檔型問答是非常有勇氣的,但似乎兩家都將這一功能定位為體驗為主。UNIT的文檔問答入口并不顯眼,僅僅是作為創新技術頁面的三個功能之一。功能介紹寫得也很直白,突出了文檔問答對業務友好的特點。建立文檔問答技能的操作方式也很傻瓜,準備好一個txt或者word格式的文檔直接上傳即可,再經過一段時間的訓練就可以部署或測試模型了。
百度UNIT“創新功能”頁面,包含了文檔問答而小i的Bot開放平臺將文檔知識作為知識管理的一個欄目,并且非常明顯地標上了Beta圖標。操作方式也同樣簡單,上傳文檔即可開始測試。與百度不同的是整個過程甚至無需訓練。
小i開放平臺的文檔知識頁面測試方法與結果
本次我們從百度百科的天安門詞條[4]選取了一些文字作為文檔。文檔不長,一共500余字,包括了較大量的數字信息。針對這段文檔,我們仿照SQuAD數據集人工整理了15道可回答問題和5道不可回答問題來對兩家的算法進行測試。為了給大家一個直觀的印象,在此摘抄第一段:
天安門,坐落在中華人民共和國首都北京市的中心、故宮的南端,與天安門廣場以及人民英雄紀念碑、毛主席紀念堂、人民大會堂、中國國家博物館隔長安街相望,占地面積4800平方米,以杰出的建筑藝術和特殊的政治地位為世人所矚目。天安門是明清兩代北京皇城的正門,始建于明朝永樂十五年(1417年),最初名“承天門”,寓“承天啟運、受命于天”之意。設計者為明代御用建筑匠師蒯祥。清朝順治八年(1651年)更名為天安門。由城臺和城樓兩部分組成,有漢白玉石的須彌座,總高34.7米。天安門城樓長66米、寬37米。城臺下有券門五闕,中間的券門最大,位于北京皇城中軸線上,過去只有皇帝才可以由此出入。正中門洞上方懸掛著毛澤東畫像,兩邊分別是“中華人民共和國萬歲”和“世界人民大團結萬歲”的大幅標語。? ?--百度百科天安門詞條
測試過程中UNIT的體驗還是不錯的,當它在文檔中找到相關答案且置信度較高時會在聊天框回復答案所在的句子,并且用加粗字體標出可直接回答問題的信息(一個區間)。
UNIT命中回答樣例但如果UNIT沒有直接命中答案則會給用戶提供選項,選項稍微有點奇怪,似乎是把每句話的關鍵詞羅列了出來。
UNIT未命中時的回答樣例而小i則是不一樣的風格,只有當他找到答案時才會回答,并且回答很簡潔,就是一個詞,直擊問題。遺憾的是大部分時候系統都是直接提示答案未找到。雖然他的召回率較低,但回答的答案沒有答錯的。
小i回答樣例測試結果如下所示。對于可回答問題,小i答對了4道(26.7%),其余均為未回答,沒有打錯的;UNIT如果不計提供選擇的測例答對了5道(33.3%),如果計入提供選擇且排第一位的測例則答對了8道(53.3%),答錯一道(6.7%),其余為提供選擇且排在第一的選項未命中。
可回答問題測試結果不可回答問題測試結果查看UNIT返回的json可以發現它對提供的選項都給出了置信度。雖然我們不知道UNIT提供的置信度具體定義是什么,但如果比較可回答問題和不可回答問題里的置信度可以發現這個值的指示性并不強。要想通過調節置信度的閾值來改善輸出準確率似乎是一件比較困難的事情。而且我們還發現如果用戶在UNIT的一個session里選擇過他提供的選項,那么下次再問這個問題時它就可以命中了。但當重置對話之后又會變為無法命中的情況。
在響應速度方面兩家的差距不大。當提問可回答問題的時候反應都很迅速,但當問不可回答問題的時候兩家都有2-3秒的等待時間。測試的兩家廠商實際的方案不得而知,但從百度的中間結果看,他們提取出了句子的關鍵詞,應該在檢索上做了很多工作。也歡迎大家在公眾號后臺跟我們交流。
后記
今天的評測大概就到這里,相信大家對文檔問答都有了一個直觀的認識。作為NLP愛好者,確實非常欣喜地看到有廠商已經在實際產品中推廣DBQA。雖然目前看問答的效果并不是特別好,但相信隨著優化的深入,這種技術可以漸漸代替傳統問答的位置。一個可行的方案是在產品上線初期使用DBQA來直接冷啟動得到一個問答機器人,上線之后再根據用戶實際的提問針對性地建立FAQ知識庫。
為了讓大家可以快速測試,我們在公眾號后臺綁定了這個天安門知識問答機器人,歡迎大家關注我們進行體驗。UNIT研發環境每天請求次數有限,大家先測先得。
我們也已經在之前提到的GitHub項目[5]里更新了這次評測相關的數據,大家如有興趣可以自己體驗。對話平臺評測項目涉及到大量的數據準備工作,在此再次真誠邀請有興趣的朋友們一起加入到這個項目中來。
參考資料
[1]
SQuAD數據集論文: https://arxiv.org/abs/1606.05250
[2]BERT: https://arxiv.org/abs/1810.04805
[3]Retro-Reader on ALBERT: http://arxiv.org/abs/2001.09694
[4]天安門百度百科詞條: https://baike.baidu.com/item/%E5%A4%A9%E5%AE%89%E9%97%A8/63708?fr=aladdin
[5]對話平臺評測GitHub項目地址: https://github.com/thuwyh/dialog-platform-evaluation
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(pdf更新到25集)本站qq群1003271085,加入微信群請回復“加群”獲取一折本站知識星球優惠券,請回復“知識星球”喜歡文章,點個在看
總結
以上是生活随笔為你收集整理的问答机器人2.0!文档问答产品科普的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 干货!华为AutoML助力AI开发效率提
- 下一篇: Yoshua Bengio等图神经网络的