pp电子(中国游)官方在线平台







咨询热线:021-80392549

pp电子(中国游)官方在线平台 QQ在线 pp电子(中国游)官方在线平台 企业微信(xìn)
pp电子(中国游)官方在线平台
pp电子(中国游)官方在线平台 资讯 > AI挖掘技术 > 正文

”关于初(chū)入NPL领域的一些小(xiǎo)建议(yì)“

2020/05/263858

”关于初入(rù)NPL领域的一些小建议“


1.了(le)解 NLP 的最基本知识:Jurafsky 和 Martin 的(de) Speech and Language Processing 是领域(yù)内的经典教(jiāo)材,里面包含(hán)了 NLP 的基础知识、语言学扫盲知识(shí)、基本任(rèn)务以及解决思(sī)路。阅读此书会接触到(dào)很多 NLP 的(de)最基本任务和知识,比如 tagging, 各种 parsing,coreference, semantic role labeling 等等等等。这对于全局(jú)地了解 NLP 领域有着极其重要的意义。书里面的知识并不需要烂熟于心,但是刷(shuā)上一两遍(biàn),起码对(duì)于 NLP 任务(wù)有(yǒu)基本(běn)认(rèn)识,下次(cì)遇到了知道去哪里(lǐ)找还是非常(cháng)有意义的。另外 Chris Manning 的 introduction to information retrieval 也(yě)是一本可以(yǐ)扫一下盲的书,当然我认为(wéi)依(yī)然不需要记住所有细节,但轮廓(kuò)需要了(le)解。IR 里面的很多(duō)基本算法(fǎ)跟 NLP 有不少的重合。说说我自(zì)己曾经走过(guò)的弯路。Stanford NLP 的(de) qualification 考试的一部分(fèn)就是(shì)选(xuǎn)一些 jurafsky 和 manning 书里面的一些 chapter 来读,然后老师来问相关问题。开始(shǐ)我(wǒ)一直对里面的东西懒得看,所以 qualification 考试一拖再拖。但博士最后一年没办(bàn)法拖的时候,才(cái)发现如果早知道这(zhè)些东西,博士早年可(kě)以少走很多(duō)弯路。

为什么了解 NLP 基础知识的重要,我给(gěi)大家举几个例子。

最近跟同学一起做语言模(mó)型 language modeling 相关的事情(qíng),很(hěn)多同学(xué)用 LSTM 或者 transformers 做 language model 随手就能实现(xiàn),但(dàn)是实现(xiàn)一个 bigram 或者 trigram 的 language model(LM)却因为(wéi)里面(miàn)的 OOV 的平(píng)滑问题卡了大半天(熟悉的同学可能知(zhī)道(dào),需要拉普拉斯平滑或者更 sophisticated 的 Kneser-Ney 平滑)。为什么 bigram 或者 trigram 的 LM 很重要(yào)呢?去做一个语言模型的问题,实现(xiàn)深度模型之前,第(dì)一步其实就要去写一个 bigram 或(huò)者 trigram 的(de) LM。为什么呢?因为这些 N-gram 模型实现简单,并且 robust。通过这样(yàng)简单的实现,可以(yǐ)告诉你这(zhè)个(gè)数据集的 LM 模型的(de)下限。这样(yàng)我们心里会有数(shù),神经网络(luò)模(mó)型至少不应该比(bǐ)这个模型差的。神经网络模型因(yīn)为(wéi)其超参数(shù)、梯度爆炸(zhà)等问题,有(yǒu)时候(hòu)我们不太容易决定是真(zhēn)的模型不行(háng)、参数没调好(hǎo)还是代码有 bug。那么通过 N-gram LM 的(de)给出的下限,我们就可(kě)以直观地知道神经网络是有 bug 还是没(méi)调(diào)好参数。

第(dì)二个例子(zǐ)就是涉及发文章了,不知(zhī)道有没(méi)有同学想过,BERT 里面训练 LM 的随机替换为什么就使(shǐ)结果(guǒ)变(biàn)好,随机替换是什么鬼,怎么结果就好(hǎo)了。其实(shí)在 BERT 之前,斯坦福(fú)的(de)吴恩达组的 Ziang Xie 的 Data Noising as Smoothing in Neural Network Language Models ICLR2017(https://arxiv.org/pdf/1703.02573.pdf)就(jiù)首次提(tí)出了此(cǐ)方法(fǎ),而且给(gěi)出了(le)理论解释。这种 random 替(tì)换其实本质上属(shǔ)于 language modeling 里(lǐ)面基于 interpolation 的平(píng)滑方式,而基于 interpolation 的 LM 平滑,就躺在 jurafsky 那本书的第(dì) 3.4.3 节。

2.了解早年(nián)经(jīng)典的 NLP 模型以及(jí)论文(wén):相比(bǐ)简单粗暴的(de)神经网络模型,早(zǎo)年的(de) NLP 算(suàn)法确实比较繁琐复(fù)杂(zá),但里面确实有很多早年学(xué)者在硬件条件艰(jiān)苦情况下(xià)的智慧结晶。熟悉(xī)了这(zhè)些模(mó)型,可以在现在神经(jīng)网(wǎng)络里面融会(huì)贯通。去(qù)年在人民大学做 seminar。Seminar 有(yǒu)大概 30-40 位(wèi)同学参加(jiā)。Seminar 中,我问了一(yī)个问题,有谁知道机器翻译中的 IBM 模型大概是干嘛(ma)的,举手的同学大概有五分之一。我再(zài)问,谁能(néng)来手(shǒu)写(或(huò)者大概手写)一下(xià) IBM model1,一(yī)个人(rén)都没有。仅仅从基于 IBM 模型(xíng)的(de) Hierarchical Phrase-based MT, 近几年就有很多篇引用量(liàng)很高的文章是(shì)基于里面的思想的。例子数不胜数:

chris dyer 组的 Incorporating structural alignment biases into an attentional neural translation model (NAACL16) 提出用(yòng)双(shuāng)向 attention 做 neural 机器(qì)翻译的(de)约(yuē)束项,意思是如果在英语(yǔ)翻译法语生成(chéng)的 target 中的一个法语词 attend 到了一个 source 中的英(yīng)语词,那么反过来,法语翻译英文 target 中相同这个英语词应该也 attend 到 source 中的这个英语词(cí)。其实这(zhè)个思(sī)想就(jiù)是(shì)完完全全相似 Percy Liang 曾经的(de)成名作之一,早在 NAACL06 年 Alignment by Agreement,大家通(tōng)过题目的(de)意思就可以猜到文章的内容(róng),正向翻译与反向(xiàng)翻译中的 对齐 (alignment) 要 一致 (agree)。如今做 neural MT 的同学(xué),有多少同学读(dú)过 Percy 的这篇大作呢(大家知道 Percy 最多的应(yīng)该是 Squad 吧)。

处理对话系(xì)统的无聊回复,用 p(target|source) 做 reranking 现在应该已经是标配(pèi)。再比如 Rico Sennrich 的成名作之一将 Monolingual data 跟 seq2seq 模型结合。其实这连(lián)个思想在(zài) phrase-base MT 里面(miàn)早就被广发的使用。Neural 之前的 MT,需要对一个大的 N-best list 用 MERT 做 reranking,反向概(gài)率(lǜ) p(target|source) 以及语(yǔ)言模(mó)型概率 p(target) 是 reranking 中 feature 的标(biāo)配。

Harvard NLP 组, Sam Wiseman 和 Alex 发表的 EMNLP16 best paper runner-up, Sequence-to-Sequence Learning as Beam-Search Optimization, 基(jī)本(běn)上(shàng)传承了 Daume III and Daniel Marcu 2005 年的 LaSO 模型,将其思想 adapt 到 neural 里面。

如果再准本(běn)溯源,诞生于 neural MT 的 attention,不(bú)就是 IBM 模型的神(shén)经网络版本嘛。

3.了解机器学习(xí)的基本模型:神经(jīng)网络的简单暴力并且有效。但(dàn)是从科研的(de)角(jiǎo)度讲,熟悉基本的机(jī)器(qì)学习算法是必修课(kè)。比如吴(wú)恩达(dá)的 machine learning 就(jiù)是必(bì)要之选。记得前段(duàn)时间我面(miàn)试一(yī)个小伙(huǒ)子(zǐ),一看就是很聪明的同(tóng)学,而且很(hěn)短的时(shí)间就有一篇 NAACL 在投(tóu)。我就问小伙子,EM 算法是什么(me),小伙子说没有听说过 EM,而且自己的科(kē)研也用(yòng)不到 EM。我认为这其(qí)实(shí)是一个挺大的误区。当我(wǒ)想起我自(zì)己,曾经(jīng)就吃过很多类似的(de)亏。因为早(zǎo)期数学基础偏弱,也(yě)没有决心恶补一(yī)下数学,所以早年每次看(kàn)到跟(gēn) variational inference 相(xiàng)关的(de)算(suàn)法就(jiù)头大,这种偏科(kē)持续了很(hěn)久,限制了科研的广度。相(xiàng)比粗暴的神经网络,CRF 等模型的 inference 确实相对复杂(当(dāng)年我自己也看了(le)很多次才彻底搞明(míng)白)。但搞懂这些(xiē),是一个 NLP researcher 的基本素养。Pattern Recognition and Machine Learning 那本(běn)书,尤其(qí)是某些小节确实比较(jiào)难(又暴露了数学基础差的事实),即便是只是为了过(guò)一遍,也需要很强的(de)耐力才能看完(wán),更不用(yòng)说(shuō)完全看懂了(le)。我自己(jǐ)也(yě)曾经半途而废很多次,如今依然(rán)有很多章节(jiē)是不(bú)太懂的。但是其中的很(hěn)多基础 chapter,我(wǒ)认为(wéi)还是很值得一读的。其实可以(yǐ)组(zǔ)成那种两三个人(rén)的学习小组,不(bú)需要(yào)有太(tài)雄伟的目标,用个一(yī)年哪怕(pà)两年(nián)的(de)时间,把几个重要(yào)的 chapter 过一(yī)遍。

NLP 相对是应用科学,并不是特别的(de)数学(xué)。但(dàn)是我(wǒ)们(men)天天用的算法的基本数学(xué)逻(luó)辑我认(rèn)为还(hái)是需要搞懂,比如 dropout, 比如天天用到的优(yōu)化 (SGD, momentum, adaboost, adagrad),比如各种 batch, layer normalization。这样其(qí)实可以(yǐ)省(shěng)去(qù)很多(duō)浪费(fèi)的(de)时间,磨(mó)刀不误砍柴工(gōng)。这些(xiē)年来,在帮同学(xué)调 bug 的过程中,我至少遇(yù)见过 3-5 个同学 training 的时候开 dropout, test 的时(shí)候没有(yǒu)对每个 cell 用(yòng) (1-dropout) 去 scale(大家(jiā)不要笑,这是真的)。然(rán)后画(huà)出 dropout 曲线就(jiù)是(shì) dropout 值(zhí)越大,结果越差。在讨论的时候,同学一脸茫然(rán)并且不清楚 test 时候需要(yào) scale。其实本质就是并不了解 dropout 背后(hòu)的数学原(yuán)理(lǐ)。

4.多看 NLP 其他子领域的(de)论文:NLP 有很多子领域(yù),MT,信息抽取,parsing,tagging,情感分析,MRC 等等(děng)。多多(duō)熟悉其他子领域的进展(zhǎn)是必要的(de)。其实不同子领域所运用的模型不会相差(chà)太大。但是最开始看不熟悉领域的问题可(kě)能会有一点难,原因是对问题的 formalization 不是很了解。这可能就需要(yào)多(duō)花一些时间,多找懂的(de)同(tóng)学去问。其实(shí)了解(jiě)不(bú)同(tóng)问(wèn)题的(de) formalization 也是对领域知识(shí)最(zuì)好的扩充。

5.了解 CV 和(hé) data mining 领域的基本重大进展:当(dāng)熟悉了上面所说的点之后(当然可能至(zhì)少也需(xū)要一年(nián)的时间)。熟(shú)悉 CV 领域的基本(běn)任(rèn)务、基本(běn)算法我(wǒ)认为对于打开科研视野很重要。但是不可否(fǒu)认,因为领域不用,写作(zuò)风(fēng)格、术语(yǔ)表达相差很大,又因(yīn)为缺乏背景知识(文章中会省(shěng)略一些基础知(zhī)识,默认(rèn)大家(jiā)都懂。但是跨领域的(de)人可能不懂),第一次想读(dú)懂跨领域的(de)文章其(qí)实并不容易(yì)。我就出现过竟然(rán)在讨论(lùn)班上直接把 faster-RCNN 讲错了(le)的情况,以为自己看懂了(le),然后就讲错了(至今昱(yù)先天天还在因为这个事情调(diào)侃我)。不过重要(yào)的是,NLP 领(lǐng)域里面(miàn)一些重要的文章其实或多(duō)或少(shǎo)借鉴(jiàn)了 CV 里面的思想,当(dāng)然也同(tóng)样出现(xiàn) CV 借鉴 NLP 的情况。NLP 神(shén)经网络可视化、可解释性的研究,时(shí)间上还是落后于 CV 里(lǐ)面对 CNN 的可视化。所以很多工作大量借鉴了 CV 里面的(de)类(lèi)似工作(zuò)。NLP 运(yùn)用 GAN 其实也(yě)是借鉴 CV 的。其实两个领(lǐng)域很多是很(hěn)相通(tōng)的。比如,如果不(bú)考虑 question query, vision 里面 detection 中的 region proposal(在一个大(dà)的图片背(bèi)景(jǐng)下找一个特定(dìng)区域), 大家(jiā)想是不是跟 MRC 里(lǐ)面(miàn)的 span extraction(在(zài)一大堆(duī)文字里面找一个(gè) span)有异(yì)曲同工之妙。更不用说 image caption generation 与 sequence-to-sequence 模(mó)型了,本(běn)质上几(jǐ)乎(hū)没什么太大的区别(bié)。强化学习在(zài)生成(chéng)领域 generation,发完了 MT(Ranzato et al., ICLR2016) 再发(fā) image caption generation, 再回到(dào) summarization. Actor-critic 模型也是类似的(de),还是很多做 generation diversity 的(de)文章。因为跨领域不好懂,所以第一次推荐看 tutorial, 如果有(yǒu) sudo code 的 tutorial 那就更好了。另外看看扫(sǎo)盲课(kè)的视频,比如 Stanford CS231n 也是个好办法。另外,一(yī)个 NLP 组里(lǐ)面有一个很懂 CV 的人也很重要(拜谢昱先),and vise versa。graph embedding 近两(liǎng)年(nián)崛(jué)起(qǐ)于 data mining 领域。目测会在(或(huò)者已经在)NLP 的不少任务得到(dào)广泛应用。想到几年前(qián),deep walk 借(jiè)鉴了(le) word2vec, 开始在 data mining 领域发(fā)迹,然后似乎(hū)又(yòu)要轮转回 NLP 了。

关键词(cí): AI挖掘技术




AI人工智能网声明:

凡资讯来源(yuán)注明(míng)为其他媒(méi)体来源的信息,均为(wéi)转载自其他(tā)媒(méi)体,并不代表本网站赞同其观(guān)点,也不代表本网站对其真实性负责。您若对该文章内容有(yǒu)任何疑问或质(zhì)疑,请立即与网站(www.longnan.14842.xinxiang.zz.pingliang.ww38.viennacitytours.com)联系(xì),本网站(zhàn)将迅速给(gěi)您回应并(bìng)做处理。


联(lián)系电话:021-31666777   新(xīn)闻、技术文章投稿(gǎo)QQ:3267146135   投稿(gǎo)邮箱:syy@gongboshi.com

工博士人工智能网
pp电子(中国游)官方在线平台
扫(sǎo)描二维码关注(zhù)微信
扫码反馈

扫一扫,反馈当(dāng)前页面

咨询反馈
扫(sǎo)码关注

微信公众号

返回顶部

pp电子(中国游)官方在线平台

pp电子(中国游)官方在线平台