返回列表

4th place solution overview

362. Google QUEST Q&A Labeling | google-quest-challenge

开始: 2019-11-22 结束: 2020-02-10 自然语言处理 数据算法赛
第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

这次比赛真的很有趣,谢谢大家,让我们在其他比赛中再次竞争吧!!!

同比赛其他方案