一、概要
该文章发于ACL 2015,作者提出了一个基于Freebase,使用multi-column convolutional neural networks(MCCNNs)的自动问答模型,分别从答案路径(answer path), 答案背景信息(answer context), 以及答案类型(answer type) 来理解问题,并学习它们的分布式表示(distributed representations),在不使用任何手动特征及词表等条件下在问答数据集WEBQUESTIONS 上取得了很好的结果。
二、模型方法
2.1 模型简介
假设存在问题
然后基于每一个候选答案a,根据模型训练得到的答案路径(answer path), 答案背景信息(answer context), 以及答案类型(answer type) 的vector representations,以及分别对应的问题的vector representations,即:
其中
2.2 MCCNNs for Question Understanding
MCCNNs使用了三个管道来学习问题表示和word embeddings,分别对应答案路径,答案背景信息, 以及答案类型。假设存在问题
那么对于MCCNNs的第i个通道,表示问题q的n个向量的第j个的计算方法为:
其中(2s + 1)为滑窗大小,
2.3 Embedding Candidate Answers
对于每个候选答案a,其三方面的Vector representations分别表示为:
①Answer Path,答案路径表示为知识库中候选答案与问题中的实体节点之间路径上的所有关系(relation)集合,如上图的答案路径为:(film.film.release date s,film.film regional release date.release date),其ector representation
其中
②Answer Context,所有与答案路径直接相连的实体或关系都视为答案上下文背景,其representation的计算方式为:
其中
③Answer Type ,候选答案的类型是作为问题答案的重要线索,其representation的计算方式为:
其中
2.4 Model Training
在训练集中,对于问题q的每一个正确答案
其中m为margin parameter,
其中
因为对于每一个问题,其对应的正确答案可能不止一个,所以设定了阈值m,即loss函数中的margin parameter,当通过下列公式来判别是否选为正确答案:
三、实验结果
如上图,可以看出作者提出的深度学习MCCNNs模型,其获得的结果超过了当时众多学者的结果。同时作者对不同的通道做了对比,如下左图是分别去掉相应条件下取得的结果,可以发现answer path的信息是最重要的,因为其充分获取了问题和候选答案之间的信息,而answer context处理的信息太多,所以引入的噪声相对也多,
上图左是作者基于学到的问题表示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”是在询问她演过什么电影,这句话中并没有含有表达其意思的关键词。
五、个人思考
①该模型可以说非常充分的考虑到了候选答案的各种信息,并基于深度学习取得了很好地效果,针对于作者后面所做的错误分析是可以突破的一些地方,同时在模型里作者使用的是词向量,可以尝试基于字符向量做一定的改进。