“教学参考-35”版本间的差异

来自cslt Wiki
跳转至: 导航搜索
(以“==教学目标== * 了解倒排索引对搜索引擎的重要意义 * 了解Pagerank算法在评估网页重要性中的作用 ==教学内容== ===什么是搜...”为内容创建页面)
 
第1行: 第1行:
 
==教学目标==
 
==教学目标==
  
* 了解倒排索引对搜索引擎的重要意义
+
* 理解推荐与搜索两种不同的信息呈现方式
* 了解Pagerank算法在评估网页重要性中的作用
+
* 了解基于相似性的推荐算法,了解两种相似性计算方法:基于特征(物品的属性,人的信息)的相似性和基于协同过滤的相似性。
 +
* 了解基于神经网络的推荐方法
 +
* 讨论推荐算法可能带来的问题
  
  
第9行: 第11行:
  
  
===什么是搜索引擎===
+
===推荐算法===
  
* 互联网上有海量资源,而且每天在以惊人的速度增长,没有谁能记住自己想要资源在什么地方。这就像一个宝藏丰富的大陆缺少藏宝地图,资源再多也没有意义。搜索引擎就是这个藏宝地图,它能帮助我们快速找到想要的资源。
+
* 在浏览网上商店时,网站会给用户推荐一些可能感兴趣的商品,刺激用户消费。刷抖音和头条等视频和资讯网站时,系统会自动把一条条内容推荐给用户,不需要用户去搜索。浏览微博时,用户也会不时收到推荐的消息或博主。这些功能背后的算法都是类似的,称为推荐算法。
* 最早的搜索引擎可能是 1990 年的 Archie 系统,这一系统是针对 FTP服务资源的搜索器。 1993 年,第一个面向网页的搜索引擎 World Wide Web Wanderer 出现。
+
* 推荐是继搜索之后另一种信息呈现方式。和搜索引擎需要用户主动提出搜索请求不同,推荐算法不需要用户做出搜索行为,而是通过分析用户的行为,“猜”出用户的喜好并推荐相应的产品、资讯以及好友。
* 1996 年, Larry Page 与 Sergey Brin 在斯坦福大学开始名为 BackRub的研究项目,这一项目成为 Google 的前身。 1998 年, Google 公司正式成立,成为搜索界乃至整个互联网时代毫无悬念的霸主。
+
* 2000 年,百度公司作为技术提供商上线,并很快成为国内搜索引擎的龙头。
+
  
===搜索引擎的基本原理:倒排索引===
 
  
*( 搜索引擎要解决的第一个问题是如何在海量数据里搜索到相关的文章。例如,我们想要搜索和”谷歌地图”相关的文档。最直观的做法是把网上的文章一篇篇拿过来检查一下,看看是否包含“谷歌”和”地图”这两个词。显然,这种做法太慢了,而且随着网上文档的增长,搜索的速度会越来越慢。
+
===基础推荐算法===
* 人们提出了一种称为“倒排索引”的方案。
+
:* 确定一批关键词,如“谷歌”, “地图”, “之父”等,为每个关键词建立一个空的索引项,称为倒排索引。
+
:* 离线处理每篇文章,如果它包含某个关键词K,则把这篇文章加入到K的倒排索引中。处理完成后,每个关键词的倒排索引中就包含了所有与之相关的文档。右图是用5篇文档生成的一个倒排索引表。
+
:* 处理搜索请求时,如“谷歌创始人”,首先查找“谷歌”和“创始人”的倒排索引,找到各自对应的文档。如果某个文档在两个关键词的倒排索引中都存在,则该文档被定位为与搜索请求相关。在右图的倒排索引中,文档3是最匹配的结果。
+
* 在实际搜索引擎中,倒排索引除了关键词所在的文章外,还记录了该关键词在该文章中的位置以及一些特别属性,比如是否在标题中、是否是高亮词、字体的大小等,这些属性可以用在相关性计算中,用以提高输出排序的合理性。
+
  
 +
* 所有推荐算法都基于物品或用户之间的相似性,把相似的物品推荐给同一个用户,或把同一件物品推荐给相似的同户。
 +
* 基于物品相似性的推荐:当用户买了一个手机时,系统发现手机和无线耳机很相似,于是把无线耳机推荐给用户。
 +
* 基于用户相似性的推荐:如果两个用户相似,而其中一个用户购买了无线耳机,系统就把无线耳机推荐给另一个用户。
 +
* 相似性计算可以基于物品的属性(如类别,用途等)或用户的信息(如年龄,性别等)。这种方法的缺陷是当这些信息不足或不准确时,推荐会发生偏差。
 +
* 另一种相似性计算方法称为协同过滤(Collaborative Filtering)。这一方法通过购买记录来确定相似的物品或相似的用户:当两件物品被同一个用户购买时,则这两件物品相似;反之,当两个用户购买同一件物品时,这两个用户相似。
  
===网页重要性评价===
 
  
* 另一种方式是基于网页间的链接来判断网页的重要性。我们知道一个网页中往往会有一些超链接,用户点击这些链接会指向其他网页。如果一个网页被很多网页链接,那么有理由相信该网页比较重要。
+
===基于神经网络的推荐方法===
* 如果我们将网页之间的链接关系表示成一张图,其中节点表示网页,节点间的边表示两个网页之间存在链接,边的方向代表链接指向。依前述讨论,如果某个节点被很多边链接,则该节点是一个重要节点,对应的网页比较重要。
+
 
* 按照外部链接个数来判断网页重要性并不完全准确,因为不同的链接本身的重要性是不一样的:来自重要网页的链接比来自普通网页的链接应更受重视。换句话说,如果当前网页被某个重要网页链接,说明这个网页自身也是重要的。基于这一思路,在计算网页重要性时可以将链接的重要性考虑在内,使得重要性的计算更合理。
+
* 近年来,随着深度学习技术的发展,基于神经网络的推荐算法受到广泛关注。总体来说,这种方法的基本思路是“对象嵌入”,即将物品/用户映射成为固定维度的连续向量,在这一向量空间中相似的物品/用户距离相互接近,而不相似的物品/ 用户相互远离。
* 谷歌的PageRank算法实现了这一思路。初始时,所有网页的重要性都是一样的,但每个网页都会向它链出的网页发送信息,网页根据它所接收的信息更新自身重要性。如果一个网页被很多网页链接,它会收到更多信息,重要性会增加。这样循环迭代更新,最后达到稳定状态时,每个网页的重要就可以计算出来了。
+
* 例如,我们可以设主地一个简单的物品/用户嵌入模型。 在这一模型中,将用户的购物记录当成一句话,其中每个物品作为一个词。利用自然语言处理领域中的词向量训练方法,即可得到每个物品对应的“词向量”,也即物品向量。
 +
* 有了物品向量,将一个用户历史上所购买的所有物品对应的物品向量做平均,即可得到该用户的用户向量。
 +
* 基于该用户向量,不仅可以计算用户与用户之间的相似性,还可以对用户进行聚类,把他们划分成不同类型的客户群。有了这些信息,就可以对不同人群有针对性地设计推荐策略。
 +
* 本质上,神经网络方法也是一种相似性近计算方法。上述物品/ 用户嵌入模型的例子和协同过滤很相似,都是通过用户的购物行为信息建立用户之间以及物品之间的相关性和相似性。和协同过滤不同,深度神经网络方法采用了不同的距离计算方式。
 +
 
 +
 
 +
===推荐算法的社会争议===
 +
 
 +
* 推荐算法极大减少了用户索取信息的时间成本,同时也有利于打破信息垄断。麻省理工学院(MIT)在2021年发布的十大突破技术(10 Breakthrough Technologies)中指出,“TikTok推荐算法能够使普通人发表的内容有机会受到名人般的关注并流行起来,这是内容公平性的体现;而需求较为小众、细分的用户,也能看到符合自己兴趣的内容,则是用户角度公平性的体现”。
 +
* 然而,高精度推荐算法所引发的社会问题也越来越受到关注。一方面,推荐算法所收集的用户行为数据可能被用作不道德行为。例如,有的商家对高粘着度用户开出更高的价格,利用他们的忠诚度谋取利益。另一方面,推荐算法可能引起信息孤岛问题:当机器努力去迎合人的趣味和意见时,用户只能看到让自己满意的信息,可能成为极端观点的温床。

2022年8月19日 (五) 13:57的版本

教学目标

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


教学内容

推荐算法

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


基础推荐算法

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


基于神经网络的推荐方法

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


推荐算法的社会争议

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