基于用户关注度的个性化推荐系统研究

2018-06-21 11:46黄丽石松芳
软件导刊 2018年5期
关键词:个性化推荐

黄丽 石松芳

摘 要:传统推荐系统存在不以用户关注度为导向、推荐信息分散、推荐效率低等弊端,针对该问题,通过深入挖掘用户的关注度特征及浏览行为特征,分析用户的潜在需求,以此为基础,综合基于类别关注度的信息推荐、基于主题词的长期关注度推荐以及基于协同过滤的个性化推荐算法,采用模块化的设计方法,提出一种基于用户关注度的个性化推荐系统。实践应用表明,该系统能够帮助用户从海量信息中快速、准确地找到自己关注的内容,对互联网个性化信息服务具有一定的应用价值。

关键词:个性化推荐;用户关注度;信息数据

DOI:10.11907/rjdk.172779

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2018)005-0090-03

Abstract:The traditional recommendation system bears the disadvantages of lack of users attention, recommendation information dispersion,low recommendation efficiency, etc.In view of the problems, the system analyzes users potential requirements through in-depth mining of user attention characteristics and browsing behavior characteristics. Information recommendation based on category concern degree, long-term attention recommendation based on keywords and personalized recommendation algorithm based on collaborative filtering are integrated;the personalized recommendation system based on user attention in modular designing is proposed. It is proved that the system can help users find their own contents quickly and accurately from massive information and has application value in Internet personalized information service.

Key Words:personalized recommendation; user attention; information data

0 引言

互联网进入大数据时代,如何从庞大的数据信息中获取有用信息是当前互联网研究的重点。搜索引擎通常根据用户输入的關键字返回搜索结果呈现给用户,返回的结果往往是一个与关键字相关的巨大信息集合[1]。为了改善移动用户浏览体验,建立基于用户关注度的个性化推荐系统尤为重要。本系统通过深入挖掘用户信息、关注度特征、阅读内容相似度及浏览行为特点,分析用户的潜在需求和关注度偏好,建立推荐模型,从而帮助用户快速、准确地找到自己感兴趣的信息[2]。

1 基于用户关注度的推荐算法

目前比较流行的推荐算法主要有基于内容的推荐[3]、基于关联规则的推荐[4]和协同过滤推荐[5]。本系统综合以上推荐算法,并在此基础上进行改进,主要采用三种推荐算法,分别是基于类别关注度的信息推荐[6]、基于主题词的长期关注度推荐以及基于协同过滤的个性化推荐[7]。综合运用这些推荐算法,系统能够完成用户信息收集,为推荐提供依据,推荐算法流程如图1所示。

用户特征的生成主要分为用户特征、用户特征计算、用户特征更新频次以及用户画像修正。在基于类别关注度的信息推荐算法中,用户特征计算是对用户浏览的信息进行KL分类处理,通过类别设置分类标签及类别权重。通过用户信息浏览记录可计算出用户单日特征向量,这要求获取用户点击过的相同类别文章数、点击过文章的总数,以及各个类别占整体类别的分布。用户特征更新的计算方式,主要是将用户已有历史的特征向量进行衰减(衰减系数设为0.85),最后再将单日特征向量同历史特征向量进行叠加。

基于主题词的长期关注度推荐模块,主要是进行主题词提取,提取方法采用基于TextRank的关键词抽取方法[8]。数据源主要来自于用户行为数据,既有批量数据又有实时数据。用户特征主要是指用户信息、用户浏览列表、新闻主题词以及特征权重。特征更新频次及用户画像修正采取实时更新的模式,通过用户浏览记录,得到相应的特征向量,同时将得到的主题词及相应的权重同用户已有的历史特征进行叠加。

基于协同过滤的个性化推荐[9]是根据用户最近关注的信息进行兴趣分类,提取用户最近浏览的100条(或者最近72小时)访问日志,完成用户相似性计算,然后对不同兴趣类别用户进行聚类,从聚类结果中生成最近邻,并按照用户兴趣在每类项目中所占的权重分配信息推荐数目。

2 系统功能模块设计

系统功能模块主要包括数据封装、推荐引擎、短地址生成、容灾处理、日志记录、实例化推荐引擎调度、参数校验和用户处理等,下面对其中几个主要功能模块的实现作简单介绍。

(1)数据封装。数据封装的主要功能是将推荐的结果转化成为XML或者JSON两类,方便后期进行调用。对于一些固定内容,比如ID、Name、短地址或者其它相关内容,都可以采取封装的形式进行处理。数据封装是一个技术优化的过程,可以有效地避免很多重复计算,也是对数据进行加密的过程,可确保用户的隐私以及相关信息不会被泄露。

(2)推荐引擎。推荐引擎是系统的核心,该模块根据用户行为特征,得到相应的信息推荐列表,提供给用户查询以及浏览信息,从而进行相关信息的推荐。通过线程池中引擎模块的使用,获取引擎的计算结果,对黑白用户名单进行处理,对信息进行整合过滤,并进行最终排序,从而获取数据的具体内容。候选信息主要是通过调用接口获取,如果获取的信息没有用,则对数据进行放弃;而有用信息,则考虑是否存在限制问题,有限制则按照限制进行遍历,没有就对审核的信息进行推荐、调用内容整合之后的信息,再将信息存入推荐信息库中并返回。推荐引擎整体流程图如图2所示。

(3)短地址生成。为了方便系统内部与外部网站URL的统一,系统专门设立了短地址生成模块,方便URL管理。通过短地址可以直接获取推荐平台的相关信息,包括:推荐引擎、调用模块、推荐位、时间等。短地址生成的主要作用是能够方便用户更好地进行页面跳转,更快捷地获取热点信息,或者用户关注的信息,是一种系统优化功能,具体流程如图3所示。

(4)日志记录。日志记录也是个性化推荐系统的关键点。其中,冲浪WAP日志通过WAP日志手机号、访问URL等字段,识别用户标识ID以及根据用户行为标注系统识别;GN日志是通过GN日志的手机号、IMEI号、URL等字段,识别用户标识ID以及根据用户行为标注系统识别;客户端业务日志通过客户端同步用户标识ID、手机号、IMEI号、访问内容ID、浏览时长、关注、评论、转发等行为日志,识别用户标识ID以及根据用户的浏览和行为特征识别;推荐接口日志则通过写本地缓存,根据接口调用,将数据优先写入到当天目录的rec.log中。通过各种各样的日志能够准确地反映出用户真实的关注度偏好,从而有助于个性化推荐系统的使用。

(5)实例化引擎调度执行。在实例化引擎模块中,首先读取推荐引擎配置,这个过程优先从缓存中读取。如果缓存中不存在或缓存失效,那么就从数据库表t_postmoduleconfig中读取,然后写入缓存,有效期为1小时。接下来读取用户个性化权重配置,这时需要查询表Hbase user_module_weight。将以上参数汇总,同时调用引擎的类,实例化引擎,并且将引擎放到线程池中。对引擎进行实例化时,需要读取ID对应的具体JAVA类,该数据记录在properties配置文件moduleConfig.properties中,并且将各引擎放入线程池调度执行。最后收集引擎执行结果,汇总并返回,具体执行流程如图4所示。

另外,参数校验对于系统运行是一项基础性的工作,只有获取到有效正确的参数,才能对推荐系统作进一步的研究。用户处理模块则是对整个系统起到用户前期验证的作用,可以避免一些无效操作,对于信息采集、系统优化也有一定的帮助。

3 部分功能测试结果

系统以新闻信息个性化推荐为实例,功能测试部分统

计数据如表1所示。

对系统各功能的测试表明,所有用例均达到预设的效果,满足系统设计的目标。

4 结论

个性化推荐应用领域非常广泛,无论是电子商务应用,还是个人信息检索,个性化推荐服务都有巨大的应用价值和研究价值[10]。随着互联网技术的发展,推荐系统各个模块的功能也将得到补充和完善。考虑到用户的需求具有多变性、复杂性特点[11],可以在后续研究中不断改进和优化。

参考文献:

[1] 彭菲菲,钱旭.基于用户关注度的个性化新闻推荐系统[J].计算机应用研究,2012,29(3):1005-1007.

[2] 陶俊, 张宁.基于用户兴趣分类的协同过滤推荐算法[J].计算机系统应用,2011,20(5):55-59.

[3] 张俊杰.基于用户兴趣模型的推荐算法及系统实现[D].上海大学,2014.

[4] ZHAO Z D, SHANG M S. User-based collaborative-filtering recommendation algorithms on hadoop[A]. Knowledge Discovery and DataMining, WKDD10 Third International Conference on IEEE[C].2010:478-481.

[5] KRZYWICKI A, WOBCKE W, CAI X. Interaction-based collaborative filtering methods for recommendation in online dating[A]. Web Information Systems Engineering-WISE 2010[C]. Springer BerlinHeidelberg,2010:342-356.

[6] PAZZANI M J, BILLSUS D. Content-based recommendation systems[J]. Lecture Notes in Computer Science,2007:325-341.

[7] 韦素云,业宁.基于项目类别和兴趣度的协同过滤推荐算法[J].南京大学学报:自然科学版,2013,49(2):142-148.

[8] SARWAR B M, KARYPIS G, KONSTAN J, et al. Item based collaborative filtering recommendation algorithms[C].Proceedings of the 10th Conference on World Wide Web.New York:ACM Press,2001:285-295.

[9] DESHAPANDE M, KARYPIS G. Item-based top-n recommendation algorithms[J]. ACM Transactions on Information Systems,2004,22(1):143-177.

[10] ZHANG J Y, PEARL P. A recursive prediction algorithm for collaborative filtering recommender systems[A]. Proceedings of the 2007ACM Conference on Recommender Systems[C].ACM, 2007:57-64.

[11] 司書勇.基于用户兴趣模型的精准信息推荐技术研究与实现[D].北京:北京工业大学,2015.

(责任编辑:江 艳)

猜你喜欢
个性化推荐
基于远程教育的个性化知识服务研究