返回列表

18th Place Solution

386. Tweet Sentiment Extraction | tweet-sentiment-extraction

开始: 2020-03-23 结束: 2020-06-16 自然语言处理 数据算法赛
第18名方案

第18名方案

作者:Max
比赛排名:第18名

祝贺所有的获奖者,也感谢 Kaggle 举办这次比赛。

我的方案总结

  • 模型:仅使用 RoBERTa base 作为模型,我的得分是基于单模型的 5 折集成(使用 Abhishek 的折划分)。
  • 数据清洗:利用包含单词的“魔法(magic)”方法恢复了原始标签。
  • 预处理:替换了错误的单词、重复的字符、URL,并将 "..n" 转换为 ". . . n",解释在此
  • 标签平滑:在文本 token 上分配 90% 的权重,在填充(padding)和前四个 token 上分配 10% 的权重。此外,对于标签的每次出现,也执行了 0.90%/n 的操作。
  • Dropout:将所有 dropout 改为 Multi-Sample Dropout,参考自论文以及 Google QUEST Q&A 第一名的方案
  • 输入位移:在训练期间,随机移动填充周围的输入 token。
  • 后处理:使用了一个相当简单的“魔法”脚本来恢复原始标签(稍后会发布内核代码)。
  • 改进的查找算法:仅仅通过朴素地获取标签索引会引入许多错误,对此进行了改进。

无效的尝试(排除大部分内容)

  • 伪标签:标签对模型来说太容易了,结果只是导致了过拟合。
  • 不同的学习率:尝试了为头部、每一层等设置不同的学习率,但都没有效果。
  • 语言模型预训练:此处有详细讨论
  • 不同的模型:尝试了 Roberta Large、Bert、Electra 和 BERTweet,效果都差得多。
  • 对抗训练:在此讨论
  • 欠采样/过采样:尝试了各种配置,例如保持每种情感的恒定数量、删除短推文、基于情感的欠采样等,均未取得好的结果。
同比赛其他方案