【论文笔记】Question Answering with Subgraph Embeddings
一、概要
该文章发于EMNLP 2014,作者提出了一个基于Freebase,根据问题中的主题词在知识库中确定候选答案,构建出一个模型来学习问题和候选答案的representation,然后通过这些representation来计算问题和候选答案的相关度来选出正确答案,在不适用词表、规则、句法和依存树解析等条件下,超越了当时最好的结果。
二、模型方法
2.1 数据简介
假设每给一个问题都含有相应的回答,并且在知识库中存在结构化的答案,本文使用了WebQuestions数据集以及Freebase知识库。除此之外,作者还剔除了Freebase中包含出现频率低于5次实体的三元组,得到一个知识库子集,其中包含了14M个三元组、2.2M个实体和7K关系,然后基于每一个三元组,(例如:subject,type1.type2.predicate, object),通过自动化的方式生成问题答案对:Quesiton:“What is the predicate of the type2subject?” Answer:object。例如:
另外作者根据前人的做法,基于在ClueWeb上提取到的2M个三元组(例如:subject, “text string”, object),通过简单的模板将三元组变换为问题,例如:Where barack obama was allegedly bear in?” (hawaii)。基于这些方法,作者扩建到了一个新的数据集。同时构建的部分数据不是真实数据,为了使得训练的模型更加贴近真实数据,作者在WikiAnswers中提取了2.2M个问题,然后把这些问题350k个类,后面训练模型时也使用这些数据进行训练,因为每一类的问题意思是相近的,所以我们的目的是训练的模型得到想同类的问题之间评分尽可能的高。
2.2 Embedding Questions and Answers
本文的目的是通过模型学习问题中出现的单词和Freebase的实体和关系类型映射到低维的Embedding,使得问题和相应的答案在联合Embedding空间中彼此接近。
假设存在问题q以及候选答案a,假设模型学到了它们的representation后,那么我们可以通过函数 S(q,a)来计算它们的得分,如果它们是匹配的,那么分数则高,反之则低,计算方式如下:
其中q和a都是由单词或者符号组成,假设存在矩阵 W∈Rk×N
,k为embedding的维度大小, N=NW+NS
, NW
表示单词的个数, NS
表示实体和关系的个数,通过函数 f(q)=Wϕ(q)
将问题映射到空间 RK
,其中 ϕ(q)∈NN
是一个稀疏向量,表示每个单词在问题q(通常为0或1)中出现的次数,可以发现这本质上就是一个词袋模型(Bag-of-words model)。
同样 g(a)=Wφ(a)
将答案映射到空间 RK
, φ(a)∈NN
是答案的稀疏向量表示,但是在构建大难的向量表示时存在三种方法,分别为:
①Single Entity。因为每一个答案都是一个知识库中的实体,那么可以使用one-hot的表达,即 φ(a)
表示该答案实体所在位置为1,其他为0的表达方法,但是很明显这个方法很难把答案的蕴含信息传到输入空间中。
②Path Representation。即通过问题的实体在知识库中找到对应节点,然后考虑一跳或者两跳节点作为答案( 如(barack obama, people.person.place of birth, honolulu) 是1-hop ,(barack obama, people.person.place of birth, location. location.containedby, hawaii)是2-hop),考虑该路径上的实体关系实体以3-hot或者4-hot的形式作为输入向量进行表示。
③Subgraph Representation。这里即对上面的第二种方法记性encode,又对于每一个候选答案对应的属性和关系也加进来,即知识库子图,同样也在1跳或2跳范围,同时为了区别路径和子图的不同,这里对实体和关系进行双倍表示,即: N=NW+2NS
,即输入向量维度为N,假设该子图包含C个实体和D个关系,那么最终的表达是一种3+C+D-hot或者4+C+D-hot的表达。
2.3 Training and Loss Function
在训练模型时,假设讯在训练集D={ (qi,ai)
,…},本文定义margin-based ranking损失函数为:
其中头顶带帽的表示负样本,负样本怎么来的呢?本文使用的是构造负样本,一半是与问题实体相连的其它路径,另一半是随机选择的,我们的目标是最小化这个损失函数。
在上面的基础上,作者在之前提到的在WikiAnswers中提取了2.2M个问题进行分类后,进行一个多任务学习(multi-task),这个目标就是让同一个类的问题得分较高,即 s(q1,q2)=f(q1)⊤⋅f(q2)
,这里的训练方式和上面的方法是一样的。
三、实验结果
作者通过公式s(q,a)得分选择是个候选答案,然后在根据一跳还是二跳给与不同的权值,一跳为1.5,二跳为1,当然超过二跳的候选答案直接排除,最后再选出得分最高的作为最终的答案。
四、结论与思考
本文提出了embedding模型,利用训练数据中的问题答案对以及知识库进行向量建模,在几乎不需要任何手工定义的特征(hand- crafted features),也不需要借助词汇映射表,词性标注,依存树等条件下取得了当时很好的效果。
五、个人思考
①在本文的向量建模方法,在某种程度上是使用了词袋模型的思想,而词袋模型最大的弊端就是忽略的词汇的顺序性和权重,但是本文利用映射的方法解决了权重的问题,并取得效果。
参考文献
①Antoine Bordes,Sumit Chopra,Jason Weston。Question Answering with Subgraph Embeddings
【论文笔记】Question Answering with Subgraph Embeddings相关推荐
- 跑论文Unsupervised Question Answering by Cloze Translation的实验遇到的bug以及解决方法
前言 花了3~4天,其实不止,也可以说没有那么久,因为前期没有实验环境的时候熟悉了下ubuntu的用法啥的,然后跑这个论文代码的时候也是停停歇歇的,因为服务器要用我师姐的账号联网,但是我师姐也要用,还 ...
- 记,远程pycharm调试论文Unsupervised Question Answering by Cloze Translation的实验遇到的神之奇怪bug
背景 项目地址:https://github.com/facebookresearch/UnsupervisedQA 我服务器是把这个项目跑起来了的,然后老师说要把代码给搞懂,然后问了下师兄,说走远程 ...
- 论文略读 | Question Answering on Knowledge Bases and Text using Universal Schema and Memory Networks
文章创新点: 使用文本和KB组合的通用模式,结合记忆网络来完成问答 提出模型: UNISCHEMA 提出原因: 知识库问答会受到不完整性的影响,文本虽然包含大量事实,但是存在非结构化文本,将KB和文本 ...
- 视频问答与推理(Video Question Answering and Reasoning)——论文调研
文章目录 0. 前言 1. ACM MM 2. CVPR 3. ICCV 4. AAAI 更新时间--2019.12 首稿 0. 前言 学习 VQA 的第一步--前期论文调研. 调研近几年在各大会议上 ...
- Check It Again: Progressive Visual Question Answering via Visual Entailment 论文笔记
Check It Again: Progressive Visual Question Answering via Visual Entailment 论文笔记 一.Abstract 二.引言 三.R ...
- WeaQA:Weak Supervision via Captions for Visual Question Answering 论文笔记
WeaQA:Weak Supervision via Captions for Visual Question Answering论文笔记 一.Abstract 二.引言 三.相关工作 3.1 VQA ...
- Hierarchical Graph Network for Multi-hop Question Answering 论文笔记
Hierarchical Graph Network for Multi-hop Question Answering 论文笔记 2020 EMNLP,Microsoft 365, 这篇文章所提出的层 ...
- Visual Question Answering with Textual Representations for Images 论文笔记
Visual Question Answering with Textual Representations for Images 论文笔记 一.Abstract 二.引言 三.方法 3.1 Lang ...
- LPF: A Language-Prior Feedback Objective Function for De-biased Visual Question Answering 论文笔记
LPF: A Language-Prior Feedback Objective Function for De-biased Visual Question Answering 论文笔记 一.摘要 ...
最新文章
- Caffe在Ubuntu 14.04 64bit 下的安装------pycaffe 配置
- java 获取第一帧_java获取视频的第一帧
- Alpine Linux 使用简介
- vue2.0笔记《二》组件
- DOM树-Render树-RenderLayer树 对应关系
- HttpClientFactory 结合 Polly 轻松实现重试机制
- Final Michael Scofield
- 潘石屹接连带货 Python,要来抢我们的饭碗?
- python去掉html标签_python 去除html标签的几种方法
- Segmentation and Paging
- java布尔类型的调用_【Java学习笔记之八】JavaBean中布尔类型使用注意事项
- windows下安装Keras(CPU版)
- LaTeX中的魔法注释
- 从Q_Learning看强化学习
- 网站导航应该怎么设计?
- LoRa SX1278通信代码开发学习
- 重拾Java基础知识:IO流
- DS18B20读取温度
- 单招计算机英语面试口语,英语面试口语对话技巧:教育背景
- 中学生计算机制作大赛,【崇德尚学 和雅金中】热烈祝贺金沙中学在2019年南海区中学生电脑制作活动中硕果累累!...
热门文章
- 记毕业季——回忆四年大学,青春无悔【正能量】
- 情人节程序员用HTML网页表白【爱心_文字音乐告白】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- 20200414-AMD的Ryzen5-4500U的性能对比测试(宏碁SF314(Acer)传奇 14英寸 )
- 渲染字幕libass
- 苹果手机如何下载考拉解析app
- 【PBR系列一】PBR知识体系
- testflight怎么做版本更新_TestFlight
- 计算机网络专业以后装网线,一种便于安装的计算机网络用网线安装盒的制作方法...
- 如何避免扫码枪重复扫码
- 沃尔玛全球最便宜的10美元智能机评测报告