本作品由 MinelHuang 采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可,在进行使用或分享前请查看权限要求。若发现侵权行为,会采取法律手段维护作者正当合法权益,谢谢配合。
您可以通过目录直接阅读您感兴趣的部分,各章节间并无太大联系。
本文意在描述在科研的起步阶段(时间点为研究生/博士生入学前)如何寻找个人的研究方向,并提高该研究方向可以产出结果的概率。在此本文将简述三个方面的必备知识,包括:
1. 文献分类:描述文献有哪几部分组成,哪些类型的文献是优质的,哪些类型的文献是在起步阶段对个人最有帮助的。
2. 文献检索:对于所需的文献如何检索,如何评估一篇文献的质量是高的。
3. 寻找方向:总结笔者寻找research topic的一般方法。
本文当前是笔者在入学前根据周围师兄/导师以及网上的研究方法进行的总结,您在参考本文提出的方法时请结合自身情况再做具体判断。探索适合自己的科研方法是最重要的,常借鉴,常思考,常总结。
参考文章链接:
1. 如何收集和整理论文(面向CS专业) 作者:Ying ZHANG
通常将文献分为期刊与会议论文,其整体质量为期刊>会议。但对于CS领域而言,由于期刊的审稿与修改时间较为漫长,通常时间跨度在一年左右,并且期刊通常按季度发布(每期称为Issue)、每期收录论文较少,这都不太符合CS领域的高速发展现状。故在CS领域中,大多数成果都将在会议论文中,期刊主要收录一些理论性较强或综述类论文,这是与传统学科有所区别的地方。故作为CS学生,接触的较多论文为会议论文。
期刊分为Transaction, Journal和Magazine,三者学术严肃性依次降低。严格来说Magazine不算是学术期刊了,上面很少发表新的原创性的内容,而是对当前进展的简介和综述,也会转发一些已经发表过的重要的Paper。对于新手而言,了解一个Topic的方法可以是通过Magazine中的综述类论文,建立一些基本的概念以及找到该领域中的关键词,这会对后面的研究有相当大的帮助。
会议论文是在周期型举办的学术会议上发表的论文,一般而言每次学术会议举办前都会给出一个call for paper(cpf,征稿启事),并且提供征稿的截止日期(ddl)。世界各地的学者需在ddl前向会议投稿,经审稿、修改后将被会议收录,而作者最后需在会议举办时赴会做Presentation。
会议中被录用的文章会结集出版,称为Proceedings,有些会议还会对论文进行评奖(杰出论文等)。一些优秀的论文可能会被推荐到合作的期刊,由作者进行扩展最后作为期刊论文发表。
会议分为Symposium,Conference和Workshop,其学术严肃性依次降低,大部分会议都被称为Conference。这里对会议的分级参考CCF(中国计算机学会)目录,其将会议/期刊为A、B、C三类,具体可参考中国计算机学会推荐国际学术会议和期刊目录-2019。
相信大家更多接触到的文献描述词汇为SCI和EI,其网址如下:
根据以上分类,笔者自身会先根据具体会议方向描述和CCF评级确定是否在此会议中检索,而后通过标题与摘要迅速获取论文信息(扫论文),确定接下来的一周内将阅读哪些论文全文。
下面给出一些系统方向的重要会议:
1. SOSP:ACM出版社(CCF分类:软件工程/系统软件/程序设计语言)
2. OSDI:USENIX出版社(CCF分类:软件工程/系统软件/程序设计语言)
3. SIGCOMM:ACM出版社(CCF分类:计算机网络)
4. NSDI:USENIX出版社(CCF分类:计算机网络)
可以通过上述4类会议来了解当前计算机领域中的热点研究方向(系统方面,不包含AI),在第三章中将描述如何运用会议论文寻找与确定研究方向。
参考文章链接:
1. 如何收集和整理论文(面向CS专业) 作者:Ying ZHANG
一般会议和期刊都有自己的网站,但很少能在上面获取全文。又因为来源分散,直接从它们那里检索Paper很不方便。有几个大型的论文数据库,它们与期刊或者会议主办方合作,或者自己组织会议或编辑出版期刊,比如下面的表格:
机构 | Digital Library(DL) | 链接 |
---|---|---|
Association for Computing Machinery, ACM | ACM Digital Library | dl.acm.org |
IEEE Computer Society | IEEE Xplore DL | ieeexplore.ieee.org/ |
Elsevier ScienceDirect | - | www.sciencedirect.com |
Springer | Springer Link | www.springer.com |
Wiley | Wiley Online Lib | onlinelibrary.wiley.com |
ACM 和 IEEE Computer Society(计算机学会,IEEE还有电气、电子、通信等其它多个学会) 的网址后缀是 .org,这两个是CS领域最重要的学术组织,很多的CS学术会议都是由它们组织的。 Elsevier,Springer,Wiley的网址后缀则是 .com ,这些是学术出版商,内容以期刊为主,涵盖了CS及其它多个学科。 上面这几个数据库是 主要的论文全文来源。它们各自收录的会议和期刊基本没有重叠,从它们的数据库下载的Paper也都有各自的排版样式。
ACM作为最“正统”的计算机学术组织,它的DL除了收录ACM组织的会议和期刊全文之外,还会索引其它几家数据库的 元数据,但没有全文,可以通过DOI链接跳转到这几家数据库的全文页面。
IEEE出版的一些论文在 computer.org (实际是CSDL: www.computer.org/csdl/)和 Xplore DL 都可能搜到,这两个数据库是 分别 收费的,能在Xplore DL下载的不一定能在Computer.org下载。
除数据库外,笔者在检索论文中遇到的困难大多是没有正确的关键词、找到的论文和个人方向不符、文章看完后云里雾里的。这些问题笔者的解决方法如下:
1. 选择合适的数据库检索:在第一章中本文提到了CS领域各个方向的会议,一个显然的办法是以该数据集为约束进行检索。通常使用Google Scholar进行搜索,该搜索引擎的匹配功能非常好,可以在高级搜索选项中添加各个约束。如若搜不到再考虑使用ACM,IEEE Explore自带的搜索引擎,几乎不使用Web of Science进行检索(范围太广很难筛选到自身方向的论文)。
2. 查找关键词:关键词实际上应该在寻找方向/idea阶段得到,在该阶段,笔者的检索方式为扫会议论文摘要,选择感兴趣的全文阅读,而后在论文中的Problem部分提取关键词。通过Wiki、Google Scholar等方式拓展该关键词(实际上是对Problem的补充)。
3. 有了研究方向后该如何检索:一个很好的办法是对已经提取出的文章的参考文献进行溯源,以及继续关注该文献被谁引用。参考文献的溯源较为简单,因为已经找到了文章标题,检索即可。关于被引,推荐谷歌学术的引用快讯(科研人员人工添加的引用链接)和作者快讯(可以获取该作者的新文章、新引用)。
研究方向是一份科研工作的起始,“好”的方向可以说是决定了产出的频率和质量,在此笔者希望总结自己对方向的看法以及一套方法论,该看法仅为笔者先阶段的思想,随着不断学习将逐步修改。
第一个问题,到底怎样才能算是一个研究方向?在笔者最初的思想中,方向是一个指导性的、面向一个领域的很宽泛的东西。比如,笔者最开始以为自身的方向为“分布式计算”,并以分布式计算为关键词进行了多种方式的检索。实际上,“分布式计算”仅仅能作为一个领域的概述,而无法作为一个Topic,更不能作为一个Idea。实际上,笔者认为找方向就是在对领域做不断细化,直至细化到一个Problem与几个Solution,当我们可以针对这个Problem提出几个可能的Solution后,便可以算真正“找到方向了”。
当然有的朋友会想,如果我都想出Solution了,整个论文不就做完了吗,还用找什么方向?在这里需要对真正的Solution进行区分,我们所想的Idea,是在完全理解Problem的基础上,对前人的Solution进行分类后,自己产生的几个“脑洞”。在这一阶段我们不需要整明“脑洞”是正确的,也未曾想过是否有意义或者到底有没有优化甚至不考虑能不能做出来,仅仅需要自己能产出那么几个零星的想法即可。后文将介绍笔者自己的找方向方法论,在叙述方法时您应该可以体会到笔者对“研究方向与Idea”的理解。
1. 选择一个感兴趣的领域:参考CCF和会议分类,通过Wiki、Youtube等方式对该领域快速了解。
2. 划分领域与提取关键词:通过阅读会议论文中的Magazine(十分推荐ACM中的Communications of the ACM, CACM和Queue),通过阅读标题和摘要,对现有研究进行一个粗略的问题分类(比如调度问题、负载均衡问题、效率问题、节能问题等等),选择几个自己感兴趣的问题,提取出一些关键词。
3. 概况Topic:在A类推荐会议列表中(如第一章提到的SOSP,OSDI等)使用2中的关键词进行检索,查看提取出的分类是否为研究热点,而后重点关注每个问题所检索出的论文是属于何种场景的。一般我们可以用一组短语概括,如Schedule for DNN。于是我们得到了Problem for Scenario的二元组,每个二元组可以概括成一个Topic。
4. 细化Problem:根据Topic,已经可以很准确的提取近几年的热点论文了,几乎每个热点论文都会对3中的Problem进行细化,比如Schedule for DNN中的二层交换机由于DNN的某一特性发生拥塞问题。寻找多个感兴趣的诸如此类的Problems是此步的目的。当然此时看论文还可以借助Review的帮助(这都是基于Topic的关键词),在Review中会对Problem进行大量的细化与分类。
经历上述几步,笔者便可以找到一个自己感兴趣的Topic,并了解了该Topic下的近年来的热点Problem和热点论文。在此,笔者才能确认自身确实对该Topic感兴趣并有一定的了解。