摘 要: 互联网时代给人们的消费带来了便利,但琳琅满目的商品也为用户带来了选择困难,在没有明确需求的情况下,如何为消费者推荐存在潜在商机的商品是电商急需解决的难题。为了提升商品推荐的精确度,设计了基于关联规则算法的电子商务商品推荐系统,对FPGrowth算法进行优化改进,提出了一种更高效的CTE-MARM挖掘算法,构建关联规则库,并与用户兴趣商品链联合分析,将具备强关联关系的商品按照用户兴趣度高低选取TOP-N进行推荐,经过测试验证实际命中率较高,提升分析效率的同时也为商家后续营销决策提供有力的数据支撑。
关键词 : 数据挖掘;关联规则; CTE-MARM算法;
Abstract: The Internet era has brought convenience to people's consumption activities, but a wide range of goods has also brought difficulties for users to choose. In the absence of clear demand, how to recommend goods with potential business opportunities to consumers is an urgent problem for e-commerce. In order to improve the accuracy of the recommendation, this paper designs an electronic commerce recommendation system based on association rules algorithm, optimizes the algorithm of FPGrowth. This paper proposes a more efficient mining algorithm of CTE-MARM, constructs library association rules, by associating with the user interest commodity chains analysis. The algorithm has strong correlation of goods in accordance with the user interest degree of discretion, provides TOP-N recommendations. Through tests, it is verified that the actual percentage is higher, enhances the analysis efficiency, also provides powerful data for merchants subsequent marketing decision support.
Keyword: data mining; association rules; CTE-MARM algorithm;
0 、引言
随着信息技术的发展,人们在享受科技带来便利的同时也受到了信息过载的困扰,对于电子商务领域同样如此。如何帮助用户获得满意商品是电商企业获取利润和提升自身信誉的关键,电子商务商品推荐系统应运而生,将数据挖掘技术应用于用户日常购物活动的场景之中,利用关联挖掘算法分析历史数据来实现潜在商机预测,既为用户节约了寻找感兴趣商品的时间,也为商家提升了销量及用户忠诚度。
1 、需求分析
1.1、 功能需求
电子商务的商品推荐系统主要是根据收集的用户浏览行为以及历史消费记录分析其兴趣偏好、挖掘预测潜在购买商机进行推荐。其中最关键的是个性化以及实时性。系统的主要功能体现在以下几个方面。
(1) 数据采集:
提取相关记录及行为数据。
(2) 数据预处理:
剔除无用数据、确保数据完整。
(3) 用户兴趣分析:
构建用户兴趣模型,分析积累用户兴趣商品库。
(4) 关联规则库:
根据挖掘算法构建关联规则库。
(5) 商品推荐:
推荐用户感兴趣的商品。
1.2 、关键参数
(1) 置信度:
降低关联规则中“规则爆炸”情况,提升算法精准率。
(2) 时效度:
在实际场景中,人们的购物习惯是在不断变化的,距现在时间越近的相关浏览记录或购买记录越能代表当前的需求偏重点。
(3) 兴趣度:
在电子商务领域可以反映用户兴趣的因素有很多,包括购买、浏览、收藏、评分、评论等。兴趣度体现为将多种商务行为经过算法策略得出的兴趣程度的权值[1,2]。
2 、相关技术
2.1 、数据挖掘
数据挖掘是一门新兴的技术,是多学科综合形成的产物,指的是从海量不完整的、存在脏数据的、比较模糊的数据集中抽取出未知的有潜在价值的、有意义的模式或规律的计算过程,主要包括数据清洗、数据集成、数据选择、数据转换、数据挖掘、数据评估及数据展示。
(1) 清洗与集成:
数据质量是保证挖掘出来的知识可靠性的基础,需要清除重复数据、不完整数据、脏数据,并将多个数据源的数据集成到一起完成后续操作。
(2) 选择与转换:
选择将进行数据挖掘的目标,针对不同数据类型进行统一化处理,消减特征维数,降低不必要的计算。
(3) 挖掘与评估:
运用相关的聚类、分类算法进行数据计算,从挖掘结果中根据一定的评估标准选出有意义的知识。
2.2 、关联规则
关联反映的其实是事物之间的依赖关系,其中两个或多个属性之间的取值如果呈现规律,则认为有关联关系,根据其中一项属性值即可预测其他属性值。在数据挖掘领域中基于关联规则挖掘的研究是其中的重要研究方向。关联规则挖掘的基本概念如下。
(1) 数据项与数据项集:
设I={i1,i2,…im)是m个不同项的集合,则每个ik(k=1,2,…,m)代表数据项,I为数据项集。
(2) 事务:
事务T是数据项集的非空子集,每个事务与唯一标识符对应,记为TID。多个事务构成事务集D。
(3) 支持度:
假设X为数据项集,A为事务集D中所有事务数量之和;B为D中包含X的数量之和,则X的支持度为support(X)=BA。
(4) 关联规则:
X?Y用的形式表示,其中X?I,Y?I且X∩Y=?,表示如果X项集在某一事务中出现,则Y也会出现。
(5) 关联规则置信度:
置信度指的是包含X和Y的事务数与包含X的事务数的比值,置信度越高,关联规则的可靠性越好。计算式为式(1)。
confidence(X?Y)=|{T:X∪Y?T,T∈D}|/?????????(1)|{T:X?T,T∈D}|
(6) 最小支持度和最小置信度:
最小支持度用来过滤出现频率低的项集,最小置信度用来剔除可靠性低的关联规则。
3 、关键算法
3.1 、FP_Growth算法
FP_Growth算法采用模式增长的方式来发现频繁项集,首先建立一棵频繁模式数FP_tree, 存放事务集的所有频繁项集,然后将树中压缩后的事务集划分为一组条件事务集,每个事务集关联一个频繁项,分别挖掘每个条件事务集。该算法可以明显压缩被搜索的事务集[3,4]。
3.2、 CTE-MARM算法
由于FP_tree频繁项集查找时存在节点多、递归调用次数多等问题,本文针对电子商务商品推荐的个性化应用性问题,对FP_Growth算法做出优化与改进,提出一种基于FP_Growth算法的约束事务扩展多层关联规则挖掘算法CTE-MARM(Constraint Transaction Extension—Multi-level Association Rule Mining),以此提升挖掘效率、减少冗余规则。主要改进项如下。
(1) 对每条事务基于K层次约束扩充,将每个事务项的前k-1个祖先项添加到当前事务,之后剔除重复项,既约束数量的扩展又可以保证发现关联规则。
(2) 创建FP_tree时对每个节点添加两个域:ConditionMemory用来存放结点前缀路径上的结点、IsVisited用来判断当前结点是否被遍历,避免多次回溯。
(3) 增加风险度阈值指标,确保事务约束扩展层次k选值合理。
4 、用户兴趣模型
用户兴趣模型是电子商务商品推荐系统的核心,是确保推荐质量的关键模块。首先,构建商品-用户行为特征矩阵。
然后,向量空间模型采用三元组〈用户,商品集,兴趣集〉的形式,〈useri,goods, interests〉,其中,
useri为具体用户;
goods为商品集合,goods=〈good1,good2,…,goodj,…goodn〉;
interests为兴趣度集合,interests=〈IRi1,IRi2,…,IRij,…IRin〉;
IRij为用户i对商品j的兴趣度。
Iij(cc, rc, st, el)=wccα1+wrcα2+wstα3+welα4,(∑4i=1αi=1)(cc: 鼠标点击次数;rc: 重复访问页面次数;st: 停留时间;el: 用户对商品评价分值;w:相关权重;α:加权参数)
通过三元组记录用户感兴趣的商品集,按IRij降序排列,采用TOP-N策略,选取IR值前N个商品形成“用户-兴趣商品链”。另外,还需要考虑其他数据挖掘出的关联规则,利用改进的CTE-MARM算法进行关联挖掘,如果有用户-兴趣商品链表中的goodi存在强关联规则的goodk,则将goodk也添加到三元组中[5,6]。模型构建流程如图1所示。
5 、电子商务商品推荐系统设计
5.1、 开发环境
数据库:MySQL
编译环境:JDK+Tomcat
开发工具:MyEclipse
开发语言:Java、JavaScript、MySQL
图1 用户兴趣模型构建流程
5.2、 总体设计
基于关联规则算法,本文将电子商务商品推荐系统功能划分为数据采集及清洗、用户兴趣分析、构建关联规则库、TOP-N推荐4个部分,整体架构设计如图2所示。
图2 系统整体架构图
(1) 数据采集及清洗模块:
数据采集包括两类数据,一类是已购买记录,一类是各种商务行为数据。这两类数据是关联规则挖掘以及用户兴趣度分析的基础。另一方面,由于原始数据包含很多杂乱、模糊、残缺的脏数据,为提升挖掘效率需要对原始数据进行清洗,通过检测空订单、检测交易记录中商品是否存在,剔除交易记录中无关字段等方法对数据完成简化处理[7,8]。
(2) 用户兴趣分析模块:
负责建立和更新兴趣模型,前台自动获取用户行为,存于相应数据库表,按照前文阐述的计算兴趣度算法构建用户-兴趣商品链。与关联规则库联合,查找强关联商品,作为TOP-N推荐模块的输入。
(3) 构建关联规则库模块:
采用前文介绍的CTE-MARM算法根据具体需求来挖掘指定层次间的关联,约束层次k的值设置为2,针对事务交易表按置信度高低挖掘出规则存于规则表。
(4) TOP-N推荐模块:
在关联规则库中查询与用户兴趣模型中存在强关联关系的商品进行网页可视化展示。
5.3、 数据库设计
鉴于电子商务商品推荐系统的行为分析及商品推荐功能,构建数据库E-R模型,如图3所示。
图3 数据库E-R图
其中,核心数据库表如下。
(1) 用户信息表user:
主要包括用户ID、注册名称、密码、性别、联系方式、地址。
(2) 商品信息表productInfo:
主要包括商品ID、名称、链接、层次、类别、价格、库存。
(3) 事务交易表transactionOrders:
主要包括事务交易ID、用户ID。
(4) 购物记录表orders:
主要包括唯一标识ID、事务交易ID、商品ID。
(5) 用户行为表userVisited:
主要包括唯一标识ID、用户ID、商品ID、点击次数、重复访问次数、浏览时间、是否收藏、评价得分。
(6) 关联规则表rules:
主要包括唯一标识ID、规则前件商品ID、规则后件商品ID、商品间置信度、类别与商品间置信度。
(7) 用户兴趣表userFavourite:
主要包括唯一标识ID、用户ID、商品ID、兴趣度。
6 、系统测试与验证
为验证本文构建模型及推荐商品的准确性,将3 000个用户的购买信息作为测试数据,通过人工统计的结果、人工分析的用户习惯以及系统计算结果进行对比,每测试一次后,将数据重新交叉组合,共测试5次,得到结果如图4所示。
图4 人工分析与系统算法结果命中率分析
结果表明,人工分析的最畅销商品命中率为31.8%,人工分析用户兴趣推荐的命中率为51.1%,而基于关联规则算法构建的电子商务商品推荐系统推荐的商品命中率为55.8%,相对来说系统算法更为有效,命中率比较高,符合最初设计预期[9]。
7 、总结
本文利用优化改进的CTE-MARM算法提升挖掘效率,构建关联规则库,并通过用户兴趣模型实现用户-兴趣商品链分析,两者联合起来为用户提供TOP-N商品推荐,经验证具有较高实用性。但在多层关联挖掘算法优化方面还需进一步探索,在商品推荐命中率提升方面还需要考虑更多的影响因素与技术手段。
参考文献
[1]林穗,郑志豪.基于关联规则的客户行为建模与商品推荐研究[J]广东I业大学学报, 2018,35(3):90-94.
[2]郝海涛,驮元基于加权关联规则挖掘算法的电子商务商品推荐系统研究[J]现代电子技术, 2016,39(15):133-136.
[3]张勇杰,杨鹏飞,段群,等基于关联规则的商品智能推荐算法[J]现代计算机(专业版),2016(10):25-27.
[4]刘枚莲,刘同存,肖吉军基于双向关联规则的网络消费者偏好挖掘研究[J]微电子学与计算机, 2013,30(3):20-26.
[5]王宝军基于商品标签化与关联规则的电子商务商品关联推荐研究[J]商场现代化, 2020(11):8-10.
[6]黄玲,余霞基于云平台的电子商务商品智能推荐系统[J]现代电子技术, 2020,43(5):183- 186.
[7]邓灵斌,申慧电子商务平台商品推荐信息特性对消费者购买意愿的影响实证研究[J]南华大学学报(社会科学版),.2019,20(2):60-65.
[8]姚剑,余炎,黄诗盛,等基于个性化导购的商品智能动态推荐系统[J].价值工程, 2017,36(35):199-201.
[9]游运,万常选,陈煌烨考虑对象关联关系的多样化商品推荐方法[J].计算机工程与应用, 2018,54(7):70-76.