《面向机器阅读理解的多任务层次微调模型》论文总结

本文探讨了机器阅读理解的现状和挑战,指出其在推理能力和解释性上的不足。针对这些问题,文章提出了使用‘中国法研杯’2020年司法数据集,以训练更复杂的推理模型。模型利用RoBERTa进行层次微调,包括精读和泛读模块,以提高答案抽取和证据推理的准确性。实验结果显示,这种方法能有效提升机器阅读理解的性能,特别是在司法领域的应用。
摘要由CSDN通过智能技术生成

1.机器阅读理解

机器阅读理解 (machine reading comprehension,MRC) 是通过计算机理解文章语义并回答相关问题的一项重要研究任务. 让计算机系统能够理解文本的含 义, 并且做出正确的反馈, 是自然语言处理的长期目标。

作用:机器阅读理解的研究对提升机器的自然语言理解能力具有重要促进作用。同时,将机器阅读理解技术运用到智能客服问答系统中,能够更进一步的提高问答系统的扩展性和效率。

2.机器阅读理解的现状

2.1面临的问题

  • 推理性不强,缺乏可解释性
  • 缺乏大量的训练数据
  • 存在一定的限制,如限定只给出一个答案

2.2现实中的挑战

  • 实际应用中, 存在大量场景不仅需要答案, 还需要这个答案具有一定的解释性, 需要同时
    找出能够支撑该答案的相关句子。
  • 目前在司法领域的机器阅读理解研究还较少

3.提出的解决方法

采用的数据集:第三届“中国法研杯”司法人工智能挑战赛(CAIL 2020) 比赛提供的中文法律机器阅读理解数据集

3.1为什么要采用该数据集?

3.1.1主流问答数据集的弊端

对于目前主流的问答数据集(例如斯坦福的 SQuAD 数据集 [1]),问题的答案基本都在单一文档的单一(或连续的)句子中,并且这类问题大多可通过对问题和单一文档使用类似关键词匹配(keyword matching)的方式来回答。基于这些数据集训练的模型虽然在这类问题上表现不俗,但是它们对基于多个信息进行多步推理的能力表现得不尽如人意

3.1.2新型数据集的好处

现有的问答(QA)数据集无法训练可执行复杂推理和提供答案解释的 QA 系统。该数据集类似于新型问答数据集 HotpotQA,该数据集包含 11.3 万个基于维基百科的问答对,具备以下四个特点:

  1. 问题的答案必须要基于多个支持文档;

  2. 问题多样化,不局限于任何已有的知识库或知识模式;

  3. 提供句子级别的支持推理线索(supporting fact),允许 QA 系统用强大的监督进行推理,并对预测结果进行解释;

  4. 提供了新型模拟比较型问题,来测试 QA 系统提取相关线索、执行必要对比的能力。

3.2提出的模型

3.2.1任务定义

传统的机器阅读理解任务主要分为 3 大类型:

  • 填空式阅读理解,
  • 选择式阅读理解,
  • 抽取式阅读理解.

传统的抽取式阅读理解任务定义为:给定一段文本 c={w1c, w2c, …, wnc}和问题 q={w1q, w2q,…, wnq
}, 通过模型从文本中抽取出对应的答案 a.
而本文研究的数据集, 除了需要从文本中抽取对
应的答案部分之外还需要额外抽取支撑该答案的句子,
即支撑答案的证据 Sk, k 为证据的句子数目. 对于上述
任务, 其定义如式 (1) 所示:

3.2.2模型构建
3.2.2.1RoBERTa 模型介绍

RoBERTa模型是BERT模型的一个改进,相较于BERT有较大的提升,是一个预训练模型。
改进的方面:

  1. 数据生成方式和任务改进:取消下一个句子预测,并且数据连续从一个文档中获得。
  2. 更大更多样性的数据:使用 30G 中文训练,包含 3 亿个句子,100 亿个字 (即 token)。由于新闻、社区讨论、多个百科,保罗万象,覆盖数十万个主题,共160+G数据。
    Byte-Pair Encoding(BPE)是字符级和词级别表征的混合。
  3. 训练更久:超过500k steps
  4. 更大批次:使用了超大(8k)的批次 batch size。
  5. 调整优化器的参数。
  6. 使用全词 mask(whole word mask)和动态的mask。

层次微调模型分为两层, 第一层我们先使用
RoBERTa 模型进行编码分别用线性层进行输出计算
损失值, 并保存最优权重, 进行第一次微调
在这里插入图片描述

第二层再结合 Retro-Reader 方法, 将模型分为精读模块和泛读模块分别读取模型 (a) 微调后的权重进行二次微调, 最后进行预测, 如图 2 中 (b) 所示.
在这里插入图片描述

3.3模型具体介绍

3.3.1编码层
  1. 编码层将问题和文章的离散符号转换为连续向量
    表示序列.
  2. 论文中使用 RoBERTa-large-wwm 来实现编码
    层. 该方法主要更改了原预训练阶段的训练样本生成策略, 将全词掩码的方法应用在了中文中, 即对组成的同一个词的汉字全部进行 [MASK].

具体操作:

  1. 首先本文使用预训练模型 RoBERTa 的词表先将
    输入的文本转化 Input=[CLS]Q[SEP]T[SEP] 的方式.
  2. 其 中 [CLS] 用于分类任务, Q 为问题, T 为文章, [SEP] 作
    为分隔符来对问题 Q 和文章 T 进行分割.
  3. Input 长度为 512, 如果总长度未达到 512, 空余部分以 0 补全. 之后将离散的符号映射至高维的向量, 通过 24 层 Transformers, 隐藏层维度为 1 024, 激活函数使用GELU函数
3.3.2层次微调方法

层次微调方法是通过 RoBERTa 预训练模型与多任务学习方法进行训练, 并保存最优的 RoBERTa 模型权重.然后再将其权重值传递给精读模块和泛读模块分别进行读取, 之后继续在对应的任务上进行训练, 从而达到一个较好的效果.

3.3.3精读模块

采用多任务学习方法,:

  1. 任务 1 为序列标注问题从
    文章中标注答案开始位置以及结束位置,
  2. 任务 2 为分类问题, 结合问题以及文章进行判断得到答案的类型.

由编码层可以得到输入层的 1 024 维向量表示, n 为 512.任务 1 中定义 BERT 的输入为 [CLS]Q[SEP]P,定
在这里插入图片描述
在这里插入图片描述

3.3.4泛读模块

在这里插入图片描述

3.3.5预测模块

精读模块的预测结果有两部分, 第 1 部分为答案类型一共有 4 种分类. 分别为截取类型 (SPAN 类型),是否类型 (YES/NO 类型) 以及不可回答类型 (UNKNOWN类型). 第 2 部分为根据问题在原文中所截取的片段

我们先取第 1 部分答案类型分类结果, 如果分类为是否类型与不可回答类型, 则直接输出答案类型作为精读模块结果. 如果为截取类型, 则取第 2 部分输出内容为结果.最后, 将精读模块预测内容与泛读模块中输出的答案支撑句进行拼接, 进行最终答案的输出, 得到如下图 的结果方便后续评估.
在这里插入图片描述

3.3.6实验参数

实验训练过程中模型采用 带有权重衰减的自适应动量估计算法 (AdamW) 作为优化算法, 学习率为 1e–5. 使用预热学习率 (warmup step),即先用较小的学习率训练, 然后每步逐渐增大, 直到达到最初设置的学习率, 批处理大小为 1, 一共训练 10 轮.

4.实验结果

4.1正面对比

在这里插入图片描述

4.2反面对比

在这里插入图片描述

5.总结

这篇文章中提出了一种多任务层次微调模型, 将答案类型预测和答案预测两个任务放入精读模块.使用多任务学习方法进行预测, 再将证据抽取任务单独分放进泛读模块, 单独进行训练预测, 最后综合两个模块的预测结果进行输出,并且选取了 BERT、ALBERT、RoBERTa、RoBERTa-large 四种不同规模的预训练模型对输出的实验结果进行了对比分析.

实验表明, 论文中所提方法可以有效提高机器阅读理解的答案抽取以及证据抽取的效果, 未来可以将把侧重点放在精读模块与泛读模块上, 以进一步对模型进行优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Indra_ran

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

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

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

打赏作者

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

抵扣说明:

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

余额充值