443. Coleridge Initiative - Show US the Data | coleridgeinitiative-show-us-the-data
首先,祝贺大家,也祝贺新晋的大师和专家,同时感谢 Kaggle 和 C.I. 举办这次比赛。这实际上是我第一次参加比赛,但我发现它非常有趣且充满启发。
这一阶段显得并不简单,因为很大一部分训练出版物包含未标记的数据集,这会在训练过程中误导模型。为了解决这个问题,我们实施了几种标签增强方法:从 train.csv 中发现的出现情况创建了所有可能标签的列表,但最初它包含的提及数量非常少(几百个);列表中包含了来自两个外部数据集源的数据集名称(标题和提及),然后通过一些基于字符串的操作进一步改善了这一结果。最终,该列表从不到 200 个提及增加到数千个,训练集的标记工作得到了巨大的改进。
此外,为了在训练-验证拆分后获得更充足的训练数据,我们从与数据集相同的来源中加入了 5000 篇新出版物到训练集中;由于本地 CV 拆分非常困难,这似乎是唯一可行的策略;实际上,在标签增强过程之后,几乎不可能将出版物拆分为完全不相交的集合。
因此,拆分是按主题领域进行的,验证集中以教育相关的提及为主。尽管如此,大量发现的标签和常见的相关首字母缩略词导致这种本地验证只能作为检测过拟合(这是我最试图避免的)的粗略衡量标准,而不是模型性能的真实概览。

以下模型是那些似乎在不发生过拟合的情况下提高了公共 LB 分数的模型,这或多或少是模型选择过程本身所使用的粗略原理。
所有模型的最大长度均为 512;像 XLNet 和 SciBERT 这样的大型模型具有更高的正则化(0.5 Dropout),而较小的模型则按比例减少(0.1 到 0.3);学习率 (LR) 适中设定为 3e-5。在验证评估确认每个模型没有过拟合后,该模型在整个数据集上进行了训练,没有任何训练/验证拆分,这显然提高了公共和私有 LB 的性能。实际上,我最关注的是避免过拟合,为此我为 Transformer 保留了非常少的微调轮次,并设置了与 Transformer 大小成比例的 Dropout 率。如果没有合适的验证策略,很难评估这是否在某种程度上导致了欠拟合;无论如何,鉴于公共排行榜上的大量分数显然都在过拟合,我宁愿对整个问题稍微欠拟合,也不愿过拟合训练标签,而从排名的波动来看,这似乎是一个不错的选择。
对全文进行预测非常耗时,并带来许多可避免的误报,因此我让 NER 模型仅对选定的句子进行工作:创建了一个单词列表:
['scans','cohort','assessment','Assessment','Estimates','Map','map','project','Project','panel','Panel','taken','sample','Sample','Program','program','obtain','include','including','Index','source','images','using','collected','used','Repository','Archive','data','Data','records','dataset','Survey','Study','Atlas','atlas','Supplement','Indicator','report','Questionnaire','questionnaire','Longitudinal','Cohort']
只有包含列表中至少两个单词的句子才会被模型分析。这减少了误报,并将推理过程的速度提高了 10 倍,从而允许在该过程中包含多个模型。
所有六个模型通过加权投票集成连接在一起,权重基于公共 LB 上的单模型性能,总投票权重为 7,只有至少获得 4 票的预测才会传播到序列分类层;最重要的超参数以及权重在上图中进行了描述。
这些模型获取 NER 模型的预测,并根据预测本身的结构(而非上下文)将其判定为“可能是数据集”和“绝对不是数据集”。为了进行训练,我随机从出版物中截取文本片段(例如“the education was thus”、“good results achieved”),并移除那些包含训练标签的片段,然后包含预处理阶段创建的列表中的所有真实训练提及(近 20,000 个)。与 NER 任务不同,大型模型在这里表现更好,最终选择了 DeBERTa、RoBERTa 和 BERT base。这一层似乎极大地提高了 NER 单模型的性能,并在处理集成模型时略有改进。
在得到此阶段的预测后,假定其很可能是真实提及,因此没有包含太多后处理。只有长度 <= 3 的首字母缩略词预测(例如 MHS)被盲目移除:如果上下文暗示,它们很可能被 NER 模型