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

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

  • 摘要
  • 介绍
  • 问题和准备工作
    • 问题公式
    • 基于符号的方法
    • 基于游走的方法
  • 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.mzph.cn/news/10301.shtml

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

相关文章

flutter android Webview 打开网页错误ERR_CLEARTEXT_NOT_PERMITTED 、 net:ERR_CACHE_MISS

当你在Flutter应用中尝试打开一个非安全连接的网页(例如HTTP连接而不是HTTPS连接)时,可能会遇到"ERR_CLEARTEXT_NOT_PERMITTED"错误。这是因为默认情况下,Android 9及更高版本禁止应用程序通过非安全的明文HTTP连接进行…

Linux学习笔记--如何在ubuntu中启用root用户和安装软件的方法(解决安装依赖)

一、ubuntu启用root用户 打开Terminal(终端),右键点击桌面,选择终端,弹出终端窗口。(使用快捷键ctrlaltt,也可以调出Terminal)。 指令su,该指令可切换用户或者切换到超级管理员root。 su 在终端…

python与深度学习(八):CNN和fashion_mnist二

目录 1. 说明2. fashion_mnist的CNN模型测试2.1 导入相关库2.2 加载数据和模型2.3 设置保存图片的路径2.4 加载图片2.5 图片预处理2.6 对图片进行预测2.7 显示图片 3. 完整代码和显示结果4. 多张图片进行测试的完整代码以及结果 1. 说明 本篇文章是对上篇文章训练的模型进行测…

day43-Feedback Ui Design(反馈ui设计)

50 天学习 50 个项目 - HTMLCSS and JavaScript day43-Feedback Ui Design&#xff08;反馈ui设计&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport&q…

opencv-26 图像几何变换04- 重映射-函数 cv2.remap()

什么是重映射&#xff1f; 重映射&#xff08;Remapping&#xff09;是图像处理中的一种操作&#xff0c;用于将图像中的像素从一个位置映射到另一个位置。重映射可以实现图像的平移、旋转、缩放和透视变换等效果。它是一种基于像素级的图像变换技术&#xff0c;可以通过定义映…

【正规方程对波士顿房价数据集进行预测】

数据准备 我们首先需要加载波士顿房价数据集。该数据集包含房屋特征信息和对应的房价标签。 import pandas as pd import numpy as npdata_url "http://lib.stat.cmu.edu/datasets/boston" raw_df pd.read_csv(data_url, sep"\s", skiprows22, headerN…

安全DNS,状态码,编码笔记整理

一 DNS DNS&#xff08;Domain Name System&#xff09;是互联网中用于将域名转换为IP地址的系统。 DNS的主要功能包括以下几个方面&#xff1a; 域名解析&#xff1a;DNS最主要的功能是将用户输入的域名解析为对应的IP地址。当用户在浏览器中输入一个域名时&#xff0c;操作…

github token使用方法

git remote set-url origin https://<githubtoken>github.com/<username>/<repositoryname>.git 在私有仓库的HTTPS的url上加入<githubtoken>即为token url&#xff0c;可以免ssh key登录

NoSQL之redis配置与优化

NoSQL之redis配置与优化 高可用持久化功能Redis提供两种方式进行持久化1.触发条件手动触发自动触发 执行流程优缺点缺点&#xff1a;优势AOF出发规则&#xff1a; AOF流程AOF缺陷和优点 NoSQL之redis配置与优化 mysql优化 1线程池优化 2硬件优化 3索引优化 4慢查询优化 5内…

iptables与防火墙

目录 防火墙 安全技术 划分方式 iptables 构成 四表 优先级 五链 iptables的规则 匹配顺序 iptables的命令格式 管理选项 匹配条件 控制类型 隐藏扩展模块 注意事项 防火墙 隔离功能&#xff0c;一般部署在网络边缘或者主机边缘&#xff0c;在工作中防火墙的…

Java 悲观锁 乐观锁

锁可以从不同的角都分类。其中乐观锁和悲观锁是一种分类方式 一、悲观锁、乐观锁定义 悲观锁就是我们常说到的锁。对于悲观锁来说&#xff0c;他总是认为每次访问共享资源时会发生冲突&#xff0c;所以必须每次数据操作加上锁&#xff0c;以保证临界区的程序同一时间只能有一个…

SQLite Studio 连接 SQLite数据库

1、在SQLite中创建数据库和表 1.1、按WINR&#xff0c;打开控制台&#xff0c;然后把指引到我们的SQLite的安装路径&#xff0c;输入D:&#xff0c;切换到D盘&#xff0c;cd 地址&#xff0c;切换到具体文件夹&#xff0c;输入“sqlite3”&#xff0c;启动服务 1.2、创建数据库…

多租户分缓存处理

多租户redis缓存分租户处理 那么数据库方面已经做到了拦截&#xff0c;但是缓存还是没有分租户&#xff0c;还是通通一个文件夹里&#xff0c; 想实现上图效果&#xff0c;global文件夹里存的是公共缓存。 首先&#xff0c;那么就要规定一个俗称&#xff0c;缓存名字带有globa…

数据库应用:MySQL MHA高可用集群

目录 一、理论 1.MHA 2.MySQL MHA部署准备 3.MySQL MHA部署 二、实验 1.MHA部署 三、问题 1.中英文符兼容报错 2.MHA测试 ssh 无密码认证语法报错 3.MHA测试 ssh 无密码认证log-bin报错 4.MHA测试 mysql 主从连接情况报错slave replication 5.MHA测试 mysql 主从连…

Elasticsearch监控工具Cerebro安装

Elasticsearch监控工具Cerebro安装 1、在windwos下的安装 1.1 下载安装包 https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.zip 1.2 解压 1.3 修改配置文件 如果需要修改相关信息&#xff0c;编辑C:\zsxsoftware\cerebro-0.9.4\conf\applica…

css3的filter图片滤镜使用

业务介绍 默认&#xff1a;第一个图标为选中状态&#xff0c;其他三个图标事未选中状态 样式&#xff1a;选中状态是深蓝&#xff0c;未选中状体是浅蓝 交互&#xff1a;鼠标放上去选中&#xff0c;其他未选中&#xff0c;鼠标离开时候保持当前选中状态 实现&#xff1a;目前…

Component template should contain exactly one root element

在vue中报错&#xff1a; Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead报错的大致意思是&#xff1a;组件的模板应该只能包含一个根元素&#xff0c;也就是是说作为元素的直…

【每日一题】—— C - (K+1)-th Largest Number (AtCoder Beginner Contest 273)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

【计算机网络 01】说在前面 信息服务 因特网 ISP RFC技术文档 边缘与核心 交换方式 定义与分类 网络性能指标 计算机网络体系结构 章节小结

第一章--概述 说在前面1.1 计算机网络 信息时代作用1.2 因特网概述1.3 三种交换方式1.4 计算机网络 定义与分类1.5 计算机网络的性能指标1.6 计算机网络体系结构1 常见的计算机网络体系结构2 计算机网络体系结构分层的必要性3 计算机网络体系结构分层思想举例4 计算机网络体系结…

本地文件夹上传到Github

本地文件夹上传到Github 步骤1. 下载git步骤2. 在github中新建一个库&#xff08;Repository&#xff09;步骤3. 设置SSH key步骤4. 添加SSH keys步骤5. 本地文件上传到github参考 步骤1. 下载git 下载git客户端&#xff0c;并在本地安装完成。 步骤2. 在github中新建一个库&a…