AxCell: 从机器学习论文中自动抽取结果(Automatic Extraction of Results from Machine Learning Papers)
时间:2022-10-14 13:30:00
文章目录
- 1 引言
- 2 相关工作
- 3 我们的方法
-
- 3.1 表格类型分类
- 3.2 表格分割
- 3.3 生成单元格上下文
- 3.4 链接单元格至排行榜
-
- 3.4.1 从凭证中推理
- 3.5 过滤
- 4 数据集
-
- 4.1 arXiv Papers
- 4.2 Segmented Tables
- 4.3 Linked Results
- 4.4 PWC Leaderboards
- 5 实验
-
- 5.1 NLP-TDMS Results
- 5.2 PWC Leaderboards Results
- 6 性能研究
-
- 6.1 表格类型分类
- 6.2 表格分割
- 6.3 链接
- 7 未来工作
- 8 结论
论文地址 1. AxCell: Automatic Extraction of Results from Machine Learning Papers
随着论文数量的爆炸式增长,跟踪机器学习的进展变得越来越繁重。本文提出了从论文中提取结果的自动机器学习流水线 - AXCELL。AXCELL使用一些新的组件,包括学习表格分割子任务,有助于提取相关的结构知识。
与现有方法相比,我们的方法显著提高了结果提取SOTA。我们还发布了结构化、标签化的结果提取训练集,以及评估结果提取模型性能的验证集。
最后,我们在产品中展示了我们的方法半自动提取研究成果结果表明,我们的改进使任务首次可行。代码可以GitHub中获取。
1 引言
如何根据任务、评价指标和数据集学习机器(Mitchell, 2006)。(任务 task、数据集 dataset、指标名称 metric name、指标值 metric value)可以看作是机器学习论文的单一结果。
为了在一个领域取得进展,我们需要比较不同方法的结果。近年来,由于机器学习期刊的激增,这种比较变得越来越困难,给同行从业者,特别是外行人带来了严峻的挑战。例如,在ICLR 2018在会议上发表的10篇语言模型论文中,最佳基线模型的混乱差异超过50分(Ruder, 2018)。
解决论文泛滥的方法是从论文中开发自动方法,提取研究结果,并将其聚集在排名中。作者通常在论文中使用表格形式公布结果,包括方法与先前论文方法的比较。从论文中自动抽取结果元组(可选元数据:如模型名称),可以实现与已公布方法的完整比较。
在研究社区,基于在线排名的比较越来越普遍,但仅限于少数任务,无法比较跨任务模型。为了填补这一空白,一些聚合工具通过众包社区贡献者填写论文列表,如Papers With Code 和 NLP-Progress。但人工注释结果费时费力,容易出错,导致论文结果遗漏或误报。因此,利用机器学习方法在该领域创造综合结果源的需求也应运而生。
目前抽取结果SOTA方法依赖于文本格式提示和表格(来源于文本格式提示和表格)PDF文档),看起来僵硬,有噪音(Hou et al., 2019)。相反,我们提出AXCELL是一种从机器学习论文中自动抽取研究结果的流水线。
AXCELL将提取结果的任务分解为几个子任务,包括表格分类、表格语义分割和链接排名结果。为了充分利用论文的内容和表格的上下文来解释表格的内容和提取结果,我们使用它ULMFiT架构分类器。
一般来说,本论文主要有三个贡献:
- 利用AXCELL目前结果抽取模型显著提升SOTA,我们的方法是NLP-TDMS LATEX数据集(Hou et al., 2019)上获得micro F1 25.8,而SOTA为7.5;
- 发布结构化、标签化的结果提取模型培训集和验证集;
- 应用于半自动(人工复审)paperswithcode.com,从论文中提取结果,跟踪机器学习进展;
2 相关工作
结果抽取: 先前的工作研究了从论文中提取结果的元组(任务、数据集、评价指标名称、评价指标值)。
(Singh et al. 2019) 搜索出版物,通过检索到的三元组创建排名,类似于本文的方法,它们也从LATEX从源中提取表格的区别在于,他们没有提取评价指标值,而是对论文进行排序,似乎没有使用出版物的文本内容。
本文的目标是提取完整的结果来创建一个列表,加关注评价指标的价值。此外,我们使用出版物内容作为实体识别和链接的上下文。
(Hou et al., 2019)接近本文的形式,沿指标名称、任务和数据集提取绝对指标值。他们还使用文本片段和直接表数据来推理表内容。他们将提取架构定义为自然语言推理问题,并使用它BERT架构(Devlin et al.,2018)实现推理。该方法的缺点在于,使用PDF在表结构信息(如划分表为单元格)中引入大量噪声。
本文利用LATEX从源中提取显式结构信息,实现语义分割。我们验证了表格结构信息和表格分割对提高结果提取性能至关重要。
表格抽取: 在过去,一些工作研究了表中检索信息的更常见问题(Milosevic et al., 2009; Ghasemi-Gol and Szekely, 2018; Wei et al., 2006; Herzig et al., 2020)。
本文关注从机器学习论文中提取和解释表格特征的问题。本文表格语义分割模型的目标是分类单元格。换句话说,结构分割不是区分表格问题、表头和表格,而是关注表格的语义分割(为每个单元格定义一个角色)。
3 我们的方法
提取论文结果的任务是输入机器学习论文。提取论文中包含的研究结果可以表示为具体的元组形式:任务、数据集、评价指标名称和评价指标值。例如,如果你将Tan and Le (2019)的EfficientNet作为输入,我们想提取结果元组:
- EfficientNet-B7 (Image Classification, ImageNet, Top 1 Accuracy, 0.844)
- EfficientNet-B7(Image Classification, ImageNet, Top 5 Accuracy, 0.971)
- EfficientNet (Image Classification, Stanford Cars, Accuracy, 0.947)
为了有效地处理这个问题,我们需要定义子任务来框定问题,以便通过解决子任务获得结果。AXCELL解决以下子任务:
- 表格分类:识别论文中的表格是否包含相关结果;
- 表格分割:根据单元格是否包含评价指标、数据集和模型进行分类和分类;
- 链接结果至排行榜:获取结果元组并匹配现有排名结果;
端到端系统的推理如图1所示。AXCELL不同组件。

3.1 表格类型分类
AXCELL第一阶段是将论文中的表分为三类:排行榜表、消融实验表和不相关表。排名列表包括论文在选定基准(包括与其他论文的比较)中的主要结果。消融实验表比较了论文中不同方法的排列,无相关表包与结果提取不直接相关的超参数、数据集统计和信息。
第一阶段,我们采用ULMFiT架构 (Howard and Ruder, 2018)并使用LSTM层分类器和SentencePiece一元分词模型。我们在论文中(arXiv文章没有标签数据集,文本训练SentencePiece模型、预训练从左到右的ULMFiT语言模型。附录中表5包含详细的超参数和训练体制。
分类器是一个标准的、带有一层池化层和两层线性层的ULMFiT分类器。我们将分类问题视为两标签分类:排行榜和消融,当表格既不属于排行榜也不属于消融时,可认为表是无关表(置信度阈值设为0.5)。我们在SegmentedTables数据集上训练这个模型(见4.2节)。
3.2 表格分割
AXCELL的第二阶段是将相关表传递给表格分割子任务。目标是给表中每个单元格标注一个标签,指示单元格包含的数据类型。为此,我们将单元格分类为:数据集、评价指标、论文模型、引用模型以及其它(包含元数据和任务单元格)。分割示例如图1所示。
为助于分类每个单元格,我们提供提及单元格内容的上下文。我们使用BM25算法在论文全文中检索单元格内容,并将检索到的文本片段以及单元格一些手工特征输入至ULMFiT分类器,特征包含:单元格在表中的位置、是否是表头和单元格风格(详见附录)。
为处理检索到的文本片段,我们用特殊掩码
3.3 单元格上下文生成
表格分割的下一步是为数值单元格生成上下文。例如,如果我们知道数值单元格所在行存在一个数据集单元格、所在列存在模型名称单元格,则表格上下文可提供信息决定结果的数据集和模型名称,但论文包含更丰富的上下文信息用于链接。
例如,一篇研究语义分割的论文,模型在KITTI和CamVim数据集上评估,论文引言中可能提及语义分割、某文本段中测试集提及结果表、表格描述中提及KITTI、列头中提及IoU类。图3展示了上下文虚拟层级表示。
为表达层级关系,我们为每个单元格生成数种类型的上下文。
-
表格上下文,如前所述,数值单元格所在行列的其它单元格可能标记为模型、数据集或者评价指标;
-
标题上下文,表格标题;
-
提及上下文,引用表的文本片段;
-
摘要上下文,论文摘要;
-
论文上下文,论文中全文本;
然后使用收集到的上下文将潜在结果链接至预先定义的排行榜结果。
3.4 链接单元格至排行榜
一旦我们获取到单元格上下文,AXCELL下一阶段将它们与排行榜链接,形成性能记录。目标是为一个模型取一个评价指标值,并推断它所链接的排行榜。
排行榜通过三元组(任务、数据集、评价指标名称)定义,例如:(Image Classification, ImageNet, Top1 Accuracy)能够抓取在ImageNet数据集上进行图像分类且准确率报告第一的论文。
为简化问题,我们假设排行榜是领域封闭、事先已知的。为将研究结果与排行榜匹配,我们在单元格上下文中搜寻证据,以下内容作出解释。
3.4.1 从凭证中推理
凭证是与任务、数据集和评价指标相关的单词或短语。
举例来说,SST-2、binary 和 polarity都可作为 Stanford Sentiment Treebank 数据集二分类(Socher et al., 2013)的凭证。凭证使我们能够推断实体是否在上下文中提及。对于相同的例子,如果SST-2出现在表格标题上,证明表格中的数值可能与 Stanford Sentiment Treebank 数据集关联。
给定表格中一个数值单元格,我们可在该数值单元格在表格中的上下文(表中的其它单元格)中搜索每个实体(任务、数据集和评价指标)的凭证,并累积为 M M M个凭证 E = { e 1 , ⋯ , e M } E=\{e_1,\cdots,e_M\} E={ e1,⋯,eM},其中 e j e_j ej的形式为 ( m e n t i o n j , e n t i t y j , c o n t e x t j ) (mention_j, entity_j, context_j) (mentionj,entityj,contextj)。
例如,(acc, metric, table)意味着在单元格的表格上下文中找到了“acc”评价。使用这种证据集,我们目标是计算概率 P ( y k ∣ E ) \Bbb P(y_k|E) P(yk∣E),其中 y k y_k yk为二进制变量,指示单元格是否包含排行榜 k ∈ { 1 , ⋯ , N } k\in\{1,\cdots,N\} k∈{ 1,⋯,N}的结果。
通过贝叶斯定理我们知道 P ( y k ∣ E ) ∝ P ( E ∣ y k ) P ( y k ) \Bbb P(y_k|E)\propto \Bbb P(E|y_k)\Bbb P(y_k) P(yk∣E)∝P(E∣yk)P(yk),通过贝叶斯定理我们可以估测
P ( E ∣ y k ) ≈ ∏ j M P ( e j ∣ y k ) \Bbb P(E|y_k) \approx \prod_j^M\Bbb P(e_j|y_k) P(E∣yk)≈j∏MP(ej∣yk)
由于 e j = ( m e n t i o n j , e n t i t y j , c o n t e x t j ) e_j=(mention_j, entity_j, context_j) ej=(mentionj,entityj,contextj),为建模 P ( e j ∣ y k ) \Bbb P(e_j|y_k) P(ej∣yk),我们需要为这些不同的元素定义联合概率模型,在结果链接模型中,我们假定一个mention可能有意地出现在给定的上下文中,用于描述单元格的内容,或者可能是噪音——错误匹配或引用了另一个单元格。
在额外简化下,我们假设
P ( e j ∣ y k ) = P ( m e n t i o n j , e n t i t y j , c t x j ∣ y k ) ∝ P ( n o i s e ∣ c t x j ) ⋅ P ( e n t i t y j ∣ n o i s e ) + P ( ¬ n o i s e ∣ c t x j ) ⋅ P ( m e n t i o n j , e n t i t y j ∣ y k ) \begin{aligned} \Bbb P(e_j|y_k) &=\Bbb P(mention_j, entity_j, ctx_j | y_k) \\[.5ex] &\propto \Bbb P(noise | ctx_j)\cdot \Bbb P(entity_j|noise) + \Bbb P(\neg noise|ctx_j)\cdot \Bbb P(mention_j, entity_j | y_k) \end{aligned} P(ej∣yk)=P(mentionj,entityj,ctxj∣yk)∝P(noise∣ctxj)⋅P(entityj∣noise)+P(¬noise∣ctxj)⋅P(mentionj,entityj∣yk)
其中每个上下文的噪音概率 P ( n o i s e ∣ c t x j ) \Bbb P(noise|ctx_j) P(noise∣ctxj)可使用训练集计算。
最后,对于排行榜 y k = ( y k ( t a s k ) , y k ( d a t a s e t ) , y k ( m e t r i c ) ) y_k=(y_k^{(task)}, y_k^{(dataset)}, y_k^{(metric)}) yk=(yk(task),yk(dataset),yk(metric)),我们假设 P ( m e n t i o n , e n t i t y ∣ y k ) ∝ P ( m e n t i o n ∣ y k ( e n t i t y ) ) \Bbb P(mention, entity|y_k)\propto \Bbb P(mention|y_k^{(entity)}) P(mention,entity∣yk)∝P(mention∣yk(entity)),也就是说,提及“acc”的评价指标对排行榜(Image Classification, ImageNet, Accuracy) 和 (Natural Language Inference, SNLI, Accuracy) 具有相同的条件概率。
概率 P ( m e n t i o n ∣ y k ( e n t i t y ) ) \Bbb P(mention|y_k^{(entity)}) P(mention∣yk(entity)),反比于具有相同mention的凭证中entity为其它类型实体的数量,即相同的mention对应的entity数量越多,概率越低(联合概率反比于分母数量,详见附录D)。
3.5 过滤
AXCELL最后一步是过滤链接分数过低、来自于引用模型、低劣(仅保留表现最好的结果)的结果。
- 首先,我们过滤与论文处理的模型无关的记录;
- 然后,移除链接分数低于给定阈值的记录,剩下的记录按排行榜分组,基于分类学中注释“越高越好”原则,对每个排行榜仅保留最好的记录,例如保留高准确率结果、低错误率的结果;
- 最后,我们移除所有低于第二阈值的结果,从而获得从论文中抽取的结果列表;
4 数据集
本节中我们说明用于训练和评估AXCELL模型的训练集和验证集。训练集主要来自于arXiv.org中机器学习论文的LATEX源码。精细筛选的论文中90%以上源码可用,相比从PDF文件中直接抽取,我们可以获得不需要加入人工修正的高质量的数据集。
我们使用两个主要的训练集训练模型:
- ArxivPapers:包含超过100,000篇机器学习论文的无标签数据集,用于预训练语言模型;
- SegmentedTables:表格分割数据集,每个单元格标注是否是论文、评价指标、数据集等,用于表格分割和表格类型分类;
我们使用验证集调整模型链接和过滤的性能:
- 链接分数:使用结果元组标注的超过200篇论文的数据集,抓取论文中模型表现,并链接表;
最后,我们使用我们的测试集评估端到端模型的性能:
- PWC Leaderboards:使用结果元组标注的超过2000个排行榜的数据集,用于评估端到端模型;
现在我们详细描述这些数据集。
4.1 arXiv Papers
数据集包含104,743篇2007-2020年在arXiv.org发表的论文,其中94,616篇论文可以获取到LATEX源码,我们从中共抽取到277,966张表格。由于证书限制,与本文一起发布的数据集仅包含元数据(公共领域可用)和原文链接。这个数据集无标签,设计用于自监督预训练。
4.2 Segmented Tables
数据集包含来自于354篇论文标注的表格,用于表格分类和分割。数据集包含表题中提及的数据集、表格类型(排行榜、消融、无关)和真实单元格类别标注(数据集、评价指标、论文模型、引用的模型、元数据和