京东JIMI用户未来意图预测技术揭秘
隨著近年來人工智能技術的發展,Chatbot聊天機器人越來越普及,隨之而來的用戶訪問不斷增多,如何讓Chatbot系統在解決用戶問題的同時簡化用戶操作,優化用戶與機器人聊天過程中的體驗成為當前難點。
目前的智能問答機器人不僅需要實現智能人機交互(文本、語音等)的全渠道多媒體整合應用,而且需要各領域內大數據、深度語義理解等前沿技術上的研究與積累,讓機器人去回答用戶的同時預測用戶接下來的意圖,并做對應的個性化處理,因此針對Chatbot的用戶未來意圖預測技術應運而生。
1、京東JIMI及發展現狀
1.1 關于JIMI
京東JIMI是由京東自主研發的Chatbot,通過自然語言處理、深度神經網絡、機器學習等技術,能完成全天候、無限量的用戶咨詢,涵蓋售前咨詢、售后服務、閑聊陪伴等環節。
自2012年誕生至今,已累計服務數億用戶,覆蓋京東10億+的商品,應答準確率90%以上,用戶滿意度高達80%以上,每月為京東節省上千萬人力成本。
1.2 現有技術方案
JIMI現有技術架構主要由以下模塊組成,如圖1所示:
(1)算法:包括糾錯、分詞、實體識別、知識圖譜、詞法分析等模塊,根據用戶輸入的問題,結合領域術語詞庫和其他語法、語義方面的資源,在解決歧義、指代關系等問題后,使用深度神經網絡技術,提供用戶意圖的精準理解。
(2)工程:根據業務處理邏輯,判斷該問題的答案處理流程,例如答案是閑聊或業務,是否需要用戶登錄等。
(3)數據:通過對用戶原始數據的挖掘、清洗和聚合等,實現對客服領域知識的儲備,并對現有數據做可視化處理。
圖1:Chatbot系統架構圖1.3 現有方案的缺點
傳統Chatbot只能根據用戶的當前問題,給出對應的答案,類似于一問一答的形式。對于用戶在聊天過程中接下來的意圖,沒有預測功能。如此以來用戶每次都必須完整輸入自己想問的問題,才能獲得相關答案。這種方式比較費時,用戶體驗也不是特別好。
本文接下來會介紹一種基于用戶未來意圖預測的方法,對用戶的聊天過程做實時分析,根據當前及歷史問題,智能預測用戶接下來的意圖,提升用戶的聊天體驗。
2、預測未來意圖技術方案
2.1 應用場景
基于現有技術存在的問題和缺陷,我們提出了一種智能預測用戶下一個意圖的方法。該方法基于用戶目前訂單、購物車狀態等賬號信息以及歷史聊天內容,智能預測用戶接下來最可能問的問題。它主要會在以下兩種場景下使用:
1)用戶開始咨詢前預測
如何在用戶進入JIMI后還未咨詢前,提前預測用戶可能會問到的問題,并將其直接展示給用戶供用戶點選,提升用戶體驗,需要解決兩個技術問題,一是如何獲取用戶可能會問的標準問題,二是如何做到個性化地對不同的用戶推送不同的問題。
在具體實現上,采用人工去整理就存在人力成本高、問題更新不及時的情況,因此我們采用無監督的聚類方式得到用戶可能問的標準問題,再通過線上試驗,先隨機出這些問題,收集用戶點擊作為分類標簽,最后用分類的思想去解決它。
具體技術實現如下,如圖2所示,首先按熱門SKU的維度收集問題,包括用戶在JIMI/咚咚發送的信息,以及單品頁購買中咨詢的問題。這些原始問題不能直接作為標準問題進行使用,所以需要人工進行一次過濾,由于數據量非常龐大,這里采用Logistic Regression訓練一個語料過濾模型,用于數據清洗。接著對這些問題做切詞,word2vec訓練詞向量,進而得到句子向量,最終用K-means聚類的方法,找到最大的前20個Cluster,選出現次數最多的問題作為標準問題。
圖2:用戶進入咨詢前預測系統上線后,先隨機出這些問題,然后根據用戶點擊行為確定樣本的標簽,再收集用戶的訂單、服務單、實時瀏覽數據、以及畫像數據作為樣本,最終訓練一個用于用戶開始咨詢前的未來意圖預測分類模型。當用戶再來咨詢時,根據分類模型給出用戶最可能問到的前3個問題,供其點選。
2)用戶咨詢過程中實時預測
對于用戶咨詢過程中的未來意圖預測,如圖3所示,系統會在用戶說每句話時,實時預測用戶下一意圖,并將預測的TOP5用戶意圖展示在前端界面。如果用戶覺得預測準確,可直接點擊該問題獲取答案,不用自己手動輸入問題,從而提升用戶體驗。
圖3:用戶咨詢過程中實時意圖預測2.2 未來意圖預測流程
用戶咨詢過程中未來意圖預測流程包括預處理、模型預測,數據記錄三大模塊。如圖4所示:
圖4:用戶咨詢過程中未來意圖預測模塊內部流程圖各模塊的作用如下:
預處理:預處理模塊主要做一些必要入參的判斷,比如判斷輸入的用戶ask是否合法,以及對于用戶提問小于2句的情況,不做未來意圖預測處理。用戶提問大于2句才會繼續往下走到模型預測模塊。
模型預測:通過模型計算用戶下一個可能的問題概率,如果預測值低于當前設置的閥值則不做推送,高于閾值才會繼續往下走到數據記錄模塊。
數據記錄:負責系統日志記錄,比如記錄下每句話具體推送了哪些分類,方便系統上線后模型調優。
接下來,詳細介紹模型預測子模塊。該模塊通過模型分類的方法,將用戶問題對應到不同分類,并實時計算用戶下一問題的概率。具體技術方案如下:
1)樣本構造
首先,收集用戶和客服的聊天日志信息,我們可以根據這些海量信息,發現用戶當前問題與下一個問題的聯系。
比如用戶進入咨詢首先發送“你好”,然后說“這個商品有貨嗎?”,緊接著問“有優惠嗎?”,最后問“現在下單,什么時候能送到?”。這時我們構造樣本就需要把前三句話拼在一起,構造出來這樣的樣本“你好這個商品有貨嗎?有優惠嗎?”
2)標簽構造
上面這個樣本的標簽就是第四句話“現在下單,什么時候能送到?”所對應的分類。
如何確定分類?用人工審核的方式,將所有用戶的問題都看一遍,并將每個問題對應到一個具體的分類。比如用戶問“我的商品有貨嗎?”或者“還有貨嗎?”都會被分到“是否有貨”這個分類,標記“分類1”,以此類推。
3)標簽選擇
推送給用戶的問題,最好是用戶常問的問題,而不是一些長尾問題,這樣可以提升推送的準確率。
統計最近1年的聊天日志,將所有用戶每句話對應到一個分類標簽,計算出TOP10的分類標簽,主動推送的分類就限定在這TOP10之中。最終構造出的樣本和標簽信息,如圖5。
圖5:構造樣本和標簽樣本構造的總體思路:
- 從最近1年的聊天日志取出用戶原始問題
- 將用戶的問題分類,每個用戶問題對應一個類別標簽
- 每通會話包含N個用戶問題,其中前N-1個問題拼起來作為樣本,第N個問題的分類,作為該樣本標簽
- 最終取TOP10的標簽分類,保證預測結果能夠覆蓋用戶的高頻問題
4)模型訓練:
深度學習CNN模型,可用于求解一個分類問題,將用戶的問題映射到一個具體的分類。最終在算法選型上,我們采用深度學習CNN模型,其中模型參數:
- 詞向量采用100維
- 每個樣本限定30個字以內,超出30截斷,不足30補充隨機向量
- 單層CNN網絡,第一層卷積核大小3*50
5)模型效果
最終模型效果的統計,我們通過建立BaseLine與模型對比的方式來度量。BaseLine的建立思路如下:針對當前分類X,基于歷史數據統計,給出最高頻的下一分類Y
3、結語
經線上驗證,用戶未來意圖預測技術已經能優化用戶咨詢效率和咨詢體驗,讓機器人不僅“懂你所問”,更“知你所想”。后續基于不斷優化提高的自然語言理解能力和深度學習,對用戶未來意圖預測會越來越準確,讓用戶體驗更智能的機器人。
【作者簡介】鄒波,京東JIMI核心算法架構師,致力于NLP領域和深度學習方向。目前負責用戶未來意圖預測,智能分流,會話結束預測等項目,極大的提高了客服工作效率,同時也降低人力成本,提升了客戶體驗。本文來自鄒波在“攜程技術沙龍——人機語義交互AI”上的分享。
https://zhuanlan.zhihu.com/p/31453521
總結
以上是生活随笔為你收集整理的京东JIMI用户未来意图预测技术揭秘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习在智能助理中的应用
- 下一篇: 长连接/websocket/SSE等主流