我在博士的时候,老板给我的是三步走策略:
Think-->Read-->Write
什么意思呢?Think是你去想idea,Read是你去验证你想的idea是否被实现了,有没有更好的问题可以研究。然后再Think,再Read,不断的Think和Read,当最后确定一个可行的idea,接下来就是要实际实现这个方法(对于理工学生,就是做实验,做算法;对于文科生就是去论证某一个课题),最后才是Write,写出论文。
-----------------
贴一个以前我回答过的计算机方向如何写论文的问题,希望对你有所帮助:
发了不少论文,也审了不少论文,我从四个角度来说下这个问题。
我当年念的是计算机领域的博士,所以也牵扯到发conference论文和journal论文两种情况
对于conference而言,最重要的是快,准,狠。因为普遍计算机领域的conference时效性非常强,好多会议每年一次,IJCAI,AAAI,CIKM,EMNLP等等,从idea到投稿到得到录用通知也就几个月的时间,所以速度要快,亮点要强,投不中,继续改投下一个会。
对于journal,尤其是SCI而言,最重要的是细,稳,全。因为期刊的审稿周期会很久,一年都是很正常的,如果是从conference扩充到SCI期刊,那就需要做出很大的更新,把每一个公式都描述清楚,给出细致的证明,实验部分要论证充分,尽可能多的列举证据来说明算法的创新点和贡献度,文字要清楚,英文表达流畅,无语法错误和标点错误。
所以,conference有一定的运气成分存在,但SCI期刊基本不存在运气成本,是硬实力的体现。
另,计算机领域一般参考CCF的等级分类,网上可以直接下载到CCF的目录表。
2. 然后,谈一下如何“看论文”。
我博士刚入学的时候,老板要求就是先把他所做的方向的所有论文都读完,然后将所有论文的reference也全都读完。这是一个非常大的量,读完之后,就会有一些对这个方向的概括性的了解,也会发现这个方向上还没有做好的问题,这些问题就可以成为一个潜在的研究点。
遇到读不懂的公式和定义,不要混过去,去Google上查原始论文,查reference,或者查wiki的释义,直到自己理解为止。否则你会发现,碰到一个不懂的东西跳过去,后面的越来越不懂了。
3. 第三,谈一下如何写论文。
读完论文以后(非常大的量),就会有一些对这个方向的概括性的了解,也会发现这个方向上还没有做好的问题,idea也就自然而然出来了。写论文,无非是四个层面:
1)新问题,新方法;
2)新问题,老方法;
3)老问题,新方法;
4)老问题,老方法。
例如在预训练无监督语言模型兴起的今天,如果你用一个新的XLnet算法,解决以前的NER问题,那就是属于第3)种,如果你创造了一个比XLnet、Bert都要好的算法,并且解决了一个前所未有的问题,那就是属于第1)种,但这种情况很少。
所以,大部分现在的同学还是在解决第2)和3)中方法,而4)没什么太大的意义,1)属于那些积累深厚、能力特别优秀的人。
4. 最后,谈一下如何发论文
投稿的时候,如果你有很好的introduction,实验比较充分,公式推理得当,一定会有合适的期刊或者论文发表。但需要注意细节的问题。一些很好的论文由于英文写的不好、存在语法错误被拒稿很常见。
祝大家都能发表好的论文。