當前位置:編程學習大全網 - 源碼破解 - 騰訊算法高級研究員陳松堅:智能問答技術及其應用

騰訊算法高級研究員陳松堅:智能問答技術及其應用

隨著人工智能的飛速發展以及廣泛落地應用,越來越多的設備將會被植入智能問答技術,人機交互場景隨處可見,智能問答在未來將會成為壹個非常重要的入口。

騰訊小知憑借著業界領先的智能AI引擎算法和海量大數據倉庫,已將智能問答技術落地實施,並且經過大量的業務考驗和優化,知識點匹配度和準確率都已達到90%以上,在2018 年 GITC 全球互聯網技術大會上,騰訊小知榮獲年度互聯網最具價值產品獎。

騰訊小知算法負責人陳松堅也在會場發表了關於智能問答技術原理及其在To B場景下的應用的專題演講,從自己的角度為我們展現智能問答技術的最新成果。

他首先從智能問答是什麽,為什麽和怎麽做的三個問題出發,闡明了他對當前智能問答技術的定位和價值,首先,現階段的智能問答是信息檢索技術的升級,是量變而未達到質變。但是無論在To B還是To C的場景下,當前的技術都能夠切實解決壹些用戶的痛點,提升用戶體驗,是亟待推進和充滿想象的方向。

在回答怎麽做這個問題時,他詳細介紹了幾種不同的問答機器人的實現路徑,包括單輪問答機器人,多輪問答機器人及閱讀理解機器人。其中重點闡述了單輪問答機器人的實現原理,包括字面匹配,詞向量匹配,深度語義匹配,遷移學習等技術。

此後他還分享了小知團隊將上述技術產品化的經驗,包括智能客服機器人和電話機器人兩大塊,主要分享了當前產品的形態,亮點和實際項目中取得的壹些成果。

最後,他簡單總結了小知目前完成的工作以及就智能問答的發展提出了自己的幾點看法。

--------------------------------------------------------------

以下是演講稿全文:

各位下午好,很高興今天能在這裏給大家做分享報告。先介紹壹下,我們騰訊小知是致力於為政府和各行業提供壹攬子智能問答解決方案的團隊,目前已經落地的包括基於文本的智能客服機器人和基於語音的電話機器人等。

在大多數人的認知裏,智能問答很可能是以上的3個印象,2011年打敗了人類取得問答競賽冠軍的waston;2017年被沙特授予公民身份的機器人sofia;更為大家熟知的鋼鐵俠中的機器人管家jarvis。在大家心目中,智能就意味著能夠像真人壹樣交流。然而作為從業者,很遺憾地告訴大家,目前的技術還遠沒有達到這個目標,我認為本質上目前的智能問答技術是對信息檢索技術的壹次升級,是量變而未到質變。這個皇冠上的明珠還等待我們去摘取。

既然問答技術還不成熟,那為什麽還要投身到這個領域呢。我想從To B和To C兩個角度去回答。對企業來講,當前的問答技術雖然無法解答復雜的咨詢,但是大部分的簡單的頭部問題是可以比較好的解答的。從本輪AI大潮NLP賽道的幾名種子選手都從智能客服這個方向切入就可以看出企業是確實存在對智能問答的剛性需求。而對普通用戶來講,壹方面siri等語音助手每天都在為用戶提供便捷的交互界面,另壹方面像amazon echo這壹類的智能家居產品也逐步進入千家萬戶,成為物聯網生態的中心入口之壹,這便是智能問答的價值所在。

那如何實現智能問答機器人呢?我們先來看最基本的單輪問答機器人的實現原理。

熟悉搜索引擎的朋友會發現這個架構跟搜索引擎的很類似。單輪問答壹般來說就是FAQ問答,是基於業務問答對組成的問答庫進行檢索匹配。其中FAQ問題集包含多個相似問法供用戶問題去匹配。預處理階段壹般會進行文本糾錯,標準化和底層NLP特征提取;召回階段會在倒排索引中召回若幹個候選問題(粗排),而最後的匹配階段會基於各種模型進行匹配打分並返回得分最高的結果(精排)。匹配階段還會引入其他模塊,如知識圖譜和拒識模型,目的是輔助提升匹配的最終準確率。

retrieval中的匹配可以看做是naive solution,詞袋+VSM, 篩選候選夠用了,但是精排需要更精致的策略,第壹,要利用監督信息做擬合,我們構建基於問題對的訓練語料,擬合是否匹配這個二分類目標。第二,特征上拋棄稀疏的詞袋模型,而是構造各種相似度來做base scorer,然後利用非線性的抗噪能力強的xgboost來做融合,比如我們用到詞bigram, 字bigram, 核心詞,名詞等特征集合的相似度。這種方法的優缺點是壹體的,由於模型只學習字面相似的特征,因此不受領域影響,通用性強,適合用在冷啟動階段;但也因為只考慮字面相似,無法處理更深層的語義匹配。

那如何度量語義的相似呢。詞向量技術的興起是語義匹配的前提,所謂詞向量,是將孤立的傳統的token表示映射到相互關聯的向量空間中,這種關聯性,或者說是相似性,是通過詞語的上下文的來描述的。也就是說,上下文越相似的詞語,他們的語義就越相似,詞向量的歐式距離就越近。這是很容易理解的,更妙的是,通過對向量進行簡單加減運算,能夠呈現出概念的關系,比如king-man+woman的結果非常接近於queen, 因此說明詞向量能夠壹定程度刻畫語義。那對句子如何做向量表示呢?壹個簡單的想法是直接求和平均,WMD是另壹個比較有意思且有效的做法,他將計算句子到句子的相似度建模成壹個運輸的問題,把句子p的各個詞,運輸到q的各個詞上,也可以說是變換;運輸成本是詞向量的cosine相似度,而要運輸的是各個詞在句子中的權重,用線性規劃求解壹個最優解,即為p到q的距離。另外還有個有效的方法是SIF,思路是做詞向量加權求和,但是突顯出句子中非通用的部分,即權重用詞頻倒數來計算權重,實驗效果也很不錯。

上面的方法有壹個問題就是沒有利用有監督信息,所以效果有明顯的天花板。下面介紹這個工作是基於深層網絡做有監督學習的匹配的,做法也比較簡單,首先把句子文本用one-hot編碼,假如詞典大小是500K,那編碼完長度就是500K維,其實等於是詞袋模型,然後輸入到壹個多層的神經網絡去學習,最終得到壹個128維的向量作為句子的語義表示,然後用cosine計算兩個句子與文檔的相似度作為模型輸出。這個方法其實是將高維稀疏的token特征映射到低維語義空間,跟詞向量的思路很類似,只不過訓練目標不同,並且這裏使用了深層網絡結構。

但是CNN對上下文的處理能力依賴於窗口大小,遠距離就沒辦法處理了,因此要考慮另壹種網絡單元RNN,這種單元是專門為時序模型量身打造的,簡單來說,每壹時刻t上的隱藏狀態,或者說第t個詞上的語義編碼,都由兩個輸入***同決定,即上壹時刻的隱藏狀態和當前時刻的原始輸入,而為了解決遠距離傳遞導致的梯度消失和梯度爆炸等問題,RNN有壹些變種結構來應對,比如 LSTM和GRU等。

CNN和RNN都是對原始輸入進行語義編碼的基本單元,編碼後的向量就可以接入多層感知機進行相似度計算,如果是直接計算cosine相似度,那就是dssm的升級版,而更常見的做法是把兩個句子的編碼向量拼接在壹起,再經過壹個多層感知機計算相似度,而這種方法統稱為表達式建模;

另壹種方案考慮到兩個句子之間的交互信息對學習他們是否匹配顯然更為重要,這壹類方案被稱為交互式建模,右邊是壹個典型的例子,他最大的不同是首先對兩個句子的所有窗口組合進行拼接和卷積,得到交互信息。然後再進行多次卷積和池化得到表示。其他的交互方式還包括編碼之後,進行交互操作,如作差,點乘等,還有計算attention表示,也是常見的交互方式。

下面介紹我們的方案,跟上面介紹的模型相比,我們的方案主要做了兩處改動,壹個是使用了稠密連接的網絡結構,讓rnn層的輸入和輸出拼接在壹起做為下壹層的輸入,第二個是混合註意力機制,即在計算attention向量進行交互式建模的基礎上,增加self-attention向量計算,然後把兩個attention向量經過門機制進行融合,這樣做壹方面引入了問句間的交互信息,同時又增強了對自身的表達建模。

上面的模型是比較復雜的模型,參數量有5.8M。在實際中應用中訓練語料會嚴重不足,為了解決這個問題,我們引入了遷移學習的策略。首先第壹種是多任務聯合學習,比如在擬合兩個問句是否匹配的同時,也對問句進行分類預測;另外還可以同時對匹配的問題對做seq2seq的翻譯模型訓練。這兩個策略都證明能有效提升準確率。

而另壹個思路更加直觀,即引入其他領域的語料,所謂多語料遷移。Fine-tune即參數微調是其中壹種做法,即先用通用語料訓練網絡,固定底層表達層的參數,然後再使用領域語料調整上層參數;另壹種思路參考了對抗學習的思想,即引入壹個新的任務“混淆分類器”去判別當前樣本是來自源語料還是目標語料,通過在損失函數中增加反向的混淆分類損失項,讓混淆分類器盡可能地無法區分樣本的來源,從而保證***享了參數的表達網絡能夠學習到兩部分語料中***性的部分。

以上的介紹都是為了完成壹個基本的單輪對話機器人,而實際應用中,往往存在需要需要交互的場景,比如查詢社保余額,就需要用戶提供指定信息,如姓名,身份證號,手機號等。這種是所謂任務導向型機器人,而另壹種,基於知識圖譜的機器人也往往會涉及到多輪交互。這裏簡單介紹壹下多輪對話機器人的架構,整體上是壹個對話管理系統,總的來說是管理會話狀態,包含4個模塊,分別是輸入部分:自然語言理解模塊NLU,負責意圖識別和抽取槽位實體,比如這裏匹配到了意圖是查詢社保余額,抽取到了社保號1234。得到的意圖和槽位值會送入到對話狀態追蹤模塊,DST,他負責會話狀態的更新,形式化來說是壹個函數,輸入是當前狀態s和當前的query經過NLU處理過得到的意圖和槽位值q, 輸出新的狀態s‘,下壹步是把s’送入DPL,對話策略模塊,這個模塊是根據新的狀態s‘輸出行動a,通常這個決策選擇會依賴於壹個外部數據庫或知識圖譜,最後,由輸出部分,自然語言生成模塊NLG負責將行動轉換為自然語言文本,返回給用戶。

前面提到的單輪FAQ機器人,有壹個問題是問答準確率依賴於問答庫的質量,而問答庫的構建耗時費力,所以針對數據較大的非結構化文檔,如果可以直接從中抽取答案,是非常理想的做法。比如斯坦佛大學開源的drQA,就是基於wikipedia的語料做的壹個開放域上的問答機器人,我們來看看這種閱讀理解機器人的架構示意,他也是基於檢索重排的思路,首先把可能的文段從語料庫中摘取出來,然後送入閱讀理解模型進行答案定位,打分,排序和選擇得分最高的答案。閱讀理解模型與匹配模型是類似的,需要先對問題和候選文段進行編碼表示,不同之處在於最終預測的目標是答案的起始和結束位置。我所在的團隊在去年,在閱讀理解的權威公開測評Squad v1中取得過第壹的成績,同時參加這個測評的包括了google, facebook, 微軟,阿裏idst, 科大訊飛等國內外同行。說明業界對這種技術還是非常看重的。

下面分享小知在把以上技術落地產品化的經驗。首先我們來看看小知的整體架構圖,核心引擎有兩部分,壹塊是上面重點闡述的深度語義匹配模型,另壹塊是本次分享沒有展開的知識圖譜引擎,在此之上,我們構建了FAQ機器人,多輪會話機器人(任務機器人),閑聊機器人等。以下是我們單輪和多輪機器人的示例。

在我們實際的落地項目中,得益於深度遷移模型的語義匹配能力和行業知識圖譜的的精準匹配和輔助追問,小知機器人能夠做到95%左右的問答準確率,並且節省了50%以上的服務人力,切實為政府和企業提升效率和降低成本。

在智能客服的基礎上,我們又打造了基於語音的電話機器人,力主融合智能客服,人工在線客服,工單系統和電話機器人,為客戶打造從售前售中售後的整體解決方案。

以下是電話機器人的整體架構圖,核心是自然語言理解NLU模塊,負責識別用戶提問意圖

提取相關實體。根據NLU輸出的結果,內置的對話管理引擎會進行流程狀態流轉和跟蹤。

另外,ASR語音識別和TTS語音合成是不可或缺的重要服務,這三個模塊相互協作,***同完成與用戶的交互。

最後對智能問答的未來發展提幾點我的看法。目前學術界比較公認的壹個方向是,需要更有機地結合模型和規則,而在問答領域,規則的壹大組成部分就是知識圖譜,包括開放領域的知識圖譜和專業領域知識圖譜。而更進壹步地,我們需要研究帶有推理性質的事理型知識圖譜去描述領域內的規則和知識,讓機器人能夠處理帶有復雜條件的問題,提供更智能的回復。在我看來,智能問答的壹個突破口就在於解決以上三個問題。以上就是今天分享的內容,謝謝大家。

主講人介紹:

陳松堅,騰訊數據平臺部算法高級研究員,有著8 年的 NLP 研發經驗,2017 年加入騰訊 TEG 數據平臺部,負責智能客服產品騰訊小知的算法規劃和落地。負責過多個智能客服項目,對封閉領域的智能問答有豐富的實戰經驗。

  • 上一篇:暮光夠了沒的影片介紹
  • 下一篇:海康威視流媒體服務器、集中管理控制平臺、客戶、硬盤錄像機、攝像頭之間工作是壹個什麽樣的流程。
  • copyright 2024編程學習大全網