本文是弱監督下的自然語言理解。本文分為三個部分:

第一部分:背景知識

主要是自然語言理解,弱監督學習,語義計算(解釋:自然語言理解語義計算本質是計算過程,計算過程是人的語言翻譯成機器語言的過程, 語義是機器的語言描述的計算步驟),搜索應用,然後介紹兩個比較常見的語義解析的任務應該,分別是webquestionssp,wikitablequestions。

第二部分:neural symbolic machines神經符號機

這部分內容包括如何用短時記憶組合語義來表達你想表達的意思;以及怎麼結合符號計算來實現大規模的語義分析的計算。

第三部分:memory augmented policy optimization

基於長時記憶的加強學習,加強學習有很多弱點,一個最大的弱點,就是它不能很好的利用長時記憶提高訓練效率,所以本文從數學的角度來解釋如何有效的利用長時記憶進行訓練。然後比較了加強學習(Reinforcement Learning),ml( Maximum likelihood learning),mml(Maximum Marginal Likelihood)三個學習目標函數的最大的差別。

業界如何看待自然語言理解

自然語言理解的問題非常有前景和有用,在沒有解釋理解之前,我們先看業界大牛如何看待自然語言理解的未來。這裡要提到Michael Jordan和geoffrey hinton,他們是研究機器學習的,但代表機器學習的兩個不同方向。(Jordan曾經想申請Hinton的博士生,被拒了,理由:論文太少。Jordan被拒了之後,從神經網路轉向了概率統計(概率圖))。Michael Jordan研究圖模型(Graphical Model)的大牛,geoffrey hinton是研究深度學習的祖師爺。看下圖就知道他有多牛了:

他們對機器學習的想法差別很大,但是他們對自然語言理解非常近,都認為自然語言理解非常有意思,應用前景非常廣闊。

比如說有人在網上問Michael Jordan:「如果你有10億美元來做一個研究項目,你想做什麼?」

Michael Jordan回答想做自然語言理解,因為這個問題非常有意思。

同樣有人在網上問geoffrey hinton:「深度學習發展這麼迅速,你希望對人類帶來什麼樣的作用?「

geoffrey hinton回答它能幫助google理解所有的文本,幫助google回答所有的問題。

可見他們對自然語言理解充滿了希望。

什麼是真正的理解。

從計算機科學的角度來談什麼叫做理解。

在ai早期,狄德羅設定圖靈測試標準,「如果他們發現一隻鸚鵡可以回答一切問題,我會毫不猶豫宣布它存在智慧。」,阿蘭圖靈設計了一個模仿遊戲 the imitation game:

如果你有兩個房間,一間放了一台機器,一間里放了一個人,你問他們問題,他們把答案寫出來給你,你不能區分那個是人,那個是計算機,說明機器是有智慧的。

1980年,美國哲學家john searle提出了不一樣的觀點,一個系統總能回答問題也不能說明它智能。

它提出了一個思維實驗:中文房間(Chinese Room Argument),實驗是這樣的:「假想在一個密閉的房間中,有一個完全不懂任何中文的美國人。他手上有這兩樣東西:1)所有的中文字符集(數據);2)如何處理這些中文字元的規則書(程序)。現在,門外有人在紙條上用中文寫上一個問題,遞進房間當中(輸入)。房間里這個完全不懂中文的美國人,按照手頭的規則書,把問題的正確回答拼湊出來後遞出去(輸出)。按照圖靈測試的標準,房間里的人被認為具有理解中文的智能,然而,實際上他對中文一無所知。」

這本規則書上僅僅只是基於語法(Syntax)的,而不涉及任何語義(Semantics)。你可以理解成這本規則書上,羅列了一切可能的中文問題,並給出了相應的中文回答,房間中的人,只需要按照對應的回答,拼湊出相應的中文字元遞出去,這個過程中,他對問題和答案是什麼意思,一無所知。

Full supervision NLP (Natural Language Processing) 全面監督自然語言處理

很多自然語言看起來很智能,你問什麼問題,都能答對,但它的演算法很簡單。上圖中是傳統的自然語言處理的系統圖,它的分析有很多層,從語音(speech)變成文字(asr),文字再分析詞(morphological analysis)的拼寫,再分析語法(syntactic analysis),分析語義(semantic parsing),分析句子和句子之間的語義分析(discourse processing),最後到具體的應用(applications:如回答問題,控制機器) 。

傳統的自然語言處理的方法是一層一層,每一層都是一個模型,每個模型都是要靠語言學家linguist在大量的數據上用模型標,系統每一層都需要大量的標註。

上圖中盒子相當於系統,它很聰明什麼都能答對,人代表演算法,但是人不是很智能,他只能rull lookup,真正的智能都在樹上,書是上千個語言學家phd嘔心瀝血寫出來,書代表很多很多人的經驗。問題這套系統要用幾千個phd,這是很耗費人力,系統的開發會很慢,這都說明傳統的自然語言處理系統是勞動密集型的業務。


推薦閱讀:
相关文章