什么是研究工作,什么是一个博士生的研究工作

学习的根本目的是为了创造知识、创造性地运用知识、欣赏知识和知识的创造过程。当然,顺便,为了实现这些目的,最重要的是理解知识,也就是看到概念之间的联系、看到概念和它诞生的时候的问题的联系、看到概念和学科大图景(一个学科的典型研究对象、典型研究问题、典型思维方式、典型分析方法、和世界还与其他学科的关系)之间的联系。只有在学习的时候得到了深刻的理解、用了研究性学习(创造体验式学习,把一个概念的典型场景从原始论文或者其他地方提炼出来,设计好一个问题,让学生通过解决这个场景问题来自己提出概念),才能帮助我们做好的研究。不过,这个理解知识不是我们今天要说的重点。我们今天来说说,既然研究是学习的根本目的之一,甚至也是学习的重要方法之一,那什么才是研究,尤其对于一个博士生来说。

首先,研究是大概来说这样的一个过程:提出问题之前的准备(包括学科知识和大图景的研究性学习、论文阅读,论文阅读要看到论文之间的联系,形成概念地图,得到所研究问题的来龙去脉和现状的整体认知)、提出问题、把问题形式化(例如变成一个数学问题、变成一个实验)、求解问题、检验答案(先假设形式化准确,用其他方法或者极端情况来对比一下一般的答案,设置对比实验组;如果过了这一关,回到形式化这一步,看一看假设是否可以接受,如果修改其中某些假设会怎样;最后,可能还要做实验和实践的检验),以及之后的撰写和投稿论文(这里也有很多技能要学习,例如结构化写作)。一个希望做研究工作的人,毫无疑问,要通过一两个工作来对这个研究过程形成一定的认识。尤其是提出问题这一步,就算在导师已经提好问题的情况下,也要回到场景去体会一下,问

  1. 为什么会提出这个问题?
  2. 如何提出的这个问题?

当然,熟悉过程,学会一些技能,理解好学科,这些都是训练。基本上是硕士阶段应该完成的事情。当然,随着研究工作的开展,你对学科可能会有更好的理解。如果是博士,则还有更高的要求:你得是某个方面的专家,以及有一两把善于使用的刀子,以及对某个领域的兴趣和对磨刀子甚至发明刀子的兴趣

其次,研究不仅仅是上面的那个过程而已,研究是通过找到和解决一个学科当前还不能解决的问题(可能是形式化之前的偏实际场景的问题或者形式化之后的偏理论体系的问题)来补充甚至重构这个学科当前的知识体系和大图景。对于后者,有的研究工作会给这个学科提供新的思维方式分析方法,因此,不仅仅是解决了某个问题而已。因此,对于任何一个研究工作,都要问类似这样的问题(对于欣赏他人的研究工作,也要问类似的问题):

  1. 在我自己要做的这个研究之前,
    1. 这个问题确实还没有解决吗,没有人研究过或者说没有人用这种方法研究过吗?
    2. 这个问题可能的答案是什么,如果我们得到了某个答案,对于整个学科甚至整个科学和技术来说,意味着什么?
    3. 这个问题的解决大概需要什么知识和技能的基础,尤其要识别出来其中最关键的那一步,我从中能够学会什么?
  2. 在我解决这个问题之后,
    1. 这个工作提出了新问题,发展了新方法、得到了新结论、提供了新案例新应用场景?
    2. 这个问题以及现在的解决方式和答案,还有什么需要继续改进的,还可以怎样进一步发展和迁移?
    3. 我从中学会了什么,学会的东西可以如何帮助我成为一个研究者?可以从学科大图景的角度来思考,从知识和技能的角度来思考。

经过这些思考,你除了了解了研究的流程,还对某个学科分支的研究现状——已经解决的没有解决的问题、问题的理论和实践价值、典型思维方式和分析方法,以及这个现状的来龙去脉——有了比较好的认知,还有一两把善于使用的刀子(思维方式、分析方法、提出问题、问题的形式化等等,任何一步任何一个方向比较强,都行)。这时候就差不多可以成为博士了:在你所研究的问题的方面,你已经和这个领域的最前沿的研究者在思考和面对类似的问题了(尽管你可能没有人家快、深入、可靠等等),你已经超过你的导师了,如果这个导师不是也正好做这个问题的直接研究的话。

拿论文追热点的工作当例子

我们来问和回答上面的问题。

为什么会提出这个问题?如何提出的这个问题?
论文的创新性的度量是一个很重要的问题,论文的评价、推荐、甚至将来是否选择把这个论文加入学科核心知识结构,都需要依靠这个创新性。但是,人类是通过阅读论文,把这个论文的核心内容提炼出来,在其他研究工作的背景上,来做这个创新性的评价的。也就是说,如果算法要能做的话,要先解决本论文的核心内容提取、其他研究论文的核心内容提取、作对比的技术,这些问题。在那之前呢?我们是不是可以通过引用行为来衡量追热点程度,也就是一定程度上创新性的反面呢?例如有的人引用一篇论文,真的是因为看到很多其他人也在引用这篇论文。

这个问题确实还没有解决吗,没有人研究过或者说没有人用这种方法研究过吗?
创新性的问题有人研究但是进展有限(这句话背后是大量的论文),领域层面的平均追热点程度有人研究,论文个体层面没有。更进一步,暂时没有发现用追热点程度传递的方式来衡量论文追热点程度。

这个问题可能的答案是什么,如果我们得到了某个答案,对于整个学科甚至整个科学和技术来说,意味着什么?
有可能可以找到一个能够描述论文追热点程度,也就是创新性的反面,的指标。不过,这个需要检验,而且这样的检验不是很容易。如果做出来了,第一确实就可以帮助做论文的评价和推荐等任务,多了一个维度;第二,可能可以在科学学领域进一步推广影响力扩散(从直接到间接)这个思维方式和分析方法。

这个问题的解决大概需要什么知识和技能的基础,尤其要识别出来其中最关键的那一步,我从中能够学会什么?
从中可以学会影响力扩散的思维方式和分析方法,也能够进一步了解科学学这个领域。

这个工作提出了新问题,发展了新方法、得到了新结论、提供了新案例新应用场景?
新方法,可以用于论文评价等场景。

这个问题以及现在的解决方式和答案,还有什么需要继续改进的,还可以怎样进一步发展和迁移?
还没有实现真正的论文创新性度量,这个论文追热点指标本身也还需要进一步的验证。

我从中学会了什么,学会的东西可以如何帮助我成为一个研究者?可以从学科大图景的角度来思考,从知识和技能的角度来思考。
这个留给建林回答。

拿综述文献识别的工作当例子

为什么会提出这个问题?如何提出的这个问题?
实际工作中,我们需要把总数文献识别出来,单独做处理,不管是评价还是用来构建学科概念地图的基础帮助学生进入一个领域(总数文献在这方面无与伦比)。

这个问题确实还没有解决吗,没有人研究过或者说没有人用这种方法研究过吗?
前人提出了多个经验指标,例如参考文献的数量、看期刊。但是,还没有真正解决识别的问题,尽管已经可用。我们打算构建一个机器学习分类器来做这件事情。

这个问题可能的答案是什么,如果我们得到了某个答案,对于整个学科甚至整个科学和技术来说,意味着什么?
对于这个问题,有一个综述文献分类器的作用就是可以区分综述文献了。

这个问题的解决大概需要什么知识和技能的基础,尤其要识别出来其中最关键的那一步,我从中能够学会什么?
需要学会机器学习,尤其是其中的自然语言处理和分类器。由于实际标注数据中有噪声,因此,这个工作除了实现一下分类器之外,还需要考虑噪声的解决。后者是一个科学问题,前者基本上就是工程问题。从中,我还能学会如何区分工程和科学问题,以及从研究工作中提出和解决科学问题。

这个工作提出了新问题,发展了新方法、得到了新结论、提供了新案例新应用场景?
新工具(分类器)、新方法(噪声问题,不过后来发现这个方法的精神已经有前人的工作,尽管细节不同)。

这个问题以及现在的解决方式和答案,还有什么需要继续改进的,还可以怎样进一步发展和迁移?
分类结果还需要进一步的验证。可以把噪声处理的方式作进一步的研究和应用。

我从中学会了什么,学会的东西可以如何帮助我成为一个研究者?可以从学科大图景的角度来思考,从知识和技能的角度来思考。
这个留给骆慧颖回答。

拿决策影响因素的工作当例子

天笑先回答

拿量子输运的工作当例子

吴金闪回答

推荐参考文献管理工具Zotero

其实,我自己已经养成了把重要的参考文献整理在网络上的好习惯(见www.bigphysics.org)和相应的研究项目整理在一起。

不过,其他人可能还是会需要一个专门的参考文献管理工具来把自己读过的文献整理好,包含分类、做批注、做成bibtex等方便以后写文章的时候使用的文献格式。甚至,可能需要把阅读完的pdf直接变成bibtex文件

这个时候,Zotero就很管用了:它可以直接从pdf文件得到题录,甚至倒过来从题录直接搜索pdf文件。同时,如果配合ZotFile,还可以把任何时候任何机器上看到的文章都先上传到一个网盘上,网盘同步到电脑上,ZotFile同步到Zotero的方式整理到参考文献列表中。如果安装浏览器插件,则可以直接通过Zotero网上账号来同步(不过存储空间只有300M),直接做到在任何地方任何机器上看文献都能够保存在统一的地方。

试了试其中的pdf到参考文献功能,相当准确。应该是背后检索了相应的数据库,看起来包含了CrossRef和Google。

输出格式方面,可以输出bibtex、APA格式等,也可以导出为Refworks、EndNote等软件的格式。

不过这个软件的Linux版本下载回来是一个预编译文件不需要安装,也不能安装,因此,如果要加入dock里面快捷运行,需要自己做一个快捷方式:

gedit ~/.local/share/applications/zotero.desktop
文件内容如下:

[Desktop Entry]
Name=Zotero
Exec=zotero
Comment=Run Zotero
Terminal=false
Type=Application
Icon=~/software/Zotero_linux-x86_64/icons/zotero.png

对了,刚才我同事提醒我,如果你用Windows,则ReadCube也有类似的功能。是的,也很好用。

团队维护的网站

cloud.systemsci.org 团队云存储,用的owncloud平台,放在北京师范大学(219.224.31.20反向代理)。

cmap.systemsci.org 概念地图网站,用的CmapServer平台,放在北京师范大学(219.224.31.20反向代理)。

game.systemsci.org 博弈实验平台,用的oTree平台,放在北京师范大学(219.224.31.20反向代理)。

hpc.systemsci.org 计算平台,用的jupyter+SageMath平台,以及lapack, petsc, slepc, MKL等计算包(后面这些需要本地ssh登录——例如ssh hpc.systemsci.org -p 7712 使用),放在北京师范大学(219.224.31.43反向代理)。

www.edutopian.org 概念地图为基础架构的课程系统,建设中,暂时只能内部测试,放在北京师范大学。

www.revdi.org 综述文献点评网,建设中,暂时只能内部测试,放在北京师范大学。

www.systemsci.org 团队成员博客群,已经搬到阿里云上。

www.bigphysics.org 团队研究项目整理网站,已经搬到阿里云上。

www.learnm.org 汉字理解型学习网站,已经搬到阿里云上。

阿里云服务器地址,47.93.254.253。ubuntu虚拟机。

学校识别,GRID和google 自定义搜索(custom search engine) api

由于研究工作需要(城市以及学校之间的学术支撑和利用关系、作者姓名识别),需要对文章的作者单位做一个识别。

目前,已经有Grid.ac(https://www.grid.ac/)做了这样的工作,并且提供编码以后的全数据下载

我们也对Grid给出来的结果做了初步测试,结果很不错。不过大约有10%需要人工干预,或者至少人工确认一下。在这个10%之中,通过wikipedia或者google搜索,可以发现,大约有40%左右还是正确的,剩下的就需要从wikipedia或者google搜索来获取数据了。

其中,https://www.google.com/cse/ 提供了用户自定义搜索(针对某个网站+全网)的API。

对于需要人工确认的学校名称、地址,除了调用wikipedia数据(data dump 或者 api)之外,还可以用这个google 自定义搜索(custom search engine) api来实现。例如,这是一个以wikipedia和系统科学人为特定网站设定的(同时也包含了全网的结果的)自定义搜索:https://cse.google.com/cse?cx=003079937312448303458:6csbgejecua

甚至,google还允许你用JSON API的方式来格式化获取搜索结果,而不仅仅是网页形式。不过,这个JSON API的方式每天的上线是1万次,并且不能全网搜索。

汉语拼音的系统化可拼读化:只增加一个字母,就能完全拼读,而且规则变少

最近在帮逸儿学习汉语拼音。这个很多时候能够拼读,很多时候又不能够拼读的汉语拼音确实是一个烦人的东西。这样的辅助发音体系还最好有,不能完全扔了。所以,可以考虑做局部的调整。这样的调整,本质上,就是从完全准确的完整的汉字读音列表开始,例如用通用国际音标来标记,然后,选择一些能够合并的音合并起来,使得用比标准国际音标更少的表音符号就能够比较准确地标注汉字的读音。当然,实际上修改起来会遇到各种困难,例如现在已经习惯的人,现在已经做出来的文字系统出版系统等,都会是阻力。所以,这里,仅仅列做来能做的一点点修改,那些仅仅修改一点点地方就能够使得系统化程度更高,可拼读程度更高的地方。

  1. 第一个要改变的就是引入ə,用来区分e的两个音:e和ə。前者是例如在ei,en,er,eng里面的发音,后者例如在ie(iə),üe(üə)里面。
  2. 第二个要改变的就是利用引入的ə,用重新标注uo(uə)和ou(əu)。
  3. 第三个顺便统一uo(uə)和o。这两个音实际上略有区别,但是,为了简单记,不如合起来算了。例如,玻(bo)璃和玻(buo,buə)璃实际上,差不多。这样就相当于取消了字母o的单独发音。
  4. 第四个,那么o怎么办呢,还需要保留吗?需要,而且发音方式是ɔ的发音,仅仅用在ao和ong里面。
  5. 第五个,用ŋ取代ng里面,省的ng(嗯歌,讷歌,都拼不出来ŋ的发音)不可拼读。
  6. 第六个,取消去不去掉ü上两点的规则,以及表声调的位置的规则。例如可以设定这样的规则(能够不变的就不变,能够少一件事,就少一件事):一直保留ü,一直把声调标注在第一个元音字母上。
  7. 第七个,ian改成ien,üan改成üen。例如,线(xian)条是不可拼读的,只有线(xien)条才是,选择是(xüen ze)。
  8. 第八个,允许元音字母出现在第一个,也就是允许没有声母的拼音;同时允许只有声母的拼音。前者,例如ua,iou(顺便让iu回到iou,让ui回到uei)。后者例如sh(诗,建议也修改为符号ð),zh(蜘,建议也找个单个的新符号),ch(吃,建议也找个单个的新符号),z,c,s。这样也就顺便取消了拼音字母y,w。
  9. 第九个,最重要的一个,取消所有的固定拼读韵母,完全通过把发音连起来——拼读起来——来读汉语拼音。

有了上面的修改,韵母a, o, e, i, u, ü成了a, u-ə, e, ə, i, u, ü, o。中间的u-ə不是基础字母,于是,基础字母成了a, e, ə, i, u, ü,o。

另外n,r,ŋ三个字母比较特殊,一定程度上扮演了韵母的角色。不过,按照我们的新的规则,我们不需要区分声母韵母,直接合起来读过去就行了。

从这七(其实是6.01个,最后的o仅仅在两个地方用得到)个字母除法,ai, ei, ao, uo, ou, iu, ui, ie, üe, an, en, in, un, ün, ang, eng, ing, ong,ian, uan, üan, iang, iong, uang, 所有这些固定组合就都不需要了,换成如下能够拼读的: a-i(表示两个字母合起来读就行), e-i, a-o, u-ə, ə-u, i-ə-u, u-e-i, i-ə, ü-ə, a-n, e-n, i-n, u-n, ü-n, a-ŋ, e-ŋ, i-ŋ, o-ŋ,i-e-n, u-a-n, ü-e-n, i-a-ŋ, i-o-ŋ, u-a-ŋ.

声母方面,我们留下来了:b,p,m,f,d,t,n(完全按照英文音标的发音,不再需要它来扮演nu和un两个角色了,都大概读作“en”),l,g,k,h,j,q,x,zh,ch,sh,r,z,c,s。

有了这些,我们就完全能够拼读了:一字一音,没有固定读法,直接通过组合——也就是连读——来发音。例如,线条(x-i-e-n t-i-a-o),绚烂(x-ü-a-n l-a-n),无穷(u q-i-o-ŋ), 无缺(u, q-ü-ə)。

当然,这样的修补工程不能完全实现最大的系统化——也就是用最少的基本发音单位来表达所有的读音并且完全可拼读。如果想完全系统化,还是要通过先用国际音标把所有的发音标准确,然后再合并近似的方法。例如,q,x,j的存在和合理性,以及是不是有更好的方案,就是一个需要从这个根本的系统化角度来讨论的问题。当然,以上的讨论仅仅是原理性的讨论,真的改起来,尽管长期来看肯定是好事,但是,短期来看代价还是太大。有兴趣的学生,尤其是学习我的《系统科学导引》的学生,可以拿这个来练练手,体会一下什么是系统科学。

顺便,这里也体现了把数学和科学的技术和思想,尤其是系统的思想——用最少的单元来足够准确地表示事物,用于问题识别和问题解决。可惜了,当年设计这个汉语拼音的时候,可能数学家、物理学家没有太多的参与。

按道理,赵元任的数学物理都很好的啊。当然,我这个修补也不一定比赵元任的汉语罗马字强,倒是更简单了,并且,显然比目前的汉语拼音强——我这个是完全可拼读的。