推荐系统浅知

在个性化盛行的时代,推荐系统成为产品架构中重要一环,承担引导、匹配信息等需求。本人由项亮老师的<推荐系统实践>出发,介绍推荐系统的一些基础知识点。

有兴趣的朋友强推<推荐系统实践>

一.什么是推荐系统

在这个海量信息的时代,信息过载给人们带来太多的成本。

人们逛一家超市想买抽纸,在超市里面众多的商品中找到抽纸是非常困难的,想要快速找到想买的抽纸必须依靠超市的指示牌。

那引申到互联网,如何短时间内找到用户所需要的信息?

早期是依靠分类目录来帮助用户找寻信息,但随着互联网规模不断增大,分类目录已不能满足人们的需求。

图片:早期网站检索依靠目录为主

据IDC《数字宇宙》的研究报告表明,2020 年全球新建和复制的信息量将超过40ZB,是2012年的12倍;中国的数据量在2020年超过8ZB,比2012年增长22倍。

图片发自App

在庞大数据量的推动下衍生出了搜索引擎,用户可以通过搜索引擎来精准的找到自己需要的内容。

搜索引擎的劣势是当用户不能精确地描述自己需要的信息的时候,搜索引擎就不能发挥作用,这时候就诞生出了搜索推荐

从这个角度出发,推荐系统和搜索系统的本质是一样的,可以快速发现有价值的信息。

不一样的是,推荐系统不需要用户提供明确的需求,而是通过分析用户历史行为给用户建模,只能推荐满足用户兴趣和需求的信息。

图片发自App

从物品的角度来讲,大部分物品也有被挖掘的需要,Chris Anderson 在2004年发表了长尾理论,在互联网时代下,这部分长尾商品也能带来巨大的利润,因为这些商品也许会满足一小部分用户的需求。

所以还是很有必要去挖掘这部分内容的,这时就利用到了推荐系统来对用户进行个性化推荐。

二.推荐系统评测

优秀的推荐系统,可以让多方共赢。

预测准确度是推荐系统领域的重要指标,准确的预测并不代表好的推荐。

对于用户来说,他会觉得这个推荐结果很不新颖。优秀的推荐系统不仅仅能够准确预测用户的行为,而且能够扩展用户的视野,帮助用户发现那些他们可能会感兴趣的内容

那我们如何测量推荐系统的质量

有三种方法

1.离线实验

这个方法比较像我们做模型的时候在线下建立测试集给模型进行打分预测

优点:应用成本低

缺点:结果不准确缺少关联,无法得到真实的线上效果

2.用户调查

更像我们做的调查问卷

优点:可以获得更主观的指标

缺点: 无法组织大规模的测试用户

3.ABtest

也是我们经常用到的AB测在线测试方法

用户通过流量分配系统进入到不同的推荐系统中,生成的数据进入到评测系统产生实验报告

优点:可以公平获得不同算法实际在线时的性能指标,包括商业上关注的指标;

缺点:周期较长,必须进行长期的实验才能得到可靠的结果;


三.推荐数据来源

1. 来源一 利用用户信息

用户行为数据一般存于日志中。

用户行为可以分为:显性反馈行为和隐性反馈行为。

显性反馈:用户明确表示对物品喜好的行为

隐性反馈:指不能明确反映用户喜好的行为(更多的是一种浏览行为)


2.来源二 利用用户标签数据

推荐系统的目的是联系用户的兴趣和物品,这种联系需要依赖不同的媒介。目前流行的有3种方式:物品、用户、特征。

前两种我们都很熟悉,特征有不同的表现形式,可以是物品的属性集合,可以是隐语义向量,这里我们用标签表示。


3.来源三 利用上下文信息

1) 时间上下文信息

时间对用户兴趣的影响:用户兴趣是变化的

,物品也是有生命周期的。

用户兴趣是不断变化的,其变化体现在用户不断增加的新行为中。

一个实时的推荐系统需要能够实时响应用户新的行为,让推荐列表不断变化,从而满足用户不断变化的兴趣。

2)地点上下文信息

用户兴趣和地点相关的两种特征:

兴趣本地化,不同地方的用户兴趣存在着很大的差别,不同国家和地区用户的兴趣存在着一定的差异性。
活动本地化,一个用户往往在附近的地区活动。

因此,在基于位置的推荐中我们需要考虑推荐地点和用户当前地点的距离,不能给用户推荐太远的地方。


4.来源四 利用社交网络数据

获取社交网络数据的途径

电子邮件(邮箱后缀)

用户注册信息(用户生日性别等等)

论坛和讨论组(给人进行分组,相同兴趣)

地理位置信息(需要手授权)

社交网站(社交信息,点赞,好友列表)

相信,读完全文的你,对推荐系统已经有一个初步了解了。预知更多,强推<推荐系统实践>

你可能感兴趣的:(推荐系统浅知)