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

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

Python中多线程和多进程的基本用法详解

《Python中多线程和多进程的基本用法详解》这篇文章介绍了Python中多线程和多进程的相关知识,包括并发编程的优势,多线程和多进程的概念、适用场景、示例代码,线程池和进程池的使用,以及如何选择合适... 目录引言一、并发编程的主要优势二、python的多线程(Threading)1. 什么是多线程?2.

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav