引言

本系列文章会介绍机器阅读理解相关技术和模型。主要按照以下线路:

【Day 1】机器阅读理解——机器阅读理解简介_词性标注

机器阅读理解介绍

NLP四大基本任务:

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

阅读理解一般基于NLU(自然语言理解)和NLG(自然语言生成),是比较特殊的,无法简单的归类与上面某类。

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

机器阅读理解(Machine Reading Comprehension,MRC) 是QA问题的子集,含有contexts,通过交互从文字中提取与构造文章语义。

机器阅读理解

给定上下文【Day 1】机器阅读理解——机器阅读理解简介_机器阅读理解_02和问题【Day 1】机器阅读理解——机器阅读理解简介_自然语言处理_03,需要模型给出关于问题【Day 1】机器阅读理解——机器阅读理解简介_自然语言处理_03的正确答案【Day 1】机器阅读理解——机器阅读理解简介_机器阅读理解_05,通过学习某个函数【Day 1】机器阅读理解——机器阅读理解简介_自然语言处理_06,比如【Day 1】机器阅读理解——机器阅读理解简介_词性标注_07

典型的应用场景有:搜索引擎、机器问答&智能客服等。

机器阅读理解也有四大任务:

  • 完形填空
  • 单项选择
  • 答案抽取
  • 自由回答

完形填空 从原文中除去若干单词或实体,需要模型填入正确的单词或实体。

单项选择 从给定的若干选择中选出正确答案。

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

片段抽取

给定包含【Day 1】机器阅读理解——机器阅读理解简介_自然语言处理_08个单词的上下文【Day 1】机器阅读理解——机器阅读理解简介_词性标注_09,和问题【Day 1】机器阅读理解——机器阅读理解简介_自然语言处理_03,片段抽取(span extraction)需要从上下文【Day 1】机器阅读理解——机器阅读理解简介_机器阅读理解_02中抽取连续的子序列【Day 1】机器阅读理解——机器阅读理解简介_应用场景_12作为问题【Day 1】机器阅读理解——机器阅读理解简介_自然语言处理_03的答案,通过学习一个函数【Day 1】机器阅读理解——机器阅读理解简介_自然语言处理_06,使【Day 1】机器阅读理解——机器阅读理解简介_词性标注_07

自由回答 不限定模型生成答案的形式,允许模型自由生产数据(自己组织语言回答问题)。

下面列出各任务对应的数据集:

  • 完形填空:
  • CNN&Daily Mail
  • CBT
  • 单项选择:
  • MC Test
  • RACE
  • 答案抽取:
  • SQuAD
  • NewsQA
  • 自由回答:

机器阅读理解模型架构

【Day 1】机器阅读理解——机器阅读理解简介_词性标注_16

总体架构如上。

Embedding

  • One-hot
  • Word2vec
  • Elmo
  • BERT

Feature Extraction

  • CNN
  • RNN
  • Transformer

Context-Query Interaction

  • 注意力机制

Answer Prediction

  • Word predictor
  • Option predictor
  • Span extractor
  • Answer generator

评估指标

Accuracy

准确率
【Day 1】机器阅读理解——机器阅读理解简介_应用场景_17

F1

【Day 1】机器阅读理解——机器阅读理解简介_机器阅读理解_18

Rouge-L

【Day 1】机器阅读理解——机器阅读理解简介_机器阅读理解_19

其中【Day 1】机器阅读理解——机器阅读理解简介_自然语言处理_20指标准答案长度,【Day 1】机器阅读理解——机器阅读理解简介_深度学习_21指模型答案长度。

NLP相关任务的基本流程

【Day 1】机器阅读理解——机器阅读理解简介_机器阅读理解_22

文本特征工程一般应用在机器学习模型上,而深度学习模型一般不需要。

Reference


  1. ​DuReader: a Chinese Machine Reading Comprehension Dataset from Real-world Applications ​​​ ​​↩︎​
  2. ​Neural Machine Reading Comprehension: Methods and Trends​​​ ​​↩︎​