361. TensorFlow 2.0 Question Answering | tensorflow2-question-answering
大家好。
这是我在 Kaggle 的第一次真正体验。
简而言之,我很高兴我的团队在这次比赛中获得了第30名。我要感谢我的队友 @xiaokangwang 和 @xiao-xiao 在比赛期间提供的所有帮助和付出的努力。同时也感谢大家在比赛期间给出的所有解答、解释以及提供的精彩想法!
闲话少说,该解决方案主要集中在三个方面:
使用的模型是在 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