如何快速读Paper – ThoughtWorks洞见
自从上次介绍了 去哪里找paper之后,大家问我的问题就常常变成了: 如何快速阅读一篇paper并准确的提取其中有用的信息。在本文中,我将试图为大家简要解答这个问题,争取告诉大家如何在短时间内通过阅读文献的方式了解一个新的领域。
阅读一篇paper通常见的目的有四种:
- 面对一个新的领域,我要快速把握这个领域的研究方向和state-of-the-art方法,来给自己或者团队设计一个大致的技术方案。
- 这个领域我很熟悉了,我要看看有没有什么新idea。又或者我马上要写一篇类似的文章,先上来探探路看看别人都干了什么、怎么写的;
- 老师/编辑非要让我读,然后给大家讲 or 给审阅意见;
- 睡前/早起例行关注新闻,跟刷牙时候听新闻联播没啥区别,就是看看热闹。
(引用自 http://phdcomics.com/comics/archive.php?comicid=963)
在一一回答以上四个问题之前,先教大家如何避开一个大坑——关于出版机构。虽然正常的人类实在是没什么必要对各种会议组织和出版机构如数家珍,按照出版社级别给paper质量排序就好像根据学校名声给学生确定刻板印象一样在公序良俗上不靠谱,但是我们关起门来说,知道哪个出版方的论文质量比较低、不太值得看确实可以给我们节省不少时间。在这里只举一个大家(包括很多科研水平不错、只是不在英语世界混的学者)常常掉进去的坑: hindawi.com。 非常高产的一个Open Access出版社,主页看上去也很是像那么回事儿,但是很抱歉,其中大部分文章都只会浪费大家的时间。
回到问题1
不妨找一个专业人士,和他大概描述一下自己的问题领域,让他发一篇survey给你。或者自己去google Scholar上自己去找那种以survey/review为题目的文章。这里我以推荐系统为例,大家直接在搜索框里面输入survey recommendation system,点击搜索,就可以得到如下结果。
然后挑选前面引用数目破千的来看,基本都不会有什么问题。比如说 第一篇就会给你介绍很重要的几个概念:Content-based recommendations;. Collaborative recommendations;Hybrid approaches。为你之后的论文阅读打下坚实的基础。大部分写过paper的人,包括我在内,总是默认读者知道领域内的一些基础概念的——这也是我总被人告知要说人话的原因。
找不到survey怎么办呢——要知道并不是每一个领域都有靠谱的、现成的survey可以读的。这个时候,请按照下一项的建议,通读个十几篇行业内引用数较高的文章,如果在这个阶段还读不懂也没关系,尝试着找出它们共同引用的文章,从那里开始。找到领域内高产的第一作者(排名第一的作者,常常是论文的主要贡献者)和通讯作者(排名最后但是名字上带个星号的作者,通常为业内大牛或者付钱的那个人)的主页,上去看下这个人最近在干什么,都在什么会议或期刊上,发表了什么主题的文章。
总体来说,是一个“文章-作者(以及reference的作者)-会议/期刊-文章-作者-……” 的一个大雪球,雪球越滚越大的同时,你的知识领域也会越来越丰富。
对于问题2和3
基本建议采用Waterloo大学S. Keshav的“ 三遍法”(以下为避免翻译不够信达雅,关键字均用英文)。笔者对三遍法基于工程师的阅读习惯做了一些修改——其实这个时候读者已经很熟悉问题背景和常用算法了,Introduction的细读相对来说就不那么重要,需要的是最快速度的十分钟了解文章大概,不过通读Introduction永远是是面对新领域或者没见过上下文的新paper时候的最优选择。
第一遍读Title、Abstract和Conclusion部分,略读Introduction,其他部分只要看章节标题和小标题就可以了。最后快速刷一遍Reference看看有没有自己看过的。这一遍大概只要十分钟,就可以对作者要解决的问题和解决方案有一个大概的把握,进而决定要不要读下去。
对于你觉得值得读的文章,第二遍读文章中的图表和方法,把看不懂的方法和参考文献都标记出来。这一遍大概要花一两个小时,你会详细的知道作者达到的效果,并且对自己的领域(比如说换个数据集或者损失函数什么的)能不能用类似的方案达到类似的效果,做出一个初步的评估。在这一遍成功结束之后,当有其他人问起,你可以大概复述出主要实现方式。
对于实在非常重要的文章,又或者是不得不认真读的文章(比如审稿),我们读第三轮。在这一轮中,往往会亲手根据作者的假设和思路进行一轮推演,发现那些作者不曾写在文章里的思路(常常也是坑),有源码的文章可以把源码搂下来试试看。没有源码的文章可以尝试着把核心部分做个小小的poc。这一遍(我个人)通常也需要带着些批判性思维去做,尽量找出可以提升或者没说清楚的地方——如果让你来做,你会怎么做?有没有看上去更好的解决方案?有哪些细节可以提升一下?
对于问题4
其实也没什么好说的,可以关注几个顺眼的会议列表或者各个企业的公众号。睡前一读娱乐身心,尽量不要搞到一群Reference的Reference的Reference递归看下去睡不着就好。
在最后,再给大家两个小的tips:
- 如果对这个领域不够熟悉,真的不要嫌弃排名靠前、引用数多的那几篇“老古董”,相信我,他们比那些2017年之后发布的好懂很多很多很多。越晚发布的,对于高新技术的依赖就越强,引用的参考文献就越是繁杂,对入门者也就越不友好。
- 隔行如隔山,很多时候其实你并不清楚你想要寻找的(英语)关键字是什么,比如在预测明天A区域房价的时候,如果你知道的是今天以前的房价,那么你或者应该从“time series survey”开始;而如果你知道的是房子的面积地段楼层户型,那么传统基于特征的预测有可能是你的首选。所以,一个活生生的“人工智能”专家在某些时候能帮你省好多劲儿,不要羞耻的去发问吧!看到哪篇文章实在很感兴趣,直接发信就行!
P.S.
分享一个 小插件。点击安装到Chrome里面可以方便随手搜索。
再分享我用的论文管理软件 Mendeley,跨平台,好管理,好标注。回头大家用的多了有疑问,我可以写个评测。