开云

    咨询热(rè)线:021-80392549

    开云 QQ在(zài)线 开云 企业微(wēi)信
    开云
    开云 资讯 > AI挖掘技术(shù) > 正文

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

    2020/05/263850

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


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

    为什么(me)了解 NLP 基础知识的重要,我给大(dà)家举几个例(lì)子。

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

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

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

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

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

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

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

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

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

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

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

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




    AI人工智能网声(shēng)明:

    凡资讯来源注明为其他媒体来源的信息,均(jun1)为转(zhuǎn)载自其他媒体(tǐ),并不代表本网站赞(zàn)同其(qí)观点,也不代表本网站对其真实(shí)性负责。您若对该(gāi)文章(zhāng)内容有任何疑问或质疑,请(qǐng)立即(jí)与网站(www.zhuzhou.jiaxing.zz.pingliang.ww38.viennacitytours.com)联系,本网(wǎng)站将迅速(sù)给您(nín)回应并做(zuò)处(chù)理。


    联系电话:021-31666777   新闻、技术(shù)文章投稿QQ:3267146135   投(tóu)稿(gǎo)邮箱:syy@gongboshi.com

    工博士人工(gōng)智能网
    开云
    扫描二维码关注微信
    扫码反馈

    扫一扫,反馈当前页面

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

    微信公众号

    返(fǎn)回顶部(bù)

    开云

    开云

    相关信息

    "开云 开云咨询为企业提供一站式企业咨询服务。

    更新时间:2025-07-13 15:03 来源:www.zhuzhou.jiaxing.zz.pingliang.ww38.viennacitytours.com