#197 从科研写作谈起

目录

## 写在前面的话

马上就要进入研究生阶段了,本科的最后一个学期很多人问我为什么不直接找工作,而是选择继续读研。这里面有两个原因:

  1. 喜欢做研究,可以说我读研的最根本目的就是搞研究、做科研;
  2. 学历不补回来,这个算作是次要目的,那就是提高自己的学历。

总的来说,我个人的想法就是:一辈子只有一次机会,钱什么时候都可以赚,但错过了深造的机会,就一切都不可挽回了。

作为整个大学阶段的总结,我决定写一系列文章来总结我在大学中学到的一些科研经验和心得,并以此激励我在日后的路上发表更多更有价值的论文。

## 科研创意的来源

应用型科学(比如人机交互)并不会有理论性较强的课题可供研究,大部分时间里,研究人员通常不知道自己应该做些什么,因为无论你突发奇想开发了一个很有趣的想法,你总会在网络上搜索到大量的『Related Work』。

那么,如何快速的开发一个科研的创意?

最快、最简单的方式就是从同事那里获取意见。其次,可以跟进一下往届学生们做过的研究工作,对他们的工作进行改进和升华,我们都知道:站在巨人的肩膀上。第三,可以阅读最近三年的会议及期刊论文从而获取灵感,保持自己的学习状态,这点我想应该不用说。第四,追踪媒体所报道的最新项目,在现在这个年代,很多学者其实都是承认工业界吊打学术界的,尤其是计算机这个发展速度飞一样的学科,学术界的反应很慢,而工业界因为有大量的实践所以知识的更新速度也很快;第五,发现潜在的客户需求,需求决定一切;第六,对人们在少量证据面前提出的假设或推断进行科学的演绎,人是一个抽象能力很高的生物,但是当人们将一个事物抽象出来了之后却很少去进行严格的演绎证明;第七,查看会议或期刊正在征集的主题

## 准备篇

### 主题的选取

选取一个研究方向时,尝试问问自己一下几个问题:

  1. 这项研究是否为你的目标用户提供了新的东西?
  2. 即便你没有在有效的时间内客服所有的工程性问题,你的研究会贡献新的知识吗?
  3. 是否有理论(或一系列想法)支撑将你的方法进行结构化描述?
  4. 你的研究能够在有生之年得到实现吗?
  5. 这个研究的主题是否符合你自己的动机、优点、缺点、喜好?
  6. 这个研究是否适合你的研究领域?
  7. 你有足够的资源吗?
  8. 没有足够的基础,你能否客服困难走进这个领域?
  9. 这个研究是否安全及符合伦理?

### 确定论文的类型

出版物的类型通常有很多种,这包括:

  • 学士/硕士/博士论文
  • 技术报告(通常位于互联网上)
  • 研讨会报告
  • 会议论文
  • 期刊论文
  • 图书

一篇优秀论文的评判标准在计算机科学领域来说,由于其快速发展的特点,优秀的论文通常来自一些好的会议,而其他学科则是以好的期刊为评判标准。

### 提出论点

论点是论文里最最核心和重要的部分,所以在写论文的论点之前一定要问问自己:

  1. 我研究的问题是什么?
  2. 理解这个问题和我的方法的概念框架应该是什么?
  3. 这个问题的答案是什么?
  4. 支撑我的答案的证据是什么?
  5. 所以,这个答案有什么价值?

这部分内容的书写里(其实也是全文应该注意的地方),一定要避免拼写和语法错误,否则读者会认为你的这些工作只是在敷衍。因为如果这些问题你都没有发现,只能说明你自己的文章你自己都没有读过一遍。而断言和结论都应该由证据来支撑,否则将不值一提。此外,这些证据并不一定都是在这一片论文的研究中发现的,也可以来自其他人已经得到的结果,但必须要给出明确的引用出处。

### 会议投稿

学术会议是最常见的学术活动中的一种,学术会议更像一种面对面的学术社交。我自己也有幸在本科阶段参与过一个国际学术会议——SmartGraphics担任学生志愿者,这使我对学术会议有了一些初步的认识。

举办一个会议前,需要确定这场会议的主题基调,然后再发送对应领域的学者邀请函(Call for Papers),邀请他们向会议投稿(当然影响力很大的会议会省略这个步骤吧…)。然后就是漫长的投稿阶段了。

评审、确定接受和拒稿论文之后,论文的作者会受到他们的接受通知,然后他们就要准备论文的演讲了。

在会议期间,每位作者都会在会议上对自己的论文进行演讲,以阐述自己论文的核心思想内容及研究结果。除此之外,会议通常都会有开幕演讲(Keynotes)、邀请讲座(Invited Talks)、评委小组(Panels)等其他几个部分。

在会议结束后,论文和演讲在一般情况下都会被公开,甚至出版。

会议组织

学术会议其实是由会议所关注领域内的一些人组织的学术活动。通常一个学术会议会包含 Organization Committee(主委会,有会议主席、宣传人员、出版人员、学生志愿者、注册人员等)、Program Committee(程序委员会,有程序主席、委员会成员等) 等部分。

会议会对投稿的论文进行的评审,每篇文章通常都会有两至三位推荐人进行评审,评审的结果回座位接受或拒稿的基础。而最终决定的讨论通常都会由程序委员会召开内部讨论会议进行决定(一般是在线会议的形式)。通常,审稿人都是匿名审稿的。

如果论文被拒,作者还有机会对审稿方的拒绝意见进行反驳和争论,并争取到发表的机会,这点很好。

投稿格式

会议投稿的格式通常分为以下几种:

  • Short papers: 论文长度一般为 4 页
  • Full papers: 论文长度通常有 8~15 页
  • Systems paper: 2~3 页
  • Work-in-progress, posters, demos, videos: 通常会在会议专设一个位置提供展出,一般以一页 Poster(海报) 加现场讲解的形式。
  • Invited talks: 邀请的演讲,一般只会发生在领域里的资深玩家身上…

重要的会议

世界上的会议和期刊这么多,我因该如何选择呢?这估计是所有第一次发表论文的人都会问的一个问题。

Google 学术提供了某一领域相关杂志的影响力排名:Google Scholar。 中国的计算机学会也有对于会议和期刊的推荐的排名:CFF 在这里可以查看甚至不同语言的前一百个最具影响力的期刊,Google 学术使用的是h5-index排名方法,h-index 是一种评价学术成就的方法。h 代表的是最高引用次数,我们通常考察一个人的 h-index 那么就是指他至多有 h 篇论文被引用了至少 h 次。比如,一个人的 h-index 为 20,那么这个人发表的论文中至少20篇论文被引用了至少20次。而 Google 学术的 h5-index 则表示近五年内该期刊发表文章的 h-index。也就是说在近五年中,该期刊发表的 h 篇文章至少都被引用过 h 次。

当然,这个指数只是作为一个参考标准,评估学术影响力还有很多方法,当我们经常活跃与学术圈时,这些排名对于每年至少五篇论文产量的科研人员来说,就已经不那么重要了。

对于人机交互领域而言,有较为重要的几个会议:

  • CHI - Computer Human Interaction,四月举行,九月为投稿的最后期限;
  • UIST - User Interface Software and Technology,十一月举行,四月为投稿的最后期限;
  • CSCW - Computer Supported Cooperative Work
  • IUI - Intelligent User Interface
  • MobileHCI
  • TEI - Tangible and Embedded Interaction
  • ITS - Interactive Tabletops and Surfaces

机器学习领域较为重要的几个会议:

  • ICML
  • NIPS
  • UAI
  • KDD
  • AAAI
  • IJCAI
  • COLT
  • AISTATS
  • ECML

计算机视觉领域的三大会议:

  • CVPR
  • ICCV
  • ECCV

另外,投稿的时候不要乱投,在投稿之前一定要询问导师或教授的意见,因为他们在这个领域已经耕耘了多年,他们的意见通常都会很有帮助。

### 期刊投稿

期刊投稿不同于会议投稿,期刊投稿的周期真的是非——常——的——长。平均一篇论文从投出到接受见刊往往要经历至少三个月甚至长达一两年的等待。

在国际上有很多出名的出版社,例如 Springer、Elsevier、Oxford University Press、MIT Press、IEEE 等。期刊主要由杂志社的编辑和编辑部进行负责,他们会对投稿论文进行初步审稿和版面调优等工作,因此论文会提交给编辑或编辑部;收到稿件后他们会将论文移交给对应领域的专家进行评审(他们通常都不是编辑部的成员)。

在国外期刊中论文有时会被匿名发送给这些专家进行评估(但这通常没什么帮助,因为一个长期活跃在某一领域的作者写成的论文通常都会有自己的行文特色和成文风格),而中国的期刊通常会先收取一笔审稿费。

论文被接受后,通常编辑部会要求投稿人对论文的一些细节进行修改,这里面包括审稿人的意见、对版式的修改要求等等,然后就可以静静的等待论文见刊了(国内的大部分期刊都要收取高额的版面费)。

## 写作篇

我们这里谈到的论文写作不是大学里那种课程设计类型的家常写作,科研论文的构成有着完全不同的『设计模式』。

### 写作动机

"Without publication, science is dead." - Gerard Piel, 2006

"We write papers mainly to impress others, gain recognition, and get promoted." - Simon Peyton Jones, 2004

写作的动机不外乎于解决问题,写作的主要目的也就是阐述以下这些方面:

  1. 发现问题
  2. 问题很有趣
  3. 这是一个未解决的问题
  4. 阐述我的想法
  5. 我的想法有效(支撑想法的细节、数据等证据)
  6. 我的想法和其他人的方法有何差异

一篇论文如果包含了这么六个方面,那么我们才能说这篇文章是一片完整的科研论文。

### 写作阶段

准备

准备论文时要思考下面这些问题:

  1. 这篇论文会有多长?
  2. 要用什么格式来写这篇论文?(IEEE,ACM,Springer,Elsevier)
  3. 论文要展示多少图表和文献?
  4. 这篇论文要用什么语言来写?
  5. 论文的主题是什么?
  6. 论文投稿的截止日期是什么?

结构

科研论文总是有一些固定的『设计模式』(也就是结构),这些结构并不是死板的成规,这些约定能够帮助你的同行更快更方便的阅读你的论文。通常我们需要:

  • 给出一个有意义的标题
  • 确定作者的顺序,通常第一作者是论文的主要作者,最后一位是主要作者的导师,名字上带*的作者表示通信作者;
  • 摘要(Abstract)通常在200字以内,关键词(Keywords)一般不少于四个。
  • 引言(Introduction)
  • 相关工作(Related Work)
  • 方法(Methodology) - 包括问题、想法和细节内容
  • 结果(Results)/讨论(Discussion)/进一步工作(Future work)
  • 致谢(Acknowledgements)
  • 参考文献(References)
  • 附录(Appendix) - 这个不是必须的

书写

论文的书写是整个过程中最重要的部分,说得难听写,即便你的内容价值不高,如果你在书写上有模有样,那么也有可能被比较好的期刊所接受;如果你的内容再精妙,但却没有好的写作,任然会被拒。

写作其实是在帮助我们自己理清思路。所以在整个研究的过程中,写作都是不断进行的。这里面有三个原因,第一:如果写作是在最后才开始,那么你可能没有足够的时间来写出一篇好的文章了;第二:写作的重量、大量的数据以及论文的组织总是难以预估的;第三:写作是一门经验学科。

在执行你的写作前,一定要制定时间表(deadline很重要),因为人都是懒散的动物,没有一个计划来逼着你往前走,那么你很有可能就没办法按时完成所有的事情了。

经常阅读相关工作,阅读后一定要记下相关笔记,因为你几乎不太可能想起一两个月前看过的大部分文章,所以读完别人的论文后,一定要用自己的话来总结别人的论文。

如果在论文里给出了某个新概念的定义,那么一定要好好思考这个定义是否合理。这就像书写法律条文一样,不能让别人钻空子。

在写下每个句子后都要认真思考这个句子是否表达了你想向读者表达的意思,并思考他们是否能读懂你的意思,会不会曲解你的意思。

有时候,句子可能没有明确的目的或并不和你论文的主题相关,这就表明你应该从文章中删掉,而不是保留。所以,科研论文里的每一条句子都是在说服读者承认作者的观点,而不是在试图告诉读者这篇论文这篇文章在说什么。

制定一个写作计划

大部分的学者其实都会有自己的独立写作计划和时段(比如每天规定自己写200个字的内容),有一好的写作环境也很重要,比如你可能会喜欢边听音乐边写作,亦或者你也可能会希望有一个完全安静的环境进行写作。此外,一定不要在你一天中心情很糟糕的那段时间写任何东西,因为如果是那样的话你生产出来的文字的质量也是很糟糕的。

如果你一天中有其他的空闲时间,你可以用这部分时间来完成一些机械的诸如拼写检查、语法矫正、图片表格插入等等的事情,千万不要在你写作兴致正浓的时候尝试去完成这些事情!这只会让你失去写作的欲望!亲测!

还有就是不要追求论文的第一版质量,第一版要注重把想要表达的内容都卸下来,然后在慢慢的优化,如果你发现自己的思维受阻,出门散散步是个不错的选择(当年哈密尔顿就是和老婆散步的时候想出四元数的嘛)。

数据的展示

展示数据是一个非常考验人的工作,你的图表应该是负责展示那些有趣的数据和结果,而不是简单的将未加工的数据罗列或直接可视化的展出。图标上所有的内容都应该有明确的解释,这样读者才能明确的 get 到你想要表达什么。

说句实话,其实对于一个接触你论文的人而言,他们通常会扫一扫全文,然后去看论文的图片和表格,而大段的文字一般不会阅读。

当他们发现你的图标精美,那么他们才有可能会去读你的文字。

照顾读者

读者的类型是很多的,所以你的文字应该照顾所有人的需求。比如:

  • 考虑搜索引擎:很多读者都会先在搜索引擎上搜索论文,所以你论文的标题和关键词应该取得足够恰当,使得他们能够排在搜索页的最前端,你可以在你自己的网站上发表这样的字段,然后看看 Google 是否能够把他们排在前面;
  • 考虑标题和摘要:有些读者只想知道这篇文章是否符合他们的兴趣或和他们的研究相关,通常这部分人只会读你论文的标题和摘要;
  • 考虑结果:有些人非常关注论文的结果,因为他们想在他们自己的论文里使用这些结果,所以你应该在论文的第一页介绍一下这些信息来引起他们的注意,而且如果你还有其他好的想法没有展示哪怕是放在最后一页,他们都不太可能看到;
  • 只有那些想要在你这篇论文涉及主题里进行研究的人,才可能会去阅读所有的细节。

修正

论文的修正其实也是一个很难的部分,大部分刚开始进行科研的人都会认为这部分很没有必要,但是这部分其实严重关乎论文的质量。我个人通常在完成一篇论文或一个章节的写作时,会将论文闲置几天,然后再回头审视自己的行文是否合理。

在自己基本对内容满意后,会将内容发给朋友进行阅读,让他们给文章的文字书写提一些意见或建议。满意后,再考虑把它发给导师做进一步的讨论。

一个好的同行审查通常会指出论文的优点和缺点,这时候可以修改那些缺点,让文章变得更好。

如果论文被拒,通常评语会给出一些建议讨论论文的进行进一步的改善方向从而达到能够发表的水平,如果没有给出任何有用的建议,那么以后千万不要再投这个会议或者期刊了,因为那只能是浪费你自己的时间。

## 工具篇

做科研的工具不外乎写作工具、版本控制、文献工具、图表工具、分析研究工具等。

### 写作工具

对于写作工具而言,广为人熟知的工具就是 Microsoft Word。但实际上,用过 Word 的人都知道其实 Word 对于排版并不够友善,毕竟这个软件是面向专业用户的,如果要做到良好的排版会需要花一定时间来进行排版。

另一个 Word 存在的缺点就是不能够跨平台。在 Linux 系统上,没有 Word,尽管如今 Office 365 提供了网页在线版的 Office 套件,但毕竟只是一个 Web App,其功能大大被削减,有些硬需求总是无法完成的。

而现在大部分的国际会议或期刊都已经提供 LaTeX 模板方便学者进行写作。

LaTeX 简单来说就是『用代码来写论文』,更具体的介绍已经有更好的文章对其进行说明。我就只介绍几个我个人的偏好:

  • MacTeX - Mac 端的 LaTeX 工具;
  • MacDown - Markdown 编辑器,以前使用 Mou,但是作者坑了之后我就换成了这款编辑器。虽然 Atom 有 Markdown 的功能,但是这款编辑器更轻量,能够切换很多预览样式和 PDF 输出;
  • Atom - GitHub 推出的编辑器,用来替代 Sublime Text,支持 Markdown 预览,各种代码高亮;
  • Quiver - Markdown 编辑器,这款编辑器和 MacDown 不同的地方在于 Quiver 软件提供了一个内建的数据库来管理所有的 Markdown 内容,而 MacDown 而是单纯的创建一个 .md 文件。Quiver 的特色在于提供了不同的段落 Cell 概念,有Markdown Cell,LaTeX Cell(这是我最喜欢的),Diagram Cell 等等;
  • Evernote - 印象笔记,不说了;
  • CTeX - Windows 端的 LaTeX 工具;
  • Microsoft Office - 微软办公套件,用户群摆在那儿,不可或缺;
  • Notepad++ - 文本编辑器,是对 Windows 端记事本的扩展;
  • TexLive - Linux 端的 LaTeX 工具。

### 版本控制和存储

写论文其实也是需要进行版本控制的,如果是和其他同事或导师和写一篇论文,如果什么都不做的话,多文件之间的管理也会出现很多的困难。Git 无疑是目前最好的解决方案。

  • Git - 版本控制,不说了;
  • SourceTree - 可能最好的 Git GUI 了吧;
  • GitHub - 将自己的项目开源,增加自己在网络上的影响力;
  • Share LaTeX - 这是一个在线 LaTeX 编写服务,能够将编写的内容托管在这个站点里,支持在线 LaTeX 编译,因此编写 LaTeX 并不需要在电脑上安装 LaTeX 环境,只需要一个浏览器就可以了,而且,这个网站还提供了多人协作功能,将一个项目开放给其他人共同参与编写,这对进行论文的写作评审是很有帮助的;
  • Travis CI - 持续集成其实是为 GitHub 而生的,如果整个论文的 TeX 源码部署在 GitHub 上,那么用 Travis CI 可以直接将整个项目部署持续集成,这样的话本地的 LaTeX 环境也不再需要了。

### 文献工具

文献搜索:

文献管理的工具很多,比如 BibTex,EndNote 都是很有名的管理工具,EndNote 不支持 Mac 所以忽略,BibTex 主要使用于 LaTeX 写作时生成文献,而下面两个工具则是我使用比较多的工具: * Papers 3 - 这个是我主力使用的文献管理器,好处是一次性买断使用权。 * Mendeley - 这个和 Papers 相比的特点在于它的付费模式,它允许用户免费使用,但是更高级的功能需要订阅付费后才能使用,其中一个很棒的功能就是和别人共同创建一个文献组,然后共同管理需要管理的文献,彼此之间共享阅读笔记等。

### 图表工具

  • Microsoft Visio - Windows 上最好的图形制作工具,支持创建各种图;
  • Omni Graffle - Mac 上最好的图形制作工具,支持创建各种图,还支持 EPS 格式导出;
  • Adobe Creative Suite - Adobe 剁手系列我就不用说了吧;
  • Python Matplotlib - Python 中使用最广泛的图形库,支持 EPS 格式图像输出;
  • GeoGebra - 画图神器,提供图片的 TiKZ 代码,对 LaTeX 写作非常方便。
  • GIMP -

## 后记

掐指一算,本科阶段正式发表过的论文已经有四篇了,虽然都不是什么『革命性』的工作,纯属灌水。但是当自己回过头看这些内容时,依然觉得这些至少证明我的大学没有白过。

## 进一步阅读的文献

打赏催更