搜索引擎主题模型优化(如何在*敏*感*词*数据上实现各种推荐策略的最好途径?)

优采云 发布时间: 2022-01-25 03:11

  搜索引擎主题模型优化(如何在*敏*感*词*数据上实现各种推荐策略的最好途径?)

  《探秘推荐引擎》系列将带领读者由浅入深探索推荐引擎的机制和实现方法。它还涉及一些基本的优化方法,例如聚类和分类的应用。同时,在理论讲解的基础上,结合Apache Mahout,介绍如何在*敏*感*词*数据上实现各种推荐策略,优化策略,构建高效的推荐引擎。作为本系列的第一篇文章,本文将介绍推荐引擎的工作原理,以及所涉及的各种推荐机制,以及各自的优缺点和适用场景,

  信息发现

  现在我们已经进入了一个数据爆炸的时代。随着Web2.0的发展,Web已经成为数据共享的平台,如何让人们在海量数据中找到自己需要的信息将变得越来越难。

  在这样的情况下,搜索引擎(谷歌、必应、百度等)成为大家快速找到目标信息的最佳途径。当用户对自己有比较明确的需求时,使用搜索引擎通过关键词搜索快速找到自己需要的信息是非常方便的。然而,搜索引擎并不能完全满足用户对信息发现的需求,因为很多情况下,用户并不真正了解自己的需求,或者他们的需求很难用简单的关键词来表达。或者他们需要更符合个人口味和喜好的结果,所以就有了推荐系统,对应一个搜索引擎,大家都习惯称它为推荐引擎。

  随着推荐引擎的出现,用户获取信息的方式已经从简单的针对性数据搜索转变为更符合人们使用习惯的更高级的信息发现。

  如今,随着推荐技术的不断发展,推荐引擎已经在电子商务(电子商务,如亚马逊、当当)和一些基于社交的社交网站(包括音乐、电影和书籍分享,如豆瓣、 Mtime等)已经非常成功。这进一步说明在Web2.0环境下,面对海量数据,用户需要这种更智能的信息发现机制,更了解自己的需求、品味和喜好。

  推荐引擎

  推荐引擎对当前 Web2.0 站点的重要性前面已经介绍过了。在本章中,我们将讨论推荐引擎的工作原理。推荐引擎利用特殊的信息过滤技术向可能对它们感兴趣的用户推荐不同的项目或内容。

  图1.推荐引擎的工作原理

  

  图1展示了推荐引擎的工作原理。在这里,推荐引擎被视为一个黑匣子。它接受的输入是推荐的数据源。一般来说,推荐引擎所需的数据源包括:

  显性的用户反馈可以准确反映用户对物品的真实喜好,但需要用户付出额外的成本,而隐性的用户行为,通过一些分析和处理,也可以反映用户的喜好,但数据不是很准确。在分析某些行为时存在很多噪音。但是只要选择了正确的行为特征,隐式的用户反馈也能得到很好的效果,只是行为特征的选择在不同的应用中可能会有很大差异,比如电子商务中的网站,购买行为其实是一种可以很好地表达用户偏好的隐式反馈。

  推荐引擎可能会根据不同的推荐机制使用一些数据源,然后根据这些数据分析某些规则或直接预测用户对其他项目的偏好。这样,推荐引擎可以在用户进入时推荐用户可能感兴趣的项目。

  推荐引擎的分类

  推荐引擎的分类可以基于很多指标。让我们一一介绍:

  推荐引擎是否为不同的用户推荐不同的数据?

  根据这个指标,推荐引擎可以分为基于公共行为的推荐引擎和个性化推荐引擎。

  这是最基本的推荐引擎分类。事实上,所讨论的推荐引擎大部分都是个性化推荐引擎,因为从根本上说,只有个性化推荐引擎才是更智能的信息发现过程。

  根据推荐引擎的数据来源

  其实我们这里讲的是如何找到数据的相关性,因为大部分推荐引擎的工作原理是基于相似的物品集合或用户进行推荐。那么,参考图1给出的推荐系统*敏*感*词*,根据不同数据源发现数据相关性的方法可以分为以下几种:

  根据推荐模型的构建方式

  可以想象,在一个拥有大量物品和用户的系统中,推荐引擎的计算量是相当大的。为了实现实时推荐,必须建立推荐模型。推荐模型的建立可以分为以下几种:

  事实上,在目前的推荐系统中,很少有推荐引擎只使用一种推荐策略。一般在不同的场景下采用不同的推荐策略,以达到最好的推荐效果。比如亚马逊的推荐会根据用户自己的历史购买数据推荐,根据用户当前浏览的商品推荐,根据热门偏好推荐给不同地区的用户,让用户可以找到他们的真实感受来自全方位的推荐。感兴趣的项目。

  深度推荐机制

  本章篇幅将详细介绍每种推荐机制的工作原理、优缺点以及应用场景。

  基于人口统计的建议

  基于人口统计的推荐是最容易实现的推荐方法之一。它只是简单地根据系统中用户的基本信息找出用户的相关度,然后将相似用户喜欢的其他商品推荐给当前用户。用户,图 2 显示了此建议的工作原理。

  图2. 基于人口统计的推荐机制是如何工作的

  

  从图中可以清楚地看出,首先,系统对每个用户都有一个用户Profile建模,其中包括用户的基本信息,比如用户的年龄、性别等;计算用户的相似度,可以看到用户A和用户C的profile相同,那么系统会将用户A和用户C视为相似用户,在推荐引擎中,他们可以称为“邻居”;最后,根据“邻居”用户组的偏好向当前用户推荐一些物品,将用户A喜欢的物品A推荐给图中的用户C。

  这种基于人口统计的推荐机制的好处是:

  因为没有使用当前用户对项目的偏好历史数据,所以对于新用户不存在“冷启动”问题。这种方法不依赖于item本身的数据,所以这种方法可以在不同的item域中使用,是域无关的。

  那么这种方法有哪些缺点和问题呢?这种根据用户的基本信息对用户进行分类的方法过于粗糙,尤其是在书籍、电影、音乐等品味要求较高的领域,并不能得到好的推荐结果。或许在一些电商网站中,这种方法可以给出一些简单的推荐。另一个限制是,这种方法可能会涉及到一些与信息发现问题本身无关的敏感信息,比如用户的年龄,这些信息不容易获取。

  基于内容的推荐

  基于内容的推荐是推荐引擎初期使用最广泛的推荐机制。其核心思想是根据被推荐物品或内容的元数据发现物品或内容的相关性,然后根据用户过去的偏好记录向用户推荐。用户相似的项目。图 3 展示了基于内容推荐的基本原理。

  图3. 基于内容的推荐机制基本原理

  

  图 3 显示了基于内容推荐的典型示例。对于电影推荐系统,我们首先需要对电影的元数据进行建模。这里我们只简单描述一下电影的类型;然后我们通过电影的元数据找到它。电影之间的相似性,因为两个类型都是“爱情、爱情”电影A和C被认为是相似的电影(当然,仅仅基于类型是不够的,为了得到更好的推荐,我们还可以考虑电影的导演,演员等);最后实现推荐,对于用户A,他喜欢看电影A,那么系统可以向他推荐类似的电影C。

  这种基于内容的推荐机制的优势在于它可以很好地模拟用户的口味并提供更准确的推荐。但它也存在以下问题:

  项目需要分析和建模,推荐的质量取决于项目模型的完整性和全面性。在当前的应用程序中,我们可以观察到 关键词 和标签被认为是描述项目元数据的一种简单而有效的方式。物品相似度的分析只依赖于物品本身的特征,不考虑人们对物品的态度。因为需要根据用户过去的偏好历史进行推荐,所以对于新用户来说存在“冷启动”问题。

  虽然这种方法有很多缺点和问题,但它已经成功应用于一些电影、音乐和书籍的社交网站,还有一些网站还邀请专业人员对物品进行基因编码,比如潘多拉,在一份报告中说,在潘多拉的推荐引擎,每首歌曲都有100多个元数据特征,包括歌曲的风格、年份、艺术家等。

  基于协同过滤的推荐

  随着Web2.0的发展,网站更加提倡用户参与和用户贡献,基于协同过滤的推荐机制应运而生。它的原理很简单,就是根据用户对物品或信息的偏好,找到物品或内容本身的相关性,或者发现用户的相关性,然后根据这些相关性进行推荐。基于协同过滤的推荐可以分为三个子类别:基于用户的推荐、基于项目的推荐和基于模型的推荐。下面我们一一详细介绍三种协同过滤推荐机制。

  基于用户的协同过滤推荐

  基于用户的协同过滤推荐的基本原理是根据所有用户对物品或信息的偏好,找到与当前用户具有相似品味和偏好的“邻居”用户群。在一般应用中,采用“K-nei*敏*感*词*or”计算。算法; 然后,根据 K 个邻居的历史偏好信息,为当前用户推荐。下面的图 4 显示了原理图。

  图4. 基于用户的协同过滤推荐机制基本原理

  

  上图展示了基于用户的协同过滤推荐机制的基本原理。假设用户A喜欢物品A,物品C,用户B喜欢物品B,用户C喜欢物品A,物品C和物品D;从这些用户的历史偏好信息中,我们可以发现用户A和用户C有相似的口味和偏好,并且用户C也喜欢物品D,因此我们可以推断出用户A可能也喜欢物品D,所以我们可以推荐物品D 给用户 A。

  基于用户的协同过滤推荐机制和基于人口统计的推荐机制都计算用户相似度,并根据“邻居”用户群计算推荐,但它们的区别在于如何计算用户相似度,基于人口统计机制只考虑用户本身的特征,而基于用户的协同过滤机制则根据用户的历史偏好数据计算用户的相似度。它的基本假设是喜欢相似物品的用户可能有相同或相似的品味和偏好。

  基于项目的协同过滤推荐

  基于物品的协同过滤推荐的基本原理是类似的,只是它利用所有用户对物品或信息的偏好来寻找物品与物品之间的相似性,然后根据用户的历史偏好信息向用户推荐相似的物品。用户,图 5 很好地说明了它的基本原理。

  假设用户A喜欢物品A和物品C,用户B喜欢物品A,物品B和物品C,用户C喜欢物品A,从这些用户的历史偏好可以分析出物品A和物品C相似时他们喜欢物品A,每个人都喜欢物品C。根据这个数据,可以推断出用户C很可能喜欢物品C,因此系统会将物品C推荐给用户C。

  与上述类似,基于项目的协同过滤推荐和基于内容的推荐实际上是基于项目相似度预测推荐,但相似度计算方法不同。前者是从用户的历史偏好中推断出来的,而后者是基于物品的。自己的属性信息。

  图5. 基于item的协同过滤推荐机制基本原理

  

  同时,协同过滤应该如何在基于用户的策略和基于项目的策略之间进行选择呢?实际上,基于物品的协同过滤推荐机制是亚马逊在基于用户的机制上改进的一种策略,因为在大多数网站中,物品的数量远远少于用户数量,而物品的数量是与用户数量相同。相似度比较稳定,基于item的机制优于基于user的实时性能。但并非在所有情况下都如此。可以想象,在一些新闻推荐系统中,可能item的个数,也就是新闻的个数,可能大于用户数,而且新闻的更新程度也很快,所以它的相似度仍然不稳定. 所以,

  基于模型的协同过滤建议

  基于模型的协同过滤推荐是基于样本用户偏好信息训练推荐模型,然后根据实时用户偏好信息进行预测和计算推荐。

  基于协同过滤的推荐机制是当今应用最广泛的推荐机制。它具有以下显着优势:

  它不需要对项目或用户进行严格的建模,也不需要对项目的描述是机器可理解的,因此这种方法也是领域无关的。这种方法计算出来的推荐是开放的,可以分享他人的经验,对用户发现潜在的兴趣和偏好有很好的支持。

  而且它还存在以下问题:

  该方法的核心是基于历史数据,因此对于新商品和新用户存在“冷启动”问题。推荐的效果取决于用户历史偏好数据的数量和准确性。在大多数实现中,用户的历史偏好都存储在稀疏矩阵中,稀疏矩阵的计算存在一些明显的问题,包括少数人的错误偏好可能会对推荐的准确性产生很大影响,等等。 。对于一些有特殊口味的用户来说,这不是一个好的推荐。由于用户偏好是基于历史数据捕获和建模的,因此很难根据用户使用情况进行修改或演变,使得该方法不灵活。

  混合转介机制

  当前网站的推荐往往不是简单地采用某种推荐机制和策略,而是往往结合多种方法来达到更好的推荐效果。关于如何组合各种推荐机制,这里有几种流行的组合方法。

  加权*敏*感*词*:采用线性公式,按照一定的权重组合若干不同的推荐。具体的权重值需要在测试数据集上反复测试才能达到最好的推荐效果。Switching Hybridization:如前所述,其实对于不同的情况(数据量、系统运行状态、用户和物品数量等),推荐的策略可能会有很大的不同,所以switching的混合方式是允许选择的最适合的推荐机制来计算不同情况下的推荐。混合混合:使用多种推荐机制,向不同领域的用户展示不同的推荐结果。其实亚马逊、当当等很多电商网站都采用这种方式,用户可以获得非常全面的推荐,更容易找到自己想要的。Meta-Level Hybridization:采用多种推荐机制,将一种推荐机制的结果作为另一种推荐机制的输入,综合各推荐机制的优缺点,得到更准确的推荐。

  推荐引擎的应用

  在介绍了推荐引擎的基本原理和基本推荐机制之后,下面简要分析几个具有代表性的推荐引擎的应用。这里选择了两个领域:亚马逊是电子商务的代表,豆瓣是社交网络的代表。

  电子商务中的推荐应用——亚马逊

  作为推荐引擎的鼻祖,亚马逊已经将推荐的理念渗透到了应用的每一个角落。亚马逊推荐的核心是利用数据挖掘算法,将用户的消费偏好与其他用户进行比较,从而预测出用户可能感兴趣的产品。对应于上面介绍的各种推荐机制,亚马逊采用了混合分区机制,向不同区域的用户展示不同的推荐结果。图 6 和图 7 显示了用户可以在亚马逊上获得的推荐。

  图6.亚马逊的推荐机制-首页

  

  图7.亚马逊的推荐机制——浏览商品

  

  亚马逊利用网站上所有可以记录的用户行为,根据不同数据的特点进行处理,并划分为不同的区域为用户推送推荐:

  值得一提的是,亚马逊在进行推荐时,其设计和用户体验也非常独特:

  亚马逊利用其大量的历史数据来量化其推荐的原因。

  此外,亚马逊的许多推荐都是根据用户的*敏*感*词*计算得出的。用户档案记录了用户在亚马逊上的行为,包括那些查看、购买的物品、采集夹和愿望清单中的物品等。当然,亚马逊还集成了其他用户反馈方式,例如评分,这些都是档案的一部分。同时,亚马逊提供了允许用户管理自己的*敏*感*词*的功能。这样,用户可以更清楚地告诉推荐引擎他的品味和意图是什么。

  社交推荐应用网站 – 豆瓣

  豆瓣是中国比较成功的社交网络网站。以图书、电影、音乐、同城活动为核心,形成多元化的社交网络平台。自然推荐的功能是必不可少的。让我们看看下面。看看豆瓣是怎么推荐的。

  图 8. 豆瓣推荐机制——豆瓣电影

  

  当你在豆瓣电影中加入一些你看过或感兴趣的电影到你看过和想看的列表中,并给它们相应的评分,那么豆瓣的推荐引擎就已经获得了你的一些喜好。信息,然后它将向您显示电影推荐,如图 8 所示。

  图 9. 豆瓣的推荐机制——基于用户品味的推荐

  

  豆瓣的推荐是通过“豆瓣猜”。为了让用户知道这些推荐是怎么来的,豆瓣还对“豆瓣猜猜”做了一个简单的介绍。

  “你的个人推荐是根据你的采集和评论自动推导出来的,每个人的推荐名单都不一样。采集和评论越多,豆瓣的推荐就越精准丰富。

  推荐的内容可能每天都在变化。随着豆瓣的成长,推荐给你的内容会越来越精准。"

  这让我们清楚地知道,豆瓣一定是基于社交协同过滤来推荐的。这样,用户越多,用户反馈越多,推荐效果就越准确。

  与亚马逊的用户行为模型相比,豆瓣电影的模型更简单,即“我看过”和“想看”,这也使得他们的推荐更加关注用户的口味。毕竟,买东西看电影的动机还是很多的。大不相同。

  此外,豆瓣也有基于商品本身的推荐。当您查看某些电影的详细信息时,它会推荐“喜欢这部电影的人也喜欢的电影”,如图 10 所示,这是一个基于协同过滤的应用程序。

  图 10. 豆瓣的推荐机制——基于电影本身的推荐

  

  总结

  在网络数据爆炸的时代,如何让用户更快地找到自己想要的数据,如何让用户发现自己潜在的兴趣和需求,无论是电子商务还是社交网络应用都至关重要。推荐引擎的出现让这个问题越来越受到关注。但对于大多数人来说,它为什么总能猜到你想要什么,这可能仍然是一个奇迹。推荐引擎的神奇之处在于您不知道引擎正在记录什么以及推荐背后的推理。

  通过这篇评测文章,你可以了解到,推荐引擎只是默默的记录和观察你的一举一动,然后利用所有用户产生的海量数据分析发现规律,然后慢慢的了解你,你的需求,你的习惯,默默帮你快速解决问题,找到你想要的。

  事实上,回头看,很多时候,推荐引擎比你更了解自己。

  通过第一篇文章,相信大家对推荐引擎有了清晰的第一印象。本系列下一篇文章文章将深入介绍基于协同过滤的推荐策略。在目前的推荐技术和算法中,最被认可和采用的是基于协同过滤的推荐方法。因其方法模型简单、数据依赖性低、数据方便采集、推荐效果更好,成为大众心目中的推荐算法“No.1”。本文将带你深入了解协同过滤的秘密,并给出基于 Apache Mahout 的协同过滤算法的高效实现。Apache Mahout 是 ASF 的一个相对较新的开源项目。它起源于 Lucene,建立在 Hadoop 之上。它专注于在海量数据上高效实现经典机器学习算法。

  感谢大家对这个系列的关注和支持。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线