POST TIME:2018-05-02 17:05
01 智能人機交互領域的介紹
1.1 行業分類及目前的應用狀況
在全球人工智能領域不斷發展的今天,包括Google、Facebook、Microsoft、Amazon、Apple等互聯公司相繼推出了自己的智能私人助理和機器人平臺。
智能人機交互通過擬人化的交互體驗逐步在智能客服、任務助理、智能家居、智能硬件、互動聊天等領域發揮巨大的作用和價值。因此,各大公司都將智能聊天機器人作為未來的入口級別的應用在對待。今天隨著市場的進一步發展,聊天機器人按照產品和服務的類型主要可分為:客服,娛樂,助理,教育,服務等類型。
圖1截取了部分聊天機器人。
圖1:一些chat-bot的匯總
1.2 阿里小蜜在電商領域的狀況
2015年7月,阿里推出了自己的智能私人助理-阿里小蜜,一個圍繞著電子商務領域中的服務、導購以及任務助理為核心的智能人機交互產品。通過電子商務領域與智能人機交互領域的結合,帶來傳統服務行業模式的變化與體驗的提升。
在去年的雙十一期間,阿里小蜜整體智能服務量達到643萬,其中智能解決率達到95%,智能服務在整個服務量(總服務量=智能服務量+在線人工服務量+電話服務量)占比也達到95%,成為了雙十一期間服務的絕對主力。
02 電商領域下阿里小蜜的技術實踐
2.1 阿里小蜜技術的overview
智能人機交互系統,俗稱:chatbot系統或者bot系統。圖2是人機交互的流程圖:
圖2:人機交互的流程
核心是NLU(自然語言理解),通過對話系統處理后,最后通過自然語言生成的方式給出答案。一段語言如何理解對于計算機來說是非常有難度的,例如:“蘋果”這個詞就具備至少兩個含義,一個是水果屬性的“蘋果”,還有一個是知名互聯網公司屬性的“蘋果”。
2.1.1 意圖與匹配分層的技術架構體系
在阿里小蜜這樣在電子商務領域的場景中,對接的有客服、助理、聊天幾大類的機器人。這些機器人,由于本身的目標不同,就導致不能用同一套技術框架來解決。因此,我們先采用分領域分層分場景的方式進行架構抽象,然后再根據不同的分層和分場景采用不同的機器學習方法進行技術設計。首先我們將對話系統從分成兩層:
1、意圖識別層:識別語言的真實意圖,將意圖進行分類并進行意圖屬性抽取。意圖決定了后續的領域識別流程,因此意圖層是一個結合上下文數據模型與領域數據模型不斷對意圖進行明確和推理的過程;
2、問答匹配層:對問題進行匹配識別及生成答案的過程。在阿里小蜜的對話體系中我們按照業務場景進行了3種典型問題類型的劃分,并且依據3種類型會采用不同的匹配流程和方法:
問答型:例如“密碼忘記怎么辦?”→ 采用基于知識圖譜構建+檢索模型匹配方式
任務型:例如“我想訂一張明天從杭州到北京的機票”→ 意圖決策+slots filling的匹配以及基于深度強化學習的方式
語聊型:例如“我心情不好”→ 檢索模型與Deep Learning相結合的方式
圖3表示了阿里小蜜的意圖和匹配分層的技術架構。
圖3:基于意圖于匹配分層的技術架構
2.1.2 意圖識別介紹:結合用戶行為deep-learning模型的實踐
通常將意圖識別抽象成機器學習中的分類問題,在阿里小蜜的技術方案中除了傳統的文本特征之外,考慮到本身在對話領域中存在語義意圖不完整的情況,我們也加入了用實時、離線用戶本身的行為及用戶本身相關的特征,通過深度學習方案構建模型,對用戶意圖進行預測, 具體如圖4:
圖4:結合用戶行為的深度學習意圖分類
在基于深度學習的分類預測模型上,我們有兩種具體的選型方案:一種是多分類模型,一種是二分類模型。多分類模型的優點是性能快,但是對于需要擴展分類領域是整個模型需要重新訓練;而二分類模型的優點就是擴展領域場景時原來的模型都可以復用,可以平臺進行擴展,缺點也很明顯需要不斷的進行二分,整體的性能上不如多分類好,因此在具體的場景和數據量上可以做不同的選型。
小蜜用DL做意圖分類的整體技術思路是將行為因子與文本特征分別進行Embedding處理,通過向量疊加之后再進行多分類或者二分類處理。這里的文本特征維度可以選擇通過傳統的bag of words的方法,也可使用Deep Learning的方法進行向量化。具體圖:
圖5:結合用戶行為的深度學習意圖分類的網絡結構
2.1.3 匹配模型的overview:介紹行業3大匹配模型
目前主流的智能匹配技術分為如下3種方法:
1、基于模板匹配(Rule-Based)
2、基于檢索模型(Retrieval Model)
3、基于深度學習模型(Deep Learning)
在阿里小蜜的技術場景下,我們采用了基于模板匹配,檢索模型以及深度學習模型為基礎的方法原型來進行分場景(問答型、任務型、語聊型)的會話系統構建。
2.2 阿里小蜜的3大領域場景的技術實踐
2.2.1 智能導購:基于增強學習的智能導購
智能導購主要通過支持和用戶的多輪交互,不斷的理解和明確用戶的意圖。并在此基礎上利用深度強化學習不斷的優化導購的交互過程。圖6展示了智能導購的技術架構圖。
圖6:智能導購的架構圖
這里兩個核心的問題:
a)在多輪交互中理解用戶的意圖。
b)根據用戶的意圖結果,優化排序的結果和交互的過程。
下面主要介紹導購意圖理解、以及深度增強學習的交互策略優化。
2.2.1.1 智能導購的意圖理解和意圖管理
智能導購下的意圖理解主要是識別用戶想要購買的商品以及商品對應的屬性,相對于傳統的意圖理解,也帶來了幾個新的挑戰。
第一,用戶偏向于短句的表達。因此,識別用戶的意圖,要結合用戶的多輪會話和意圖的邊界。
第二,在多輪交互中用戶會不斷的添加或修改意圖的子意圖,需要維護一份當前識別的意圖集合。
第三,商品意圖之間存在著互斥,相似,上下位等關系。不同的關系對應的意圖管理也不同。
第四,屬性意圖存在著歸類和互斥的問題。
針對短語表達,我們通過品類管理和屬性管理維護了一個意圖堆,從而較好的解決了短語表示,意圖邊界和具體的意圖切換和修改邏輯。同時,針對較大的商品庫問題,我們采用知識圖譜結合語義索引的方式,使得商品的識別變得非常高效。下面我們分別介紹下品類管理和屬性管理。
基于知識圖譜和語義索引的品類管理
智能導購場景下的品類管理分為品類識別,以及品類的關系計算。下圖是品類關系的架構圖。
圖7:品類管理架構圖
品類識別:
采用了基于知識圖譜的識別方案和基于語義索引及dssm的判別模型。
a) 基于商品知識圖譜的識別方案:
基于知識圖譜復雜的結構化能力,做商品的類目識別。是我們商品識別的基礎。
b) 基于語義索引及dssm商品識別模型的方案:
知識圖譜的識別方案的優勢是在于準確率高,但是不能覆蓋所有的case。因此,我們提出了一種基于語義索引和dssm結合的商品識別方案兜底。
圖8:基于語義索引和dssm的商品識別方案
語義索引的構造:
通常語義索引的構造有基于本體的方式,基于LSI的方式。我們用了一種結合搜索點擊數據和詞向量的方式構造的語義索引。主要包括下面幾步:
第一步:利用搜索點擊行為,提取分詞到類目的候選。
第二步:基于詞向量,計算分詞和候選類目的相似性,對索引重排序。
基于dssm的商品識別:
dssm是微軟提出的一種用于query和doc匹配的有監督的深度語義匹配網絡,能夠較好的解決詞匯鴻溝的問題,捕捉句子的內在語義。本文以dssm作為基礎,構建了query和候選的類目的相似度計算模型。取得了較好的效果,模型的acc在測試集上有92%左右。
圖9:dssm模型的網絡結構圖
樣本的構造:訓練的正樣本是通過搜索日志中的搜索query和點擊類目構造的。負樣本則是通過利用query和點擊的類目作為種子,檢索出來一些相似的類目,將不在正樣本中的類目作為負樣本。正負樣本的比例1:1。
品類關系計算:
品類關系的計算主要用于智能導購的意圖管理中,這里主要考慮的幾種關系是:上下位關系和相似關系。舉個例子,用戶的第一個意圖是要買衣服,當后面的意圖說要買水杯的時候,之前衣服所帶有的屬性就不應該被繼承給水杯。相反,如果這個時候用戶說的是要褲子,由于褲子是衣服的下位詞,則之前在衣服上的屬性就應該被繼承下來。
上下位關系的計算2種方案:
a)采用基于知識圖譜的關系運算。
b)通過用戶的搜索query的提取。
相似性計算的兩種方案:
a)基于相同的上位詞。比方說小米,華為的上位詞都是手機,則他們相似。
b)基于fast-text的品類詞的embedding的語義相似度。
基于知識圖譜和相似度計算的屬性管理
下圖是屬性管理的架構圖:
圖10:屬性管理架構圖
整體上屬性管理包括屬性識別和屬性關系計算兩個核心模塊,思路和品類管理較為相似。這里就不在詳細介紹了。
2.2.1.2深度強化學習的探索及嘗試
強化學習是agent從環境到行為的映射學習,目標是獎勵信號(強化信號)函數值最大,由環境提供強化信號評價產生動作的好壞。agent通過不斷的探索外部的環境,來得到一個最優的決策策略,適合于序列決策問題。圖11是一個強化學習的model和環境交互的展示。
圖11:env-model的交互圖
深度強化學習是結合了深度學習的強化學習,主要利用深度學習強大的非線性表達能力,來表示agent面對的state和state上決策邏輯。
目前我們用DRL主要來優化我們的交互策略。因此,我們的設定是,用戶是強化學習中的env,而機器是model。action是本輪是否出主動反問的交互,還是直接出搜索結果。
狀態(state)的設計:
這里狀態的設計主要考慮,用戶的多輪意圖、用戶的人群劃分、以及每一輪交互的產品的信息作為當前的機器感知到的狀態。
state= ( intent1, query1, price1, is_click,query_item_sim, …, power, user_inter, age)
其中intent1表明的是用戶當前的意圖,query1表示的用戶的原始query。price1表示當前展現給用戶的商品的均價,is_click表示本輪交互是否發生點擊,query_item_sim表示query和item的相似度。power表示是用戶的購買力,user_inter表示用戶的興趣, age 表示用戶的年齡。
reward的設計:
由于最終衡量的是用戶的成交和點擊率和對話的輪數。因此reward的設計主要包括下面3個方面:
a) 用戶的點擊的reward設置成1
b) 成交設置成[1 + math.log(price + 1.0) ]
c) 其余的設置成0.1
DRL的方案的選型:
這里具體的方案,主要采用了 DQN, policy-gradient 和 A3C的三種方案。
2.2.2 智能服務:基于知識圖譜構建與檢索模型的技術實踐
智能服務的特點:有領域知識的概念,且知識之間的關聯性高,并且對精準度要求比較高。
基于問答型場景的特點,我們在技術選型上采用了知識圖譜構建+檢索模型相結合的方式來進行核心匹配模型的設計。
知識圖譜的構建我們會從兩個角度來進行抽象,一個是實體維度的挖掘,一個是短句維度進行挖掘,通過在淘寶平臺上積累的大量屬于以及互聯網數據,通過主題模型的方式進行挖掘、標注與清洗,再通過預設定好的關系進行實體之間關系的定義最終形成知識圖譜。基本的挖掘框架流程如下:
圖12:知識圖譜的實體和短語挖掘流程
挖掘構建的知識圖譜示例如圖13:
圖13:具體的知識圖譜的示例
基于知識圖譜的匹配模式具備以下幾個優點:
(1) 在對話結構和流程的設計中支持實體間的上下文會話識別與推理
(2) 通常在一般型問答的準確率相對比較高(當然具備推理型場景的需要特殊的設計,會有些復雜)
同樣也有明顯的缺點:
(1) 模型構建初期可能會存在數據的松散和覆蓋率問題,導致匹配的覆蓋率缺失;
(2) 對于知識圖譜增量維護相比傳統的QA Pair對知識的維護上的成本會更大一些;
因此我們在阿里小蜜的問答型設計中,還是融入了傳統的基于檢索模型的對話匹配。
其在線基本流程分為:
(1) 提問預處理:分詞、指代消解、糾錯等基本文本處理流程;
(2) 檢索召回:通過檢索的方式在候選數據中召回可能的匹配候選數據;
(3) 計算:通過Query結合上下文模型與候選數據進行計算,通過我們采用文本之間的距離計算方式(余弦相似度、編輯距離)以及分類模型相結合的方式進行計算;
(4) 最終根據返回的候選集打分閾值進行最終的產品流程設計;
離線流程分為:
(1) 知識數據的索引化;
(2) 離線文本模型的構建:例如Term-Weight計算等;
檢索模型整體流程如圖14:
圖14:檢索模型的流程圖
2.2.3 智能聊天:基于檢索模型和深度學習模型相結合的聊天應用
智能聊天的特點:非面向目標,語義意圖不明確,通常期待的是語義相關性和漸進性,對準確率要求相對較低。
面向open domain的聊天機器人目前無論在學術界還是在工業界都是一大難題,通常在目前這個階段我們有兩種方式來做對話設計:
一種是學術界非常火爆的Deep Learning生成模型方式,通過Encoder-Decoder模型通過LSTM的方式進行Sequence to Sequence生成,如圖15:
圖15:seq2seq網絡結構圖
GenerationModel(生成模型):
優點:通過深層語義方式進行答案生成,答案不受語料庫規模限制
缺點:模型的可解釋性不強,且難以保證一致性和合理性回答
另外一種方式就是通過傳統的檢索模型的方式來構建語聊的問答匹配。
RetrievalModel(檢索模型):
優點:答案在預設的語料庫中,可控,匹配模型相對簡單,可解釋性強
缺點:在一定程度上缺乏一些語義性,且有固定語料庫的局限性
因此在阿里小蜜的聊天引擎中,我們結合了兩者各自的優勢,將兩個模型進行了融合形成了阿里小蜜聊天引擎的核心。先通過傳統的檢索模型檢索出候選集數據,然后通過Seq2Seq Model對候選集進行Rerank,重排序后超過制定的閾值就進行輸出,不到閾值就通過Seq2Seq Model進行答案生成,整體流程圖16:
圖16:小蜜的閑聊模塊
03 未來技術的發展與展望
目前的人工智能領域任然處在弱人工智能階段,特別是從感知到認知領域需要提升的空間還非常大。智能人機交互在面向目標的領域已經可以與實際工業場景緊密結合并產生巨大價值,隨著人工智能技術的不斷發展,未來智能人機交互領域的發展還將會有不斷的提升,對于未來技術的發展我們值得期待和展望:
1、數據的不斷積累,以及領域知識圖譜的不斷完善與構建將不斷助推智能人機交互的不斷提升;
2、面向任務的垂直細分領域機器人的構建將是之后機器人不斷爆發的增長點,open domain的互動機器人在未來一段時間還需要不斷提升與摸索;
3、隨著分布式計算能力的不斷提升,深度學習在席卷了圖像、語音等領域后,在NLP(自然語言處理)領域將會繼續發展,在對話、QA領域的學術研究將會持續活躍;
在未來隨著學術界和工業界的不斷結合與積累,期待人工智能電影中的場景早日實現,人人都能擁有自己的智能“小蜜”。
參考文獻:
[1] : Huang P S, He X, Gao J, et al. Learningdeep structured semantic models for web search using clickthrough data[C]// ACMInternational Conference on Conference on Information & KnowledgeManagement. ACM, 2013:2333-2338.
[2] Minghui Qiu and Feng-Lin Li. MeChat: A Sequence to Sequence andRerank based Chatbot Engine. ACL 2017
[3] Dzmitry Bahdanau, Kyunghyun Cho, and YoshuaBen- gio. 2015. Neural machine translation by jointly learning to align andtranslate. In Proceedings of ICLR 2015
[4]Matthew Henderson. 2015. Machine learning fordialog state tracking: A review. In Proceedings of The First InternationalWorkshop on Machine Learning in Spoken Language Processing.
[5] Mnih V, Badia A P, Mirza M, et al.Asynchronous Methods for Deep Reinforcement Learning[J]. 2016
[6] Li J, Monroe W, Ritter A, et al. DeepReinforcement Learning for Dialogue Generation[J]. 2016.
[7] Sordoni A, Bengio Y, Nie J Y. Learning concept embeddings for queryexpansion by quantum entropy minimization[C]// Twenty-Eighth AAAI Conference onArtificial Intelligence. AAAI Press, 2014:1586-1592.
下一篇:呼叫中心質檢數據的使用與價值