电商序列推荐算法

server/2024/10/11 0:00:22/

基本思路:

任务描述:针对Amazon和淘宝百万级用户点击、购买数据,采用多行为路径联合建模,预测用户感兴趣商品。

个人工作:(1)特征工程:对点击、购买数据进行跨场景融合,用GraphEmbedding的EGES法补充稀疏矩阵数据,筛选同质性、结构性商品。(2)Embedding召回:基于特征工程生成的结果进行基于embedding的召回,融合流行度、兴趣标签等附加信息。

(3)多目标排序:采用DIEN对序列数据建模,增加历史点击数据排序,预估点击率、转化率。最终MRR为0.40,AUC为0.71。

1. sentence bert是怎么用的?

在计算语义相似度时,需要将两个句子同时进入模型,进行信息交互,这造成大量的计算开销。有10000个句子,我们想要找出最相似的句子对,需要计算(10000*9999/2)次,需要大约65个小时。Bert模型的构造使得它既不适合语义相似度搜索,也不适合非监督任务,比如聚类。

sentence bert: 将不同的句子输入到两个bert模型中(但这两个bert模型是参数共享的,也可以理解为是同一个bert模型),获取到每个句子的句子表征向量;而最终获得的句子表征向量,可以用于语义相似度计算,也可以用于无监督的聚类任务。对于同样的10000个句子,我们想要找出最相似的句子对,只需要计算10000次,需要大约5秒就可计算完全。

其实本质上他的优化方式就是先算embedding(句向量)再做余弦相似度,而不是先concat。他这样做的好处就是把bert当做一个word2vec方法,每个句子生成一个句向量(很小),然后计算余弦相似度。cos的复杂度忽略不计,整个计算量就在10000次bert上。每次输入一个句子,有几种方式:(1)句首加cls,cls对应的输出就是句向量(2)平均池化,句子所有输出做平均,(3)最大池化

2. EGES enhanced graph embedding with side information

2.1 通过user行为序列构建有向有权图。

每个用户的点击,根据时间分sessions,用所有sessions构建item graph。(比如user1按顺序点击了DAB,隔了段时间点击了DEF)就连接D->A>B, D->E>F. 所有session合起来就生成了graph。

对物品graph进行随机游走,生成一系列序列,再通过skip-gram进行embedding

2.2 deepwalk的建立步骤:

deepwalk生成的是无向无权图。

数据格式:user-user无连接,item-item无连接,user-item互相连接

记录用户点击数据,考虑边的权重按照冷门特征计算

3. 基于embedding的召回方法

结合观看特征、搜索特征(历史多条信息)的embedding进行池化,concat起来,加上用户的静态属性(年龄性别用非线性函数编码),再放到relu里,三层relu就是三个线性层,经过后做softmax来预估类别概率。

通过这种embedding方式预训练得到的用户embedding,通过最近邻搜索法再与物品向量找最近的topN,作为召回结果。

embedding作为预训练,而不是端到端训练,好处就是embedding本身参数量比较大,训练很慢

Embedding层通过embedding预训练得到。预训练的方式是用FNN模型。先用FM来初始化FNN的embedding权重

预训练就是与推荐独立开来,虽然与DNN训练割裂会损失一定的信息,但是这样提高了灵活性,物品和用户的embedding比较稳定,就可以训练频率比较低。


http://www.ppmy.cn/server/129854.html

相关文章

Docker 的数据管理

一、容器中数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。 1.数据卷 数据卷是一个供容器使用的特殊目录,同时数据卷是宿主机中的…

WordPress修改固定链接后301的重定向方法

网站改版实际上是很忌讳的,尤其是针对已被搜索引擎收录的网站,新站不用考虑这些问题,而已经收录的网站网页在不遵守搜索引擎规则的前提下,是会被降权,关键词排名下滑、流量IP会被剥夺、收录会减少 、业务成交量会急剧下…

ChatGPT国内中文版镜像网站整理合集(2024/10/06)

一、GPT中文镜像站 ① yixiaai.com 支持GPT4、4o以及o1,支持MJ绘画 ② chat.lify.vip 支持通用全模型,支持文件读取、插件、绘画、AIPPT ③ AI Chat 支持GPT3.5/4,4o以及MJ绘画 1. 什么是镜像站 镜像站(Mirror Site&#xff…

Mac电脑word文档误删,4个方法快速恢复

对于使用Mac的用户来说,丢失重要的Word文档可能会为学习或工作带来严重的影响。不过,幸运的是,关于mac word 文档恢复方法还是有很多的,通常帮助Mac用户轻松找回丢失的word文档。接下来,小编将介绍一些在Mac上恢复丢失…

免费简洁的程序员画图工具:Pollyoyo

作为一名程序员,我经常会画一些图,如技术方案中必不可少的流程图、时序图和架构图。这些图片可以让我更好的思考,并且在团队中进行高效交流。 图片是一种表达方式。 目前互联网上有很多绘图的工具,如: DrawioExcalidr…

使用 Spring Boot 在电商平台中动态调整促销信息

业务背景 在电商平台上,促销活动是吸引用户的重要手段之一。然而,促销活动的状态(如开始、结束)可能会频繁变化,而这些变化需要实时反映在商品详情页上。如果每次促销状态改变都需要重新部署应用或者手动更改代码&…

java方法对象案例

完成电影信息展示功能;根据电影id查询该电影的详细 主方法: package Y; import java.util.Scanner; public class 模仿电影系统main { //目标:完成电影信息展示功能;根据电影id查询该电影的详细 //电影数据// 1,"水门桥&q…

使用vscode调试wails项目(golang桌面GUI)

文章目录 安装 Golang 环境安装 NPM安装 VSCode安装 Go 插件安装 Go 插件依赖工具安装 Wails系统检查 准备项目Visual Studio Code 配置安装和构建步骤参考资料 安装 Golang 环境 访问 golang 官网下载环境安装包:https://go.dev/dl/ 安装 NPM 从 Node 下载页面 …