无论我们使用 Spotify、亚马逊、Netflix 还是 Instagram,我们每天都会遇到向我们推荐内容或产品的算法。2017 年,Netflix 声称其用户发现的节目中约有 80% 是通过算法推荐。但是,当我查看这个流媒体平台为我提供的内容时,我常常只是适度地感到兴奋。例如,电视剧《环法自行车赛:解封》的匹配度为 98%,即使我对体育纪录片或自行车运动不感兴趣。在 Spotify、亚马逊或 Twitter(现在的 X)上,我也不断对算法向我展示的内容感到困惑。
然而,当我想到我需要一件新的雨衣时,我就会收到雨衣的广告。如果我允许,在线公司将收集各种各样的数据,包括我的网络冲浪行为和位置,他们会利用这些数据向我提供产品。所涉及的系统在不断改进。但是它们实际上是如何工作的呢?
许多连接可以用来生成推荐。例如,我喜欢慢跑,所以跑鞋和运动服适合我。但是产品之间的关系也很重要:手机壳与手机相关,同一类型的电影或同一作者的书籍也是如此。最后,用户之间可能存在联系。如果我和其他人一样喜欢《神探夏洛克》系列,那么我也可能喜欢他们喜欢的其他内容。
[阅读更多关于人工智能算法的内容]
关于支持科学新闻报道
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保有关塑造我们当今世界的发现和想法的具有影响力的故事的未来。
为了让推荐算法检查这些关系,它们需要大量数据。因此,许多提供商,例如 Netflix、亚马逊和 Spotify,要求用户对内容进行评分。但由于并非总是可靠地完成这项工作,因此一些算法也会访问其他信息——例如,具体的产品描述和客户数据,包括年龄、性别和位置。
有了足够的数据,基本上有两种方法可以进行推荐。第一种是“协同过滤”,它基于行为相似的其他用户的评分。第二种是基于内容的:用户收到与其先前正面评价过的项目相似的项目的推荐。两者都有优点和缺点,可以结合起来以获得更好的结果。
协同过滤
假设您想构建一个迷你 Netflix 平台,其中包含六部不同的电影和五个用户。用户已经观看并对其中一些电影进行了评分,评分范围从一到五(五分表示非常喜欢;一分表示非常讨厌)。您现在可以使用协同过滤系统来决定推荐哪些电影。您将评分写在一个表格中,其中列对应于电影,行对应于用户。在数学中,这种具有数值条目的列表状结构称为矩阵。

此矩阵显示了五个用户对一个假设的流媒体平台上六部电影的评分。来源:Spektrum der Wissenschaft/马农·比肖夫,由 Amanda Montañez 设计
由于并非每个人都看过所有六部电影,因此许多字段都是空的。这是推荐算法最挣扎的地方:它们必须根据稀疏的数据得出尽可能准确的结论。例如,要为用户 1 提供推荐,您可以尝试选择另一个口味相似的用户。但是您如何确定这种相似性呢?为了定义两个人偏好的远近程度,您可以求助于测度论的数学学科。
在日常生活中,有几种方法可以指定距离。例如,您可以通过在地图上绘制连接两个城市的直线并测量其长度来计算两个靠近的城市之间的距离。为了测量更长的距离,您可以将线缠绕在地球仪上,这样最短的路线就是一条曲线——毕竟,地球不是平坦的。或者,要从一个地方旅行到另一个地方,您可能需要考虑街道和道路来计算步行距离。

当您必须遍历网格(例如纽约市纵横交错的街道形成的网格)时,曼哈顿距离是指定两点之间距离的一种方法。来源:Psychonaut/公共领域 由 Amanda Montañez 设计
各种各样的度量和相似性度量可以为各种各样的目的定义,包括基因或单词的相似性。对于您的迷你 Netflix 系统,您可以为每个用户分配一个包含其相应评分的数字列表(称为向量)。这样,您就有了五条直线,每个用户一条,位于六维空间中(每个电影一个维度)。确定两个向量的相似性就是确定它们彼此之间的夹角。这个量称为余弦相似度。
.png?w=900)
为了在数学上确定两个人之间的口味相似性,可以将每个用户视为一个向量,并且可以将相似性度量为这些直线之间的夹角。来源:Amanda Montañez
在上面的示例中,用户 1 和用户 2,以及用户 1 和用户 3 可以进行比较,因为他们对一些相同的电影进行了评分。用户 1 和用户 2 都对奥本海默给予了很好的评价。另一方面,用户 1 和用户 3 对星际穿越和夺宝奇兵得出了不同的结果。要计算两个向量之间的夹角,您可以使用标量积将它们相乘,然后除以两个向量的长度。对上面的示例执行此操作表明,用户 1 和用户 2 之间的夹角小于用户 1 和用户 3 之间的夹角。简而言之,用户 1 和用户 2 的口味似乎比用户 1 和用户 3 更相似。由于用户 2 喜欢芭比,而用户 1 尚未看过这部电影,因此您可以向用户 1 推荐它。
当然,当 Netflix 这样做时,有更多的用户具有相似的口味。因此,对个人的推荐会结合来自多个人的数据。
稀疏数据问题
协同过滤系统最严重的缺点是数据不足。这就是为什么 Netflix 通常会在您注册时要求您对已经看过的内容进行评分。但即使是这种方法也有其缺陷:仅仅因为我喜欢奥本海默并不意味着我喜欢所有历史电影,而另一个奥本海默的粉丝可能就是这种情况。此外,一些平台使用其他数据——例如年龄、性别或在线行为——来筛选相似的兴趣。例如,一些提供商会跟踪用户查看某些内容的时间或人们访问的其他网站。
此信息会生成一个巨大的、不断变化的矩阵,该矩阵随着每个新用户或产品的增加而增长。为了获得最佳结果,您必须不断重新评估矩阵。这项任务甚至对 Netflix 和亚马逊等大型公司也造成了计算能力限制。
为了发现海量数据中的模式,公司使用了来自线性代数的常用方法,例如 奇异值分解 或主成分分析。其思想是将矩阵表示为更简单矩阵的乘积——类似于数字的素因数分解。更简单的矩阵还包含有关用户偏好的信息,这些信息更容易访问。通过这种方法,人们可以将与矩阵中小数值相对应的非必要信息近似为零。将近似的简单矩阵重新相乘在一起会产生一个新矩阵,该矩阵与原始矩阵相似,但形状更简单。计算机可以更好地处理它以发出推荐。
人工智能模型越来越多地用于处理这些数据。自学习算法经过训练可以识别数据中的模式,因此它们也可以预测一个人可能喜欢的内容。公司通常将此类系统与一种称为强化学习的技术结合使用:模型通过用户反馈不断发展。例如,如果向您推荐了新电影芭比,但您的评分很差,则系统会从中学习,以便在将来为您提供更好的建议。
基于内容的推荐
除了将用户彼此关联之外,您还可以将产品与其他产品关联。亚马逊在 2003 年 推出了这样的系统。要在此原则上构建迷你 Netflix 平台,您需要反转表格:行对应于电影,列对应于用户。要添加缺失的评分——例如,“用户 1 会喜欢芭比吗?”——请查找相似的电影。例如,如果其他用户对奥本海默和沙丘的评分与芭比相似,则可以认为这些内容相似。
亚马逊已经发现这个系统取得了成功,并继续开发它。产品之间的关系至关重要:例如,跑鞋通常与运动服和水瓶相关联。将其与其他方法结合使用,可以在网站上产生更强大的预测。
虽然协同方法依赖于大量用户数据,但基于内容的推荐侧重于被推荐的产品。人们可以按类型、导演、演员、时长等对电影进行分类。此步骤是部分自动化的。通过比较用户对相关类别的偏好,可以快速提出建议。如果一个人观看科幻电影星际穿越,然后观看由演员瑞恩·高斯林联合主演的芭比,则基于内容的系统可能会推荐银翼杀手 2049,这是一部由高斯林主演的科幻电影。您还可以使用余弦相似度来比较您已经看过的内容与其他产品。
这种方法的优点是您不需要明确地对用户进行评分。更重要的是正确地描述产品——算法可以接管的任务。
现在大多数推荐算法都使用由协同系统和基于内容的系统组成的混合方法。Netflix 根据用户行为和与其他用户的相似性提出建议,但它也考虑了类型、演员、发行年份和其他属性方面的偏好。此外,该平台还会评估您喜欢使用它的时间、您喜欢使用它的时长以及您使用的设备。但是“推荐系统不包括人口统计信息(例如年龄或性别)作为决策过程的一部分”,Netflix 声明。
这些系统应该有多透明?
推荐算法是许多社交媒体平台的核心——因此,公司希望对其保密也就不足为奇了。中国视频门户网站 TikTok 之所以如此受欢迎,主要是因为它非常擅长向用户推荐有趣的内容。2023 年 3 月,Twitter(现称为 X)在 GitHub 上公布了其推荐算法,并解释了系统的工作原理:为了使内容出现在个人的时间线上,首先收集来自各种“推荐来源”的最佳推文,然后由人工智能模型对其进行评估。来自被屏蔽的人或已经看过的推文将被过滤掉。
但是,IT 开发人员托马斯·迪姆森(Thomas Dimson)写道,发布推荐算法的源代码实际上并不能提高流程的透明度,他领导了 Instagram 原始评分算法的设计,在现已倒闭的科技新闻网站 Future 上的一篇文章中。“它们有数十亿个权重,这些权重以微妙的方式相互作用以做出最终预测;查看它们就像希望通过检查单个脑细胞来理解心理学,”迪姆森认为。
然而,使算法完全透明可能会产生其他问题。例如,2006 年,Netflix 向提交最佳推荐算法的开发人员提供了 100 万美元。该流媒体服务提供了包含 100,480,507 个评分的训练数据,这些评分是 480,189 名用户为 17,770 件内容提交的。2008 年,尽管数据是匿名化的,但德克萨斯大学奥斯汀分校的两名研究人员能够根据他们在电影数据库 IMDb 上的评分识别出一些用户。
这就是为什么 Facebook 和 Instagram 背后的公司 Meta 正在采取不同的透明度方法,解释为什么会出现某些内容。Meta 在 2023 年 6 月宣布,它将使用巨大的人工智能模型,“甚至比当今使用的最大语言模型还要大”,用于其推荐。它还将 Instagram 第一季度花费的时间增加了 24% 归功于其对人工智能模型的使用,这要归功于 TikTok 风格的人工智能 Reels 推荐。
鉴于人工智能的最新进展,尤其是语言模型的进展,推荐算法的精度很可能在未来得到提高。然而,随着模型尺寸的增加,透明度会降低——并且算法使用哪些用户相关数据仍然不清楚。并非每个人都对当前的进展印象深刻。记者 Devin Coldewey 在 TechCrunch 上写道,Meta 想要“在我浏览网络寻找新雨衣时监视我,并表现得好像第二天为我提供雨衣广告是先进人工智能的壮举。”
的确,推荐算法有助于解释为什么我们中的许多人感觉我们的智能手机在监视我们。如果您与某人谈论雨衣,片刻之后,该商品就会出现在 Instagram 或 Facebook 上,这不是因为您被录音了。相反,Meta 正在非常精确地分析您的联系人、您的位置和您的在线行为。结果是复杂的推荐,不涉及任何非法窃听。
本文最初发表于《科学世界》杂志,并经许可转载。