【论文笔记】Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba,KDD 2018

Abstract

该工作来自阿里和港科大,主要关注通过用户行为历史构建item图,学习图上所有item的embedding。为了图表示学习中稀疏性和冷启动问题,提出了两种方法结合item embedding和side information。该方法部署在淘宝平台,CTR取得了明显提高。

淘宝平台推荐的三个问题:

1)数据量大:已有的推荐算法可以在小数据集上有不错效果,但是对于百万用户,20亿商品这样海量的数据集上效果差。

2)稀疏性:用户仅与小部分商品交互,难以训练准确的推荐模型。

3)物品冷启动问题:物品上新频繁

本文根据为了解决这三个问题分别提出了三个模型:BES,GES,EGES

淘宝的首页推荐是基于用户过去的行为进行推荐。本文关注的问题在推荐系统的matching,也就是从商品池中召回候选商品的阶段。核心的任务是计算所有item的pairwise similarity。本文提出根据用户行为历史构建一个item graph,然后使用state-of-the-art的graph embedding方法学习每个item的embedding,这被称为Base Graph Embedding(BGE)。在该方式下,可以基于items的embeddings向量进行点积计算pairwise similarity。BGE优于CF,但是对于少量或者没有交互行为的item,仍然难以得到准确的embedding。为了减轻该问题,本文提出使用side information来增强embedding过程,提出了Graph Embedding with Side information (GES)。例如,属于相似类别或品牌的item的embedding应该相近。在这种方式下,即使item只有少量交互或没有交互,也可以得到准确的item embedding。在淘宝场景下,side information包括:category,brand,price等。不同的side information对于最终表示的贡献应该不同,于是本文进一步提出一种加权机制用于学习embedding with side information,称为Enhanced Graph Embedding with Side information (EGES)

根据用户行为历史构建item graph

之前基于CF的方法只考虑了项目的共现,但忽略了序列信息(可以更精准地影响使用者的偏好)。在实际中不可能使用用户的全部历史,因为(1)计算复杂度大(2)用户兴趣随着时间改变。在实际中设置一个时间窗口,只选取窗口内的用户行为,通常选取窗口大小为1个小时。这样取得的用户行为称为session-based users’ behavior。

如果两个item连续出现,则有一条有向边连接。基于在所有用户行为中这两个item出现的总次数,为每条边 eije_{ij}eij分配权重,该权重等于item i转移到item j的频次。 在抽取用户行为序列时,需要过滤掉噪声行为(无效/异常数据):

  • 停留时长少于1s
  • 过度活跃用户,可能是spam user
  • 同一个商品多次更新后id相同,但是可能变成不同item

BGE(Base Graph Embedding)

本文的基础框架,通过上述方法得到ietm graph。使用deep walk算法,经过随机游走得到序列,输入skip-gram进行训练。

GES(Graph Embedding with Side information)

Wv0{\bf W}_v^0Wv0 表示item v的embedding; Wvs{\bf W}_v^sWvs表示item v的s-th类型的side information的embedding。由此得到 n + 1 个向量 Wv0,...,...Wvn∈Rd{\bf W}_v^0,...,...{\bf W}_{v}^{n} \in \mathbb{R}^dW

### 关于 TIME-MOE 的实现 TIME-MOE 是一种基于混合专家(Mixture of Experts, MoE)架构的大规模时间序列基础模型。这种模型通过稀疏激活机制,在处理大规模数据集时能够达到密集模型的效果,同时保持较高的计算效率[^2]。 对于寻找 TIME-MOE 的 GitHub 仓库链接,目前公开的信息尚未提供具体的代码库地址。不过,考虑到 DeepSeek-Coder 系列模型采用了类似的 MoE 架构并已开源,可以推测 TIME-MOE 可能会遵循相似的开放策略[^1]。 为了帮助定位可能存在的 TIME-MOE 实现代码,建议关注以下几个方面: - **官方渠道**:定期查看发布方的技术博客或官方网站,等待正式发布的公告。 - **社区资源**:加入相关技术论坛或社交媒体群组,与其他开发者交流信息。 - **GitHub 搜索**:利用 GitHub 提供的高级搜索功能,尝试使用关键词组合如 "time moe", "billion scale time series" 进行检索。 ```python import requests from bs4 import BeautifulSoup def search_github(keyword): url = f"https://github.com/search?q={keyword}&type=repositories" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') repos = [] for item in soup.select('.repo-list-item'): title = item.find('a', class_='v-align-middle').text.strip() link = "https://github.com" + item.find('a')['href'] description = item.find('p', class_='mb-1').text.strip() if item.find('p') else '' repo_info = { 'title': title, 'link': link, 'description': description } repos.append(repo_info) return repos[:5] search_results = search_github("time moe billion scale") for result in search_results: print(f"{result['title']}\n{result['link']}\n{result['description']}\n\n") ``` 此脚本可以帮助自动化的在 GitHub 上执行上述提到的关键字搜索操作,并返回前五个匹配的结果。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值