作者:林嘉亮; 审校:陈之炎;
本文约3500字,建议阅读10分钟相当多的作者没有向用户提供足够详细的文档,导致了一些重要信息的缺失。
看到一篇绝佳的AI论文,非常期待作者能提供源代码,全文搜索HTTP,可惜出来的都不是源代码的链接。好不容易碰到一篇附带源代码的论文,点进去却是大大的404。终于发现某个不是404的源代码仓库,结果只是放上了几句说明,写着“代码coming soon”,然后一等就是一万年......
所以,AI顶会论文中附带源代码的占比究竟有多少?这些代码中有多少已经失效了?这些代码的特点如何?作者是否为读者提供了足够详细的文档来运行这些源代码?
来自厦门大学自然语言处理实验室的团队发文回答了这几个问题,论文信息如图1所示。
图1 本文相关学术论文信息
论文作者设计了一个基于SciBERT的分类方法,分析AI论文内URL所在句子的语义信息,可以准确判断URL是否为所属论文自身附带的源代码仓库链接。该方法的accuracy为0.939,F1-score达0.909。
用这个方法,分析2010至2019年的十个AI顶会:AAAI、ACL、CVPR、ECCV、EMNLP、ICCV、ICLR、ICML、IJCAI和NeurIPS。实验结果表明:共有20.5%的论文被认定是附带源代码的论文,其中只有大约一半的论文被Papers With Code索引到并提取了源代码的链接,证明了该方法的先进性。
作者检查了所有链接的有效性,发现有8.1%的链接已经失效。一些URL因为网站的重构而无法访问。有些则被删除或变成了私有仓库,导致了GitHub中出现404错误。有些是可以正常访问的URL,但并没有提供源代码。
源代码是和被接收的论文一起发布的,论文中附带的源代码也是论文可以被接收的因素之一,因此源代码是论文不可缺少的一部分。删除线上的源代码,实质上等于破坏了论文的完整性。这样的行为应该被禁止。作者应该尽力保持论文中包含源代码仓库URL的可访问性。对于网站重建的情况,应在原始URL上添加重定向链接。
作者同时分析了这些源代码的特点,直接看论文的图表。
AI顶会附带源代码的百分比如图2所示。
图2 AI顶会附带源代码的百分比
从图2可以看出,从2010年到2019年,所有10个AI顶会论文附带源代码的比例都在增加。前三名的会议是ICLR、ACL和EMNLP。自2018年以来,ACL上附带源代码论文的比例已经超过50%。2019年的EMNLP、ICLR和NeurIPS也超过了40%。NLP类顶会论文附带源代码的比例较高,而CV类顶会论文附带源代码的比例相对较低。AAAI和IJCAI论文附带源代码的比例在排名中处于末两位。
AI顶会论文总数、附带源代码论文数和附带源代码论文比例如图3所示。
图3 AI顶会论文总数、附带源代码论文数和附带源代码论文比例
从图3可以看出,过去10年中,论文总数、附带源代码论文数和附带源代码论文比例都在增加。在2019年,论文总数差不多达到8,500篇,附带源代码论文数接近3,000篇。可以看出,附带源代码论文比例在短短10年内从约5%增长到了约35%。在AI顶会上,随论文发布源代码的势头在不断增强。
AI顶会附带源代码的发布平台分布如图4所示。
图4 AI顶会附带源代码的发布平台分布图
从图4可以看出,大多数作者选择了GitHub作为发布他们源代码的平台。只有少部分作者把他们的代码发布到了其他代码平台。此外,将近三分之一的作者把代码发布在了自己的网页和FTP服务器上。需要特别说明的是,一些这样的网页包含有项目介绍,各类资源和GitHub源代码仓库的链接,这被视为是属于发布在自己网页这类。
GitHub已经成为了AI社区事实上的源代码平台。它允许用户通过一个通用的API访问其源代码仓库的元数据。因此,我们在研究下文的编程语言、star数和fork数时,将GitHub上的源代码仓库作为代表性样本(数据收集时间为2022年1月25日)。
AI顶会附带GitHub源代码的编程语言分布如表1所示。
表1 AI顶会附带GitHub源代码的编程语言分布
从表1可以看出,在所有这些源代码仓库所使用的编程语言中,Python是最受欢迎的。Python的书写风格高度简洁,编码高效快捷,也有大量机器学习和分析的包供用户使用。随着深度学习的重要性日益增加,在计算时启用GPU至为关键。在这方面,Python得到了众多框架的支持,例如TensorFlow和PyTorch加速基于GPU的深度学习。以上这些众多优点,使Python成为了AI编程的首选。Jupyter Notebook为第二流行的编程语言(GitHub API提供的元数据将其视为一种编程语言)。事实上,大多数Jupyter Notebook中实际运行的是Python代码。它们之间的区别在于,Jupyter Notebook有更多的交互性。C++排名第三,这种传统语言在速度上有其独到的优势,它经常被用于对速度敏感的项目中。排名第四的是MATLAB,这是一种用于模拟和测试研究思路的著名脚本语言。
AI顶会附带GitHub源代码的star中位数与fork中位数如表2所示。
表2 AI顶会附带GitHub源代码的star中位数与fork中位数
从表2可以看出, star数的中位数和fork数的中位数之间的Spearman's rho是0.976,P值小于0.01。这表明它们之间有很强的关联性。在这10个顶会中,CVPR有最多的star和fork的中位数。需要注意的是,CVPR在所有这些顶会中也获得了Google Scholar最高的h5-index。ICLR和ECCV以类似的star数和fork数的中位数位居第二和第三。从中位数的角度来看,IJCAI的star数和fork数最低。它的star数的中位数远远低于其他顶会。总的来说,CV类顶会的star数和fork数的中位数比NLP类顶会高。这表明,在某种程度上,CV类的代码比NLP类的代码更受欢迎。
AI顶会论文中star数排名前十的GitHub源代码仓库如表3 所示。
表3 AI顶会论文中star数排名前十的GitHub源代码仓库
从表3可以看出,大部分高星源代码仓库都是AI巨头开发的项目。这在一定程度上表明,IT工业界在AI的发展中有举足轻重的位置。
AI顶会附带源代码论文中的摘要核心词词云如图5所示。
图5 AI顶会附带源代码论文中的摘要核心词词云
从图5可以看出,“method”, “dataset”, “approach”和“algorithm”是附带源代码的AI顶会论文摘要中最常见的词。值得注意的是,“method”和“dataset”占据了同样突出的比例。这表明,数据集在AI研究中起着至关重要的作用。大多数AI研究人员将他们的源代码与相关数据集一起发布,这种行为对社区有很大贡献。
为了评估这些源代码的提供者是否有提供足够详细的文档让读者运行代码,作者开发了专门的标注工具,组织团队按八大类别标注了5千多个GitHub源代码仓库的README文件。构造了当前最大的源代码仓库README数据集XMU NLP Lab README Dataset。基于这个数据集,分析了文档中的各个描述项的比例。
XMU NLP Lab README Dataset中各类别占比如表4 所示。
表4 XMU NLP Lab README Dataset中各类别占比
从表4可以看出,近九成的作者在README文件中提供了相关论文的引用信息。这在一定程度上表明,作者们高度重视论文的引用指标,并为获得更多的引用做出了努力。几乎五分之四的作者在他们的README文件中作出了相关技术的介绍。有不到三分之二的作者提供了安装说明或使用教程。只有大约三分之一的README文件描述了运行源代码所需要的资源,不过有些开发者可能已经提供了这些资源,但没有在README文件中介绍。约有四分之一的README文件包含致谢信息,这个数字反映了AI研究中以往工作的重要性。仅仅只有14.4%的README文件中提供了明确的协议信息。
没有这些协议信息,用户很难符合规范地使用相关的源代码。需要说明的是,协议信息可以在GitHub仓库中由一个单独的文件提供,某些已提供的作者可能为了避免重复,并没有再次在README文件中给出这项内容。
从GitHub平台上的README文件来看,相当多的作者没有向用户提供足够详细的文档,导致了一些重要信息的缺失,例如安装说明和使用教程,而这些内容对于运行源代码是不可或缺的。因此,笔者建议在源代码仓库中提供这些信息应成为标准做法,这可以被认为是评估可复现性的重要标准。
最后,该文的作者呼吁AI论文的作者要确保附带在论文中源代码仓库链接的有效性和真实性,同时提供详细的文档以方便读者可以真正把源代码运行起来,并复现论文中的结果。
论文已经发表在 International Journal of Software Engineering and Knowledge Engineering Vol. 32, No. 07, pp. 947-970 (2022)
arXiv上有作者提交的版本 https://arxiv.org/abs/2209.14155
文中提及的附带源代码论文和他们的源代码链接、README标注工具和XMU NLP Lab README Dataset均在论文中提供了下载地址。
END
转自:数据派THU;
版权声明:本号内容部分来自互联网,转载请注明原文链接和作者,如有侵权或出处有误请和我们联系。
合作请加QQ:365242293
数据分析(ID : ecshujufenxi )互联网科技与数据圈自己的微信,也是WeMedia自媒体联盟成员之一,WeMedia联盟覆盖5000万人群。