LinkSage:基于 GNN 的 Pinterest理解

目录

  • 一、背景
  • 二、动机和介绍
  • 三、技术设计
    • 3.1 数据
    • 3.2 图
    • 3.3 特征
    • 3.4 型
  • 四、主要创新
    • 4.1 多维表示
    • 4.2 XSage的兼容性
    • 4.3 增量服务
  • 五、离线结果
    • 5.1 召回
    • 5.2 分数分布
    • 5.3 峰度
  • 六、在线结果
    • 6.1 面向用户的表面
    • 6.2 Ads
  • 七、总结

在这里插入图片描述
LinkSage:基于图神经网络的Pinterest站外内容语义嵌入模型

一、背景

Pinterest 是一个视觉灵感平台,Pinner 可以在这里搜索、保存和购买世界上所有生活时刻的最佳创意。大多数 Pin 图都链接到站外内容,为 Pinner 提供灵感和可操作性。了解站外内容(图像、文本、结构)至关重要,因为了解其语义是评估站外内容的安全性(例如社区指南)、功能、相关性和可操作性(例如广告和购物)的重要因素。更重要的是,Pinterest 可以通过用户点击事件更好地了解 Pinterest 用户。以上两者都可以提高 Pinterest 内容的整体参与度和货币化。为了实现这一目标,我们开发了 LinkSage,这是一个基于图神经网络 (GNN) 的模型,可以学习登录页面内容的语义。
在这里插入图片描述
图 1:异地内容理解及其应用

二、动机和介绍

为了充分利用 Pinterest 站外内容来提高 Pinner 的参与度和购物体验,我们制定了以下目标:

统一语义嵌入:提供所有 Pinterest 站外内容的统一语义嵌入。所有与下游模型相关的登录页面都可以利用 LinkSage 嵌入作为关键输入。
基于图形的模型:利用 Pinner 的策展数据来构建支持不同类型实体的异构图形。GNN 可以从附近的登录页面/节点中学习以提高准确性。
XSage 生态系统:使 LinkSage 嵌入与所有 XSage 嵌入空间兼容。
多维表示:提供 LinkSage 嵌入的多维表示,以便消费者可以灵活地选择性能与成本。
对互动和变现的影响:通过更好地了解 Pinterest 内容和 Pinner 个人资料,提高互动度(例如长点击次数)和购物/广告体验(例如 CVR)。
在这篇博客中,我们谈到了:

  • 技术设计
  • 关键创新
  • 离线结果
  • 在线结果

三、技术设计

3.1 数据

大多数 Pin 图都与着陆页相关联。如果 Pin 图及其关联的着陆页具有相似的语义,我们将“(Pin 图,着陆页):”视为正对,并利用 Pinterest Cohesion ML 信号来评估 Pin 图与其着陆页之间的语义相似性。如果凝聚力得分高于某个阈值,我们还会将“(图钉、着陆页)”对标记为正数。

对于负数对,我们包括批量负数和随机负数。对于批量底片,我们会使用与同批次中其他着陆页配对的 Pin 图。在随机负数的情况下,我们在 Pinterest 中使用随机 Pin 图,这在正数对中可能看不到。这有助于训练新内容的模型泛型。

在LinkSage的后一个版本中,我们将利用Pinner的现场参与数据和Pinner的异地转化数据来丰富我们的培训目标。

3.2 图

我们利用 Pinner 的精选数据来构建图表。图编译和随机游走是使用 Pinterest XPixie 进行的,它支持不同类型实体的异构图。在我们的例子中,异构图是通过使用“(Pin,登陆页面)”对来构建的。我们利用 Pinterest Cohesion ML 信号过滤掉非内聚对,类似于训练数据生成。因此,图中使用的所有“(图钉,登陆页面)”对都具有相似的语义。为了增加图形密度,我们利用 Pinterest Neardup ML 信号将相似的 Pin 图像聚类到图像聚类。在图形节点和边缘上都进行图形修剪,以确保图形连接不会在某些热门登陆页面或 Pin 图上出现偏差。在此图中,具有相似语义的着陆页与与着陆页有凝聚力的 Pin 图相关联。

随机游走后,对于每个登录页面,我们都会获得其邻居登录页面及其访问次数的列表。随机游走可根据节点实体类型进行配置。

在后一个版本中,我们充分利用了XPixie的异构图形功能,添加了更多不同类型的实体,包括Pinterest板和链接集群。

3.3 特征

有三种类型的功能:自登陆页面功能、邻居登陆页面功能和图形结构功能。

对于自助登陆页面和邻居登陆页面,我们使用两种类型的内容功能:登陆页面文本嵌入(总结标题、描述、正文文本的语义)和每个抓取图像的视觉嵌入。我们按大小对所有被抓取的图像进行加权聚合,以减少计算,同时保留主要被抓取图像的登陆页面信息。

对于图结构特征,我们使用图节点访问计数和自度来表示图的拓扑结构。图节点访问次数表示邻居登录页面的重要性,而自我度表示图中自登录页面的受欢迎程度。

3.4 型

该模型利用 Transformer 编码器来学习自登陆页面特征、邻居登陆页面特征和图形结构特征的交叉注意力。

文本和爬网图像特征在转换器编码器中被拆分,以便模型学习它们的交叉注意力。邻居按访问计数进行反向排序,因此顶部邻居比底部邻居更重要。结合位置嵌入,我们的模型可以学习不同邻居的重要性。选择邻居的数量是为了平衡计算成本和模型性能。

在后一个版本中,我们将爬取的图像拆分,并将它们视为转换器编码器中的单独标记,这将为模型提供更准确的登录页面视觉信息。

在这里插入图片描述

图 2:LinkSage 的模型原理图

四、主要创新

4.1 多维表示

下游团队将根据他们在性能和计算成本之间的偏好来使用不同的嵌入。我们没有单独训练五个不同的模型,而是利用 Matryoshka Representation Learning 的研究,通过训练一个模型来提供五个 LinkSage 的 dims。较短的暗淡将捕获登录页面的粗略表示,而较长的暗淡将嵌入更多细节。

在这里插入图片描述

图3:多维表示的损失函数示意图

4.2 XSage的兼容性

LinkSage 和 XSage(例如 PinSage)之间嵌入空间的兼容性将使下游使用更容易。下游团队甚至可以使用嵌入空间中的邻近性来比较 Pinterest 上不同内容的相似性,例如 Pin 图及其登录页面。为了实现这一点,我们利用 PinSage 作为训练目标中 Pin 图的表示。

4.3 增量服务

Pinterest 拥有数百亿个与 Pin 图相关的登录页面。要提供所有登录页面,需要大量的计算成本和时间。为了解决这个问题,我们应用了增量投放,即我们只运行每日抓取的着陆页投放。在每日推理之后,我们将今天的推理结果与之前的推理结果合并。我们的增量服务不仅节省了大量不必要的计算,而且还保持了与完整语料库服务相同的准确性和覆盖范围。

五、离线结果

5.1 召回

召回率是最常用的任务排名指标。当给定一个查询登录页面时,它会评估模型在所有负面中检索正候选 Pin 图的能力。更高的召回率意味着更好的模型。

在这里插入图片描述

表 1:不同服务维度的 LinkSage 召回率。
从上表中可以看出,通过使用 256 个 LinkSage 点,从前 100 名排名结果中获取阳性候选 Pin 图的概率为 72.9%。通过使用 64 个调光器,它节省了 75% 的成本,性能仅下降了 8.3%。

5.2 分数分布

绘制分数分布图以显示 (1) 查询登陆页面和正候选 Pin 图以及 (2) 查询登陆页和负候选 Pin 图之间的余弦相似度分数分布

在这里插入图片描述

图4:LinkSage正负对的分数分布
从下面的直方图来看,几乎所有负对的分数< 0.25,平均值接近 0。另一方面,超过 50% 的正对的得分> 0.25。

5.3 峰度

峰度用于评估嵌入区分不同登录页面的能力。

对于嵌入成对余弦相似性分布,较小的峰度是可取的,因为广泛的分布往往具有更好的“分辨率”来区分不同相关性的查询(又称登录页面)。

LinkSage的峰度是1.66。
在这里插入图片描述
图5:LinkSage的峰度分析

给定一个着陆页,可以获取排名前 k 的 Pin 图并对其进行可视化,以检查着陆页和 Pin 图是否具有相似的语义。

六、在线结果

6.1 面向用户的表面

多个面向用户的表面团队已将 LinkSage 纳入其排名模型,以提高对候选 Pin 图和用户配置文件的理解(通过用户序列)。

在 Pinterest 上,“回复、长点击、参与会话”是积极用户参与度的关键指标。另一方面,“隐藏”是平台上负面用户参与度的关键指标。我们观察到所有指标都有显著的收益。
在这里插入图片描述

表 2:面向用户的 LinkSage 表面排名模型的增益:从候选引脚(顶部)和用户序列(底部)

6.2 Ads

Ads 已将 LinkSage 纳入其转化排名模型和参与度排名模型。

在 Pinterest 广告上,每次展示转化率 (iCVR)、转化量、长时间点击率 (GCTR30) 和每次点击成本 (CPC) 是用户转化率和参与度的关键指标。我们观察到所有指标都有显著的收益。
在这里插入图片描述
表 3:LinkSage 广告转化率(上图)和互动排名模型(下图)的综合收益

LinkSage在登机排名模型(或称为Board Picker)中的使用提高了对外部链接的理解。已观察到显著的收益:
在这里插入图片描述
表4:LinkSage在董事会排名模型上的收益

七、总结

我们开发了 LinkSage,这是一种基于图神经网络的模型,它使用支持不同类型实体(例如 Pin 图和登录页面)的异构图进行训练。它利用 Pinner 精选的数据来构建图形和训练目标。它使用 Pinterest ML 信号(例如 Cohesion 和 Neardup)来修剪图形/目标并提高图形密度。它将 Pinterest ML 信号(例如 PinSage)整合到训练中,使其嵌入空间与 XSage 兼容。它应用了俄罗斯套娃表征学习的前沿研究,以提供多维表征。它应用增量服务,以较低的计算成本和时间为所有 Pinterest 登录页面语料库提供服务。

我们通过离线指标和在线 A/B 实验对表面排名模型进行了全面的评估,评估了 LinkSage 嵌入的质量。我们已经看到多个面向用户的平台、广告和看板的在线收益大幅增长,这些平台涵盖了 Pinterest 的所有关键平台。

这项工作填补了所有Pinterest站外内容理解的空白。它增强了所有其他登录页面信号开发的后端(例如链接质量)。它丰富了 Pinterest 对 Pin 图和 Pinterest 用户的理解,并为 Pinterest 广告和购物的未来提供了动力。

如果您对我们所做的此类工作感兴趣,请加入 Pinterest!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务之LoadBalancer负载均衡服务调用

一、概述 1.1什么是负载均衡 LB&#xff0c;既负载均衡&#xff08;Load Balancer&#xff09;,是高并发、高可用系统必不可少的关键组件&#xff0c;其目标是尽力将网络流量平均分发到多个服务器上&#xff0c;以提高系统整体的响应速度和可用性。 负载均衡的主要作用 高并发…

IDEA阅读Java源码 SimpleDateFormat

IDEA阅读Java源码 SimpleDateFormat 文章目录 IDEA阅读Java源码 SimpleDateFormat一、阅读的代码二、IDEA操作2.1 标记断点2.2 启用Debug2.3 按键区分2.4 强制进入方法2.5 进入指定方法2.6 多方法进入指定方法2.7 进入正确的方法2.8 真正的方法体实现 三、SimpleDateFormat源码…

网络篇08 | 运输层 tcp

网络篇08 | 运输层 tcp 01 简介1&#xff09;运输层的作用2&#xff09;与应用层的关系3&#xff09;两个协议的应用场景4&#xff09;传输的数据单位 02 功能特性1&#xff09;面向连接2&#xff09;停止等待协议3&#xff09;流水线传输协议4&#xff09;滑动窗口机制5&#…

011、Python+fastapi,第一个后台管理项目走向第11步:建立python+fastapi项目,简单测试一下

一、说明 本文章就是记录自己的学习过程&#xff0c;如果有用您可以参考&#xff0c;没用你就略过&#xff0c;没有好与不好之分&#xff0c;今天主要是参考了gitee上的一些项目&#xff0c;一步一步的往后i建立 对于学习来说&#xff0c;如果您有java c等经验&#xff0c;py…

Redis的哨兵机制

引入&#xff1a; 主从复制最大的问题还是在主节点上&#xff0c;主节点挂了&#xff0c;从节点就迷茫了&#xff0c;虽然能够提供读操作&#xff0c;但是从节点不能自动生成主节点&#xff0c;不能替换原有主节点对应的角色&#xff1b;此时&#xff0c;就需要程序员/运维手工…

绿联HDMI延长器40265使用AG7120芯片放大器方案

HDMI延长器和放大器 延长器&#xff1a;主要用于HDMI线的延长&#xff0c;有HDMI对接头方式延长&#xff0c;或HDMI公头加HDMI母头的HDMI线进行延长&#xff0c;或通过网线方式延长&#xff0c;早期为双网线&#xff0c;目前已发展为单网线&#xff0c;需要注意的是&#xff0…

L45 【哈工大_操作系统】操作系统接口 系统调用实现

L4 操作系统接口 本节比较简单&#xff0c;故与第五节课程笔记一起发布。本节主要是研究 上层应用 是怎么穿过边界进入 操作系统。 接口&#xff1a;操作系统提供的重要函数/指令( system call )&#xff0c;用来连接硬件&#xff0c;所以OS接口就是系统调用POSIX&#xff08;…

Res2Net网络

Res2Net网络 摘要Abstract1. Res2Net网络1.1 文献摘要1.2 背景1.3 创新点1.4 网络结构1.5 实验1.5.1 在ImageNet数据集上进行实验1.5.2 在CIFAR数据集上进行实验 2. Res2Net代码实现3. 总结 摘要 Res2Net是一种神经网络架构&#xff0c;旨在改善类似ResNet的网络在计算机视觉任…

vscode开发 vue3+ts 的 uni-app 微信小程序项目

创建uni-app项目&#xff1a; # 创建用ts开发的uni-app npx degit dcloudio/uni-preset-vue#vite-ts 项目名称 # 创建用js开发的uni-app npx degit dcloudio/uni-preset-vue#vite 项目名称VS Code 配置 为什么选择 VS Code &#xff1f; HbuilderX 对 TS 类型支持暂不完善VS…

unity记一下如何播放动画

我使用的版本是2022.3.14fc 展开你的模型树&#xff0c;是会出现这个三角形的东西的 然后在资源面板创建一个animation controller 进去之后&#xff0c;把三角形拖进去&#xff0c;就会出现一个动画&#xff0c;然后点击他 在左侧给他创建这么个状态名字&#xff0c;类型…

AskManyAI:一个GPT、Claude、Gemini、Kimi等顶级AI的决斗场

一直以来很多人问我能不能有个稳定&#xff0c;不折腾的全球AI大模型测试网站&#xff0c;既能够保证真实靠谱&#xff0c;又能够保证稳定、快速&#xff0c;不要老动不动就挂了、出错或者漫长的响应。 直到笔者遇到了AskManyAI&#xff0c;直接就惊艳住了&#xff01; 话不多…

第17天:信息打点-语言框架开发组件FastJsonShiroLog4jSpringBoot等

第十七天 本课意义 1.CMS识别到后期漏洞利用和代码审计 2.开发框架识别到后期漏洞利用和代码审计 3.开发组件识别到后期漏洞利用和代码审计 一、CMS指纹识别-不出网程序识别 1.概念 CMS指纹识别一般能识别到的都是以PHP语言开发的网页为主&#xff0c;其他语言开发的网页识…

springboot-tomcat冲突

maven tomcat版本冲突异常 记录一个错误 在项目启动时报错&#xff1a; java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsSessionListener.sessionCreated(Ljavax/servlet/http/HttpSessionEvent;)V 引入Session报错。 原因&#xff1a;Springboot默…

数据仓库—维度建模—维度表设计

维度表 维度表(Dimension Table)是数据仓库中描述业务过程中各种维度信息的表,用于提供上下文和描述性信息,以丰富事实数据的分析 维度表是维度建模的灵魂所在,在维度表设计中碰到的问题(比如维度变化、维度层次、维度一致性、维度整合和拆分等)都会直接关系到维度建模…

基于R语言实现的负二项回归模型【理解与实现】-理解负二项回归模型和泊松回归模型之间的区别

前言 我们可以在R语言中使用MASS包中的glm.nb函数来拟合负二项模型&#xff0c;以及使用glm函数来拟合泊松模型。以下是一个详细的过程&#xff0c;包括模拟数据的生成、模型的拟合、结果的比较和解释。 需要的包 if (!require("MASS")) install.packages("M…

【Leetcode每日一题】 分治 - 颜色分类(难度⭐⭐)(57)

1. 题目解析 题目链接&#xff1a;75. 颜色分类 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 算法思路解析 本算法采用三指针法&#xff0c;将数组划分为三个区域&#xff0c;分别用于存放值为0、1和2的元素。通过…

CentOS 7安装Zookeeper

说明&#xff1a;本文介绍如何在CentOS 7操作系统下使用Zookeeper 下载安装 首先&#xff0c;去官网下载所需要安装的版本&#xff0c;我这里下载3.4.9版本&#xff1b; 上传到云服务器上&#xff0c;解压 tar -xvf zookeeper-3.4.9.tar.gz修改配置 进入Zookeeper目录下的co…

3. 安装arrach结构的Mysql

提示&#xff1a;arm的centos上面安装arrach结构的Mysql 文章目录 前言一、查看已经安装过的并卸载mysql二、创建mysql用户组1.设置用户组2. 安装3.设置启动4.查看密码5.修改登录密码6.授权7.修改连接8.设置参数 常见问题排查1. 启动失败查看&#xff1a;2. 用户操作3. 踩坑解决…

【已开源】​基于stm32f103的爬墙小车

​基于stm32f103的遥控器无线控制爬墙小车&#xff0c;实现功能为可平衡在竖直墙面上&#xff0c;并进行移动和转向&#xff0c;具有超声波防撞功能。 直接上&#xff1a; 演示视频如&#xff1a;哔哩哔哩】 https://b23.tv/BzVTymO 项目说明&#xff1a; 在这个项目中&…

Unity 2D让相机跟随角色移动

相机跟随移动 最简单的方式通过插件Cinemachine 在窗口/包管理器选择全部找到Cinemachine&#xff0c;导入。然后在游戏对象/Cinemachine创建2D Camera。此时层级中创建一个2D相机。选中人物拖入检查器Follow。此时相机跟随人物移动。 修改相机视口距离 在检查器中Lens下调正…