热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

论文浅尝|利用KGEmbedding进行问题回答

论文笔记整理:吴杨,浙江大学计算机学院,知识图谱、NLP方向。http:esearch.baidu.comPublicuploads5c1c9a58317b3.pdf动机     

论文笔记整理:吴杨,浙江大学计算机学院,知识图谱、NLP方向。


640?wx_fmt=pnghttp://research.baidu.com/Public/uploads/5c1c9a58317b3.pdf


动机

      本文主要针对基于知识库的问题回答中的简单问题,也就是问题的答案只涉及KG中的一跳,此类问题在KG中找到对应的头实体和关系以后,获取到的尾实体即为问题的答案。本文的思路主要是:直接将问题的文本空间向量转化到KG空间向量,并在预训练的(通过TransE之类)KG Embedding中查找与该向量最相似的那个实体和关系,利用他们得到问题的答案。本文的主要贡献在于:

  1. 提出了KEQA框架,能够使用KG Embedding查找问题的实体和关系来解决问题

  2. 对预训练的KG Embedding和文本转化来的KG Embedding提出了新的距离度量

  3. 解释了KEQA的效率和鲁棒性

方法

(1) 概述

640?wx_fmt=png

     对于一个三元组(h, r, t)组成的KG, 我们首先使用KG Embedding模型来对KG中的实体和关系Embedding进行预训练,通过使用TransE或者TransH等方法,最终的得到实体的表示640?wx_fmt=png,和关系的表示640?wx_fmt=png。随后我们通过神经网络,将问题的单词Embedding作为输入,训练其输出一个关系的Embedding和实体的Embedding,通过计算这两个向量与预训练的关系向量和实体向量的距离,我们取距离最小的两个,作为最终三元组的头实体和关系,来获取到答案。

(2) 转化到KG Embedding空间部分:

640?wx_fmt=png

     将问题通过Bi-LSTM转化成为d维度的向量。随后经过Attention层并与原单词的Embedding做合并操作,在经过一个全连接层得到该单词映射到KG空间的Embedding,将所有的向量作加权平均,最终就可以得到问题转化成为的头实体向量或者是关系向量(注意转化到头实体和转化到关系使用的是相同的神经网络架构),该组神经网络的训练数据来源于原始QA对中直接取出Answer的头实体预训练Embedding和关系预训练Embedding。损失函数为向量的欧氏距离,涉及到的公式如下:

640?wx_fmt=png

640?wx_fmt=png


(3) 头实体探测:

      由于KG中的实体一般非常的多,因此有必要在KG中首先将不相关的实体进行剔除操作得到一个子图,然后将的得到Embedding与子图中的实体Embedding进行距离度量已加快速度,在这里,我们首先通过一个神经网络来探测问题中的各单词是否是一个实体。在得到的结果中,我们将输出值为有可能是实体的那些单词,送入KG做实体的字符串匹配,这样就可以拿出仅与这些单词相关的实体了。具体的模型如下:

640?wx_fmt=png


  首先,单词经过一个Bi-LSTM后,直接进入全连接层,再通过SoftMax得到一个二维的向量,其中第一维表示这个单词是一个实体的概率,第二维表示不是实体的概率。 

 

(4) 度量部分:

  这一部分需要对神经网络输出的实体Embedding和关系Embedding计算其与预训练的Embedding之间的度量:

640?wx_fmt=png

 其中,(h, l, t)表示候选的三元组,度量项的前三项分别为输出的头实体、关系、尾实体和预训练的头实体、关系、尾实体之间的欧氏距离。注意,由于QA中一个头实体和关系可能对应有多个尾实体,因此这里不直接使用预训练的尾实体Embedding。而是使用预训练KG时的(h, l ,t)之间的关系函数t = f(h, l)来表示(对于TransE,其为h + l = t)。第四项和第五项分别表示头实体和关系的字符串与(3)部分提取出的问题中可能为实体的单词之间的相似度。至此总的KEQA的流程结束。其算法表示如下:

640?wx_fmt=png

 

实验

(1) 在各数据集的数据量:

   由于去解决的是简单问题,因此所用到的数据集为Freebase,其中Freebase的子集FB2M和FB5M以及FB2M的子集SimpleQuestions这三个数据集的数据量以及一些其他特征见下表:

640?wx_fmt=png

 (2) 性能评测:

       可以看的出来,本文在简单问题上的正确率相较于当前的模型还是有一定的提升的。

640?wx_fmt=png

     如果对于使用了不同的预训练模型,比如TransE/H/R之间的性能区别,以及预训练的KG Embedding对QA问题的性能提升可以在下表中看出,对于noEmbed,也就是使用随机初始化的向量值作为实体和关系的Embedding(在距离度量时也采用该Embedding),由于随机初始化的结果服从均匀分布,因此问题退化为一个基本的分类问题。

640?wx_fmt=png

640?wx_fmt=png

      最后,这一张图则体现了新的距离度量函数对性能的影响,其中第一项表示只保留,第二项表示只删除,第三项则表示依次按顺序将当前的度量项目加入到度量函数中得到的新能结果

总结

本文提出了使用预训练KG Embedding。再使用神经网络将问题空间映射到KG空间的Embedding,并将这二者进行距离度量,取出距离最小的预训练Embedding,从而得到问题的答案头实体和关系的方法。




OpenKG


开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

640?wx_fmt=jpeg

点击阅读原文,进入 OpenKG 博客。



推荐阅读
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • MITM(中间人攻击)原理及防范初探(二)
    上一篇文章MITM(中间人攻击)原理及防范初探(一)给大家介绍了利用ettercap进行arp欺骗及劫持明文口令,后来我发现好友rootoorotor的文章介绍比我写的更透彻,所以基础利用大家可以参看 ... [详细]
  • 构建Elasticsearch环境与课程索引
    本章节详细介绍了如何在开发环境中搭建Elasticsearch (ES) 环境,包括安装、启动服务端以及创建索引和映射的具体步骤。对于旧版ES环境的清理方法也进行了说明。 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 2019-2020学年 20174325 叶竞蔚 《网络对抗技术》实验六:Metasploit基础应用
    本实验旨在掌握Metasploit框架的基本应用方法,重点学习三种常见的攻击方式及其实施思路。实验内容包括一次主动攻击(如MS08-067)、一次针对浏览器的攻击(如MS11-050)以及一次针对客户端的攻击(如Adobe漏洞利用)。此外,还包括成功应用一个辅助模块。 ... [详细]
  • 本打算教一步步实现koa-router,因为要解释的太多了,所以先简化成mini版本,从实现部分功能到阅读源码,希望能让你好理解一些。希望你之前有读过koa源码,没有的话,给你链接 ... [详细]
  • URL参数格式http:localhos:8080demo?ab&cd&ef匹配参数a对应的表达式为^a([^&]*)&匹配参数b对应的表达式为&b([^&]*)&匹配参数c对应 ... [详细]
  • 开发笔记:前端之前端初识
    开发笔记:前端之前端初识 ... [详细]
  • 我自己做了一个网站图片的抓取,感觉速度有点慢抓取4000张图片可能得用15分钟左右的时间,我百度看用线程可以加快抓取,然后创建了5个线程抓取,但是5个线程是同步执行同样的操作一个图片就 ... [详细]
  • 一、Tomcat安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat8.0\webapps二、Tomcat8.0配置多个端口,其实也就是给T ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
author-avatar
瑞铭与我_109
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有