干貨|如何讓人工智能助理杜絕“智障”

搜狐科技
佚名
你感受到了嗎?近些年,隨著人工智能的蓬勃發(fā)展,越來越多的人工智能助理進(jìn)入到了我們的日常生活中,如Cortana、Siri…… 智能助理(Virtual Personal Assistant)是指以人工智能技術(shù)驅(qū)動,以自然語言...

你感受到了嗎?近些年,隨著人工智能的蓬勃發(fā)展,越來越多的人工智能助理進(jìn)入到了我們的日常生活中,如Cortana、Siri……

智能助理(Virtual Personal Assistant)是指以人工智能技術(shù)驅(qū)動,以自然語言對話作為主要交互方式,能夠幫助個人完成任務(wù)的對話機器人(chatbot),屬于對話即平臺(Conversation as a Platform,CaaP)的重要應(yīng)用之一。

  人工智能助理還不夠聰明

當(dāng)前市場上形形色色的智能助理通常只能提供簡單的信息查詢的服務(wù)(如天氣,新聞,股市等),而真正能夠幫人們完成某項特定任務(wù)的智能助理可以說是鳳毛麟角。不僅如此,用戶在和智能助理交互過程中總會碰到諸多問題,導(dǎo)致用戶體驗不佳,用戶普遍認(rèn)為多數(shù)智能助理其實不(是)智(智)能(障)。

很多人將智能助理的局限性歸咎于其核心技術(shù)——自然語言理解的不成熟,并期待著有一天深度學(xué)習(xí)或者其他機器學(xué)習(xí)技術(shù)能在自然語言理解領(lǐng)域迎來新的突破,最終使機器擁有能夠和人類媲美的自然語言理解能力。到那時,“不智障”的智能助理才有可能出現(xiàn)。

的確,自然語言理解是智能助理的關(guān)鍵技術(shù)之一。但以目前的技術(shù)水平就不可能打造“不智障”的智能助理了嗎?

  

微軟亞洲研究院開發(fā)了一個名為EDI (Enterprise Deep Intelligence)的神奇小機器人,可以幫助用戶自動預(yù)定會議室,或設(shè)置工作提醒等。通常,員工需要耗費5分鐘左右的時間來安排一個會議,而EDI從收到用戶的自然語言請求到完成會議預(yù)定只需要不到10秒的時間。用過EDI的同事都夸他聰明,因而越來越多的微軟同事們選擇EDI作為自己的日常工作小助手。如今,在微軟亞洲研究院內(nèi)部,超過一半的會議都是通過EDI自動預(yù)定的??梢哉f,EDI是一個真正聰明起來的人工智能助理。

今天,筆者以EDI開發(fā)過程中的經(jīng)驗和大家分享一下如何打造人工智能助理,提高其自然語言理解能力,以及人工智能助理還需要做好的幾件事。我們認(rèn)為這些事對于一個智能助理的成功來說——可以說是人工智能助理的四大“自救法寶”!

  自救方法一:專注垂直應(yīng)用

現(xiàn)階段,要打造一個無所不能的“超級”智能助理有很大難度,但在一個垂直領(lǐng)域做到智能還是有可能的。

超級 智能助理的一個難點是開放域的自然語言理解。想將每一個領(lǐng)域都做到很大,并且合成一個“大而全”的智能助理——這個目標(biāo)以目前的技術(shù)水平來說還是極富挑戰(zhàn)的,因為我們無法對用戶的請求進(jìn)行任何先驗假設(shè)。各個領(lǐng)域之間會有一定的沖突和矛盾。為了總體最優(yōu)就必須有妥協(xié)和讓步。最終的理想結(jié)果就是將若干個一般水平的智能助理們合成一個更為一般的集成智能助理。例如同一個詞在不同語境和領(lǐng)域下可能有不同的意思,但在特定的領(lǐng)域內(nèi)詞語的含義往往就是確定的。

  

在我們開發(fā) EDI訓(xùn)練意圖識別(intention classification)和實體抽取(entity extraction)模型的過程中,使用了詞向量(word embedding)作為特征表示,發(fā)現(xiàn)使用全局?jǐn)?shù)據(jù)訓(xùn)練的詞向量效果比只使用少量和日程規(guī)劃相關(guān)的數(shù)據(jù)訓(xùn)練的詞向量效果差很多,即使全局?jǐn)?shù)據(jù)量遠(yuǎn)遠(yuǎn)大于局部數(shù)據(jù)量。分析數(shù)據(jù)發(fā)現(xiàn),“schedule”和“book”兩個詞在全局空間并不是十分相似,而在局部空間兩個詞則非常接近。基于這個發(fā)現(xiàn),我們使用了主題相關(guān)詞向量(topic-aware word embedding)的算法,將訓(xùn)練數(shù)據(jù)的主題分類和詞向量訓(xùn)練同時進(jìn)行,得到的詞向量很好地提升了EDI對于意圖識別和實體抽取的準(zhǔn)確率。

超級 智能助理的另一個難點是開放域的實體推理。EDI在時間理解方面就遇到了這樣的問題。對于同一個表示“星期一”,在一個查詢請求中“星期一有多少用戶訪問過我們的網(wǎng)站”,“星期一”應(yīng)該被解析成過去的星期一,而對于預(yù)定請求“幫我訂一個星期一的會議”這句話中,“星期一”則應(yīng)該被解析成未來的星期一。EDI將這些和領(lǐng)域知識相關(guān)的參數(shù)作為隱變量,用遞歸神經(jīng)網(wǎng)絡(luò)(RNN)對請求中的上下文進(jìn)行建模,利用封閉域數(shù)據(jù)學(xué)習(xí)時間抽取的結(jié)果到時間理解的結(jié)果的映射,進(jìn)行上下文相關(guān)的時間語義理解。

所以,想要打造一個智能助理,可以先設(shè)定一個能夠?qū)崿F(xiàn)的“小目標(biāo)”:找到一個可以自動化完成的任務(wù),用與任務(wù)相關(guān)的數(shù)據(jù)訓(xùn)練模型,利用任務(wù)的特點提高自然語言理解和智能決策能力。做一個垂直領(lǐng)域“小而美”的智能助理往往更容易成功。

  自救方法二:指導(dǎo)用戶

對開發(fā)者來說,什么最珍貴?用戶的耐心!

當(dāng)前,用戶對于智能助理最大的失望與不滿(DSAT)在于智能助理難以準(zhǔn)確理解用戶的請求。通常,大多數(shù)用戶沒有耐心一遍又一遍地嘗試讓機器能理解自己的請求,當(dāng)他們有幾次DSAT之后,基本就會放棄使用該“智能”助理了。

  

對話式服務(wù)和對話機器人與傳統(tǒng)的基于GUI(圖形用戶界面)的交互方式的最大區(qū)別在于,基于GUI的交互方式通過對頁面元素的限制,輸入空間是有限的,因此機器可以枚舉有限的輸入組合完全理解用戶的請求。而對于對話式交互服務(wù)來說,用戶的輸入空間是無限的,用戶可以輸入各種各樣的請求(如上圖)。因此,通過合理的方式對用戶進(jìn)行指導(dǎo),告訴及指導(dǎo)用戶機器可以理解的請求,用戶只要依樣畫葫蘆——在樣例示范的基礎(chǔ)上進(jìn)行個性化的發(fā)揮,此舉將用戶輸入空間大大縮小,智能助理從而就可以完成對應(yīng)的任務(wù)(如下圖)。這對用戶和機器來說是兩全其美的事情。依樣畫葫蘆并不是要求用戶輸入的請求必須和我們的樣例一模一樣,否則大家都會更習(xí)慣傳統(tǒng)GUI的交互方式。因為用戶幾乎不可能記住樣例的每一個詞以及它們的順序。人工智能助理必須要能夠理解這些樣例模板的絕大部分等價表示(下圖中的用戶請求)。

  

EDI利用統(tǒng)計滾雪球(Statistical Snowball)的方法[1]在海量數(shù)據(jù)(Bing,Cortana)中學(xué)習(xí)每個詞語、短語的可替換表達(dá),建立語義詞典(Semantic Dictionary),并在語義詞典的基礎(chǔ)上進(jìn)一步生成語言模板(Semantic Pattern)。在一個局部空間內(nèi),該方法理論上可以枚舉自然語言中的所有等價表示。將指導(dǎo)用戶的樣例(如,schedule a meeting at 4pm)作為種子,通過該方法可以得到用戶基于樣例所輸入請求所有的可能變換(Book a meeting at 1pm, Find me a room at 11am, Arrange an appointment tomorrow等)。

不僅如此,該方法在碰到有歧義或不能理解的請求時還可以利用語義詞典生成動態(tài)提示,幫助用戶快速完成任務(wù)。例如用戶提到“schedule a meeting 4”,這里的“4”可以理解為時間,地點或人數(shù),“4”在語義詞典(通過海量數(shù)據(jù)挖掘得到)中對應(yīng)的替換表達(dá)有“4pm”, “4th floor”, “4 people”, “4 years old”, “4 players”等,進(jìn)一步結(jié)合句子“schedule a meeting”,利用語義模板挖掘的方法可以發(fā)現(xiàn)有意義的模板為“schedule a meeting at 4pm”, “schedule a meeting on the 4th floor”, “schedule a meeting for 4 people”。EDI會將這些可能的模板提供給用戶進(jìn)行選擇。動態(tài)提示的方法不僅幫用戶快速完成了請求,也提示了用戶規(guī)范的樣例。

  

通過對EDI的歷史數(shù)據(jù)進(jìn)行分析,我們還發(fā)現(xiàn)了兩個有趣的現(xiàn)象:1. 隨著使用時間的增加,越來越多的用戶使用和樣例相似的請求格式來完成任務(wù);2. 有些用戶會探索自己的模式,當(dāng)他發(fā)現(xiàn)行之有效的請求格式后,在今后的使用中會一直沿用該模式。這也說明,當(dāng)用戶發(fā)現(xiàn)智能助理真的在某些任務(wù)上可以幫助自己節(jié)省時間、提高效率,他們就會盡可能用容易理解的請求去適應(yīng)智能助理。

  自救方法三:借助知識圖譜

即使自然語言處理可以完全理解用戶的請求,如果智能助理缺乏必要的知識,便無法進(jìn)行合理的推理與決策,用戶也會覺得智能助理并沒有任何幫助。

沒有任何知識幫助推理與決策的智能助理可能會出現(xiàn)下述場景:

  

《構(gòu)建企業(yè)知識圖譜》一文介紹了如何構(gòu)建企業(yè)知識圖譜。利用該文介紹的技術(shù),我們?yōu)橹悄苤鞥DI構(gòu)建了對應(yīng)的知識圖譜,從中可以得到用戶所在的大樓、樓層、位置、用戶的關(guān)系網(wǎng)絡(luò)、用戶常去的會議室、用戶的開會習(xí)慣、用戶的日程安排等信息,在智能助理EDI完成任務(wù)時,這些信息使EDI變得十分智能。

使用了知識圖譜的智能助理如下:

  

自然語言理解的結(jié)果通常為字符串形式(“張三”),而EDI需要結(jié)構(gòu)化數(shù)據(jù)的實體ID(例如,張三的郵箱地址SanZhangFoo@outlook.com)來唯一指定一個現(xiàn)實生活中的具象的實體。從張三轉(zhuǎn)化為張三的郵箱地址的過程通常被稱為實體鏈接推理(Entity Linking)。我們構(gòu)建的企業(yè)知識圖譜可以很大地提高實體鏈接推理的效率。比如,用戶在會議請求中提到了張三,而公司里有很多個張三,用戶到底指的是哪一個張三呢?EDI使用了實體鏈接中的聯(lián)合檢索模型來選擇正確的張三,聯(lián)合檢索模型可以綜合考慮張三的關(guān)系網(wǎng)絡(luò),從而最大化知識圖譜的價值。

  自救方法四:人機協(xié)同

人機協(xié)同也被稱為AI+HI(artificial intelligence + human intelligence,人工智能+人類智能)。在當(dāng)前階段,大多數(shù)的智能助理都很難做到100%的準(zhǔn)確。在實踐過程中,我們發(fā)現(xiàn)智能助理+真人助理的模式是解決問題的有效形式,智能助理可以根據(jù)自信度決定是否需要真人助理的協(xié)助完成任務(wù)。

人機協(xié)同并不只是簡單的1+1=2的關(guān)系。通過不斷學(xué)習(xí)真人助理的行為模式積累數(shù)據(jù)、積累知識,智能助理就能不斷成長與進(jìn)步。而真人助理則可以受益于機器執(zhí)行效率高的優(yōu)點,提高工作效率。

  

在EDI的實際應(yīng)用中,我們嘗試了人機協(xié)同的方式。面對一個會議請求,EDI首先進(jìn)行處理,只有當(dāng)EDI的自信度低于閾值時才由真人進(jìn)行協(xié)助。實際上,即使對需要幫助的這類請求,我們的人機結(jié)合方案在保證準(zhǔn)確率的同時也將實際完成一個任務(wù)的時間成本從3~5分鐘降低為不到一分鐘。在上圖的示例中,EDI可以在真人助理的對話過程中進(jìn)行實體抽取,幫助真人助理自動填寫表單,同時EDI會建議幾個他認(rèn)為的最佳回復(fù)給真人助理。這樣可以大大縮短用戶等待真人助理回復(fù)的時間(這可以提高需要真人參與完成的那些請求的用戶體驗)。同時,EDI能從真人助理完成任務(wù)的對話歷史記錄中學(xué)習(xí)更多可能的回復(fù)。

真人助理對自動回復(fù)建議采納與否的每一次點擊信號以及用戶是否滿意的信號為EDI提供并積累了大量的數(shù)據(jù)。EDI使用深度強化學(xué)習(xí)(Deep Reinforcement Learning的技術(shù)根據(jù)真人助理對于回復(fù)建議的點擊以及用戶是否滿意的反饋信息構(gòu)建價值函數(shù)(value function)并根據(jù)獲得的價值自行推理更優(yōu)的對話策略,不斷優(yōu)化學(xué)習(xí)到的回復(fù)及其排序。這樣EDI學(xué)到的對話策略及其最優(yōu)回復(fù)建議都會和真人助理的回復(fù)越來越相似(甚至比真人助理的表現(xiàn)更好),智能助理就可以獨立完成越來越多的任務(wù),而逐步脫離對真人助理的需求。

  

  再談自然語言理解

作為智能助理的核心技術(shù),自然語言理解是需要攻克的技術(shù)難題。前面提到的幾個“自救法寶”其實都與自然語言理解息息相關(guān)。專注垂直領(lǐng)域和指導(dǎo)用戶都是為了減小用戶的語言輸入空間從而彌補現(xiàn)階段技術(shù)的不足;借助知識圖譜其實是利用知識圖譜幫助計算機進(jìn)行自然語言的理解和消歧;人機協(xié)同則是通過人和機器的不斷交互,讓機器不斷進(jìn)行增量學(xué)習(xí),逐步提高計算機的自然語言理解的能力。

微軟亞洲研究院大數(shù)據(jù)挖掘組專注于兩個方向的自然語言理解研究。

第一個方向是通過海量數(shù)據(jù)來挖掘自然語言表達(dá)的等價表達(dá)模式,用以提高機器自然語言理解的能力,從根本上解決自然語言理解能力的局限。

第二個方向是將自然語言理解平臺化,使沒有自然語言理解背景的開發(fā)者可以簡單地開發(fā)和自然語言理解相關(guān)的應(yīng)用,真正地做到CaaP(Conversation as a Platform,對話即平臺)。我們組的下一篇文章會具體的介紹我們的技術(shù)怎么被應(yīng)用到微軟的產(chǎn)品LUIS[2]和Bot Framework[3]中來幫助廣大第三方開發(fā)者們開發(fā)真正智能(“不智障”)的助理!

  【大數(shù)據(jù)挖掘組】

微軟亞洲研究院大數(shù)據(jù)挖掘組致力于從大數(shù)據(jù)中挖掘信息構(gòu)建海量知識圖譜,以提高人工智能應(yīng)用中的知識推理和自然語言理解能力。大數(shù)據(jù)挖掘組的研究方向包括數(shù)據(jù)挖掘、大數(shù)據(jù)、深度學(xué)習(xí)、自然語言處理、智能聊天機器人等。十多年來,該組成員的研究成果對微軟的許多重要產(chǎn)品及應(yīng)用產(chǎn)生了深刻影響,包括人立方、微軟學(xué)術(shù)搜索、讀心機器人、微軟知識圖譜(Satori)、智能聊天機器人開發(fā)平臺等。

大數(shù)據(jù)挖掘組現(xiàn)招聘實習(xí)生,工作內(nèi)容涉及機器學(xué)習(xí)、大數(shù)據(jù)挖掘、自然語言處理等領(lǐng)域,工程和研究均可,根據(jù)個人興趣和能力確定工作內(nèi)容。要求編程能力較強;有一定的溝通能力,有責(zé)任心;對機器學(xué)習(xí)、大數(shù)據(jù)挖掘、自然語言處理有熱情和興趣; 高質(zhì)量的完成工作;半年以上實習(xí)期。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論