1. 程式人生 > >論文閱讀:《AliMe Assist: An Intelligent Assistant for Creating an Innovative E-commerce Experience》

論文閱讀:《AliMe Assist: An Intelligent Assistant for Creating an Innovative E-commerce Experience》

阿里小蜜:提供創新電子商務體驗的智慧助理

論文導讀

摘要: 在本文中,阿里團隊介紹了會話機器人平臺“阿里小蜜”。該智慧助理設計提供一種創新性的電子商務體驗,並已經在真實的商業場景中上線。當前,阿里小蜜為客戶提供幫助服務、客戶服務和聊天服務,日處理上百萬的客戶問題。

論文標題: AliMe Assist: An Intelligent Assistant for Creating an Innovative E-commerce Experience,CIKM 2017 Demo。

作者: Feng-Lin Li,Minghui Qiu,Haiqing Chen等

編譯: 蓋磊

正文:

近幾年,基於問答系統的智慧助理備受關注。這一方面得益於以深度學習為代表的人工智慧技術的發展,另一方面是源自於現實世界的需求。

客戶服務是智慧助理能大展身手的一個重要領域。隨著電子商務的迅速發展,對客服提出了強烈的需求。同時,使用者也越來越注重購物的體驗和服務的質量。傳統客服所存在的問題愈發突出,例如,人工客服存在工作時間問題,由於服務能力不足而存在客戶長時間等待,無法應對服務的突發增長(例如“雙11購物狂歡節”)等。

為解決這些問題,阿里經過多年工作,推出了智慧助理“阿里小蜜”,將人工客服從一些基本的、常見的和重複性的工作中解放出來,真正地聚焦於的確需要人工參與的客服交流中。阿里小蜜提供三種服務:幫助服務、客戶服務和聊天服務。它可以接受語音和文字輸入,集成了機器人問答場景,並可進行多輪互動。目前,它每日完成數百萬次以中文為主的客戶問答。本文將介紹阿里小蜜的底層實現技術,並分享其在電子商務領域的一些真實問答場景。論文的主要貢獻包括:

  1. 小蜜實現了一種應用於真實商業場景中的智慧助理,為客戶提供了電子商務場景中的幫助服務、客戶服務和聊天服務。
  2. 使用CNN模型判定客戶意圖。
  3. 在客戶服務中使用了基於語義規範化和知識圖譜的方法,實現了面向知識的客戶問答。
  4. 在聊天服務中使用了一種混合了資訊檢索和Attentive Seq2Seq生成模型的方法,優化了兩種模型的聯合輸出。

相關工作

問答系統可分為面向任務、面向知識和麵向聊天三類。

面向任務的問答系統是一種閉域應用,通常使用基於規則的或基於模板的方法,並採用對話狀態跟蹤技術。小蜜在幫助服務中所使用的槽位填充方法,就是一種基於模板的方法。

面向知識的問答系統可用於閉域和開放域,通常使用以資料為驅動的資訊檢索模型。該類方法基於從問答知識庫中查詢與提問問題最匹配的知識。一份最新的研究工作嘗試使用基於神經網路的方法實現問題間的匹配。我們使用了一種完全不同的方法,即基於知識圖譜與資訊檢索的方法。檢索知識圖譜可給出高準確率的問答,並以資訊檢索為補充。

基於聊天的問答系統常用於開放域,使用方法包括資訊檢索和生成模型。我們的方法彌補了單獨使用資訊檢索和Seq2Seq生成模型的不足之處。前者只能處理與知識庫中已有知識類似的問題,而後者可能會生成完全不一致的解答。最近有研究工作提出使用資訊檢索模型做檢索,並對所生成解答做重新排序(rerank)。我們工作的獨到之處在於使用了Attentive Seq2Seq模式做rerank,優化由資訊檢索和生生模型聯合給出的結果。

系統結構

阿里小蜜的整體結構如圖1所示。輸入層支援來自於手機、電腦等多種終端裝置的語音和文字輸入。在輸入層之上是意圖識別層。該層識別使用者輸入,並分發給不同的處理模組。第三層包括了各類問題的處理模組。處理模組從歷史資料問答對和知識圖譜中檢索答案。

阿里小蜜的處理流程如圖2所示。當用戶輸入了問題Q後,Q進入商業規則解析模組。解析模組採用基於Trie的模式匹配。如果Q匹配了某個模式,那麼將進行如下判定:如果Q是類似於訂機票這樣的請求任務,那麼Q將會被分發給槽位填充引擎;如果Q是詢問促銷等情況,那麼引擎會從系統預製的解答中檢索回覆;如果Q請求的是人工客服,那麼問題就會轉給真實的客服人員;如果Q沒有匹配任何模式,那麼Q就會被分發給意圖識別模組做分類,再提交給基於Trie的語義分析模組。如果語義分析模組能在Q中識別到語義標籤(即知識圖譜中的實體),那麼小蜜會將Q作為一個商業相關問題,使用知識圖譜引擎做檢索,以檢索結果補充問題的內容,並重新提交語義分析。如果這時依然無法發現任何有意義的資訊,那麼小蜜將會採取繼續向用戶提問的策略,直到問題可被識別,然後再提交聊天引擎,開展機器人對話。

意圖識別

小蜜將客戶意圖分為三大類:需求幫助類、諮詢類和聊天類。在每一類中還做了更具體的細分。商業規則分析模組和意圖分類模組共同用於識別每個客戶問題的意圖。商業規則分析模組使用了頻繁項挖掘和基於Trie的模式匹配技術,構建出數十萬個模式。意圖分類模組使用CNN構建,其結構如圖3所示。

意圖模型的輸入是Q中每個單詞的嵌入向量,以及從當前問題和前面的問題中識別到的語義標籤。詞嵌入向量採用FastText預先訓練,並使用CNN模型做進一步調優。

為測試意圖識別的分類效果,論文使用了具有40種意圖場景的測試資料,資料由67797個帶語義標籤的例項組成,其中47455個例項用於訓練,20342個例項用於測試。實驗結果表明,文中提出的CNN模型實現了89.91%的準確率,比未使用CNN的方法提高了0.91%。兩個模型都比組合使用SVM和最大熵的基線方法取得了更高的準確率,後者的準確率是82.71%。

團隊並未選用RNN(例如LSTM),而是使用了一層卷積池化CNN模型。這是因為CNN也能捕獲文字前後的詞場景資訊,並可在小蜜的應用場景中取得足夠好的結果。其次,CNN更為高效。在實際商業應用中可以支援約200 QPS(每秒查詢數)。儘管更多層的RNN會取得更好的效果,但是層數越多,可擴充套件性越不好。

任務助理

在完成一些特定的任務時,助理通常需要客戶提供多個屬性(或槽位)的資訊。例如,如果客戶要訂一張機票,需要向客服提供起飛時間、目的地和出發日期等資訊。小蜜的解決方案是首先指定必須的資訊,然後使用填充槽位的方法抽取客戶輸入,填充預定義槽位中的內容。槽位填充引擎主要使用了字典和模式,它可以識別十五種型別的屬性。阿里小蜜會提示使用者輸入更多資訊,並可以從第三方服務中獲取必要的屬性。

面向知識的客戶服務

使用者希望能從客服助理獲得儘可能精準的互動。為此,小蜜採用知識圖譜提供面向知識的客戶服務。知識圖譜的基本構件是實體和關係。論文工作中,首先使用分詞、POS和TF-IDF過濾從自然語言文字中抽取到的基本動詞和名詞,基於這些抽取資訊使用互資訊構建實體。然後,團隊引入了一些商業專家,對抽取到的實體和關係做人工稽核。生成知識圖片以層次結構儲存在Neo4j中,並使用Neo4j作為知識的查詢引擎。目前,Neo4j引擎中已經儲存了數千個實體及相應的關係集,並支援一到兩跳的推理。

語義規範化(semantic normalization)就是將不同型別的表達(utterance)轉換為知識圖譜中語義等價的實體。實踐中,由於客戶的問題是高度多樣化的,因此語義規範化非常重要。小蜜採用表達多樣化和模式匹配解決了這個難題。小蜜首先識別一組表達多樣化的知識項,然後從客戶與客服人員的歷史聊天記錄中找出類似的回答。相似性計算的演算法基於語句嵌入設計,並使用MapReduce實現,用於捕獲語義相似性。一旦得到了知識項與一組多樣化表達間的對映關係,就可以使用頻繁項抽取實體的單詞模式。這些模式進而可用於基於Trie的語義分析模組,識別每個使用者問題的語義標籤。

與傳統的資訊檢索方式相比,基於知識圖譜的方式可提高正確率10%。考慮到知識圖譜只覆蓋了一些常被問及的知識項,因此還採用資訊檢索作為 補充,意在提高召回率。

聊天服務

儘管在阿里小蜜應用中,大部分的對話都是商業相關的,但還有5%的聊天內容。為提供更好的使用者體驗,小蜜中構建了開放域聊天引擎。團隊提出了一種混合方法,使用Attentive Seq2Seq模型優化聯合使用IR模型和Seq2Seq生成模型所給出的結果。

方法的整體結構圖如圖5所示。小蜜首先使用檢索模型,得到候選的解答。然後,使用了Attentive Seq2Seq模型對候選者做rerank,賦予每個候選者一個置信度分值。如果置信度分值超出給定閾值,那麼選用分值最高的候選者作為答案。如果分值均低於閾值,那麼使用Seq2Seq模型生成的解答作為輸出。

展示情況

當前,阿里小蜜已經上線,每日服務於數百萬客戶,並可自動處理85%的客服會話。圖6分別展示了助理服務、客戶服務和聊天服務這三個關鍵服務的實際應用場景。

譯者注:論文獲得CIKM 2017的Best Demo Award(最佳演示獎)。

展望

未來,小蜜考慮會做進一步的改進。包括:強化基於場景的多輪互動,基於增強學習為網購提供導購,採用圖象識別技術實現讀圖能力。