大数据环境下个性化推荐系统的研究和应用

2019-02-17 03:05
长春大学学报 2019年6期
关键词:物品标签聚类

李 艳

(兰州财经大学 长青学院,兰州 730000)

1 大数据与推荐系统

1.1 大数据的发展

近年来,互联网、大数据、云计算、物联网和人工智能等技术的迅猛发展和广泛应用导致全球网络数据爆炸性地增长。一方面推动了全球政治、经济、文化和科技等方面的信息交流和资源共享;另一方面也引发了“信息过载”问题。据伙伴产业研究院(PAISI)研究统计,2018年全球数据总量达19.4ZB,并且未来几年全球数据的增长速度在每年25%以上,到2020年,全球数据总量将达到30ZB。数据量的急剧增长为人们全面和深入地理解问题提供了更多的可能性。面对如此纷繁复杂的网络大数据,如何从中获取到有价值的数据成了人们新的困扰。20世纪中期,人们开始了关于数据处理技术的研究和应用,例如数据分析和数据挖掘技术。但是随着互联网的广泛应用,积累的数据量不断增长,急需更有效的方法应对数据处理中的新问题。近年来,人工智能和机器学习技术成了海量数据处理不可或缺的助力。

1.2 个性化推荐系统的发展

个性化推荐系统是互联网大数据和海量数据处理技术相结合的应用最广泛的领域之一,也是解决“信息过载”问题的重要手段。该系统应用的最为人熟知的领域非亚马逊莫属。亚马逊公司的推荐引擎负责为浏览亚马逊网站的用户提供个性化的内容。据统计由亚马逊推荐系统所卖出的商品每秒达72.9件,推荐的转化率高达60%,推荐系统对亚马逊销售额的贡献率达30%。推荐系统的发源,要追溯到20世纪90年代,1992年Xerox公司为了解决信息负载的问题,第一次提出协同过滤算法,同时Goldberg等人将协同过滤算法引入了内部新闻组文档推荐系统Tapestry,此后又陆续推出了Ringo系统对音乐进行协同过滤推荐,以及贝尔视频推荐系统用于电影推荐[1]。直到1997年,推荐系统这一概念才被第一次提出[2]。90年代末,随着互联网技术的发展,推荐系统被广泛应用到了电子商务领域,1998年亚马逊将基于物品的协同过滤算法应用到图书推荐中,2003年Google将推荐技术应用到了AdWards广告服务中,通过分析用户搜索的关键词和用户近期的搜索历史记录了解用户的喜好和需求,从而更精准地为用户呈现个性化的广告内容。2006年,美国一家提供在线视频流媒体服务和DVD租赁业务的公司Nexflix启动了Netflix Prize,这是一个有关机器学习和数据挖掘的比赛,他们公开了其网站中的一部分真实数据供参赛者使用[3],旨在解决电影评分预测问题,以此发现更好的方法来向用户推荐影视产品。Netflix Prize竞赛中提出了很多有效的算法,同时推动了学术界和产业界对推荐算法的研究。最近几年,随着社会化网络的发展,推荐系统在各行业广泛应用并且取得了显著进步。除了传统的电子商务网站,如Amazon和淘宝网的电子商务推荐系统之外,还包括Youtube的视频推荐系统、网易音乐推荐系统、Facebook和Twitter的好友推荐系统。经过近二十年的发展,个性化推荐系统不仅在应用领域上得到了迅速扩张,而且还结合目前的网络大数据环境和机器学习算法在应用深度上有了长足进步[4]。

2 机器学习算法的分类和发展

近年来,“人工智能”这一概念得到了广泛的关注,同时“机器学习”一词也深入人心,它是人工智能研究中所使用的主要方法。这种方法的核心目的是使机器能从大量数据中寻找学习规律,并将获得的学习规律应用到其他的同类数据中。因此,近年来这一方法也被应用到了个性化推荐系统的研究中。目前,应用在个性化推荐系统中的机器学习算法主要有以下几类:

(1)有监督的学习(Supervised Learning)

有监督的学习主要是用来建立预测模型。所谓的预测模型是指利用数据集中的其他数值来预测另一个值,因此有监督的学习所需要的数据由两部分构成:一部分是用于训练推荐系统的特征(feature)数据集;另一部分是标签(label)数据集,通过机器学习方法寻找特征和标签之间的联系,然后将其应用在只有特征而没有标签数据的数据集上,发现并建立特征与待预测的目标特征(待预测标签)之间的关系。这种算法就如同训练计算机学习如何做练习题,在计算机学会完成那些没有答案的练习题之前,先在有正确答案的练习题上进行学习,这里练习题就是特征数据集,答案就是标签数据集。计算机在这样的数据集上自行建立题目含义、题目已知条件以及其他特征与答案之间的关系,然后将所学应用到其他题目上。在有监督的学习中,“监督”一词并不是指人为干预,而是用标签数据集来担任监督的角色,让它来控制学习的效果。此外,虽然有监督的学习是用来建立预测模型的,但是这里的“预测”并不一定只预测未来,也可以用来“预测”过去的事情。有监督的学习常用的算法包括:进行分类的最近邻、朴素贝叶斯和决策树算法;进行数值预测的线性回归、回归树和模型树算法;既可以分类又可以进行数值预测的神经网络和支持向量机算法等。

(2)无监督的学习(Unsupervised Learning)

与有监督的学习相对应的便是无监督的学习,它主要用来建立描述型模型。在无监督的学习中,只有特征数据集,没有标签数据集,因此训练或学习这类数据时,计算机无法准确地知道哪些特征或特征组合能代表或者能反映哪些标签,只能凭借算法自身的解析能力和计算机强大的计算能力来分析这些数据特征,从而演算出一定的代表结果的标签数据集。这类算法的主要目标就是从不包含标签的数据中,由计算机依据数据的属性的相似性对数据进行聚类或者关联分析。无监督的学习中,具有代表性的两个算法分别是关联规则和K-means聚类算法,前者的主要任务是进行模式识别,后者的主要任务就是聚类。模式识别用来描述数据之间联系的紧密型。例如,典型的购物篮分析问题便是通过关联规则来识别那些经常在一个订单中被一起购买的商品。其中,最著名的案例便是啤酒-尿不湿的关联,即通过关联规则,商场发现啤酒和尿不湿是经常会被消费者购买的商品,因此商家就将这两个商品摆放在一起销售,或者将两者进行捆绑做促销,这样便可以提高销售量。不难发现,关联规则这种无监督学习帮助商场改进了其销售策略。聚类用来将数据集按照相同类型进行分组,当无法利用标签对某个数据集进行分类的时候,聚类算法就是用来应对这类问题最好的方法。虽然计算机可以利用聚类算法对数据进行分类,但是由于缺乏标签,分类的结果还需人工根据数据集的特征进行解释。

(3)半监督的学习(Semi-Supervised Learning)

处在监督学习和无监督学习之间的便是半监督的学习。在半监督的学习中,用于训练计算机的数据,有一部分是有标签的;另一部分是没有标签的。没有标签的数据的数量往往远远大于有标签的数据数量。半监督的学习的基本原理:首先从无标签的数据入手,利用聚类等无监督的学习算法创建分类标签;然后应用一个有监督的学习算法(例如决策树)来寻找这些类中最重要的预测目标。由于用于学习的数据集的分布并非完全随机,因此通过一些有标签的数据的局部特征和更多没有标签的数据的整体分布,就可以获得较好的分类结果。相比于有监督的学习,半监督学习可以在相对低的成本下达到较高的准确度。近几年来半监督学习得到了很好的应用和发展。

(4)强化学习(Reinforcement Learning)

强化学习又被称为再励学习或评价学习,是一种非常重要的机器学习方法。强化学习使用的是无标签数据,它通过特征数据集与周围环境的交互来不断逼近正确的结果,当然在这个过程中,学习的结果也有可能远离正确的结果,那么如何去判断学习的结果与正确答案之间的距离是越来越近还是越来越远呢,这就需要用到奖惩函数(reward function)。当计算机面对无标签数据时,先根据现有的特征得到一种结果;然后依据奖惩函数来反馈该结果是对还是错,并指导计算机对学习过程进行调整;最后经过多次尝试和调整,计算机就可以学习到利用什么样的特征数据,在什么样的条件下可以获得最好的结果。强化学习目前面临的最困难的问题就是延迟奖励,即在计算机获得好的结果之前需要完成大量探索工作,才能得到一个延迟的反馈。与有监督的学习相比,强化学习面对的学习过程总是处在动态变化之中,因为其作出的每一个决定,获得的每一个结果都会影响到下一次学习过程中数据的输入内容和方式。而在有监督的学习过程中,学习的目的是明确的,学习完成后是可以立即获得反馈的。与无监督的学习相比,强化学习更关注经过学习后所获得的反馈,然后根据反馈信息再完成更好的学习,经过多次训练归纳出理想的学习结果,而无监督的学习仅仅是去建立学习模式,不涉及反馈问题。

3 个性化推荐系统的应用

3.1 电子商务推荐

20世纪90年代末,随着互联网技术的不断普及,衍生出电子商务这一商务活动,并迅速扩张,经过近二十年的发展,逐渐成了互联网技术重要的应用领域。便利是网络购物最大的优点,因此不断吸引着越来越多的用户,据CNNIC报告(42次)截至2018年6月,我国网民规模为8.02亿,网络购物用户规模达到5.69亿。正是这数以万计的用户不断推动着电子商务的迅速发展,同时在网络中留下了数以万计的信息数据。在这海量的信息空间中,用户往往会迷失自己,不得不为寻找到自己心仪的东西而花费大量的时间和精力,这便是信息过载问题。目前,亚马逊、淘宝和京东等电子商务网站均通过建立推荐系统来应对此问题,因此电子商务领域是个性化推荐系统应用最广泛的领域。除了传统的基于协同过滤算法及其改进算法之外,众多研究者也提出了关于提高电子商务推荐系统准确性和正面体验的很多新的想法。陈梅梅等人[5]将马斯洛需求层次理论引入电子商务推荐系统中,从用户的需求角度出发,构建了基于电子商务特点的用户体验需求层次模型,使用回归分析获取影响用户体验的需求因素,从而发现了影响推荐系统体验优劣的若干因素。将Web日志数据与个性化推荐技术相结合对提高推荐系统准确性有一定的作用。马勇等人[6]提出了一种改进方法,即将Web日志挖掘和相关性度量结合在一起并根据用户偏好来提高推荐的准确性。建立用户兴趣模型是电子商务推荐系统的关键,但是,用户在电子商务活动中留下的数据往往有限,无法全面反映用户的兴趣倾向,为解决该问题,赵虎等人[7]在推荐系统中引入了用户隐形行为数据。这些用户隐形行为知识是通过对用户的原型行为数据加以分析获得的。该方法在一定程度上提高了个性化推荐系统的亲和力。

3.2 新闻推荐

新闻推荐是近年来个性化推荐的一个重要的应用领域。据统计,截至2018年6月,我国网络新闻用户规模为6.63亿,手机网络新闻用户规模达到6.31亿,可见个性化推荐在新闻推荐领域有着广阔的应用前景。与电子商务推荐所不同的是新闻推荐中不但要处理数据量大且结构复杂的问题,还会遇到另一个棘手的情况,就是用户兴趣漂移问题。花凌锋等人[8]从基于用户位置标签的基础上提出了面向位置的新闻推荐算法,即首先使用聚类算法对用户的位置标签数据聚类,然后再使用基于LDA算法的协同过滤技术为每个聚类位置建立偏好模型。从而实现利用用户位置信息来提高推荐准确度的目标。新闻推荐还有一个难点就是大多数用户在浏览新闻时目的性不强,容易受其他因素的干扰和影响,从而导致其浏览行为难以预测。张骁逸等人[9]提出了根据用户过往浏览日志中留下的上下文相关特征来建立Logistic回归模型对用户未来可能感兴趣的新闻进行预测,结果表明用户的浏览行为的确与其上下文信息相关,同时,在预测模型中加入上下文数据提高了推荐效果。

3.3 娱乐推荐

机器学习算法在娱乐推荐中最经常使用的就是音乐和视频的推荐。音乐推荐与电商推荐相比,在音乐产品特征的提取上更困难。章宗杰等人[10]提出了一种基于标签扩展的协同过滤算法,也就是将音乐作品的社会化标签作为其特征,基于这样的标签内容利用协同过滤算法为用户提供推荐列表,从而改善推荐结果的准确性。对于推荐准确性的提高,一直以来都是推荐系统始终追求的目标,谭斌等人[11]提出了基于状态转移的奖励值算法,即为了提高推荐准确性,根据用户喜好数据集提取出了音乐流行度和用户从众度两个重要特征数据,同时在推荐算法中加入了奖励函数,该函数是根据用户喜好、音乐流行度以及状态转移概率而提出的,从而大大提高了推荐的效果。兰艳等人[12]提出了一种时间加权协同过滤算法用来解决电影推荐中经常遇到的信息过期问题,即在推荐模型建立和预测评分过程中加入时间权重,在一定程度上提高了预测推荐的准确性。

3.4 广告推荐

广告在我们的日常生活中无处不在,无论是在报纸、广播和电视等传统媒体中,还是在基于互联网的新型媒体中,广告几乎无时无刻不出现在我们的面前。在传媒领域、电商领域、文化产业领域中,都会涉及各种各样的广告投放。传统媒体中,一方面媒体投放广告没有针对性;另一方面用户对于广告的接受都是被动的。在基于互联网的新媒体中,无论从广告的投放方式还是用户的接受方式上都有了新的变化。而这些变化的根本原因就是互联网大数据的影响。互联网广告的出现主要是为了产生流量。互联网的内容采取的都是免费模式,需要流量变现维持运营,而广告正是最佳的变现途径。因此广告投放的精准性直接决定了互联网公司的收益,朱志北等人[13]广告数据稀疏性的算法,通过建立广告相似性网络来获取广告的相似性关系,并对该相似性矩阵进行分解,从而获得已知广告数据的相似邻居,以此来弥补数据稀疏性造成的推荐疏漏。陆济湘等人[14]在传统的基于关键词的推荐算法中,提出了一种结合用户应用环境和用户情感分析的多维广告推荐算法。所谓情感分析是指从用户的其他社交媒体中提取与用户态度相关的文本数据进行分析,并将分析结果加入推荐算法中,从而达到更精确的推荐。

4 大数据环境下个性化推荐系统研究面临的挑战

4.1 隐性喜好发现

在传统的基于协同过滤算法的推荐系统中,用户对某种物品的喜好程度主要是通过评分来体现的。虽然这种获得用户兴趣度的方法简单直接,可以很方便地应用到推荐系统中,但是在实际的互联网大数据环境中,除了评分之外,用户往往还通过其他隐性的形式来表达他们的喜好程度。例如,用户的评论文字、用户停留在某种物品上的浏览时间、以及用户浏览或购买物品的频率等都间接反映了他们对物品的兴趣度,这些隐性的喜好都可以应用到推荐系统的建立和使用中。推荐系统可以通过自然语言处理的方法从用户的评论中获取用户对物品的兴趣度,或者根据用户浏览物品的时间长度以及浏览或购买物品的频率等数据,使用聚类或者关联等算法挖掘用户的消费行为,利用这些消费行为数据获得用户的隐形喜好。

4.2 数据稀疏问题

稀疏数据是指在数据集中绝大多数数值缺失或者为零的数据。稀疏数据绝对不是无用数据,只是信息不完全,通过适当的手段可以挖掘出大量有用信息。基于协同过滤算法的推荐系统的准确性主要取决于用户数据的数量。一般来说,某种物品获得的评分数据越多,推荐系统就能越准确地预测出哪些用户喜欢它;同样,用户留下的对物品的评分数据越多,推荐系统也能越准确地为其推荐感兴趣的物品。然而,目前影响推荐系统推荐准确性的主要问题便是数据的稀疏,即使是在这样一个大数据的环境下,数据稀疏问题依然存在。例如,Google、 Yahoo、 Netflix、 Amazon等大型互联网和电子商务企业,它们每天都拥有很多的数据,但是依然不够多。

4.3 冷启动问题

冷启动问题是困扰推荐系统准确性的另外一个因素,它是数据稀疏问题的一种特殊现象。根据推荐对象的不同,冷启动问题可以分为两种:用户冷启动和物品冷启动。用户冷启动是指当一个网络系统中进入一个新的用户时,由于没有该用户的历史记录等相关数据,推荐系统对其兴趣点一无所知,因此推荐系统无法给该用户提供准确的推荐。在这种情况下,通常的做法是向该用户推荐那些系统中最受欢迎的物品,也就是大多数用户感兴趣和普遍反映良好的物品。物品冷启动问题是指当一个新的物品进入到一个网络系统后,由于没有和该物品相关的历史记录数据,例如购买、评价等,推荐系统无法将其推荐给可能对其感兴趣的用户。通常遇到这种情况时,推荐系统往往是根据该物品和系统中已存在的其他物品的相似程度来推荐适合的用户。除了协同过滤方法外,目前解决冷启动问题还包括一些混合方法。例如,在推荐系统中加入用户或物品的特征标签数据;提取用户的社群信息;将关联规则、聚类方法等数据挖掘技术引入到协同过滤方法中等。

4.4 大数据处理与算法可扩展性问题

推荐系统完成之后,要解决实际问题依然存在诸多困难。从数据量的角度来讲,大多数推荐系统通常都是在小规模数据上搭建起来的,它们的推荐表现良好,但是当这些系统应用到大规模数据集上时,表现并不理想;从数据组成结构的角度来讲,实际问题所涉及的数据结构往往是处在动态变化中的,例如新用户、新评论、新购买情况等,造成了推荐系统应用到动态变化数据时,表现差强人意。

5 结语

互联网的发展不仅改变了社会也改变了人们的生活方式,同时也将人类带入了大数据时代。机器学习在个性化推荐系统中的应用在解决“信息过载”问题的同时,也满足了人们对于个性化服务的强烈需求。随着机器学习算法研究的深入和个性化推荐系统应用范围的扩展,在不断暴露出各种问题的同时也开拓了未来的发展方向。例如,结合云计算技术的并行推荐可以大大提高推荐系统运行速度、多推荐系统的交互以提高推荐准确性,以及在保证推荐精确性的同时加入推荐的多样性和新颖性等。

猜你喜欢
物品标签聚类
称物品
“双十一”,你抢到了想要的物品吗?
基于K-means聚类的车-地无线通信场强研究
谁动了凡·高的物品
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
基于高斯混合聚类的阵列干涉SAR三维成像
基于Spark平台的K-means聚类算法改进及并行化实现
基于改进的遗传算法的模糊聚类算法
让衣柜摆脱“杂乱无章”的标签