基于概念层次树的个性化推荐算法
2018-01-29陈淑婷胡美慧郭江涛
陈淑婷+胡美慧+郭江涛
摘要:随着全球信息总量的爆炸式增长,信息超载问题无法避免且日趋严重化。个性化推荐系统是当前解决信息过载问题的有效技术。下文从概念层次树入手,对基于概念层次树的个性化推荐算法的整体流程进行了详细分析和介绍,旨在为相关人员提供参考。
关键词:概念层次树;个性化推荐;算法
引言
在目前的电子商务中,产品信息呈指数级增长,个性化推荐技术应运而生,它通过分析消费者的历史交易记录,获取消费者的兴趣偏好,并推荐产品或服务,节省了消费者寻找合适商品的时间。在当前的个性化推荐系统中,协同过滤及其改进算法被大多数电子商务网站所采用。基于概念层次树的个性化推荐算法就是传统协同过滤经过改进后的算法之一,大大提升了个性化推荐的准确度,对个性化推荐技术的发展具有非常重要的意义。
1基于概念层次树的个性推荐概述
概念层次树是将数据库中记录的属性字段根据一定的抽象程度进行归类合并而形成的层次结构。面向属性归纳方法利用概念层次技术进行概念提升,得到高度概括的表,进而将它转换成用户的特征需求,为用户个性化服务提供依据。概念层次结构是表示抽象知识的重要手段,把原始数据泛化到较高层次,实现在不同概念层次上对数据的抽象。面向属性归纳方法中用来进行概念泛化的技术称为概念层次技术,用概念层次树来表示用于泛化的背景知识,实现具体与抽象概念之间的转化。
2概念层次树的构建
根据关系数据库中的数据(用户年龄、受教育程度、收入、喜好等数据),为用户的每个属性构建概念层次树,使具体的属性值概化为抽象的知识并归类合并,实现在不同概念层次上对数据的抽象。概念层次树是通过树结构的形式,将具体的属性值分组,然后按照背景知识逐级提升概念。每个独立节点表示一个基本概念,它可能是一个属性的简单组,也可能是若干属性形成的復合组。概念层次树的节点可以是同一属性的不同抽象度的汇聚点,也可以是由一个概念包含的多个子概念,网站中用户的性别、年龄、职业、教育程度、收入、喜欢的书等基本信息都不同程度上对用户的兴趣爱好产生一定的影响(具体概念层次树结构图如图1-图3所示)。所以需要把这些基本信息的概念层次树构建出来,其中用户兴趣爱好这一基本信息是两层的概念层次树,与其职业相同。
3挖掘用户喜欢的数据
3.1划分项目种类子集
从概念层次树中的结点属性分析,根的各直接子树包含的项目种类的属性相对独立,相互间关联最小,根(用户的兴趣爱好,如喜好的电影、书籍等)的子树——即用户兴趣爱好的分类(如电影分为ComeXy类电影、Aiction类电影、Sci-Fi类电影),它们各自包含的子类相互间差异都较大。因此对项目种类集合作如下划分,即X={Root,Xn,X2...Xn}。Root为T的根结点,X(h=1,2,3...n)为Root的子树Th中各结点(项目种类)组成的集合,n为Root的子树棵数。
3.2寻找喜好种类的邻居
本文需要判定用户喜好的项目种类子集。对于用户关注较少或从未关注过的项目种类,本算法将其视为用户“不感兴趣的种类”。根据实验经验值,若(访问种类子集中的项目数÷访问项目总数)<10%则视该项目种类子集为用户不喜好的项目种类,算法将不再在其上寻找邻居进行推荐,以节省系统的资源。判定用户喜好的项目种类后,在各喜好的项目种类子集Xn上,依次计算用户Ai和用户Ax的在每个集合中的PeArson相关度,其中,Fi和Fk为用户Ai和Ax对项目种类的评分,V1、V2是用户Ai、B对X中所有项目种类的平均评分,根据计算出的PeAirson相关度,选择与当前用户B最相似的K个用户作为用户Ai在项目种类子集合X上的邻居集。重复以上运算,找出当前用户Ai在所有喜好的项目种类子集上的邻居集。
4产生推荐
4.1评估候选项目
在喜好的项目种类子集Xn上,选取属于该集合中的项目种类、被当前用户Ai的邻居所喜好、且未被B访问过的项目,构成当前用户Ai的候选推荐项目集,即算每个候选项目受当前用户Ai关注的程度,用权重来表示。计算权重时,重点考虑的因素如下:(1)喜好bx的邻居B与当前用户Ai的相似程度。B的偏好与Ai的越相似,B的推荐可信度就越高;(2)B对bx的喜好程度。B对bx越喜好,bx所获得的推荐权重就越高。在计算B对bx的喜好程度时可以进行如下处理:假定一个虚拟用户C,R={bx},则B对bx的喜好程度=simn(B,C)。当B访问过较多与bx同类的项目时,B对bx表现出较高的喜好程度。根据以上因素,定义候选项目权重计算公式,其中,Ai(bx)为用户Ai的喜好bx的邻居组成的集合;bx为其项目种类属于Xn的项目。
4.2产生最终推荐
评估所有项目种类属于用户喜好项目种类子集的侯选项目后,按权重对bx进行降序排列,得到Xn上的候选项目的推荐列表。根据当前用户Ai对不同项目种类的偏好,计算各喜好项目种类的侯选推荐项在最终推荐列表中所占比例,即numx=N*(Rix/Ri)其中,凡为喜好种类子集Xn上Ai访问项目组成的集合;N即为产生的top-N推荐的推荐项目数。从各Ph中抽取numih个项目,将这些项目按用户喜好程度的具体数值降序排列,形成对用户Ai的最终top-N推荐Py={b1,b2...bx}。
结束语
基于概念层次树的个性化推荐算法,相较于传统协同过滤算法在准确性方面有了显著提升,在推荐的多样性上也有了明显的改善。为了能够使个性化推荐更加精准,满足客户的需求,实现精准营销,相关人员可以将该算法部署到实际的推荐系统中,通过在线测试的方法获取用户对推荐数据的准确性和多样性的满意程度,进一步对当前的个性化推荐算法进行改进。
参考文献:
[1]何佶星陈汶滨牟斌皓.流行度划分结合平均偏好权重的协同过滤个性化推荐算法[J/OL].计算机科学,2018,(S1):50.
[2]陈洁敏,汤庸,李建国,蔡奕彬.个性化推荐算法研究[J].华南师范大学学报(自然科学版),2014,46(05):8-15.
[3]关远.推荐网络分析及个性化推荐算法研究[X].电子科技大学,2014.endprint