引言
本系列文章会介绍机器阅读理解相关技术和模型。主要按照以下线路:
机器阅读理解介绍
NLP四大基本任务:
- 序列标注:分词、词性标注
- 分类任务:文本分类、情感分析
- 句子关系:问答系统、对话系统
- 生成任务:机器翻译、文章摘要
阅读理解一般基于NLU(自然语言理解)和NLG(自然语言生成),是比较特殊的,无法简单的归类与上面某类。
阅读理解 指通过阅读从文本中抽取信息并理解意义的过程。
机器阅读理解(Machine Reading Comprehension,MRC) 是QA问题的子集,含有contexts,通过交互从文字中提取与构造文章语义。
机器阅读理解
给定上下文和问题,需要模型给出关于问题的正确答案,通过学习某个函数,比如。
典型的应用场景有:搜索引擎、机器问答&智能客服等。
机器阅读理解也有四大任务:
- 完形填空
- 单项选择
- 答案抽取
- 自由回答
完形填空 从原文中除去若干单词或实体,需要模型填入正确的单词或实体。
单项选择 从给定的若干选择中选出正确答案。
答案抽取 回答限定是文章的一个子句,需要模在文章中标注正确答案的起始和终止位置。
片段抽取
给定包含个单词的上下文,和问题,片段抽取(span extraction)需要从上下文中抽取连续的子序列作为问题的答案,通过学习一个函数,使。
自由回答 不限定模型生成答案的形式,允许模型自由生产数据(自己组织语言回答问题)。
下面列出各任务对应的数据集:
- 完形填空:
- CNN&Daily Mail
- CBT
- 单项选择:
- MC Test
- RACE
- 答案抽取:
- SQuAD
- NewsQA
- 自由回答:
- MS MARCO
- DuReader1
机器阅读理解模型架构
总体架构如上。
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
准确率
F1
Rouge-L
其中指标准答案长度,指模型答案长度。
NLP相关任务的基本流程
文本特征工程一般应用在机器学习模型上,而深度学习模型一般不需要。
Reference
- DuReader: a Chinese Machine Reading Comprehension Dataset from Real-world Applications ↩︎
- Neural Machine Reading Comprehension: Methods and Trends ↩︎