當前位置:
首頁 > 科技 > 專欄 | 神經符號系統:讓機器善解人意

專欄 | 神經符號系統:讓機器善解人意


機器之心專欄


作者:

深度好奇研究組(DC-SQUAD)





深度學習和符號智能的結合將是下一代自然語言理解的新範式,也是解決自然語言理解這個困難任務的唯一路徑。




1. 通往語言理解之路




什麼是理解 



自然語言理解是人工智慧的核心課題之一,也被廣泛認為是最困難和最具標誌性的任務。最經典的兩個人工智慧思想實驗——圖靈測試和中文房間,都是圍繞自然語言理解來構建的。自然語言理解在人工智慧技術體系中的重要性不言而喻,它一方面承載著機器和人的交流,另一方面直達知識和邏輯。自然語言理解也是人工智慧學者孜孜以求的聖杯,機器學習的巨擘 Michael I. Jordan 就曾經在 Reddit 上的 AMA(Ask Me Anything)欄目中暢想用十億美元建立一個專門用於自然語言理解的實驗室。




那麼究竟什麼是自然語言理解呢?我們可以認為,理解是從自然語言到語義的映射,但是這個定義只是把問題轉移到了「語義」的定義上,而關於語義,一直缺乏在形式和功能上都普遍適用的定義。事實上,語義往往需要被放在特定領域和特定語境下去考量,比如一句「你開心就好」,可以在不同的場景下傳達鄙視和祝願等多種意思。關於理解或者語義,我們不得不採取了下面兩種耍賴式的定義來刻畫它們的不同側面:






  • 語義是特定語境下的語用,也就是說一句話的功效才是對它含義的最終表徵;



  • 理解一個語言對象(如一段話),等價於可以回答關於這個對象的所有問題。




不幸的是,這兩個定義都不具有完全的可操作性,也就是說,很難用這個定義來自動化地衡量對語義的映射是否準確,或者理解是否恰當。從某種意義上,語義理解在定義上就有點「難以捉摸」和不確定。




這種不確定也導致了人工智慧中語義相關的系統在形式和功能上的多樣性。比如說,在神經網路機器翻譯(NMT)中,所有的語義表示都是通過固定長度的實數值向量來完成。在第一代 NMT 系統中用一個很長的向量來表示和總結待翻譯的句子(確切地說是混合了語法和語義的信息),這個向量雖然不可解釋,但確實是一個形式和功能上都完整的表示。(

註:關於用向量表示語義一直有很多爭論,正面的比如G. Hinton的thought vector, 反面的比如R. Mooney的著名論斷。

)而在第二代的基於注意力機制的 NMT 系統中,這種表示完整語義的設計已被淘汰,取而代之的是一個實數向量序列來表述多個片段的語義,從而在取得翻譯效果的大幅度進步的同時,也在語義表示層面上後撤了一大步。同時我們注意到,連續的不可解釋的語義表示在另一些需要和有清晰的語義規範對象互動的時候則非常彆扭,當我們去做基於知識庫的問答或者基於罪行的描述做審判預測時,需要將語義表示和知識庫或者規則系統做對接。這種時候,我們會選擇符號化的語義表示,如邏輯表達式、圖或者其他離散的數據結構。在本文接下來的討論中,我們會假定我們期望的語義表示中至少包含可解釋的離散結構。




理解之難



自然語言理解的困難也是有目共睹,所以當前自然語言理解通常是粗粒度、淺層或者是局部的。在常見的和理解相關的例子中,情感分析往往只是判斷感情是正面還是負面,而命名實體識別等只是標出實體(比如人、組織、地名等)的名稱,但即使是這樣,準確率也往往在達到一定水平之後裹足不前。相比而言,機器翻譯的快速發展反而是因為它對理解的繞道而行,採取了一種「不懂裝懂」(pretend to understand)的模式。




那麼自然語言理解為什麼如此困難呢?我們認為,主要有以下四個原因:




1. 自然語言中含有複雜靈活的表達方式




我們經常用不同的語句表達同一個意思,這些不同體現在風格、語態、對預設的選擇等眾多方面。比如,下面意思非常接近的兩句話就採用了不同的語序和風格。






  1. 這裡和購物中心的距離大約是兩公里,如果坐計程車的話,路上不堵的情況下大概十分鐘就到了



  2. 這兒離購物中心不遠,打車也就十分鐘,不堵車的話,其實也就兩公里吧




2. 長距離的邏輯關聯




自然語言形成的文本中,常常有長距離的邏輯關聯。這種邏輯關聯既包含來自語言結構的依存關係,也包含語義層面上的邏輯關係,而且二者互相滲透。以下面的句子為例,它包含了一個語義信息「這裡距離購物中心兩公里」,但是要做出這個判斷,需要跨越句頭和句尾中間的距離,依靠語義上的連續性來發現前後的邏輯關聯。這種邏輯關聯,往往很難靠類似循環神經網路(RNN)這樣的簡單序列處理模型來發現和利用。


 





3. 對知識(包含常識的)的大量依賴




在文本的理解中,我們往往需要依賴大量的知識,這些知識既包括領域知識和常識這種長期知識,也包括在前文中建立的短期知識。我們通常說的「語境」也可以被認為是短期知識的一種。






  1. 張三偷了一台 iPhone X,一台 iPhone 6S 和一台 P20,其中兩台蘋果手機都已經轉手



  2. 車庫裡有一輛 17 年的雅閣和一輛 09 年的凱美瑞,結果反而是舊車被偷了




在例 A 中,在理解「兩台蘋果手機都已經轉手」中的具體指代時,我們需要利用以下的知識:




? iPhone X 是蘋果手機


? iPhone 6S 是蘋果手機


? P20 是華為手機。




而在例 B 中,在理解「舊車被偷了」時,我們不僅需要使用前半句中建立的




? 雅閣是 17 年的


? 凱美瑞是 09 年的




這兩條知識,我們同時需要使用「09 年的車比 17 年的車更舊」這一常識。準確利用這些知識則需要對知識進行有效的獲取、表示和調用。




4. 語義表示形式設計的困難 




語義表示的形式一直以來是語義解析這個問題上爭論的核心之一。簡單來說,「完備的」語義表示需要能夠包含精確知識(如「張三殺了李四」),也需要承載語言中的模糊性、不確定性、程度和情感的極性等問題。同時我們期望語義的表示能夠和其他知識(如語境)進行完美的對接以完成聯合的表示和推理,比如一句「這水挺燙的」,在水的用途是飲用、泡麵、泡腳等不同場景下就可能導致不同的語義(如極性和程度等)。同時,語義表示也需要考慮到實際的用途和技術邊界,這種平衡本身就是非常困難和持續變化的。




我們可以看到,上述困難中有些是深度學習所擅長的,比如神經網路的方法就可以利用其向量式的「模糊表示」來處理複雜靈活的表達方式;有些是符號邏輯所擅長的,比如長距離的邏輯關聯;而有些顯然是需要二者合力的,比如對知識的依賴,就既需要神經網路的參數來記住和運用各種瑣細靈活的知識,又需要把一些可以被明晰表達的知識用符號性的方式來存儲和調用。據此,我們認為,神經網路和符號智能的深度結合才是解決上述困難唯一正確的道路。對此我們將會在本文餘下的部分做詳盡的闡釋。




2. 神經+符號




為什麼神經+符號是正確的道路




正如上文中所闡釋的,人類語言理解的過程、機制和形態,充滿了符號性和連續性的雙重特性,而在人工智慧的實踐中,我們也發現了二者各自的優勢。在人工智慧的歷史上,這就是符號主義(Symbolism)和聯結主義(Connectionism)之爭。我們先來解釋下神經和符號的概念,以及各自的特點、優勢和劣勢。這些討論將會在以下三個層面上展開:






  • 表示層 : 語言對象的語義表示,如詞、句子乃至長文本的語義表示,也包含系統中和語義相關的中間狀態



  • 運算層 :對不同類型和尺度的語言對象的操作和轉化,如生成、映射、轉換、分類、預測、查詢、更新等



  • 知識層 :包括語言學知識、領域知識和常識這類的「長期知識」,也包括在理解過程中對文本建立的「短期知識」。




總體來說,






  • 神經網路用來處理連續的表示、操作以及知識,具有模糊、可學習、不確定、靈活、無需設計、不可解釋的特性,不擅於處理圖結構、變數、遞歸和指代等;



  • 符號系統用來處理離散的、結構性的表示、操作以及知識(包括圖結構、變數、遞歸和指代等),具有清晰、精確、高執行效率、可解釋的優點。




從系統設計的角度,神經網路正因為犧牲了微觀和主動意義上的可解釋性(如設定某個節點或者某個參數的含義),轉向架構和機制上的設計,從而獲得了系統描述能力(expressiveness)上的靈活性。從數學的角度,神經網路可以認為是用大量參數近似地描述了大量可能符號模式的分布,從而可以用基於梯度的方法 (gradient-based methods) 來訓練,但是也失去了對特定符號模式的清晰刻畫的能力。我們可以用圖 1 來形象地說明神經網路和符號系統是如何去近似解決同一個真實的任務的。


 



圖 1:神經網路和符號智能任務處理上的比較






我們用下表來總結神經網路和符號智能在表示、運算和知識三個層面上的區別。








神經符號主義的歷史




人工智慧領域長期有兩種思想佔據主流地位:符號主義和聯結主義。符號主義使用基於規則的符號做推理,致力於用計算機的符號操作來模擬邏輯思維和認知過程,實現人工智慧。聯結主義強調智能起源於高度互聯的簡單機制,其偏向於模仿腦結構的研究,更側重神經網路中的聯結機制與學習演算法。規則系統具有可解釋性強和精確度高的特點,而神經網路靈活性高、泛化能力強、魯棒性好,因此人工智慧之父馬文·明斯基(Marvin Minsky)總結到:「符號知識和聯結主義各有優缺點,我們需要一個系統能夠將它們的優點集成起來」[1]。自 1980 年,很多有遠見的人工智慧學者就試圖將神經網路和符號智能結合,這個包含了無數不同嘗試的方向被稱為神經符號主義(Neural-symbolism)。




一些先驅者對神經符號主義進行了初步的探索。早在 1990 年,Towell 等人便提出了 KBANN(基於知識的人工神經網路)[2],採用已有的經驗知識去構建人工神經網路的結構和網路中的連接權重。Garcez 等人在 1999 年提出了 CILP 系統 [3],他們將背景知識轉化為命題邏輯,並基於此構建前向人工神經網路,並從例子中歸納新的知識去更新已有的知識。Garcez 等人在 2001 年提出了一種在訓練好的神經網路中抽取邏輯知識的方法 [4],可以增強神經網路的可解釋性。Richardson 等人在 2006 年對一階符號邏輯和概率圖模型結合的方式進行了探索,提出了馬爾科夫邏輯網路 [5],該網路是一個一階符號邏輯的知識庫,其中每一個公式都有對應的權重。受限於當時機器學習技術和自然語言處理技術的制約,這些探索並不能充分利用神經網路的優勢,因而沒有取得更近一步的成功。




隨著層數更深、更多樣、表達能力更強的深度神經網路的崛起,越來越多的學者加入了對神經網路和符號智能進行結合的探索中。Jaeger 提出了一種用「Conceptors」控制循環神經網路的方式 [6],使得整個網路具有幾何特性,並且可以和布爾邏輯進行有效結合。Graves 等人提出了神經圖靈機(Neural Turing Machines)[7],Sukhbaatar 等人提出了記憶網路 [8],他們都引入了記憶機制來解決對推理過程中間結果的存儲問題。上述方法對神經符號系統進行了進一步的探索,賦予了神經網路符號化的結構,對後續的研究有著重要的啟發意義。




近年來,一些研究者致力於藉助神經網路來實現符號推理。Neelakantan 等人提出了「Neural Programmer」[9],基於自然語言理解實現資料庫查詢。Liang 等人進一步引入了符號化的記憶機制 [10],幫助神經網路更好地完成複雜推理。Mou 等人用神經網路和符號操作共同決策,提出了解決自然語言推理查詢的新途徑 [11]。




還有一些工作希望能用符號邏輯幫助神經網路訓練、學習和推理。Hu 等人提出了 Teacher-Student 網路 [12],讓神經網路(Student)擬合符號規則(Teacher)的結果,使得神經網路在規則的指導下訓練學習。Goyal 等人採用先驗知識改進了字元級的循環神經網路用於自然語言生成問題(NLG)[13]。Luo 等人探索了在不同層面上,正則表達式規則和神經網路的結合手段,希望用正則表達式規則提供的豐富信息提升神經網路的表現 [14]。這些方法本質上是用符號知識給神經網路提供更多的信息,神經網路和符號智能的結合較為粗糙。同時,這些將神經網路和符號智能結合的嘗試往往只是針對某個非常限定的任務,而且往往只有空間上對某個層面的處理。




3. 我們的想法和嘗試




通向神經系統和符號智能的融合




我們認為神經網路和符號智能融合的理想形態,應該遵循以下的原則/方向:






  • 原則-I:形成神經和符號的連接




簡言之,我們需要建立神經和符號交流的界面、路徑和機制。二者的交流主要有兩種,1)互相控制和調用,2)互為輸入和輸出。對於 1),一個例子是 Neural Programmer [9], 它用連續信號來調用和驅動符號運算,而二者的界面就是符號預算的向量索引。對於 2),我們期望神經運算的輸出可以成為符號運算的輸入,而同時符號運算的輸出(在「嵌入」之後)也可以成為神經運算的輸入(如圖 2),這形成了表示層-運算層的神經-符號閉環。舉例說明,對於下面的例句




三郎仁真與澤旺、洛爾伊在大學旁邊的快捷酒店住了三個晚上




神經網路利用當前的狀態(向量表示)預測「三郎仁真」是人名,這個符號化的信息可以作為下面一條規則




RULE-9527: 在同一個 list 中的語言對象應該有同樣的類型




的輸入,從而預測「澤旺」也是人名。而這個來自符號運算的輸出,在嵌入之後,會和其他的原始輸入一起,再次進入神經網路,而其進入的形式可以是作為建議(從而需要神經網路的進一步綜合判定),也可以是作為確定的結論。




 



圖 2:神經(連續)信號和符號信號的閉環







  • 原則-II:形成神經和符號間的並列和對應



神經符號系統可以在表示、運算、知識三個層面上,形成神經和符號間的並列和對應。這裡,並列是指同時存在功能重合的神經和符號兩種狀態,這形成了某種程度的冗餘,可以被系統擇優使用或者同時使用(見原則-III);而對應則意味著神經和符號兩種狀態之間存在設計的信息交互,這種交互可以幫助一種形態轉換成另一種形態,也可以同時促進兩種形態的共同訓練(co-training)。(

註:這裡的 co-training 是從 multi-view learning 的角度來鼓勵兩個或更多通路的一致性,而非強調在其半監督學習場景下的應用。

)這三個層面上的並列和對應可以有多種方式,下面僅舉兩例。我們在 2017 年提出的神經-符號雙通路的問題解析模型 [11](見圖 3-a):對一個問題(如「北京奧運會是哪一年舉行的?」),系統會有包含解析和運算的神經通路,也會有一個近乎對稱的符號通路。兩條通路殊途同歸,同時會有密集的信息交換。神經通路可以高效地利用後向傳播演算法學習,而符號通路則通過符號化的總結而具有高執行效率和很好的泛化性能。通過在訓練中鼓勵兩條通路的一致性,我們可以獲得比單一通路更好的學習效率、執行效率以及泛化性能。我們最新的一項技術(見下文中的 Nerual Rule Engine),則可以部分地完成知識層上的轉換(見圖 3-b),從而利用神經網路天然的泛化能力克服規則系統的脆弱性。圖 3-b 也描述了上述轉換的逆過程,即神經網路中的參數知識被總結成為規則,這個過程通常被稱為規則抽取(rule extraction)。


 



圖 3:神經和符號間的並列和對應







  • 原則-III:完備的中央調控機制去選擇、控制和規劃




為了有效地訓練和執行,神經符號系統需要一個中央控制系統在表示、運算、知識三個層面上做選擇、控制和規劃(見圖 4)。如果存在表示、運算甚至知識層面上的並列(見原則-II),那麼在執行階段,中控系統會在某個特定時刻根據情況在這三個層面上選擇使用神經、符號還是它們的組合。比如說,在閱讀和理解某個句子的過程中,中控系統在某時刻決定探測句子餘下的部分是否含有並列結構。這個探測的決定本身是符號性的,但是這個探測的行為本身可以是由一個神經網路模塊來完成的。同樣,分管訓練的更長期的中控系統會規劃神經通路和符號通路的交流的具體節奏,控制轉換和促進的機制等。接著用上面的例子,這個探測並列結構的神經網路模塊可能原先來源於一個簡單的規則,但是在使用過程中不斷地吸收來自任務的監督信號,最終被中控系統確定取代對應的規則。很顯然,原則-III 的意義來源於原則-I 和 II 帶來的神經和符號複雜交融的可能,而原則-III 的實現也需要以原則-I 和 II 為基礎。


 



圖 4:對神經網路系統的調控





這三個方向上的融合,既相對獨立,又有很強的關聯,同時可以以多種方式嵌套使用,給出了無限的架構和機制設計上的可能性。可以認為,一個相對「完備」的神經符號系統應該綜合了這三個方向,從而可以將神經系統和符號系統各自的優點做深層次融合,使得文本理解達到前所未有的深度。雖然在特定任務的神經符號系統上,我們往往只會實現神經符號系統的特定方面,這些可以從深度好奇最近的工作為例來說明。




深度好奇的工作




深度好奇正是遵循以上的融合神經網路和符號智能的原則,針對不同類型的自然語言理解任務,設計了一系列的模型。我們介紹下面三個工作,1)神經規則引擎,2)變焦神經網路,和 3)神經實體推理, 來作為其中的代表。






  • 神經規則引擎(Neural Rule Engine)




規則作為人類知識的具體體現,是一種簡單但是極為可靠的快速構建工業應用的手段,也是符號性知識的通用形式。規則雖然極其精確,但是其僵硬脆弱的特點又經常被詬病,比如規則可以查找「騎自行車上班」,但是語義相似的「騎小黃車上班」卻無法匹配,傳統的規則需要大量擴充才能涵蓋這些在語義上相近的表達。我們提出的神經規則引擎(NRE),將符號性的規則知識轉化為神經網路的知識形式,並輔以對應的運算。NRE 吸收了神經網路靈活性高、泛化能力強、魯棒性好的優勢,同時也維持了規則的精確性和可解釋性。它可以從規則中學習知識,同時又通過神經網路來泛化知識,與人類學習知識的方式有異曲同工之妙。神經規則引擎由基礎的操作和解析器來表示規則。操作和解析器根據需求既可以選用神經網路也採取符號演算法來實現。具體來說,神經規則引擎先對規則用解析器進行解析,生成層級操作序列,之後依照順序來組裝模塊,最後將組裝好的規則應用於具體的事例,判斷是否符合規則(圖 5 給出了一個簡略的示意圖)。實驗表明,藉助神經網路的優勢,神經規則引擎對符號知識進行了學習和擴展,可以大幅提升規則的召回率,同時還能維持較高的精確率使規則本身的特性得以保留。神經規則引擎不僅是一種新的神經符號學習範式,同時也為現有的工業應用帶來了一種高效的改進,它可以被用來對已有的規則系統進行升級,或者在訓練數據不大的情況下快速開發出神經規則系統 (論文見 arxiv.org/abs/1808.10326)。


 



圖 5:神經規則引擎的示意圖







  • 變焦神經網路(Zooming-Net)




段落、列表等文本結構蘊涵著信息輸出者的表達策略,對於準確抓取、理解文本內容有著重要的意義。這種文本結構有符號化的骨架,但是又需要和局部的語義有深度的耦合。我們提出了變焦神經網路(Zooming-Net)來完成這種偏符號性的文本結構和神經性的局部語義表示的結合。Zooming-Net 可以利用 Policy-Net 靈活地選擇在特定文本粒度(字、句、段)上執行讀取、更新、跳轉、預測等一系列操作,這種獨特的變焦處理方式高度類似人類閱讀過程,利用文本結構,其在信息稀疏部分進行泛讀,確保不引入過多雜訊,在信息密集部分進行精讀,確保有用信息不被丟失。我們引入了符號化推理模塊對模型的輸出加以解釋,並進行定向的干預。變焦神經網路由層次化編碼器、變焦控制器和符號化推理模塊三個部分完成對文本的處理並以序列標註的形式找出文本中的關鍵片段(圖 6 給出了一個簡略的示意圖)。具體地說,在每個時刻,層次化編碼器配合變焦控制器有策略地選擇建立層次化特徵,讀取特定層級的信息,結合符號化推理模塊給出的臨時性離散信息預測出一定長度的標籤序列。在讀取整篇文本之後,將各時刻輸出的標籤序列進行組裝,並取出對應的關鍵信息片段。實驗表明,藉助句段結構信息,變焦神經網路很好地結合了泛讀與精讀過程,其可以更好地對長時依賴特徵進行建模,並引入大跨度動作提高效率,在關鍵信息的抽取任務上,f1 值較經典序列標註模型(biLSTM+CRF)有 10% 以上的提升,預測行為頻次減少 50% 以上。變焦神經網路非常適合應用在各類長文本處理任務當中,其使用的編解碼方式也可結合其他技術推廣到各類自然語言處理任務過程中 (論文見 arxiv.org/abs/1810.02114 )。


 



圖 6:變焦神經網路的基本原理







  • 神經實體推理(Neural Entity Reasoner)



命名實體識別(Named Entity Recognition)被認為文本理解的基礎和底層任務,因為它的職能就是發現和標識文本中的人名、地名等。傳統的 NER 方法依賴局部和底層的語言特徵,但是當出現有歧義的說法或者少見的人名時,這類方法往往會遇到困難。而人在這種情況下,往往可以通過縱覽全文,打通和融合局部的知識,來擺脫這種困境。我們正是受到人的思維模型的啟發,為 NER 這個看似低級的任務引入了高級的「推理」機制,將符號化的命名實體信息「取之於網路,用之於網路」,從而可以在深度學習的框架內融合同一文本中的命名實體的決策。命名實體神經推理機(NE-Reasoner)整體上是一個多層的架構,每一層都獨立完成一次 NER(圖 7 給出了一個簡略的示意圖)。每層的 NER 結果,會通過一個符號化的「緩存」存儲起來,作為下一層 NER 的參考:這種參考是通過一個互動式的池化神經網路來實現,本質上是一個基於多個事實的推理模型。由於這樣的設計,在做每個局部的決策時,模型都可以「看見」並參考別處相關決策,從而做出更加明智的決定。實驗表明,通過在神經網路的推理過程中,引入符號化的緩存記憶,以及在緩存基礎上的多事實全局推理,可以顯著提高命名實體識別的準確率,尤其是在傳統方法容易犯錯的歧義和少見人名上有更好的表現。命名實體神經推理機作為神經符號推理機在 NER 任務上應用的一個實例,不僅打開了之前神經網路推理決策的黑箱,使得推理過程中的關鍵步驟對人類可見和可理解,而且給予了人工進一步干預推理過程的可能性及有效的介面 (論文見 arxiv.org/abs/1810.00347)。


 



圖 7:神經實體推理(NE-Reasoner)工作原理圖





4. 新的框架: 面向對象的神經規劃(OONP)




不同於之前介紹的三項相對專門的技術,面向對象的神經規劃(Object-oriented Neural Programing, OONP)是一個用於複雜語言對象理解的新框架。作為神經符號系統的實例,OONP 不但有大量神經符號主義的具體實現,而且也為神經網路和符號的更多和更充分的融合留下充分的空間。




OONP 借用面向對象編程(OOP)的思想,利用解析出來的實體組成對象和對象間關係(如圖 8),構成結構清晰的本體圖。每個對象(object)都是一個類(class)的實例化,類的概念規定了其具有的內部屬性、外部關係和可執行的操作,以及與其他對象的關係類型。


 



圖 8:OONP 的解析示意圖,左側的每一個小框代表了一個對象(object),框的顏色標識了類(class)






如圖 9 所示,OONP 由三部分組成,分別是主控模塊閱讀器(Reader)、表徵文檔的行間記憶(Inline Memory)模塊、以及總結對之前文本的理解的攜帶記憶(Carry-on Memory)模塊。而攜帶記憶(Carry-on Memory)模塊又可分為表徵圖結構的對象記憶(Object Memory)、存儲連續狀態的矩陣記憶 (Matrix Memory) 和記錄離散動作的動作歷史 (Action History) 三部分。


 



圖 9:OONP 的整體架構





在解析文本時,OONP 模仿了人理解文本時一邊閱讀一邊理解的方式。OONP 框架將解析過程轉化為決策序列:OONP 閱讀器按照文本順序讀文檔,同時不斷豐富本體圖結構來增進對文檔的理解,該圖結構被決策過程的操作序列創建和更新,並在解析的結尾作為最終的文本語義表示。對於某個待解析的文檔,OONP 首先將預處理之後的文檔放入行間記憶模塊,閱讀器順序讀取行間記憶中的符號表示和連續表示,結合攜帶記憶,產生各種操作來增加和豐富本體圖,更新攜帶記憶模塊。這些操作包含可微分操作(作用於對象記憶的連續部分和矩陣記憶)和離散操作(作用於對象記憶和行間記憶的符號部分)。這些連續和離散操作互相依賴,構成了彼此的輸入,共同形成了圖 10 中複雜而靈活的信息流。


 



圖 10:閱讀器(Reader)的架構細節以及信息流





在 OONP 框架內,連續和離散的表示、運算、知識相互緊密結合,形成信息閉環。這使得 OONP 可以靈活地將各種先驗知識用不同形式加入到行間記憶和策略網路。具體來說:






  • 整體來說,OONP 解析的決策過程本身就是從神經網路到離散結構(本體圖)映射的過程,而這個離散結構又成為神經網路控制的決策過程的輸入,從而形成了大的神經-符號的信息閉環。而在 OONP 的具體模塊上,這種閉環還大量存在;



  • 在行間記憶和對象記憶里,存在大量離散和連續並列的表示,比如說,對象記憶中的圖狀離散結構上會附有不同類型的連續向量表示。同時在 OONP 的運算層,每個動作的決定都需要融合來自規則引擎以及神經網路的輸出。比如會有獨立的規則引擎來分析動作歷史,發掘大範圍的動作的模式,從而給出下一步的決策建議,而這些建議會和其他來自神經運算的結果一起匯入策略網路的輸入;



  • 在 OONP 的框架內,允許符號知識(如規則)轉換成為功能接近的神經模塊,而這些神經模塊可以作為 OONP 組件進行聯合訓練。




5. 從技術到產品




以神經符號系統為核心技術思想,深度好奇構建了以 OONP 為核心技術框架的包括多個技術模塊的自然語言理解技術平台。以此為基礎,我們設計製造了公安案情結構化、智能視頻審核、法律文書解析、語音視頻調度等一系列產品(見圖 11)。


 



圖 11:深度好奇的技術架構





這裡我們以公安案情結構化和智能視頻審核為例:






  • 公安案情結構化:這個系統對公安偵破過程中的文本信息進行解析,構建關於案情的人-事-物-時-地的知識圖譜(見圖 12),讓機器「懂」案情,從而為刑偵人員提供串併案、犯罪預測、信息比對及融合等決策輔助。公安案情結構化是 OONP 的一個成功應用,充分發揮了神經符號系統在解析複雜文本上的優勢。公安案情結構化任務的複雜性體現在多個方面,其相關文本形式多樣,敘述邏輯繁複曲折,而且最終的知識表示是包含多事件、多實體、多標籤以及時空關係的龐雜圖譜。為了將文本中特定的敘述習慣等知識作為規則嵌入 OONP 並獲得泛化能力,我們利用了 Neural Rule Engine 來處理理解過程中的特定子任務,取得了較小數據量下的顯著效果。


 



圖 12:公安案情結構化示意圖







  • 智能視頻審核:該場景是對借款人進行視頻面試,從而基於交互過程進行信息審核和欺詐檢測(見圖 13)。深度好奇的智能視頻審核系統依靠對語音對話的理解來構建對話系統,在溝通過程中根據用戶信息判定高欺詐風險的信息點,並進行主動的問詢。例如,當借款人提供的職業信息是「養生會所的工作人員」時,該系統就會追問「你們公司的客流量有多大」、「你們公司的主要設備是什麼」這類的問題。完整的對話過程將會被用來評估及判定借款人騙貸和逃貸等風險。


 



圖 13:智能視頻審核示意圖





6. 總結




自然語言理解作為人工智慧的核心任務,經歷了從符號智能到統計學習、再到深度學習的發展和演化。深度學習雖然風頭正勁,卻也暴露出在解決語言理解問題中的諸多缺陷。而今我們相信,深度學習和符號智能的結合將是下一代自然語言理解的新範式,也是解決自然語言理解這個困難任務的唯一路徑。神經符號系統是深刻而實用的技術方向,深度好奇也在這個方向上將相應技術做了成功的產業應用。相信在學界和產業界的共同努力下,我們終究可以讓機器善解人意。




參考文獻:




[1] Minsky, Marvin L. "Logical versus analogical or symbolic versus connectionist or neat versus scruffy." AI magazine 12.2 (1991): 34.


[2] Towell, Geoffrey G., Jude W. Shavlik, and Michiel O. Noordewier. "Refinement of approximate domain theories by knowledge-based neural networks." Proceedings of the eighth National conference on Artificial intelligence. Vol. 861866. 1990.


[3] Garcez, Artur S. Avila, and Gerson Zaverucha. "The connectionist inductive learning and logic programming system." Applied Intelligence 11.1 (1999): 59-77.


[4] Garcez, AS d"Avila, Krysia Broda, and Dov M. Gabbay. "Symbolic knowledge extraction from trained neural networks: A sound approach." Artificial Intelligence 125.1-2 (2001): 155-207.


[5] Richardson, Matthew, and Pedro Domingos. "Markov logic networks." Machine learning 62.1-2 (2006): 107-136.


[6] Jaeger, Herbert. "Controlling recurrent neural networks by conceptors." arXiv preprint arXiv:1403.3369 (2014).


[7] Graves, Alex, Greg Wayne, and Ivo Danihelka. "Neural turing machines." arXiv preprint arXiv:1410.5401 (2014).


[8] Sukhbaatar, Sainbayar, Jason Weston, and Rob Fergus. "End-to-end memory networks." Advances in neural information processing systems. 2015.


[9] Neelakantan, Arvind, et al. "Learning a natural language interface with neural programmer." arXiv preprint arXiv:1611.08945 (2016).


[10] Liang, Chen, et al. "Neural symbolic machines: Learning semantic parsers on freebase with weak supervision." arXiv preprint arXiv:1611.00020 (2016).


[11] Mou, Lili, et al. "Coupling distributed and symbolic execution for natural language queries." arXiv preprint arXiv:1612.02741 (2016).


[12] Hu, Zhiting, et al. "Harnessing Deep Neural Networks with Logic Rules." Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Vol. 1. 2016.


[13] Goyal, Raghav, Marc Dymetman, and Eric Gaussier. "Natural language generation through character-based rnns with finite-state prior knowledge." Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers. 2016.


[14] Luo, Bingfeng, et al. "Marrying up Regular Expressions with Neural Networks: A Case Study for Spoken Language Understanding." arXiv preprint arXiv:1805.05588 (2018).






本文為機器之心專欄,

轉載請聯繫原作者獲得授權



?------------------------------------------------


加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com


投稿或尋求報道:

content

@jiqizhixin.com


廣告 & 商務合作:bd@jiqizhixin.com

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

前沿 | 「讀心術」真的來了?AUT新研究惹爭議
令人困惑的 TensorFlow!(II)

TAG:機器之心 |