一、概要
  该文章发于ACL 2015,作者提出了一个基于Freebase,使用multi-column convolutional neural networks(MCCNNs)的自动问答模型,分别从答案路径(answer path), 答案背景信息(answer context), 以及答案类型(answer type) 来理解问题,并学习它们的分布式表示(distributed representations),在不使用任何手动特征及词表等条件下在问答数据集WEBQUESTIONS 上取得了很好的结果。

二、模型方法
2.1 模型简介
  假设存在问题 q=w1...wn
,作者使用 Freebase Search API来找到问题中的命名实体,如果问题中不含有任何命名实体或者名词,那么就使用返回最相关的一个命名实体,然后使用其在知识库中悬着候选答案,所有的2-hops 节点的实体和关系都视为候选答案,表示为 Cq

  然后基于每一个候选答案a,根据模型训练得到的答案路径(answer path), 答案背景信息(answer context), 以及答案类型(answer type) 的vector representations,以及分别对应的问题的vector representations,即: f1(q)f2(q)f3(q)
,最后根据S (q, a)才选出答案,计算方法为:

S(q,a)=f1(q)Tg1(a)+f2(q)Tg2(a)+f3(q)Tg3(a)

  其中 fi(q)gi(a)
的维度相同,它们的计算方式为內积,最后把三项相加而得。

2.2 MCCNNs for Question Understanding
  MCCNNs使用了三个管道来学习问题表示和word embeddings,分别对应答案路径,答案背景信息, 以及答案类型。假设存在问题 q=w1...wn
,把每个词使用lookup转为词向量,即: wj=Wvu(wj)
WvRdv×|V|
u(wj)
{0, 1}^ |V|
为词 wj
的one-hot representation,|V|为词表大小。
  那么对于MCCNNs的第i个通道,表示问题q的n个向量的第j个的计算方法为:

x(i)j=h(W(i)[wTjs...wTj...wTj+s]+b(i))

其中(2s + 1)为滑窗大小, W(i)Rdq×(2s+1)dv
为卷积层的权重矩阵, b(i)Rdq×1
为偏置向量,h (·) 为非线性函数,这里与text-cnn稍微有一点点不同,这里每个卷积计算后得到的是维度为 dq
的向量。最后再Max-pooling层得到MCCNNs第i个通道的向量表示,即:

fi(q)=maxj=1,...,n
{ x(i)
}

2.3 Embedding Candidate Answers
  对于每个候选答案a,其三方面的Vector representations分别表示为: g1(a),g2(a),g3(a)
,其学习方式分别如下:
   ①Answer Path,答案路径表示为知识库中候选答案与问题中的实体节点之间路径上的所有关系(relation)集合,如上图的答案路径为:(film.film.release date s,film.film regional release date.release date),其ector representation g1(a)
计算方式为:

g1(a)=1||up(a)||1Wpup(a)

  其中 up(a)R|R|×1
为维度大小为|R|的向量,即如果在这个某个实体关系出现了,那么该位置值为1,否则为0,|R|表示关系的个数, WpRdq×|R|
为权值矩阵, ·1
为L1范数,所以这里最终的意思可以解释为所有出现的关系(relation)的embedding的平均。
   ②Answer Context,所有与答案路径直接相连的实体或关系都视为答案上下文背景,其representation的计算方式为:

g2(a)=1||uc(a)||1Wcuc(a)

  其中 uc(a)R|C|×1
为维度大小为|R|的向量,即如果在这里某个实体或关系出现了,那么该位置值为1,否则为0,|C|表示在所有上下文中出现的实体和关系的个数, WcRdq×|C|
为权值矩阵, ·1
为L1范数。
   ③Answer Type ,候选答案的类型是作为问题答案的重要线索,其representation的计算方式为:

g3(a)=1||ut(a)||1Wtut(a)

  其中 ut(a)R|T|×1
为维度大小为|R|的向量,即如果在这个某个实体关系出现了,那么该位置值为1,否则为0,|T|表示在所有类型的种类个数, WtRdq×|T|
为权值矩阵, ·1
为L1范数。
2.4 Model Training
  在训练集中,对于问题q的每一个正确答案 aAq
(一个问题的正确答案可能不止一个),随机在候选答案 Cq
中选择k个错误的答案 a
,其loss函数可以构造为:

l(q,a,a=(mS(q,a)+S(q,a)+

  其中m为margin parameter, (z)+
= max{0, z},那么最终的loss函数可以表示为:

minq1|Aq|aAqaRql(q,a,a

  其中 |Aq|
表示每个问题正确答案的个数。
  因为对于每一个问题,其对应的正确答案可能不止一个,所以设定了阈值m,即loss函数中的margin parameter,当通过下列公式来判别是否选为正确答案:

{ Aq
={ a|aCq
and max{ S(q,a)−S(q,a) <m }

三、实验结果


  如上图,可以看出作者提出的深度学习MCCNNs模型,其获得的结果超过了当时众多学者的结果。同时作者对不同的通道做了对比,如下左图是分别去掉相应条件下取得的结果,可以发现answer path的信息是最重要的,因为其充分获取了问题和候选答案之间的信息,而answer context处理的信息太多,所以引入的噪声相对也多,

  上图左是作者基于学到的问题表示f(q),计算问题中每个词的重要性,例如存在问题 q=wn1
,其中第j个词 wj
的重要性计算方法为:

ei(wj)=||fi(wn1)fi(w1wjwj)||2

  其中 wj
为替换掉 wj
的词,常用is, to, a等停用词表示,从结果可以看出以wh-开头的词比较重要,另外依靠于wh-词汇的动词和名词也比较重要。下图是作者使用不同通道的问题表示f(q),根据每个问题的余弦值计算相近问题得到的结果。

四、结论与思考
  作者提出的multi-column convo- lutional neural networks (MCCNNs)模型,通过三个通道来分别针对答案路径(answer path), 答案背景信息(answer context), 以及答案类型(answer type) 来学习理解问题,在数据集WEBQUESTIONS 上取得了很好地结果,作者基于结果对模型出现错误的地方进行了一下分析:
  ①Candidate Generation,由于使用Freebase Search API返回的候选答案中可能根本就不存在正确答案的情况,比如有些问题单词使用了缩写形式,所以很难捉住重点信息。
  ②Time-Aware Questions ,时间序列的问题,比如问题:who is johnny cash’s first wife?答案可能会返回第二任妻子的姓名,因为first/second这样的词很难学习到相应的信息。
  ③Ambiguous Questions,问题有时很模糊,甚至有歧义,比如“what has anna kendrick been in”是在询问她演过什么电影,这句话中并没有含有表达其意思的关键词。

五、个人思考
  ①该模型可以说非常充分的考虑到了候选答案的各种信息,并基于深度学习取得了很好地效果,针对于作者后面所做的错误分析是可以突破的一些地方,同时在模型里作者使用的是词向量,可以尝试基于字符向量做一定的改进。

参考文献
  ①Li Dong,Furu Wei,Ming Zhou.Question Answering over Freebase with Multi-Column Convolutional Neural Networks

【论文笔记】Question Answering over Freebase with Multi-Column Convolutional Neural Networks相关推荐

  1. AI医药论文笔记--GraphDTA: Predicting drug–target binding affinity with graph neural networks

    GraphDTA:用图神经网络预测药物-靶点结合亲和力 论文题目 GraphDTA: Predicting drug–target binding affinity with graph neural ...

  2. 【论文解读】Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks

    Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks 论文地址:http://cadlab.c ...

  3. 【论文笔记】Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks

    Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks 引言 创新性 本篇论文的贡献(目的) 算法步骤 实验结果 ...

  4. 论文笔记:Dynamic Scene Deblurring Using Spatially Variant Recurrent Neural Networks

    Dynamic Scene Deblurring Using Spatially Variant Recurrent Neural Networks(利用空间变化循环神经网络对动态场景去模糊) 这是C ...

  5. 论文阅读笔记:Retinal vessel segmentation based on Fully Convolutional Neural Networks

    基于全卷积神经网络的视网膜血管分割 关键词:全卷积神经网络.平稳小波变换.视网膜眼底图像.血管分割.深度学习 摘要 本文提出了一种新的方法,将平稳小波变换提供的多尺度分析与多尺度全卷积神经网络相结合, ...

  6. NBJL 2020论文导读14:How Much Position Information Do Convolutional Neural Networks Encode ?

    论文下载地址:https://openreview.net/pdf?id=rJeB36NKvB 发表时间:2020 会议名称:ICLR 作者:Md Amirul Islam.Sen Jia.Neil ...

  7. 论文翻译:LP-3DCNN: Unveiling Local Phase in 3D Convolutional Neural Networks

    引言 传统的3D卷积神经网络(CNN)计算成本高,内存密集,容易过度拟合,最重要的是,需要改进其特征学习能力.为了解决这些问题,我们提出了整流局部相位体积(ReLPV)模块,它是标准3D卷积层的有效替 ...

  8. 《Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks》论文笔记

    1. 概述 这篇文章中给出了一种叫作SFP(Soft Filter Pruning),它具有如下两点优点: 1)Larger model capacity.相比直接剪裁掉网络中的filters,再在这 ...

  9. 深度模型压缩论文(01)- Meta Filter Pruning to Accelerate Deep Convolutional Neural Networks

    文章目录 1.摘要和介绍 1.1摘要部分 2.背景和方法 2.1 背景 2.2 贡献 2.3 方法 3.实验和结果 3.1 实验 3.2 结果 4.总结和展望 4.1 总结 4.2 展望 本系列是在阅 ...

最新文章

  1. 所有mysql变量都以 开头对不对_PHP复习题(选择题)
  2. 【转】什么是“对用户友好”
  3. Mysql8.0.16 only_full_group_by
  4. 将图片转换成16进制的代码
  5. 在 JQuery Mobile 中实现瀑布流图库布局
  6. (王道408考研操作系统)第四章文件管理-第一节7:文件共享
  7. 利用socket转发和反弹端口技术突破防火墙进入内
  8. C++隐式类类型转换
  9. css的list,CSS List 入门教程
  10. Perl教程-2.环境的安装
  11. android检测cup温度工具,Android如何实现获取手机CPU的温度?
  12. 全景krpano相关问题解答
  13. python动物专家系统_动物识别专家系统 实验报告
  14. CG共轭梯度下降法【学习笔记、例题与代码】
  15. Android项目,library中根据资源id获取资源
  16. 教你看懂晦涩的5G英文缩写-初学者篇
  17. echarts如何在json地图上设置多种颜色的点位和自定义背景弹出框
  18. KRFKKFFKKVKKSVKKRLKKIFKKPMVIGVTIPF-NH2|1818372-26-7
  19. Advanced Installer 19.2 Crack
  20. sas r python培训

热门文章

  1. 家用摄像机告知你“第三只眼睛”的重要性
  2. 人工智能工程师第七期-AI100-专题视频课程
  3. Eclipse如何从官网获取历史版本
  4. 华为路由器交换机eNSP配置命令
  5. 支持向量机用于多分类
  6. webApp开发-等额本息试算
  7. 模拟频率、数字频率、模拟角频率之间的关系
  8. 关于阿里云个人用户选择阿里云服务器配置说明
  9. python爬取百度搜索_使用Python + requests爬取百度搜索页面
  10. 根据贷款还款方式(等额本金,等额本息,等本等息,先息后本),计算本息