九游网页版-九游(中国)



  • 咨询热线:021-80392549

    九游网页版-九游(中国) QQ在线(xiàn) 九游网页版-九游(中国) 企业微(wēi)信
    九游网页版-九游(中国)
    九游网页版-九游(中国) 资讯 > AI挖(wā)掘技术 > 正文

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

    2020/05/263861

    ”关(guān)于初入NPL领(lǐng)域的一些(xiē)小建议“


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

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

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

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

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

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

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

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

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

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

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

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

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

    关键(jiàn)词: AI挖掘技术




    AI人工智能网声明:

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


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

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

    扫一扫,反馈当前页面(miàn)

    咨询(xún)反(fǎn)馈(kuì)
    扫码关注

    微信公众号

    返回顶部(bù)

    九游网页版-九游(中国)

    九游网页版-九游(中国)