485. NBME - Score Clinical Patient Notes | nbme-score-clinical-patient-notes
首先,非常感谢 Kaggle 和 NBME 主办了如此精彩的比赛,并祝贺所有的获奖者!
感谢我优秀的队友 @yanbojwang、@qinhui1999、@yankuoaaagmailcom、@alex821。
我们集成了6个 Token 分类模型,针对 F1 分数变化较大的 feature_num 设置了阈值,并进行了后处理。
我们训练了以下6个 Token 分类模型,并将它们全部用于最终提交(共29个模型)。
根据不同特征的文本长度以及 F1 分数的变化趋势,我们选择了一些特征来单独设置阈值。在 Private 阶段我们没有选择过多的设置,而是选择了较少的数量。然而,设置更多的值可以获得更高的 Private 分数。
我们通过使用不同的分词器进行多次排序,实现了超加速(9小时内跑完30个模型)。
因为我们的伪标签在线表现不够理想,我们只取了少量折的数据进行伪标签训练,并加入了最终融合以防止抖动。根据 CV 表现,我们为每个模型分配了权重,以获得更理想的 LB 成绩。
通过对部分特征设置阈值,可以在 PB 上提升 0.001-0.002。
权重搜索可以提升约 0.001。
if len(result) > 0:
for start,end in result:
if start < len(valid_text):
if valid_text[start-1] != ' ':
start -= 1
if valid_text[start] == '\n':
start += 1
我们在 Private 榜单上的分数实际上可以达到 0.894。因为我们预期这场比赛会有很大的抖动,所以我们选择了过于保守的策略。