返回列表

11th place solution

478. Feedback Prize - Evaluating Student Writing | feedback-prize-2021

开始: 2021-12-14 结束: 2022-03-15 智能评测 数据算法赛
第11名解决方案

第11名解决方案

作者:Takoi (Grandmaster)
团队成员:colum2131, MST, 213tubo, Takoi
发布时间:2022年3月30日

首先,感谢竞赛主办方举办这次比赛。也要感谢社区在 Notebook 和 Discussion 中分享的许多想法。

摘要

我们集成了6个模型并进行了后处理。接下来,我们提取了候选预测字符串,并使用 XGBoost 等模型预测每个预测字符串是否为真正例(TP)。最后,我们为每个类别设定了阈值,并切除了预测字符串的右边缘。

模型

我们参考了以下 Notebook:

https://www.kaggle.com/cdeotte/tensorflow-longformer-ner-cv-0-633

以下6个模型根据模型不同使用了不同的 max_length 进行训练:

  • longformer-large-4096 (max_length:2048)
  • roberta-large (max_length:512)
  • bart-large (max_length:512)
  • funnel-transformer-large (max_length:512)
  • distilbart-cnn-12-6 (max_length:512)
  • deberta-large (max_length:1024)

模型集成

由于不同的模型使用不同的分词器,一旦预测结果被转换为字符级别,它们就会被重新聚合为 longformer 的 token 单位。针对以下不同位置,我们使用了不同的权重进行集成:

  1. 0 ~ 512
  2. 0 ~ Funnel-transformer-large-token-len
  3. Funnel-transformer-large-token-len ~ 1023
  4. 1023 ~

Funnel-transformer-large-token-len 是 funnel-large 的 512 个 token 转换回 longformer 分词器单位时的长度。大约是 720。

后处理

  • 将每个预测值乘以系数
  • 与相邻 token 的预测结果进行集成
  • 参考以下 Notebook 提取预测字符串的候选。这些候选不仅包括预测概率最高的类别,也包括第二高的类别。有些预测字符串是在起始位置不是 B-token 的情况下提取的。
    https://www.kaggle.com/cdeotte/tensorflow-longformer-ner-cv-0-633
  • 以下3个模型用于预测预测字符串是否为 TP。特征是通过对每个预测字符串的集成结果进行聚合创建的。为每个类别设定了阈值,只保留预测值高于阈值的预测字符串。
    1. XGBoost
    2. MLP
    3. LSTM
  • 最后,为每个类别设定预测字符串的长度阈值和裁剪百分比,对于超过阈值的预测字符串,按设定的百分比删除其右端。
同比赛其他方案