基於多工學習的智慧客服下文檢測方法

雲智服前沿發表於2019-05-30

1.引言

下文關係檢測是智慧客服機器人重要的功能,也非常具有技術挑戰性。在智慧客服領域,使用者的訴求隱含在與客服多輪互動的會話文字中,那麼在確定使用者意圖的情況下,如何確定下文與意圖的關聯關係成為本文探索的主要課題。舉個例子,如圖1所示,假設我們給定了意圖為“信譽分被扣”,如“為什麼扣我分”、“莫名其妙扣分”、“為什麼扣除我的信譽分”、“我沒有違規怎麼會扣我信譽分”,使用者接下來可能會諮詢什麼呢?,圖中“中途有事退出了”,“該怎麼恢復”這兩句在真實場景中出現的概率會比較大,但是繼續諮詢 “能不能送個英雄呀”,“我已經成年了怎麼還沒解除限制”的可能性極小。

基於多工學習的智慧客服下文檢測方法

                                                                     圖1 下文檢測例子

目前大多的語義匹配方法並沒有考慮到意圖資訊,只考慮了句子間關係,這不符合智慧客服下文關係檢測的需求。因此,本文基於多工學習思想,同時實現意圖識別和語義匹配兩種任務,從而使得模型具有下文關係檢測的能力。

2.下文關係檢測方案

我們從資料獲取和模型構建兩個方面詳細闡述本文所提出的基於多工學習的智慧客服下文關係檢測演算法。

2.1資料獲取

經過近幾年客服機器人的運營,我們已經積累了大量高質量的意圖識別的資料,但意圖與下文的語句對還不夠充分。我們對大量的線上使用者會話資料進行分析挖掘,發現大部分會話具有三大特性:

1)互動輪次較少的會話往往意圖比較單一,並且首句能確定使用者意圖的概率較高;

2)當會話確定使用者意圖後,剩餘的會話主要是圍繞意圖進行,會話之間基本無下文關係,因而只需要檢測意圖句和其餘會話的關聯關係。

3)相同意圖下,使用者意圖句可以具有相同的下文集合。如圖2所示

基於多工學習的智慧客服下文檢測方法

圖2 下文關係圖

如圖2中a所示,對具有相同意圖Intent1的會話進行分析,抽取了三個意圖句與下文的句子對,但是這種收集方法使樣本不夠充分,可能會忽略某些情況如Sent1_1->Context1_2句子對。因此我們按照b所示的方式構建了下文檢測的資料集,即,相同意圖的Intent1下所有的意圖句{Sent1_1,Sent1_2,Sent1_3}都具有下文集合{Context1_1,Context1_2,Context1_3}。

針對線上資料的三個特性,我們選擇首句能確定使用者意圖的會話來構造我們的訓練資料,隨後經人工複核的方式對資料進行修正。具體資料構造流程圖如圖3所示:

基於多工學習的智慧客服下文檢測方法

圖3 資料集構造流程圖

我們通過圖3流程構建了下文關係檢測的正負樣本集,其中使用者意圖的下文正樣本為會話中真實的關聯下文,下文負樣本為其他意圖的關聯下文。通過對線上會話資料進行會話篩選、資料預處理、意圖樣本均衡取樣、按1:5劃分正負樣本等流程,在5896個使用者意圖下共構建了700w正負樣本對。

2.2模型構建

獲取下文關係訓練資料後,我們使用聯合分類任務的多工語義匹配模型Multi-task Semantic Match (MTSM)對資料進行建模訓練。其結構如圖4所示:

基於多工學習的智慧客服下文檢測方法

圖4 模型結構圖

如圖4所示,該模型整體為聯合語義匹配和文字分類的多工深度學習模型,兩個任務共享Sent1的編碼向量,該模型主要分為輸入層,編碼層(Encoder layer)、匹配層(Match layer)、分類組合層(Classifier Aggregate Layer)、語義組合層(SemanticAggregate Layer)、輸出層等幾個模組,具體介紹如下:

2.2.1輸入層

對於使用者意圖輸入X,下文輸入C,我們使用騰訊客服會話資料通過Ngram2vec[1]訓練得到的詞向量進行詞語的Embedding,其中X,C是在相同的領域語料中,具有相同的資料分佈,因此採用相同的詞向量,分別得到使用者意圖及其下文的詞向量特徵為:

基於多工學習的智慧客服下文檢測方法

2.2.2編碼層

使用Transformer編碼器[1]XE和CE進行編碼,在對XE和CE分別使用權重不共享的兩層Transformer結構,每一層又有兩個子層。第一個子層是一個Multi-headAttention層,第二個子層是一個簡單的全連線前饋網路。在兩個子層外面都新增了一個residual的連線,然後進行了Layer Normalization的操作。模型所有的子層以及Embedding層的輸出維度都是一樣的,經編碼層分詞得到XE和CE的編碼向量:

基於多工學習的智慧客服下文檢測方法

2.2.3匹配層

在匹配層中,使用者意圖和下文編碼向量需要進行充分互動來提升對句子的關鍵資訊的捕獲能力,本模型從表徵互動和匹配矩陣互動兩個層次構建多種匹配模式,以此進一步解決模型匹配不充分問題,具體匹配模式圖5和圖6所示。

基於多工學習的智慧客服下文檢測方法

                                                            圖5 AttentionInteraction模式

如圖5所示,對兩種編碼後的詞向量通過Attention 方式進行互動,模型中使用論文[2]中提出的Multi-head Attention方式進行互動,通過式1和式2得到兩個句向量

基於多工學習的智慧客服下文檢測方法

在Multi-headAttention中Q,K和V會經過式4的一次線性變換,隨後作為式5的dot-attention的輸入,這種操作要進行h次,即論文中的Multi-head,每次Q,K,V進行線性變換的引數W是不一樣的.最後將h次的Dot-attention結果進行拼接並再經線性變換得到Multi-head Attention的值,模型中h設為8。除了使用Multi-head Attention對句子間進行互動,模型同時使用多個句子匹配矩陣方式進行句子間互動,如圖6所示:

基於多工學習的智慧客服下文檢測方法

圖6 多層SentenceMatchMatrix結構

在基於如論文[3]Sentence 匹配矩陣的互動模式中,通常是構建詞之詞間的匹配矩陣,考慮的也只是詞與詞之間的相似度關係,而本模型中考慮詞與詞ngram特徵間的匹配關係,在下文詞向量中使用多個卷積操作,提取其區域性特徵,並把每類區域性特徵與意圖詞向量構建匹配矩陣,最後對所有的匹配矩陣進行卷積、池化操作,得到每個匹配句子的向量表徵,其具體步驟如下:

基於多工學習的智慧客服下文檢測方法

2.2.4組合層

經匹配層後得到兩個Attention互動向量XSE_att和CSE_att以及L個匹配矩陣向量OPi,利用如圖7所示的aggregate層將匹配層得到的向量進行組合,並通過2層MLP對映都輸出層。

基於多工學習的智慧客服下文檢測方法

                                                              圖7 Aggregate Layer結構圖

如圖7所示,對於XSE_att和CSE_att使用如下式所示的Self-attention結構進行組合,將詞向量組轉換為句向量XSE_out、CSE_out:

基於多工學習的智慧客服下文檢測方法在得到XSE_out和CSE_out,通過連線方式與OPi,進行連線,得到組合向量:

基於多工學習的智慧客服下文檢測方法

最後經過兩層MLP層得到語義匹配的輸出向量S_out以及對應的損失值S_loss。

2.2.5分類層

本模型是一個多工模型[4],分類任務和語義匹配任務共享使用者意圖的編碼向量XSE,使得向量XSE即具有語義特徵資訊又具有分類特徵資訊,分類層的結構圖8所示:

基於多工學習的智慧客服下文檢測方法

如圖8所示,對意圖編碼向量採用self-attention以及單層MLP,得到意圖的分類句向量XSE_Cout以及對應的損失值C_loss。

3.實驗對比

為了證明本文提出的模型有效性,我們進行了大量對比實驗,首先我們從智慧客服歷史對話語料中按照2.1所描述的語料構建方法,構建了700w的訓練語料集,正負樣本比例為1:5,測試樣本資料為2W條,正負樣本比為1:9,與DSSM[5]、ARC-I[6]、ARC-II[6]、MatchPyramid[3]、QACNN、MV-LSTM[7]、ABCNN-3[8]等模型進行對比實驗,本模型在準確率有所提升,具體結果如表1所示:

                                                                  表1智慧客服下文關係檢測效果圖

模型

Accuracy

F1

DSSM

0.863

0.284

ARC-I

0.864

0.271

ARC-II

0.933

0.629

MatchPyramid

0.926

0.633

MV-LSTM

0.943

0.641

ABCNN-3

0.936

0.630

MTSM(Ours Model)

0.954

0.723

通過表1中的實驗結果發現,本文提出的語義匹配模型和結合分類任務的多工語義匹配模型MTSM均比常用的語義匹配模型效果有所提高,特別是本文提出的多工學習匹配模型能夠在F1上有7%左右的提升。

4.總結

本文針對智慧客服場景中下文檢測的難點,創新性的融合了語義匹配模型和意圖識別任務,使得意圖句具有類別的表徵資訊,從而更加精準的理解句子語義,並通過多層次的匹配互動方式優化了語義匹配模型,充分的捕獲了句子間的語義資訊,提升了智慧客服下文關係檢測能力。在客服領域資料上經模型對比測試分析表明,本文提出的模型具有最優效果在F1值上能提升7%左右。

參考文獻

[1]Zhe Zhao, Tao Liu, Shen Li, Ngram2vec: Learning Improved Word Representations from Ngram Co-occurrence Statistics[J]. 2017.

[2]Vaswani A, Shazeer N, Parmar N, et al. Attention Is All You Need[J]. 2017.

[3]Pang L , Lan Y , Guo J , et al. Text Matching as Image Recognition[J]. 2016.

[4]Zhang Y , Yang Q . An overview of multi-task learning[J]. National Science Review, 2018, v.5(01):34-47.

[5]Huang P S , He X , Gao J , et al. Learning deep structured semantic models for web search using clickthrough data[C]// Proceedings of the 22nd ACM international conference on Conference on information & knowledge management. ACM, 2013.

[6]Hu B , Lu Z , Li H , et al. Convolutional Neural Network Architectures for Matching Natural Language Sentences[J]. 2015.

[7]Wan S , Lan Y , Guo J , et al. A Deep Architecture for Semantic Matching with Multiple Positional Sentence Representations[J]. 2015.

[8]Yin W , Schütze, Hinrich, Xiang B , et al. ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs[J]. Computer Science, 2015.

相關文章