返回列表
22nd place solution with codes
386. Tweet Sentiment Extraction
|
tweet-sentiment-extraction
开始: 2020-03-23
结束: 2020-06-16
自然语言处理
数据算法赛
第22名方案分享(含代码)
第22名方案分享(含代码)
作者:
jionie |
比赛排名:
第22名
恭喜所有获胜者,也感谢我的队友们
!又拿银牌了😂。
我们的方案总结如下:
后处理:
正如
Firas 的 kernel
所示,我们应用了这种后处理方法,它帮助我们逆向还原了一些样本。这个后处理将我们的单模型分数从 0.716 提升到了 0.724。感谢 Firas 发现了这个后处理的思路!
模型集成:
我们训练了 3 组使用不同随机种子的 roberta-base 模型,一个 albert-large 模型和一个 xlnet-base 模型。我们计算了 token 级别的偏移量和 word 级别的偏移量。获得 logits 后,我们将 token 级别的 logits 转换为 word 级别的 logits(使用 word 内部 token 的最大概率作为 word 的概率),然后我们对所有模型的 word 级别 logits 取平均以获得 word 级别的边界框,接着我们将 roberta-base 视为基础模型,并从起始和结束的 words 中进一步选择起始和结束的 tokens。
伪标签:
通过使用原始数据集进行伪标签训练,我们对 roberta-base 和 albert-large 进行了 2 轮伪标签训练。roberta-base 的 CV 分数从 0.722 提升至 0.724,albert-large 的 CV 分数从 0.720 提升至 0.722。至于 xlnet-base,因为 JianJian 的服务器挂了😂,我们没时间训练它。
我们想过但没尝试的事情:
模型加 CNN 头。
字符级模型。
相关链接
Kernel 代码
https://www.kaggle.com/jionie/preprocessing-new-pipeline-pseudo-model-ensemble
GitHub 仓库
https://github.com/jionie/Tweet
同比赛其他方案
Quick 1st place solution overview before the night
2nd place solution overview
4th place solution overview
5th place solution & magic
7th place solution