早在上世紀90年代,對話系統就已經投入使用,但直到2011年Siri面市,對話系統才開始更廣泛地在生活中扮演人們喜聞樂見的“個人助手”角色。不過在大多數情況下,它們只能幫你做一些簡單的服務,比如預定日程。
在微軟蒙特利爾研究院,研究經理Layla El Asri博士正通過強化學習讓對話系統勝任更復雜的任務,比如幫你處理財務,解決使用計算機時遇到的問題,甚至任何在生活中遇到的疑難雜症。語音助手會用像人類一樣流暢易懂的自然語言為你做出解答,使你感到像是在向一位專業人士進行諮詢。
訓練一個能與你無縫銜接地進行對話的AI,絕不是一件易事。因為在對話場景中,對話生成的可能性是無限的。語音對話系統面臨的最大挑戰,正是這種巨大的不確定性。比如,自動語音識別需要明辨不同口音、不同年齡層的使用者的差異,文字識別要努力不被人們錯誤的拼寫和隨意的句法混淆,等等。這對我們來說似乎很容易,因為人類有常識(common sense),而對話系統並不具備。
這正是當前機器學習的一大難點。對於如何讓機器具備常識,目前業界還沒有很好的方法。研究者們無法為整個世界編寫規則,也無法將對整個世界的分類輸入一臺機器。他們採取的方法之一,是讓機器與世界互動,讓機器在閱讀文字、觀看影像、聆聽聲音的過程中,試圖建立常識。但機器並不能真正以人類的方式學習,這是這條路徑的困難之處。儘管如此,這是一條非常活躍的研究路徑,許多有趣的研究專案正在進展之中。
建構對話系統
像Cortana、Siri和Alexa這樣的對話系統,通常包含以下幾個模組:
• 自動語音識別。先通過自動語音識別,對使用者口述的內容進行文字轉錄。
• 自然語言理解。在聽到使用者說“我想在市中心找一家餐館”後,系統要對使用者的意圖進行理解,明白你所談論的領域。
• 狀態跟蹤。這一模組的作用是跟蹤整個對話,發現能夠幫它回答問題的更多有用資訊,比如,早先你可能提到過“義大利”。
• 資料查詢。系統在餐館資料庫中查詢市中心的義大利餐館,我們假設它返回了20個結果。
• 對話管理。在獲得20個結果後,對話管理模組將檢視對話狀態,試圖進一步縮小範圍。這時它可能意識到,使用者也許有預算要求,因此它會通過自然語言生成一個問題。
• 文字轉語音。系統通過這個模組詢問使用者,在根據使用者回答刪去部分餐館後,呈現最終的結果。
以上模組各自管理對話系統的一個方面,也正因如此,系統能夠執行的對話受到了模組化結構的限制。因此,強化學習非常適合對話情境,因為系統可以在與使用者的多輪互動中學習得更好。
Layla博士與她的團隊目前圍繞對話系統所做的研究,是通過神經網路讓模型從以往的對話中,學習到下一步應該說的內容。這其中包含太多值得推敲的因素,包括語法、詞法、清晰度、詞彙選擇等。下面是他們正在進行的幾個有趣的研究。
Chat Painter
在機器學習中,像GANs(生成式對抗網路)這樣的影像生成模型正變得越來越強,能夠生成非常逼真的影像,但這些神經網路模型的原理卻非常難解。
為了讓人們更簡單、高效地使用它們,Chat Painter為影像生成模型新增了對話介面,讓人們可以完全通過與系統的對話來生成繪畫,並控制所生成的影像。比如你可以說,“在畫面中間加一棵樹,在左上方畫一個太陽,在草地上加一個小男孩”。
Layla團隊目前正在製作一個開放給公眾的公開演示版。無論使用者是否明白影像生成的原理,只要與模型進行交談,都可以利用機器進行天馬行空的繪畫。
這是一個提升技術的可及性(accessibility)的典例。除此之外,知識的可及性也是一個很有前景的發展方向。在這一場景中,對話系統將幫你“消化”難以理解或是連篇累牘的文章,並用比較簡潔的詞彙向你解釋,讓使用者得以方便地理解和運用這些知識。
TextWorld
在TextWorld中,只要向遊戲引擎講述規則,TextWorld就可以為使用者生成文字遊戲。
使用者可以通過輸入語句來創造世界和引導角色,比如“有一間臥室,與浴室和起居室相連”,然後在每個房間裡放置物品,“在臥室放一張床,在浴室放一個櫃子,並把開箱的鑰匙放在客廳裡”。接著定義一項任務,“找到鑰匙,開啟櫃子,收集其中的一項物品,玩家就可以通過這一關卡”。
在評估對話系統的效果時,主要有兩大指標。其一是語言的質量,包括語法、遣詞造句的正確性,其二是看句子的內容是否能夠推動對話的發展,以及與上下文是否一致。
TextWorld就提供了一個訓練對話系統的理想環境。首先它本身是一個人機對話的過程,其次對於在TextWorld生成的遊戲,解謎者想要通關,就必須對系統輸出有意義的句子,比如“我要開門。我要拿鑰匙。我要用鑰匙開啟櫃子”。在聽到解謎者的語音指令時,系統首先會判定句子是否正確,然後評估指令在遊戲程式中的進展情況。所以,語音指令必須滿足以下兩個條件:句子正確,以及內容能讓解謎者在任務中向前移動。
收集對話資料的兩種方式
由於難以從網際網路中獲取對話資料,這對需要大量對話資料的對話系統研究來說,是一個尤其棘手的問題。在缺乏資料的情況下,Layla博士通常採取兩種方式來收集資料。
其一是通過模擬對話自主建立資料集。Layla博士與她的團隊建立了自己的目標導向型對話資料集——Frames資料集。Frames資料集的對話內容是兩人之間關於度假預訂的交談,由一個人扮演提出需求的使用者,另一個人扮演試圖找出解決方法的機器,隨後將他們的所有對話整合形成資料集。
其二是搭建類似TextWorld的模擬環境,去生成大量對話作為訓練資料。這種方式得到的資料會更為清晰簡潔,因為在特定的模擬環境中,對話用到的詞彙量會相對較少。因此Layla博士更加偏好模擬環境,她認為這能讓他們的對話系統更進一疇。
對話系統的標準與規範
評估模型的質量與效果是構建對話系統的另一大挑戰。人工評估的成本非常高,因此建立自動的衡量標準對模型進行評估是必要的,在最後階段才使用人工評估驗證假設,並與先前的其它模型進行比較。然而,建立這種自動指標是非常困難的,目前業界建立的自動指標也都不盡如人意。
此時,常用的方式是將對話系統生成的句子與原始對話資料中的相應句子進行比較,看看它們是否相同。這個指標叫“Blue Score”,是一個事實上非常不靠譜的指標,因為在不同的情境下,對話下文可以使用的措辭有很多,它們都符合正確、得體、上下文一致的要求,都在當前語境下有意義,僅判斷系統是否猜中原文中的那句話是顯然不對的。但要考察句意是否在當前語境中富有意義,這確實非常困難。
如果你和Cortana、Siri等系統談論比較私人的問題,它們可能會給出這樣的回應:“我不知道你在說什麼”。這是因為設計者在對話系統的自然語言理解模組定義了系統能夠識別的意圖,如果談話內容超出了這一範圍,它只能說“我不理解”,或者“我不想談論它”。Layla博士一直試圖擺脫這種模組化的結構,讓對話系統能夠理解任何事物。
但這一點也讓她深感不安。在上世紀60年代,美國麻省理工學院的Joseph Weizenbaum教授創造了歷史上的第一個對話系統Eliza。Eliza的使命是模仿心理治療師的行為,鼓勵它的使用者更多地談論他們主動提出的話題,比如當使用者述說“我和父母的關係不好”,它會回應“請詳細談談關於你父母的事情”。在當時,人們以一種出乎意料的程度向Eliza敞開了心扉,願意與她傾訴非常私密的話題。一次Weizebaum的祕書和Eliza對話時,竟然要求Weizenbaum迴避。這讓Weizenbaum意識到,如果機器鼓勵患者過多地談論自己的隱私問題,或是說出一些傷人的話,對患者來說是一種潛在的傷害。如果世界上真的存在可以理解任何事物的對話系統,製造者們該如何對它加以限制?
因此,即便對話系統研究試圖擺脫模組化的系統結構,研究者們仍然應該對對話系統的內容保持警惕,仍然應該努力讓系統以負責任的、符合倫理的方式給出回答,這正是微軟所身體力行的。在世界範圍內,也有越來越多的公司和研究實驗室意識到了這個問題,並試圖為此建立標準。