第4名解决方案概述
第4名解决方案概述
作者: Ryunosuke Ishizaki (团队成员: Firas Baba, Ruslan Talipov, YuryBolkonsky, Nikolay Prokoptsev)
比赛排名: 第4名
首先,我想感谢我所有的队友 :)
我们最终的提交是2个模型的集成
关于模型
模型1 接收3个文本作为输入,内部包含3个BERT模型:
- BERT 1: 输入为 question_title + question_body,仅预测与问题相关的列(前21列)。
- BERT 2: 输入为 question_title + answer,仅预测与回答相关的列(后9列)。
- BERT 3: 输入为 question_body + answer,预测所有列。
模型包含1个线性层,其输入为 concat(bert1_out, bert2_out, bert3_out),并计算以下二元交叉熵(BCE)损失:
- loss1:BERT 1 的预测值 & columns[:21]
- loss2:BERT 2 的预测值 & columns[-9:]
- loss3:BERT 3 的预测值 & 所有列
- loss4:最后线性层的预测值 & 所有列
并对每个损失进行反向传播。
模型2 只是该模型的 XLNet 版本。
关于训练
- 使用了 西班牙语 -> 英语 的数据增强。
- 用于编码2个文本的灵活评分模块。
(例如,如果 len(text1) < max_len1 且 Len(text2) > max_len2,则 max_len2 = max_len2 + (max_len1 - len(text1)))。
关于后处理
Baba 在这里分享了想法 ↓
https://www.kaggle.com/c/google-quest-challenge/discussion/129831
这次比赛真的很有趣,谢谢大家,让我们在其他比赛中再次竞争吧!!!