11.3.1 推荐方法概述
互联网的出现和普及给用户带来了海量的信息,满足了用户在信息时代对信息的需求,但随着网络的迅速发展,网上信息量的大幅增长,使用户在面对海量信息时无法快速准确地从中获得对自己真正有用的信息,反而花了更多时间去过滤无用信息,这样对于用户而言,信息的使用效率反而降低了,这就是所谓的信息超载问题。
解决信息超载问题一个非常有潜力的办法就是推荐系统,它是根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户。和搜索引擎相比,推荐系统能够通过研究用户的兴趣偏好、历史记录等信息,发现用户的兴趣点,从而推荐用户需要的有用信息,过滤大量无效信息。一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系,让用户对推荐产生依赖。
推荐系统现已广泛应用于很多领域,其中最典型并具有良好的发展和应用前景的领域就是电子商务领域,例如国外的亚马逊、Netflix公司等;国内的网易云、豆瓣等。除了商业界,学术界对推荐系统的研究热度也一直很高,推荐已经逐步形成了一门独立的学科。
推荐系统可以由不同的推荐方法来实现,其具体方法有:基于内容的推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐、组合推荐等。
(1)基于内容的推荐:它是建立在项目的内容信息上做出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征和属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测的项目的相匹配程度。
其优点是:不需要其他用户的数据,没有冷启动问题和稀疏问题。能为具有特殊兴趣爱好的用户进行推荐。能推荐新的或不是很流行的项目,没有新项目问题。其缺点是:要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。
(2)协同过滤推荐:协同过滤技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。协同过滤最大优点是对推荐对象没有特殊的要求,能处理非结构化的复杂对象,如音乐、电影等。
协同过滤是基于这样的假设:为一用户找到他真正感兴趣的内容的好方法是首先找到与此用户有相似兴趣的其他用户,然后将他们感兴趣的内容推荐给此用户。其基本思想非常易于理解,在日常生活中,人们往往会利用好朋友的推荐来进行一些选择。协同过滤正是把这一思想运用到推荐系统中来,基于其他用户对某一内容的评价来向目标用户进行推荐。
和基于内容的过滤方法相比,协同过滤具有一定优点:能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等。可以共享其他人的经验,避免了内容分析的不完全和不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。有推荐新信息的能力,可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的。这也是协同过滤和基于内容的过滤一个较大的差别,基于内容的推荐在大多数情况下推荐的都是用户本来就熟悉的内容,而协同过滤可以发现用户潜在的但自己尚未发现的兴趣偏好,能够有效地使用其他相似用户的反馈信息,加快个性化学习的速度。
协同过滤从不同点出发还可以分为:基于内存的协同过滤和基于模型的协同过滤。虽然协同过滤作为一种典型的推荐技术有相当广泛的应用,但协同过滤算法仍有许多的问题需要解决,最典型的问题有稀疏问题和可扩展性问题。
(3)基于关联规则的推荐是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。基于关联规则推荐的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。
(4)基于效用的推荐是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,(例如:提供商的可靠性和产品的可得性等)考虑到效用计算中。(https://www.daowen.com)
(5)基于知识的推荐在某种程度可以看成是一种推理技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的推荐在所用的功能知识不同上会有明显区别。效用知识是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。
(6)由于各种推荐方法都有优缺点,所以在实际中,组合推荐经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某种方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。
在组合方式上,有研究人员提出了七种组合思路:
加权:加权多种推荐技术结果。
变换:根据问题背景和实际情况或要求决定变换采用不同的推荐技术。
混合:同时采用多种推荐技术给出多种推荐结果为用户提供参考。
特征组合:组合来自不同推荐数据源的特征被另一种推荐算法所采用。
层叠:先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步做出更精确的推荐。
特征扩充:一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。
元级别:用一种推荐方法产生的模型作为另一种推荐方法的输入。
相信读者看到这里已经对常用的推荐方法有了一定的了解,那么接下来,本书将会带领读者学习推荐系统在需求阶段的应用。