一、摘要

电子商务场景:主要组成部分(用户ID、商品ID、产品ID、商店ID、品牌ID、类别ID等)

传统的编码两个缺陷:如onehot,(1)存在稀疏性问题,维度高(2)不能反映关系,以两个不同的id为例,无论它们是否相似,两种id都具有由一个热编码测量的恒定距离。以条目ID和存储ID为例,由于它们位于不同的空间,它们之间的关系甚至无法度量。

这些IDs中,可以是同质也可以是异质的。

本文提出了一个基于嵌入的框架来学习和传输ID的表示。

1、作为用户的隐式反馈,易从交互session中收集大量的项目ID序列。

2、通过联合实验这些信息序列和IDs之间的结构连接,所有类型的IDs可以嵌入到一个低维语义空间中。

3、学习到的embedding表示可在四个场景中被利用和转移:(1)测量项目之间的相似性(2)从已知的项目转移到未知的项目(3)转移跨不同领域(4)跨不同应用场景转移

二、引言

NLP:如单词嵌入(Word2vec),将单词嵌入到低维表示中,以捕获单词之间的语法与语义关系。

item2vec通过对交互序列中的项目ID共现进行建模,将项目ID嵌入到低维表示中。

本文扩展了item2vec,并提出了一个基于嵌入的框架来学习和传输所有类型id的低维表示。除了用户的隐式反馈之外,本文还考虑了项目ID和其他类型ID之间的结构连接(如图1)。

  • 衡量项目之间的相似性。
  • 从已看到的项目转移到未看到的项目。(冷启动,这意味着没有历史记录的项目ID对推荐系统是不可见的。)
  • 跨域传输。对于像盒马这样的新兴平台,很高比例的用户是新客户,因此个性化推荐是非常具有挑战性的。在我们的方法中,用户id的嵌入向量是通过聚合项id的嵌入向量来构造的。我们将看到这些向量可以从像淘宝这样的长期存在的平台上转移到新兴的平台上。

三、盒马平台背景

在传统的推荐框架中,点击率(CTR)是在用户和项目之间计算的。但是,由于用户项对太多,因此无法计算和存储所有用户和所有项之间的CTR分数。在本文的工作中,建议框架分为四个过程来克服这一挑战:

•准备。离线计算用户触发偏好得分(u2t)和触发项匹配得分(t2i),并将结果存储在密钥值数据库中,以实现高效的在线检索。

•匹配。对于每个用户访问,首先根据用户ID检索触发器,然后基于这些触发器获得推荐项的候选集。

•过滤。删除重复和无效的项目,如已售完的项目等。

•排名。根据综合得分对筛选出的项目进行排序,综合得分考虑了偏好得分、匹配得分和其他业务目标。

四、学习ID的表征方式

1、Skip-gram on User’s Interactive Sequences

17、Learning and Transferring IDs Representation in E-commerce笔记的更多相关文章

  1. 阅读记录:Learning multiple layers of representation(杂乱笔记)

    典型的浅层学习结构: 传统隐马尔可夫模型(HMM).条件随机场 (CRFs).最大熵模型(Maxent).支持向量机(SVM).核回归及仅含单隐层的多层感知器(MLP)等. 局部表示,分布式表示和稀疏 ...

  2. 论文解读(S^3-CL)《Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learning》

    论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...

  3. Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记

    Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记 arXiv 摘要:本文提出了一种 DRL 算法进行单目标跟踪 ...

  4. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  5. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  6. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(三) 补充 hector_slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  8. Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

随机推荐

  1. 创建Windows Service

    基本参照使用C#创建Windows服务,添加了部分内容 目录 创建Windows Service 可视化管理Windows Service 调试 示例代码 创建Windows Service 选择C# ...

  2. SQL Server表分区(转)

    什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在 ...

  3. python + selenium + unittest实现简单的UI自动化

    使用的版本是python 3,其中HTMLTestRunner是修改版本,参考以下博客并下载 https://blog.csdn.net/zhanin123/article/details/78950 ...

  4. LINGO与EXCEL之间的数据传递

    前言 LINGO 作为非线性规划运算的专用软件,得出结果一般都是纯文本的一列数据,要想将数据呈现到论文当中,需要整理到 EXCEL 中,使用复制粘贴容易出错还费时,所以必须要动用函数来提高效率! 案例 ...

  5. zookeeper实现的分布式锁

    在分布式系统中,多个jvm对共享资源进行操作时候,要加上锁,这就是分布式锁 利用zookeeper的临时节点的特性,可以实现分布式锁 public class ZookeeperDistrbuteLo ...

  6. SQL Server 特殊字符及中文汉字的处理

    简介 在SQL Server 中很多时候需要对一些字段中特殊的字符做处理,比如某个字段中包含一些回车.制表.换行等特殊字符(这些字符往往来源于Excel).这些特殊字符的存在可能导致无法提取到所需数据 ...

  7. C++静态库与动态库的区别

    在日常开发中,其实大部分时间我们都会和第三方库或系统库打交道.在 Android 开发音视频开发领域,一般会用到 FFmepg.OpenCV.OpenGL 等等开源库, 我们一般都会编译成动态库共我们 ...

  8. SQLite接口函数 - C核心api实践与总结

    SQLite核心源代码由C语言写就,同时提供了很多的扩展包可应用于其他编程语言和类库,如Python.Ruby.Java.Perl..Net/C#.Qt和ODBC.在很多情况下,针对一种语言有很多扩展 ...

  9. PB 将菜单中的部分按钮设置为某些页面不可选中

    if tab_1.selectedtab = 9 or tab_1.selectedtab = 10 then uo_toolbarstrip.of_enable(uo_toolbarstrip.of ...

  10. elasticsearch安全重启节点

    elasticsearch集群,有时候可能需要修改配置,增加硬盘,扩展内存等操作,需要对节点进行维护升级.但是业务不能停,如果直接kill掉节点,可能导致数据丢失.而且集群会认为该节点挂掉了,就开始转 ...