教学参考-35

来自cslt Wiki
跳转至: 导航搜索

教学目标

  • 理解推荐与搜索两种不同的信息呈现方式
  • 了解基于相似性的推荐算法,了解两种相似性计算方法:基于特征(物品的属性,人的信息)的相似性和基于协同过滤的相似性。
  • 了解基于神经网络的推荐方法
  • 讨论推荐算法可能带来的问题


教学内容

推荐算法

  • 在浏览网上商店时,网站会给用户推荐一些可能感兴趣的商品,刺激用户消费。刷抖音和头条等视频和资讯网站时,系统会自动把一条条内容推荐给用户,不需要用户去搜索。浏览微博时,用户也会不时收到推荐的消息或博主。这些功能背后的算法都是类似的,称为推荐算法。
  • 推荐是继搜索之后另一种信息呈现方式。和搜索引擎需要用户主动提出搜索请求不同,推荐算法不需要用户做出搜索行为,而是通过分析用户的行为,“猜”出用户的喜好并推荐相应的产品、资讯以及好友。


基础推荐算法

  • 所有推荐算法都基于物品或用户之间的相似性,把相似的物品推荐给同一个用户,或把同一件物品推荐给相似的同户。
  • 基于物品相似性的推荐:当用户买了一个手机时,系统发现手机和无线耳机很相似,于是把无线耳机推荐给用户。
  • 基于用户相似性的推荐:如果两个用户相似,而其中一个用户购买了无线耳机,系统就把无线耳机推荐给另一个用户。
  • 相似性计算可以基于物品的属性(如类别,用途等)或用户的信息(如年龄,性别等)。这种方法的缺陷是当这些信息不足或不准确时,推荐会发生偏差。
  • 另一种相似性计算方法称为协同过滤(Collaborative Filtering)。这一方法通过购买记录来确定相似的物品或相似的用户:当两件物品被同一个用户购买时,则这两件物品相似;反之,当两个用户购买同一件物品时,这两个用户相似。


基于神经网络的推荐方法

  • 近年来,随着深度学习技术的发展,基于神经网络的推荐算法受到广泛关注。总体来说,这种方法的基本思路是“对象嵌入”,即将物品/用户映射成为固定维度的连续向量,在这一向量空间中相似的物品/用户距离相互接近,而不相似的物品/ 用户相互远离。
  • 例如,我们可以设主地一个简单的物品/用户嵌入模型。 在这一模型中,将用户的购物记录当成一句话,其中每个物品作为一个词。利用自然语言处理领域中的词向量训练方法,即可得到每个物品对应的“词向量”,也即物品向量。
  • 有了物品向量,将一个用户历史上所购买的所有物品对应的物品向量做平均,即可得到该用户的用户向量。
  • 基于该用户向量,不仅可以计算用户与用户之间的相似性,还可以对用户进行聚类,把他们划分成不同类型的客户群。有了这些信息,就可以对不同人群有针对性地设计推荐策略。
  • 本质上,神经网络方法也是一种相似性近计算方法。上述物品/ 用户嵌入模型的例子和协同过滤很相似,都是通过用户的购物行为信息建立用户之间以及物品之间的相关性和相似性。和协同过滤不同,深度神经网络方法采用了不同的距离计算方式。


推荐算法的社会争议

  • 推荐算法极大减少了用户索取信息的时间成本,同时也有利于打破信息垄断。麻省理工学院(MIT)在2021年发布的十大突破技术(10 Breakthrough Technologies)中指出,“TikTok推荐算法能够使普通人发表的内容有机会受到名人般的关注并流行起来,这是内容公平性的体现;而需求较为小众、细分的用户,也能看到符合自己兴趣的内容,则是用户角度公平性的体现”。
  • 然而,高精度推荐算法所引发的社会问题也越来越受到关注。一方面,推荐算法所收集的用户行为数据可能被用作不道德行为。例如,有的商家对高粘着度用户开出更高的价格,利用他们的忠诚度谋取利益。另一方面,推荐算法可能引起信息茧房问题:当机器努力去迎合人的趣味和意见时,用户只能看到让自己满意的信息,可能成为极端观点的温床。