机器阅读理解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

相关文章

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Java Spring的依赖注入理解及@Autowired用法示例详解

《JavaSpring的依赖注入理解及@Autowired用法示例详解》文章介绍了Spring依赖注入(DI)的概念、三种实现方式(构造器、Setter、字段注入),区分了@Autowired(注入... 目录一、什么是依赖注入(DI)?1. 定义2. 举个例子二、依赖注入的几种方式1. 构造器注入(Con

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁