APP下载

基于数据过滤Apriori算法的图书推荐模型

2021-05-22李绍华冯晶莹王铮

关键词:项集关联阈值

李绍华,冯晶莹,王铮

基于数据过滤Apriori算法的图书推荐模型

李绍华1,2,冯晶莹2,3,王铮4

(1.大连外国语大学 创新创业学院,辽宁 大连 116044;2.大连理工大学 软件学院,辽宁 大连 116024;3.辽宁警察学院 公安信息系,辽宁 大连 116036;4.大连外国语大学 软件学院,辽宁 大连 116044)

可以从读者的图书借阅记录中挖掘有价值的数据,识别读书偏好,提供个性化的图书借阅推荐服务。Apriori算法存在单一用户的单一借阅记录在整体数据集中变成离群点,导致分析时间和内存开销显著增加的问题。通过设定置信度、支持度和过滤度的阈值,对原数据集进行过滤;再使用Apriori算法对新的数据集进行关联规则分析。带有数据过滤的关联规则算法在图书借阅记录数据量无论大和小的情况下,分析时间更短,内存开销更小,强关联规则更强。

图书推荐;个性化;Apriori算法;数据过滤

个性化推荐是通过获取和分析用户的行为信息,发掘用户的行为偏好,进而提供个性化的信息服务和决策支持[1],其已在新闻资讯、电子商务、自媒体、短视频等互联网平台得到广泛应用。个性化图书推荐起源于亚马逊电子商务平台,根据用户的浏览和购买记录,为用户推荐潜在的感兴趣的图书列表[2]。

个性化推荐系统的核心和关键是推荐算法。张凯涵等[3]提出了一种基于社区专家信息的协同过滤推荐算法;成保梅[4]从使用者特性和兴趣两方面对推荐算法进行个性化改进;杨明极等[5]提出由独立循环神经网络算法与注意力机制共同得到音乐推荐列表;李昌盛等[6]提出将规则挖掘与推荐计算衔接;李涛等[7]将兴趣度关联规则挖掘算法应用于气象观测设备一致性检测。基于关联规则的推荐算法可以发现被推荐物品之间的深层关系,成为推荐领域的研究热点之一。

关联规则推荐算法存在受到数据量影响大,干扰推荐性能的问题[8]。根据用户的借阅行为[9],本文提出基于数据过滤Apriori算法的图书推荐模型,减少数据规模对推荐算法性能的影响,提供个性化图书推荐服务。

1 基于关联规则的图书推荐算法

Apriori算法是经典的关联规则挖掘算法[10],利用逐层搜索的迭代方法找出数据库中项集的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉那些没必要的中间结果)组成,算法流程如图1所示。

Apriori算法主要包含两个步骤:

步骤1:找出数据集中所有的频繁项集,所选项集的支持度要大于等于最小支持度。

步骤2:根据频繁项集产生强关联规则,规则必须满足最小支持度和最小置信度。

支持度代表了关联数据在数据集中出现的次数占总数据集的比重,如式(3)。

2 带有数据过滤的Apriori算法

2.1 问题描述

带有过滤功能的Apriori算法对获取到的项集和事务集进行过滤,删除不满足阈值的书目,将它们单独存放起来。图书馆的图书借阅倾向主要是由阅读群体所决定的,在一个外语类院校的图书馆中,借阅外国语言文学方面书籍的读者占比较大,而在一个综合性大学的图书馆中,图书借阅的倾向往往是由频繁访问图书馆的用户所决定的。图书馆的图书借阅记录存在着天然的借阅倾向,如果不是一个新的图书馆或者是借阅记录十分离散,那么它必将拥有一个或多个的借阅倾向。借助过滤的手段,可以将次要的借阅倾向排除或另行讨论。

2.2 算法模型

带有数据过滤的Apriori算法流程如图2所示。

输入:数据集Dataset、支持度阈值supp、置信度阈值conf、过滤度阈值filter_coefficient。

图2 带有过滤的Apriori算法流程图

步骤1:对整个数据集进行扫描,删除不足过滤度阈值的项,生成新的数据集NewDataset。

步骤2:对新产生的数据集进行扫描,得到所有出现过的项进行展列,作为1项集。

(1)扫描数据集并计算出所有项集的支持度。

3 实验验证

3.1 数据采集及处理

本文使用的图书数据集来源于网上的开放数据集,经数据过滤后,产生3张核心数据表:用户信息表(用户编号、用户名、密码、角色、性别、年龄)、图书评分表(评分编号、ISBN号、用户编号、评分)和图书表(ISBN号、书名、作者、出版年份、出版社、图片、描述)。

设定所有用户评分大于0的用户借阅过当前书目,则基于这3张表就可以统计出该数据库中的事务集合,即每名用户所借阅的评分大于0的借阅记录。将其写成SQL,再通过自动化脚本运行后将其存于文本文件中,每一行数据都是一个用户所有的借阅记录。如图3, 4所示。图4中每一行中的数据用空格分割,每一项都代表着一本书的ISBN编号。

图3 用户ID的部分查询结果

图4 部分事务集

3.2 实验假定

实验选取的图书借阅记录总数为7321条记录。为保证Apriori算法和带有过滤的Apriori算法能在有限时间和空间内运算出结果现做如下假定:

假定1 两种算法的最大时间阈值均为10min,超过时间阈值的算法无论最终是否存在强关联规则的数据,记为TLE(Time Limit Exceed),代表运行超时。

假定2 两种算法的最大内存使用空间为14GB,当占用空间超过14GB时,认为设置了过低的支持度,导致Apriori算法计算出的强关联规则过多,记为ME(Memory Error),代表超出内存限制。

3.3 评价指标

对在相同支持度和置信度下的传统Apriori算法和带有过滤的Apriori算法在不同数据规模下所最终产生的强关联规则数量、平均提升度进行实验分析比较。

3.4 评价分析

实验采用截断数据的处理方式,不同的图书数据集得出的实验结果可能不同。所截断的图书借阅记录取决于一段时间内全体读者的共同阅读倾向的,在实验中存在分析条数数量少但强关联规则数量多的情况。

表1 过滤阈值为25%的算法对比

表2 过滤阈值为10%的算法对比

针对小于等于5000条分析数据进行实验,设置过滤阈值为25%和10%,两种算法的分析比较分别如表3和表4所示;平均提升度对比如图6所示,过滤阈值越低,表明平均提升度越大。由于数据量减少,将支持度调整至0.0003进行实验。可以看出支持度虽然仅提高了0.0001,但由于此时设置的支持度较低,得到了较多的强关联规则,也能从侧面证明了Apriori算法不适合进行大数据集下的数据分析。

图5 7321条的带有过滤Apriori平均提升度对比

接着分析两种算法在借阅记录小于等于3000条并且在支持度变化较大时的实验结果,依旧设置过滤阈值为25%和10%,两种算法的分析比较分别如表5和表6所示;平均提升度对比如图7所示,表明过滤阈值越低,平均提升度越大。由于带有过滤的关联规则算法是在小数据量范围下进行阈值过滤,此时的推荐效果并不理想,当过滤阈值取得足够低时,两种算法的结果并无明显差异,但是带有过滤机制的Apriori算法会因为分析规模更小的数据集而更高效地得到强关联规则,表明带有过滤机制的Apriori算法在较小数据量下可以通过分析更少的数据来获取到相同的强关联规则结果,大幅提高算法效率,在需要及时反馈的图书推荐领域中可以起到重要的作用。

表3 5000条数据过滤阈值为25%的算法对比

表4 5000条数据过滤阈值为10%的算法对比

表5 3000条数据过滤阈值为25%的算法对比

表6 3000条数据过滤阈值为10%的算法对比

图6 5000条的带有过滤Apriori平均提升度对比

图7 3000条的带有过滤Apriori平均提升度对比

最后,进行两种算法性能的横向比较,统计并比较Apriori算法和过滤阈值为25%的Apriori算法从3000条数据至6000条数据的算法时间开销和空间开销。时间开销的对比如图8所示,内存开销的对比如图9所示。

4 结论

基于过滤Apriori的图书推荐算法如何通过抽取强规则来获取用户特征,提高推荐性能,挖掘多领域之间的复杂关系,并由此给出更好的推荐,将会是未来重要的研究方向之一。

图8 随着数据集规模增大时两种算法运行时间对比

图9 随着数据集规模增大时两种算法运行内存对比

[1] 任明. 智能信息系统:以关联知识优化数据建模的方法和实践[M]. 浙江:浙江大学出版社,2012.

[2] Linden G, Smith B, York J, et al. Amazon.com recommendations: item-to-item collaborative filtering[J]. Internet Computing, IEEE, 2003, 7(1): 76-80.

[3] 张凯涵,梁吉业,赵兴旺,等. 一种基于社区专家信息的协同过滤推荐算法[J]. 计算机研究与发展,2018, 55(05): 78-86.

[4] 成保梅. 基于协同过滤的电子商务个性化推荐算法研究[J]. 现代电子技术,2019, 42(20): 37-39, 44.

[5] 杨明极,刘畅,宋泽. 注意力机制与改进RNN的混合音乐推荐算法研究[J]. 小型微型计算机系统,2020, 41(10): 2235-2240.

[6] 李昌盛,伍之昂,张璐,等. 关联规则推荐的高效分布式计算框架[J]. 计算机学报,2019, 42(06): 1218-1231.

[7] 李涛,郁美辰,陆正邦,等. 基于关联规则挖掘的气象观测设备一致性检测算法[J]. 电子测量与仪器学报,2017, 31(10): 1568-1573.

[8] 纪文璐,王海龙,苏贵斌,等. 基于关联规则算法的推荐方法研究综述[J]. 计算机工程与应用,2020, 56(22): 33-41.

[9] 王井. 一种基于订阅记录的图书协同过滤推荐方法研究[J]. 情报科学,2020, 38(03): 54-59, 77.

[10] Purdom P W, Gucht D V, Groth D P. Average case performance of the apriori algorithm[J]. Siam Journal on Computing, 2004, 33(5): 1223-1260.

A book recommendation model based on data filtering Apriori algorithm

LI Shao-hua1,2,FENG Jing-ying2,3,WANG Zheng4

(1.School of Innovation and Entrepreneurship, Dalian University of Foreign Languages, Liaoning Dalian 116044, China;2.School of Software Technology, Dalian University of Technology, Liaoning Dalian 116024, China;3.Police Information Department, Liaoning Police Academy, Liaoning Dalian 116036, China;4.School of Software, Dalian University of Foreign Languages, Liaoning Dalian 116044, China)

It can mine valuable data from readers' book borrowing records, identify reading preferences, and then provide personalized book borrowing recommendation service. Apriori algorithm has the problem that the single borrowing record of a single user becomes an outlier in the whole dataset, which leads to the significant increase of analysis time and memory cost. By setting the threshold of confidence, support and filtering, the original data set is filtered, and then the Apriori algorithm is used to analyze the association rules of the new data set. The association rule algorithm with data filtering has shorter analysis time, less memory cost and stronger association rules in the case of large amount and small amount of data.

book recommendation;personalized;Apriori algorithm;data filtering

2020-12-31

国家自然科学基金(61806038);辽宁省社会科学规划基金(L15CGL009);大连外国语大学大学生创新创业训练计划项目(202110172A247)

李绍华(1981-),男,辽宁庄河人,副教授,博士,主要从事图书情报、专家系统研究,lishaohua@dlufl.edu.cn。

TP391.3

A

1007-984X(2021)04-0038-06

猜你喜欢

项集关联阈值
基于共现结构的频繁高效用项集挖掘算法
土石坝坝体失稳破坏降水阈值的确定方法
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
“一带一路”递进,关联民生更紧
基于矩阵相乘的Apriori改进算法
奇趣搭配
不确定数据中的代表频繁项集近似挖掘
智趣
辽宁强对流天气物理量阈值探索统计分析