南通颐猩文化传播有限公司

當前位置:首頁 >  科技 >  IT業(yè)界 >  正文

追一科技首席科學家楊振宇:對話機器人系統(tǒng)是怎么煉成的

 2018-04-04 16:56  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯

  域名預訂/競價,好“米”不錯過

追一科技首席科學家楊振宇

相比于語音和圖像,自然語言是一個有「更多需求」和「更少標準答案」的領域。扎根自然語言的公司通常也不是從技術和方法出發(fā),而是選擇一個具體的需求,然后用所有可能的方法解決它。追一就是這樣的一家公司,它瞄準的是「對話機器人」這個領域,把問題分類、分解、逐個建立準確高效的機器人,再有序集成起來。三月,機器之心有幸在深圳追一科技總部對首席科學家楊振宇進行了采訪,我們仔細聊了聊「對話機器人是怎樣煉成的」,以及在他眼里,深度學習與自然語言最好的結(jié)合方式是怎樣的。

對話機器人需要解決的問題是如何分類的?

對話機器人是一個相對比較復雜的系統(tǒng),由許多個模塊組成。其中最核心的模塊就是語義理解,理解用戶想要表達什么意思。而在利用深度學習處理商業(yè)對話機器人的語義理解問題方面,追一是國內(nèi)最早的一家。

根據(jù)服務類型,對話機器人可以分為FAQ咨詢、資料查詢、任務型和閑聊四種,涉及的自然語言處理問題也各不相同。

對于 FAQ 咨詢來說,模塊的輸出對應知識庫里的一個知識點。解決問答就像解決一個大型分類問題,機器人要將用戶的需求對應到知識庫里的某一個答案。

知識庫里的知識點數(shù)量少則幾百個,多則上萬個。而根據(jù)知識庫大小不同,適用的模型結(jié)構(gòu)也會有所不同。例如,銀行類客戶通常有多個復雜的業(yè)務線,知識庫規(guī)模也是數(shù)以萬計,直接對幾萬個知識點進行分類是難以取得高準確率的,因此,機器人會采用分層處理的方法,先判定問題與哪一個大領域相關,再進行詳細的知識點分類。

資料查詢類對話需要從客戶的輸入里判定兩件事:意圖和實體。比如「A 公司的市盈率是多少?」這個問句里,就包含了意圖「市盈率」和實體「A 公司」。成功獲得這兩個信息后,機器人會去一個結(jié)構(gòu)化的數(shù)據(jù)庫里做查詢。得到答案后,按照一個預定義的格式化模板填充后返回給客戶。

資料查詢的一個難點是,用戶在連續(xù)發(fā)問時,不會每次都重復自己的意圖和實體,比如用戶會在詢問「A 公司的市盈率是多少?」之后,追問說,「那 B 公司的呢?」或者「那市凈率呢?」。這時,系統(tǒng)就需要通過上下文管理,對意圖和實體這些要素進行繼承或切換。用戶的提問到來之后,首先進行判斷:用戶在這一句中是否提供了某一要素?如果沒有,則嘗試從前文追溯繼承;如果有,再判斷用戶是否進行了意圖(實體)轉(zhuǎn)移,如果是,則需要進行對應更新。

另一個難點是,用戶可能不會直接說出實體全稱,無法進行精準的、基于規(guī)則的匹配。因此,機器人需要結(jié)合特定用戶的歷史記錄和用戶群體的統(tǒng)計信息,通過學習的方法計算詞與詞之間轉(zhuǎn)移的概率,然后進行模糊匹配。

任務型對話是當下比較流行的一種交互形式,機器人試圖以對話的形式來執(zhí)行訂機票、查賬單、買理財?shù)热蝿?。任務型和資料查詢類對話有相似之處:它們同樣要從用戶處獲得兩類信息:意圖和「元素」。區(qū)別在于,確定意圖后,任務型機器人需要主導對話:它要理清進行特定任務所必要的元素有哪些,并以對話的形式確保用戶提供了所有元素。以訂機票舉例,用戶說「幫我訂明天北京到上海的機票」,那么機器人在明確了任務是「訂機票」之后,就要理清,用戶已經(jīng)提供的元素有時間、出發(fā)地、到達地,尚未提供的元素有艙位偏好、時間偏好、特定機場偏好等。只有獲得了全部所需元素,機器人才能「執(zhí)行任務」。

最后一類是閑聊,與陪護機器人的閑聊功能不同,穿插在查詢、咨詢問答或任務交互之間的閑聊,需要結(jié)合上下文一起識別。有時,一句話單獨看是閑聊的意圖,但結(jié)合上下文一起看則屬于查詢、咨詢問答或任務交互的一部分。這種場景下的閑聊不僅要識別準,而且要保證上下文對話的流暢性,也非常有挑戰(zhàn)。

一個對話機器人系統(tǒng)通常由哪些模塊組成?

如前所述,系統(tǒng)是由FAQ咨詢、資料查詢、任務型和閑聊等不同類型的機器人組成的。除此之外,還有一個中控模塊,是系統(tǒng)的管理控制中樞。

中控負責依據(jù)用戶當前問句和歷史會話記錄,初步判斷當前問題應該由哪個機器人來回答,然后下發(fā)給一個或多個下游機器人。下游機器人處理后,將答案以及對應的置信度返回給中控,中控根據(jù)下游返回的信息進行決策后,將最合適的響應返回給用戶。

對話機器人上線后效果如何持續(xù)運營優(yōu)化?

對話機器人可能發(fā)生的誤判有兩種不同形式。

一種是「系統(tǒng)知道自己可能犯錯」:某一請求雖然分配給了特定機器人,但是機器人給出的最佳回答的置信度仍然很低,換言之,該回答能夠滿足用戶請求的可能性很小。此時,中控會進行重新判斷:其他機器人是否有置信度更高的回答?如果仍然無法找到置信度足夠高的答案,系統(tǒng)會啟動拒絕識別機制,即,系統(tǒng)判斷自己無法回答這一問題,返回給用戶一個通用話術,如「十分抱歉,您的問題我暫時回答不了」,然后記錄下問題,定期推送給機器人運營人員通過數(shù)據(jù)標注、知識庫擴充等手段進行迭代優(yōu)化。

另一種則是「系統(tǒng)很自信,但還是回答錯了」。這類錯誤要通過分析用戶的反饋來發(fā)現(xiàn),比如用戶選擇點「踩」或者繼續(xù)提問,都意味著他們的需求可能沒有得到滿足。系統(tǒng)會結(jié)合分析結(jié)果把這種疑似錯誤的回答挑出來,形成一個叫做「質(zhì)檢」的任務,交給客戶的質(zhì)檢人員判斷并標注,補充進訓練集進行迭代優(yōu)化。與此同時,客戶也擁有能夠進行即時調(diào)整的人工干預工具:如果客戶需要立刻對某個錯誤答案進行調(diào)整時,可以利用這個工具找到導致錯誤答案的影響因素,通過對這些影響因素的調(diào)整來達到即時生效的干預效果。

對于機器人的優(yōu)化來說,極其重要的一點是在系統(tǒng)層面有完整的反饋學習機制,能夠讓機器人收集可能的錯誤情景,以及特定場景下的正確回答信號,然后利用這些數(shù)據(jù)和信號建立正反饋機制。

總體來說,通過初始化教育和持續(xù)運營優(yōu)化,機器人一般能夠達到綜合準確率 95% 的效果,這樣就會獲得比較好的對話體驗了。

自然語言處理的業(yè)界與學界:鴻溝與啟發(fā)

對于學界而言,最好的研究是用新方法解決新問題,其次是用新方法解決老問題,最次是用老方法解決老問題。而工業(yè)界的衡量標準則截然不同,工業(yè)界的出發(fā)點是以需求為核心,無論什么方法,能落地提供極致體驗的就是好方法。

舉個例子,業(yè)界的系統(tǒng)是需要給客戶提供快速干預工具的:一個無法調(diào)整的、干預不了的系統(tǒng)是不合格的。出于對企業(yè)形象的重視,客戶需要能夠監(jiān)控機器的效果、需要在發(fā)現(xiàn)問題之后能夠?qū)崟r干預、需要定期檢查用戶反饋,讓反饋數(shù)據(jù)作為新的監(jiān)督信號進一步優(yōu)化模型。業(yè)界搭建的優(yōu)秀系統(tǒng)要有自適應的閉環(huán)和流動性,這是學界很少會考慮的事情。

另外,業(yè)界也需要更多地考慮系統(tǒng)上線時的資源限制問題。比如在自然語言領域里一個典型的測試環(huán)境,斯坦福的 SQuAD 數(shù)據(jù)集上,現(xiàn)在學界里效果最好的做法是把數(shù)十個不同的模型集成在一起,然而這種做法是很難在工業(yè)界大規(guī)模應用的。工業(yè)界要考慮成本、客戶在云端的算力、用戶從提問到得到反饋的時間等種種限制,集成少數(shù)幾個模型也許是可行的,但是集成幾十個高代價的模型是不切實際的。

當然,業(yè)界也在持續(xù)關注學界的新方法,希望得到方法論上的啟示。

例如,深度強化學習的飛速發(fā)展也會讓我們關注:能否依靠數(shù)據(jù)驅(qū)動,端到端地訓練具有工業(yè)應用價值的任務型機器人?能否在有了足夠多數(shù)據(jù)之后,把對話信息看做狀態(tài),用深度強化學習的方法學習一個對話策略出來呢?

另外,閱讀理解領域的發(fā)展也讓我們看到了不是基于「知識庫」而是基于「文檔庫」進行回答的可能性。例如,一個特定問題的答案可能在某個文檔里,如何構(gòu)建一個深度學習系統(tǒng),根據(jù)某一問題,定位到特定的文檔,再從文檔中把信息提煉出來用以回答這個問題?

元啟發(fā)式優(yōu)化算法是否能與深度學習模型結(jié)合?

我個人的研究背景是計算智能(Computational Intelligence),在2015年之前的近10年里,主要關注如何應用計算智能中的元啟發(fā)式優(yōu)化算法求解大規(guī)模復雜優(yōu)化問題。這是一類基礎性的研究難題,長期受到關注,比如我大約10年前的一個關于演化優(yōu)化算法的工作,到現(xiàn)在已經(jīng)被引用500多次了,而且現(xiàn)在還在逐漸增加,偶爾還會收到同行提出算法代碼需求的郵件。隨著算力的持續(xù)提升,也許元啟發(fā)式算法在不久的將來會成為人工智能領域新的寵兒,我個人也非常關注它與深度學習結(jié)合的可能。

元啟發(fā)式算法的最大的優(yōu)點在于不要求目標函數(shù)可導,通用性強?,F(xiàn)在,為了求解方便,建模時往往會對實際應用的真實目標做一些簡化,使得該目標函數(shù)可導,以便可以用現(xiàn)成的梯度下降算法求解。然而這往往不是最優(yōu)方案:一方面建模的簡化一般會引入求解效果上限的損失;另一方面梯度下降算法不能保證獲得全局最優(yōu)解,往往只會收斂到一個極值。

元啟發(fā)式優(yōu)化算法是一個啟發(fā)式框架,一般是設計一些通用的、對問題的依賴沒有那么強的啟發(fā)式策略,使算法更容易收斂到全局最優(yōu)解。元啟發(fā)式優(yōu)化算法的缺點在于算法對計算能力的要求比較高。這主要是因為梯度下降算法有明確方向,只要朝著這一個方向下降就可以了,而元啟發(fā)式算法,如其中的「主流分支演化算法」,用的方法則是試錯法(trial-and-error),需要在空間里進行大量的采樣、評估,再決策接下來去何處繼續(xù)采樣更有獲得全局最優(yōu)解的潛力。這個過程是非常消耗算力的。

現(xiàn)在,學界的關注重點是能否用局部優(yōu)化的思想減少采樣點的數(shù)量,以及能否提高采樣、評估的并行化執(zhí)行能力。

此外,元啟發(fā)式算法還有一個梯度下降無論如何也做不到的優(yōu)勢,就是有希望進行結(jié)構(gòu)的優(yōu)化。如今神經(jīng)網(wǎng)絡的結(jié)構(gòu)是全部由人來設計的,未必或者極有可能不是最優(yōu)的。利用元啟發(fā)式算法能夠讓機器在卷積層、循環(huán)層、全連接層等不同開放組合結(jié)構(gòu)構(gòu)成的空間中進行搜索,組裝出一個針對特定問題效果最好的結(jié)構(gòu)。這個方向一般叫做Neuroevolution,正逐漸引起越來越多的學界和業(yè)界的關注。

應用深度學習帶來了哪些不同?

在中控的排序模型里,深度學習模型能夠提供含有大量信息的強特征,讓體量更小、更簡單的模型就能獲得同等,甚至更優(yōu)的效果。

在前深度學習時代,傳統(tǒng)的搜索推薦經(jīng)常需要上千萬、上億的特征,這是因為,在沒有強大的特征的情況下,只能把各種組合人為構(gòu)造出來,然后用一個淺層的大模型去學習。然而深度學習模型學習出的特征本身已經(jīng)包含了巨大的信息量,因此繁瑣的人工特征工程變得沒那么重要了,這對技術的商業(yè)化非常有利。

這種信息量是通過深度學習在面對大規(guī)模原始數(shù)據(jù)的抽象、非線性學習能力而獲得的。例如,通過抓取大量金融行業(yè)的相關文本,,進行統(tǒng)一的文本語義相似度學習建模和訓練,就能得到一個強大的文本特征提取模型。這個模型可以用于證券領域、基金領域、銀行服務領域等等各個行業(yè)系統(tǒng)中。

此外,深度學習也可以通過「多任務學習」(multi-task learning)的方式整合不同類型的問答數(shù)據(jù),極大簡化了啟動階段客戶標注數(shù)據(jù)的工作。

知識點的構(gòu)建階段需要客戶提供有標注的訓練數(shù)據(jù):每一個知識點(標準答案),都需要客戶「手寫」用戶標準提問范式和可能的變體。構(gòu)建這樣的標準問答集是極其耗費時間的,說服客戶進行標注也是有一定難度的,然而如果客戶之前采用過人工客服,有人工客服日志,我們就可以大量削減需要人工完成的標注數(shù)據(jù)集創(chuàng)建工作。

追一一直偏重實用、偏重落地,我們不僅僅鉆研最前沿的技術,也致力于優(yōu)化落地效果,把自適應、有閉環(huán)正反饋的系統(tǒng)交付給用戶。令人自豪的是,我們有一批能夠把問題想清楚的人,正在用系統(tǒng)工程的思維為客戶構(gòu)建具有極致體驗的對話機器人服務。

我們的對話機器人,不追求「一個 AI 模型端到端解決全部問題」,而是在一個完整系統(tǒng)的每個模塊里、各個維度里,都用 AI 技術幫助提升效率、優(yōu)化體驗。這種優(yōu)化可能幫助主系統(tǒng)提取了更強的特征,可能在冷啟動階段幫助客戶簡化了痛苦的數(shù)據(jù)標注過程,可能在運轉(zhuǎn)過程里幫助分析輿情、找到客戶產(chǎn)品設計的不合理之處。它們并不顯山露水,卻無處不在。

這也是追一希望向用戶傳達的理念:真正有「AI 意味」的系統(tǒng),是「草色遙看近卻無」的整體系統(tǒng),而 AI 的角色,是「潤物細無聲」地、持續(xù)地優(yōu)化其中的每一個細節(jié)。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關標簽
機器人

相關文章

熱門排行

信息推薦