博士自救指南之文献阅读篇

  • 2020 年 12 月 15 日
  • AI

前天晚上听了CCL2020的学生研讨会,几位老师和同学分享了一些他们的科研经历和心得。听完后最大的感受是做科研很重要的一个基础是形成自己的一套固定的行为模式,包括文献阅读、做实验、论文撰写等等,当然这种行为模式必须是科学、合理且能够不断自我完善的。

因为自己也将在一年后攻读博士学位了,如果说本科阶段对于NLP的学习和研究是一段不断求知、不断满足好奇心的过程,那博士阶段就必须将这个过程规范化、专业化。因此我之后应当会不定期地谈一谈自己对科研中规范化行为模式的一些思考,主要是对自己的要求,也与大家共勉。当前这篇文章就从文献阅读讲起

文献阅读的意义就无需多言了,不论是学习经典还是跟踪前沿,阅读论文都是最合理有效的手段。此前其实也写过一个关于文献阅读的回答:研究生新生要怎么看论文?

但比较零散,此处来按照步骤系统探讨一下

文献获取和判断

得益于现在各种丰富的信息源,获取文献的渠道也非常之多。光留心被动的来源(公众号、知乎、b站…),每天都能接收到许多文献解读的推荐;主动的话也可以去arxiv, paperwithcode以及各大会议的官网搜寻感兴趣的论文。其中像ACL、EMNLP等重要会议有必要将放榜的论文标题都通读一遍,此前也写过一个关于新文献获取的回答:想了解nlp的最新进展,有哪些途径?

获取到的文献相当于人工对海量文献进行了一遍粗召回,数量依然很庞大,因此有必要利用打分函数再对其做一次Ranking,我初步总结了几个打分函数:

  • 该工作与当前自己工作的相关性

如果论文与自己的课题高度相关,这是毫无疑问需要精读的,也是我们进行文献检索的主要目的

  • 该工作在该领域的影响力和重要性

我们做的领域总归是有限的,所以其他领域的有重要影响力的工作也应当关注。最典型的,大部分NLPer都不是专门做PTM的,但BERT出现时,不可能不引起我们的关注

  • 该工作为自己带来的启发

这一类的论文不一定是我们领域的,甚至不一定是同个大方向的,但对我们做发散的思考可能是最有价值的,例如一些新颖的思路、有洞见的claim都很值得学习。例如半年前我在CVPR2019上看到了一篇利用GNN对Multi-Label图像分类中标签之间的依赖关系进行建模的文章,会自然地联想到这同样可以应用到NLP领域中。而到现在,已经可以检索到几篇关于类似主题的文章了。

建立To Read List

经过检索和Ranking后,我们已经获取到了文章,也知道了哪些文章应该略读、粗读或精读。但有一个很关键的问题是,我们在当时可能并没有时间马上去阅读这篇文章,而很多人的行为习惯是 我收藏/下载了等于我看了,或者因为某些原因我们直接忘了要看的论文。所以非常有必要建立一个to read list,按照优先级登记论文,看完一篇check一下。

文章内容提炼

这一部分主要针对那些精读之后觉得确实很好的工作,于是有必要做进一步的内化。赵鑫老师对于判断一篇文章是否精读到位的标准如下:

我们可以参照这个标准制定一张表格,精读完一篇论文后看是否能将表格尽可能地填完整,以此来检验自己的阅读效果,同时也是在用类似于做阅读理解的方式加强对文章的理解。表格主要项包括:

  • 论文的标题、作者、会议名称及年份

记住作者的名字可以方便后续跟踪他的工作,去进行模仿和学习

  • 核心贡献总结

用简练的话语对该论文的核心贡献进行概括,可以尝试用英文写,可以锻炼后续自己的文章中对于相关工作的描写

  • 方案流程介绍

对模型结构、核心公式做一个小结

  • 数据集信息

数据集的收集其实很重要,但可能很容易被大家所忽略。很多任务的提出都伴随着数据集的release,但实际上这个任务不一定只能由这个数据集来体现,例如常识问答中有个数据集就叫CommonsenseQA,但它也只是利用常识构造数据的其中一种方式。当我们储备的数据集信息足够多的时候,我们想要做一个任务不仅会比较自然地想到应该在哪些数据集上做实验,甚至还能结合对于这个任务的理解自己release一个数据集。

  • 读完的收获和对自己的启发

收获可能包括但不限于这份工作实验设计的方式、对当前任务和模型表现透彻的分析、值得借鉴和参考的想法等等

  • 该工作有何不足

不仅要说得出它有哪些好的地方,也要说得出它有哪些不好,这是我们产生自己的idea的关键来源

由读到写

这一步分主要是为了写作做储备,我们可以不定期把最近看过的文章都打开,单从写作的角度再去过一遍论文,例如记录下:

  • 地道的句式结构,使我们的表达不要那么单一。例如 to endow our model with the capability of …(为了赋予我们的模型…的能力);this framework is modeled after recent … innovations while further adapted to …(这份工作是受…的启发,并进一步改进成…)
  • 同义词组替换,为了避免重复,可以对表达相同含义的词组进行分组
  • 不同部分的承接表达,拒绝firstly, secondly, finally…
  • 遇到过两次以上的生词
  • ……

以及像赵鑫老师提到的,可以先不看文章的摘要,把全文读完自己尝试来写摘要;看看有没有作者写得好等等。

总之,读论文是增加我们对某个领域的广度和深度最有效的手段,希望大家都能多读论文,读好论文