摘要
對話技術平臺(Dialog Technology Platform,DTP)是哈爾濱工業大學社會計算與資訊檢索研究中心(HIT-SCIR)專為第三方開發者打造的中文對話機器人搭建平臺,現已整合並推出了自定義閒聊對話機器人功能。與已有的任務型對話機器人功能相比,開發者可以輕鬆定製屬於自己的個性化聊天機器人,大大降低了開發對話機器人的技術門檻。
一、前言
隨著人工智慧的浪潮興起,人們希望機器能像人一樣思考,與人類對話,併成為人類的幫手,智慧對話機器人便成了目前熱門的研究課題。當前的對話機器人主要分為兩大類:一類是任務型對話機器人,該類系統主要幫助使用者完成任務型的指令,例如:查詢天氣、訂車票機票等。就像《流浪地球》裡的MOSS那樣,能夠完成各種指令;另一類則是閒聊機器人,這類機器人通常不會有明確的目標,關注點在於生成流暢、合理並且自然的回覆。
然而對於缺乏NLP方面技術和資料積累的普通開發者來說,搭建對話系統是一項很困難的工作。因此,我們於2018年推出了對話技術平臺(DTP),供開發者建立自己的基於自然語言互動的任務型對話系統。DTP搭載了哈工大社會計算與資訊檢索研究中心(HIT-SCIR)多年積累的自然語言處理(NLP)和人工智慧(AI)技術,專為開發者打造的中文對話機器人搭建平臺。開發者可以通過DTP輕鬆賦予自身產品智慧對話互動的能力,在很大程度上提高了開發效率。
最近,在DTP現有架構下,結合我中心的閒聊機器人笨笨,為DTP增加了自定義閒聊功能,開發者可以使用此功能搭建個性化定製的閒聊型對話機器人。只需通過簡單地設定機器人屬性和新增自定義的聊天語料,就可以擁有一個能夠進行個性化回覆的閒聊機器人。
二、DTP閒聊機器人的整體架構
DTP閒聊機器人主要是由個性化定製模組和兜底回覆模組組成,整體架構如下圖所示:
圖1 整體架構圖
在閒聊機器人中,整體採用pipeline的框架,使用者的輸入(query)首先傳送到屬性回覆模組判斷是否為詢問機器人屬性,如果不是再交給FAQ(常問問題)匹配模組處理,如果該query也不在使用者提供的常問集中時,DTP閒聊機器人會通過網路介面交給笨笨進行兜底回覆。
2.1 個性化定製模組
個性化定製模組主要由屬性回覆模組和FAQ問答匹配模組組成。個性化定製模組對接收到的query優先進行機器人屬性的匹配,對提取到的屬性使用模板生成回覆。對於不涉及機器人屬性的問題,則進入FAQ匹配模組進行解析。下面分別介紹兩個模組的結構。
2.1.1 屬性回覆模組
屬性回覆模組用於回答閒聊機器人的屬性。例如:使用者預先定義機器人的屬性“年齡”的值為“18” 。當使用者提問到諸如“你今年多大了?”、“你的年齡是多少?”等問題時,機器人會優先使用屬性“年齡”的值“18”來生成相應的回覆。其他屬性也是如此。我們可以通過如圖2所示進行機器人屬性的設定。
圖2 屬性回覆模組示意圖
2.1.2 FAQ匹配模組
FAQ匹配模組是DTP閒聊機器人的核心,機器人的定製化功能絕大部分都是由FAQ匹配模組實現的。開發者可以通過新增自定義的FAQ語料來控制機器人的回覆內容。使用者上傳FAQ語料介面如圖3所示。FAQ匹配模組的任務就是從使用者自定義的語料中檢索出與query最相關的問題,如果沒有匹配到則交由下一步的“笨笨“進行兜底回覆。
圖3 使用者上傳FAQ語料示例
在DTP閒聊機器人的複雜應用場景中,使用者上傳FAQ語料的規模和涉及的領域都難以確定。基於字面匹配相似度的匹配方法速度較快,但是回覆質量不高;基於語義相似度的匹配模型回覆效果好,但是在大規模語料上計算成本較高。最終,我們使用了字面與語義匹配結合的方式:先建立離線的候選集索引,線上服務收到請求欄位後,初步召回一批候選回覆,然後使用語義相似度對候選列表做重排序並返回最相關的結果或進行拒識判斷。
為了提高開發者的使用者體驗,我們還增加了回答引導功能。即對於使用者的query,與語料庫中相似度最高的一個問題的相似度也達不到直接作為回覆的條件,但又高於最低的閾值時,該模組會用語料庫中最相關的問題和回答對來作為回答引導。如下圖:在語料庫中與query最相關的是問題“遮陽傘和太陽鏡應該帶哪個”,儘管兩個問題並不完全一致,但query中的“防曬”與“遮陽傘和太陽鏡”有一定的語義關係,這時回答引導功能會發揮作用。這使得使用者上傳的語料能得到更為充分的利用。
圖4 引導回覆功能圖
另外,在開發者與機器人進行測試與互動時,如果對回覆不滿意,可以點選“編輯當前輪”按鈕,在彈出的視窗中對當前問題的回覆進行編輯並新增到語料中。
圖5 編輯當前輪
2.2 兜底回覆模組
兜底回覆是閒聊機器人的備選回覆,當開發者輸入的屬性和上傳的FAQ語料都無法覆蓋請求語句時,DTP就會將請求傳送給閒聊機器人“笨笨”處理,進行兜底回覆。
“笨笨”是由我中心自主研發的一款聊天機器人,2016年6月6日正式對外發布,搭載於微信公眾號平臺之上,同時具備實體形態。笨笨”具有四種主要功能,即聊天、知識問答、指令執行以及新聞推薦。
圖6 “笨笨”聊天機器人公眾號二維碼及效果展示示例
三、DTP閒聊機器人的特點
3.1 精準的語義匹配
閒聊機器人回覆的質量很大程度上取決於對上傳語料的匹配精確度,這裡的匹配指的不僅是對詞語、句式結構相似程度的匹配,更多情況下是對文字語義相似程度的匹配。DTP閒聊機器人模組採用在大規模語料上預訓練的BERT模型,抽取文字特徵的能力更強,從而保證了語義匹配的精準。
3.2 寬鬆的語料要求
通常情況下,訓練一個聊天機器人需要大量的標註語料資料,而相比於任務型對話機器人,閒聊型機器人需要處理開放域的問題,所以構建難度更大,需要的語料也更為複雜,對於個人開發者而言是一道極高的門檻。DTP閒聊機器人通過接入閒聊機器人“笨笨”進行兜底回覆,能夠處理開發者上傳預料所覆蓋不到的問題,從而提供豐富的回覆,而不是單調的回覆“我不明白”。
3.3 便捷的UI操作
DTP的開發者介面簡潔明瞭,易於上手,極大地提升開發者的使用體驗。開發者上傳語料後即可以隨時進行編輯修改。同時,在對聊天機器人的測試過程中,也可以對不滿意的問題回覆進行即時的編輯,並一鍵新增到機器人語料庫中。
四、總結
隨著人工智慧技術的發展,全球智慧聊天機器人市場呈指數級增長,醫療、零售、金融、娛樂、出行、電商等各個領域的需求都在逐年遞增,越來越多的企業正在將聊天機器人服務整合到自己的產品中,以降低人力資源成本。與此同時,智慧聊天機器人的市場容量也非常大,覆蓋的行業面非常廣,可以說,語義互動無處不在,它滲透到了各個領域中。然而,開發對話系統的技術往往只被自然語言處理領域的專家們掌握,普通開發者對這些技術的瞭解少之又少。通過DTP,開發者可以快速、靈活的按自身業務需求定製對話系統,滿足智慧助手、智慧家居、智慧客服、機器人等各類產品和場景需求。
DTP閒聊機器人現已整合進入DTP中,官方網址是:http://dtp-cloud.cn,點選下方閱讀原文即可訪問,歡迎大家使用,如有任何問題或者建議也可以反饋至我們的郵箱car@ir.hit.edu.cn。我們希望通過DTP將人工智慧技術和自然語言處理技術帶給廣大的開發者,從而最大化這些技術的價值,幫助大家開發出更加優秀的產品。