推荐引擎在商业中的应用

点击打开微信,马上办理ETC

如果您使用过Netflix的流媒体服务,从亚马逊购买了某些东西,或者在LinkedInFacebook上与您可能认识的人联系,那么您已经使用了推荐引擎。

推荐引擎将您可能感兴趣的内容与您的功能相匹配。例如,电影具有发行年份,流派,演员和票房结果。你有功能。您有偏好,年龄,您可能已经完成了一项调查,表达了您对某些电影的态度。您可能已经评价了一些您观看过的电影。通过确定向您展示哪些电影集以及您对这些建议的回应,机器会随着时间的推移学习以提出更好的建议。如果你观看了一些科幻电影,并且你对它们进行了高度评价,那么引擎将学会向你展示更多的科幻电影,而对于喜欢科幻电影的其他人喜欢的电影,也可能会喜欢。推荐系统已在各种行业和背景下部署,汤普森解释说,特别是作为在线购物网站的一部分。您通常会看到它们用于:

 

      
超级市场:为下次购买生成自定义优惠券的注册表可查看之前的购买情况,并定制优惠券以包含您可能感兴趣的商品。

      
书籍和音乐商店:公司可以在购买后向客户发送电子邮件并推荐新书或专辑或者在亚马逊,潘多拉和类似网站的情况下,根据客户当前正在查看或收听的内容实时提供产品推荐至。

      
投资公司:推荐系统可以根据客户选择的类型来分析您可能感兴趣的股票。

      
电视和电影服务:像Netflix这样的公司会分析每个客户以前的内容选择,并根据这些内容提出建议,并根据他们的浏览历史实时主动推荐项目。

      
社交网站:LinkedInFacebook等网站使用推荐系统根据个人现有网络建议其他连接或朋友。

在推荐引擎和机器学习中使用的许多算法都不是那么新。回归,决策树,k-最近邻,支持向量机(SVM),神经网络和朴素贝叶斯是已知的方法,具有众所周知的约束和适当的用途。许多这些方法已被用于长期支持数据驱动的业务决策。典型的推荐引擎通过以下四个阶段处理数据,即收集,存储,分析和过滤。

数据收集

创建推荐引擎的第一步是收集数据。数据可以是显式或隐式数据。显式数据将包括用户输入的数据,例如产品的评级和评论。隐含数据将是订单历史/退货历史,购物车事件,浏览量,点击率和搜索日志。将为访问该站点的每个用户创建此数据集。

行为数据很容易收集,因为您可以在您的站点上记录用户活动。收集这些数据也很简单,因为它不需要用户的任何额外操作; 他们已经在使用该应用程序。这种方法的缺点是分析数据更加困难。例如,从不太需要的日志中过滤需要的日志可能很麻烦。

由于每个用户必然对产品有不同的喜好或不喜欢,因此他们的数据集将是截然不同的。随着时间的推移,您可以向引擎提供更多数据,它会根据其建议变得更智能,更智能,以便您的电子邮件订阅者和客户更有可能参与,点击和购买。就像亚马逊的推荐引擎如何与经常一起购买推荐给你标签一起使用。

存储数据

您可以为算法提供的数据越多,建议就越好。这意味着任何建议项目都可以迅速转变为大数据项目。

用于创建建议的数据类型可帮助您确定应使用的存储类型。您可以选择使用NoSQL数据库,标准SQL数据库甚至某种对象存储。这些选项中的每一个都是可行的,具体取决于您是捕获用户输入还是行为,以及诸如易于实现,存储可以管理的数据量,与其他环境的集成以及可移植性等因素。

在保存用户评级或评论时,可扩展和托管数据库可最大限度地减少所需任务的数量,并有助于关注建议。

分析数据

为了找到具有相似用户参与度数据的项目,我们使用不同的分析方法过滤数据。如果您想在查看产品时立即向用户提供建议,那么您将需要一种灵活的分析类型。我们可以分析数据的一些方法是:实时系统可以在创建数据时对其进行处理。这种类型的系统通常涉及可以处理和分析事件流的工具。需要一个实时系统来提供即时建议。批量分析要求您定期处理数据。这种方法意味着需要创建足够的数据以使分析相关,例如每日销售量。批处理系统可能会在以后发送电子邮件时正常工作。近实时分析可让您快速收集数据,这样您就可以每隔几分钟或几秒刷新一次分析。近实时系统最适合在同一浏览会话期间提供建议。

产品推荐算法

过滤数据:获取向用户提供建议所需的相关数据。我们必须选择一种更适合推荐引擎的算法。

基于内容:一种受欢迎的推荐产品具有与用户观看或喜欢的类似的特征。

集群:无论用户做了什么,推荐产品都能很好地协同工作。

协作:其他用户喜欢与其他用户观看或喜欢相同的产品,也会喜欢推荐的产品。协作过滤使您能够使产品属性成为理论产品,并根据用户的口味进行预测。

此过滤的输出基于这样的假设:过去喜欢相同产品的两个用户现在或将来可能会喜欢相同的产品。

您可以将有关评级或互动的数据表示为一组矩阵,将产品和用户作为维度。假设以下两个矩阵是相似的,但是我们从第一个中扣除第二个,将现有的等级替换为数字1,将缺少的等级替换为数字零。结果矩阵是真值表,其中数字表示用户与产品的交互。

最终,在过滤和使用算法之后获得的结果,推荐是基于推荐类型的及时性给出的,无论是实时推荐还是在一段时间之后发送电子邮件。

由于产品推荐引擎主要运行数据。企业可能没有存储容量来存储您网站上的访问者的大量数据。可以使用HadoopSpark等在线框架,它允许您将数据存储在多个设备中,以降低一台计算机的可靠性。Hadoop使用HDFS将文件拆分为大块,并将它们分布在集群中的节点上。与传统的超级计算机体系结构相比,这使得数据集的处理速度更快,效率更高,后者依赖于通过高速网络分布计算和数据的并行文件系统。

最后,我们使用MapReduce编程模型处理大数据集。有了这个,我们可以同时在分布式文件系统中运行算法,并选择最相似的集群。因此,任何企业都可以使用开源工具开发自己的推荐引擎架构,我们可以使用我们的技术专业知识帮助他们实现引擎。


 

点击打开微信,马上办理ETC


意见反馈

发表评论