机器阅读理解学习笔记01
机器阅读理解学习笔记01
机器阅读理解发展及任务解析
一.机器阅读理解介绍
自然语言处理 Natural Language Processing(NLP)
NLP四大基本任务
- 序列标注:分词、词性标注
- 分类任务:文本分类、情感分析
- 句子关系:问答系统、对话系统
- 生成任务:机器翻译、文章摘要
NLG(有关生成任务) & NLU(重在计算机理解文本)
阅读理解是什么
通过阅读从文本中抽取信息并理解意义的过程
机器阅读理解的定义
Machine Reading Comprehension(MRC)
QA问题的一个子集,含有contexts(Q通过contexts回答A)
通过交互从书面文字中提取与构造文章语义的过程
MRC四大任务
- 完形填空
原文中除去若干关键词,需要模型填入正确的单词或短语
相关数据集:CNN&Daily Mail、CBT - 多项选择
模型需要从给定的若干选项中选出正确答案
相关数据集:MC Test、RACE - 答案抽取
回答限定是文章的一个子句,需要模型在文章中标注正确答案的起始和终止位置
相关数据集:SQuAD、NewsQA - *回答
不限定模型生成答案的形式,允许模型*生产数据
相关数据集: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/
机器阅读理解方法
- 特征+传统机器学习
- BERT以前:各种神奇的QA架构
- BERT以后:预训练+微调+trick
二.机器阅读理解架构
总体结构
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
一共m个问题答对了n个 -
F1
-
Rouge-L
-
BLEU
三.自然语言处理基础
NLP相关任务的基本流程
文本获取
- 整理好的数据(比赛、开源)
- 人工标注(时间成本、人力成本、标注量级)
- 用户标注(行为数据、调查问卷)
- 互联网收集后清洗(其他网站)
文本预处理
- 去除冗余字符标记(正则表达式)
- 分词(jieba)
- 单词处理(英文:大写->小写,单词还原,同义词扩展)
- 去除停用词
保护词、同义词与停止词:
保护词应用于分词模块:公司名字等
同义词用于分词后的语料扩展:扩展->扩充
停止词用于去除干扰信息,提取主要信息:的, 么, 了……(传统机器学习中应用多一些)
可参考论文:
Shanshan Liu, Xin Zhang, Sheng Zhang, et al. Neural Machine Reading Comprehension: Methods and Trends
https://arxiv.org/pdf/1907.01118.pdf