基于智能算法的保险用户推荐系统的设计

(整期优先)网络出版时间:2021-10-21
/ 2

基于智能算法的保险用户推荐系统的设计

于子祥 邓春伟 * 李嘉坤 姜宁 韩舒博 于德航

哈尔滨石油学院信息工程学院 黑龙江省哈尔滨市松北区松浦路 297 号

摘要:基于智能算法的保护用户推荐系统前端运用了bootstrap框架,主要运用了SSH框架,借助Oracle数据库实现基于内容、物品协同过滤、用户的协同过滤等算法推荐用户相应产品,同时实现系统用户管理、产品管理等功能。最终实现符合用户需求的推荐系统。

0 概述

互联网近几年的发展速率明显变快,十分迅猛。相应的平台上的用户信息大数据也成正比的方式增加着。本文就是通过推荐算法,使用户可以在用最少时间的前提下,更加精准的挑选出自己所要寻找的适合的保险产品。在这样的情况下,可以使公司的利润率稳步上涨。所以本系统的实用性和现实意义都很高。

1 基于内容推荐系统实现

本系统实现了基于内容推荐,保险产品相对于一些电影,音乐这种类型的数据更加容易结构化,因为保险产品属于可以用文本表示的物品,而且相对于新闻等文本类型的数据,保险产品具有更多的属性,这些属性就可以作为表示一个保险产品的结构化数据。主要通过三部分实现,第一部分是收集数据,也就是收集用户的行为,通过这一部分可以建立用户的特征向量。第二部分是推荐算法,根据用户的特征向量和菜谱的特征向量计算之间的相似度,计算出用户和每个保险产品之间的相似度,给出原始的推荐结果。第三部分就是对推荐结果的操作,包括对推荐结果的筛选以及显示。

在第一部分中,用户的行为可以包括浏览,点赞、购买、打分、评价、收藏等,在本系统中用户的行为只是收藏保险这一动作,通过用户收藏这一行为,将用户id和保险id保存到数据库T_USER_LIKE表中,当需要推荐时,可以从这张表中通过用户id查询该用户收藏的保险id,通过保险id可以查询到该保险所有结构化属性,构建属于用户的属性集合。

第二部分是计算清楚用户和保险之间的相似度。在这一部分,本系统选择了余弦相似度算法,余弦相似度算法是计算文本相似度最常见的。余弦相似度的概念是为用户构建一个特征向量,同时物品也需要一个特征向量,将二者同时放入到一个向量空间模型里,如果在这个向量空间中这两个向量之间的夹角越小,那么说明这两个向量之间相似度越高,他们之间的相似度由二者之间夹角的cos值代表。

在本系统中,首先得到由用户收藏的保险产品的所有属性构成的集合,需要计算相似度的保险属性的集合为第二个要得到的,计算出用户和每个保险产品之间的相似度,给出原始的推荐结果。第三部分就是对推荐结果的操作,包括对推荐结果的筛选以及显示。

2基于物品的协同过滤推荐

本系统基于物品的协同过滤推荐主要依靠的是Apache的开源项目Mahout。其中Mahout提供了一些可扩展的机器学习领域经典算法的实现,同样里面包含了关于协同过滤推荐算法的一些工具集,是开发者可以利用这些工具集快速开发一个简单的推荐系统。Mahout使用Taste实现协同过滤推荐算法,Taste是一个基于Java实现的可扩展的,高效的推荐引擎。

基于物品的协同过滤推荐主要包括4个部分:第一部分是DataModel。是推荐的数据模型,用来读取数据集,数据集的建立是将用户与保险产品之间的关系表,也就是数据库中T_USER_LIKE表中的数据按照一定格式,全部写入一个txt文件中,利用这个txt文件来建立DataModel数据模型。第二部分是ItemSimilarity,根据数据集中所有用户对保险产品的行为,来计算物品之间的相似度,在这里选择的计算相似度的算法是Tanimoto系数(广义Jaccard相似系数),在缺少用户评分的情况下,该算法可以发挥出很好的作用,因为它只关心用户与物品之间是否存在着联系,在本系统中表现为用户是否收藏了保险产品。相应的,该算法只能给出是否相同的结果,而无法给出他们之间的差异大小,所以结果只能有0或1两种。第三部分是GenericItemBasedRecommender,根据ItemSimilarity和DataModel构建基于物品的协同过滤的推荐器。推荐产品是第四个部分,根据创建的构造器给指定用户推荐若干个最相似的保险产品,在前台页面进行显示。

4基于用户协同过滤推荐

和基于物品一样,本系统同样利用了Apache的开源项目Mahout实现基于用户的协同过滤推荐。

基于用户的协同过滤推荐主要分为5部分:第一部分和基于物品的一样,都是DataModel。作用是传入数据集用来构建数据模型,为第二部分做准备。第二部分是UserSimilarity,计算用户之间的相似度就是用它计算的,在这里选择的计算相似度的算法也是Tanimoto系数。第三部分为UserNeighborhood[13]。是实现用户近邻算法的,通过该算法就可以计算出与该用户最相似的N个用户,这个N是可以直接指定的。GenericUserBasedRecommender为第四部分,对基于用户的协同过滤推荐器进行构建需要当邻近用户者确认后。第五部分就是进行推荐了,这时可以为指定用户推荐N个最相似的保险产品。

结论

信息过载指的是信息时代信息过于丰富的负面影响之一,大量冗余的信息干扰了对相关有用的信息的正确选择及关注,每天都在接收着大量的信息,而其中大部分都是冗余的,会很难处理这些不相关的信息,而且随时会被这些信息所误导。这时就必须要学会筛选这些冗余的信息,从而节约时间,推荐系统正是解决“信息过载”的方法之一。

这些算法的目的都是为用户推荐出准确的,用户希望得到的数据,但是实现的方式不尽相同。

参考文献:

[1] 项亮.推荐系统实践[M].北京:人民邮电出版社,2015:36-70.

[2] Dietmar Jannach,Markus Zanker,Alexander ,Gerhard Friedrich.[M].2016:41-70.

[3] 郭艳红.推荐系统的协同过滤算法与应用研究[D].大连理工大学,2018.

[4] 王嫣然,陈梅,王翰虎等.一种基于内容过滤的科技文献推荐算法[J].计算机技术与发展,2011,21(2):66-69.

作者简介:

于子祥,男,蒙古族,黑龙江齐齐哈尔人,生于2000.01.05,本科在读

邓春伟,女,汉族,黑龙江哈尔滨人,生于1981.3,教授

李嘉坤,男,汉,黑龙江齐齐哈尔人,生于2001.06.27,本科在读

姜宁,男,汉族,山西省右玉县人,生于2000.06.02,本科在读

韩舒博,男,汉族,黑龙江绥化人,生于2001.08.06,本科在读

于德航,男,汉族,黑龙江肇东人,生于2000.03.04,本科在读

单位:哈尔滨石油学院 

电话:13796086941

地址:黑龙江省哈尔滨市西大直街220号3单元601,邓春伟收


课题:(黑龙江省大学生创新创业项目(项目编号:202013299030))