在過去的十幾年,人機交互的方式從鍵盤升級成按鍵,從按鍵又變成手指觸摸,下一個次變革,人類將回歸最自然的交互方式——對話。對話方式讓機器幫助人直接完成工作。智能客服作為最早的應用智能對話系統(tǒng)的落地產(chǎn)品,對于智能對話系統(tǒng)的工業(yè)化應用的探索貢獻頗多。
京東一直堅持以技術(shù)驅(qū)動公司成長,致力于將人工智能技術(shù)與商業(yè)場景應用相結(jié)合,給消費者提供更優(yōu)質(zhì)的體驗。在今年11.11全球好物節(jié)中,京東智能客服與用戶發(fā)生超1630萬次對話,獨立解決了90% 用戶反饋的問題。此外,智能客服也擁有了情感智能,能夠精準識別出七種不同的用戶情感,為消費者提供更貼心溫暖的幫助。在近期的產(chǎn)品迭代實踐中,針對一系列的技術(shù)難點,京東AI團隊對此進行了突破性的探索,這些嘗試,既讓普通用戶與智能客服的對話體驗實現(xiàn)極致提升,又讓人工客服享受AI智能輔助帶來的便利,更讓所有使用智能客服的京東商家在構(gòu)建機器人知識大腦時更容易,真正地讓所有參與客服服務的人都感受到AI賦能的力量。
在經(jīng)典的智能對話交互架構(gòu)中,自然語言理解是整個流程中的核心模塊,直接影響整體的對話效果。京東智能客服作為任務導向型機器人,此前較為關(guān)注對話中的業(yè)務處理邏輯。為了完善整體對話體驗,勢必需要對閑聊對話與FAQ對話給予更多的關(guān)注。因此,在近期,京東AI的算法團隊重點對自然語言理解模塊與閑聊對話、FAQ對話兩類對話模式這三部分進行了一系列全新的探索。
常見的智能對話交互框架
首先,在自然語言理解領(lǐng)域,上下文理解一直是智能對話系統(tǒng)重點關(guān)注的問題。最簡單的上下文理解方法,是將歷史問題拼接起來整體進行預測,但是這種策略無法區(qū)分每一句的側(cè)重點,往往出現(xiàn)因為結(jié)合上文反而導致識別錯誤的情況。
下圖是基于Hierachical Attention Networks(HAN)改進的Sentence Attention Hybrid Networks模型,能夠較好的解決上面提到的問題,在結(jié)合上下文的同時,結(jié)合attention機制能夠有效的區(qū)分每句話的重要程度。
Sentence Attention Hybrid Networks模型算法結(jié)構(gòu)
改進后的HAN模型做了以下優(yōu)化:先將第一層雙向LSTM模型替換為捕捉局部特征能力更強的CNN模型;再將第二層雙向LSTM改為單向LSTM,這也與實際情況中越靠近最后的話越重要保持一致。每個層級具體內(nèi)容如下:第一層CNN輸入為詞向量拼接成的句字向量矩陣;經(jīng)CNN處理后的輸出直接作為第二層LSTM的輸入,其中LSTM的節(jié)點數(shù)與句子個數(shù)保持一致,LSTM的輸出作為每句話的句向量;經(jīng)過最終attention后獲取最終文檔的向量表示,并經(jīng)過softmax進行最終的分類。新模型在多個場景上線后,準確率有5-10個點的提升。因上下文識別錯誤導致的應答問題占比降低5個點,上下文應答效果提升明顯。
除此之外,在人工客服智能輔助領(lǐng)域,我們還嘗試了另一種解決上下文意圖識別的方案。由于上述模型更多適用于關(guān)聯(lián)少量上文語句的場景,對于需要全文關(guān)聯(lián)的情況效果不夠優(yōu)秀,因此我們提出了Hierarchical Attention Dilated Convolutional Networks(以下簡稱HADCN)算法。
傳統(tǒng)RNN類的模型在捕獲全局的句子語義時有優(yōu)勢,但速度較慢。CNN類的模型在運算速度上有優(yōu)勢,但很難獲取上文信息。而HADCN模型參考了WaveNet/Bytenet按照Dilated Convolutional Networks(以下簡稱“DCN”)擴展到語音和翻譯結(jié)果的產(chǎn)生的思路,是一種兼顧精度和速度的框架。這一框架的引入,提供了幾乎業(yè)界最好的精確度,靈活度,適應不同的上下文輸入,訓練和推理速度亦在同類型算法里最快,可以讓工業(yè)實踐在一個穩(wěn)定的框架下,不需要完全跟隨學界各種神經(jīng)網(wǎng)絡分類算法,解決業(yè)務范圍內(nèi)大多數(shù)應用問題,減少重復開發(fā)。
這一算法采用句子間先分句編碼再合并編碼的方式;每一個DCN網(wǎng)絡可以堆疊若干層,加大深度,如下圖綠色虛線框所示;每個句子用DCN堆疊S1層,產(chǎn)生編碼,句子之間也采用DCN堆疊S2層,產(chǎn)生整體多句的編碼,然后產(chǎn)生最后的分類輸出;下圖中以3句為例展示結(jié)構(gòu);每個DCN內(nèi)采用Dilated CNN,在每個時刻都計算對應每個詞的編碼表達;相鄰兩個DCN堆疊之間采用Self Attention連接,規(guī)整不同位置的詞之間的句法和語義關(guān)系;DCN內(nèi)的每一個運算塊簡化為單層CNN,加快運算速度。
HADCN模型算法結(jié)構(gòu)
這一新算法主要應用于人工客服會話的前文智能總結(jié)中:基于人工客服會話數(shù)據(jù)建模,打破了傳統(tǒng)針對單句的意圖識別,采用用戶問題+客服答案的會話維度訓練數(shù)據(jù),對整通會話進行識別,模型返回分類結(jié)果。模型上線后,對線上30分類的會話意圖,準確率能達到80%。另外,實驗發(fā)現(xiàn),HADCN在少數(shù)DCN堆疊的情況下,對上下文意圖識別任務可以比改進后的HAN模型有約2%的準確度提升。
除此之外,我們還將多層次意圖的思想引入自然語言理解領(lǐng)域。傳統(tǒng)的意圖識別僅僅Domain – intent的單一維度的識別,而本質(zhì)上人的任何表達必然具備多種不同維度的信息。而一旦將句子的信息進行多維投射,人的思維就難以通過經(jīng)驗對多維信息進行意圖定義。此時便需要引入聚類的思想進行分類構(gòu)建。為了適應聚類這一數(shù)據(jù)處理方式在邏輯上的不清晰,則需要引入層級的概念,對聚類結(jié)果進行容錯。層級的概念也與客服領(lǐng)域?qū)⒂脩粼V求進行分級歸類的慣例不謀而合,更便于運營工作開展進行。
因此,我們利用聚類的方式,把意義較為接近的分類分成兩層或者多層,每個模型之間不能沖突,下層節(jié)點具有容錯性。層次聚類算法分成凝聚式和分裂式兩種,取決于層次分解是以自底向上(合并)還是以自頂向下(分裂)方式形成。
凝聚式層次聚類使用自底向上的策略,開始時每個對象自己是獨立的類(N個),然后不斷合并成越來越大的類,直到所有的對象都在一個類中,或者滿足某個終止條件。在合并過程中需找出兩個最近的類讓他們合并形成一個類,所以最多進行N次迭代就能將所有對象合并到一起。分裂式層次聚類使用自頂向下的策略,開始時所有對象都在一個類中(1個),然后不斷的劃分成更小的類,直到最小的類都足夠凝聚或者只包含一個對象??紤]到分類語料本身的多維特征以及含義交叉性,我們主要采用層次凝聚的方式構(gòu)建層級。方案上線后,末端分類有6%的上升。
業(yè)務分類在二維空間聚類分布圖
說完了意圖識別,在FAQ對話領(lǐng)域,我們同樣達成了一定的技術(shù)突破。由于客服對話場景中,對于答案質(zhì)量的要求較高,因此在匹配時我們一般側(cè)重于準確率,這就導致FAQ的召回受限,效果難以發(fā)揮。
因此,我們應用了QA SWEM算法方案來解決此問題。該算法綜合考慮了算法的準確率和運行效率,使用了Word Embedding和Pooling兩種結(jié)構(gòu),采用了四種SWEM模型,包括:
SWEM-AVG:基于word embeddings 的 average pooling,作為hidden state
SWEM-MAX:基于word embeddings 的 max pooling,作為hidden state。
SWEM-CONCAT:將SWEM-AVG和SWEM-MAX concat后,作為hidden state。
SWEM-HIER:將word embeddings分窗口進行avg pool,之后再整體的max pooling,作為hidden state
以SWEM-MAX為例,整個模型的核心算法表示為:
我們針對整個算法,進行了進一步的迭代和優(yōu)化,創(chuàng)新地提出將Attention以及GBDT與SWEM結(jié)合的方案。
Attention按照如下的算法進行構(gòu)建:
fatt(hi,sj)=h?iWasj。
雙向的Attention,對待匹配的兩個句子分別進行二次編碼。
考慮到SWEM主要是深度學習的特征,而且模型比較簡單,特征表達能力有限,我們使用GBDT把一些非深度學習的特征(比如編輯距離、詞語重合度等)和SWEM進行融合,在保證運行性能的同事,進一步提升QA匹配模型的效果。
得到句子之間的Attention編碼,再整合上SWEM模型,比現(xiàn)有的BiLSTM算法提升2-3%,模型的訓練和運行性能上都取得了更好的效果。
最后再談一下閑聊對話領(lǐng)域,之前智能客服仍采用傳統(tǒng)檢索方式。傳統(tǒng)檢索方式主要包括三個模塊,query解析,問答檢索和答案重排序。query解析是對用戶query進行理解,提取出重要部分;問答檢索是從問答庫中檢索出query相關(guān)的問答對;答案重排序是對檢索出來的問答對進行重新排序。該方法簡單易操作,答案易理解,缺點是答案受限于問答庫,缺乏多樣性。
為了解決缺乏多樣性帶來的效果欠佳與維護成本高的問題,我們著力將深度生成方式引入該場景。深度生成方式采用經(jīng)典的encoder-decoder框架,并結(jié)合了注意力機制,能根據(jù)用戶query,來直接生成答案。生成方式主要有三個部分,編碼,解碼和注意力。編碼就是將輸入的query編碼成一個向量,解碼則是將生成的向量再轉(zhuǎn)化成輸出的答案,注意力指在輸出的時候需要重點關(guān)注輸入的哪些部分。通過對生成答案與原有檢索式方案產(chǎn)出的答案的標注對比,生成答案較檢索式答案質(zhì)量提升約20%,應答效果顯著提升。
深度生成式閑聊框架
過去一段時間,結(jié)合業(yè)務需求,我們在智能對話領(lǐng)域展開了多項探索,取得了一定成效。我們的技術(shù)探索之路還在繼續(xù),未來還要在堅持用戶體驗為先的基礎上,不斷擴展AI技術(shù)的應用領(lǐng)域,并打造數(shù)據(jù)閉環(huán),通過數(shù)據(jù)反哺算法效果的持續(xù)提升,為打造業(yè)內(nèi)首個具備情感智能個性化的解決型智能客服,為用戶提供極致體驗而努力。相信隨著AI技術(shù)的不斷發(fā)展,未來智能客服對話系統(tǒng)還將有持續(xù)提升,我們也將和業(yè)界一道推動這一領(lǐng)域的創(chuàng)新實踐。
(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )