在全球人工智能領域不斷發展的今天,包括google、facebook、microsoft、amazon、apple等互聯公司相繼推出了自己的智能私人助理和機器人平台。 智能人機互動通過拟人化的互動體驗逐漸在智能客服、任務助理、智能家居、智能硬體、互動聊天等領域發揮巨大的作用和價值。
是以,各大公司都将智能聊天機器人作為未來的入口級别的應用在對待。今天随着市場的進一步發展,聊天機器人按照産品和服務的類型主要可分為:客服,娛樂,助理,教育,服務等類型。
下圖截取了部分聊天機器人。

一些chat-bot的彙總
阿裡小蜜在電商領域的狀況
2015年7月,阿裡推出了自己的智能私人助理-阿裡小蜜,一個圍繞着電子商務領域中的服務、導購以及任務助理為核心的智能人機互動産品。通過電子商務領域與智能人機互動領域的結合,帶來傳統服務行業模式的變化與體驗的提升。
在去年的雙十一期間,阿裡小蜜整體智能服務量達到643萬,其中智能解決率達到95%,智能服務在整個服務量(總服務量=智能服務量+線上人工服務量+電話服務量)占比也達到95%,成為了雙十一期間服務的絕對主力。
電商領域下阿裡小蜜的技術實踐
阿裡小蜜技術的overview
智能人機互動系統,俗稱:chatbot系統或者bot系統。下圖是人機互動的流程圖:
人機互動的流程
核心是nlu(自然語言了解),通過對話系統處理後,最後通過自然語言生成的方式給出答案。一段語言如何了解對于計算機來說是非常有難度的,例如:“蘋果”這個詞就具備至少兩個含義,一個是水果屬性的“蘋果”,還有一個是知名網際網路公司屬性的“蘋果”。
意圖與比對分層的技術架構體系
在阿裡小蜜這樣在電子商務領域的場景中,對接的有客服、助理、聊天幾大類的機器人。這些機器人,由于本身的目标不同,就導緻不能用同一套技術架構來解決。是以,我們先采用分領域分層分場景的方式進行架構抽象,然後再根據不同的分層和分場景采用不同的機器學習方法進行技術設計。首先我們将對話系統從分成兩層:
1、 意圖識别層:識别語言的真實意圖,将意圖進行分類并進行意圖屬性抽取。意圖決定了後續的領域識别流程,是以意圖層是一個結合上下文資料模型與領域資料模型不斷對意圖進行明确和推理的過程;
2、 問答比對層:對問題進行比對識别及生成答案的過程。在阿裡小蜜的對話體系中我們按照業務場景進行了3種典型問題類型的劃分,并且依據3種類型會采用不同的比對流程和方法:
a) 問答型:例如“密碼忘記怎麼辦?”→ 采用基于知識圖譜建構+檢索模型比對方式
b) 任務型:例如“我想訂一張明天從杭州到北京的機票”→ 意圖決策+slots filling的比對以及基于深度強化學習的方式
c) 語聊型:例如“我心情不好”→ 檢索模型與deep learning相結合的方式
下圖表示了阿裡小蜜的意圖和比對分層的技術架構。
基于意圖于比對分層的技術架構
意圖識别介紹:結合使用者行為deep-learning模型的實踐
通常将意圖識别抽象成機器學習中的分類問題,在阿裡小蜜的技術方案中除了傳統的文本特征之外,考慮到本身在對話領域中存在語義意圖不完整的情況,我們也加入了用實時、離線使用者本身的行為及使用者本身相關的特征,通過深度學習方案構模組化型,對使用者意圖進行預測, 具體如圖:
結合使用者行為的深度學習意圖分類
在基于深度學習的分類預測模型上,我們有兩種具體的選型方案:一種是多分類模型,一種是二分類模型。多分類模型的優點是性能快,但是對于需要擴充分類領域是整個模型需要重新訓練;而二分類模型的優點就是擴充領域場景時原來的模型都可以複用,可以平台進行擴充,缺點也很明顯需要不斷的進行二分,整體的性能上不如多分類好,是以在具體的場景和資料量上可以做不同的選型。
小蜜用dl做意圖分類的整體技術思路是将行為因子與文本特征分别進行embedding處理,通過向量疊加之後再進行多分類或者二分類處理。這裡的文本特征次元可以選擇通過傳統的bag of words的方法,也可使用deep learning的方法進行向量化。具體圖:
結合使用者行為的深度學習意圖分類的網絡結構
比對模型的overview:介紹行業3大比對模型
目前主流的智能比對技術分為如下3種方法:
1、 基于模闆比對(rule-based)
2、 基于檢索模型(retrieval model)
3、 基于深度學習模型(deep learning)
在阿裡小蜜的技術場景下,我們采用了基于模闆比對,檢索模型以及深度學習模型為基礎的方法原型來進行分場景(問答型、任務型、語聊型)的會話系統建構。
阿裡小蜜的3大領域場景的技術實踐
智能導購:基于增強學習的智能導購
智能導購主要通過支援和使用者的多輪互動,不斷的了解和明确使用者的意圖。并在此基礎上利用深度強化學習不斷的優化導購的互動過程。下圖展示了智能導購的技術架構圖。
智能導購的架構圖
這裡兩個核心的問題
a):在多輪互動中了解使用者的意圖。
b):根據使用者的意圖結果,優化排序的結果和互動的過程。
下面主要介紹導購意圖了解、以及深度增強學習的互動政策優化。
智能導購的意圖了解和意圖管理:
智能導購下的意圖了解主要是識别使用者想要購買的商品以及商品對應的屬性,相對于傳統的意圖了解,也帶來了幾個新的挑戰。
第一:使用者偏向于短句的表達。是以,識别使用者的意圖,要結合使用者的多輪會話和意圖的邊界。
第二:在多輪互動中使用者會不斷的添加或修改意圖的子意圖,需要維護一份目前識别的意圖集合。
第三:商品意圖之間存在着互斥,相似,上下位等關系。不同的關系對應的意圖管理也不同。
第四:屬性意圖存在着歸類和互斥的問題。
針對短語表達,我們通過品類管理和屬性管理維護了一個意圖堆,進而較好的解決了短語表示,意圖邊界和具體的意圖切換和修改邏輯。同時,針對較大的商品庫問題,我們采用知識圖譜結合語義索引的方式,使得商品的識别變得非常高效。下面我們分别介紹下品類管理 和 屬性管理。
基于知識圖譜和語義索引的品類管理
智能導購場景下的品類管理分為品類識别,以及品類的關系計算。下圖是品類關系的架構圖。
品類管理架構圖
品類識别:
采用了基于知識圖譜的識别方案和基于語義索引及dssm的判别模型。
a):基于商品知識圖譜的識别方案:
基于知識圖譜複雜的結構化能力,做商品的類目識别。是我們商品識别的基礎。
b):基于語義索引及dssm商品識别模型的方案:
知識圖譜的識别方案的優勢是在于準确率高,但是不能覆寫所有的case。是以,我們提出了一種基于語義索引和dssm結合的商品識别方案兜底。
基于語義索引和dssm的商品識别方案
語義索引的構造:
通常語義索引的構造有基于本體的方式,基于lsi的方式。我們用了一種結合搜尋點選資料和詞向量的方式構造的語義索引。主要包括下面幾步:
基于dssm的商品識别:
dssm是微軟提出的一種用于query和doc比對的有監督的深度語義比對網絡,能夠較好的解決詞彙鴻溝的問題,捕捉句子的内在語義。本文以dssm作為基礎,建構了query和候選的類目的相似度計算模型。取得了較好的效果,模型的acc在測試集上有92%左右。
dssm模型的網絡結構圖
樣本的構造:訓練的正樣本是通過搜尋日志中的搜尋query和點選類目構造的。負樣本則是通過利用query和點選的類目作為種子,檢索出來一些相似的類目,将不在正樣本中的類目作為負樣本。正負樣本的比例1:1。
品類關系計算
品類關系的計算主要用于智能導購的意圖管理中,這裡主要考慮的幾種關系是:上下位關系和相似關系。舉個例子,使用者的第一個意圖是要買衣服,當後面的意圖說要買水杯的時候,之前衣服所帶有的屬性就不應該被繼承給水杯。相反,如果這個時候使用者說的是要褲子,由于褲子是衣服的下位詞,則之前在衣服上的屬性就應該被繼承下來。
上下位關系的計算2種方案:
相似性計算的兩種方案:
基于知識圖譜和相似度計算的屬性管理
下圖是屬性管理的架構圖:
屬性管理架構圖
整體上屬性管理包括屬性識别和屬性關系計算兩個核心子產品,思路和品類管理較為相似。這裡就不在詳細介紹了。
深度強化學習的探索及嘗試
強化學習是agent從環境到行為的映射學習,目标是獎勵信号(強化信号)函數值最大,由環境提供強化信号評價産生動作的好壞。agent通過不斷的探索外部的環境,來得到一個最優的決策政策,适合于序列決策問題。圖11是一個強化學習的model和環境互動的展示。
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的三種方案。
智能服務:基于知識圖譜建構與檢索模型的技術實踐
智能服務的特點:有領域知識的概念,且知識之間的關聯性高,并且對精準度要求比較高
基于問答型場景的特點,我們在技術選型上采用了知識圖譜建構+檢索模型相結合的方式來進行核心比對模型的設計。
知識圖譜的建構我們會從兩個角度來進行抽象,一個是實體次元的挖掘,一個是短句次元進行挖掘,通過在淘寶平台上積累的大量屬于以及網際網路資料,通過主題模型的方式進行挖掘、标注與清洗,再通過預設定好的關系進行實體之間關系的定義最終形成知識圖譜。基本的挖掘架構流程如下:
知識圖譜的實體和短語挖掘流程
挖掘建構的知識圖譜示例如圖:
具體的知識圖譜的示例
基于知識圖譜的比對模式具備以下幾個優點:
(1).在對話結構和流程的設計中支援實體間的上下文會話識别與推理
(2).通常在一般型問答的準确率相對比較高(當然具備推理型場景的需要特殊的設計,會有些複雜)
同樣也有明顯的缺點:
(1).模型建構初期可能會存在資料的松散和覆寫率問題,導緻比對的覆寫率缺失;
(2).對于知識圖譜增量維護相比傳統的qa pair對知識的維護上的成本會更大一些;
是以我們在阿裡小蜜的問答型設計中,還是融入了傳統的基于檢索模型的對話比對。
其線上基本流程分為:
(1).提問預處理:分詞、指代消解、糾錯等基本文本處理流程;
(2).檢索召回:通過檢索的方式在候選資料中召回可能的比對候選資料;
(3).計算:通過query結合上下文模型與候選資料進行計算,通過我們采用文本之間的距離計算方式(餘弦相似度、編輯距離)以及分類模型相結合的方式進行計算;
(4).最終根據傳回的候選集打分門檻值進行最終的産品流程設計;
離線流程分為:
(1).知識資料的索引化;
(2).離線文本模型的建構:例如term-weight計算等;
檢索模型整體流程如圖:
檢索模型的流程圖
智能聊天:基于檢索模型和深度學習模型相結合的聊天應用
智能聊天的特點:非面向目标,語義意圖不明确,通常期待的是語義相關性和漸進性,對準确率要求相對較低
面向open domain的聊天機器人目前無論在學術界還是在工業界都是一大難題,通常在目前這個階段我們有兩種方式來做對話設計:
一種是學術界非常火爆的deep learning生成模型方式,通過encoder-decoder模型通過lstm的方式進行sequence to sequence生成,如圖:
seq2seq網絡結構圖
generation model(生成模型):
優點:通過深層語義方式進行答案生成,答案不受語料庫規模限制
缺點:模型的可解釋性不強,且難以保證一緻性和合理性回答
另外一種方式就是通過傳統的檢索模型的方式來建構語聊的問答比對。
retrieval model(檢索模型):
優點:答案在預設的語料庫中,可控,比對模型相對簡單,可解釋性強
缺點:在一定程度上缺乏一些語義性,且有固定語料庫的局限性
是以在阿裡小蜜的聊天引擎中,我們結合了兩者各自的優勢,将兩個模型進行了融合形成了阿裡小蜜聊天引擎的核心。先通過傳統的檢索模型檢索出候選集資料,然後通過seq2seq model對候選集進行rerank,重排序後超過制定的門檻值就進行輸出,不到門檻值就通過seq2seq model進行答案生成,整體流程圖如下:
小蜜的閑聊子產品
未來技術的展望
目前的人工智能領域任然處在弱人工智能階段,特别是從感覺到認知領域需要提升的空間還非常大。智能人機互動在面向目标的領域已經可以與實際工業場景緊密結合并産生巨大價值,随着人工智能技術的不斷發展,未來智能人機互動領域的發展還将會有不斷的提升,對于未來技術的發展我們值得期待和展望:
1、 資料的不斷積累,以及領域知識圖譜的不斷完善與建構将不斷助推智能人機互動的不斷提升;
2、 面向任務的垂直細分領域機器人的建構将是之後機器人不斷爆發的增長點,open domain的互動機器人在未來一段時間還需要不斷提升與摸索;
3、 随着分布式計算能力的不斷提升,深度學習在席卷了圖像、語音等領域後,在nlp(自然語言處理)領域将會繼續發展,在對話、qa領域的學術研究将會持續活躍;
在未來随着學術界和工業界的不斷結合與積累,期待人工智能電影中的場景早日實作,人人都能擁有自己的智能“小蜜”。
<a href="https://mp.weixin.qq.com/s/lmhwo9mudv7zmi7arnmtsw">原文連結</a>