我和NLP的故事(轉載)

正值ACL錄用結果發佈,國內的老師和同窗們又是一次大豐收,在這裏再次恭喜全部論文被錄用的老師和同窗們!我人品爆發,也收穫了本身碩士階段的第二篇ACL論文。原本只是想單純分享下本身中論文的喜悅,但沒成想收到這麼多老師和同窗的祝賀與鼓勵,實在是受寵若驚,在這裏也再次感謝各位老師和同窗,期待與你們在ACL進行面對面的交流。 個人微博發佈後,龍星鏢局大神發來邀請,但願我能寫一篇小文講一講本身的研究。但做爲一個小碩士生誠然沒什麼拿的出手的成果,思來想去,就講一講這幾年來作NLP研究的經歷與感覺好了,但願可以對在國內讀研的,和我一樣迷茫過的同窗有一些幫助。面試

第一次接觸天然語言處理是在本科三年級的時候,那時候我在哈爾濱工業大學網絡智能實驗室跟關毅老師作WI輸入法,當時我負責作的是拼音輸入法的智能糾錯功能。在這期間瞭解到了語言模型和隱馬爾科夫模型的概念。儘管當時尚未很深刻的理解其背後深入的原理,但我馬上就被其背後所蘊藏的智慧迷住了,今後決定這就是我要研究的方向。到了大四的時候,收到了百度NLP部門實習的offer,此次實習對個人人生規劃產生了巨大的影響。儘管當時已經保研到北大,可是和大多數同齡人同樣,開始懷疑是繼續讀書好仍是直接工做好。帶着試試看的思想,決定先去實習感覺一下。當時實習所在的部門大牛雲集,包括NLP界頂頂有名的王海峯老師,吳華老師等等,各類PhD、大神就更數不勝數了。隨着實習的進行,我進一步感覺到了NLP的魅力,我但願有一天我也可以設計本身的模型,但願個人模型可以上線改變億萬人的生活。但理想很豐滿,現實很骨感,我開始意識到本身的知識儲備是多麼不足。因而我堅決了本身的決定:讀研算法

既然選擇了讀研,就要爲讀研作充分的準備。在本科畢業後的暑假,我沒有選擇處處旅遊,而是選擇把本身關在家裏補充各類知識。當時看了Andrew Ng斯坦福的公開課以及Coursera的公開課,看完了大半本英文原版的《Speech Recognition and Language Processing》,看了一遍《Pattern Recognition and Machine Learning》。固然,這兩本書我看完第一遍後也就看懂了其中30%的內容,因此後續讀研後又讀了不少遍。一直到如今,PRML我大概總共讀了4遍,但說實話,這本聖經可能我到如今也只能真正理解其中60%--70%的內容。固然,這對於我來講也足夠了,由於我並無想成爲ML領域的專家,因此不少內容就沒有細細研究。網絡

因爲實習時受的「刺激」,開始讀研時就躊躇滿志必定要利用好研究生三年作最頂級的研究,因此在開學的第一天我就給導師發了封郵件,立志要在碩士期間發表一篇頂級會議論文。這個目標當時對我來講簡直是癡人說夢,由於實驗室的歷史上幾乎沒有碩士生可以在讀研期間發表頂級論文。在這裏不得不提一下個人導師常寶寶老師,若是沒有他個人目標不可能實現。在我發完那封慷慨激昂的郵件後,導師表示很是鼓勵。和國內大多數的導師不一樣,常老師歷來沒有對咱們的研究內容作強制規定,也歷來沒有要求咱們去作外面的項目,相反,他鼓勵咱們尋找咱們本身的研究方向,作本身感興趣的內容。同時,他的學術水平也很是高,能在我遇到困難的時候給予很是細節的指導。這些外界的優良條件爲後續的研究鋪平了道路。ide

研一上的時候由於知識儲備有限,因此和導師討論了下研究內容,導師決定作Topic Model相關的內容。由於相對來說Topic Model比較好入門。通過幾番討論後,造成了人生中第一個idea並很快完成了代碼的編寫,實驗效果也很不錯。因而在研一上學期我就迎來了本身人生中第一次投稿——ACL2013。個人英文寫做能力其實並很差,當時寫完論文後,導師幾乎是所有推翻了重寫了一遍。那時候還正好遇上過年,我深入的記得初一的晚上,我和導師在電話裏遠程討論如何修改論文。通過無數次的雕琢,個人第一篇paper《Inducing Word Sense with Automatically Learned Hidden Concepts》就這樣誕生了。我興致沖沖的投了稿,期待結果,但最終結果是:reject。論文被拒心情天然是沮喪的,我一直認爲審稿人並無理解咱們論文的核心思想,因而心中怒罵審稿人。但常老師教導我不管結果如何,都要以平和的心態面對,積極修改論文。就這樣,個人研一上以一篇被reject的論文結束了。學習

研一下的時候繼續修改了這篇論文,而且隨着上課和日常讀論文的積累,知識量有了進一步的提高,也提出了本身的一個idea,實驗效果也不錯。由於上次被拒的陰影,決定先從國內的會議試試,導師也表示支持。因而寫了篇CCL投了。同時和大四保研的師弟一塊兒進一步改進了那篇被拒的論文,增長了新的模型,投了EMNLP。結果是CCL錄用了,EMNLP又被拒了。迎來了本身人生中第一篇論文錄用固然甚是開心,但離本身中頂會的目標還差很遠,天然心有不甘。這時的心情相對來說仍是很沮喪的,論文連續兩次被拒讓我懷疑idea是否是真是的是有問題,以致於我開始漸漸對這篇論文失去了信心,因此也沒有進一步去改這篇論文。研一眼看着就要結束了,本身尚未一個獨特的研究方向,就開始各類普遍的閱讀文獻。就在這時我看到了深度學習的一些內容。當時深度學習的內容尚未今天這麼全面爆發,我以爲這個這應該是一次百年不遇的機會,因而開始專一與深度學習方面文獻的閱讀。idea

研二上學期是歡樂的一學期。個人師兄的一篇論文被IJCNLP錄用,但師兄已經畢業不能開會,因而老師決定派我去參加,就這樣我迎來了本身人生中第一次國際會議以及本身人生中第一次oral presentation。會議是在日本開,各類吃喝玩樂天然就不用說了,但給我最大快感的是和同行老師、同窗們交流。我感覺到了出國開會並和領域的大牛們交流idea是多麼爽的一件事,因此此次會議更加堅決了我要發一篇屬於本身的頂會論文的決心。開會回來後趁着興奮勁產生了本身在深度學習方面的第一個idea,基於深度學習的分詞模型。當時,包括如今,深度學習在結構化模型中的應用仍是不多。所謂的結構化模型就是模型的輸出不是簡單的分類,而是一個具體的結構。例如序列標註模型、句法分析都屬於結構化模型範圍內。當時閱讀了大量這方面的文獻,以爲既然最大熵能夠擴展爲CRF,普通感知機模型能夠擴展爲結構化感知機模型,那神經網絡也必定能夠擴展爲結構化的神經網絡模型。分詞固然是最簡單的序列標註模型,因而我針對序列模型的特色,提出了Max Margin Tensor Neural Network,這個工做也是受到深度學習界的大牛Richard Socher的啓發。有了研一寫文章的經驗,這篇文章很快就完成了,固然又是幾經修改,最後在deadline以前和以前那篇屢投屢拒的文章一塊兒投了ACL2014.翻譯

研二下學期是豐收的一學期。我迎來了本身第一篇ACL論文《Max Margin Tensor Neural Network for Chinese Word Segmentation》,論文的來之不易可能只有投過稿的人才能體會到吧。。。。從寫論文,改論文,投稿,出review,到揣測審稿人心思,到response,再到焦慮的等待。當打開郵件,看到delighted的那一剎那,我怒吼了一聲「我X!中了!「,當時真的是眼淚都出來了,而後跑嚮導師辦公室嚮導師報喜。至於另一篇,依舊是被拒。。。。導師和我基本上已經放棄了那篇,因而改也沒改就又投了COLING,沒想到也中了(或許真是人品攢夠了)。這學期還和師弟一塊兒搞了一個無監督分詞的模型,後來投到EMNLP也被錄用了。第一次參加ACL、COLING的我被各路大神嚇的都不敢說話,但後來鼓起勇氣走上前和以前只有在paper和公開課裏才能見到的大牛們交流時,發現他們都很是和善,並且會很是鼓勵咱們這些年輕的研究者。IJCNLP,ACL,COLING這三次會議讓個人眼界大開,也極大地提升了個人交流能力,這對我後來面試facebook也起到了很重要的做用,固然這就是題外話了。設計

幸福來的太快,有種飄飄然的感受。這時候導師找我談話,但願能再接再勵,不要驕傲,繼續在深度學習領域發力。研三上學期開始嘗試了不少idea,但大多數都夭折了,後來決定在dependency parsing領域嘗試一下深度學習模型的效果,這也是我當初給本身選擇的方向中一個重要的分支,即基於樹結構的結構化模型。當時對dependency parsing只有基本概念的瞭解,對不少前人的工做都沒有深刻的研究。因而找來大量的文獻,天天把本身紮在文獻裏,看前人的方法、看各類算法、實現前人的模型。後來也造成了本身初步的idea,而後實現了下發現效果確實不錯,就這樣個人第二篇ACL,也是此次ACL被錄用的文章《An Effective Netural Network Model for Graph-based Dependency Parsing》誕生了。和往年同樣,依舊是在大年三十的夜裏反覆的修改論文,直到最近論文被錄用。ci

回首本身研究生的幾年,可以完成本身的目標有兩個不可或缺的緣由:一、導師無私的支持 二、運氣。我不想灌太多雞湯,說些經過本身不斷努力終於實現理想之類的。想實現本身的目標努力是不可或缺的必要條件,想不努力就成功是幾乎不可能的。但努力不是充分條件,不少時候論文是否被錄用,找工做是否可以拿到offer都取決於」天時地利人和「。因此即便咱們被拒了也不要氣餒,極可能就是此次運氣稍稍差一點。固然有句話我一直很喜歡,那就是」越努力,越幸運「,所謂厚積薄發,我相信孜孜不倦努力的人是不會太倒黴的。拋去這些主觀因素,這短短三年的研究也積累了一些客觀的投稿的經驗,寫在這裏分享給你們,但願可以對和我同樣在國內讀研的同窗們有幫助吧:深度學習

  1. 文章不是越高深越容易中,相反,可以被錄用的論文一般都講的通俗易懂。最開始投稿的時候,我追求一些高大上的詞彙,羅列顯得高大上的公式,但事實證實,審稿人是不可能有時間細細地去看公式,揣測模型的。因此咱們寫論文時必定要用最通俗的語言,解釋清咱們的motivation,解釋爲何咱們的模型可以work
  2. 對於咱們這些經驗尚淺的研究人員,idea的來源無非兩種:老方法新任務,老任務新方法。我採用的就是老任務新方法的策略,很幸運本身可以很早就遇上深度學習這個高潮,並及時作了一些改進和應用。
  3. 永遠不要以爲本身的idea太水就不作了。其實大部分的工做都是increamental的,可以產生顛覆性影響的模型是不多的,只要有必定的改進思路,咱們就能夠嘗試去作,並寫成文章。不少時候,咱們以爲咱們的idea水是由於咱們太瞭解本身的研究領域了,以致於以爲咱們的idea顯而易見。然而實際上,對於外人而言,極可能咱們的idea是有其自身價值的。
  4. 沒有idea時,大量閱讀文獻是一個很是好的方式,說不定某篇文章就會給咱們很大的啓發
  5. 要多讀英文的參考資料,一方面大部分的資料都是直接用英語撰寫的,看翻譯過來的內容不免會有信息的丟失。另外一方面,大量閱讀英文的資料可以對咱們的語感有很大幫助,在寫論文時才能作到下筆有神,表意清晰。
  6. 審稿人的水平天然是良莠不齊的,不少時候審稿人的確會提一些比較詭異的問題。即便這樣,在response的時候也不要言辭激烈,以爲本身是上帝,審稿人都是XX。回覆必定要不卑不亢,平下心回答好審稿人提出的問題,該認可錯誤就認可。通常來說,審稿人都是刀子嘴豆腐心,可能最終的結果沒有咱們實際想象的那麼壞

以上就是我做爲國內一個普通研究生的研究經歷,但願可以對和我同樣的同窗有所幫助。頂會的夢想其實並非那麼高不可攀,我相信咱們國內的青年研究者只要肯努力都可以產出很是優秀的論文。仍是那句話「越努力,越幸運」,祝全部人好運!

相關文章
相關標籤/搜索