机器阅读理解学习笔记01

机器阅读理解发展及任务解析

一.机器阅读理解介绍

自然语言处理 Natural Language Processing(NLP)

NLP四大基本任务

  1. 序列标注:分词、词性标注
  2. 分类任务:文本分类、情感分析
  3. 句子关系:问答系统、对话系统
  4. 生成任务:机器翻译、文章摘要

NLG(有关生成任务) & NLU(重在计算机理解文本)

阅读理解是什么

通过阅读从文本中抽取信息并理解意义的过程

机器阅读理解的定义

Machine Reading Comprehension(MRC)
QA问题的一个子集,含有contexts(Q通过contexts回答A)
通过交互从书面文字中提取与构造文章语义的过程

MRC四大任务

  1. 完形填空
    原文中除去若干关键词,需要模型填入正确的单词或短语
    相关数据集:CNN&Daily Mail、CBT
  2. 多项选择
    模型需要从给定的若干选项中选出正确答案
    相关数据集:MC Test、RACE
  3. 答案抽取
    回答限定是文章的一个子句,需要模型在文章中标注正确答案的起始和终止位置
    相关数据集:SQuAD、NewsQA
  4. *回答
    不限定模型生成答案的形式,允许模型*生产数据
    相关数据集:MS MARCO、DuReader

DuReader数据集:
http://ai.baidu.com/broad/download?dataset=dureader
https://aistudio.baidu.com/aistudio/competition/detail/28
https://arxiv.org/abs/1711.05073
SQuAD数据集:
1.0:10w可回答问题 区间式回答
2.0:10w可回答问题 +5w无答案问题
https://rajpurkar.github.io/SQuAD-explorer/

机器阅读理解方法

  1. 特征+传统机器学习
  2. BERT以前:各种神奇的QA架构
  3. BERT以后:预训练+微调+trick

二.机器阅读理解架构

总体结构

机器阅读理解学习笔记01

Embedding

  1. One-hot
  2. Word2vec
  3. Elmo(解决一词多义)
  4. BERT

Feature Extraction

  1. CNN
  2. RNN
  3. Transformer

Context-Query Interaction

注意力机制(权重分配)

Answer Prediction

  1. Word predictor
  2. Option predictor
  3. Span extractor
  4. Answer generator

评测指标

  1. Accuracy
    一共m个问题答对了n个
    机器阅读理解学习笔记01

  2. F1
    机器阅读理解学习笔记01
    机器阅读理解学习笔记01
    机器阅读理解学习笔记01

  3. Rouge-L
    机器阅读理解学习笔记01

  4. BLEU
    机器阅读理解学习笔记01
    机器阅读理解学习笔记01
    机器阅读理解学习笔记01

三.自然语言处理基础

NLP相关任务的基本流程

机器阅读理解学习笔记01

文本获取

  1. 整理好的数据(比赛、开源)
  2. 人工标注(时间成本、人力成本、标注量级)
  3. 用户标注(行为数据、调查问卷)
  4. 互联网收集后清洗(其他网站)

文本预处理

  1. 去除冗余字符标记(正则表达式)
  2. 分词(jieba)
  3. 单词处理(英文:大写->小写,单词还原,同义词扩展)
  4. 去除停用词

保护词、同义词与停止词:
保护词应用于分词模块:公司名字等
同义词用于分词后的语料扩展:扩展->扩充
停止词用于去除干扰信息,提取主要信息:的, 么, 了……(传统机器学习中应用多一些)

可参考论文:
Shanshan Liu, Xin Zhang, Sheng Zhang, et al. Neural Machine Reading Comprehension: Methods and Trends
https://arxiv.org/pdf/1907.01118.pdf