语料主要来源于人民日报和儿童童话。论文地址。数据集下载地址。图1展示了从人民日报提取的样本案例。
图 1 从人民日报提取的样本案例
从图1中可以看出,文档包含了序号1~10
的句子,每个句子以“|||”
开头,最后一个句子为问题和答案,问题与答案用“|||”
分割,如图1的序号11
的句子,“策略”即为前面句子的答案。
同时,HTL-RC数据集要求在文章中随机选择一个词作为答案,这个词必须为名词,且在文中至少出现两次;那么显然,包含这个答案的句子就为问题,且问题的来源是直接摘抄自文档中的一句话。
为了保证数据的多样性,HTL-RC数据集同时还收集了儿童童话故事作为语料之一,儿童童话故事主要由动物故事或虚拟角色故事组成,这使得我们无法利用训练数据中的性别信息和大量背景知识,这对于解决多种类型的问题是很重要的。同时针对儿童童话故事语料,人工生成测试集,在实验中这比基于人民日报语料机器自动生成测试集要更难一些,因为自动生成的测试集可能更倾向于生成那些单词共现或固定搭配的句子,因此当这种搭配出现在问题的答案(在问题中答案用空格隐去)附近时,机器更容易识别正确答案。而在建立人共制造的测试集时,我们已经消除了这些类型的样本,这使得机器更难理解。直观地说,人工生成的测试集比先前发布的填空式风格的测试集都要难。
图2 展示了HFL-RC数据集的统计信息
图 2 HFL-RC数据集的统计信息
1 CAS Reader模型(Consensus Attention Sum Reader)CAS Reader模型将文档-问题-答案转化成三元组<D, Q, A>
,模型主要受Kadlec的文献2启发,但CAS Reader模型考虑到了每个t时刻的RNN节点的输出,并从中挖掘相关联的信息,而不是仅仅考虑RNN层最后的输出。
模型主要步骤如下:
1、将文档D
和问题Q
分别用one-hot向量
表示,并拼接两个向量;
2、文档D
和问题Q
共享嵌入层权值W_e
。由于问题通常比文档短,通过共享文档和问题的嵌入层权值,可丰富问题的表示。
3、模型使用了两个双向RNN分别训练文档和问题的向量表示并拼接,训练后得到的向量表示就已经包含了过去和未来的上下文信息,计算公式如下所示。
4、文档向量表示为h_doc
,问题向量表示为h_query
,向量为3维张量。现在对于问题,模型计算在t
时刻,每个文档单词的重要性,即注意力。计算公式如下所示。
其中h_query(t)
表示t时刻问题的向量表示,计算其与h_doc
的点积,使用softmax函数
得到t时刻问题对文档的注意力分布a(t)
,a(t)
还可以表示为a(t)=[a(t)_1, a(t)_2, …, a(t)_n]
,其中a(t)_i
表示在t
时刻,文档中第i
个词的注意力值,n
为文档单词个数。
5、合并问题的注意力分布,得到文档的最后注意力值s
,计算公式如下所示。
其中m
表示问题的单词个数,f
表示合并函数,模型定义了三种合并函数,函数表示如下所示。
6、计算单词w
是答案的条件概率
文档D
的单词组成单词空间V
,单词w
可能在单词空间V
中出现了多次,其出现的位置i
组成一个集合I(w, D)
,对每个单词w
,我们通过计算它的注意力值并求和得到单词w
是答案的条件概率,计算公式如下所示。
CAS Reader模型结构图如图3所示。
图 3 CAS Reader模型结构图
共同学习,写下你的评论
评论加载中...
作者其他优质文章