本文仅为个人对论文的一点理解,如果有不对的地方烦请指正
戳我看论文原文
\quad 机器阅读理解(machine reading comprehension)是NLP领域中一个很有代表性的任务,大体形式是给AI一些信息,向它提出问题,希望其理解文本内容并找到问题的答案。
\quad 用多轮对话的形式来进行问答是当下机器阅读理解当中一个非常重要的任务,这样的情景更接近于真实的应用环境(对于提问方没有多余的限制,只需要像正常说话一样提出问题即可,并且提出的问题的答案可能和上次提出的问题相关,e.g. Q1:谁做了XXX? Q2:他长什么样?)
\quad 在这个领域中有两个比较有代表性的训练数据集QuAC和CoQA,他们都是人工制造的数据集,在制造数据集时,提问者和回答者通过对话的方式对给定的文本进行多轮的问答,两个模型中的问题均和历史对话有很强的联系,大量的问题需要从历史对话中获取信息。
\quad QuAC中的答案总是给定文本中的一段话或者“no answer",CoQA的答案是自由的文本,但是和文章的某一段话类似,并且这个文本区间段是available的。很多模型为了充分利用数据集提供的信息,将对话历史中的答案的位置信息也作为模型的输入。
\quad 目前在上述两个数据集中,FlowQA和BERT两个模型取得的效果最好
\quad 类似cv领域想要弄清楚模型到底学到了什么,nlp领域同样需要追根溯源,以弄清楚模型到底学习到了什么信息,这样可以检验模型以及数据集的合理性。
\quad 这篇论文想要弄清楚在QuAC和CoQA上面训练的模型到底有多强的文本理解能力。
\quad QuAC和CoQA两个数据集中相邻的答案一般在原文中的区间也离得很近。
\quad 类似CNN被发现模型更依赖于纹理信息而不是形状信息,本文想要证明上述模型更依赖于之前答案的位置信息而不是文本信息。
\quad 论文通过一系列实验证明了:
\quad 1.在QuAC和CoQA数据集上表现的好并不代表模型有很好的文本理解能力。
\quad 2.模型更倾向于去依赖之前问题答案在文本中的位置,而不是他们的内容。
实验设定:
1.Original 正常训练
2.-text 模型无法获取历史答案的文本信息(包括原文中的答案区间的内容也会被mask掉),但是可以获取历史答案在原文中的区间信息。
3.-conversation 模型无法获取历史对话信息
结果:
-text条件下训练出的模型效果远好于-conversation的模型(-text与-conversation相比多了之前的问题和答案的区间信息),理想情况下,模型应该依靠之前答案的文本来做出推断,但是现在模型即使没有获取文本的途径也取得了不错的结果,说明了更好的结果并不代表更好的文本理解能力。
实验设定:重复文本中的关键句,以增大相邻答案之间的距离,如果模型具有很好的语言能力,即使本问题的答案与一个问题的答案在文本中的位置远了一点,模型也应该有能力找到答案。
实验结果:
\quad 上面的例子可以看出QuAC上的答案发生了严重的错位,这说明模型在上面的例子中主要依靠相邻答案位置相近的特点来进行答案的预测。
\quad 仅仅把之前的答案文本mask掉,保留问题和答案的区间信息,由此训练出的模型和原模型相比,结果下降得越多就说明模型约依赖于文本,结果发现FlowQA在QuAC上仍然保持着60%的F1值,这说明FlowQA更多的依赖于位置信息而不是语义信息。
\quad 尝试不适用位置信息进行预测,在QuAC上FlowQA和BERT的结果都很明显的下降了,但是在CoQA
上FlowQA的结果下降的很少,说明在CoQA上训练的FlowQA模型很少的依赖位置信息。
为什么在CoQA上训练的模型依赖很少的位置信息?
\quad CoQA的答案长度要远小于QuAC的答案长度,这样的话也就变相的加大了答案之间的距离,实际上模型是在不同的句子中寻找需要的答案(关键词),在把文本以句子为单位打乱之后效果仍然可观,这证明了上述观点。
为什么QuAC上的模型更依赖位置信息?
\quad 在QuAC上,11%的问题都是"Anything else?" 之类的问题,因此之前问题的答案很有可能与接下来问题的答案在文本中相邻,模型仅仅在上一个答案附近寻找一下就足够回答这个问题了。
\quad 这篇文章用大量的实验证明了模型在QuAC上学到的trick:可以直接通过上一个问题的位置猜下一个问题的答案,并不需要去理解文章。这为未来数据集的收集提供了一个很好的借鉴,未来需要更加真实的数据集。
\quad 文章的分析方式和过程值得学习。