666. Make Data Count - Finding Data References | make-data-count-finding-data-references
为了消除文章不同页面或块之间的大多数断裂上下文,所有文本都通过块读取(使用 fitz 库中的 page.get_text('dict')),并利用 PDF 中的一些文本设计特征重新收集。重新分组文本的主要特征是字体大小。然后将新的文本块按字体大小降序排序并连接成全文。
所有 DOI 都通过两种方式提取:
许多登录 ID (Accession IDs) 是使用针对不同数据库的正则表达式以简单方式提取的。对于“危险”情况(如 GenBank、PDB、CATH 等),标识符是在对应数据库关键词的邻近区域中搜索的。
提取后,危险的标识符通过 LLM (Qwen2.5 14B-instruct-awq) 进行验证。
DOI 链接根据前缀类型进行过滤。DOI 前缀类型的数据集(如 DataCite、CrossRef、Medra 等)是使用 DOI API 获取的。
主要上下文是从文本中提取的,使用动态窗口,其大小计算为 max(400 // 提及次数,75)。
首先,基于文本中的起始位置,通过简单的基于密度的算法对登录 ID 进行聚类。然后在这些聚类的邻近区域搜索表格编号(如果存在)。
由于 PDF 阅读技术的原因,文本块的顺序可能会改变。因此,在文本重新收集之前,通过在标识符邻近区域搜索表格提及来标记登录 ID。如果标识符在表格内被提及,则主要上下文将被替换为在文本中提及该表格。
使用来自 spacy 的 NER 模型从第一页提取作者姓名。
DOI 引用通过 Qwen2.5 32B-instruct-awq 进行数据/文章的额外过滤。
DOI 链接使用 Qwen2.5 32B-instruct-awq 进行分类,登录 ID 使用 Qwen2.5 14B-instruct-awq 进行分类(对于 ID 来说,14B 的效果比 32B 好得多)。
以下方法因为在公共排行榜 (Public LB) 上导致指标下降而未在最终提交中使用:
EPI_ISL_145872 to EPI_ISL_145888),适用于来自该范围的所有标识符上下文。