返回列表

11th place solution

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

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

第 11 名解决方案

作者: Hzwlf

排名: 第 11 名

发布时间: 2025-09-11

首先,非常感谢 Kaggle 组织者举办这次比赛。我们学到了很多,尽管这次运气并不完全在我们这边。
我要感谢与我合作完成这次比赛的队友:
@tang0310 @phenixalano @patricklo01 @junhaowang0182

我们的解决方案组织如下:
第一部分:DOI 提取
我们的 DOI 提取过程是一个多步骤 pipeline:

  1. 初步提取:我们首先使用正则表达式提取潜在的 DOI 候选。
  2. 构建过滤器:为了优化结果,我们下载了完整的 DataCite 元数据语料库,以构建一组全面的已知数据集 DOI 前缀。
  3. 过滤:然后我们将提取的 DOI 与两个来源进行过滤:比赛中提供的 v4 语料库和我们自定义构建的数据集前缀列表。
  4. LLM 重新提取:对于任何匹配我们数据集前缀列表但未在 v4 语料库中找到的潜在 DOI,我们取包含它的原始文本块并将其 fed 给 LLM 进行新的提取。在此步骤中由 LLM 识别的任何 DOI 随后会送回过滤过程(步骤 3)进行验证。

第二部分:DOI 分类(主要 vs 次要)
我们使用了两种不同的方法来分类 DOI:

  • 正文 DOI:对于在论文正文中发现的 DOI,我们使用语义方法,分析上下文以确定其角色。
  • 参考文献部分 DOI:对于参考文献中的 DOI,我们基于作者身份进行分类。如果参考文献 DOI 的作者列表与主论文的作者重叠,则将其分类为主要。为了获取论文的作者,我们让 LLM 解析文本的前 2,000 个字符。

第三部分:Accession ID 提取与分类

对于 Accession ID,我们也从基于正则的提取开始。然而,我们的过滤和分类过程是基于规则的:我们识别潜在 ID 周围文本块中的特定关键词或模式。只有当存在这些特定模式时,我们才使用 LLM 进行最终分类。
这可能是我们的解决方案过拟合的地方。没有这些规则的纯 LLM 方法给了我们 0.80 的 LB 分数和相应的 0.76 公共 LB 分数。最终,我们选择不信任这个更简单、更通用的解决方案,这是我们现在后悔的事情。

再次感谢 Kaggle 和我们整个团队这次充满挑战和 rewarding 的经历。

同比赛其他方案