返回列表

30th Place Solution

361. TensorFlow 2.0 Question Answering | tensorflow2-question-answering

开始: 2019-10-28 结束: 2020-01-22 自然语言处理 数据算法赛
第30名解决方案

第30名解决方案

作者:Pedro Azevedo
比赛排名:第30名

大家好。

这是我在 Kaggle 的第一次真正体验。

简而言之,我很高兴我的团队在这次比赛中获得了第30名。我要感谢我的队友 @xiaokangwang 和 @xiao-xiao 在比赛期间提供的所有帮助和付出的努力。同时也感谢大家在比赛期间给出的所有解答、解释以及提供的精彩想法!

闲话少说,该解决方案主要集中在三个方面:

  • 微调 Albert Large
  • 数据增强
  • 理解阈值

使用的模型是在 SQUAD2.0 上训练并在 tiny-dev 上微调的 Albert xLarge version 2。其中一个重要环节是用于训练的数据增强,即通过使用 WordNet 语料库替换同义词来改变 document_text。

同义词示例

这里并没有太多的魔法。我们也尝试了 xxLarge,但只能以巨大的 doc_stride 运行,结果不佳。

去除 HTML 标签也有所帮助。

理解数据和模型的输出是重要的一步。
长答案出现的频率为 50%。
短答案出现的频率为 35%。

输出分数

在这方面,我们根据输出结果使用阈值,长答案取所有结果的 50%,短答案取 35%。具体实现方式是将结果列表排序,选择中间的数值作为长答案阈值,选择 35% 位置的数值作为短答案阈值。例如,给定一个输出列表 [1,2,3,4,5],我们选择 3 作为长答案阈值,选择 2 作为短答案阈值。

希望这能为未来的工作提供好的思路。

致以最诚挚的问候,
Pedro Azevedo

同比赛其他方案