Natural questions: a benchmark for question answering research 论文速读

文章核心观点

本文介绍了 Natural Questions 数据集,这是一个用于问答研究的新数据集。该数据集包含真实匿名用户向谷歌搜索引擎提出的查询,以及针对这些查询在维基百科上找到的答案的注释。注释包括长答案(通常是一段文字)和短答案(一个或多个实体),如果页面上没有答案,则标记为 null。数据集包含 307,373 个训练示例,7,830 个用于开发的数据,以及 7,842 个用于测试的数据。本文还介绍了用于评估问答系统的鲁棒指标,并展示了这些指标上的人类上限,并使用来自相关文献的竞争方法建立了基线结果。

1. 引言

  • 开放域问答 (QA) 是自然语言理解 (NLU) 的重要任务,具有实际应用价值,并可以推动 NLU 方法的发展。
  • 现有的 QA 数据集存在一些局限性,例如:
    • 问题与答案的生成方式不自然
    • 任务定义过于简单
    • 缺乏大规模训练数据
    • 评估指标不完善
      2. 相关工作
  • 介绍了 SQuAD、TriviaQA、NarrativeQA、HotpotQA、WikiQA、MS MARCO 等现有 QA 数据集的优缺点,并分析了它们与 NQ 的差异。
    3. 任务定义和数据收集
  • NQ 数据集包含 (问题, 维基百科页面, 长答案, 短答案) 四元组,其中:
    • 问题是来自 Google 搜索引擎的真实匿名聚合查询
    • 维基百科页面可能包含也可能不包含问题的答案
    • 长答案是包含回答问题所需所有信息的 HTML 框,通常是段落或表格
    • 短答案是长答案中回答问题的实体或实体集,或布尔值 “yes” 或 “no”
  • 数据收集过程包括:
    • 使用启发式方法从 Google 搜索引擎中过滤出问题
    • 对每个问题,使用 Google 搜索引擎获取前 5 个搜索结果中的维基百科页面
    • 由人工标注者标注长答案和短答案
      4. 标注质量评估
  • 使用两种方法评估标注质量:
    • 专家对非空答案进行事后评估,计算标注精度
    • 对部分数据集进行 25 方标注,分析标注者之间的一致性
  • 结果表明,NQ 数据集的标注质量较高,但也存在一些可接受答案的歧义性。
    5. 评估指标
  • 使用 5 方标注数据作为评估指标的基础,定义了基于 5 方标注的准确率指标。
  • 介绍了精度和召回率的定义。
  • 构建了“超级标注者”作为评估指标的上界。
    6. 基线性能
  • 介绍了三种无训练基线和两种训练模型:
    • 无训练基线:选择维基百科页面第一段、最常见的标注、与评估问题最相似的训练集问题
    • Document-QA 模型:在 SQuAD 和 TriviaQA 上表现良好,经过修改后应用于 NQ
    • 自定义流水线模型 (DecAtt + DocReader):使用自然语言推理模型选择长答案,使用短答案提取模型选择短答案
  • 结果表明,现有的 QA 方法在 NQ 数据集上的性能还有很大的提升空间。
    7. 结论
  • NQ 数据集为 QA 研究提供了重要的基准数据,并推动了 NLU 的发展。
  • 现有的 QA 方法在 NQ 数据集上的性能还有很大的提升空间,需要进一步的研究和改进。
### GLUE 基准及其在自然语言理解 (NLU) 多任务评估中的应用 #### 什么是 GLUE 基准? GLUE(General Language Understanding Evaluation)基准是一种用于评估自然语言处理模型语义理解能力的多任务框架[^1]。它由一系列 NLU 任务组成,旨在全面衡量模型的语言理解和泛化能力。 #### GLUE 的任务构成 GLUE 包含 9 个核心任务,这些任务均涉及单句或双句的理解问题,具体如下: - **MNLI**(Multi-Genre Natural Language Inference):跨多个领域判断句子之间的推理关系。 - **QQP**(Quora Question Pairs):检测 Quora 上的问题是否重复。 - **QNLI**(Question-NLI):通过自然语言推断回答给定问题。 - **RTE**(Recognizing Textual Entailment):识别文本蕴含关系。 - **STS-B**(Semantic Textual Similarity Benchmark):测量两个句子间的语义相似度。 - **MRPC**(Microsoft Research Paraphrase Corpus):判定两句话是否互为同义表达。 - **CoLA**(Corpus of Linguistic Acceptability):预测句子语法和语义接受程度。 - **SST-2**(Stanford Sentiment Treebank):分析电影评论的情感倾向。 - **WNLI**(Winograd NLI):解决代词消解问题。 上述任务涵盖了多种语言现象,包括但不限于逻辑推理、情感分析以及语义匹配等。 #### GLUE 在多任务学习中的作用 为了更好地支持多任务场景下的 NLP 模型开发,研究人员提出了基于 GLUE 的解决方案。例如,在一篇来自微软的研究论文中提到一种名为 MT-DNN(Multi-Task Deep Neural Networks)的方法,该方法能够有效提升单一模型在多项 NLU 任务上的综合表现[^2]。 此外,还有其他工作扩展了传统意义上的 GLUE 设计理念。比如 ASR-GLUE 将自动语音识别引入到标准 NLU 测试集中,进一步考察当输入存在不同程度噪音干扰时系统的鲁棒性表现[^4]。 #### 实际案例展示 以 BERT 和其变体为例说明如何利用 GLUE 数据集进行实验验证。下图展示了 SST-2 这一特定子任务上几种主流架构的表现情况对比图表显示即使面对加入随机扰动后的样本集合,“人类级”的基线仍然难以超越某些精心设计的人工智能算法。 ```python import matplotlib.pyplot as plt # Sample data representing accuracy across different noise levels. noise_levels = ['Clean', 'Low Noise', 'Medium Noise', 'High Noise'] human_performance = [0.87, 0.85, 0.83, 0.78] model_a_accuracy = [0.92, 0.88, 0.86, 0.80] plt.figure(figsize=(10, 6)) plt.plot(noise_levels, human_performance, label='Human Performance') plt.plot(noise_levels, model_a_accuracy, label="Model A's Accuracy", linestyle="--") plt.title('Accuracy Comparison Between Human and Model Under Various Noises on SST-2 Task') plt.xlabel('Noise Levels') plt.ylabel('Accuracy Score') plt.legend() plt.grid(True) plt.show() ``` 此代码片段绘制了一条折线图用来直观呈现随着环境复杂性的增加两者之间差距的变化趋势。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

需要重新演唱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值