当前位置: 首页 > news >正文

电商序列推荐算法

基本思路:

任务描述:针对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.mrgr.cn/news/47399.html

相关文章:

  • Git:Cherry-Pick 的使用场景及使用流程
  • Spring bean的生命周期和扩展
  • iostat命令详解
  • istoreos安装tailscale命令
  • 通过Apache、Nginx限制直接访问public下的静态文件
  • 视频转码对画质有影响吗?视频融合平台EasyCVR支持哪些转码格式?
  • 基于springboot的大学生体质测试管理系统(含源码+sql+视频导入教程)
  • 【云原生】利用 docker api 管理容器
  • HWS赛题 入门 MIPS Pwn-Mplogin(MIPS_shellcode)
  • 二分法(Bisection Method)求解方程 f(x)=0近似解(MATLAB)
  • 基于java的零食销售系统(源码+定制+开发)
  • 前端_001_html扫盲
  • 逼近理论及应用精解【14】
  • HT8312 内置高效率自适应电荷泵升压,防削顶失真功能,DIAB切换的5.2W单声道高保真音频功率放大器
  • Vue3 ECharts看板
  • 全网最详细k8s搭建部署
  • IPguard与Ping32敏感内容防护能力对比,两款知名防泄密软件对比
  • Qt和c++面试集合
  • 10.10 Qt定时器和Tcp通信
  • (八)Proteus仿真STM32单片机GPIO驱动数码管
  • LLM - 配置 ModelScope SWIFT 环境与 Qwen2-VL 模型推理 教程 (1)
  • Shell编程-什么是shell
  • 【含文档】基于Springboot+Android的校园论坛系统(含源码+数据库+lw)
  • 10.10 QT服务器与客户端
  • jfif怎么转换成jpg格式?值得推荐的几种图片格式转换方法
  • 7-基于国产化FT-M6678+JFM7K325T的6U CPCI信号处理卡