总第 110 篇文章,本文大约 3200 字,阅读大约需要 10 分钟
2020 年第一篇技术文章,以一个新的系列开始--推荐系统(Recommend System),第一篇文章会简单介绍推荐系统的定义和应用,目录如下:
什么是推荐系统
你真的需要推荐系统吗
推荐系统的问题模式
推荐系统存在的问题
推荐系统的应用
什么是推荐系统
来自维基百科的定义:
推荐系统是一种信息过滤系统,手段是预测用户(user)对物品(item)的评分和偏好。
进一步从以下三个方面来回答这个问题
1. 推荐系统能做什么--推荐系统最终可以把那些会在用户和物品之间产生的连接提前找出来。
这里说的连接,含义非常广泛,凡是能够产生关系的都是连接,包括用户对物品的行为,或者用户的某些属性和物品的某些属性。
这里这么说的依据是基于这样一个事实:万事万物都有相互连接的大趋势。
2. 推荐系统需要什么--需要已经存在的连接,从已有的连接去预测未来的连接。
3. 推荐系统怎么做--预测用户评分和偏好。具体说就是机器推荐和人工推荐,也就是通常说的个性化推荐和编辑推荐。
总体来说,推荐系统实际上是在目前信息爆炸的时代,可以帮助用户过滤大量无效信息,获取到感兴趣的信息或者物品的算法,并且也可以挖掘出一些长尾物品。当然,过度依赖推荐系统,实际上也可能让你只接受到同一类的信息或者单一领域的物品,这也是推荐系统存在的一个问题,探索与利用问题。
推荐系统是如何工作的呢?这里可以用一个看电影的例子来解释,比如我们在不确定看什么电影的时候,通常可能会有这几种方法来做决定:
咨询朋友。不仅是问朋友,也可能是发个朋友圈或者发微博,即利用社交产品来问这个问题。这种方式在推荐系统中成为社会化推荐(social recommendation),即让好友推荐;
我们也可能因为演员或者导演来决定看什么电影,可能的做法就是通过搜索引擎来搜索喜欢的演员和导演有没有在上映的电影,或者是还没看过的电影。这种方式叫做基于内容的推荐(content-based filtering)
我们也还会打开豆瓣,查看豆瓣的电影排行榜,看看哪些高分电影是不错的,或者通过和自己历史兴趣形似的用户,查看他们看过的电影,然后选择一部自己感兴趣的来看。这种方式叫做基于协同过滤(collaborative filtering)的推荐,也就是根据相似用户或者相似物品来进行推荐。
上述也只是3种推荐方式,实际上推荐系统还有其他的推荐方法,但本质上都是需要用户和物品之间存在连接,通过已有的连接来预测未来的连接。
你需要推荐系统吗
从两个方面考虑这个问题:
产品的目的。如果一个产品的目的是建立的连接越多越好ÿ