基于规则指导的知识图谱推理协作代理学习(2019)7.27

news2024/11/16 13:24:46

基于规则指导的知识图谱推理协作代理学习

  • 摘要
  • 介绍
  • 问题和准备工作
    • 问题公式
    • 基于符号的方法
    • 基于游走的方法
  • RuleGuider
      • 模型架构
      • 实体代理
      • 策略网络
    • 模型学习
      • 奖励设计
      • 训练过程
  • 实验
    • 实验设置
    • 数据集
    • 实验结果
    • 消融研究
    • 人工评估
  • 总结

在这里插入图片描述

摘要

基于 行走模型 是通过在提供可解释决策的同时实现良好的性能,在知识图(KG)推理中显示了其优势。
然而,KG在行走过程中提供的稀疏信号通常不足以指导复杂的基于行走的强化学习(Reinforcement learning RL)模型。

行走(walk)模型
是一种用于学习图形嵌入(graph embedding)的方法,图形嵌入是将图形中的节点映射到低维向量空间中的过程。走路模型通过模拟在图形中“走路”来学习节点之间的关系,从而为每个节点分配一个嵌入向量。这些嵌入向量可以用于许多图形分析任务,如节点分类、链路预测和社区检测等。
在走路模型中,我们首先选择一个起始节点,然后从该节点开始在图形中随机游走。在每一步中,我们根据一定的概率选择一个相邻的节点,并将其添加到我们的“走路路径”中。最终,我们得到了一个包含许多节点的路径。我们可以使用这些路径来学习节点之间的关系,并将每个节点映射到一个嵌入向量。

另一种方法是使用传统的符号方法(例如,规则推理),这种方法取得了良好的性能,但由于符号表示的复杂性,很难推广。

在本文中,我们提出了RuleGuider,它利用基于符号的方法生成的高质量规则 来为基于行走的代理提供奖励监督。
在基准数据集上的实验表明,RuleGuider在不损失可解释性的情况下提高了基于行走的模型的性能。

介绍

虽然知识图谱在自然语言处理应用中被广泛采用,但阻碍其使用的一个主要瓶颈是数据的稀疏性,导致了对KG完成(或推理)的广泛研究。许多关于KG推理任务的传统方法都是基于逻辑规则的。这些方法被称为基于符号的方法。尽管它们表现出了良好的性能,但它们本质上受到给定规则的关联关系的表示和可推广性的限制。

为了改善这种限制,基于嵌入的方法被提出了。他们学习实体和关系的分布式表示,并使用表示进行预测。尽管它们有着卓越的性能,但却无法做出人性化的诠释。

为了提高解释性,最近的许多研究使用强化学习(RL)技术将任务表述为 多跳推理 问题,称为基于行走的方法。这些方法的一个主要问题是奖励函数。一个“命中与否”的奖励过于稀疏,而使用基于嵌入的距离测量的成形奖励可能并不总是产生理想的路径。

多跳推理(multi-hop reasoning)
是一种常见的人工智能技术,用于通过多步推理来回答自然语言问题。在多跳推理中,系统需要从给定的文本中推导出一系列逻辑关系,以回答问题。
例如,考虑以下问题:“谁是美国第一位总统?”为了回答这个问题,系统可能需要进行以下多跳推理:
美国有总统。
第一位总统是谁?
第一位总统是乔治·华盛顿。
在这个例子中,系统需要通过多步推理才能回答问题,因为问题的答案不直接在原始文本中给出。

在本文中,我们提出了RuleGuider,借助符号规则来解决基于步行的方法中的上述奖励问题。我们希望在不失去可解释性的情况下提高基于步行的方法的性能。RuleGuider由一个获取逻辑规则的基于符号的模型和一个在规则指导下搜索推理路径的基于行走的Agent组成。我们还介绍了一种分离基于行走的代理的方法,以提高效率。我们在不丧失可解释性的情况下,通过实验证明了我们模型的有效性。

问题和准备工作

在本节中回顾了KG推理任务。我们还描述了RuleGuider中使用的基于符号和基于行走的方法。

问题公式

基于符号的方法

基于游走的方法

RuleGuider

RuleGuider包括一个基于符号的方法,称为规则挖掘器,以及一个基于行走的方法,称为代理。

规则挖掘器首先挖掘逻辑规则,代理遍历KG,以学习在规则指导下(通过奖励)推理路径的概率分布。当代理交替地穿过关系和实体时,我们建议将主体分为两个子主体:一个关系和实体代理。
在分离之后,搜索空间被显著地修剪。如图。
在这里插入图片描述

关系和实体代理相互作用以生成路径。在每个步骤中,实体代理首先从有效实体中选择一个实体。然后,关系代理基于所选实体对关系进行采样。在最后一步,他们根据最后的选择获得命中奖励,并根据所选路径从布雷前集合中获得规则指导奖励。

模型架构

实体代理

策略网络

模型学习

奖励设计

训练过程

实验

实验设置

数据集

实验结果

消融研究

人工评估

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/799373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】-多态的经典题目

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

解密C++多态机制:发挥对象的多样性,实现更加智能的程序设计

目录 一.多态1.多态的用处2.多态的实现3.虚函数4.override 和 final5.重载重写与重定义6.虚函数表 一.多态 1.多态的用处 众所周知C语言的三大特性:封装、多态、继承。其中多态就是去完成某个行为,但是会根据不同的对象产生不同的状态,所以…

Windows SMB 共享文件夹 排错指南

1 排错可能 是否系统名称为全英文格式 如果不是则 重命名 根据如下排错可能依次设置 1,在运行里面输入"secpol.msc"来启动本地安全设置,\ 然后选择本地策略–>安全选项 -->网络安全LAN 管理器身份验证级别,\ “安全设置”…

操作系统知识点总结

操作系统知识点总结: 第一章:操作系统概述 1.1操作系统的概念: ​ 操作系统是一种系统软件,与其他系统软件和应用软件不同,它有自己的基本特征。它的四大基本特征也就是并发,共享,虚拟,异步。 1.2操作系统的特征(四大…

前端开发信息套路:信息是如何传值

文章目录 前言信息组件化的难点:组件信息流通信息流通信息流通分类通知直接调用回调函数发布订阅全局缓存使用建议 总结 前言 作为一个写了好几个月的Uniapp小程序的打工狗,我总结了一下在前端中信息是如何传递的,得出了一个比较标准化的信息…

thinkphp6 验证码验证结果失败,可能是session开启位置错了!!!

搞了一下下午&#xff0c;始终提示验证码不正确 然后百度得到的结果都是&#xff1a;开启session&#xff0c;但是我开启了就是管用 <?php // 全局中间件定义文件 return [// 全局请求缓存// \think\middleware\CheckRequestCache::class,// 多语言加载// \think\middle…

【人人都看懂的漫画算法】边打扑克边学插入排序算法,彻底搞懂时间复杂度

博主&#xff1a;爱码叔 个人博客站点&#xff1a; icodebook.com 公众号&#xff1a;漫话软件设计 微博&#xff1a;程序员涛哥 专注于软件设计与架构、技术管理。擅长用通俗易懂的语言讲解技术。对技术管理工作有自己的一定见解。文章会第一时间首发在个站上&#xff0c;欢迎…

如何评判算法好坏?复杂度深度解析

如何评判算法好坏&#xff1f;复杂度深度解析 1. 算法效率1.1 如何衡量一个算法好坏1.2 算法的复杂度 2 时间复杂度2.1 时间复杂度的概念2.1.1 实例 2.2 大O的渐进表示法2.3 常见时间复杂度计算举例 3 空间复杂度4 常见复杂度对比5 结尾 1. 算法效率 1.1 如何衡量一个算法好坏 …

Android Studio import的代码报红提示找不到,但正常编译运行

Android Studio import的代码报红提示找不到&#xff0c;但正常编译运行 解决方案&#xff1a; &#xff08;1&#xff09;关闭退出Android Studio。 &#xff08;2&#xff09;删掉当前工程项目目录下的.idea和.gradle文件夹。 &#xff08;3&#xff09;Invalidate Caches…

uni-app之微信小程序实现‘下载+保存至本地+预览’功能

目录 一、H5如何实现下载功能 二、微信小程序实现下载资源功能方面与H5有很大的不同 三、 微信小程序实现文件&#xff08;doc,pdf等格式&#xff0c;非图片&#xff09;下载&#xff08;下载->保存->预览&#xff09;功能 四、图片预览、保存、转发、收藏&#xff1…

MMdetection框架速成系列 第07部分:数据增强的N种方法

MMdetection框架实现数据增强的N种方法 1 为什么要进行数据增强2 数据增强的常见误区3 常见的六种数据增强方式3.1 随机翻转&#xff08;RandomFlip&#xff09;3.2 随机裁剪&#xff08;RandomCrop&#xff09;3.3 随机比例裁剪并缩放&#xff08;RandomResizedCrop&#xff0…

F12开发者工具的简单应用

目录 elements 元素 1、元素的定位和修改 2、UI自动化应用 console 控制台 sources 源代码 network 网络 1、定位问题 2、接口测试 3、弱网测试 performance 性能 memory 存储 application 应用 recorder 记录器 界面展示如下&#xff08;设置中可以切换中英文&am…

云共享平台:助力企业数字化转型的利器

随着互联网技术的不断发展&#xff0c;云共享平台正在成为企业发展必不可少的工具之一。那么&#xff0c;云共享平台到底为企业带来了哪些助力呢&#xff1f; 1. 提高效率 云共享平台可以极大地提高企业的工作效率。传统的企业数据管理通常都需要人工操作&#xff0c;而且往往…

redis数据库与主从复制

目录 一 基本操作 二 执行流程 三 reids持久化 四 rdb和aof持久化的过程 五 为什么会有内存碎片 六 redis组从复制 一 基本操作 set :存放数据 例如 set 键值 内容 set k kokoko k就是键值 kokoko就是内容 get:获取数据 例如 get k 就会出来 k对应的数据 keys 查询键…

【大数据之Flume】三、Flume进阶之Flume Agent 内部原理和拓扑结构

1 Flume事务 2 Flume Agent 内部原理 重要组件&#xff1a; 1、ChannelSelector&#xff08;选择器&#xff09;   ChannelSelector 的作用就是选出 Event 将要被发往哪个 Channel。   &#xff08;1&#xff09;Replicating ChannelSelector&#xff08;复制或副本&#x…

Python实现HBA混合蝙蝠智能算法优化LightGBM回归模型(LGBMRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝙蝠算法是2010年杨教授基于群体智能提出的启发式搜索算法&#xff0c;是一种搜索全局最优解的有效方法…

「前缀和以及差分数组」

文章目录 1 前缀和数组1.1 题解1.2 Code1.3 结果 2 二维矩阵的前缀和数组2.1 题解2.2 Code2.3 结果 3 差分数组 1 前缀和数组 适用于快速频繁的计算一个索引区间内的元素之和&#xff0c;核心思想就是使用一个前缀和数组&#xff0c;然后使用前缀和数组的两个元素之差&#xf…

Postman(一)--接口测试知识准备

1.0 前言 ​ 应用程序编程接口&#xff08;Application Programming Interface, API&#xff09;是这些年来最流行的技术之一&#xff0c;强大的Web应用程序和领先的移动应用程序都离不开后端强大的API。API技术的应用给系统开发带来了便利&#xff0c;但也对测试人员提出了更…

【AGI】Copilot AI编程辅助工具安装教程

GitHub和OpenAI联合为程序员们送上了编程神器——GitHub Copilot。 但是&#xff0c;Copilot目前不提供公开使用&#xff0c;需要注册账号通过审核&#xff0c;我也提交了申请&#xff1a;这里第一期记录下&#xff0c;开启教程&#xff0c;欢迎大佬们来讨论交流。

Jmeter性能测试:高并发分布式性能测试

一、为什么要进行分布式性能测试 当进行高并发性能测试的时候&#xff0c;受限于Jmeter工具本身和电脑硬件的原因&#xff0c;无法满足我们对大并发性能测试的要求。 基于这种场景下&#xff0c;我们就需要采用分布式的方式来实现我们高并发的性能测试要求。 二、分布式性能测…