0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么了解NLP基礎(chǔ)知識(shí)的重要?

電子工程師 ? 來(lái)源:lp ? 2019-03-15 09:33 ? 次閱讀

ACL 2019投稿剛剛落幕,投稿數(shù)超過(guò)了2800篇,可以說(shuō)是歷史以來(lái)最盛大的一屆ACL。在深度學(xué)習(xí)的推動(dòng)下,自然語(yǔ)言處理這個(gè)子領(lǐng)域也逐漸被推上人工智能大舞臺(tái)的最前列。

最近在跟同學(xué)的郵件、或者知乎留言中的交流中,不少同學(xué)尤其是剛?cè)耄╦in)門(keng)的同學(xué),提到了深度學(xué)習(xí)背景下做NLP科研的很多迷茫?;究梢詺w納為如下幾點(diǎn):如今一個(gè)模型,幾十行TensorFlow或者PyTorch就可以解決掉,大家不厭其煩地刷數(shù)據(jù)集的benchmark,但是因?yàn)槿缃駥?shí)現(xiàn)模型的門檻低一些,SOTA很難再刷的上去;就算好不容易刷上去了,因?yàn)槟P颓宦蔁o(wú)非修修補(bǔ)補(bǔ),文章投出去了因?yàn)閚ovelty受限,文章中不中看天;即便是文章中了,似乎并無(wú)太大新意,灌水中已然迷茫。

深度算法的風(fēng)靡會(huì)讓研究者過(guò)度關(guān)心這些算法本身,而層出不窮模型結(jié)構(gòu)的調(diào)整和改進(jìn)又讓我們眼花撩花。當(dāng)侃侃而談深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)變成一個(gè)很cool的事情時(shí),虛榮心會(huì)讓大家不約而同地忽略了幾個(gè)重要點(diǎn)。基于我自己多年來(lái)曾經(jīng)走過(guò)的彎路,踩過(guò)的坑,這篇文章做了一點(diǎn)點(diǎn)小的總結(jié)。希望會(huì)對(duì)剛剛進(jìn)入NLP領(lǐng)域的同學(xué)有所幫助。

1、了解NLP的最基本知識(shí):Jurafsky和Martin的Speech and Language Processing是領(lǐng)域內(nèi)的經(jīng)典教材,里面包含了NLP的基礎(chǔ)知識(shí)、語(yǔ)言學(xué)掃盲知識(shí)、基本任務(wù)以及解決思路。閱讀此書(shū)會(huì)接觸到很多NLP的最基本任務(wù)和知識(shí),比如tagging, 各種parsing,coreference,semantic role labeling等等。這對(duì)于全局地了解NLP領(lǐng)域有著極其重要的意義。

書(shū)里面的知識(shí)并不需要爛熟于心,但是刷上一兩遍,起碼對(duì)于NLP任務(wù)有基本認(rèn)識(shí),下次遇到了知道去哪里找還是非常有意義的。另外Chris Manning的「introduction to information retrieval」也是一本可以掃一下盲的書(shū),當(dāng)然我認(rèn)為依然不需要記住所有細(xì)節(jié),但輪廓需要了解。IR里面的很多基本算法跟NLP有不少的重合。

說(shuō)說(shuō)我自己曾經(jīng)走過(guò)的彎路。Stanford NLP的qualification考試的一部分就是選一些jurafsky和manning書(shū)里面的一些章節(jié)來(lái)讀,然后老師來(lái)問(wèn)相關(guān)問(wèn)題。開(kāi)始我一直懶得看,所以qualification考試一拖再拖。但博士最后一年沒(méi)辦法拖的時(shí)候,才發(fā)現(xiàn)如果早知道這些東西,博士早年可以少走很多彎路。

為什么了解NLP基礎(chǔ)知識(shí)的重要,我給大家舉幾個(gè)例子。

最近跟同學(xué)一起做語(yǔ)言模型language modeling相關(guān)的事情,很多同學(xué)用LSTM或者transformers做language model隨手就能實(shí)現(xiàn),但是實(shí)現(xiàn)一個(gè) bigram或者trigram的language model(LM),卻因?yàn)槔锩娴腛OV的平滑問(wèn)題卡了大半天(熟悉的同學(xué)可能知道,需要拉普拉斯平滑或者更sophisticated的Kneser-Ney平滑)。

為什么bigram或者trigram的LM很重要呢?去做一個(gè)語(yǔ)言模型的問(wèn)題,實(shí)現(xiàn)深度模型之前,第一步其實(shí)就要寫(xiě)一個(gè)bigram或者trigram的LM。為什么呢? 因?yàn)檫@些N-gram模型實(shí)現(xiàn)簡(jiǎn)單,并且robust。通過(guò)這樣簡(jiǎn)單的實(shí)現(xiàn),可以告訴你這個(gè)數(shù)據(jù)集的LM模型的下限。這樣我們心里會(huì)有數(shù),神經(jīng)網(wǎng)絡(luò)模型至少不應(yīng)該比這個(gè)模型差的。神經(jīng)網(wǎng)絡(luò)模型因?yàn)槠涑?a target="_blank">參數(shù)、梯度爆炸等問(wèn)題,有時(shí)候我們不太容易決定是真的模型不行、參數(shù)沒(méi)調(diào)好還是代碼bug。那么通過(guò)N-gram LM的給出的下限,我們就可以直觀地知道神經(jīng)網(wǎng)絡(luò)是有bug還是沒(méi)調(diào)好參數(shù)。

第二個(gè)例子就是涉及發(fā)文章了,不知道有沒(méi)有同學(xué)想過(guò),BERT里面訓(xùn)練LM的隨機(jī)替換為什么就使結(jié)果變好,隨機(jī)替換是什么鬼,怎么結(jié)果就好了。其實(shí)在BERT之前,斯坦福的吳恩達(dá)組的Ziang Xie的Data Noising as Smoothing in Neural Network Language Models(ICLR 2017)就首次提出了此方法,而且給出了理論解釋。這種random替換其實(shí)本質(zhì)上屬于language modeling里面基于interpolation的平滑方式, 而基于interpolation的LM平滑,就躺在jurafsky那本書(shū)的第3.4.3節(jié)。

2.了解早年經(jīng)典的NLP模型以及論文:相比簡(jiǎn)單粗暴的神經(jīng)網(wǎng)絡(luò)模型,早年的NLP算法確實(shí)比較繁瑣復(fù)雜,但里面確實(shí)有很多早年學(xué)者在硬件條件艱苦情況下的智慧結(jié)晶。熟悉了這些模型,可以在現(xiàn)在神經(jīng)網(wǎng)絡(luò)里面融會(huì)貫通。去年在人民大學(xué)做seminar,大概30-40位同學(xué)參加。我問(wèn)了一個(gè)問(wèn)題,有誰(shuí)知道機(jī)器翻譯中的IBM模型大概是干嘛的,舉手的同學(xué)大概有五分之一。我再問(wèn),誰(shuí)能來(lái)手寫(xiě)(或者大概手寫(xiě))IBM model1,一個(gè)人都沒(méi)有。僅僅是基于IBM模型的Hierarchical Phrase-based MT, 近幾年就有很多篇引用量很高的文章是基于該模型的思想。例子數(shù)不勝數(shù):1) chris dyer組的Incorporating structural alignment biases into an attentional neural translation model(NAACL16)提出用雙向attention做神經(jīng)機(jī)器翻譯的約束項(xiàng),意思是如果在英語(yǔ)翻譯法語(yǔ)生成的target中的一個(gè)法語(yǔ)詞attend到了一個(gè)source中的英語(yǔ)詞,那么反過(guò)來(lái),法語(yǔ)翻譯英文 target中相同這個(gè)英語(yǔ)詞應(yīng)該也attend到source中的這個(gè)英語(yǔ)詞。

其實(shí)這個(gè)思想就是完完全全相似Percy Liang曾經(jīng)的成名作之一。早在NAACL06年 Alignment by Agreement,大家通過(guò)題目的意思就可以猜到文章的內(nèi)容,正向翻譯與反向翻譯中的對(duì)齊(alignment) 要一致(agree)。如今做神經(jīng)機(jī)器翻譯的同學(xué),有多少同學(xué)讀過(guò)Percy的這篇大作呢 (大家知道Percy最多的應(yīng)該是Squad吧)?2) 處理對(duì)話系統(tǒng)的無(wú)聊回復(fù),用p(target|source)做reranking現(xiàn)在應(yīng)該已經(jīng)是標(biāo)配。再比如Rico Sennrich的成名作之一將Monolingual data 跟seq2seq 模型結(jié)合。其實(shí)這連個(gè)思想在phrase-base MT里面早就被廣發(fā)的使用。Neural之前的MT,需要對(duì)一個(gè)大的N-best list用MERT做 reranking, 反向概率p(target|source)以及語(yǔ)言模型概率p(target)是reranking中feature的標(biāo)配。

3) Harvard NLP組, Sam Wiseman和Alex發(fā)表的runner-up, Sequence-to-Sequence Learning as Beam-Search Optimization(EMNLP 2016 best paper), 基本上傳承了Daume′ III and Daniel Marcu 2005年的 LaSO模型,將其思想adapt到neural里面。

如果再準(zhǔn)本溯源,誕生于神經(jīng)機(jī)器翻譯的attention,不就是IBM模型的神經(jīng)網(wǎng)絡(luò)版本嘛。

3.了解機(jī)器學(xué)習(xí)的基本模型:神經(jīng)網(wǎng)絡(luò)的簡(jiǎn)單暴力并且有效。但是從科研的角度講,熟悉基本的機(jī)器學(xué)習(xí)算法是必修課。比如吳恩達(dá)的machine learning就是必要之選。記得前段時(shí)間我面試一個(gè)小伙子,一看就是很聰明的同學(xué),而且很短的時(shí)間就有一篇NAACL在投。我就問(wèn)小伙子,EM算法是什么,小伙子說(shuō)沒(méi)有聽(tīng)說(shuō)過(guò)EM,而且自己的科研也用不到EM。我認(rèn)為這其實(shí)是一個(gè)挺大的誤區(qū)。當(dāng)我想起我自己,曾經(jīng)就吃過(guò)很多類似的虧。因?yàn)樵缙跀?shù)學(xué)基礎(chǔ)偏弱,也沒(méi)有決心惡補(bǔ)一下數(shù)學(xué),所以早年每次看到跟variational inference相關(guān)的算法就頭大,這種偏科持續(xù)了很久,限制了科研的廣度。相比粗暴的神經(jīng)網(wǎng)絡(luò),CRF等模型的inference確實(shí)相對(duì)復(fù)雜(當(dāng)年我自己也看了很多次才徹底搞明白)。

但搞懂這些,是一個(gè)NLP researcher的基本素養(yǎng)。Pattern Recognition and Machine Learning那本書(shū),尤其是某些小節(jié)確實(shí)比較難(又暴露了數(shù)學(xué)基礎(chǔ)差的事實(shí)),即便是只是為了過(guò)一遍,也需要很強(qiáng)的耐力才能看完,更不用說(shuō)完全看懂了。我自己也曾經(jīng)很多次半途而廢,如今依然有很多章節(jié)是不太懂的。但是其中的很多基礎(chǔ)章節(jié),我認(rèn)為還是很值得一讀的。其實(shí)可以組成那種兩三個(gè)人的學(xué)習(xí)小組,不需要有太雄偉的目標(biāo),用個(gè)一年哪怕兩年的時(shí)間,把幾個(gè)重要的章節(jié)過(guò)一遍。

NLP相對(duì)是應(yīng)用科學(xué),并不是特別的數(shù)學(xué)。但是我們天天用的算法的基本數(shù)學(xué)邏輯我認(rèn)為還是需要搞懂,比如dropout, 比如天天用到的優(yōu)化(SGD, momentum, adaboost, adagrad),比如各種batch, layer normalization。這樣其實(shí)可以省去很多浪費(fèi)的時(shí)間,磨刀不誤砍柴工。

這些年來(lái),在幫同學(xué)調(diào)bug的過(guò)程中,我至少遇見(jiàn)過(guò)3-5個(gè)同學(xué)training的時(shí)候開(kāi)dropout, test的時(shí)候沒(méi)有對(duì)每個(gè)cell用 (1-dropout)去scale (大家不要笑,這是真的)。然后畫(huà)出dropout曲線就是dropout值越大,結(jié)果越差。在討論的時(shí)候,同學(xué)一臉茫然并且不清楚test時(shí)候需要scale。其實(shí)本質(zhì)就是并不了解dropout背后的數(shù)學(xué)原理。

4. 多看NLP其他子領(lǐng)域的論文:NLP有很多子領(lǐng)域,包括機(jī)器翻譯,信息抽取,parsing,tagging,情感分析,MRC等等。多熟悉其他子領(lǐng)域的進(jìn)展是必要的。其實(shí)不同子領(lǐng)域所運(yùn)用的模型不會(huì)相差太大,但是最開(kāi)始看不熟悉領(lǐng)域的問(wèn)題可能會(huì)有一點(diǎn)難,原因是對(duì)問(wèn)題的formalization不是很了解。這可能就需要多花一些時(shí)間,多找懂的同學(xué)去問(wèn)。其實(shí)了解不同問(wèn)題的formalization也是對(duì)領(lǐng)域知識(shí)最好的擴(kuò)充。

5. 了解 CV和data mining領(lǐng)域的基本重大進(jìn)展:當(dāng)熟悉了上面所說(shuō)的點(diǎn)之后(當(dāng)然可能至少也需要一年的時(shí)間),熟悉CV領(lǐng)域的基本任務(wù)、基本算法對(duì)于打開(kāi)科研視野也很重要。但是不可否認(rèn),因?yàn)轭I(lǐng)域不同,寫(xiě)作風(fēng)格、術(shù)語(yǔ)表達(dá)相差很大,又因?yàn)槿狈Ρ尘爸R(shí)(文章中會(huì)省略一些基礎(chǔ)知識(shí),默認(rèn)大家都懂,但是跨領(lǐng)域的人可能不懂),第一次想讀懂跨領(lǐng)域的文章其實(shí)并不容易。

我就出現(xiàn)過(guò)竟然在討論班上直接把faster-RCNN講錯(cuò)了的情況,以為自己看懂了,然后就講錯(cuò)了(至今昱先天天還在因?yàn)檫@個(gè)事情調(diào)侃我)。不過(guò)重要的是,NLP領(lǐng)域里面一些重要的文章其實(shí)或多或少借鑒了CV里面的思想,當(dāng)然也同樣出現(xiàn)CV借鑒NLP的情況。NLP神經(jīng)網(wǎng)絡(luò)可視化、可解釋性的研究,時(shí)間上還是落后于CV里面對(duì)CNN的可視化。所以很多工作大量借鑒了CV里面的類似工作。NLP運(yùn)用GAN其實(shí)也是借鑒CV的。

其實(shí)兩個(gè)領(lǐng)域很多是很相通的。比如,如果不考慮question query, vision里面detection中的region proposal(在一個(gè)大的圖片背景下找一個(gè)特定區(qū)域), 大家想是不是跟MRC里面的span extraction (在一大堆文字里面找一個(gè)span)有異曲同工之妙。更不用說(shuō)image caption generation與sequence-to-sequence模型了,本質(zhì)上幾乎沒(méi)什么太大的區(qū)別。

強(qiáng)化學(xué)習(xí)在生成領(lǐng)域generation,發(fā)完了MT(Ranzato et al., ICLR2016)再發(fā)image caption generation, 再回到summarization. Actor-critic 模型也是類似的,還是很多做generation diversity的文章。

因?yàn)榭珙I(lǐng)域不好懂,所以第一次推薦看tutorial, 如果有 sudo code 的tutorial那就更好了。另外看看掃盲課的視頻,比如Stanford CS231n也是個(gè)好辦法。另外,一個(gè)NLP組里面有一個(gè)很懂CV的人也很重要(拜謝昱先), and vise versa。

graph embedding近兩年崛起于data mining領(lǐng)域。目測(cè)會(huì)在(或者已經(jīng)在)NLP的不少任務(wù)得到廣泛應(yīng)用。想到幾年前,deep walk借鑒了word2vec, 開(kāi)始在data mining領(lǐng)域發(fā)跡,然后似乎又要輪轉(zhuǎn)回NLP了。當(dāng)然啦如何寫(xiě)論文也是極其重要的一環(huán),但不是這篇文章的主題,強(qiáng)烈推薦清華大學(xué)劉知遠(yuǎn)老師的相關(guān)文(https://zhuanlan.zhihu.com/p/58752815),先寫(xiě)到這兒,歡迎大家補(bǔ)充拍磚。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120593
  • 自然語(yǔ)言處理
    +關(guān)注

    關(guān)注

    1

    文章

    585

    瀏覽量

    13418
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    481

    瀏覽量

    21935

原文標(biāo)題:香儂科技李紀(jì)為:初入NLP領(lǐng)域的一些小建議

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    第48章 JavaScript基礎(chǔ)知識(shí)

    的腳本語(yǔ)言。(本章的知識(shí)點(diǎn)主要整理自網(wǎng)絡(luò))48.1 初學(xué)者重要提示48.2 JavaScript基礎(chǔ)知識(shí)參考資料48.3 JavaScript基礎(chǔ)知識(shí)點(diǎn)48.4 HTML中嵌入Java
    發(fā)表于 01-11 16:58

    【HarmonyOS基礎(chǔ)知識(shí)】什么是HarmonyOS

    簡(jiǎn)短的視頻,帶你了解HarmonyOS基礎(chǔ)知識(shí)之什么是HarmonyOS
    發(fā)表于 01-20 08:00

    計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí)了解

    計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)復(fù)習(xí)一、 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí)了解:計(jì)算機(jī)網(wǎng)絡(luò)(Internet)的發(fā)展 面向終端的計(jì)算機(jī)網(wǎng)絡(luò)(單個(gè)計(jì)算機(jī),直接連接主機(jī)) 分組交換網(wǎng)絡(luò)(實(shí)現(xiàn)了不同計(jì)算機(jī)之間的通信。此時(shí)廣域網(wǎng)從邏輯上
    發(fā)表于 07-26 06:27

    示波器基礎(chǔ)知識(shí)

    第1章 示波器基礎(chǔ)知識(shí)本章的內(nèi)容整理自網(wǎng)絡(luò),主要講解示波器的基礎(chǔ)知識(shí)。如果初學(xué)的話非常有必要對(duì)這部分知識(shí)有一個(gè)了解。因?yàn)槭静ㄆ魇怯布{(diào)試必不可少的設(shè)備。1.1 什么是示波器1.2 示波
    發(fā)表于 08-09 07:21

    通信基礎(chǔ)知識(shí)教程

    通信基礎(chǔ)知識(shí) 1、電信基礎(chǔ)知識(shí)2、通信電源技術(shù)3、配線設(shè)備結(jié)構(gòu)、原理與防護(hù)4、防雷基礎(chǔ)知識(shí)5、EMC基礎(chǔ)知識(shí)6、防腐蝕原理與技術(shù)7、產(chǎn)品安
    發(fā)表于 03-04 16:48 ?33次下載

    電池基礎(chǔ)知識(shí)(集全版)

    電池基礎(chǔ)知識(shí)(集全版)  電池基礎(chǔ)知識(shí)
    發(fā)表于 11-10 14:19 ?2434次閱讀

    電阻基礎(chǔ)知識(shí)

    電阻基礎(chǔ)知識(shí)比較詳細(xì),分類清楚,適合初學(xué)者有一個(gè)比較全面的了解
    發(fā)表于 01-11 14:55 ?0次下載

    使用Eclipse基礎(chǔ)知識(shí)

    使用Eclipse 基礎(chǔ)知識(shí) 使用Eclipse 基礎(chǔ)知識(shí) 適合初學(xué)者學(xué)習(xí)使用
    發(fā)表于 02-26 10:30 ?0次下載

    電子元器件基礎(chǔ)知識(shí)

    電子與信息工程的大一新生需了解的元器件的簡(jiǎn)單的基礎(chǔ)知識(shí)
    發(fā)表于 03-09 11:05 ?695次下載

    FFC基礎(chǔ)知識(shí)

    FFC基礎(chǔ)知識(shí),讓你真正了解FPC的各項(xiàng)參數(shù)指標(biāo)。
    發(fā)表于 03-14 10:16 ?0次下載

    電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)

    電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)
    發(fā)表于 09-15 14:36 ?76次下載
    電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    Linux設(shè)備驅(qū)動(dòng)程序基礎(chǔ)知識(shí)了解

    了解Linux設(shè)備驅(qū)動(dòng)程序的基礎(chǔ)知識(shí),重點(diǎn)關(guān)注設(shè)備節(jié)點(diǎn),內(nèi)核框架,虛擬文件??系統(tǒng)和內(nèi)核模塊。 提出了一個(gè)簡(jiǎn)單的內(nèi)核模塊實(shí)現(xiàn)。
    的頭像 發(fā)表于 11-26 06:51 ?3029次閱讀

    了解一下機(jī)器學(xué)習(xí)中的基礎(chǔ)知識(shí)

    機(jī)器學(xué)習(xí)中的基礎(chǔ)知識(shí) demi 在 周四, 03/07/2019 - 09:16 提交 機(jī)器學(xué)習(xí)中涉及到了很多的概念,當(dāng)然要想了解機(jī)器學(xué)習(xí)的話就需要對(duì)這些基礎(chǔ)知識(shí)有一個(gè)深入的了解才能夠
    的頭像 發(fā)表于 03-31 17:08 ?3721次閱讀

    知識(shí)圖譜是NLP的未來(lái)嗎?

    我的看法:知識(shí)圖譜不是NLP的未來(lái),因?yàn)?b class='flag-5'>知識(shí)圖譜是另外一種與NLP有很多交集的技術(shù)。在目前所有已知的發(fā)展方向中,知識(shí)圖譜是最有可能長(zhǎng)期和
    的頭像 發(fā)表于 04-15 14:36 ?3588次閱讀
    <b class='flag-5'>知識(shí)</b>圖譜是<b class='flag-5'>NLP</b>的未來(lái)嗎?

    熱設(shè)計(jì)基礎(chǔ)知識(shí)——可靠性設(shè)計(jì)重要組成部分

    熱設(shè)計(jì)基礎(chǔ)知識(shí)——可靠性設(shè)計(jì)重要組成部分
    的頭像 發(fā)表于 04-14 09:57 ?755次閱讀