准研,nlp 有哪些坑?

准研,nlp 有哪些坑?
收藏者
0
被浏览
77

5 个回答

robyluo LV

发表于 2025-4-9 13:27:02

NLP分为自然语言理解(NLU)自然语言生成(NLG)两部分,两部分都有深坑:
一、NLU最大的坑是数据问题
语言真的是人类智慧的结晶,想到人类简史作者说“人类语言真正最独特的功能,并不在于能够传达关于人或狮子的信息,而是能够传达关于一些根本不存在的事物的信息。”  这说明自然语言是很高阶的技能。自然语言是世界高维抽象这个特质,导致高质量的训练数据获取困难。
举例:
1、一词多义:烂大街的例子,“苹果公司的乔布斯喜欢吃苹果。”两个“苹果”是不一样的。
2、新词发现:“杠精”、“彩虹屁”...
3、情感表达:人说话的语气不同,句子表达的含义是不一样的。
......等等
所以,不止 @SmoothNLP 说的数据标注对人的学识要求比较高,即使比较简单的问题,每个人的认知程度是不一样的,标出来的数据也不相同。
之前实验室标数据,要求根据一系列app的描述,给app打标签,举了若干例子,讲了半天打标签的规则,结果同一个app,大家分开标,最终的结果还是不一样。
科研上,做过nlp一段时间你就会发现,翻来覆去就是那几个小数据集,很多模型取得好的结果都是overfitting的结果。而工程上,和很多同学聊过,公司其实是有业务场景的,但是有些时候并没有现成数据,且数据特别脏

二、NLG最大的坑是没有好的评价指标
自然语言生成的评价指标不是简单的准确率、召回率、F1,目前市面上流行的ROUGE、BLEU、Perplexity还是统计意义上的标准,而自然语言是有创造性的,很难用统计量来评判
这些指标目前对翻译的好坏,问答的好坏还算有解,而对诗歌生成、新闻写作等方面的任务,很难再用这些指标评估。对于这类任务最好的测试方法估计就是图灵测试了,但是图灵测试本身又是主观的,不够科学。
没有合适的标准导致现在NLG方向的文章参差不齐,很多文章的insight挺禁不起推敲。

其实这两个问题我在之前一个cv和nlp对比的回答中简单提到过,这里重新总结一下,希望能有所帮助。
CV/NLP哪个方向更好?PS:
实验室学弟听说我在写这个问题,强烈要求我加一句:千万不要用RL做NLP!!!
这个问题,我昨天在知乎上看到有人吐槽过,也分享给大家:
当前(2019年)机器学习中有哪些研究方向特别的坑?

玛卡巴卡 LV

发表于 2025-4-9 13:39:16

标注数据少!!!
标注数据少!!!
标注数据少!!!
重要的事情说三遍! 除了像word2vec, bert 为代表的各种embedding, 当你刚入门的时候, 包括segment, postag, dependency parsing 等三大经典tasks 你会发现能用的数据集少之又少. 且, 尤其是DependencyParsing(依存句法分析) 对标注者的知识要求极高, 不是谁想标就标, 感受一下:

准研,nlp 有哪些坑?-1.jpg


准研,nlp 有哪些坑?-2.jpg

业内通用的ctb8.0 (Chinese Tree Bank) 光依存句法分析这块的标注指南就写了192页, 词性标注指南44页, 切词标注指南33页. 也就是说, 刚成为一名NLP合格的标注员就需要熟读250页干货的语言学知识.
对比邻居CV, 3岁以上的孩子可以区分人像, 6岁以上可以标注30+动物 ...
最后, 如果你对NLP还感兴趣, 欢迎使用我们的数据集:
SmoothNLP:三大金融文本数据(工商,新闻,资讯) - 欢迎按需自取最后打个招聘帖:
如果你在寻找NLP相关的实践机会, 我们欢迎Fulltime和Intern的NLP工程师加入, 请将简历发到 hr@http://smoothnlp.com

晴天 LV

发表于 2025-4-9 13:49:41

任务式对话不要做了,没前途。
摘要不要做了,没前途。
传统的任务不建议做,做烂了。
闲聊不建议做,但是闲聊很容易有发挥。
问答其实也不建议做,学术界做问答都是瞎逼做,连调分类器都说不上。不过问题生成可以做,答案理解可以做,都是没啥人做的。
阅读理解吧,硕士也可以做,也不算没用。
机器翻译不评论,不懂。
其实nlp烂坑特别多,因为nlp瞎逼灌水的特别多,可以尝试一些生成的方向,比较好灌水,比如写诗写春联这种。

疯鱼 LV

发表于 2025-4-9 14:02:20

背景:本科信息与计算科学。研二统计学硕士,方向:NLP+时间序列
我最近正好回顾了我学习的全过程,链接在这里:
机智的叉烧:我的NLP学习之路不算是根正苗红的NLP出身,但是也做过NLP的研究工作,说说我的想法吧。
首先是,既然准研,有点时间拿来打打基础,准备点预备知识非常合适,而且能快人一步,何乐不为。
确认你是做应用问题还是做理论问题

如果是应用问题,关注的是问题本身,例如我做时间序列预测问题,那我的核心目标应该在于时间序列上,NLP只是我在解决时间序列预测上的一个工具,我更应该关注我预测的准不准,而不是NLP方面的性能(也要关注,但是你有你的核心目标)。另外,你应该知道,有关时间序列预测的主要方法有哪些,NLP又是怎么用到里面的,你才会找得到创新点,换句话,你要同时知道你的应用领域和NLP本身的研究现状,毕竟NLP本身可能已经发展到一定程度了,但是很多领域可能只停留在TF-IDF层面的研究。
如果是理论,那就请你把你这个方向的前沿、标杆、经典、高引论文都好好看一遍,甚至是自己重现一遍,要做理论和模型的创新,必须对原有方法有深入的了解,如何了解?来源于你对论文之类的把握。
数学、编程、理论基础

你做的是科研,要的是前沿,否则怎么来创新点。所以,你的基础必须非常扎实,否则非常难在这块有所提升,数学系的我出来看到很多人的数学基础不好,导数求不对,矩阵不会推,非常痛苦,准研的你要是有时间,一定要好好补一补。
这里没有提开发,是因为从科研的角度出发,要是你要做技术开发,那一些大数据工具也要懂,但是做科研,大部分用不上,实验室甚至没这个条件对吧。科研,建议python一定会,另外一些深度学习框架,现在看来tensorflow和pytorch会一个吧,我会的是前面那个,至于keras,我的建议是慎用,里面大量细节你无法得知,例如矩阵的对齐等等,因为他封装的太好了,其实不太适用于对模型的理解。
尽管BERT、elmo等新模型层出不穷,但是不代表word2vector、fasttext、GloVe就一点用都没有,这是前辈留下十分经典的东西,甚至能有不错的基线,打比赛、科研啥的都很有用,为什么就放掉呢。
说点扎心的,基础都打不好,怎么创新。
读论文

这里也有其他大佬提到过的,读论文是有技巧的。
首先是区分文章精读还是粗读,当你心里有目标的时候,看完摘要其实就知道这篇文章是否符合自己的心意,有没有用。对于和你研究接近的,多读读,深入读甚至是我前面说到的重现;如果是关系不大的,就下一篇即可。
第二是做笔记。不要学小熊掰棒子,只要你看过,都建议你记下来,加上自己的想法,逐渐建立自己的论文库,到时候写引言问下综述非常有用。
第三,注意一下和你很有关的论文都是发表在那里的,什么期刊、会议之类的,到时候发论文选期刊你就知道了。
第四,在了解研究现状,或者不知道具体现状如何时,看综述文章,一般都会带有“review”、“survey”之类的词,看完之后,拿他的参考文献也来看看,收获无敌大。
Last but not least,坚持读,多读。很多人老说自己没想法,我个人深有体会,所有的灵感不是拍脑袋想出来的,而是看论文积累而来的,所有的思想都来源于生活,所有的输出都来源于你的输入,我现在快毕业了,后面也快工作了,都坚持每天2个小时自学,看论文也好,学东西也罢。
书籍

个人感觉,不是说书都不好,而是说现在没有特别适合初学者一撸到底的NLP书籍,所以入门,最好不要看一本书一撸到底(具体怎么入门我后面说)。
宗成庆老师的《统计自然语言处理》非常全面,我也经常放在我的旁边,但是只适合做工具书,或者是一本闲书,初学者看起来收获不大,但是对老司机来说还是有点味道的。
最近出的《基于深度学习的自然语言处理》,好书,绝对是好书,但是缺代码和实现,所以新手看起来可能有些吃力,强行看非常不错,也是一本完整的文献综述。
另外有一些带有“python”+“自然语言处理”or“文本分析”之类的文章,多半是和你讲NLTK之类的使用方法,能教你做一些基础的工作,例如词性标注之类的,也是当做工具书吧,但是里面的技能还是得会。
学习建议

要入门,我觉得还是上课靠谱,淘宝买也好,一些课程网站学也好,简单过一遍,不求学懂,只求知道整个框架如何吧,仔细想想,如果靠几百块上个几天的课就会了,为啥那么多人觉得找工作、科研困难?我是这么学来的,效果不错,所以建议大家也可以这么做,避免打广告的嫌疑此处不列太多啦。
先说这么多,继续赶毕业论文去了T T

absct LV

发表于 2025-4-9 14:13:16

个人谈谈我自己踩过的坑,血泪经验:
1.不要上来拿本厚厚的书从翻到尾,可能你也做了笔记,但等你翻到最后你会发现前面的忘了,或只能记住重点,这是低效
所以那本书只是你的工具书,看到不懂的内容去查,不是让你从头看到尾的书
2.不要企图花很久的时间把一篇论文所有的公式推导一遍。你只需要知道这个公式是做什么的,什么方法套过来的,什么字母表示什么意思。
3.读论文,有两种,细读和粗读,不一定所有的论文都适合你,也不一定所有论文都适合细读,所以不要顺着读。先abstract,再introduction,最后including。确定是否是你研究的领域,如果是,并想细读,就去看related work,刚入门的话基本会看不懂这个方法的细节,不要想的翻译一次就明白了。所以related work关键方法和较为相似的方法找出来,看。再顺着读...
有时候理解不清楚,我会搜别人写的阅读笔记之类的,帮助消化,理解。
看多了,你就会明白,大部分的论文都是这篇论文的方法+那篇论文的方法,修修补补。
4.善于把自己看过的论文总结,归类。在你看完一部分后,可能会遗忘之前的。所以买个文件盒,上面写上大标题 把文档归类(除此之外,还要给论文贴上标签)。
总结就是准备一个excel论文按 题目,类型,年份,来源(期刊?会议?其他),方法,相似方法,数据集,优缺点,造成缺点原因,下一步工作(我是这样的,可以自己调整)
5.不要妄图实现自己看过的所有论文的方法
6.看最近三年的论文。也不是说老一点的论文不适合看,除了非常经典的,不推荐看。
忘了一些 ,想起来再更...
我也是小白,一起加油吧!

准研,nlp 有哪些坑?-1.jpg

您需要登录后才可以回帖 登录 | 立即注册