自然語言處理在 2017 年有哪些值得期待的發展?

鏡像問題:基於深度學習的自然語言處理在 2016 年有哪些值得期待的發展?

本題已收錄至知乎圓桌:人工智慧 · 語言智能,更多「人工智慧」相關話題歡迎關注討論


謝邀。

從符號主義和連接主義的對立走向合作,從靜態分析走向交互,從語法和淺層語義走向深層語義,從功能主義走向認知和情感體驗。

2016年是深度學習的大潮衝擊NLP的一年,果實豐碩。從底層的pos tagging, word segmentation, NER,到高級的任務比如semantic analysis, machine translation, machine reading comprehension, QA system, natural language generation。。都是全面開花,Deep learning for NLP的架構越來越成熟。經典的Speech and Language Processing也出了第三版的draft( http://web.stanford.edu/~jurafsky/slp3/ )。

那麼在2017年,我們又有什麼樣的期待呢?

我想對於這個問題最有發言權的應該是Christopher Manning——他在Computational Linguistics and Deep Learning (http://www.mitpressjournals.org/doi/pdf/10.1162/COLI_a_00239) 中的一些論點到了2017年依然成立。

NLP無疑依然是機器學習有待攻克的下一個重大領域。但是由於語言本身已經是一種高層次的表達,深度學習在NLP中取得的成績並不如在視覺領域那樣突出。尤其是在NLP的底層任務中,基於深度學習的演算法在正確率上的提升並沒有非常巨大,但是速度卻要慢許多,這對於很多對NLP來說堪稱基礎的任務來說,是不太能夠被接受的,比如說分詞

在一些高級任務中,基於端到端學習的神經網路確實取得了令人矚目的成就,尤其是機器翻譯方面。由於複雜性太高,這樣的高級任務在此前是非常難以攻克的,無論是基於常規的統計學習方法,還是基於規則的方法。深度神經網路強悍的「記憶」能力和複雜特徵提取能力非常適合於這類問題。在完形填空類型的閱讀理解(cloze-style machine reading comprehension)上,基於attention的模型也取得了非常巨大的突破(在SQuAD數據集上,2016年8月的Exact Match最好成績只有60%,今年3月已經接近77%,半年時間提升了接近20個點,這是極其罕見的)。

但同時,深度學習的不可解釋的特性和對於數據的需求,也使得它尚未在要求更高的任務上取得突破,比如對話系統(雖然對話在2016年隨著Echo的成功已經被炒得火熱)。

相比於機器翻譯,對話系統並不是一個簡單的「sequence-to-sequence」的問題(雖然很多paper嘗試這樣去做)。對話系統必須要能夠準確地理解問題,並且基於自身的知識系統和對於對話目標的理解,去生成一個回復。這並不是簡單地去尋找「word alignment」就可以做到的。當然更不必說對於上下文和情感的理解。而相比於完形填空類型的機器閱讀理解,對話系統可能的回復是完全開放的,並不是僅限於「答案包含在文本中」這樣的情形。而開放式的閱讀理解,同樣是一個AI-complete的難題。

這就要求我們對於交互的過程有更深刻的理解,對於人類在交流的過程中的認知過程和情感變化有更好的模型。而這個方向上,深度學習暫時還沒有更好的辦法。

在這個過程中,就像Chris Manning說的一樣,我們需要更好的理解模型的組合( compositionally in models)。

很顯然,從傳統的語言學到我們現在的端到端的靠大量數據的訓練結果,其間還有很大一塊認知過程的坑沒有被填上。有一個有意思的事情是,在大多數端到端的NLP應用中,在輸入中包括一些語言學的特徵(例如pos tag或dependency tree)並不會對結果有重大影響。我們的一些粗淺的猜測,是因為目前的NLP做的這些特徵,其實對於語義的表示都還比較差,某種程度來說所含信息還不如word embedding來的多。對於極其複雜、需要非常深的語義理解的任務來說,這些語言學特徵並沒有太多作用。這並不一定是對的——在結合語言學的規則與深度學習方面,太多實驗等著我們去做了。

所以,我們需要解決的不僅僅是Semantic Role Labelling,甚至Semantic Parsing或是Abstract Meaning Representation( http://amr.isi.edu/);我們需要知道的是從符號到人類體驗的一種映射——不僅僅是「紅色」可以被翻譯為「Red」——我們想知道人類在看到紅色時的感受,以及紅色所代表的情緒。

我們想要復原的是文字完全無法記錄下來的現場的氣氛,情緒和心跳的感覺(embodied experience)。同樣的文字,在不同的場景,應該有完全不同的表達力。

我們相信,僅僅依賴word2vec(或其它distributed representation)或是先進的memory-augmented networks,或是傳統的NLP方法,都還無法解決這些問題

在情感和體驗的另一個極端,我們又希望語言能夠展示它「如雕塑一樣的美感」(羅素形容數學用語),可以精準地描述概念和邏輯。這要求我們在語言的模糊性上建立出來健壯的知識和推理體系——同樣,現在的深度學習也還不能做到這一點。

只有結合了符號邏輯,神經網路以及認知科學,才有可能讓我們在對語言的理解和處理上更上一層樓。(硬廣Bayersian Cognitive Science/PPL https://www.zhihu.com/question/59442141/answer/166358150)

現在結合一些熱門的領域(任務)來談一談具體的方向。

  • Dialogue

是的,自然語言對話將會開創一個新的人機交互時代。但是2016年流行的seq2seq對話框架不會給我們太大的驚喜。雖然理論上,如果能夠給足訓練數據,它是可以表現得很好的。

原因在於,對話不同於翻譯,翻譯的input和output肯定是一個domain的東西,這大大限制了可能的解的空間。更重要的是,對話中有大量的省略和指代,我們必須通過大量的上下文信息才能夠理解對話。這樣的後果就是訓練對話系統對於訓練數據有指數級別上升的要求。

就算我們已經記錄了這個世界上所有人類的對話,明天依然會有人在不同的場景下說出的話,根本沒有在訓練集中出現。

所以,2017年的對話系統,一定是在限定的場景下發揮作用的。

即便是限定場景下的對話,也存在以下的幾個難點需要攻克。後面例舉的文章只是拋磚引玉。

1. 怎樣評估對話的質量?必須要和標準答案回答得一模一樣才算好嗎?(Towards an automatic Turing test: Learning to evaluate dialogue responses https://openreview.net/pdf?id=HJ5PIaseg)

2. 怎麼利用對話中人類的反饋來幫助學習?(Dialogue Learning With Human-in-the-Loop: https://arxiv.org/pdf/1611.09823.pdf)

3. 怎樣keep track of dialogue state?怎麼定義目標?怎麼記住多個對話片段?(Frames: A Corpus for Adding Memory to Goal-Oriented Dialogue Systems:https://arxiv.org/abs/1704.00057)

4. 如何去做對話的policy?(Towards Information-Seeking Agents:https://arxiv.org/abs/1612.02605)

5. 如何結合記憶以及情感?(Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory:https://arxiv.org/abs/1704.01074)

6. 上下文如何建模?(Improving Frame Semantic Parsing with Hierarchical Dialogue Encoders:https://arxiv.org/abs/1705.03455)

7. 對話回復的生成如何變得可控?(Data Distillation for Controlling Specificity in Dialogue Generation https://arxiv.org/pdf/1702.06703.pdf)

  • 閱讀理解(Open-domain QA)

去年到今年初MRC取得的進展大家已經有目共睹了,最高表現的架構基本趨同。估計再刷下去就要達到super-human performance了(人類的 baseline是82 EM, 91 F1)。比較有意思的是大家基本上都放棄了multi-hop reasoning的結構,原因非常簡單:Stanford的SQuAD跟FB的bAbI不一樣,沒有專門設立這種需要推理的項目(諸如John went to the hall; John putdown the ball; Where is the ball?這類問題),大部分的問題主要依賴Attention機制就可以抓得很好了。bAbI這樣的偽推理看來大家也是受夠了。

但是SQuAD本身也存在很多問題,拋開細的面不說,cloze-style本來就有很大的問題。而且最近出現了海量的刷SQuAD的文章,品質老實說並不敢恭維。幸好Stanford的Chen Danqi大神的Reading Wikipedia to Answer Open-Domain Questions (http://cs.stanford.edu/people/danqi/papers/acl2017.pdf )打開了很多的方向。通過海量閱讀(「machine reading at scale」),這篇文章試圖回答所有在wikipedia上出現的factoid問題。其中有大量的工程細節,在此不表,僅致敬意。

  • Unsupervised Learning

在分散式語義表示這個「傳統」深度學習領域(2013年算是很「傳統」了吧),主要的工作還是向下,向上和向周邊擴展(不小心說了句廢話)。

向下是指sub-word level。(Enriching Word Vectors with Subword Information:https://arxiv.org/abs/1607.04606)

向上當然就是句子/篇章級別了。(A Simple but Tough-to-Beat Baseline for Sentence Embeddings:https://openreview.net/pdf?id=SyK00v5xx)

向周邊呢?就是面向任務,譬如知識庫里的entity-embedding,或者面向sentiment analysis的情感-embedding。。好吧,我承認這類的文章真的已經看得太多了,並沒有太大新意(no offense:我知道無論如何「boring」的文章,背後都是大家不眠不休的心血)。

  • NLG

通過RNN-language model來做語言生成已經很成熟了,這都已經出survey paper了——Survey of the State of the Art in Natural Language Generation: Core tasks, applications and evaluation:https://arxiv.org/pdf/1703.09902.pdf

但是通過GAN/VAE來生成呢?

當然,做這個方向的人也很多,比如MSRA的Adversarial Neural Machine Translation(https://arxiv.org/abs/1704.06933)和Li Jiwei的Adversarial Learning for Neural Dialogue Generation:https://arxiv.org/pdf/1701.06547.pdf

不過認真地說,我同意Ian Goodfellow在Reddit里說的:「GANs have not been applied to NLP because GANs are only defined for real-valued data.」 (https://www.reddit.com/r/MachineLearning/comments/40ldq6/generative_adversarial_networks_for_text/)

當然,做一些twist當然是可以強行讓它work的,或者用VAE——但是目前看來,這些生成模型在自然語言方面並沒有在圖像方面的顯著療效更重要的是,目前NLG的重要課題不是生成的質量,而是要搞清楚想說什麼——類比一下,就如同就算人腦的Broca區域沒有問題,可是Wernicke區域出現了問題,那麼病人會說一口流利的語言,可是每一句話都毫無意義——這樣的生成當然也是毫無意義的了。

所以這個領域,其實還是任重道遠啊。目前的很多「自然語言生成」或「寫稿機器人」,還是carefully-crafted的模版來的多。

總結

通過2016年的努力,deep learning在NLP領域已經站穩了腳跟。我們期待2017年語言學和機器學習的進一步結合,讓機器更加聰明,更懂你。

歡迎大家補充、討論:)

本回答來自竹間智能Emotibot機器學習科學家趙寧遠。


2016年回答過這個題目,現在看來似乎並沒有完全答對。也許這就是科研創新的魅力所在,就像一盒巧克力,打開前永遠不知道它的口味是什麼。

2017年已經將近過半,其實有一些跡象已經可以從ACL 2017等會議論文窺豹一斑。我覺得2017年的發展將體現在以下幾個方面:

先驗語言知識與深度學習模型的有機融合。從ACL 2017上NMT的相關論文可以看到,學者們紛紛將各種語言知識(如句法等)應用到NMT模型中,進一步提升機器翻譯效果。該思路應該具有一定普適性。

對抗訓練思想的應用。雖然GAN本身尚未在NLP各領域得到廣泛驗證,但對抗訓練思想已經在NMT等模型中開始發揮重要作用,值得關注。

其他稍後想到了繼續補充。


深度學習目前已經在NLP領域站穩腳跟 ,但是還沒有成熟到像語音和圖像那樣可以和人類PK的程度,所以目前還是上升期,有三個點非常值得關註:
1. 深度學習最初進入NLP走的是端到端的路線,靠無需人工特徵知識即可達到state-of-art的賣點在NLP站穩腳跟。但是後面的發展過程中大家逐漸發現,只靠端到端是不行的。這個不僅僅是因為很多NLP任務監督數據匱乏的問題,因為在機器翻譯這種語料充足的任務中,純端到端的方法有很快遇到了瓶頸。所以大家把目光重新投向傳統方法,和傳統方法結合,藉助外部知識來提高端到端模型的表現逐漸成為主流。機器翻譯作為NLP領域中深度學習應用最成熟的方向,這一點尤為明顯。2017年,這種結合的思路應該會進一步發展並向對話、摘要等其他NLP任務擴展,同時也會有更多通用的結合方法出現。
2. 強化學習開始在NLP發力。AlphaGo的成功帶來了強化學習的一輪熱潮,大家很自然的會考慮用強化學習解決NLP中的一些問題。多輪對話是強化學習非常自然的應用場景,而chatbot的火熱又在裡面添了一把柴。另外強化學習在信息檢索這種傳統場景中的應用也值得關注,如多輪搜索。還有一點就是文本生成,目前文本生成還是很初級的階段,而文本生成是可以看做一個馬爾可夫決策過程,用強化學習解決的,因此很期待後續強化學習在這方面的應用。
3. GAN在NLP開始發力。GAN在圖像領域取得巨大成功,大家很自然的會想到把對抗的思路引入到NLP領域。目前除了在文本生成任務中結合GAN和強化學習的應用之外,多任務學習中也有對抗思想的引入。目前GAN在NLP中的效果還很一般,這個主要受制於NLP離散特性帶來的梯度學習困難,因此GAN演算法針對離散場景的改進是一個很有價值的研究方向,而由此帶來的NLP任務突破則很值得期待。另一方面,GAN由於剛剛進入NLP領域,它的生成模型部分一般直接套用現有的複雜模型,而判別模型則比較簡單,因此有很大改進空間,例如從matching方向借鑒一些更複雜的匹配模型。
先寫到這裡,後續想到了再補充。


1、最有可能的是機器翻譯,借鑒多任務學習(MultiTask Learning)和transfer Learning的多語言翻譯。

2、智能對話,多輪對話,對話更natural,更人性化。

3、語言理解,情感分析,text summarization等


我覺得套模型就是bull shit。刷分也是。

雖然現在大部分的工作都是這樣的


個人感覺自然語言生成(NLG)將會逐漸有所發展吧,主要應用在問答系統、聊天機器人等領域吧。模型方面期待VAE和GAN吧~純屬個人見解。


半監督學習,充分利用大規模的無標籤數據;

多任務學習、跨領域學習與遷移學習,利用其它領域和任務的數據;

深度學習結合先驗知識,包括句法知識、大規模知識庫、推理結構等。

以上。


我的期待和大家的可能不太一樣,我希望的是深度學習在NLP方面繼續停滯不前,然後大家開始反思深度學習的局限,進而結束這一輪的人工智慧熱潮
為什麼這麼說呢,其實最近聽到很多類似的聲音了,比之前漸漸多了,往小了說,NLP大部分傳統領域,比如分類分詞什麼的,深度學習其實並沒有提升,只是差不多,是高還是低完全看實驗者的運氣,然而消耗巨大,機器翻譯毫無疑問,深度學習是帶來很大提升的,但是只要注意到它在人機對話,尤其多輪對話上的表現,你就會發現,機器翻譯相當於是把開放性問題轉化為封閉性的問題,限定了場景,同時語料豐富,這才造就了它的巨大提升。用不可知的模型了解不可知的語言體系,還是太難了。往大了說,科研就是調參套模型跑模型試錯?好多人都覺得沒意思了,找不到初心了。
還有另外一個趨勢,可能也會從另一個角度去反思深度學習,就是在數據量和計算量足夠大的情況下,是不是只有人工神經網路可以超神,相信後面類似的工作也會越來越多


理論:無 (看不到有突破,對語言認知的研究計算機科學家做不了太多)

實踐:1. 知識表達,移植。2. 新的大規模訓練方法。

https://www.linkedin.com/pulse/how-engineer-ai-understand-human-language-even-before-quan


這個問題好大,我從我的角度簡單來說說,大家別噴哈。

自然語言處理(NLP)是指創造能夠處理或是「理解」語言以完成特定的任務的系統。這些任務可能包括:

  • 問答系統(也就是蘋果Siri、微軟小娜、訊飛語音所做的事情)
  • 語義情感分析(判斷一句話隱含的積極或消極意義)
  • 語音識別、機器翻譯(將一段文本翻譯成另一種語言,彩雲小譯在做的事情)
  • 詞性標註(各大輸入法好像都在做)

傳統的自然語言處理方法涉及到了很多語言學本身的知識,裡面有太多的專業知識。今天我換個角度來和大家說說。

首先為什麼 NLP 現在會這麼火。

大家可能已經聽得很多了,是由於大數據的快速積累、大規模並行計算的快速發展、新演算法的不斷出現共同促使了神經網路技術改頭換面,重出江湖。這個過程中,雲計算與大數據功不可沒。所以,如果大家在從事 NLP 相關的工作或者創業的話,雲計算和大數據是必不可少的工具。

其次是行業角度,幾年會比較火的幾個行業:

1、晶元行業,由於大規模的演算法模型以及時效性的需求,深度學習晶元必將是一個強需求。

2、語音識別翻譯,舉個例子:彩雲小譯,它是一款實時語音(中英文)翻譯的應用,只需要對著屏幕說任意語言,小譯就會幫你不斷的實時翻譯成另外一種語言,堪稱同聲翻譯。

3、語義分析,進行大規模的數據分析從而支持決策。

最後做個小廣告,上面說的彩雲小譯就是使用了青雲QingCloud 的雲計算服務,自己不需要去採購大量的物理硬體設備,也不需要為帶寬和計算髮愁,只需要將全部精力放在自己的核心計算框架以及邏輯上即可。


unsupervised learning,獲取自動標註數據。

multi-task,但是必須是能夠相關互相促進的task。

cross-lingual,跨語言貌似還只是大部分用於機器翻譯,利用不同語言的特點應該可以利於其他任務。


自然語言發展到現在也只能說是剛剛和產業相結合起來,任何一門技術的發展都是需要應用到產業化中去才有發展前途,個人認為自然語言以後的發展會有兩個方向:

1.廣度上,這個方面主要是指自然語言發展和產業化的結合上。目前感覺應用到自然語言處理的一些地方都比較高大上。其實自然語言要想發展的好,必須要深入到各個領域,逐漸應用到各行各業中去,比方說旅遊、法律、自然災害等等領域。

2.深度上,這個方面主要涉及到一些技術方面的。上邊也講到與產業結合,與產業結合的一個首要的條件是要技術過硬,比方說在圖像的識別、語音的識別等等方面。

上邊說的有點籠統了,但是個人一直堅信一個信條:在自然語言處理的領域中,一定要堅持從數據中來再回到數據中去。


剛入坑小白感覺問答系統、短文本單輪對話、多輪交互對話值得期待。


1、對話的自然與上下文的連貫,包括語義連貫與情感連貫等;

2、跨語言的詞向量應該會比較熱;

3、GAN對對話生成可能會有幫助,再加上facebook的cnn翻譯,感覺也可以用到對話上

4、模型優化應該也會有所發展,具體沒想好;

另:忽然感覺好幾篇論文出來了………………


很失望全部在提GAN,真是什麼流行往哪裡撲,今年又不知道要有多少GAN+x的文章出來。AI灌水之風何時停啊。


推薦閱讀:

「人工智慧」這個詞是不是被計算機科學與技術方向的人濫用了?
支持向量機(SVM)是什麼意思?
如果Cortana,siri,小冰一起聊天會是怎樣的場景?
深度學習有哪些好玩的且易於實現的論文?
普通程序員如何向人工智慧靠攏?

TAG:人工智慧 | 機器學習 | 自然語言處理 | 深度學習(Deep Learning) |