image-20210516113143461

论文地址:NoiseQA: Challenge Set Evaluation for User-Centric Question Answering

发表在 EACL 2021 的一篇论文,主要涉及问答噪声,并提出了相应的数据集。

0. Abstract

问答系统实际部署时用户会采用各种接口进行问答,就会出现噪声问题。文章研究的就是这类问题。首先对噪声进行了分类。随后研究如何降低噪声对问答系统的影响,给出了数据集,并对相关工作进行了分析。

1. Introduction

此前很少有与问答系统噪声相关的研究。文章的贡献包括:

  • 基于 SQuAD v1.1 的阅读理解问答模型,定义了三种噪声内容:语音识别噪声、键盘输入噪声和机器翻译噪声。随后对每种噪声,分别构建了合成数据集和自然数据集。
  • 评估了先进方法在噪声数据集上的性能。
  • 分析了噪声对下游任务的影响,研究了噪声处理策略,主要是数据增强和查询修复。

2. Motivation

3. Challenge Set Construction

文章将噪声添加到问题中,而不是上下文中,来实现对用户输入噪声的模拟。

选用 SQuAD v1.1 数据集构建问答,采用 90k/10k 构建训练集和验证集,并基于 XQuAD 构建三种挑战数据集。XQuAD 是 1190 个 SQuAD 开发集问题的子集,被专业翻译为 10 种语言。

随后文章介绍了三种挑战数据集的构建过程。每种挑战集都有两种类型:合成挑战集和自然挑战集。一个更接近机器效果,一个更接近人类效果。

3.1 MT Noise

机器翻译噪声数据集,使用英语作为问答系统语言,将英语上下文与非英语问题进行配对。

合成挑战集。采用了反向翻译技术 back-translation technique,这种技术原本是用于数据增强的,但在这里用于模拟机器翻译噪声。这里的用法就是翻译再翻译,英语翻译成德语再翻译成英语。这里利用了 HuggingFace 的 MarianNMT 模型。

自然挑战集。为了让翻译噪声更接近真实用户翻译噪声,从人类产生的翻译数据集 XQuAD 中获取问题,将不同语言的内容采用谷歌翻译翻译为英语。

3.2 Keyboard Noise

合成挑战集。采用标准键盘格式下的字母邻域,采用 25% 的概率,随机替换单词中某个字母为邻域字符。还在单词数据中引入了维基百科统计的人类拼写错误,产生更自然的噪声,包括 1489 个英语单词的 1742 个拼写错误。

自然挑战集。让三个注释者重新输入 XQuAD 的问题,但不让他们看到自己的输入。

3.3 ASR Noise

合成挑战集。采用 Google Text-to-Speech (TTS) 生成语音,再通过 Google Speech-to-Text、Kaldi ASpIRE 和 ESPnet CommonVoice 获取问题文本。

自然挑战集。采用 SANTLR 语音注释工具集,获取三个注释者的语音输入,随后再用上述引擎获取问题文本。

image-20210517091929678

  • 表2:SQuAD 的不同语音识别噪声。

4. Experiments

实验选择了 SQuAD v1.1 上表现较好的 4 个 QA 模型,包括 BiDAF, BiDAF-ELMo, BERT 和 RoBERTa。

4.1 Results and Analysis

挑战集评价指标选择了字符错误率 CER,单词错误率 WER 和 BLEU 得分(文本相似度)。

image-20210517093525647

  • 表3:挑战集评价指标。翻译其实在一些语言上也是非常有挑战性的。

分析 QA 模型实验结果,可以发现键盘输入噪声和语音识别噪声影响最大。机器翻译噪声在一些语言上影响也非常大。同时发现,精度更高的 RoBERTa 模型应对噪声的效果反而不一定比 BERT 好,说明稳定性也很重要。

image-20210517093622166

  • 表4:QA 模型实验结果。

文章对每种噪声数据集的效果还进行了专门分析。

语音识别噪声,分析了标点符号具有重要作用,去除会造成性能下降。分析了问题类别。分析了语音、性别和熟练程度的影响。分析了语音识别 ASR 模型的影响。

image-20210517093819524

  • 图1:语音识别影响分析。美语口音的效果最好。

机器翻译噪声,分析了源语言的影响。

image-20210517094726800

  • 图2:机器翻译影响分析。

image-20210517094905534

  • 表5:翻译差异示例。

键盘输入噪声,分析了合成集和自然集的影响。

4.2 Mitigation Strategies

文章尝试了两种策略提高 QA 系统稳定性:修复问题和数据增强。

修复问题方法,只适用于特定领域 QA (如 SQuAD),而不适用于开放领域 QA。这种方法将单词视为存在噪声,选择上下文中最接近的单词替换它们。将距离度量作为错误率,将阈值设为 0.5,并采用两种修复策略:只修复命名实体,或修复内容词(名词和形容词)。结果显示,修复内容词效果更好。这种方法适用于键盘输入错误,不过对其他错误也可以采用修复方法,如对语音识别错误加注释,或者对键盘输入错误加拼写检查器。

数据增强方法,用合成数据集的噪声构建方法,在 SQuAD 的 90k 训练集中注入噪声,进行训练。实践证明能够提高稳定性,但是对干净数据集效果会下降一点。对三种噪声的增强方法也进行了分析,证明三种都有助于提高稳定性。也证明了合成数据集的噪声构建方法是有效的。

image-20210517100051859

  • 表6:提高问答系统稳定性的方法:修复问题和数据增强,以及对应的效果。

5. Related Work

介绍了问答系统的研究进展、语音和问答系统的交互、挑战集提高模型稳定性的研究进展。

6. Conclusion

本文研究了三种噪声,旨在评估问答系统的稳健性,从而提高问答系统的实用性。

文章对数据集构建及实验的内容非常清晰和详细,值得学习借鉴。同时,提高问答系统稳健性的研究也很有意义。