【大咖來了 第7期】智能導購對話機器人實踐
原創【51CTO.com原創稿件】當下電商行業相對成熟且呈現出諸多形態,如何為終端用戶提供更好的服務,進而提高運營和企業的效率,是每個電商企業不得不面對的問題,智能導購對話機器人在這樣的背景下應需而生。本期《大咖來了》直播欄目邀請的是智能一點CTO莫瑜,分享主題為《智能導購對話機器人實踐》,深入闡述了智能導購對話機器人背后的技術細節,及實際研發過程中的一些總結與思考。
智能導購對話機器人的應用場景
什么場景需要智能導購對話機器人呢?用戶在夜間購物是很難找到人工客服的,此時智能導購機器人對提高電商客戶的成交就起到非常重要的作用。當雙11、618等大促時,雖然提前幾個月去籌備人工客服,來應對幾十倍甚至上百倍暴增的流量,但效率和資源投入方面都不盡人意,此時智能導購對話機器人就派上了用場。
如下圖,為整個對話機器人后臺的粗略架構
當智能對話機器人通過不同電商客戶端接收到用戶消息后,如能直接回答便會自動回復,超出能力范圍便會分發給人工客服。智能對話機器人自動回答用戶問題的流程是這樣的,首先對話管理平臺接收消息,根據上下文理解用戶意圖,分發智能導購機器人,中控模塊收接到智能導購機器人的反饋后做最終仲裁,并把結果反饋給用戶。整個流程看似簡單,但技術實現卻不是易事。
智能導購對話機器人背后的技術細節
智能導購機器人包含三部分,分別是問答機器人、任務機器人和推薦機器人。問答機器人主要解決不需要通過多輪交互便可以解決的問題,是任務機器人的基礎。任務機器人通過跟用戶多輪的交互,從而幫助用戶解決某個需求,比問答機器人更上一層。推薦機器人基于任務和問答機器人構建,特點在于主動和用戶進行交互。
問答機器人
問答機器人一般是基于問答庫構建,問答庫中存儲幾萬、幾十萬甚至更多已知相匹配的問題與答案數據,當用戶輸入的問題與庫中某一個問題語義相同時,便把相應答案反饋給用戶。基于問答庫的問答機器人一般采用基于規則、統計學習、預訓練模型、小樣本學習的技術方案:
基于規則和統計學習方式
當用戶消息中包含某個關鍵詞,匹配某個正則表達式,及符合某個規則引擎時,準確識別意圖,反饋對應答案。這種方式簡單可控,但缺少語義理解,不容易維護。
基于統計學習的方案需要標注數據,像SVM、Deep Semantic Model(深度語義模型)、這些模型會涉及到人工設計特征、深度特征、one-hot(稀疏表達)和embedding(稠密表達)。相比基于規則的方式,基于統計學習的方案學到更多語義,但缺點在于需要大量領域知識、領域相關標注數據。
基于預訓練模型和小樣本學習
在缺少數據標注的情況下,可以選擇基于預訓練模型和小樣本學習這兩種方式。2018年基于BERT 的Fine tuning發布,很多問題的最佳結果得到刷新,語義相似度方面也是一樣。
當每個問答庫的數據非常少,每一個意圖場景僅有幾條,可以嘗試使用基于小樣本學習方式。
除了,基于問答庫的問答機器人之外,還有一種很重要的基于知識圖譜的問答機器人:
基于知識圖譜方式
大部分用戶咨詢的問題都與商品或活動相關,這些問題基本上可以建模為知識圖譜。在電商領域,商品、活動數據是非常重要的兩部分數據源,再加之行業數據全部存到數據庫中,就可以查詢并回答大多數用戶的問題。
如下圖,為知識圖譜的構建和問答模式
客戶原有的結構化數據、從頁面抽取的半結構化數據,以及像用戶評論等非結構化數據是知識圖譜的三大數據源,在此之上構建知識圖譜,結合知識圖譜進行查詢之后,放到相應的存儲引擎中去,如有些數據需要做頻繁查詢,也可放到關系數據庫中。當收到用戶請求,可以進行句法解析把句子轉化成查詢形式,也可以對問題進行核心部分提取并查詢。
任務機器人
對話交互系統是任務機器人的核心,包含語義理解、對話管理、文本生成等模塊,如下圖為比較常用且相對成熟框架。
語義理解又可以細分為領域分類、意圖識別和槽值抽取三部分,首先判斷用戶問題屬于哪個領域,其次理解用戶意圖,并識別用戶意圖后進行槽值抽取(獲取對應意圖場景關聯的重要參數)。
意圖識別
意圖識別是非常重要的模塊,如果意圖識別失敗或錯誤,整個后續的交互會顯得非常古怪。如下圖,為意圖識別綜合方案。
此組合方案中,基于參數模型意圖識別為主,基于上下文、規則和KNN意圖識別為輔。使用傳統特征和深度模型特征去融合基于標注數據做的模型,把模型當做分類器,輸出是屬于某種意圖場景。每個意圖都會有關心的槽值或參數,實體抽取主要是基于規則和序列標注相組合的方式,如下圖。
規則方案適合相對有規律或封閉的集合,像地址、郵箱地址、商品鏈接等數據。對于一些開放集合,沒辦法用規則支持情況下,可采用序列標注方式。情感分析也屬于語義理解范疇,如某個用戶情緒如何,是正向還是負面,是否發生變化。
對話管理
對話狀態管理本身是一個很復雜的工作,如果用戶并沒有完全遵循交互設計的流程進行,會出現意圖偏移的情況。如下圖,為對話交互設計簡易流程。
當用戶咨詢的問題存在歧義,當理解意圖反饋后,用戶發起追問,超出事初預測的范疇,遇到這些情況該如何處理?這里就會應用可配置的對話交互系統,智能地和終端用戶進行交互。對話交互系統可以根據客戶描述語言定義的支持所需機器人的對話配置。
目前,對話交互設計系統可以做到設計和實現解耦。技術研發在完善對話交互系統的同時,導購/領域專家可以輕松地配置定制化機器人。
推薦機器人
為什么需要個性化推薦?原因有二,其一對話交互有利于信息的獲取,不利于信息的展現,其二對話交互需要細粒度的個性化。在電商場景中,推薦機器人在實際交互過程中的使用占比非常大,有些店鋪接近20%的客服請求中含有商品鏈接或推薦需求。
相比傳統推薦系統而言,對話交互推薦系統可以結合更加豐富的信息,這些信息真實自然地存在對話場景中,就是顯式反饋,可以更多地考慮上下文,如:時間(早中晚/星期)、地點、情緒、環境(商家情況)等。智能導購中的推薦方式一般可分為四種,分別是熱門推薦、相關推薦、主動推薦和交互推薦等。
接下來我們主要介紹相對比較復雜的交互推薦方式,下圖為示例。
以推薦奶粉為例,傳統推薦是基于用戶畫像,從所有SKU中挑選出最有可能成交的商品進行推薦。交互推薦是先推薦某一款,之后進一步溝通,雙方信息得以交換。這樣一來,用戶了解商家信息的同時商家知曉了用戶喜好,減少信息不對稱,彌補雙方理解上的差異,進而更好地服務這個用戶。針對這部分內容,基于具體示例,詳盡闡述交互推薦的流程及建模,請戳(http://aix.51cto.com/activity/10015.html),進行觀看。
實際研發過程中的總結與思考
對話機器人領域非常龐大,也有很多新技術在不斷發展,實際用對話技術解決業務問題的過程中,會碰到大大小小的問題,這里主要分享如下幾點:
第一,產品設計 vs 技術邊界。要注意權衡產品設計和技術邊界之間的關系,考慮在技術能夠解決問題的同時如何通過產品巧妙的設計、產品流程交互去降低對技術的要求,提升客戶體驗。
第二,全自動 vs 人機協同。對機器人來說,用戶總期望它的行為/能力與人媲美,現實中要做到完全全自動是很難,采用人機協同的方式才能夠給用戶更好的體驗。必須全自動的情況下,需要引入交互推薦方式,進而使得人跟機器之間的交互更加順暢。
第三,用戶參與感 vs 配置易用性。客戶參與配置機器人,會有馴服機器人的成就感。但配置在易用性方面要多加斟酌,不要太繁瑣,免得客戶有畏懼心理。
第四,可控 vs 智能。在電商場景,實際商用對話系統可控和智能兼得,何時可控何時智能,需要做很多方面的權衡。如推薦交互策略可以基于強化學習越智能越好,但對于整個對話系統策略方面,模塊優化,仲裁邏輯、交互流程等環節,需要通過配置或交互設計使得更加可控。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】