阅读理解式问答

问题描述

使用非结构化的知识库——维基百科来进行问答,其主要思想是先通过问题在维基百科上检索相关的文章,再对文章中的段落进行阅读理解,最后选出最可能的答案。这其中涉及到最重要的核心技术就是机器的阅读理解与问答。

数据集

早期的一些阅读理解数据集如MCTest、Algebra、Science等都有着数据量小、难度较大(回答问题需要额外的常识)等缺点。针对数据量小的问题,人们构造了阅读理解任务的一个变体——完形填空的数据集,通过去掉现有文本中的某个词语,让程序进行填空,这样的数据集拥有较大的规模,如Children‘s Book Test (CBT) 和 CNN/Daily News。然而,完形填空数据集的答案常常是单一的词语或实体,并且不需要对整段文本进行理解,因此和我们理想的数据集还有一定距离。幸运的是,在16年,斯坦福大学通过亚马逊众包平台(AMT)建立了一个新的阅读理解数据集——SQuAD。在文章SQuAD: 100,000+ Questions for Machine Comprehension of Text中对该数据集进行了介绍(该论文获得EMNLP2016最佳数据集奖)。该数据集包含了100k个问题答案对,问题和答案只与维基百科中文章的某一段落有关,答案的形式是该段落的某一片段。
中文有百度公开数据集WebQA、DuReader 以及搜狗数据集等。

WebQA数据

百度之前开放的WebQA语料集一样的,即“一个问题 + 多段材料”的格式,希望从多段材料中共同决策出问题的精准答案(一般是一个实体片段)。

问题:社保缴纳多少年可以领养老金
答案:15年
材料1:最好不辞,交够15年到退休就可以领养老金了如果有特殊原因非要辞,可以个人接着交。
材料2:你好!养老保险缴纳满15年,达到退休年龄可以领取养老金。
材料3:在生活中,每个人都会缴纳社保,多少年可以领取退休... 社保要交多少年才能领养老金 呢,在上文中为大家介绍了一下。

评估方法

以SQuAD数据为例,SQuAD数据集有两种评价标准。第一种是完全匹配(Exact match),即系统给出的预测答案和真实答案完全匹配才算作正确,最后统计正确率。第二种是计算F1-Score,系统给出的预测答案和真实答案都可以看作一串tokens,我们可以根据重叠部分计算出F1-Score。对于一个问题含有多个真实值的情况,两个标准都选择得分最高的那个。可以看出,相比完全匹配,F1-Score是一种更宽松的评价标准。当然这两种评价标准都会事先对预测值和答案进行Normalize,即统一为小写、去掉标点符号、多余空格和去除冠词。
人类在该数据集测试集上的表现得分为:完全匹配77%,F1-Score 86.8%。

解决方案

model1

Li P, Li W, He Z, et al. Dataset and Neural Recurrent Sequence Labeling Model for Open-Domain Factoid Question Answering[J]. arXiv: Computation and Language, 2016.
在这里插入图片描述
本篇论文是百度团队利用自己的数据集webQA来进行实验的。本篇论文的创新点是将QA问答转换成序列标注问题,并提出了一个端到端的模型。模型分为三层,Question LSTM、Evidence LSTMs、CRF三层。

论文特点

1、直接将问题用LSTM编码后得到“问题编码”,然后拼接到材料的每一个词向量中;
2、人工提取了2个共现特征;
3、将最后的预测转化为了一个序列标注任务,用CRF解决。

代码参考

Model2:DGCNN模型

在这里插入图片描述
模型与model1相比不同点在于:
1、把原模型中所有的LSTM部分都替换为CNN;(cnn在nlp领域的花式应用)https://kexue.fm/usr/uploads/2018/01/2257698255.pdf
2、提取了更丰富的共现特征(8个);
3、去掉CRF,改为“0/1标注”来分开识别答案的开始和终止位置,这可以看成一种“半指针半标注”的结构。
代码参考:

Model3: DCN

Dynamic Coattention Networks for Question Answer
https://github.com/search?q=dcn+question&type=Repositories
https://github.com/andrejonasson/dynamic-coattention-network-plus

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值