天天看點

史上最全!阿裡智能人機互動的核心技術解析

史上最全!阿裡智能人機互動的核心技術解析

“連接配接“本身不是目的,它隻是為“互動”建立了通道。在人機互動(Human-Computer Interaction)中,人通過輸入裝置給機器輸入相關信号,這些信号包括語音、文本、圖像、觸控等中的一種模态或多種模态,機器通過輸出或顯示裝置給人提供相關回報信号。“連接配接”為“互動”雙方架起了橋梁。

“互動”的演進方向是更加自然、高效、友好和智能。對人來說,采用自然語言與機器進行智能對話互動是最自然的互動方式之一,但這條路上充滿了各種挑戰。如何讓機器了解人類複雜的自然語言?如何對使用者的提問給出精準的答案而不是一堆候選?如何更加友好地與使用者閑聊而不是答非所問?如何管理複雜的多輪對話狀态和對話上下文?在阿裡巴巴,我們從2014年初開始對智能對話互動進行探索和實踐創新,研發成果逐漸大規模應用在了智能客服(針對阿裡巴巴生态内部企業的阿裡小蜜、針對阿裡零售平台上的千萬商家的店小蜜,以及針對阿裡之外企業及政府的雲小蜜等)和各種裝置(如YunOS手機、天貓魔盒、網際網路汽車等)上。

本文将對阿裡巴巴在智能對話互動技術上的實踐和創新進行系統的介紹。首先簡要介紹智能對話互動架構和主要任務;接下來詳細介紹自然語言了解、智能問答、智能聊天和對話管理等核心技術;然後介紹阿裡巴巴的智能對話互動産品;最後是總結和思考。強烈建議收藏細看!

本文作者:孫健,李永彬,陳海青,邱明輝

1 智能對話互動架構

典型的智能對話互動架構如圖1所示。其中,語音識别子產品和文本轉語音子產品為可選子產品,比如在某些場景下使用者用文本輸入,系統也用文本回複。自然語言了解和對話管理是其中的核心子產品,廣義的自然語言了解子產品包括對任務類、問答類和閑聊類使用者輸入的了解,但在深度學習興起後,大量端到端(End-to-End)的方法湧現出來,問答和聊天的很多模型都是端到端訓練和部署的,是以本文中的自然語言了解狹義的單指任務類使用者輸入的語義了解。在圖2所示的智能對話互動核心功能子產品中,自然語言了解和對話管理之外,智能問答用來完成問答類任務,智能聊天用來完成閑聊類任務。在對外輸出層,我們提供了SaaS平台、PaaS平台和BotFramework三種方式,其中Bot Framework為使用者提供了定制智能助理的平台。

史上最全!阿裡智能人機互動的核心技術解析

圖1 智能對話互動架構

2 智能對話互動核心技術

智能對話互動中的核心功能子產品如圖2所示,本部分詳細介紹智能對話互動中除輸出層外的自然語言了解、智能問答、智能聊天和對話管理四個核心子產品。

史上最全!阿裡智能人機互動的核心技術解析

圖2 智能對話互動中的核心功能子產品

2.1自然語言了解

自然語言了解是人工智能的AI-Hard問題[1],也是目前智能對話互動的核心難題。機器要了解自然語言,主要面臨如下的5個挑戰。

(1)語言的多樣性

(2)語言的多義性

(3)語言的表達錯誤

(4)語言的知識依賴

(5)語言的上下文表1 上下文示例

史上最全!阿裡智能人機互動的核心技術解析

注:U指使用者(user),A指智能體(agent)。下同。

整個自然語言了解圍繞着如何解決以上難點問題展開。  

2.1.1自然語言了解語義表示

自然語言了解的語義表示主要有三種方式[2]。

(1)分布語義表示(Distributional semantics)

(2)架構語義表示(Frame semantics)

(3)模型論語義表示(Model-theoretic semantics)

在智能對話互動中,自然語言了解一般采用的是framesemantics表示的一種變形,即采用領域(domain)、意圖(intent)和屬性槽(slots)來表示語義結果,如圖3所示。

史上最全!阿裡智能人機互動的核心技術解析

圖3domain ongology示意圖

在定義了上述的domain ontology結構後,整個算法流程如圖4所示。

史上最全!阿裡智能人機互動的核心技術解析

圖4 自然語言了解流程簡圖

2.1.2意圖分類

意圖分類是一種文本分類,主要分為基于規則的方法、基于傳統機器學習的方法和基于深度學習的方法,如CNN [3]、LSTM [4]、RCNN [5]、C-LSTM [6]及FastText[7]等。針對CNN、LSTM、RCNN、C-LSTM四種典型的模型架構,我們在14個領域的資料集上進行訓練,在4萬左右規模的測試集上進行測試,采用Micro F1作為度量名額(注:此處的訓練和測試中,神經網絡的輸入隻包含word embedding,沒有融合符号表示),結果如圖5所示,其中Yoon Kim在2014年提出的基于CNN[3]的分類算法效果最好。

史上最全!阿裡智能人機互動的核心技術解析

圖5 四種模型的分類效果對比

單純以word vector為輸入的CNN分類效果,在某些領域上無法超越複雜特征工程的SVM分類器。如何進一步提升深度學習的效果,其中一個探索方向就是試圖把分布式表示和符号表示進行融合。比如對于“劉德華的忘情水”這句話,通過知識庫可以标注劉德華為singer、忘情水為song,期望能把singer和song這樣的符号表示融入到網絡中去。具體融合方法,既可以把符号标簽進行embedding,然後把embedding後的vector拼接到wordvector後進行分類,也可以直接用multi-hot的方式拼接到word vector後面。分布式表示和符号表示融合後的CNN結構如圖6所示。

史上最全!阿裡智能人機互動的核心技術解析

圖6 分布式表示和符号表示融合後的CNN分類網絡結構

經過融合後,在14個領域約4萬條測試資料集上,對比融合前後的F1值(如圖7所示),從中可以看出,像餐廳、酒店、音樂等命名實體多且命名形式自由的領域,效果提升非常明顯。

史上最全!阿裡智能人機互動的核心技術解析

圖7 在CNN中分布式表示融合符号表示前後效果對比

在以詞為輸入機關的CNN中,經常會遇到OOV(Out-Of-Vocabulary)問題,一般情況下會使用一個特殊向量(比如固定的随機向量或者已知詞向量的平均值)來表示所有的OOV,這樣做的效果肯定不夠好。在我們的實作中,引入了FastText [8]來訓練word vector,對于OOV,可以用其subword向量計算得到,有效地解決了OOV的問題。

在效果優化方面,除了本文中所述的word vector的動态訓練和dropout之外,通過對訓練資料進行資料增強(data augmentation),效果會有較大的提升。

2.1.3屬性抽取

屬性抽取問題可以抽象為一個序列标注問題,可以以字為機關進行序列标注,也可以以詞為機關進行序列标注,如圖8所示為以詞為機關進行序列标注的示例。在這個例子中包含departure、destination和time三個待标注标簽;B表示一個待标注标簽的起始詞;I表示一個待标注标簽的非起始詞,O表示非待标注标簽詞。

史上最全!阿裡智能人機互動的核心技術解析

圖8 序列标注示例

屬性抽取的方法,包括基于規則的方法,基于傳統統計模型的方法,經典的如CRF[9],以及基于深度學習模型的方法。2014年,在ARTIS資料集上,RNN[10]模型的效果超過了CRF。此後,R-CRF [11]、LSTM[12]、Bi-RNN[13]、 Bi-LSTM-CRF[14]等各種模型陸續出來。

在屬性抽取這個任務中,我們采用了如圖9的網絡結構,該結構具有以下優點。

史上最全!阿裡智能人機互動的核心技術解析

圖9 屬性抽取網絡結構

(1)輸入層

在輸入層,我們做了三部分工作:① 采用了分布式表示(word vector)和符号表示(symbol vector)融合的方式,有效利用了分布式的上下文學習能力和符号的抽象知識表示能力;②采用了局部上下文視窗(local context window),将視窗内的詞的表示拼接在一起送入一個非線性映射層,非線性映射具有特征學習和特征降維的作用;③采用了FastText [8]進行word embedding的學習,可以有效解決OOV(Out-Of-Vocabulary)的問題。

(2)Bi-LSTM層

在中間的隐藏層,采用Bi-LSTM進行特征學習,既能捕捉上文特征,也能捕捉下文特征。

(3)輸出層

在輸出層有幾種典型的做法,比如Bi-LSTM+Softmax、Bi-LSTM+CRF等,Bi-LSTM+Softmax是把屬性抽取在輸出層當成了一個分類問題,得到的标注結果是局部最優,Bi-LSTM+CRF在輸出層會綜合句子層面的資訊得到全局最優結果。

2.1.4意圖排序

在表1中,我們展示了一個例子,如果不看上下文,無法确定“後天呢”的意圖。為了解決這個問題,在系統中我們設計了意圖排序子產品,其流程如圖10所示。對于使用者輸入的utterance,一方面先利用分類抽取模型去判定意圖并做抽取;另一方面,直接繼承上文的意圖,然後根據這個意圖做屬性抽取。這兩個結果通過特征抽取後一起送入一個LR分類器,以判定目前utterance是應該繼承上文的意圖,還是遵循分類器分類的意圖。如果是繼承上文意圖,那麼可以把這個意圖及其屬性抽取結果作為最終結果輸出;如果是遵循分類器分類的結果,那麼可以把各個結果按照分類器分類的置信度排序輸出。

史上最全!阿裡智能人機互動的核心技術解析

圖10 基于上下文的意圖延續判定

2.2智能問答

在具體的業務場景中有三種典型的問答任務,一是使用者提供QA-Pairs,一問一答;二是建立結構化的知識圖譜,進行基于知識圖譜的問答;三是針對非結構化的文本,進行基于閱讀了解的問答。本文重點介紹我們在閱讀了解方面做的工作,比如利用閱讀了解解決淘寶活動規則的問答。

在閱讀了解的方法上,目前針對斯坦福大學的資料集SquAD,有大量優秀的方法不斷湧現,比如match-LSTM [15]、BiDAF [16]、DCN [17]、 FastQA [18]等。文獻[18]給出了目前的通用架構,如圖11所示,主要分為4層:① Word Embedder,對問題和文檔中的詞進行embedding;② Encoder,對問題和文檔進行編碼,一般采用RNN/LSTM/BiLSTM;③ Interaction Layer(互動層),在問題和文檔之間逐詞進行互動,這是目前研究的熱點,主流方法是采用注意力機制(attention);④ Answer Layer(答案層),預測答案的起始位置和結束位置。

史上最全!阿裡智能人機互動的核心技術解析

圖11 閱讀了解的通用架構

我們在具體實作中,參考BiDAF [16]網絡結構,在此基礎上做了大量優化。

(1)模型的業務優化

需要改進模型的結構設計,使得模型可以支援電商文檔格式的輸入。電商規則文檔往往包含大量的文檔結構,如大小标題和文檔的層級結構等,将這些特定的篇章結構資訊一起編碼輸入到網絡中,将大幅提升訓練的效果。

(2)模型的簡化

學術文獻中的模型一般都較為複雜,而工業界場景中由于對性能的要求,無法将這些模型直接線上上使用,需要做一些針對性的簡化,使得模型效果下降可控的情況下,盡可能提升線上預測性能,例如可以簡化模型中的各種bi-lstm結構。

(3)多種模型的融合

目前這些模型都是純粹的end-to-end模型,其預測的可控性和可解釋性較低,要适用于業務場景的話,需要考慮将深度學習模型與傳統模型進行融合,達到智能程度和可控性的最佳平衡點。

2.3智能聊天

面向open domain的聊天機器人目前無論在學術界還是在工業界都是一大難題,目前有兩種典型的方法:一是基于檢索的模型,比如文獻[19-20],其基本思路是利用搜尋引擎通過計算相關性來給出答案;二是基于Seq2Seq的生成式模型,典型的方法如文獻[21-22],其網絡結構如圖12所示。 

史上最全!阿裡智能人機互動的核心技術解析

圖12 Seq2Seq典型網絡結構

檢索模型的優點是答案在預設的語料庫中,可控,比對模型相對簡單,可解釋性強;缺點是在一定程度上缺乏對語義的了解,且有固定語料庫的局限性,長尾問題覆寫率較差。生成模型的優點是通過深層語義方式進行答案生成,答案不受語料庫規模限制;缺點是模型的可解釋性不強,且難以保證回答一緻性和合理性。

在我們的聊天引擎中,結合檢索模型和生成模型各自的優勢,提出了一種新的模型AliMe Chat [23],基本流程如圖13所示。首先采用檢索模型從QA知識庫中找出候選答案集合;然後利用帶注意力的Seq2Seq模型對候選答案進行排序,如果第一候選的得分超過某個門檻值,則作為最終答案輸出,否則利用生成模型生成答案。其中帶注意力的Seq2Seq模型結構如圖14所示。經過訓練後,主要做了如下測試:如圖15所示,利用600個問題的測試集,測試了檢索(IR)、生成(Generation)、檢索+重排序(Rerank)及檢索+重排序+生成(IR+Rerank+Generation)四種方法的效果,可以看到在門檻值為0.19時,IR+Rerank+Generation的方法效果最好。

史上最全!阿裡智能人機互動的核心技術解析

圖13AliMe Chat流程圖

史上最全!阿裡智能人機互動的核心技術解析

圖14 帶注意力的Seq2Seq網絡結構示例

史上最全!阿裡智能人機互動的核心技術解析

圖15 IR、Generation、Rerank、IR+Rerank+Generation效果對比

此模型在阿裡小蜜中上線後,示例如圖16所示。在阿裡小蜜中,針對之前的IR模型和AliMe Chat模型,利用線上流量做了A/B Test,結果如圖17所示。從使用者日志中随機選擇2 136條資料,其中1 089是采用IR模型回答,另外1 047是采用AliMe Chat回答,AliMe Chat Top1答案的準确率(accuracy)是60.36%,遠遠好于IR的40.86%。

史上最全!阿裡智能人機互動的核心技術解析

圖16AliMe Chat在阿裡小蜜中上線後的聊天示例

史上最全!阿裡智能人機互動的核心技術解析

圖17 阿裡小蜜中IR方法與AliMe Chat方法A/BTest結果

2.4對話管理

對話管理根據語言了解的結構化語義表示結果以及上下文,來管理整個對話的狀态,并決定下一步采取什麼樣的動作。

下面來看一個簡單的對話例子。

U:我要去杭州,幫我訂一張火車票

A:請問你什麼時間出發?

U:明天上午

A:為你找到了以下火車票:

U:我要第二個

A:第二個是……,您是否要購買?

U:我要購買

對話互動分成兩個階段,第一階段,通過多輪對話互動,把使用者的需求收集完整,得到結構化的資訊(出發地、目的地、時間等);第二階段就是請求服務,接着還要去做選擇、确定、支付、購買等後面一系列的步驟。

傳統的人機對話,包括現在市面上常見的人機對話,一般都是隻在做第一階段的對話,第二階段的對話做得不多。對此,我們設計了一套對話管理體系,如圖18所示,這套對話管理體系具有以三個特點。

第一,設計了一套面向Task Flow的對話描述語言。該描述語言能夠把整個對話任務流完整地表達出來,這個任務流就是類似于程式設計的流程圖。對話描述語言帶來的好處是它能夠讓對話引擎和業務邏輯實作分離,分離之後業務方可以開發腳本語言,不需要修改背後的引擎。

第二,由于有了Task Flow的機制,我們在對話引擎方帶來的收益是能夠實作對話的中斷和傳回機制。在人機對話當中有兩類中斷,一類是使用者主動選擇到另外一個意圖,更多是由于機器沒有了解使用者話的意思,導緻這個意圖跳走了。由于我們維護了對話完整的任務流,知道目前這個對話處在一個什麼狀态,是在中間狀态還是成功結束了,如果在中間狀态,我們有機會讓它回來,剛才講過的話不需要從頭講,可以接着對話。

第三,設計了對話面向開發者的方案,稱之為OpenDialog,背後有一個語言了解引擎和一個對話引擎。面向開發者的語言了解引擎是基于規則辦法,能夠比較好地解決冷啟動的問題,開發者隻需要寫語言了解的Grammar,基于對話描述語言開發一個對話過程,并且還有對資料的處理操作。這樣,一個基本的人機對話就可以完成了。

史上最全!阿裡智能人機互動的核心技術解析

圖18 對話管理架構圖

3、阿裡巴巴智能對話互動産品

3.1智能服務——小蜜家族

2015年7月,阿裡巴巴推出了自己的智能服務助理-阿裡小蜜,一個圍繞着電子商務領域中的服務、導購,以及任務助理為核心的智能對話互動産品。通過電子商務領域與智能對話互動領域的結合,帶來傳統服務行業模式的變革與體驗的提升。在2016年的雙“十一”期間,阿裡小蜜整體智能服務量達到643萬,其中智能解決率達到95%,智能服務在整個服務量(總服務量=智能服務量+線上人工服務量+電話服務量)占比也達到95%,成為了雙“十一”期間服務的絕對主力。阿裡小蜜主要服務阿裡國内業務和阿裡國際化業務,國内業務如淘寶、天貓、飛豬、健康、閑魚、菜鳥等,國際化業務如Lazada、PayTM、AE等。

随着阿裡小蜜的成功,将智能服務能力賦能給阿裡生态圈商家及阿裡生态之外的企業和政府部門,便成了必然的路徑。店小蜜主要賦能阿裡生态中的商家,雲小蜜則面向阿裡之外的大中小企業、政府等。整個小蜜家族如圖19所示。

史上最全!阿裡智能人機互動的核心技術解析

圖19 小蜜家族

3.2 智能裝置

過去3~4年,我們可以看到,連接配接網際網路的裝置發生了很大變化,裝置已經從PC和智能手機延伸到更廣泛的智能裝置,比如智能音箱、智能電視、機器人、智能汽車等裝置。智能裝置的快速發展正在改變着人和裝置之間的互動方式。

我們研發的智能對話互動平台為各種裝置提供對話互動能力,目前在YunOS手機、天貓魔盒、網際網路汽車等裝置上已經大量應用。比如在天貓魔盒中,使用者通過對話互動可以完成搜視訊、查音樂、問天氣等,可以進行閑聊,還可以進行購物。

4 總結與思考

過去幾年中,結合阿裡巴巴在電商、客服、智能裝置方面的剛性需求和場景,我們在智能對話互動上做了大量的探索和嘗試,建構了一套相對完整的資料、算法、線上服務、離線資料閉環的技術體系,并在智能服務和智能裝置上得到了大規模的應用,簡單總結如下。

(1)  自然語言了解方面,通過CNN/Bi-LSTM-CRF等深度學習模型、分布式表示和符号表示的融合、多粒度的wordembedding、基于上下文的意圖排序等方法,建構了規則和深度學習模型有機融合的自然語言了解系統。

(2)  智能問答方面,成功的将機器閱讀了解應用在了小蜜産品中。

(3)  智能聊天方面,提出了AliMe Chat模型,融合了搜尋模型和生成模型的優點,大大提高了閑聊的精度。

(4)  對話管理方面,設計了基于Task Flow的對話描述語言,将業務邏輯和對話引擎分離,并能實作任務的中斷傳回和屬性的carry-over等複雜功能。

在智能互動技術落地應用的過程,我們也在不斷思考怎麼進一步提高智能互動技術水準和使用者體驗。

第一,堅持使用者體驗為先。堅持使用者體驗為先,就是産品要為使用者提供核心價值。

第二,提高語言了解的魯棒性和領域擴充性。

第三,大力發展機器閱讀了解能力。

第四,打造讓機器持續學習能力。

第五,打造資料閉環,用資料驅動效果的持續提升。

目前的人工智能領域仍然處在弱人工智能階段,特别是從感覺到認知領域需要提升的空間還非常大。智能對話互動在專有領域已經可以與實際場景緊密結合并産生巨大價值,尤其在智能客服領域(如阿裡巴巴的小蜜)。随着人工智能技術的不斷發展,未來智能對話互動領域的發展還将會有不斷的提升。

原文釋出時間為:2017-12-1

本文作者:小蜜家族

繼續閱讀