- PaperWeekly 2016.08.05 第一期
- PaperWeekly 第二期
- PaperWeekly 第三期
- PaperWeekly 第四期 - 基于强化学习的文本生成技术
- PaperWeekly 第五期 - 从 Word2Vec 到 FastText
- PaperWeekly 第六期 - 机器阅读理解
- PaperWeekly 第七期 -- 基于 Char-level 的 NMT OOV 解决方案
- PaperWeekly 第八期 - Sigdial2016 文章精选(对话系统最新研究成果)
- PaperWeekly 第九期 -- 浅谈 GAN
- PaperWeekly 第十期
- PaperWeekly 第十一期
- PaperWeekly 第十二期 - 文本摘要
- PaperWeekly 第十三期--最新文章解读
- PaperWeekly 第十四期 - TTIC 在 QA 任务上的研究进展
- PaperWeekly 第十六期 - ICLR 2017 精选
- PaperWeekly 第十七期 - 无监督/半监督 NER
- PaperWeekly 第十八期 - 提高 seq2seq 方法所生成对话的流畅度和多样性
- PaperWeekly 第十九期 - 新文解读(情感分析、机器阅读理解、知识图谱、文本分类)
- PaperWeekly 第二十期 - GAN(Generative Adversarial Nets)研究进展
- PaperWeekly 第二十一期 - 多模态机器翻译
- PaperWeekly 第二十二期 - Image Caption 任务综述
- PaperWeekly 第二十三期 - 机器写诗
- PaperWeekly 第二十四期 - GAN for NLP
- PaperWeekly 第二十五期 - 增强学习在 image caption 任务上的应用
- PaperWeekly 第二十六期 - 2016 年最值得读的 NLP paper 解读(3 篇)+在线 Chat 实录
- PaperWeekly 第二十七期 | VAE for NLP
- PaperWeekly 第 28 期 | 图像语义分割之特征整合和结构预测
- PaperWeekly 第 29 期 | 你的 Emoji 不一定是我的 Emoji
- PaperWeekly 第 30 期 | 解读 2016 年最值得读的三篇 NLP 论文 + 在线 Chat 实录
- PaperWeekly 第 31 期 | 远程监督在关系抽取中的应用
- PaperWeekly 第 32 期 | 基于知识图谱的问答系统关键技术研究 #01
- PaperWeekly 第 33 期 | 基于知识图谱的问答系统关键技术研究 #03
- PaperWeekly 第 34 期 | VAE 在 chatbot 中的应用
- PaperWeekly 第 35 期 | 如何让聊天机器人懂情感 PaperWeekly 第 35 期 | 如何让聊天机器人懂情感
- PaperWeekly 第 36 期 | Seq2Seq 有哪些不为人知的有趣应用?
- PaperWeekly 第 37 期 | 论文盘点:检索式问答系统的语义匹配模型(神经网络篇)
- PaperWeekly 第 38 期 | SQuAD 综述
- PaperWeekly 第 39 期 | 从 PM 到 GAN - LSTM 之父 Schmidhuber 横跨 22 年的怨念
- PaperWeekly 第 40 期 | 对话系统任务综述与基于 POMDP 的对话系统
- PaperWeekly 第 41 期 | 互怼的艺术:从零直达 WGAN-GP
- PaperWeekly 第 42 期 | 基于知识图谱的问答系统关键技术研究 #04
- PaperWeekly 第 43 期 | 教机器学习编程
- PaperWeekly 第 44 期 | Kaggle 求生
- PaperWeekly 第 45 期 | 词义的动态变迁
- PaperWeekly 第 46 期 | 关于远程监督,我们来推荐几篇值得读的论文
- PaperWeekly 第 47 期 | 开学啦!咱们来做完形填空:“讯飞杯”参赛历程
- 深度强化学习实战:Tensorflow 实现 DDPG - PaperWeekly 第 48 期
- 评测任务实战:中文文本分类技术实践与分享 - PaperWeekly 第 49 期
- 从 2017 年顶会论文看 Attention Model - PaperWeekly 第 50 期
- 深入浅出看懂 AlphaGo Zero - PaperWeekly 第 51 期
- PaperWeekly 第 52 期 | 更别致的词向量模型:Simpler GloVe - Part 1
- PaperWeekly 第 53 期 | 更别致的词向量模型:Simpler GloVe - Part 2
- 基于神经网络的实体识别和关系抽取联合学习 | PaperWeekly #54
PaperWeekly 第二十六期 - 2016 年最值得读的 NLP paper 解读(3 篇)+在线 Chat 实录
引言
本期 Chat 是 PaperWeekly 第一次尝试与读者进行互动交流,一共分享和解读 3 篇 paper,均选自,分别是:
- End-to-End Reinforcement Learning of Dialogue Agents for Information Access
- Dual Learning for Machine Translation
- SQuAD: 100,000+ Questions for Machine Comprehension of Text
1. End-to-End Reinforcement Learning of Dialogue Agents for Information Access 作者
Bhuwan Dhingra, Lihong Li, Xiujun Li, Jianfeng Gao, Yun-Nung Chen, Faisal Ahmed, Li Deng
单位
School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA
Microsoft Research, Redmond, WA, USA
National Taiwan University, Taipei, Taiwan
关键词
Dialogue Agent, Reinforcement Learning
文章来源
arXiv
问题
用强化学习构造一个端到端的任务驱动的基于知识图谱的对话系统。
模型
一个任务驱动的对话系统,一般通过自然语言与用户进行多轮交流,帮助用户解决一些特定问题,例如订机票或检索数据库等。一般由下面四部分组成:
- Language Understanding Module(LU): 理解用户意图并提取相关 slots。例如用户想找一部电影,那么就需要提取出电影名称,演员,上映时间等相关 slots 信息。
- Dialogue State Tracker: 追踪用户的目标和对话的历史信息。
- Dialogue Policy: 基于当前状态选择系统的下一步 action, 例如向用户询问电影上映时间的 action 是 request(year)。
- Natural Language Generator(NLG):将系统的 action 转化成自然语言文本。例如将 request(year) 转换成:电影什么时候上映的?
在 Dialogue Policy 这一步,传统方法一般是生成一个类似 SQL 的查询语句,从数据库中检索答案,但是这会使模型不可微从而只能分开训练。本文使用了基于概率的框架,因此是可微的,从而实现了端到端的训练过程。
论文中用到的数据库,是来自 IMDB 的电影数据库。每一行代表一部电影,每一列是一个 slot,信息有可能存在缺失。
整体框架如下图:
下面分别介绍各个部分:
Feature Extractor
将用户每轮的输入文本转化成一个向量,这里使用了 ngram 词袋模型(n=2)。
Belief Trackers
用于追踪对话状态和历史信息。
这里针对每一列的 slot,分别有一个 belief tracker。每个 belief tracker 的输入是从 feature extractor 得到的向量,用 GRU 处理以后,得到一个状态向量。根据这个状态向量,分别计算得到两个输出:pj 和 qj。
pj 是当前 slot 下所有值的概率分布,qj 是用户不知道这个 slot 值的概率。
因为在和用户交互的过程中,应当尽可能询问用户知道的信息,询问用户不知道的信息对后面的查询没有任何意义。
Soft-KB Lookup
根据 Belief Trackers 的输出,计算数据库中每个值的概率分布。
Beliefs Summary
由 Belief Trackers 和 Soft-KB Lookup,可以得到当前的对话状态向量 st。st 向量包含了数据库中所有值的概率分布户是否知识等信息,实在是太大了,直接送给 Policy Network 会导致其参数过多,难以训练。因此这一步把 slot-values 转化成了加权的熵统计信息。
Policy Network
这里使用策略网络,根据 Beliefs Summary 的输入状态向量,来输出各个 action 的概率分布π。具体结构是 GRU+全连接层+softmax 的方式。
Action Selection
这里从策略分布π采样,得到下一步的 action。如果 action 是 inform(),说明到了对话的最后一步,需要给用户返回 Top k 的查询结果。这里按照 Soft-KB Lookup 步骤中得到的每一行电影的概率,进行采样来返回 Top K 候选。
NLG
这里的 NLG 部分和上面是独立的,使用了 sequence-to-sequence 模型,输入 action,输出包含 slot 的对话模板,然后进行填充,得到自然语言文本。
训练
这里用的基于策略梯度的强化学习模型进行训练,目标是最大化 reward 的期望。最后一轮 inform 部分的 reward 是由正确答案在 Top K 候选中的排序位置决定,排序越靠前,reward 越高。如果候选没有包含正确答案,那么 reward 是-1。
对话交互训练数据是通过一个模拟器从电影数据中采样生成得到。
Baselines
- End2End-RL:本文提出的模型。
- Rule-based:Belief Trackers 和 Policy 部分都是人工规则。
- Simple-RL:只有 Belief Trackers 是人工规则,而 Policy 部分是基于 GRU。
实验结果如下图:
相关工作
对话的相关工作很多,包括传统基于 Markov Decision Processes 的 POMDPs, 基于 Q-Learning 的 SimpleDS,基于 API 查询的方法,基于最小化熵的 EMDM 等等,感兴趣的读者可以查询相关文献。
简评
深度强化学习在对话系统的应用越来越多,本文最大的贡献,是提出了一个可微的基于概率的框架,从而使 End-to-End 训练成为可能,相比传统方法各部分分别训练,联合训练可以有效的减少错误传递。而基于深度强化学习的训练方式,相比传统基于规则的方式,在高噪音输入的情况下,有着更好的表现。
完成人信息
王哲,中国科学技术大学,xiaose@mail.ustc.edu.cn。
Chat 实录
问 :我对“因此这一步把 slot-values 转化成了加权的熵统计信息”的合理性和物理意义有些不明,我在最近的论文中很少看到这样的做法,请问是因为效果的原因吗?
答 : 这个熵指的是信息熵,不是物理中的热力学熵。信息熵把一个系统的不确定性,按照其可能出现结果的概率分布,进行定量化计算,得到的是可以获取的信息量大小。信息熵越大,不确定性就越大,我们可以获取的信息量也就越大。任务驱动的问题系统,在得到最终查询结果前,希望尽可能多的从用户那里获取信息,减少系统本身的不确定性,因此我们在知道一个 slot 中各种实体概率的情况下,用信息熵来度量一个 slot 的不确定性,还是挺合理挺自然的。
熵的用法在深度学习网络中还是挺多的,例如我们经常用交叉熵做损失函数。同时文本分类任务中,经常用 TFIDF 值作为特征,而 TFIDF 值是可以由信息熵推导出来的。
问 :论文中提到:”Moreover, instead of defining an attention distribution directly over the KB entities, which could be very large, we instead induce it from the smaller distributions over each relation (or slot in dialogue terminology) in the KB” 这里 smaller distributions , 以及 each relation 怎么理解,为什么能小?
答 : 这里的 relation,指的是 slots,也就是表格的各个列属性,例如 year,actor 等。 和 entities 的数目相比,一个 slot 对应的属性值数目要小很多。entity 概率计算的时候,是把各个属性的概率相乘得到的。而一个属性的概率,取决于这个属性有多少值,假设我们有 3 个属性,每个属性的值的数目分别是 k1,k2,k3,那么 entities 可能的计算量就是 k1 * k2 * k3。现在作者假设每个属性之间是相互独立的,因此实际计算量可以理解成 k1+k2+k3,所以 slots 的属性分布和 entities 分布相比,是 smaller distributions。
问 :增强学习在 chatbot 研究中使用时相比监督学习有哪些优势和劣势?
答 : 先说说强化学习的优势:
监督学习当前研究比较多的,是以 seq2seq 为代表的生成模型。 它目前一个比较大的问题,是生成结果缺乏多样性,倾向于生成比较安全比较常见的回答,例如“谢谢”,“不知道”。 这个主要是因为,训练目标是用最大似然拟合训练数据,而经常在训练数据中出现的回答,会占一些优势,因此后续有很多工作试图改进这个问题,例如用互信息作为目标函数,在解码搜索过程中,对常见结果进行惩罚,提高生成结果的多样性等等。
监督学习的另外一个问题,是训练过程和预测过程不一致。训练的时候,当我们解码生成一个句子的下一个词的时候,是基于训练语料中的正确结果,而预测的时候,我们并不知道标准答案是什么,因此解码下一个词的时候,是基于我们预测的结果。这种不一致会影响最终结果,就像考试我们遇到之前没有见过的题型,我们的考试成绩可能会变差一样。增强学习,有希望解决这两个问题的。
针对第一个问题,我们借助增强学习的 reward,引入一些明确的的奖励目标,用来指导对话的生成。例如,如果我们想训练一个淘宝客服的对话系统,我们可以用商品最终是否购买,来作为奖励目标,这样可以引导对话向着商品成功购买的方向发展,因此可以产生更好的对话结果。目前还有一个最新的工作,是将生成对抗网络,引入对话系统,因为当前对话系统一个很大的问题,是缺乏可靠的自动化评价指标,而对抗生成网络中,我们有一个生成模型,也就是我们的对话生成系统,还有一个判别模型,这个判别模型的目标,是判断这个对话,是机器生成的,还是人写的,这样就引入了一个比较明确的奖励目标,也更接近图灵测试,而连接生成网络和判别网络的桥梁,就是强化学习。因为 NLP 的词,相比图像,是离散的,我们可以借助类似 AlphaGo 中的蒙特卡洛搜索,来采样得到训练样本,送给判别模型。针对第二个问题,强化学习在训练的过程中,生成模型是通过采样产生样本,这个过程和预测是一致的,因此也避免了不一致带来的问题。
综上所述,增强学习在对话系统中有很大的优势。
下面说说他的劣势:
和监督学习相比,强化学习的训练是比较困难的,因为训练的过程很不稳定。而且具体的对话系统中,reward 的奖励一般是基于一个完整的句子,而如何把 reward 奖励分配到具体的词,是一个很大的挑战。而在多轮对话中,reward 一般只出现在最后一轮,如何对前面的几轮对话分配 reward,也同样是一个问题。同时为了稳定强化学习的训练过程,我们不能完全离开监督学习,一般还需要借助监督学习的方法,来做初始化训练,甚至在训练过程中,需要穿插监督学习过程,起到稳定网络的作用。
以上就是增强学习在对话系统中的优劣。
问 :论文中的 pr(Gj=i|j=0) 为什么等于 1/N 呢?也就是在用户不知道第值时,目标是 i 的概率为什么等于 1/N?
答 : 用户不知道第 j 个属性,也就是说,在第 j 个属性上,用户不能提供有效信息。那么我们从属性 j 的角度,看各个实体的时候,实际上是没有什么区别的。因此最保险的方式,就是假设各个实体的概率相等,因此概率是 1/N。
问 :增强学习在 chatbot 中的 reward 函数是否都是根据相应的需求来手动给出,而非学习得来?
答 : 有些是可以手动给出的,例如 Bengio 的 An Actor-Critic Algorithm for Sequence Prediction 这篇论文,就把 BLEU 作为 reward,用于机器翻译模型的训练。reward 也可以学习得来,例如 GAN 应用到对话系统的时候,生成模型的 reward 就是由判别模型给出的,而在对偶学习中,一个模型的 reward 由它对应的对偶模型给出。
2. Dual Learning for Machine Translation作者
Yingce Xia, Di He, Tao Qin, Liwei Wang, Nenghai Yu, Tie-Yan Liu, Wei-Ying Ma
单位
中科大,北大,微软亚研院
关键词
NMT,monolingual data, dual learning
文章来源
NIPS 2016
问题
利用双向 NMT 模型,在少量双语数据,大量单语数据的情况下,如何提高 NMT 的性能。
模型
主要的思想是通过 two-agent communication game,用单语语料和语言模型来提升双向 NMT 的性能。利用 A 语言的单语语料进行学习的 two-agent communication game 过程如下:
- agent1 读入语言 A 的单语句子, 通过 A 到 B 的 NMT 模型转换成语言 B 的句子,并且发送给 agent2。
- agent2 接收到 agent1 发送的语言 B 的句子,通过语言 B 的语言模型 LM_B,给出一个 reward r_1。再通过 B 到 A 的 NMT 模型,将句子转换成语言 A 并且发送给 agent1。
- agent1 接收到 agent2 发送的语言 A 的句子,和最初的单语句子做比较,给出另一个 reward r_2。
那么 r=alpha* r_1+(1-alpha) r_2,agent1 和 agent2 就能根据 reward r 对 A 到 B 和 B 到 A 的 NMT 模型进行学习。
如果用公式表达,这个过程的目标函数就是:
由于 s_mid 的 sample space 无穷大,需要做一些近似来求期望。 文中考虑到 random sampling 会有较大的 variance 和一些不合理的翻译,采用了 N-best 来近似(N=2, 用 beam search 得到)。
整个训练分成 3 个 step:
- 用双语语料,普通的 MLE training 来学习 A 到 B 和 B 到 A 的 NMT 模型,作为 warm start。
- 每一个 minibatch 里面一部分单语语料,一部分双语语料,对双语语料用 MLE 作为目标函数,单语语料用上面的公式作为目标函数;随着 training 的进行,减少双语语料的比例。训练交替地从语言 A 或者语言 B 开始。
- 最后完全用单语语料,通过上面的公式作为目标函数进行训练。
相关工作
这篇文章和 Semi-Supervised Learning for Neural Machine Translation 以及 Neural Machine Translation with Reconstruction 比较相似,都是用双向 NMT 模型来互相学习增强,区别在于这篇引入了语言模型。和 Minimum Risk Training for Neural Machine Translation 也有一定的相关性,相当于 MRT 中的 loss function 用了语言模型和反向 NMT 进行定义。
简评
这篇文章从 reinforcement learning 的角度,将单语语料很好地融入到双向 NMT 的训练中,在使用 10%双语语料的情况下也能取得较好的翻译结果。整体上来说非常有意思,也可以推广到更多的 tasks in dual form。
完成人信息
陈云,香港大学,yun.chencreek@gmail.com。
Chat 实录
问 :论文中的相关工作部分提到了另外两篇 neural machine translation 的相关工作,请问作者可否简单介绍一下那两个模型的主要方法呢?以及它们和 dual learning 的最大区别。
答 : 另外两篇论文分别是 semi-supervised Neural Machine Translation 以及 Neural Machine Translation with Reconstruction。 semi-supervised 这篇是利用 autoencoder,将源端和目标端的单语语料引入,进行双向 NMT 联合训练;reconstruction 这篇,是在普通 MLE 目标函数的基础上,增加了从目标端的 hidden state 重建源句子的概率这一项。首先我谈一下他们的区别。
出发的角度不一样:
- semi-supervised:如何将 source 和 target 端的单语语料引入,通过双向 NMT 提高 NMT 的性能。
- recosntruction:解决 translation adequacy 的问题,避免翻译的句子太短或者重复翻译某一部分。利用双向 NMT 优化原来的 MLE 目标函数。
- dual learning:在少量平行语料,大量单语语料的情况下,如何利用双向 NMT 提高 NMT 的性能。
语料需求不一样:
- semi-supervised: source,target 端的单语语料,文中实验双语语料比单语语料多。
- reconstruction: 没用单语语料。
- dual learning: 10%的双语语料,大量单语语料。并且用了预先用单语语料训练好的语言模型。
解释的角度不一样:
- semi-supervised: 双向 NMT 联合训练,目标函数包括两个方向的 MLE,以及 source&target autoencoder 的 reconstruction probability。
- reconstruction: 目标函数在普通的 MLE 基础上增加了由 reconstructor 定义的 reconstruction probability。
- dual learning: 基于 policy gradient 的增强学习。用 two agents play games 这样的形式来解释。
而他们也有一些相同的地方:
都是用双向 NMT 来提高普通 MLE 训练的单向 NMT 的性能。reconstruction 一篇相当于在原来的目标函数上加了 reconstruction error,由于只用了双语语料,所以目标句子 y 是已知的。而 semi-supervised 和 dual learning 都会处理单语语料。在处理源端单语句子时,目标端的 y 是未知的。这二者都可以看成是一种句子级别的模型,通过正向的 NMT 产生一些句子来近似整个目标端输出空间,然后通过反向 NMT 给出句子的 feedback(dual learning 同时用了 LM 给出的 feedback)。
大家可以对比一下他们的目标函数,能够比较明显地看出区别和联系来。
问 :可以用 dual-learning 这样的 framework 来解决的其他问题吗?
答 : 有很多 dual tasks 都可以用这个框架,比如 speech recognization & text to speech, Image captioning & Image generation, Question answering & Question generation, 还有 Query-document matching & Query/keyword suggestion。这篇文章之前 MSRA 的和有在斗鱼上直播过,大家可以看一下。
问 :Dual Learning 中语言模型 LM 没看到在那里有详细的说明?刚才说的 Autoencoder,是在哪里提到的呢
答 : 语言模型在文章中的第四页第二段可以看到:“This middle step has an immediate reward r1 = LMB(smid), indicating how natural the output sentence is in language B.” Reward 包括 r1 和 r2, r1 就是语言模型给的 reward。 语言模型是用单语语料提前训练好的,在 NMT 的整个 training 过程中固定不变。
Autoencoder 在 dual learning 这篇没有提到,是在 semi-supervised 那篇提到的。
问 :请问 dual learning 和 GAN 是否有相似之处 还是完全不相关的两种思路
答 : 是有相似之处。作者之一秦涛在斗鱼直播有提到,GAN 在某种程度上可以看成是 dual learning 的一种特殊情况。将 generator 看成是 primal task,discriminator 看成是 dual task, 通过 f 和 g 共同学习来互相增强。dual task 主要是为了给 primal task 提供 feedback。个人觉得 dual learning 和 GAN 最大的区别在于对 discriminator 的定义不一样,GAN 定义成分类问题,而 dual learning 定义的是一个重建问题。
问 :论文中的算法提到了一个参数 alpha,它的意义是什么呢?是需要手动调参还是一个机器学习优化得到的参数呢?
答 : 这个 alpha 其实是 LM reward 跟反向 NMT reward 的一个 trade-off,是手动调的。 文章后面有写,设置成 0.005 能取得较好的效果。
问 :reconstruction error 以前常见于投影 project 重建 rebuild,或者是编码重建 encode/decode。图像上,一般常用 residual 来表示,例如子空间算法,KSVD 分解等等。这种对偶重建的方法,有没有可能发展成一种泛化的投影重建?
答 : 我觉得你可以尝试一下,图像上的东西不太懂。如果可以做成这种对偶 tasks 的形式,一个 task take 某个 action 的 reward 可以由另外一个 task 给出,应该就可以试试。
3. SQuAD: 100,000+ Questions for Machine Comprehension of Text作者
Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, Percy Liang
单位
Computer Science Department, Stanford University
关键词
Question Answering, Dataset Creation
文章来源
EMNLP 2016
问题
创建一个 large and high quality reading comprehension dataset。
模型
数据收集
用 PageRanks 搜寻出 top 10000 English Wiki articles,然后 uniformly sample 536 articles,做相关数据清洗后得到 23215 paragraphs。这部分数据被分成三部分,training set(80%),development set(10%),test set(10%)。
下一步我们将这些 paragraphs 都放到 Amazon Mechanical Turk 上让用户创建问题以及回答问题。这样我们便得到了一个新的 QA 数据集。
为了评估 human 在这个 QA 数据集上的表现,development set 和 test set 中的每个问题被至少发给了两个额外的 crowdworkers,其中有 2.6%的问题被 crowdworkers 标记为 unanswerable。
数据集分析
我们把答案分成了两部分,numerical 和 non-numerical。对 non-numerical answers 再做一次 constituency parsing 和 POS Tagging,发现答案分布如下图所示。
Baselines
作者做了 sliding window baseline 和 logistic regression baseline,用 accuracy 和 F1 Score 做评估。结果如下图所示。
资源
在可以看到所有 dataset 的信息,test set leaderboard 上有各种 Model 的 performance。
相关工作
Question Answering 方面的 dataset 有不少,最近比较 popular 的有:MCTest by Microsoft,BAbI dataset by Facebook,WikiQA by Microsoft,CNN/Daily Mail by DeepMind, Children’s Book Test by Facebook。有兴趣的读者可以查阅相关文献。
简评
SQuAD 是一个高质量的 Reading comprehension dataset。作者花费了大量的人力物力,让 Crowdworkers 根据 Wikipedia Paragraph 出题和答题。构建的 dataset 数量巨大且质量高,对未来 Reading Comprehension Question Answering 的研究非常有帮助。
完成人信息
Zewei Chu,The University of Chicago,zeweichu@gmail.com。
Chat 实录
问 :请介绍一下这个 reading comprehension dataset 和其他 dataset 之间的主要区别?以及该 dataset 的优势是?
答 : 这篇 paper 相对于前面两篇内容简单一些,主要就是介绍了一个新构建的 QA 数据集。所以我和大家交流分享一下我比较熟悉的最近一些比较 popular 的 QA Dataset 吧。
MCTest: 数据集本身质量不错,像普通的阅读理解,是根据一篇文章提出问题,然后在给定的四个选项中选出一个。但是数据集太小,现在比较主流的 RC model 都是基于 deep learning 的,数据量太小很难让 model 学习到有用的信息。所以个人认为小数据集上的 Model 多少会给人一种强凑答案的感觉。
CNN/Daily Mail, CBT: 这个数据集我比较熟悉,数据集比较大,也是比较火的一个数据集。问题的答案只是一个单词或者一个 entity,SQuAD 的答案有比较长的 phrase。the entities are anonymized。在 anonymized dataset 上训练的一个问题是,容易训练出没有 semantics 的模型来。因为训练集上的参考答案都是 entity1,entity2,到了真实情况下碰到很大的 vocabulary 模型未必 work。
安利一下,分析了一下几个在 CNN/DM/CBT 上面比较好的几个模型 attention sum/gated attention sum/stanford reader 其实本质是差不多的。然后 stanford reader 虽然在这个数据集上效果很好但是一旦数据集不 anonymize 就很容易不 work 了。
WDW dataset:Passage: 直接给一个例子。
Britain’s decision on Thursday to drop extradition proceedings against Gen. Augusto Pinochet and allow him to return to Chile is understandably frustrating … Jack Straw, the home secretary, said the 84-year-old former dictator’s ability to understand the charges against him and to direct his defense had been seriously impaired by a series of strokes. … Chile’s president-elect, Ricardo Lagos, has wisely pledged to let justice run its course. But the outgoing government of President Eduardo Frei is pushing a constitutional reform that would allow Pinochet to step down from the Senate and retain parliamentary immunity from prosecution. …
Question: Sources close to the presidential palace said that Fujimori declined at the last moment to leave the country and instead he will send a high level delegation to the ceremony, at which Chilean President Eduardo Frei will pass the mandate to XXX.
Choices: (1) Augusto Pinochet (2) Jack Straw (3) Ricardo Lagos
还有一个 dataset 叫 wiki QA 我也没有在上面实验过,也给一个例子。
Question: Who wrote second Corinthians? Second Epistle to the Corinthians The Second Epistle to the Corinthians, often referred to as Second Corinthians (and written as 2 Corinthians), is the eighth book of the New Testament of the Bible. Paul the Apostle and “Timothy our brother” wrote this epistle to “the church of God which is at Corinth, with all the saints which are in all Achaia”.
个人觉得 open domain 以及需要 external knowledge 的 QA DATASET 其实很难,但是很重要,因为可以应用在其他更多的方面。
另外提一个 LAMBADA dataset,虽然他的问题是 last word prediction,不过我们发现用 reading comprehension models 也可以做出很好的效果。详细信息可以看。
facebook 有个 babi dataset,
需要一些 logical thinking,facebook 自己搞了一些 memory network 的模型在上面效果比较好,但是其实我觉得 memory network 和 attention 模型非常相似。
至于本文构建的 squad dataset 主要的特点就是答案可能比较长,而且不给候选答案,所以难度应该会大一些 数据集的质量也比较高,因为都是人工出的问题和标准答案,数据量也很大,容易训练处有用的模型。
个人认为构建大的,有意义的数据集对于 QA 的工作是很关键的。现在还是比较缺乏能够推广到实际生活中的问题的 QA 模型。
我大致就分享这一些。给想做 QA 方面问题的同学一点参考。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论