随着互联网时代的发展和大数据时代的到来,人们逐渐从信息匮乏的时代走入了信息过载的时代。为了让用户从海量信息中高效地获取自己所需的信息,推荐系统应运而生。
推荐系统的主要任务就是联系用户和信息,它一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。基于大数据的推荐系统通过分析用户的历史记录了解用户的喜好,从而主动为用户推荐其感兴趣的信息,满足用户的个性化推荐需求。
推荐系统概述
推荐系统是自动联系用户和物品的一种工具,它通过研究用户的兴趣爱好,来进行个性化推荐。以 Google 和百度为代表的搜索引擎可以让用户通过输入关键词精确找到自己需要的相关信息。但是,搜索引擎需要用户提供能够准确描述自己的需求的关键词,否则搜索引擎就无能为力了。
与搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为来对用户的兴趣进行建模,从而主动给用户推荐可满足他们兴趣和需求的信息。每个用户所得到的推荐信息都是与自己的行为特征和兴趣有关的,而不是笼统的大众化信息。
随着推荐引擎的出现,用户获取信息的方式从简单的目标明确的数据搜索转换到更高级更符合人们使用习惯的信息发现。随着推荐技术的不断发展,推荐引擎已经在电子商务(如 Amazon.当当网)和一些基于社会的化站点(包括音乐、电影和图书分享,如豆瓣等)中都取得很大的成功。
图 1 展示了推荐引擎的工作原理,它接收的输入是推荐的数据源,一般情况下,推荐引擎所需要的数据源包括以下几点。
- 要推荐物品或內容的元数据,如关键字、基因描述等。
- 系统用户的基本信息,如性别、年龄等。
- 用户对物品或者信息的偏好,根据应用本身的不同,可能包括用户对物品的评分,用户查看物品的记录,用户的购买记录等。
用户的偏好信息可以分为显式用户反馈和隐式用户反馈两大类。
- 显式用户反馈是用户在网站上自然浏览或者使用网站以外,显式地提供的反馈信息,如用户对物品的评分,或者对物品的评论等。
- 隐式用户反馈是用户在使用网站时产生的数据,隐式地反映了用户对物品的喜好,如用户购买了某物品,用户查看了某物品的信息等。
图 1 推荐引擎的工作原理
显式用户反馈能准确地反映用户对物品的真实喜好,但需要用户付出额外的劳动,而隐式用户行为,通过一些分析和处理,也能反映用户的喜好,只是数据不是很精确,有些行为的分析存在较大的噪声。但只要选择正确的行为特征,隐式用户反馈也能得到很好的效果。例如,在电子商务的网站上,购买行为其实就是一个能很好表现用户喜好的隐式用户反馈。
推荐引擎根据不同的推荐机制可能用到数据源中的不同部分,然后根据这些数据,分析出一定的规则或者直接对用户对其他物品的