带你了解“推荐”专栏背后的技术

淘宝支付成功首页出现相关物品推荐,促使你继续买买买

抖音上看完的每一个完整视频都会刷到类似视频

百度上相同偏好新闻的花式推荐使你百度新闻看不完,看不厌!

每一条个人定制化推荐的背后都离不开推荐算法。

今天我们稍微了解一下推荐算法。


什么是推荐算法?

推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西。


推荐算法的分类和具体应用场景

Ⅰ 基于内容

基于内容,顾名思义,根据用户的偏好,将类似内容的新闻推荐给用户。其主要优势在于无冷启动问题,只要用户产生了初始的历史数据,就可以开始进行推荐的计算。浏览数据的增长,推荐也会更精准。


图示如下:

带你了解“推荐”专栏背后的技术

基于内容的推荐算法需理解两个关键点

1. 如何了解到用户偏好

根据用户历史浏览记录提取关键词,查看哪些关键词出现次数较多再进行推荐。例如,用户A最近浏览爱情电影C新闻较多,则推荐算法会得出关键词:B ,从而推送与B相关的新闻

2. 如何判断新闻内容相似

找到定义用户喜好的方法——关键词。自然而然就可以想到,算法能不能提取出两个新闻的关键词,然后对比看它们两的关键词是否相同。因为一个新闻可以有好几个关键词,要想全部一样,还是比较困难的。所以我们需要对两个新闻的关键词匹配程度做一个合理的量化。此时涉及TFIDF算法。该算法简单解释为 “TFIDF算法可以能够返回给我们一组属于某篇文本的‘关键词-TFIDF值’的词数对,这些关键词最好地代表了这篇文本的核心内容,而这些关键词的相对于本篇文章的关键程度由它的TFIDF值量化。”。

明白思路后,为计算出两者相似度,列出公式如下:

Similarity(A,B)=Σi∈mTFIDFA∗TFIDFB

( “m是两篇文章重合关键词的集合。此即将两篇文本的共同关键词的TFIDF的积全部加在一起,获得最终代表两篇文本的相似度的值。”)

举例:

刚抓进系统的两个新闻,分别提取出关键词与TFIDF值如下:

A新闻:“模特”:100,“减肥”:80,“冰激淋”:40

B新闻:“旗袍”:100,“减肥”:90,“披萨”:30

两篇文章只有一个共同关键词“减肥”,故相似度为:80*90=7200。

除此之外,基于内容的推荐算法也包括凭借经验与实际情况拟合度的启发式算法,以用户浏览行为为基础通过机器学习的预测模型法,在此不做过多阐述。


Ⅱ 基于协同过滤

该推荐算法应用广泛,理论上可以推荐世界上任何东西。

1. 基于用户推荐(User-based Recommendation)

基本假设前提:喜欢类似物品的用户可能有相同或者相似的口味和偏好,根据相同或类似的口味来寻找“邻居”。在一般的应用中是采用计算“K- 邻居”的算法;然后,基于这 K 个邻居的历史偏好信息,为当前用户进行推荐。

带你了解“推荐”专栏背后的技术
带你了解“推荐”专栏背后的技术

(假设用户 A 喜欢物品 A,物品 C,用户 B 喜欢物品 B,用户 C 喜欢物品 A ,物品 C 和物品 D;从这些用户的历史喜好信息中,我们可以发现用户 A 和用户 C 的口味和偏好是比较类似的,同时用户 C 还喜欢物品 D,那么我们可以推断用户 A 可能也喜欢物品 D,因此可以将物品 D 推荐给用户 A。)

2. 基于项目的推荐(Item-based Recommendation)

基本假设前提:算法使用所有用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。

带你了解“推荐”专栏背后的技术

(“假设用户 A 喜欢物品 A 和物品 C,用户 B 喜欢物品 A,物品 B 和物品 C,用户 C 喜欢物品 A,从这些用户的历史喜好可以分析出物品 A 和物品 C 时比较类似的,喜欢物品 A 的人都喜欢物品 C,基于这个数据可以推断用户 C 很有可能也喜欢物品 C,所以系统会将物品 C 推荐给用户 C。”)

和基于内容推荐偏重用户历史浏览记录相比,基于物品项目的推荐更偏重于物质本身的属性。

3.基于模型的推荐 (Model-based Recommendation)

算法是基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。


Ⅲ 基于关联规则

是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包,可用微观经济学中“替代品”“互补品”概念辅助理解。

算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。


Ⅳ 基于效用

基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Product Availability)等考虑到效用计算中。


Ⅴ基于知识

基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。


Ⅵ 组合推荐

由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。


在组合方式上,有研究人员提出了七种组合思路:

1)加权(Weight):加权多种推荐技术结果。

2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。

3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。

4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。

5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。

6)特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。

7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。

关于推荐算法一些基本概念的引入和简单说明到此。推荐算法在新闻上的应用是典型科技具有两面性的案例。还望各位读者在生活中注意算法推荐新闻带来的负面影响。


参考

1.《新闻推荐系统:基于内容的推荐算法(Recommender System:Content-based Recommendation)》

版权声明:本文为CSDN博主「蓝色枫魂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_32690999/article/details/77434381

2.《算法推荐新闻的技术创新与伦理困境:一个综述》王仕勇

3. 《常用的推荐算法小结》

版权声明:本文为CSDN博主「千叶正志」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/nghuyong/article/details/70136202)

4.《推荐算法概述:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法》

版权声明:本文为CSDN博主「千寻~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u011630575/article/details/78648868


分享到:


相關文章: