智能問答系統(tǒng)CQA調研--工業(yè)界

向AI轉型的程序員都關注了這個號??????
機器學習AI算法工程?? 公眾號:datayx
1 任務
“技術需求”與“技術成果”項目之間關聯(lián)度計算模型(需求與成果匹配)
cMedQA2 (醫(yī)療問答匹配)
智能客服問題相似度算法設計——第三屆魔鏡杯大賽
CCKS 2018 微眾銀行智能客服問句匹配大賽
AFQMC 螞蟻金融語義相似度
OPPO手機搜索排序query-title語義匹配數(shù)據集
醫(yī)療問題相似度衡量競賽數(shù)據集(醫(yī)療問題匹配、意圖匹配)
1.1 任務定義
1.2 任務分類
1.3 評測標準
1.4 數(shù)據集
2 方法及模型
2.1.1 規(guī)則匹配
2.1.2 無監(jiān)督文本表示
2.1.3 用于跨領域遷移學習方法
2.1 無監(jiān)督方法
2.2 有監(jiān)督匹配算法
FAQ發(fā)現(xiàn)
FAQ答案優(yōu)化
表示型模型
交互型模型
Siamese networks模型
DSSM 模型
Sentence Bert
MatchPyramid模型
ESIM (Enhanced LSTM)
2.2.1 基于意圖識別的算法
2.2.2深度文本匹配模型
2.3 FAQ發(fā)現(xiàn)與優(yōu)化
3 產品案例
產品1 百度AnyQ--ANswer Your Questions
產品2:騰訊知文--結構化FAQ問答 引擎
產品3: 阿里小蜜
4 總結
5 相關資料
1 任務
1.1 任務定義
Community?Question?Answer,中文名稱是社區(qū)問答。是利用半結構化的數(shù)據(問答對形式)來回答用戶的提問,其流程通??梢苑譃槿糠?。
問題解析,對用戶輸入的問題進行分詞,糾錯等預處理步驟。
召回部分,利用信息檢索引擎如Lucence等根據處理后的問題提取可能的候選問題。
排序部分,利用信息檢索模型對召回的候選問題進行相似度排序,尋找到最相似的問題并返回給用戶。
1.2 任務分類
通常,根據應用場景的不同,可以將CQA任務分為兩類:
FAQ問答: 在智能客服的業(yè)務場景中,對于用戶頻繁會問到的業(yè)務知識類問題的自動解答(以下簡稱為FAQ)是一個非常關鍵的需求,可以說是智能客服最為核心的用戶場景,可以最為顯著地降低人工客服的數(shù)量與成本。這個場景中,知識通常是封閉的,而且變化較為緩慢,通??梢岳靡延械目头貜陀涗浱崛〕龈哔|量的問答對作為知識庫。
社區(qū)問答: 問答對來自于社區(qū)論壇中用戶的提問和回答,較為容易獲取,但是相對質量較低。而且通常是面向開放域的,知識變化與更新速度較快。
1.3 評測標準
查全率:用以評價系統(tǒng)對于潛在答案尋找的全面程度。例如:在回答的前30%中保證一定出現(xiàn)正確答案。
查準率:即準確率,top n個答案包含正確答案的概率。這一項與學術界一致。
問題解決率:與具體業(yè)務和應用場景緊密相關
用戶滿意度/答案滿意度:一般對答案滿意度的評價方式是在每一次交互后都設置一個評價,客戶可以對每一次回答進行評價,評價該答案是否滿意。但是這樣的評價方式容易讓客戶厭煩,因為客戶是來解決問題的,不是來評價知識庫里面的答案是否該優(yōu)化。
問題識別率/應答準確率:指智能客服機器人正確識別出客戶的問題數(shù)量在所有問題數(shù)中的占比。目前業(yè)內評價智能機器人比較常用的指標之一。
問題預判準確率:指用戶進入咨詢后,智能客服機器人會對客戶可能咨詢的問題進行預判。如京東的問題預判,是通過其長期數(shù)據積累和模型給每個用戶添加各種標簽,可以提供更個性化和人性化的服務。例如,京東JIMI了解用戶的性別、情緒類型、近期購買歷史等。當用戶開始交流時,就會猜到他可能要詢問一個關于母嬰商品的使用方法或是一個售后單的退款情況,這就是問題預判。如果預判準確的話,只需在幾次甚至一次的交互中獲得智能客服機器人專業(yè)的問題解答,從而縮短客戶咨詢時長。
意圖識別準確率:要想解答用戶的問題,機器人首先需要結合上下文環(huán)境,從用戶提問中準確識別用戶咨詢的意圖是什么,然后返回對應的答案。
攔截率:機器人代替人工解決的用戶咨詢比例
24H未轉人工率:指客戶咨詢了智能機器人后的24H內是否有咨詢人工客服
1.4 數(shù)據集
由于工業(yè)界的數(shù)據集通常來自其自身業(yè)務的記錄,并不對外公開,故以下只舉例介紹相關比賽中出現(xiàn)的數(shù)據集:
“技術需求”與“技術成果”項目之間關聯(lián)度計算模型(需求與成果匹配)
任務目標
根據項目信息的文本含義,為供需雙方提供關聯(lián)度較高的對應信息(需求——成果智能匹配
數(shù)據來源
數(shù)據來自中國·河南開放創(chuàng)新暨跨國技術轉移大會云服務平臺(www.nttzzc.com)
人工標注關聯(lián)度的方法:從事技術轉移工作的專職工作人員,閱讀技術需求文本和技術成果文本,根據個人經驗予以標注。關聯(lián)度分為四個層級:強相關、較強相關、弱相關、無相關。
數(shù)據具體說明:https://www.datafountain.cn/competitions/359/datasets
評價指標:使用MAE系數(shù)

最終結果越接近1分數(shù)越高。
平均絕對差值是用來衡量模型預測結果對標準結果的接近程度一種衡量方法.MAE的值越小,說明預測數(shù)據與真實數(shù)據越接近。
top1方案及結果
解決方案:https://www.sohu.com/a/363245873_787107
主要利用數(shù)據清洗、數(shù)據增廣、孿生BERT模型
平安醫(yī)療科技疾病問答遷移學習比賽(疾病問句匹配)
任務目標
針對中文的疾病問答數(shù)據,進行病種間的遷移學習。具體是給定來自5個不同病種的問句對,要求判定兩個句子語義是否相同或者相近。簡單描述是語義匹配問題
數(shù)據來源
所有語料來自互聯(lián)網上患者真實的問題,并經過了篩選和人工的意圖匹配標注。
數(shù)據分布及說明
訓練集,包含2萬對人工標注好的疾病問答數(shù)據,由5個病種構成,其中diabetes10000對,hypertension、hepatitis、aids、breast_cancer各2500對
驗證集,包含10000對無label的疾病問答數(shù)據,由5個病種構成,各2000對
測試集,包含5萬對人工標注好的疾病問答數(shù)據,其中只有部分數(shù)據供驗證。
具體說明:https://www.biendata.com/competition/chip2019/data/
給參賽選手的文件由train.csv、dev.csv、test.csv三個文件構成
評價指標
Precision、Recall、F1值
top1方案及結果
解決方案:https://zhuanlan.zhihu.com/p/97227793
主要利用基于BERT與提升樹模型的語義匹配方法
最高得分:0.88312
CAIL2019相似案例匹配大賽(法律文書匹配)
任務目標
“中國裁判文書網”公開的民間借貸相關法律文書,每組數(shù)據由三篇法律文書組成。文書主要為案件的事實描述部分,選手需要從兩篇候選集文書中找到與詢問文書案件性質更為相似的一篇文書。
數(shù)據具體說明
鏈接:同上述比賽鏈接
內容:對于每份數(shù)據,用三元組(A,B,C)來代表該組數(shù)據,其中A,B,C均對應某一篇文書。文書數(shù)據A與B的相似度總是大于A與C的相似度的,即sim(A,B)>sim(A,C)
數(shù)據量:比賽第一階段訓練數(shù)據有500組三元文書,第二階段有5102組訓練數(shù)據,第三階段為封閉式評測
評價指標:acc
top1方案及結果
解決方案:https://www.leiphone.com/news/201910/Yf2J8ktyPE7lh4iR.html
主要利用損失函數(shù)為 Triplet Loss 的 Rank 模型來解決三元組的相對相似的問題、只提取并采用三個文書文本特征、基于Bert的多模型離線的多模型融合、解決Triple Loss 過擬合
最高得分:71.88
代碼:https://github.com/GuidoPaul/CAIL2019
智能客服問題相似度算法設計——第三屆魔鏡杯大賽
任務目標
計算客戶提出問題與知識庫問題的相似度
數(shù)據來源
智能客服聊天機器人真實數(shù)據
數(shù)據分布及描述
https://ai.ppdai.com/mirror/goToMirrorDetail?mirrorId=1
評價指標:logloss,logloss分數(shù)越低越好
方案及結果
主要利用傳統(tǒng)特征(如最長公共子序列、編輯距離等),結構特征(構造圖結構。將q_id作為node,(qi,qj)作為edge,得到一個單種邊的同構圖,然后計算qi,qj的公共邊權重和等結構),還有半監(jiān)督、相似傳遞性、早停優(yōu)化等
rank6方法(rank6結果0.145129,top1結果0.142658)
CCKS 2018 微眾銀行智能客服問句匹配大賽
任務目標
針對中文的真實客服語料,進行問句意圖匹配
數(shù)據來源
所有語料來自原始的銀行領域智能客服日志,并經過了篩選和人工的意圖匹配標注。
數(shù)據具體說明:https://biendata.com/competition/CCKS2018_3/data/
評價指標:Precision、Recall、F1值、ACC
top1評測論文:An Enhanced ESIM Model for Sentence Pair Matching with Self-Attention
AFQMC 螞蟻金融語義相似度
任務目標
給定客服里用戶描述的兩句話,用算法來判斷是否表示了相同的語義
數(shù)據來源
所有數(shù)據均來自螞蟻金服金融大腦的實際應用場景。
數(shù)據分布
初賽階段提供10萬對的標注數(shù)據作為訓練數(shù)據,包括同義對和不同義對,可下載;復賽階段不提供下載
具體說明:鏈接
評測指標:F1-score為準(得分相同時,參照accuracy排序)
top1解決方案:鏈接。
主要利用char-level feature、ESIM 模型、ensemble
OPPO手機搜索排序query-title語義匹配數(shù)據集
數(shù)據集鏈接:https://pan.baidu.com/s/1Hg2Hubsn3GEuu4gubbHCzw?(密碼7p3n)
數(shù)據來源
該數(shù)據集來自于OPPO手機搜索排序優(yōu)化實時搜索場景, 該場景就是在用戶不斷輸入過程中,實時返回查詢結果。該數(shù)據集在此基礎上做了相應的簡化, 提供了一個query-title語義匹配。
數(shù)據分布
初賽數(shù)據約235萬 訓練集200萬,驗證集5萬,A榜測試集5萬,B榜測試集25萬
具體說明:https://tianchi.aliyun.com/competition/entrance/231688/information
評測指標:F1 score 指標,正樣本為1
top1 解決方案
答辯鏈接:鏈接(00:42開始)
https://tianchi.aliyun.com/course/video?spm=5176.12586971.1001.83.1770262auKlrTZ&liveId=41001
主要應用:數(shù)據預處理、CTR問題的特征挖掘、TextCNN&TF-IDF、attention net、數(shù)據增強、回歸CTR模型融合lightGBM、閾值選擇。(rank 1,rank2兩只隊伍都是使用了lightGBM模型和模型融合)
最后得分:0.7502
醫(yī)療問題相似度衡量競賽數(shù)據集
比賽鏈接:
任務目標:針對中文的真實患者健康咨詢語料,進行問句意圖匹配。給定兩個語句,要求判定兩者意圖是否相同或者相近
數(shù)據來源
來源于真實問答語料庫,該任務更加接近于智能醫(yī)療助手等自然語言處理任務的實際需求
所有語料來自互聯(lián)網上患者真實的問題,并經過了篩選和人工的意圖匹配標注。
數(shù)據分布
訓練集包含20000條左右標注好的數(shù)據(經過脫敏處理,包含標點符號),供參賽人員進行訓練和測試。
測試集包含10000條左右無label的數(shù)據(經過脫敏處理,包含標點符號)
具體描述:鏈接
評測指標:Precision,Recall和F1值。最終排名以F1值為基準
2 方法及模型
2.1 無監(jiān)督方法
2.1.1 規(guī)則匹配
目前,流行的問答系統(tǒng)中依舊大量應用著規(guī)則匹配的方法?;谝?guī)則的方法擁有可解釋性強,易于控制,效率高,易于實現(xiàn),不需要標注數(shù)據等優(yōu)勢。針對FAQ庫中的標問和相似問進行分詞、應用正則表達式等方法提煉出大量的概念,并將這些概念進行組合,構成大量的句式,句式再進行組合形成標問。
例如,標問“華為mate30現(xiàn)在的價格是多少?”,拆出來“華為mate30”是cellphone概念,“價格是多少”是askMoney概念,“現(xiàn)在”是time概念,那么“華為mate30現(xiàn)在的價格是多少?”就是cellphone+askMoney+time。用戶輸入"華為mate30現(xiàn)在賣多少錢?"進行分詞,可以得到相同的句式和概念組合,就能夠命中“華為mate30現(xiàn)在的價格是多少?”這個相似問了。
在基于規(guī)則的匹配中, 如何進行規(guī)則的自動發(fā)現(xiàn)與更新、檢驗與評估是最關鍵的問題。究其原因, 由人工維護的產生式規(guī)則需要高水平的、具備豐富的領域知識的專家.在問答系統(tǒng)所應用的領域較為狹窄時, 這有可能得到滿足。然而, 隨著問答系統(tǒng)涉及知識的廣度和深度不斷提高, 依賴于專家知識對管理規(guī)則的難度也大為提高。
2.1.2 無監(jiān)督文本表示
在缺少標記數(shù)據的場景,我們可以利用算法對文本本身進行表示,再利用常用的向量距離計算方法(如余弦距離,歐式距離等)進行相似性度量。常見的無監(jiān)督文本表示方法主要可以分為兩種,一種是基于詞頻信息的方法,一種是基于詞向量的方法。
基于詞頻信息的方法:傳統(tǒng)的文本表示方法通常是基于詞頻特征的,例如TF-IDF,語言模型等。
TF-IDF:將文檔表示為其每個單詞的TF-IDF值向量形式,并通過計算兩個文本向量表示的余弦相似度來衡量其相似性。
語言模型:根據現(xiàn)有的文本對每個單詞由一篇文檔生成的概率根據詞頻進行建模,將一段文本由另一段文本生成的概率作為其相似度得分。

基于淺層語義的方法,這些方法對文檔的淺層語義分布進行建模,用來估計文檔的生成概率,如PLSA,LDA等。
PLSA
PLSA假設整個詞頻矩陣服從多項式分布,并引入了主題(z)的概念。假設每篇文章都由若干主題構成,每個主題的概率是p(z|d),在給定主題的條件下,每個詞都以一定的概率p(w|z)產生。這樣就能解決多義詞的分布問題。這種分析的基礎仍然是文檔和詞的共現(xiàn)頻率,分析的目標是建立詞/文檔與這些潛在主題的關系,而這種潛在主題進而成為語義關聯(lián)的一種橋梁。其概率圖模型如下:
其中p(z|d)和P(w|z)是需要學習的參數(shù)。P(z|d)參數(shù)數(shù)目是主題數(shù)和文檔數(shù)乘的關系,p(w|z)是詞表數(shù)乘主題數(shù)的關系,參數(shù)空間很大,容易過擬合。
LDA
如果說pLSA是頻度學派代表,那LDA就是貝葉斯學派代表。LDA通過引入Dirichlet分布作為多項式共軛先驗,在數(shù)學上完整解釋了一個文檔生成過程,其概率圖模型如圖所示。

我們可以看出LDA中每篇文章的生成過程如下:
和pLSA不太一樣,LDA概率圖模型引入了兩個隨機變量α和β,它們就是控制參數(shù)分布的分布,即文檔-主題符合多項式分布。這個多項式分布的產生受Dirichlet先驗分布控制,這樣就解決了PLSA參數(shù)量過大的問題。
選擇單詞數(shù)N服從泊松分布,N~Possion(β)。
文檔θ服從狄利克雷分布,θ~Dir(α)。
對于文檔內N個單詞中的每個單詞 a. 選擇一個主題z,服從多項分布Mult(θ) b. 以概率p(w|z,β)生成單詞w,其中p(w|z,β)表示在主題z上的條件多項式概率。
基于詞向量的方法:word embedding技術如word2vec,glove等已經廣泛應用于NLP,極大地推動了NLP的發(fā)展。既然詞可以embedding,句子也可以。該類算法通常是基于詞袋模型的算法,如TF-IDF加權平均,SIF等。
SIF
發(fā)表于2016年的論文A simple but tough-to-beat baseline for sentence embeddings提出了一種非常簡單但很有一定競爭力的句子向量表示算法。算法包括兩步,第一步是對句子中所有的詞向量進行加權平均,得到平均向量;第二步是移出(減去)在所有句子向量組成的矩陣的第一個主成分上的投影。
第一步主要是對TFIDF加權平均詞向量表示句子的方法進行改進。論文提出了一種平滑倒詞頻?(smooth inverse frequency, SIF)方法用于計算每個詞的加權系數(shù),具體地,單詞的權重為a/(a+p(w)),其中a為平滑參數(shù),p(w)為(估計的)詞頻。直觀理解SIF,就是說頻率越低的詞在當前句子出現(xiàn)了,說明它在句子中的重要性更大,也就是加權系數(shù)更大。對于第二步,通過移出所有句子的共有信息,因此保留下來的句子向量更能夠表示本身并與其它句子向量產生差距。
WMD
WMD是一種基于word embeddings 計算兩個文本間的距離,即測量一個文本轉化為另一個文本的最小距離。其將文本距離度量問題轉化為一個最優(yōu)傳輸(translation)問題。
Word2Vec得到的詞向量可以反映詞與詞之間的語義差別,WMD距離即對兩個文檔中的任意兩個詞所對應的詞向量求歐氏距離然后再加權求和。

2.1.3 用于跨領域遷移學習方法
背景
隨著近年來NLP的發(fā)展,研究發(fā)現(xiàn),有監(jiān)督的方法雖然準確率高,但是有標數(shù)據的獲取成本太高,因此遷移學習的效果越來越凸顯出來,并在各種NLP(包括短文本相似度)場景出現(xiàn)了革命性進展
一種機器學習的方法。指的是一個預訓練的模型被重新用在另一個任務中,一般兩種任務之間需要有一定的相似性和關聯(lián)性
遷移學習
為什么要遷移學習
模型有兩種
在實際的商業(yè)應用中主要以supervised的遷移學習技術為主,同時結合深度神經網絡(DNN)。
在這個設定下主要有兩種框架:
Fully-Shared Model:用于比較相似的兩個領域。
Specific-Shared Model:用于相差較大的兩個領域。
unsupervised:假設完全沒有目標領域的標注數(shù)據
supervised:假設僅有少部分目標領域的標注數(shù)據。
2.2 有監(jiān)督匹配算法
2.2.2 問題意圖分類--深度學習多分類模型(CNN\DNN\LSTM\…)
問答匹配任務在大多數(shù)情況下可以用意圖分類解決,如先匹配用戶問題意圖,然后給出對應意圖的答案。進而問答匹配任轉化為二分類或多分類任務。
工業(yè)真正的場景中,用戶問題的問題個數(shù)是不固定的,所以會把最后一層Softmax更改為多個二分類模型。模型圖如下:

2.2.2深度文本匹配模型
一般來說,深度文本匹配模型分為兩種類型,表示型和交互型。
表示型模型
表示型模型更側重對表示層的構建,它首先將兩個文本表示成固定長度的向量,之后計算兩個文本向量的距離來衡量其相似度。這種模型的問題是沒有考慮到兩個句子詞級別的關聯(lián)性。容易失去語義焦點。
Siamese networks模型
Siamese networks(孿生神經網絡)是一種相似性度量方法,內部采用深度語義匹配模型(DSSM,Deep Structured Semantic Model),該方法在檢索場景下使用點擊數(shù)據來訓練語義層次的匹配。
Siamese networks有兩個輸入(Input1 and Input2),將兩個輸入feed進入兩個神經網絡(Network1 and Network2),這兩個神經網絡分別將輸入映射到新的空間,形成輸入在新的空間中的表示。通過Loss的計算,評價兩個輸入的相似度。
基于Siamese networks神經網絡架構,比如有Siamese結構的LSTM、CNN和ESIM等。
DSSM 模型
論文地址:Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
模型簡介
先把 query 和 document 轉換成 BOW 向量形式,然后通過 word hashing 變換做降維得到相對低維的向量,feed給 MLP 網絡,輸出層對應的低維向量就是 query 和 document 的語義向量(假定為 Q 和 D)。計算(D, Q)的余弦相似度后,用 softmax 做歸一化得到的概率值是整個模型的最終輸出,該值作為監(jiān)督信號進行有監(jiān)督訓練。
Sentence Bert
論文地址:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
模型簡介
Sentence BERT(Sbert) 網絡是通過 SNLI 數(shù)據集(標注了一對句子之間的關系,可能是蘊含、矛盾或者中立)進行預訓練。模型使用孿生網絡,即兩個一模一樣共享參數(shù)的Bert網絡進行推理。首先將第一個句子輸入到BERT,通過不同的Pooling方法獲得句子的Embedding表示,第二個句子同樣如此,然后將這兩個Embedding變換后通過Softmax輸出這對句子之間關系的概率進行訓練(類似分類問題)。在訓練完畢后,就可以將下面的BERT和pooling層拿出來,將句子輸入得到其Embedding,再進行其他操作(比如計算相似度可以直接使用余弦)。
原始的Bert模型如果要為一個句子尋找最相似的句子,需要兩兩計算其相似度,這樣的時間消耗是n的平方級別的。Sentence Bert可以首先計算出每個句子的向量表示,然后直接計算句子間的相似度,這樣可以將時間消耗減少到O(n)的級別,同時論文中的實驗證明這樣的方法并沒有降低模型的效果。
交互型模型
交互型模型認為全局的匹配度依賴于局部的匹配度,在輸入層就進行詞語間的先匹配,之后利用單詞級別的匹配結果進行全局的匹配。它的優(yōu)勢是可以很好的把握語義焦點,對上下文重要性合理建模。由于模型效果顯著,業(yè)界都在逐漸嘗試交互型的方法。
MatchPyramid模型
論文地址:Text Matching as Image Recognition
模型簡介
先將文本使用相似度計算構造相似度矩陣,然后CNN網絡來提取特征。
模型可以學習到Down the ages(n-gram特征),noodles and dumplings與dumplings and noodles(打亂順序的n-term特征)、were famous Chinese food和were popular in China(相似語義的n-term特征)
層次化卷積步驟?- 1.Ai和Bj距離度量方式:完全一樣 (Indicator),余弦相似度 (Cosine),點乘 (Dot Product)。- 2.卷積,RELU激活,動態(tài)pooling(pooling size等于內容大小除以kernel大?。?- 3.卷積核第一層分別算,第二層求和算??梢砸娤聢D33的kernel分別算,24*4求和算。- 4.MLP擬合相似度,兩層,使用sigmoid激活,最后使用softmax,交叉熵損失函數(shù)。
ESIM (Enhanced LSTM)
論文地址:Enhanced LSTM for Natural Language Inference
源碼:鏈接
模型簡介
Enhanced LSTM for Natural Language Inference(ESIM)是2017年提出的一個文本相似度計算模型,是一種轉為自然語言推斷而生的加強版LSTM,由原文中知這種精心設計的鏈式LSTM順序推理模型可以勝過以前很多復雜的模型。ESIM的模型主要包括3個部分:編碼層,推理層和預測層。
編碼層:采用BiLSTM(雙向LSTM)對輸入的兩個句子分別編碼。
推理層:模型的核心部分,首先計算兩個句子和另外句子相關的表示向量,然后計算該向量和原始向量的點積,差值等。之后利用各種不同的池化方式得到最后的句子表示,將兩個句子的表示拼接,得到預測層的輸出v。
預測層:在這一層中,本模型將上述得到的固定長度向量 v,連接兩層全連接層,第一層采用tanh激活函數(shù),第二層采用softmax激活函數(shù),最后得到文本蘊含的結果。

2.3 FAQ發(fā)現(xiàn)與優(yōu)化
FAQ發(fā)現(xiàn)
將用戶問句進行聚類,對比已有的FAQ,發(fā)現(xiàn)并補足未覆蓋的知識點。將FAQ與知識點一一對應。
FAQ的拆分與合并
FAQ拆分是當一個FAQ里包含多個意圖或者說多種情況的時候,YiBot后臺會自動分析觸達率較高的FAQ,聚類FAQ對應的問句,按照意圖將其拆分開來。
FAQ合并
最終希望希望用戶的每一個意圖能對應到唯一的FAQ,這樣用戶每次提問的時候,系統(tǒng)就可以根據這個意圖對應的FAQ直接給出答案。而如果兩個FAQ意思過于相近,那么當用戶問到相關問題時,就不會出現(xiàn)一個直接的回答,而是兩個意圖相關的推薦問題,這樣用戶就要再進行一步選擇操作。這時候YiBot就會在后臺同樣是分析觸達率較高的FAQ,分析哪一些問句總是被推薦相同的答案,將問句對應的意圖合并。
淘汰機制
分析歷史日志,采用淘汰機制淘汰廢棄知識點,如已下線業(yè)務知識點等。
FAQ答案優(yōu)化
挖掘對話,進行答案優(yōu)化
如果機器人已經正確識別意圖但最后仍然轉人工,說明知識庫的答案不對,需要進一步修正這一類知識點相對應的答案。
分析頭部場景,回答應用文本、圖片、自動化解決方案等多元化方式
比如在電商場景中,經常會有查詢發(fā)貨到貨時間、訂單狀態(tài)等的場景。利用圖示指引、具體訂單處理等方式讓用戶操作更便捷。
3 產品案例
產品1?百度AnyQ--ANswer Your Questions
簡介
AnyQ開源項目主要包含面向FAQ集合的問答系統(tǒng)框架、文本語義匹配工具SimNet。
FAQ問答系統(tǒng)框架
AnyQ系統(tǒng)框架主要由Question Analysis、Retrieval、Matching、Re-Rank等部分組成。
框架中包含的功能均通過插件形式加入,如Analysis中的中文切詞,Retrieval中的倒排索引、語義索引,Matching中的Jaccard特征、SimNet語義匹配特征,當前共開放了20+種插件。

特色
AnyQ 使用 SimNet 語義匹配模型構建文本語義相似度,克服了傳統(tǒng)基于字面匹配方法的局限,增強 AnyQ 系統(tǒng)的語義檢索和語義匹配能力。
語義檢索技術將用戶問題和 FAQ 集合的相似問題通過深度神經網絡映射到語義表示空間的臨近位置,檢索時,通過高速向量索引技術對相似問題進行檢索。
AnyQ 系統(tǒng)AnyQ 系統(tǒng)集成了檢索和匹配的豐富插件,通過配置的方式生效;以相似度計算為例,包括字面匹配相似度 Cosine、Jaccard、BM25 等,同時包含了語義匹配相似度。
用戶自定義插件只需實現(xiàn)對應的接口即可,如 Question 分析方法、檢索方式、匹配相似度、排序方式等。
框架設計靈活,插件功能豐富
極速語義檢索
SimNet 語義匹配模型:
其他:針對無任何訓練數(shù)據的開發(fā)者,AnyQ 還包含了基于百度海量數(shù)據訓練的語義匹配模型,開發(fā)者可零成本直接使用。
產品2:?騰訊知文--結構化FAQ問答引擎
基于結構化的FAQ的問答引擎流程由兩條技術路線來解決
無監(jiān)督學習,基于快速檢索
有監(jiān)督的學習,基于深度匹配

采用了三個層次的方法來實現(xiàn)快速檢索的方法
層次1:基礎的TFIDF提取query的關鍵詞,用BM25來計算query和FAQ庫中問題的相似度。這是典型的詞匯統(tǒng)計的方法,該方法可以對rare word比較魯棒,但同時也存在詞匯匹配缺失的問題。
層次2:采用了language model(簡寫LM)的方法。主要使用的是Jelinek-Mercer平滑法和Dirichlet平滑法,對于上面的詞匯匹配問題表現(xiàn)良好,但是也存在平滑敏感的問題。
層次3:最后一層使用Embedding,采用了LSA/word2vec和騰訊知文自己提出的Weighted Sum/WMD方法,以此來表示語義層面的近似,但是也同樣引發(fā)了歧義問題。
產品3:?阿里小蜜
產品鏈接
意圖與匹配分層的技術架構體系
在阿里小蜜這樣在電子商務領域的場景中,對接的有客服、助理、聊天幾大類的機器人。這些機器人,由于本身的目標不同,就導致不能用同一套技術框架來解決。因此,我們先采用分領域分層分場景的方式進行架構抽象,然后再根據不同的分層和分場景采用不同的機器學習方法進行技術設計。首先我們將對話系統(tǒng)從分成兩層:
1、意圖識別層:識別語言的真實意圖,將意圖進行分類并進行意圖屬性抽取。意圖決定了后續(xù)的領域識別流程,因此意圖層是一個結合上下文數(shù)據模型與領域數(shù)據模型不斷對意圖進行明確和推理的過程;
2、問答匹配層:對問題進行匹配識別及生成答案的過程。在阿里小蜜的對話體系中我們按照業(yè)務場景進行了3種典型問題類型的劃分,并且依據3種類型會采用不同的匹配流程和方法:
問答型:例如“密碼忘記怎么辦?”→ 采用基于知識圖譜構建+檢索模型匹配方式
任務型:例如“我想訂一張明天從杭州到北京的機票”→ 意圖決策+slots filling的匹配以及基于深度強化學習的方式
語聊型:例如“我心情不好”→ 檢索模型與Deep Learning相結合的方式
下圖表示了阿里小蜜的意圖和匹配分層的技術架構。

意圖識別介紹:結合用戶行為deep-learning模型的實踐
通常將意圖識別抽象成機器學習中的分類問題,在阿里小蜜的技術方案中除了傳統(tǒng)的文本特征之外,考慮到本身在對話領域中存在語義意圖不完整的情況,我們也加入了用實時、離線用戶本身的行為及用戶本身相關的特征,通過深度學習方案構建模型,對用戶意圖進行預測, 具體如下圖:

在基于深度學習的分類預測模型上,我們有兩種具體的選型方案:一種是多分類模型,一種是二分類模型。多分類模型的優(yōu)點是性能快,但是對于需要擴展分類領域是整個模型需要重新訓練;而二分類模型的優(yōu)點就是擴展領域場景時原來的模型都可以復用,可以平臺進行擴展,缺點也很明顯需要不斷的進行二分,整體的性能上不如多分類好,因此在具體的場景和數(shù)據量上可以做不同的選型。
行業(yè)三大匹配模型
目前主流的智能匹配技術分為如下3種方法:1、基于模板匹配(Rule-Based) 2、基于檢索模型(Retrieval Model) 3、基于深度學習模型(Deep Learning)
在阿里小蜜的技術場景下,我們采用了基于模板匹配,檢索模型以及深度學習模型為基礎的方法原型來進行分場景(問答型、任務型、語聊型)的會話系統(tǒng)構建。
阿里小蜜的核心算法之一:自然語言理解(NLU)方法
無樣本冷啟動方法
寫一套簡單易懂的規(guī)則表示語法
小樣本方法
先整理出一個大數(shù)量級的數(shù)據,每一個類目幾十條數(shù)據,為它建立 meta-learning 任務。對于一個具體任務來說:構建支撐集和預測集,通過 few-shot learning 的方法訓練出 model,同時與預測集的 query 進行比較,計算 loss 并更新參數(shù),然后不斷迭代讓其收斂。
這只是一個 meta-learning 任務,可以反復抽樣獲得一系列這樣的任務,不斷優(yōu)化同一個模型。在線預測階段,用戶標注的少量樣本就是支撐集,將 query 輸入模型獲得分類結果。
模型的神經網絡結構分為3部分,首先是 Encoder 將句子變成句子向量,然后再通過 Induction Network 變成類向量,最后通過 Relation Network 計算向量距離,輸出最終的結果。
具體地,Induction Network中把樣本向量抽象到類向量的部分,采用 matrix transformation 的方法,轉換后類邊界更清晰,更利于下游 relation 的計算。在 Induction Network 的基礎上,又可以引入了 memory 機制,形成Memory-based Induction Network ,目的是模仿人類的記憶和類比能力,在效果上又有進一步提升。
多樣本方法
構建一個三層的模型,最底層是具有較強遷移能力的通用模型 BERT,在此基礎上構建不同行業(yè)的模型,最后用相對較少的企業(yè)數(shù)據來訓練模型。這樣構建出來的企業(yè)的 NLU 分類模型,F(xiàn)1 基本都在90%+。性能方面,因為模型的結構比較復雜,在線預測的延時比較長,因此通過知識蒸餾的方法來進行模型壓縮,在效果相當?shù)耐瑫r預測效率更快了。
4 總結
整個CQA問答,可能經過的模塊共兩個:召回模塊和檢索模塊。
無監(jiān)督的匹配方式 - 規(guī)則,LDA,Sentence bert等
有監(jiān)督的深度模型匹配方式
DSSM(采用了詞袋模型,損失了上下文信息,可選用CNN-DSSM等優(yōu)化模型)?-?ESIM(適用于短文本)
文本語義表達的Siamese networks深度模型。應用廣泛的模型只要有DSSM、ESIM,MAtchPyramid等
MatchPyramid() 基于交互的深度模型)
召回模塊?-主要采用傳統(tǒng)信息檢索方法實現(xiàn)
IR檢索模塊
問答對較少等情況下可以將IR模塊改為分類任務(意圖識別)進行。
如果在數(shù)據不充足,或數(shù)據效果質量不高的情況下,可以使用遷移學習,以訓練好的模型為基礎。
在系統(tǒng)設計初期,根據數(shù)據的不同情況,可參考阿里小蜜自然語言理解(NLU)方法中的無樣本冷啟動方法、小樣本方法、多樣本方法的思路。
難點
有標記的相似文本訓練數(shù)據標注難以自動獲取
高質量的問答對數(shù)據獲取與維護成本較高
用戶可能的輸入類型較多,匹配模型的魯棒性無法保證
未來研究方向
利用預訓練模型解決文本匹配問題
FAQ的發(fā)現(xiàn)與優(yōu)化的自動化
原文地址
https://github.com/BDBC-KG-NLP/QA-Survey/blob/master/CQA%E8%B0%83%E7%A0%94-%E5%B7%A5%E4%B8%9A%E7%95%8C.md
機器學習算法AI大數(shù)據技術
?搜索公眾號添加:?datanlp
長按圖片,識別二維碼
閱讀過本文的人還看了以下文章:
基于40萬表格數(shù)據集TableBank,用MaskRCNN做表格檢測
《深度學習入門:基于Python的理論與實現(xiàn)》高清中文PDF+源碼
python就業(yè)班學習視頻,從入門到實戰(zhàn)項目
2019最新《PyTorch自然語言處理》英、中文版PDF+源碼
《21個項目玩轉深度學習:基于TensorFlow的實踐詳解》完整版PDF+附書代碼
PyTorch深度學習快速實戰(zhàn)入門《pytorch-handbook》
【下載】豆瓣評分8.1,《機器學習實戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據分析與挖掘實戰(zhàn)》PDF+完整源碼
汽車行業(yè)完整知識圖譜項目實戰(zhàn)視頻(全23課)
李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計學習方法》最新資源全套!
重要開源!CNN-RNN-CTC 實現(xiàn)手寫漢字識別
【Keras】完整實現(xiàn)‘交通標志’分類、‘票據’分類兩個項目,讓你掌握深度學習圖像分類
VGG16遷移學習,實現(xiàn)醫(yī)學圖像識別分類工程項目
如何利用全新的決策樹集成級聯(lián)結構gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特征工程
不斷更新資源
深度學習、機器學習、數(shù)據分析、python
?搜索公眾號添加:?datayx??
