Knowledge-refined Denoising Network for Robust Recommendation
Knowledge-refined Denoising Network for Robust Recommendation(Sigir23)
摘要
知识图(KG)包含丰富的边信息,是提高推荐性能和可解释性的重要组成部分。然而,现有的知识感知推荐方法直接在KG和用户-项目二部图上进行信息传播,忽略了任务无关知识传播的影响和易受交互噪声的影响,限制了其性能。针对上述问题,本文提出了一种鲁棒的知识感知推荐框架-知识细化去噪网络(KRDN),该框架能够同时修剪与任务无关的知识关联和有噪声的隐式反馈。KRDN包括自适应知识精炼策略和对比去噪机制,分别能够自动提取高质量的KG三元组进行聚合和修剪含噪隐式反馈。
引言
目前基于传播的方法通常有以下两个限制:
- 无效的知识传播
- 容易受到噪声的干扰
本文贡献:
3. 从一个新的角度来处理知识感知的推荐,同时细化知识关联和去噪隐式交互,以细粒度的方式开发了KG中的知识关联,它不仅可以学习根据下游监控信号修剪不相关的三元组,而且可以组合地聚合多方面的事实,以获得高质量的知识表示。
4. 提出了一种对比去噪策略,利用协同和知识两个方面的语义差异来更好地表达和传播用户真实偏好,从而大大增强了推荐的鲁棒性。
问题定义
模型框架
(1)自适应知识精炼,其使用参数化的二进制掩码来学习以无偏梯度估计器去除不相关的事实,同时设计了组合知识聚合器以有效地集成不同种类的知识关联用于上下文传播
(2)对比去噪学习,其关注协作信号和知识信号的差异以对比方式识别噪声交互,并且迭代地执行关系感知图自增强以增强用户表示。
一. 自适应知识精炼
与之前直接将KG中的各种信息集成到项目表示中的基于传播的方法不同,我们的目标是捕获最相关的知识关联,这有利于学习用户偏好。具体来说,我们设计了一个自适应修剪机制,学习修剪无关的事实与可训练的随机二进制掩码,并设计了一个梯度估计器,以共同优化它们与模型。同时,我们认为,现有的方法是无法正确地表征项目,因为他们不区分项目相关的信息,只在一个粗粒度上聚集KG信息。KG中的不同实体对于推荐场景具有不同的语义,并且它们在分析项中扮演不同的角色。这促使我们执行上下文感知的组合聚合机制,根据项目的相关性收集不同的语义。
1. 无关事件修剪
KG包含大量噪声和与任务无关的信息,这些信息是无用的,甚至会降低性能。一个简单的解决方案是手动构建一个K近邻子图来约束节点的感受野[10,33],或者随机丢弃一些边来构建用于对比学习的多视图图结构[53,58]。然而,这些方法高度依赖于图构造的质量,并且不能根据推荐任务自适应地丢弃不必要的边。因此,我们转向一个参数化的方法来共同学习最佳修剪策略与下游的合作信号。从技术上讲,我们首先将T中的每个三元组与二进制掩码∈{0,1}连接起来,以指示是否应该丢弃该三元组,因此修剪后的事实可以表示为:
2.组合知识聚合
将图谱划分为三种集合: T = {T1, T2, T3}
T1 = {(ℎ, 𝑟, 𝑡)|ℎ, 𝑡 ∈ I}as “item-item” facts, as both entities in these triplets are aligned
with items.
T2 = {(ℎ, 𝑟, 𝑡)|ℎ ∈ Ior 𝑡 ∈ I} stands for“item-attribute” facts, which means that one ofthe entities is relatedto item while the other acts as the attribute of it.
The rest tripletsT3 = {(ℎ, 𝑟, 𝑡)|ℎ, 𝑡 ∉ I} are “attribute-attribute” facts,where both entities are represented as attributes
我们用多方面的事实重组KG三元组,可以明确地收集不同的知识关联。为了对消息传递进行去噪,我们提出了一种新的聚合机制,包括噪声消息修剪和组合知识聚合。具体来说,我们使用N = {(𝑟,𝑡)|(G,𝑟,𝑡)∈ G𝑘}来表示KG中的邻域实体和项间的一阶关系,并提出将邻域实体的多面关系上下文进行整合,生成实体间的知识表示:
其中在聚合图谱信息时,不同的视图的聚合方式不同
堆叠多层的嵌入,将多层嵌入求均值,获得最终的实体嵌入
二.对比去噪学习
对比去噪学习主要用于识别用户-项目二分图中的噪声交互,并传播高阶区分协作信号以呈现用户的真实偏好。现有方法忽略了交互中的噪声,并直接聚合来自相邻用户/项目的所有信息,这将使模型难以区分噪声和用户真实偏好,并导致次优的用户/项目表示。最近,一些工作专注于构建不同的图视图,并利用对比学习来增强推荐模型的鲁棒性。不幸的是,这种方法将不可避免地丢失结构信息,并且无法显式地识别假交互。因此,我们的目标是利用协作信号和知识关联之间的分歧,以端到端的方式过滤噪声交互。
1.去噪协作聚合
上个模块生成的的项目表示包含精炼的知识关联,这些知识关联被认为具有高置信度。通过直接从交互图中聚合这些项目信息,我们可以获得用户和项目的知识表示。然而,基于隐式反馈构建的用户-项目图不可避免地包含噪声。因此,我们初始化额外的项目表示,以单独捕获纯合作信号作为比较。为了修剪嘈杂的互动,我们专注于协作和知识信号之间的差异。
KRDN保持了原始的图结构而不是随机扰动[53],因此我们能够使用相对距离来评估作为去噪基础的相对于噪声重要性的噪声稳定性:
2. 图感知自我增强
因为噪声的存在,上述的噪过程不足以降低噪声边缘的权重,并且存在误分类的机会。受邻居路由机制[28]的启发,我们设计了一种关系感知的自增强机制,用于生成上述两种信号中用户和项目之间的增强表示和相关度:
噪声交互将逐渐被疏远,并且用户表示将被递归地调整到用户偏好的原型[47]。
预测层
**
相关文章:

Knowledge-refined Denoising Network for Robust Recommendation
Knowledge-refined Denoising Network for Robust Recommendation(Sigir23) 摘要 知识图(KG)包含丰富的边信息,是提高推荐性能和可解释性的重要组成部分。然而,现有的知识感知推荐方法直接在KG和用户-项目…...

轴流风机和后倾式风机的安装要求
后向离心风机风压大,风量足,安装方便。因为不需要蜗壳,所以风道往往需要自行设计,而风道的合理与否,大大影响了后向离心风机的效率。那么后向离心风机的安装技巧有哪些?怎样达到风机的最佳使用效果呢&#…...
代码笔录1
10-16 出入栈序列是否合法 // // Created by 86184 on 2024/10/16. // #include <stdio.h>//IIOOOIO int jude(char s[]) {int count 0, i 0;while (s[i] ! \0) {if (s[i] I) count;else if (s[i] O) count--;else return 0;if (count < 0) return 0;i;}if (cou…...
强网杯2024 Web WP
强网杯2024 参考链接:https://mp.weixin.qq.com/s/Mfmg7UsL4i9xbm3V3e5HMA https://mp.weixin.qq.com/s/vV_II8TpyaGL4HUlUS57RQ PyBlockly 源码: from flask import Flask, request, jsonify import re import unidecode import string import ast …...

《双指针篇》---盛最多水的容器_Java(中等但简单)
题目传送门 1.首先计算出暂时的盛水体积 2.求暂时体积和最大体积max的最大值 3.更新right和left。如果height[left] > height[right] 那么right--否则left; class Solution {public int maxArea(int[] height) {int left 0,right height.length-1; int ret 0;while (lef…...
Linux: network: 环境:网络burst的一个原因,虚拟机感染病毒导致,外部网络设备太忙
最近碰到一个问题,测试人员在测试一周内的产品稳定性,带有的业务非常大。 总是不能满足需要的时长,总是在一段时间内出现丢包,业务出现错误的现象。从tshark/tcpdump的抓包看,确实在某个时间段,有一次十几秒…...

idea使用Translation插件实现翻译
1.打开idea,settings,选择plugins,搜索插件Translation,安装 2.选择翻译引擎 3.配置引擎,以有道词典为例 3.1 获取应用ID,应用秘钥 3.1.1 创建应用 点击进入有道智云控制台 3.1.2 复制ID和秘钥 3.2 idea设…...

[OS] sys_mmap() 函数+
流程图分析 1. 调用 sys_mmap() 步骤:当用户程序调用 mmap() 时,操作系统会进入 sys_mmap() 函数。作用:这是整个 mmap() 操作的入口。系统调用的实现从这里开始。 2. 提取参数(Fetch Argument) 步骤:从…...
轧钢机辊道多电动机传动控制系统
轧钢机辊道多电动机传动控制系统是一种复杂的工业自动化系统,主要用于控制轧钢车间中多个电动机驱动的辊道,以实现轧件的高效、稳定输送和加工。以下是对该系统的详细介绍: 系统组成 轧线辊道TDC控制器:作为系统的核心控制单元&a…...

使用 Nginx 部署 Python 项目
今天的目标是完成一个 Python Web 项目的线上部署,我们使用最新的 Django 项目搭建一个简易的 Web 工程,然后基于 Nginx 服务部署该 Python Web 项目。 1. 前期准备 1.1 安装虚拟环境pyenv 使用虚拟环境逐渐成了 python 项目开发中的一种主流方式。py…...
[笔记] SQL 优化
一. 数据库设计优化 1. 选择合适的字段类型 设计表时,尽量选择存储空间小的字段类型: 整型字段:从TINYINT、SMALLINT、INT到BIGINT。小数类型:对于金额等需精确计算的数值使用DECIMAL,避免使用FLOAT和DOUBLE。字符串…...

【InfluxDB】InfluxDB 2.x基础概念及原理
InfluxDB简介 什么是时序数据库 时序数据库,全称时间序列数据库(Time Series Database,TSDB),用于存储大量基于时间的数据。时序数据库支持时序数据的快速写入、持久化,多维度查询、聚合等操作࿰…...

.net Core 使用Panda.DynamicWebApi动态构造路由
我们以前是通过创建controller来创建API,通过controller来显示的生成路由,这里我们讲解下如何不通过controller,构造API路由 安装 Panda.DynamicWebApi 1.2.2 1.2.2 Swashbuckle.AspNetCore 6.2.3 6.2.3添加ServiceAction…...
Spring框架和Spring Boot框架都使用注解来简化配置和提高开发效率,但它们之间存在一些区别
Spring框架和Spring Boot框架都使用注解来简化配置和提高开发效率,但它们之间存在一些区别: Spring框架注解: Autowired:自动导入对象到类中,被注入的类需要被Spring容器管理。Component、Repository、Service、Contro…...

从数据提取到管理:TextIn平台的全面解析与产品体验
一、引言 在现代信息时代,文档解析和管理已经成为企业和开发者不可或缺的工具。TextIn是合合信息旗下的一款智能文档处理平台,为开发者和企业提供高效、精准的文档解析工具,帮助用户轻松应对各种复杂的文档处理需求。本文将深入探讨TextIn的…...
2024 Rust现代实用教程 Error错误处理
文章目录 一、错误处理之:Result、Option以及panic!宏1.Result2.Option3.panic! 二、错误处理之:unwrap()与?1.unwrap()2.?运算符 三、自定义一个Error类型参考 一、错误处理之:Result、Option以及panic!宏 Rust中的错误可以分为…...
android 逆向破解360加固(MT管理器反编译)
1.需要准备的环境MT管理器 2.一台root手机 3,需要给app脱壳https://nop.gs/在这里脱壳 4.将脱壳的文件解压之后解压 5.用MT管理器打开需要反编译破解的app 6.然后把脱壳的classes.dex添加到破解的app里面删除原来的classes.dex 7.删除360加固的so,so在assets文件里面删除libjia…...
使用 SSH 蜜罐提升安全性和记录攻击活动
文章目录 使用 SSH 蜜罐提升安全性和记录攻击活动前言整体逻辑讲解安全最佳实践蜜罐的类型与选择数据分析与响应进一步学习资源修改 SSH 服务端口部署 FakeSSHFakeSSH 简介部署步骤记录攻击 部署 SSHSameSSHSame 简介部署步骤观察攻击行为 总结 使用 SSH 蜜罐提升安全性和记录攻…...

无人机拦截捕获/直接摧毁算法详解!
一、无人机拦截捕获算法 网捕技术 原理:抛撒特殊设计的网具,捕获并固定无人机。 特点: 适用于小型无人机。 对无人机的损害较小,基本不影响其后续使用。 捕获成功率较高,且成本相对较低。 应用实例:…...

后端eclipse——文字样式:UEditor富文本编辑器引入
目录 1.富文本编辑器的优点 2.文件的准备 3.文件的导入 导入到项目: 导入到html文件: 编辑 4.富文本编辑器的使用 1.富文本编辑器的优点 我们从前端写入数据库时,文字的样式具有局限性,不能存在换行,更改字体…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...

XXE漏洞知识
目录 1.XXE简介与危害 XML概念 XML与HTML的区别 1.pom.xml 主要作用 2.web.xml 3.mybatis 2.XXE概念与危害 案例:文件读取(需要Apache >5.4版本) 案例:内网探测(鸡肋) 案例:执行命…...
c++算法学习3——深度优先搜索
一、深度优先搜索的核心概念 DFS算法是一种通过递归或栈实现的"一条路走到底"的搜索策略,其核心思想是: 深度优先:从起点出发,选择一个方向探索到底,直到无路可走 回溯机制:遇到死路时返回最近…...
【免杀】C2免杀技术(十五)shellcode混淆uuid/ipv6/mac
针对 shellcode 混淆(Shellcode Obfuscation) 的实战手段还有很多,如下表所示: 类型举例目的编码 / 加密XOR、AES、RC4、Base64、Poly1305、UUID、IP/MAC改变字节特征,避开静态签名或 YARA结构伪装PE Stub、GIF/PNG 嵌入、RTF OLE、UUID、IP/MAC看起来像合法文件/数据,弱…...