您現在的位置是:首頁 > 籃球

李航教授展望自然語言對話領域:現狀與未來

  • 由 機器之心Pro 發表于 籃球
  • 2022-02-05
簡介3.自然語言對話自然語言理解自然語言理解,也就是人或機器理解人類語言,有兩種不同定義:一種基於表徵,另一種基於行為

語用分析包括幾方面

機器之心專欄,作者:李航,位元組跳動 AI Lab。

原華為諾亞方舟實驗室主任、現已加入位元組跳動 AI Lab的李航教授近日發表部落格,對自然語言對話領域的現狀和最新進展進行總結,並展望了未來的走向。本文內容樸實,既重視整體格局和跨領域思維,又能著眼於現實條件,富有啟發性。

1. 引言

語音助手、智慧客服、智慧音箱、聊天機器人,近年各種自然語言對話系統如雨後春筍般地湧現,有讓人眼花繚亂的感覺。一方面對話系統越來越實用化,另一方面當前技術的侷限性也凸顯無遺。計算機多大程度上可以自如地和人進行對話?自然語言對話的挑戰在什麼地方?未來可能會有哪些突破,以及需要重點研究與開發哪些技術?

筆者曾有幸在華為與前同事一起進行了對話技術的研究,以及華為 Mate10 語音助手的開發,本文基於自己的研究與開發經驗,嘗試對以上問題做出回答。

2. 前提條件

功能主義

腦科學和人工智慧的先驅馬爾(David Marr)曾提出,計算有三個層面,自上而下分別是功能層面、演算法和表徵層面、實現和物理層面。如果有兩個系統做計算,給定同樣輸入,產生同樣輸出,兩個系統的行為完全一致,則認為它們在功能層面是等價的。這時不考慮它們在演算法層面進行的是序列計算還是平行計算,也不考慮它們在實現層面進行的是數字計算還是模擬計算。

兩個系統,一個是人腦,一個是計算機,情況也一樣。假設人的思維可以還原為計算,那麼只要看到功能上計算機可以和人腦做同樣的事情,就認為它們在功能上擁有同等的智慧。本文討論對話系統,也是站在功能主義的立場。

合理行動的智慧機器

人工智慧是關於構建智慧機器(或智慧計算機)的科學與工程領域,但對智慧機器,有不同的定義。可以是像人一樣行動的智慧機器,也可以是合理行動的智慧機器。本文采用後者的定義。合理行動的智慧機器有以下幾個特點。1。 系統與環境互動;2。 目標導向,有明確的任務要完成;3。 有評價完成任務好壞的標準;4。 旨在功能上完成任務,並不試圖模仿人類;5。 完成任務上能力達到或超過人類。

構建合理行動的智慧機器,比起構建像人一樣行動的智慧機器,在人腦的工作機理還不是很清楚的現在,更加現實可行。現在的大部分人工智慧系統都屬於這種型別。大資料與機器學習使人工智慧的這條路線更加容易取得突破。(筆者近期的短文《合理行動的智慧機器》對相關問題做了更詳細的論述 [1])。

圖靈測試的物件實質上是像人一樣行動的智慧機器,但如何評價像人一樣行動並不容易。如果目的是為人類提供智慧性的工具,提高人們的生活質量或工作效率,可能沒有必要考慮構建像人一樣行動的機器。圖靈測試作為人工智慧的測試實驗有其侷限性。

所以,近未來構建「合理行動的」對話系統應該是我們追求的目標。為使用者提供問答、幫助使用者完成任務(開啟音箱、訂機票)、甚至做使用者的陪伴,都滿足以上合理行動的智慧機器的特點。

3. 自然語言對話

自然語言理解

自然語言理解,也就是人或機器理解人類語言,有兩種不同定義:一種基於表徵,另一種基於行為。基於表徵(representation),就是系統根據輸入的語言產生相應的內部表徵,這個過程也稱為語義接地(semantic grounding)。比如,有人說「哈利波特」,在大腦裡聯絡到哈利波特的概念就意味著理解了對方的語言。基於行為,就是系統根據輸入的語言採取相應的動作。比如,有人說「給我拿一杯茶」,機器人按照命令做了,就認為它理解了人的語言。這兩個定義在一定程度上互為補充,前者從語義角度,後者從語用角度界定這個問題。

下面從功能角度概述語言理解過程,可以是人腦,也可以是計算機系統。

自然語言理解,輸入是自然語言的語句,輸出是語句的語義表徵,包括詞彙分析、句法分析、語義分析、語用分析幾個步驟,如圖 1 所示。原則上是自下而上的處理,也有自上而下的指導,一般是兩者的結合。詞彙分析使用詞典,句法分析使用句法,語義分析使用世界知識,語用分析使用上下文資訊。

李航教授展望自然語言對話領域:現狀與未來

圖 1。 自然語言理解過程

詞彙分析將輸入語句中的單詞對映到單詞的語義表徵上。每一個單詞都有豐富的語義。一個單詞的語義包含了它的相關概念,以及使用方法。一個語言的常用詞彙量一般在 5 萬到 10 萬的範圍。

句法分析根據句法規則判斷輸入語句中的單詞之間的語法關係,得到語句的語法表徵。句法既有一定的規律,也有大量的例外。一個語言的語法是一個非常複雜的規則體系。

語義分析,基於單詞的語義表徵、語句的語法表徵,根據系統中的世界知識的表徵,構建語句的(可能是多個)語義表徵。

語用分析,基於語句的語義表徵,根據系統中的上下文,確定語句具體語義表徵。

自然語言理解的核心是:聽到一句話或者讀到一句話,把它對映到系統的一個表徵上面。這個對映是一個多對多的對映,必然產生多義性(ambiguity)和多樣性(variability),也就是一句話可以有多個意思,一個意思有多種方法表達。比如:「I saw a girl with a telescope」一句話表示兩個不同的意思,這是多義性。再比如:「distance between sun and earth」和「how far is sun from earth」兩句話表示的是同一個意思,這是多樣性。

語義分析,進行的只是在字面上對語言的理解,可能還有多個意思,對應著多個語義表徵。語用分析,進行的是在上下文中的語言理解。同樣一句話,比如,「這個房間真熱」,語義上就是字面的意思,但是語用上話者的真實意圖可能是「請把窗戶開啟」,只有在上下文中才能判斷。

必須指出,語言是一個極其複雜的現象 [2],雖然從功能上,有可能在計算機上實現或者近似語言理解。仍然有許多挑戰,還有漫長的路途要走。

人腦的語言理解機制

對人腦的語言處理機制瞭解的還不多,有一些發現和假說。

人的自然語言理解,整個大腦都在參與,是一個非常複雜的過程。大腦大約有 1 千億 個神經元,1 千萬億個連線,是一個龐大的複雜網路,人的思維是在這個網路上進行的並行處理。透過核磁共振發現,人在聆聽他人朗讀的時候,大腦的各個部位都有反應 [3]。

有兩個腦區和語言密切相關:布洛卡區(Broca‘s area)和韋尼克區(Wernicke’s area),是在對失語症的研究過程中發現的 [4]。韋尼克區負責詞彙,布洛卡區負責句法。患有失語症的病人的特點是:如果布洛卡區受損,說話只會說出一個個單詞,沒有語法,不能形成語句。如果韋尼克區受損,說話聽起來是一個語句,但可能用詞不對,不能形成完整的語義。有一個假說是人腦中的詞彙分析和句法分析是並行處理,布洛卡區和韋尼克區的功能分工是一個證據。

最近的嵌入模擬假說(embodied simulation hypothesis)頗受矚目,有大量的腦科學與認知科學的實驗佐證 [5]。人腦中語言的理解,是基於視覺、聽覺、運動等的表象(image)的模擬。語言理解過程就是把相關表象聯絡起來,並將這些表象重新組合的過程。比如,問:「大猩猩有沒有鼻子?」要回答這個問題,我們會在腦裡先浮現出大猩猩的視覺表象,然後根據這個表象去回答問題。說明大猩猩的概念在我們的腦子裡,至少有一部分是透過視覺表象記憶和理解的。再比如,聽到:「Flying Pig(飛豬)」,不同的人會根據自己對飛的概念的理解(飛的表象),以及對豬的概念的理解(豬的表象)組合成不同的新的表象,也就是語言理解。有人會想象出像小飛象一樣的 Flying Pig,也有人會想象出像阿童木一樣的 Flying Pig。

語言對話與任務

羅素曾舉過這樣一個有趣的例子,說明語言的本質是表達和交流的工具。當牙醫碰到你時,你可能會不由自主地發出呻吟,這不算語言。但是如果他說「如果我碰到你,你告訴我一聲」,這時你發出同樣的呻吟,它就成了語言。

對話是兩個或更多人之間的書面或口頭的交流,從功能主義的角度來看,對話的目的是話者共同完成資訊交流的任務。多輪對話包含單輪對話,在對話的每一輪中一方需要理解另一方的語言。比如,問候、問答,協作(如訂機票),甚至說服、辯論等,都可以看作是任務。其實聊天也可以看作是任務,目的是進行交流和溝通,整個過程可以分解為不同的子任務,每個子任務都有明確的目標。聊天的特點是開始不特意設定子任務,在過程中,子任務動態地變化,隨時被設定、終結、恢復。

對話中要完成的任務一般可以由一個有限狀態機表示,其中狀態表示完成任務的一個階段,有一個目標狀態,若干個初始狀態,從一個初始狀態到達目標狀態往往有多個路徑,甚至許多路徑。完成對話對應著從初始狀態出發,透過一條路徑,到達目標狀態。比如說訂機票,需要透過與對方交流,提供相關資訊,每一個狀態表示目前為止明確的資訊。當任務簡單的時候,有限狀態機的狀態數不多,模型的複雜度不高。但是,當任務變得複雜時,狀態數和模型的複雜度會爆炸式地增加。

現實中,對話任務的形式化還有不少挑戰,特別是當任務複雜,狀態無法窮舉、或者狀態無法明確刻畫的時候。所以對話系統還都侷限在特定任務上,稱為任務驅動的對話,比如,命令型、問答型。

對話過程中需要對對方的發話進行理解,也就是產生內部的表徵。否則,無法判斷任務的完成情況(也就是狀態),進行任務驅動的對話。任務驅動的對話需要有語義表徵。

4. 當前技術

計算機上達到和人同等的對話能力還非常困難。現在的技術,一般是資料驅動,基於機器學習的。對話技術分單輪對話和多輪對話。

單輪對話有基於分析的,基於檢索的,基於生成的方法。表 1 給出幾種方法的比較。

基於分析的方法,把問題定義為分類和結構預測。給定自然語言的發話,將發話轉為內部的表徵,之後產生系統的回覆或動作。這種方法有顯式的內部語義表徵,適合於命令型的對話,在語音助手和智慧音箱等應用上被廣泛使用。

基於檢索的方法,把問題定義為匹配。給定自然語言的發話,將發話與內部的文字進行匹配,之後將匹配到的文字返回,作為回答。這種方法,以文字(非結構化資料)形式擁有內部語義表徵,可以做問答型的對話,在問答系統等應用被廣泛使用。

基於生成的方法,把問題定義為文字的轉換或翻譯。給定自然語言的發話,一般利用深度學習模型,自動生成相應的回覆。這種方法不擁有顯式的語義表徵,適合於自動生成回答的場景,比如,郵件的智慧回覆。

多輪對話系統,使用範圍相對有限,當前多用於特定領域的任務型對話。如圖 2 所示,一般地,多輪對話系統擁有語言理解,語言生成,對話管理,知識庫等模組。對話管理又包括狀態跟蹤和動作選擇子模組。可以認為多輪對話系統,是基於分析的單輪對話的擴充套件,在每輪對話中,對發話進行語義理解,產生內部表徵。對話管理使用有限狀態機,表示對話中獲取資訊的整個過程。經過幾輪對話,系統逐步獲取所需資訊,並執行任務,如航班資訊查詢。

李航教授展望自然語言對話領域:現狀與未來

表 1 單輪對話方法比較

李航教授展望自然語言對話領域:現狀與未來

圖 2 多輪對話系統

5. 最新進展

近年,深度學習、強化學習被成功應用到包括對話在內的自然語言處理的各個方面,並且取得了重大進展。端到端的訓練和表徵學習是深度學習的主要特點,正是這些特點使深度學習成為自然語言處理的強大工具,對話也不例外。強化學習適合於系統與環境互動並在這個過程中學習的貫序決策過程(sequential decision process)問題,多輪對話正是其應用。

下面介紹幾個最新研究成果。

Liang 等開發了神經符號機(Neural Symbolic Machines)模型 [7]。神經符號機可以從知識圖譜三元組中找到答案,回答像「美國最大的城市是哪裡?」這樣的問題。模型是序列對序列(sequence-to-sequence)模型,將問題的單詞序列轉換成命令的序列。命令的序列是 LISP 語言的程式,執行程式就可以找到答案。神經符號機的最大特點是序列對序列模型表示和使用程式執行的變數,用附加的鍵——變數記憶(key-variable memory)記錄變數的值,其中鍵是神經表徵、變數是符號表徵。模型的訓練是基於強化學習(策略梯度法)的端到端的學習。

呂等開發了神經查詢器(Neural Enquirer)、符號查詢器(Symbolic Enquirer),連線查詢器(Coupled Enquirer)三個模型 [8,9],用於自然語言的關係資料庫查詢。比如,可以從奧林匹克運動會的資料庫中找答案,回答「觀眾人數最多的奧運會的舉辦城市的面積有多大?」這樣的問題。問答系統包括語言處理模組、短期記憶、長期記憶、查詢器,語言處理模組又包括編碼器和解碼器。查詢器基於短期記憶的問題表徵(神經表徵)從長期記憶的資料庫中(符號表徵與神經表徵)尋找答案。符號查詢器是一個迴圈神經網路,將問句的表徵(神經表徵)轉換為查詢操作(符號表徵)的序列,執行操作序列就可以找到答案。利用強化學習,具體地策略梯度法,可以端到端地學習這個迴圈神經網路。神經查詢器是一組深度神經網路,將問句的表徵(神經表徵)多次對映到資料庫的一個元素(符號表徵),也就是答案,其中一個神經網路表徵一次對映的模式。利用深度學習,具體地梯度下降法,可以端到端地學習這些深度神經網路。符號查詢器執行效率高,學習效率不高;神經查詢器學習效率高,執行效率不高。連線查詢器把兩者的優點結合起來。學習時先訓練神經查詢器,然後以其結果訓練符號查詢器,問答時只使用符號查詢器。

Peng 等提出了基於層次化深度強化學習(hierarchical reinforcement learning)的對話策略學習方法,可以透過多輪對話幫助使用者做旅行安排,包括預訂機票、訂酒店 [10]。對話系統整體架構與圖 2 的相似,有語言理解、對話管理、語言生成模組。對話管理模組有兩層結構,頂層模組負責管理子任務,底層模組負責管理子任務中的動作,狀態跟蹤模組負責管理全域性的跨子任務的約束條件(如酒店的入住時間需晚於航班的達到時間)。對話管理策略透過層次化深度強化學習獲得。

6. 未來展望

下面列舉自然語言對話中比較重要的研究課題。

• 對話需要語義接地,即將自然語言對映到內部的表徵,如何定義和使用語義表徵是一個核心問題。

• 語言理解的多義性、多樣性問題。雖然迄今有很多研究,但仍然沒有根本解決。

• 語言和知識,既可以由符號表徵,又可以由向量表徵(神經表徵),各有優缺點,如何將符號處理和深度學習結合是一個重要的問題。

• 多輪對話系統可以基於深度強化學習,也有很多問題需要研究。

• 對話系統是一個複雜的系統,需要進行層次化和模組化處理,如何構建這樣的系統,並使其擁有自動學習功能也是一個大問題。

• 機器學習的資料往往是不夠的,這使得端對端訓練一個對話系統變得困難,在小樣本的條件下學好對話模型是需要解決的重要課題。

7. 總結

以下將本文的主要觀點進行總結。

從功能的角度,計算機也有可能能夠像人一樣,自如地進行自然語言對話,但是現在這個命題無法證真或證偽。原因是尚不清楚人腦的語言理解機制,用計算機完整模擬人的語言理解仍然非常困難。

但在特定領域,特定場景下,和人一樣進行自然語言對話的計算機的實現,我們已經看到。問題是如何進行擴充套件,能夠以更低的開發成本覆蓋更多的領域和場景。

語言理解的核心是向內部表徵的對映。多義性和多樣性是計算機進行語言理解最大的挑戰。

要完成具體的任務,體現計算機的智慧性,定義和使用內部表徵看來是不可或缺的。基於分析的方法本質上是重要的,甚至是在聊天機器人的場景。基於檢索方法更適合於單輪問答的場景。基於生成的方法只能用於特定的場景。

多輪對話要體現完成任務的整個邏輯,有限狀態機表示。開放式的對話意味著動態地改變任務,所以在現在的技術條件下,是非常困難的;在特定領域任務明確的條件下的對話,現實可行。

近年,深度學習和強化學習的使用,使得對話有了長足的進步。主要體現在表徵學習、端到端學習上。事實上需要符號表徵和神經表徵,深度學習和符號處理的結合,這應該是未來發展的重要方向。

Top