學習 | 如何在NLP領域幹成第一件事

圖片描述

周明 | 微軟亞洲研究院首席研究員
來源 | 微軟研究院AI頭條

天然語言處理(簡稱NLP),是研究計算機處理人類語言的一門技術,包括:算法

  1. 句法語義分析:對於給定的句子,進行分詞、詞性標記、命名實體識別和連接、句法分析、語義角色識別和多義詞消歧。
  2. 信息抽取:從給定文本中抽取重要的信息,好比,時間、地點、人物、事件、緣由、結果、數字、日期、貨幣、專有名詞等等。通俗說來,就是要了解誰在何時、什麼緣由、對誰、作了什麼事、有什麼結果。涉及到實體識別、時間抽取、因果關係抽取等關鍵技術。
  3. 文本挖掘(或者文本數據挖掘):包括文本聚類、分類、信息抽取、摘要、情感分析以及對挖掘的信息和知識的可視化、交互式的表達界面。目前主流的技術都是基於統計機器學習的。
  4. 機器翻譯:把輸入的源語言文本經過自動翻譯得到另一種語言的文本。根據輸入媒介不一樣,能夠細分爲文本翻譯、語音翻譯、手語翻譯、圖形翻譯等。機器翻譯從最先的基於規則的方法到二十年前的基於統計的方法,再到今天的基於神經網絡(編碼-解碼)的方法,逐漸造成了一套比較嚴謹的方法體系。
  5. 信息檢索:對大規模的文檔進行索引。可簡單對文檔中的詞彙,賦之以不一樣的權重來創建索引,也可利用一、二、3的技術來創建更加深層的索引。在查詢的時候,對輸入的查詢表達式好比一個檢索詞或者一個句子進行分析,而後在索引裏面查找匹配的候選文檔,再根據一個排序機制把候選文檔排序,最後輸出排序得分最高的文檔。
  6. 問答系統:對一個天然語言表達的問題,由問答系統給出一個精準的答案。須要對天然語言查詢語句進行某種程度的語義分析,包括實體連接、關係識別,造成邏輯表達式,而後到知識庫中查找可能的候選答案並經過一個排序機制找出最佳的答案。
  7. 對話系統:系統經過一系列的對話,跟用戶進行聊天、回答、完成某一項任務。涉及到用戶意圖理解、通用聊天引擎、問答引擎、對話管理等技術。此外,爲了體現上下文相關,要具有多輪對話能力。同時,爲了體現個性化,要開發用戶畫像以及基於用戶畫像的個性化回覆。

隨着深度學習在圖像識別、語音識別領域大放異彩,人們對深度學習在NLP的價值也寄予厚望。再加上AlphaGo的成功,人工智能的研究和應用變得煊赫一時。天然語言處理做爲人工智能領域的認知智能,成爲目前你們關注的焦點。不少研究生都在進入天然語言領域,寄望將來在人工智能方向大展身手。但你們經常遇到一些問題——俗話說「萬事開頭難」,若是第一件事情成功了,學生就能創建信心,找到竅門,從此越作越好。不然,也可能就灰心喪氣,甚至離開這個領域。這裏針對給出我我的的建議,但願個人這些粗淺觀點可以引發你們更深層次的討論。編程

圖片描述

建議01如何在NLP領域快速學會第一個技能?

個人建議是:找到一個開源項目,好比機器翻譯或者深度學習的項目。理解開源項目的任務,編譯經過該項目發佈的示範程序,獲得與項目示範程序一致的結果。而後再深刻理解開源項目示範程序的算法。本身編程實現一下這個示範程序的算法。再按照項目提供的標準測試集測試本身實現的程序。若是輸出的結果與項目中出現的結果不一致,就要仔細查驗本身的程序,反覆修改,直到結果與示範程序基本一致。若是仍是不行,就大膽給項目的做者寫信請教。在此基礎上,再看看本身可否進一步完善算法或者實現,取得比示範程序更好的結果。網絡

建議02如何選擇第一個好題目?

工程型研究生,選題不少都是老師給定的。須要採起比較實用的方法,紮紮實實地動手實現。可能不須要多少理論創新,可是須要較強的實現能力和綜合創新能力。而學術型研究生須要取得一流的研究成果,所以選題須要有必定的創新。我這裏給出以下的幾點建議。機器學習

先找到本身喜歡的研究領域。你找到一本最近的ACL會議論文集(編者按:能夠參考ACL2016大會綜述), 從中找到一個你比較喜歡的領域。在選題的時候,多注意選擇藍海的領域。這是由於藍海的領域,相對比較新,容易出成果。ide

充分調研這個領域目前的發展情況。包括以下幾個方面的調研:方法方面,是否有一套比較清晰的數學體系和機器學習體系;數據方面,有沒有一個你們公認的標準訓練集和測試集;研究團隊,是否有著名團隊和人士參加。若是以上幾個方面的調研結論不是太清晰,做爲初學者可能不要輕易進入。工具

在確認進入一個領域以後,按照建議一所述,須要找到本領域的開源項目或者工具,仔細研究一遍現有的主要流派和方法,先入門。學習

反覆閱讀本領域最新發表的文章,多閱讀本領域牛人發表的文章。在深刻了解已有工做的基礎上,探討還有沒有一些地方能夠推翻、改進、綜合、遷移。注意作實驗的時候,不要貪多,每次實驗只須要驗證一個想法。每次實驗以後,必需要進行分析存在的錯誤,找出緣由。測試

對成功的實驗,進一步探討如何改進算法。注意實驗數據必須是業界公認的數據。編碼

與已有的算法進行比較,體會可以得出比較通常性的結論。若是有,則去寫一篇文章,不然,應該換一個新的選題。人工智能

圖片描述

建議03如何寫出第一篇論文?

接上一個問題,若是想法不錯,且被實驗所證實,就可開始寫第一篇論文了。

肯定論文的題目。在定題目的時候,通常不要「…系統」、「…研究與實踐」,要避免太長的題目,由於很差體現要點。題目要具體,有深度,突出算法。

寫論文摘要。要突出本文針對什麼重要問題,提出了什麼方法,跟已有工做相比,具備什麼優點。實驗結果代表,達到了什麼水準,解決了什麼問題。

寫引言。首先講出本項工做的背景,這個問題的定義,它具備什麼重要性。而後介紹對這個問題,現有的方法是什麼,有什麼優勢。可是(注意可是)現有的方法仍然有不少缺陷或者挑戰。好比(注意好比),有什麼問題。本文針對這個問題,受什麼方法(誰的工做)之啓發,提出了什麼新的方法並作了以下幾個方面的研究。而後對每一個方面分門別類加以敘述,最後說明實驗的結論。再說本文有幾條貢獻,通常寫三條足矣。而後說說文章的章節組織,以及本文的重點。有的時候東西太多,篇幅有限,只能介紹最重要的部分,不須要面面俱到。

相關工做。對相關工做作一個梳理,按照流派劃分,對主要的最多三個流派作一個簡單介紹。介紹其原理,而後說明其侷限性。

而後可設立兩個章節介紹本身的工做。第一個章節是算法描述。包括問題定義,數學符號,算法描述。文章的主要公式基本都在這裏。有時候要給出簡明的推導過程。若是借鑑了別人的理論和算法,要給出清晰的引文信息。在此基礎上,因爲通常是基於機器學習或者深度學習的方法,要介紹你的模型訓練方法和解碼方法。第二章就是實驗環節。通常要給出實驗的目的,要檢驗什麼,實驗的方法,數據從哪裏來,多大規模。最好數據是用公開評測數據,便於別人重複你的工做。而後對每一個實驗給出所需的技術參數,並報告實驗結果。同時爲了與已有工做比較,須要引用已有工做的結果,必要的時候須要重現重要的工做並報告結果。用實驗數聽說話,說明你比人家的方法要好。要對實驗結果好好分析你的工做與別人的工做的不一樣及各自利弊,並說明其緣由。對於目前尚不太好的地方,要分析問題之所在,並將其列爲將來的工做。

結論。對本文的貢獻再一次總結。既要從理論、方法上加以總結和提煉,也要說明在實驗上的貢獻和結論。所作的結論,要讓讀者感到信服,同時指出將來的研究方向。

參考文獻。給出全部重要相關工做的論文。記住,漏掉了一篇重要的參考文獻(或者牛人的工做),基本上就沒有被錄取的但願了。

寫完第一稿,而後就是再改三遍。

把文章交給同一個項目組的人士,請他們從算法新穎度、創新性和實驗規模和結論方面,以挑剔的眼光,審覈你的文章。本身針對薄弱環節,進一步改進,重點增強算法深度和工做創新性。

而後請不一樣項目組的人士審閱。若是他們看不明白,說明文章的可讀性不夠。你須要修改篇章結構、進行文字潤色,增長文章可讀性。

如投ACL等國際會議,最好再請英文專業或者母語人士提煉文字。


做者簡介

圖片描述

周明

微軟亞洲研究院首席研究員、ACL候任主席(president)、中國計算機學會中文信息技術專委會主任、中國中文信息學會常務理事、哈工大、天津大學、南開大學、山東大學等多所學校博士導師。1985年畢業於重慶大學,1991年獲哈工大博士學位。1991-1993年清華大學博士後,隨後留校任副教授。1996-1999訪問日本高電社公司主持中日機器翻譯研究。他是中國第一個中英翻譯系統、日本最有名的中日機器翻譯產品J-北京的發明人。1999年加入微軟研究院並隨後負責天然語言研究組,主持研製了微軟輸入法、對聯、英庫詞典、中英翻譯等著名系統。近年來與微軟產品組合做開發了小冰(中國)、Rinna(日本)等聊天機器人系統。他發表了100餘篇重要會議和期刊論文。擁有國際發明專利40餘項。

End

相關文章
相關標籤/搜索