返回列表

4th Place Solution

666. Make Data Count - Finding Data References | make-data-count-finding-data-references

开始: 2025-06-11 结束: 2025-09-09 文献与知识发现 数据算法赛
第四名解决方案 - Make Data Count

第四名解决方案

基于工具调用代理和多阶段 LLM 分类的合成数据

作者: Raja Biswas (@conjuring92), Ahmet Erdem (@aerdem4), David Austin (@tivfrvqhs5)

发布时间: 2025 年 9 月 10 日

竞赛: Make Data Count - Finding Data References

排名: 第 4 名

感谢 Kaggle、MDC 以及所有参与者让这次竞赛变得如此激动人心。我们在一起开发解决方案的过程中度过了愉快的时光,方案如下!

本次竞赛主要有两个子任务:(a) 在科学论文中查找数据集引用(候选提取)和 (b) 将引用分类为主要或次要类型(类型分类)。

候选提取

  • DOI 引用:检索自 Data Citation Corpus v3.0 (DCC)。我们移除了来自 czi 源的记录以及一些 DOI 存储库,如 HEPDataCambridge Crystallographic Data Centrefigshare。检索到的 DOI id 仅在出现在 PDF/XML 文章文本中时才保留用于类型分类。
  • 登录号引用 (Accession Mentions):检索自 PMC TextMinedTerms corpus (PMC),过滤掉了如 gcagohgncrridnct 等存储库,根据竞赛数据,这些大多是误报。与 DOI 类似,检索到的候选项仅在出现在 PDF/XML 文章文本中时才被保留。
  • 正则表达式 fallback:当 DCC/PMC 语料库不包含任何候选项时,我们使用正则表达式来源可能的候选项,随后使用基于 LLM 的过滤来移除潜在的误报。我们使用 LLM 处理了由于 PDF 到文本的伪影导致 DOI 引用分散在多行的边缘情况。这是我们在意识到 DCC 和 PMC 语料库可以提供近乎完美的召回率和高精度之前的原始方法。

类型分类

我们训练了 LLM 分类器,无需为每个子集分别训练模型即可处理 DOI 和登录号子集。由于竞赛数据集较小且 noisy,训练鲁棒的模型非常棘手。我们采用了一些策略来应对这些挑战:

  • 实现了一个工具调用代理,使用来自 Europe PMC open access subset 的文章生成合成标签。该代理结合关键词和语义搜索工具,从文章中收集足够的上下文/证据,然后再进行引用类型分类。我们使用合成数据集预热了公共 LLM(Qwen 2.5 系列),然后再用竞赛示例进行微调。我们在这里分享了一个演示 notebook,展示了代理设置和分类轨迹。代理生成的合成数据集可以在这里找到。
  • 为了集成中的模型多样性,我们还通过将伪标签示例(由 Qwen-2.5-72B 生成)添加到竞赛数据集中来训练了一些模型。
  • 少数文章包含大量登录号 id(32+),对模型训练产生了过大的影响。因此,我们在微调数据混合中将每篇文章的数据集引用限制为最多 24 个。对于数据增强,我们将数据集 id 掩蔽为 <mask_i> 令牌,其中 i 代表给定上下文中的不同数据集引用。
  • 使用指数移动平均 (EMA) 平均化检查点。

分类上下文

我们试图最大化 LLM 上下文中的相关信息覆盖范围,以便进行知情的分类。具体来说,上下文包括:

  • 文章文本的前 n (= 1400) 个字符,作为结构化元数据(如标题、作者、出版年份和摘要)的代理
  • 包含数据集 id 引用的片段
  • 数据可用性或类似部分
  • 包含其他检测到的 DOI 引用的文本片段
  • 对于包含许多登录号 id 的长表,包括表头和表尾。

推理

  • 为了加速推理,我们假设某些登录号 id 为次要类型,如 cathalphafoldcellosauruschembldbgapigsrpfamreactomerefseq。这是根据合成标签的统计信息得知的,其中它们主要为次要类型。
  • 当给定文章在数据可用性(或类似)部分含有 DOI 引用,或者主要 DOI 概率之和大于 0.8 时,我们移除了登录号 ID。
  • 我们使用了级联推理方法:最初使用微调后的 Qwen-2.5-14B 模型进行类型分类,然后将不确定的示例(50% 的 DOI 案例 + 20% 的登录号案例)路由到微调后的 Qwen-2.5-32B 模型。最后,前 10% 最困难的预测由微调后的 Qwen-2.5-72B 处理。

特别感谢 @mccocoful 在竞赛期间分享宝贵的见解,以及 @rdmpage 为改进数据集标签所做的出色工作!

同比赛其他方案