閱讀336 返回首頁    go 技術社區[雲棲]


拆開阿裏小蜜的內核,看智能人機交互的實現邏輯

在全球人工智能領域不斷發展的今天,包括Google、Facebook、Microsoft、Amazon、Apple等互聯公司相繼推出了自己的智能私人助理和機器人平台。 智能人機交互通過擬人化的交互體驗逐步在智能客服、任務助理、智能家居、智能硬件、互動聊天等領域發揮巨大的作用和價值。

因此,各大公司都將智能聊天機器人作為未來的入口級別的應用在對待。今天隨著市場的進一步發展,聊天機器人按照產品和服務的類型主要可分為:客服,娛樂,助理,教育,服務等類型。

下圖截取了部分聊天機器人。

image
一些chat-bot的匯總




2015年7月,阿裏推出了自己的智能私人助理-阿裏小蜜,一個圍繞著電子商務領域中的服務、導購以及任務助理為核心的智能人機交互產品。通過電子商務領域與智能人機交互領域的結合,帶來傳統服務行業模式的變化與體驗的提升。

在去年的雙十一期間,阿裏小蜜整體智能服務量達到643萬,其中智能解決率達到95%,智能服務在整個服務量(總服務量=智能服務量+在線人工服務量+電話服務量)占比也達到95%,成為了雙十一期間服務的絕對主力。




阿裏小蜜技術的overview

智能人機交互係統,俗稱:chatbot係統或者bot係統。下圖是人機交互的流程圖:

image
人機交互的流程

核心是NLU(自然語言理解),通過對話係統處理後,最後通過自然語言生成的方式給出答案。一段語言如何理解對於計算機來說是非常有難度的,例如:“蘋果”這個詞就具備至少兩個含義,一個是水果屬性的“蘋果”,還有一個是知名互聯網公司屬性的“蘋果”。

意圖與匹配分層的技術架構體係

在阿裏小蜜這樣在電子商務領域的場景中,對接的有客服、助理、聊天幾大類的機器人。這些機器人,由於本身的目標不同,就導致不能用同一套技術框架來解決。因此,我們先采用分領域分層分場景的方式進行架構抽象,然後再根據不同的分層和分場景采用不同的機器學習方法進行技術設計。首先我們將對話係統從分成兩層:

1、 意圖識別層:識別語言的真實意圖,將意圖進行分類並進行意圖屬性抽取。意圖決定了後續的領域識別流程,因此意圖層是一個結合上下文數據模型與領域數據模型不斷對意圖進行明確和推理的過程;

2、 問答匹配層:對問題進行匹配識別及生成答案的過程。在阿裏小蜜的對話體係中我們按照業務場景進行了3種典型問題類型的劃分,並且依據3種類型會采用不同的匹配流程和方法:

a) 問答型:例如“密碼忘記怎麼辦?”→ 采用基於知識圖譜構建+檢索模型匹配方式
b) 任務型:例如“我想訂一張明天從杭州到北京的機票”→ 意圖決策+slots filling的匹配以及基於深度強化學習的方式
c) 語聊型:例如“我心情不好”→ 檢索模型與Deep Learning相結合的方式

下圖表示了阿裏小蜜的意圖和匹配分層的技術架構。

image
基於意圖於匹配分層的技術架構

意圖識別介紹:結合用戶行為deep-learning模型的實踐

通常將意圖識別抽象成機器學習中的分類問題,在阿裏小蜜的技術方案中除了傳統的文本特征之外,考慮到本身在對話領域中存在語義意圖不完整的情況,我們也加入了用實時、離線用戶本身的行為及用戶本身相關的特征,通過深度學習方案構建模型,對用戶意圖進行預測, 具體如圖:

image
結合用戶行為的深度學習意圖分類

在基於深度學習的分類預測模型上,我們有兩種具體的選型方案:一種是多分類模型,一種是二分類模型。多分類模型的優點是性能快,但是對於需要擴展分類領域是整個模型需要重新訓練;而二分類模型的優點就是擴展領域場景時原來的模型都可以複用,可以平台進行擴展,缺點也很明顯需要不斷的進行二分,整體的性能上不如多分類好,因此在具體的場景和數據量上可以做不同的選型。

小蜜用DL做意圖分類的整體技術思路是將行為因子與文本特征分別進行Embedding處理,通過向量疊加之後再進行多分類或者二分類處理。這裏的文本特征維度可以選擇通過傳統的bag of words的方法,也可使用Deep Learning的方法進行向量化。具體圖:

image
結合用戶行為的深度學習意圖分類的網絡結構

匹配模型的overview:介紹行業3大匹配模型

目前主流的智能匹配技術分為如下3種方法:
1、 基於模板匹配(Rule-Based)
2、 基於檢索模型(Retrieval Model)
3、 基於深度學習模型(Deep Learning)

在阿裏小蜜的技術場景下,我們采用了基於模板匹配,檢索模型以及深度學習模型為基礎的方法原型來進行分場景(問答型、任務型、語聊型)的會話係統構建。




智能導購:基於增強學習的智能導購

智能導購主要通過支持和用戶的多輪交互,不斷的理解和明確用戶的意圖。並在此基礎上利用深度強化學習不斷的優化導購的交互過程。下圖展示了智能導購的技術架構圖。

image
智能導購的架構圖

這裏兩個核心的問題
a):在多輪交互中理解用戶的意圖。
b):根據用戶的意圖結果,優化排序的結果和交互的過程。

下麵主要介紹導購意圖理解、以及深度增強學習的交互策略優化。

智能導購的意圖理解和意圖管理:

智能導購下的意圖理解主要是識別用戶想要購買的商品以及商品對應的屬性,相對於傳統的意圖理解,也帶來了幾個新的挑戰。
第一:用戶偏向於短句的表達。因此,識別用戶的意圖,要結合用戶的多輪會話和意圖的邊界。
第二:在多輪交互中用戶會不斷的添加或修改意圖的子意圖,需要維護一份當前識別的意圖集合。
第三:商品意圖之間存在著互斥,相似,上下位等關係。不同的關係對應的意圖管理也不同。
第四:屬性意圖存在著歸類和互斥的問題。

針對短語表達,我們通過品類管理和屬性管理維護了一個意圖堆,從而較好的解決了短語表示,意圖邊界和具體的意圖切換和修改邏輯。同時,針對較大的商品庫問題,我們采用知識圖譜結合語義索引的方式,使得商品的識別變得非常高效。下麵我們分別介紹下品類管理 和 屬性管理。

基於知識圖譜和語義索引的品類管理

智能導購場景下的品類管理分為品類識別,以及品類的關係計算。下圖是品類關係的架構圖。

image
品類管理架構圖

品類識別:

采用了基於知識圖譜的識別方案和基於語義索引及dssm的判別模型。

a):基於商品知識圖譜的識別方案:
基於知識圖譜複雜的結構化能力,做商品的類目識別。是我們商品識別的基礎。
b):基於語義索引及dssm商品識別模型的方案:
知識圖譜的識別方案的優勢是在於準確率高,但是不能覆蓋所有的case。因此,我們提出了一種基於語義索引和dssm結合的商品識別方案兜底。

image
基於語義索引和dssm的商品識別方案

語義索引的構造:

通常語義索引的構造有基於本體的方式,基於LSI的方式。我們用了一種結合搜索點擊數據和詞向量的方式構造的語義索引。主要包括下麵幾步:
第一步:利用搜索點擊行為,提取分詞到類目的候選。
第二步:基於詞向量,計算分詞和候選類目的相似性,對索引重排序。

基於dssm的商品識別:

dssm是微軟提出的一種用於query和doc匹配的有監督的深度語義匹配網絡,能夠較好的解決詞匯鴻溝的問題,捕捉句子的內在語義。本文以dssm作為基礎,構建了query和候選的類目的相似度計算模型。取得了較好的效果,模型的acc在測試集上有92%左右。

image
dssm模型的網絡結構圖

樣本的構造:訓練的正樣本是通過搜索日誌中的搜索query和點擊類目構造的。負樣本則是通過利用query和點擊的類目作為種子,檢索出來一些相似的類目,將不在正樣本中的類目作為負樣本。正負樣本的比例1:1。

品類關係計算

品類關係的計算主要用於智能導購的意圖管理中,這裏主要考慮的幾種關係是:上下位關係和相似關係。舉個例子,用戶的第一個意圖是要買衣服,當後麵的意圖說要買水杯的時候,之前衣服所帶有的屬性就不應該被繼承給水杯。相反,如果這個時候用戶說的是要褲子,由於褲子是衣服的下位詞,則之前在衣服上的屬性就應該被繼承下來。
上下位關係的計算2種方案:
a):采用基於知識圖譜的關係運算。
b):通過用戶的搜索query的提取。
相似性計算的兩種方案:
a):基於相同的上位詞。比方說小米,華為的上位詞都是手機,則他們相似。
b):基於fast-text的品類詞的embedding的語義相似度。

基於知識圖譜和相似度計算的屬性管理

下圖是屬性管理的架構圖:

image
屬性管理架構圖

整體上屬性管理包括屬性識別和屬性關係計算兩個核心模塊,思路和品類管理較為相似。這裏就不在詳細介紹了。

深度強化學習的探索及嚐試

強化學習是agent從環境到行為的映射學習,目標是獎勵信號(強化信號)函數值最大,由環境提供強化信號評價產生動作的好壞。agent通過不斷的探索外部的環境,來得到一個最優的決策策略,適合於序列決策問題。圖11是一個強化學習的model和環境交互的展示。

image
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的三種方案。

智能服務:基於知識圖譜構建與檢索模型的技術實踐

智能服務的特點:有領域知識的概念,且知識之間的關聯性高,並且對精準度要求比較高
基於問答型場景的特點,我們在技術選型上采用了知識圖譜構建+檢索模型相結合的方式來進行核心匹配模型的設計。

知識圖譜的構建我們會從兩個角度來進行抽象,一個是實體維度的挖掘,一個是短句維度進行挖掘,通過在淘寶平台上積累的大量屬於以及互聯網數據,通過主題模型的方式進行挖掘、標注與清洗,再通過預設定好的關係進行實體之間關係的定義最終形成知識圖譜。基本的挖掘框架流程如下:

image
知識圖譜的實體和短語挖掘流程

挖掘構建的知識圖譜示例如圖:

image
具體的知識圖譜的示例

基於知識圖譜的匹配模式具備以下幾個優點:
(1).在對話結構和流程的設計中支持實體間的上下文會話識別與推理
(2).通常在一般型問答的準確率相對比較高(當然具備推理型場景的需要特殊的設計,會有些複雜)
同樣也有明顯的缺點:
(1).模型構建初期可能會存在數據的鬆散和覆蓋率問題,導致匹配的覆蓋率缺失;
(2).對於知識圖譜增量維護相比傳統的QA Pair對知識的維護上的成本會更大一些;
因此我們在阿裏小蜜的問答型設計中,還是融入了傳統的基於檢索模型的對話匹配。

其在線基本流程分為:
(1).提問預處理:分詞、指代消解、糾錯等基本文本處理流程;
(2).檢索召回:通過檢索的方式在候選數據中召回可能的匹配候選數據;
(3).計算:通過Query結合上下文模型與候選數據進行計算,通過我們采用文本之間的距離計算方式(餘弦相似度、編輯距離)以及分類模型相結合的方式進行計算;
(4).最終根據返回的候選集打分閾值進行最終的產品流程設計;
離線流程分為:
(1).知識數據的索引化;
(2).離線文本模型的構建:例如Term-Weight計算等;

檢索模型整體流程如圖:

image
檢索模型的流程圖




智能聊天的特點:非麵向目標,語義意圖不明確,通常期待的是語義相關性和漸進性,對準確率要求相對較低

麵向open domain的聊天機器人目前無論在學術界還是在工業界都是一大難題,通常在目前這個階段我們有兩種方式來做對話設計:

一種是學術界非常火爆的Deep Learning生成模型方式,通過Encoder-Decoder模型通過LSTM的方式進行Sequence to Sequence生成,如圖:

image
seq2seq網絡結構圖

Generation Model(生成模型):
優點:通過深層語義方式進行答案生成,答案不受語料庫規模限製
缺點:模型的可解釋性不強,且難以保證一致性和合理性回答
另外一種方式就是通過傳統的檢索模型的方式來構建語聊的問答匹配。

Retrieval Model(檢索模型):
優點:答案在預設的語料庫中,可控,匹配模型相對簡單,可解釋性強
缺點:在一定程度上缺乏一些語義性,且有固定語料庫的局限性

因此在阿裏小蜜的聊天引擎中,我們結合了兩者各自的優勢,將兩個模型進行了融合形成了阿裏小蜜聊天引擎的核心。先通過傳統的檢索模型檢索出候選集數據,然後通過Seq2Seq Model對候選集進行Rerank,重排序後超過製定的閾值就進行輸出,不到閾值就通過Seq2Seq Model進行答案生成,整體流程圖如下:

image
小蜜的閑聊模塊




目前的人工智能領域任然處在弱人工智能階段,特別是從感知到認知領域需要提升的空間還非常大。智能人機交互在麵向目標的領域已經可以與實際工業場景緊密結合並產生巨大價值,隨著人工智能技術的不斷發展,未來智能人機交互領域的發展還將會有不斷的提升,對於未來技術的發展我們值得期待和展望:

1、 數據的不斷積累,以及領域知識圖譜的不斷完善與構建將不斷助推智能人機交互的不斷提升;
2、 麵向任務的垂直細分領域機器人的構建將是之後機器人不斷爆發的增長點,open domain的互動機器人在未來一段時間還需要不斷提升與摸索;
3、 隨著分布式計算能力的不斷提升,深度學習在席卷了圖像、語音等領域後,在NLP(自然語言處理)領域將會繼續發展,在對話、QA領域的學術研究將會持續活躍;

在未來隨著學術界和工業界的不斷結合與積累,期待人工智能電影中的場景早日實現,人人都能擁有自己的智能“小蜜”。

原文鏈接

最後更新:2017-06-19 11:32:02

  上一篇:go  流著碼農的血,為突破理論極限值而生 | 阿裏中間件性能挑戰賽內部賽全記錄
  下一篇:go  數加:從數據工程師到CDO的七次升職路