目录
摘要
获取问题和答案之间的语义关联是答案选择的一项具有挑战性的任务。 本文将卷积神经网络(CNN)与摘要提取方法相结合,提出了一种混合答案选择模型。 在该模型中,从具有多个特征的文本中提取答案摘要,并将其与问题一起发送到CNN,以获得简洁有效的语义表示。 与以往的深层模型不同的是,该模型去除了不相关的信息,为问答生成了更好的表示,这对于非事实问答是必要的。 在两个数据集InsuranceQA和AgrtureQA上的实验结果表明,该模型的性能优于其他单一深度模型。
一、介绍
非事实问答系统的典型框架:
问答的过程一般包括三个步骤:
-step1: 问题分析, 获取句子成分信息和潜在答案的类别
-step2: 文件提取, 根据信息提取可能包含答案的文件, 并将其进行排序
-step3: 答案选择, :从候选文档中选择可用的答案并将其返回给用户.
本文论文主要专注于答案选择任务
答案选择任务: 给定一个问题Q和该问题答案的候选池, 目的是找到最佳的答案
, 其中
.
一个答案是一个任意长度的序列, 一个问题可以对应多个真实的答案.
非事实性问题的答案充满杂音,并且包含许多不 相关的信息, 这会影响答案文本语义的完整性. 论文提出一种混合答案选择模型, 该模型结合了CNN和传统抽象提取方法来捕获问题和答案之间的语义关系.
二、模型介绍
1、基于CNN的答案选择模型
该方法在论文Feng M, Xiang B, Glass M R, et al. Applying Deep Learning to Answer Selection: A Study and An Open Task[J]中提出.在CNN模型的卷积层之前添加了隐藏层, 以增强对输入词向量的表达. 问题和答案共享网络中的参数, 以便可以在相同的语义空间中对它们进行比较.
HL被定义为
经过池化和激活操作后,获得问题和答案的语义表达, 最终输出的是这些向量之间的余弦相似度. 通过余弦相似度测量的最匹配文本被选为最佳答案.
2、混合答案选择模型
问题的长度要比答案的长度短的多, 论文使用文本的特征来提取概要信息:第一个句子(ST),最后一个 句子(SP)和关键句子(KEY). 大部分情况文本的第一句话反映了文本的主题, 答案的最后一句话是总结. 提取ST和SP之后, 使用TextRank提取剩余文本的摘要.
总体流程图:
TextRank
TextRank是基于图的文本排序算法. 表示为, 图G由节点V和边E组成. E的V*V大小的子集. 给定一个节点
(节点均由句子组成),
是指所有指向
的节点集合,
指
指向的所有节点集合,
是连接
和
边的权重.
的分数定义为:
这里的d是阻尼系数范围(0~1),作用是将从当前节点
随机跳到另一个节点的概率整合到模型中.
为了讲解TextRank需要先介绍PageRank:
TextRank是根据PageRank改进的.
PageRank的方法: 假设我们有4个网页——w1, w2, w3, w4. 这些页面包含指向彼此的链接. 有些页面可能没有链接, 这些页面被称为悬空页面.
webpage | links |
w1 | [w4, w2] |
w2 | [w3, w1] |
w3 | [ ] |
w4 | [w1] |
- w1有指向w2、w4的链接
- w2有指向w3和w1的链接
- w4仅指向w1
- w3没有指向的链接,因此为悬空页面
为了对这些页面进行排名, 必须计算一个称为PageRank的分数. 这个分数是用户访问该页面的概率.
为了获得用户从一个页面跳转到另一个页面的概率, 将创建一个正方形矩阵M, 它有n行和n列, 其中n是网页的数量.
概率初始化的步骤:
1. 从页面i连接到页面j的概率,也就是M[i][j],初始化为1/页面i的出链接总数wi
2. 如果页面i没有到页面j的链接,那么M[i][j]初始化为0
3. 如果一个页面是悬空页面,那么假设它链接到其他页面的概率为等可能的,因此M[i][j]初始化为1/页面总数
因此在本例中,矩阵M初始化后如下:
w1 | w2 | w3 | w4 | |
w1 | 0 | 0.5 | 0 | 0.5 |
w2 | 0.5 | 0 | 0.5 | 0 |
w3 | 0.25 | 0.25 | 0.25 | 0.25 |
w4 | 1 | 0 | 0 | 0 |
最后,这个矩阵中的值将以迭代的方式更新,以获得网页排名。
TextRank算法
- 用句子代替网页
- 任意两个句子的相似性等价于网页转换概率
- 相似性得分存储在一个方形矩阵中,类似于PageRank的矩阵M
获取答案句子摘要的步骤:
1) 预处理:将输入文本的内容分为句, 尽可能减少文本数据的噪声对文本进行清洗(包括移除标点符号、数字、特殊字符,统一成小写字母). 去掉句子中出现的停用词(一种语言的常用词——is,am,of,in等). 获得
其中的t是保留后的候选关键字. 将句子中的词转化为词向量, 论文实验中使用的方法是word2vec, 然后计算每个句子中所有单词的平均向量作为该句子的特征向量.
2) 句子相似度计算: 使用句子之间的相似性来构建图G中的边集E, 给定两个句子,相似度可以通过下列公式进行计算:
如果两个句子之间的相似度大于给定的阈值, 则认为这两个句子在语义上相关并且在图中将其连接在一起
3) 句子权重计算:根据公式, 使用迭代权重计算每个句子的分数.
4) 句子提取: 根据得分将句子进行排名
5) 摘要表达:根据句子要求的数量(比如选取排名前三的句子作为摘要),提取句子作为最终的摘要KEY
结合第一句ST, 关键句KEY和最后一句SP作为原始答案文本的摘要, 我们得到摘要S:
答案汇总模型会删除答案文本中的多余信息, 并提取出反映文本主题的关键句子.
我们将CNN和答案摘要模型结合起来以捕获问题和答案之间的语义关系:
三、实验
论文使用两个数据集来检测混合模型的性能, 数据集信息如下表所示:
对于每个训练步骤, 输入一个问题Q和两个答案(正确答案)和
(否定答案). 从整个答案空间中采样
. 深度学习框架为问题和两个候选项生成向量表示:
,
和
. 计算余弦相似度
和
并将两个相似度之间的距离与边距m进行比较, 则损失函数为:
. 如果
,则不会更新参数,否则将更新参数, 直到满足此条件. 随机梯度下降法被用作优化方法.
随机抽取了500个答案(包括正确答案)作为答案库. 我们计算问题Q和池中每个候选答案之间的选择具有最大余 弦相似度的候选答案.