推荐系统简明教程-概述

本文为《推荐系统简明教程》的第一篇,该系列文章分为概述、召回、排序三篇,文末给出了另外两篇的链接。

如今,各大互联网公司都利用推荐系统来帮助用户发现新的内容(商品、视频、新闻、音乐、广告等),带给用户更好体验的同时增加公司的收入。

本系列文章提供了一份推荐系统简明教程,旨在帮助新入门的同学了解工业界推荐系统的技术原理。

什么是推荐系统?

淘宝如何猜出你喜欢的商品?抖音如何知道您接下来想看什么视频?网易云音乐如何知道您想听的歌曲?其实背后都是靠基于机器学习的推荐模型来决定你对哪个商品或视频更喜欢,然后将您最可能喜欢的条目推荐给你。

通常有两种类型的推荐:主页推荐和相关条目推荐

  • 主页推荐

主页推荐是基于用户已知兴趣的个性化推荐,每个用户看到的推荐列表是不同的(千人千面)。

如果你打开淘宝APP的主页,你看到的列表可能是这样的:

  • 相关条目推荐

顾名思义,相关条目是对特定条目的相似推荐。 在淘宝APP应用示例中,查看Adidas跑步鞋页面的用户可能还会看到一组相关商品,例如Nike跑步鞋或其他跑步鞋。

为什么需要推荐系统?

推荐系统可帮助用户在大型语料库中找到引人注目的内容。 例如,淘宝上有数千万乃至上亿的商品,而抖音提供数十亿个视频。 每天都会添加更多商品和视频。 用户如何找到引人注目的新内容? 当然,您可以使用搜索来访问内容。 但是,推荐引擎可以提供给用户没有想到去搜索的,但同样对用户有价值的内容。

术语

在我们深入之前,您应该了解一些术语:

  • 条目(Item)

推荐系统的实体。 对于淘宝来说,这些条目是用户要购买的商品。 对于抖音,这些条目是视频。

  • 查询(Query)

推荐系统用以给出推荐的相关信息,查询可以是以下各项的组合:

用户信息:用户的ID,用户先前与之产生交互的条目
上下文信息:一天中的时间,用户的设备
条目信息:商品名称,商品类别
  • 嵌入(Embedding)

从离散集合(查询集或要推荐的条目)到嵌入(Embedding)空间的向量空间映射。 许多推荐系统都依赖于学习查询和项目的合理嵌入(Embedding)表示。

推荐系统架构

推荐系统的一种通用体系架构由三部分组成:召回打分、重排

召回(粗排)

在此第一阶段,系统从潜在的庞大语料库开始,并生成更小的候选集。例如,抖音中的召回将从数十亿个视频中选出数百或数千个。考虑到语料库的庞大规模,该模型需要快速评估查询。给定模型可以有多个召回队列,每个召回队列都筛选出不同类型的候选子集。

计分(精排)

接下来,另一个模型对候选集进行评分和排序,以选择要显示给用户的集合(大约10个)。由于此模型评估的是商品的相对较小子集,因此系统可以依靠其他信息来使用更精确的模型。

重排(调序)

最后,系统必须考虑最终排名的其他限制。例如,系统删除用户明确不喜欢的项目或提高时效内容的得分。重新排序还可以帮助确保多样性,时效性和公平性。

编辑于 2019-10-21 23:15