博鱼官方网页版-博鱼(中国)




  1. 咨询热线:021-80392549

    博鱼官方网页版-博鱼(中国) QQ在线 博鱼官方网页版-博鱼(中国) 企(qǐ)业微(wēi)信
    博鱼官方网页版-博鱼(中国)
    博鱼官方网页版-博鱼(中国) 资(zī)讯 > AI挖掘技(jì)术 > 正文

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

    2020/05/263856

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


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

    为什(shí)么了(le)解 NLP 基础知识的重要(yào),我给大家举(jǔ)几个例(lì)子。

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

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

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

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

    处理对话系统的无聊回复(fù),用 p(target|source) 做(zuò) reranking 现在应(yīng)该已经是标配(pèi)。再比(bǐ)如 Rico Sennrich 的成名(míng)作之一将 Monolingual data 跟 seq2seq 模型(xíng)结合。其实这连个思想(xiǎng)在 phrase-base MT 里面早就被广发的使用。Neural 之前的 MT,需要对一个大的 N-best list 用 MERT 做(zuò) reranking,反向概率 p(target|source) 以及语言模型概率(lǜ) p(target) 是 reranking 中 feature 的(de)标配(pèi)。

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

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

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

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

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

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

    关(guān)键词: AI挖(wā)掘技术(shù)




    AI人工(gōng)智能网声明(míng):

    凡资讯来源注明为其(qí)他媒体来源(yuán)的(de)信息,均(jun1)为转载(zǎi)自其他媒体,并不代(dài)表本网站赞同(tóng)其观点,也不代表本网(wǎng)站对(duì)其真实性负责。您若对该文(wén)章内容有任何疑问或质疑,请(qǐng)立(lì)即(jí)与网站(www.baise.shiyan.bynr.xinxiang.zz.pingliang.ww38.viennacitytours.com)联系,本网站将(jiāng)迅速给您回(huí)应并做处理。


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

    工博士人工智(zhì)能网
    博鱼官方网页版-博鱼(中国)
    扫描二(èr)维码关(guān)注微信
    扫码反馈

    扫一扫,反馈当前(qián)页面

    咨询反馈
    扫码关注

    微信(xìn)公(gōng)众(zhòng)号

    返回顶部

    博鱼官方网页版-博鱼(中国)

    博鱼官方网页版-博鱼(中国)