机器阅读理解Machine Reading Comprehension(MRC)基本介绍

2024-01-26 12:20

本文主要是介绍机器阅读理解Machine Reading Comprehension(MRC)基本介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • NLP相关任务的基本流程
  • MRC四大任务
  • 各任务相关数据集
  • 机器阅读理解架构及方法
  • 总体架构
  • 评测指标

NLP相关任务的基本流程

image-20211020162958394

文本预处理:

  • 去除冗余字符标记(正则表达式)
  • 分词(jieba)
  • 单词处理(英文:大写->小写,单词还原,同义词扩展)
  • 去除停用词
  • 保护词应用于分词模块:开课吧,后厂理工学院
  • 同义词用于分词后的语料扩展:扩展->扩充
  • 停止词用于去除干扰信息,提取主要信息:的, 么, 了……

MRC四大任务

完形填空:原文中除去若干关键词,需要模型填入正确的单词或短语。

多项选择:模型需要从给定的若干选项中选出正确答案

答案抽取:回答限定是文章的一个子句,需要模型在文章中标注正确答案的起始和终止位置。

自由回答:不限定模型生成答案的形式,允许模型自由生产数据

各任务相关数据集

  • 完形填空:

    • CNN&Daily Mail
    • CBT
  • 单项选择

    • MC Test
    • RACE
  • 答案抽取:

    • SQuAD
    • NewsQA
  • 自由回答:

    • MS MARCO
    • DuReader2.0(10w可回答问题 +5w无答案问题)数据集在设计无答案的问题,就是看模型是否真的理解了问题,而不是单纯的匹配。
      • http://ai.baidu.com/broad/download?dataset=dureader
      • https://aistudio.baidu.com/aistudio/competition/detail/28

机器阅读理解架构及方法

  • 特征+传统机器学习

  • BERT以前:各种神奇的QA架构

  • BERT以后:预训练+微调+trick

总体架构

image-20211020162429333

最重要的模块是:Context-Query Interaction

评测指标

Accuracy:一共m个问题答对了n个

image-20211020162721424

F1

image-20211020162801790

image-20211020162742357image-20211020162752832

Rouge-L

最长公共子序列LCS,X为目标,Y为模型,m为标准答案的单词个数,n为模型答案的单词个数。 β \beta β一般取无穷大。所以F=R。

image-20211020163209663

BLEU

示例:

candidate: the cat sat on the mat

reference: the cat is on the mat

b l e u 2 bleu_2 bleu2对 candidate中的5个词,{the cat,cat sat,sat on,on the,the mat} ,查找是否在reference中,发现有3个词在reference中,所以占比就是0.6

b l e y 1 = 5 6 = 0.83 bley_1= \frac{5}{6} = 0.83 bley1=65=0.83

b l e y 3 = 3 5 = 0.60 bley_3= \frac{3}{5} = 0.60 bley3=53=0.60

b l e y 3 = 1 4 = 0.25 bley_3= \frac{1}{4} = 0.25 bley3=41=0.25

b l e y 4 = 0 3 = 0 bley_4= \frac{0}{3} = 0 bley4=30=0

改进后的BLEU

https://blog.csdn.net/guolindonggld/article/details/56966200
image-20211020163838747

image-20211020163846047

image-20211020163851399

这篇关于机器阅读理解Machine Reading Comprehension(MRC)基本介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646783

相关文章

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Java 枚举的基本使用方法及实际使用场景

《Java枚举的基本使用方法及实际使用场景》枚举是Java中一种特殊的类,用于定义一组固定的常量,枚举类型提供了更好的类型安全性和可读性,适用于需要定义一组有限且固定的值的场景,本文给大家介绍Jav... 目录一、什么是枚举?二、枚举的基本使用方法定义枚举三、实际使用场景代替常量状态机四、更多用法1.实现接

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强