基于Apriori改进算法及行为分析的旅游景区推荐系统

2022-09-02 01:41侯宝锁
长春大学学报 2022年4期
关键词:权值关联景区

侯宝锁

(浙江旅游职业学院 后勤服务处,杭州 311231)

随着社会经济的发展,旅游产品不断丰富,且在互联网这一时代背景下,将线下旅游产品发展为线上和线下相结合的旅游产品,相较之前单纯的线下旅游产品,具有产品丰富、服务广泛、沟通高效等优点[1]。然而,丰富的旅游产品和活动,却也让用户无从选择,为此,研究旅游景区推荐系统可以为用户提供更加人性化的旅游服务[2]。

目前,旅游市场研究出了途牛旅游网、基于情境感知的推荐系统、Web和移动端、混合推荐算法等旅游推荐技术,为用户制定个性化旅游产品并推荐[3]。文献[4]通过爬虫软件和Jieba分词获取用户在线评论信息,并对其感情强度进行评价赋权,使用Topsis排序为用户推荐旅游景点。文献[5]将分段用户群与时间相结合,建立旅游景点推荐模型,为用户个性化推荐旅游景点。文献[6]采用Spark框架设计加权矩阵分解算法,实现个性化景点推荐系统设计。文献[7]用混合推荐算法,缓解系统处理用户数据稀疏问题,提高系统推荐质量。文献[8]将融合项目和用户隐式反馈相结合,实现个性化推荐系统设计。

上述旅游推荐算法生成景区推荐列表速度慢且推荐景区范围小,难以满足用户个性化需求,本研究利用关联规则改进Apriori算法,在分析用户行为的基础上设计旅游景区推荐系统。

1 基于Apriori改进算法及行为分析的旅游景区推荐系统设计

1.1 系统总体架构设计

在目前设计的景区推荐系统硬件基础上,采用典型的B/S架构将景区推荐系统架构分为应用、业务逻辑和数据3层,所设计的系统架构如图1所示。

图1 系统架构

系统架构在系统的业务逻辑层采用Web服务器接收用户的推荐请求,并完成相应的推荐逻辑处理,然后以HTML的形式,将处理后的数据返回到用户界面,以供用户浏览景区推荐数据,完成用户推荐请求;数据层将两个数据库服务器相结合,并与Mysql数据存储板块相连接,以增加数据的处理和存储能力。业务逻辑层软件方面,将其分为数据计算和景区推荐两部分,采用Apriori改进算法分析用户行为,得到用户行为分析结果,根据分析结果,计算旅游景区词频,通过推荐模型为用户推荐旅游景区。此外,在Web服务器和用户网络之间增加了一个防火墙,用于过滤恶意IP地址请求[9]。

此次设计系统设计的数据层,将数据库处理器分为3部分,一个数据库用于处理、提取存储数据;另一个数据库用于用户缓存提取的数据库数据,以此降低Web服务器访问数据存储层频率,提高系统推荐景区速度。在已有的数据库中选择Myaql软件作为此次设计系统的数据库,其中存储了百科、景点文本和poi等数据,以此支持系统词频计算。

应用层主要为系统提供访问接口,用户可以采用电脑、PC、手机、ipad等智能终端访问系统,选择系统应用层不同模块浏览系统内容,获取自身需求的景区推荐信息[10]。

系统管理终端中包含系统维护、管理、检修等系统控制功能,如系统推荐、查询等规则更新、调整、用户信息增添、删除等功能。

1.2 构建用户行为特征文件

由于旅游景区的环境、天气、开放程度等都存在诸多不确定性,且用户在选择旅游景区时,会受到天气、时间、同伴等因素影响而发生变化。因此,系统需要根据用户对相关旅游数据的浏览时长、关键词筛选、标签等数据定义用户行为。但是,在定义过程中会受数据时间界限影响,一旦定义的用户行为超过规定时间,其原本定义的用户行为将不能作为推荐旅游景区行为标识。

基于此,从系统应用层中抽取的注册信息和表现、情境和虚拟行为、交易记录等用户行为进行分组,整理用户行为标签,根据标签的多少、页面浏览时长、标签时间生成等分组排序。其具体过程如下:

步骤1:将分组后的用户行为文件记为文本文件e,其标准配置文件类型为fconf;

步骤2:根据fconf初始化文本文件e;

步骤3:按照文件大小排列,存储一个用户行为关联操作组q;

步骤4:循环步骤3,当到达“!”时即结束文件存储循环,其中,“!”表示文本文件e循环结束符;

步骤5:读取文件e中的一行信息,判断信息中标识符u的定义。若u表示用户标识符,按照先后顺序将q中的元素存储到r中,同时清空q中的元素;若标识符u表示景区项目,按照先后顺序将q中的元素存储到r中;若标识符u表示用户行为,重置用户“筛选条件”,清空q中的元素;

步骤6:循环步骤5,对比标识符u中的元素与关联操作组q中的元素;

步骤7:判断关联操作组q中的元素是否包含标识符u中的元素,若包含标识符u中的元素,标注关联操作组q中的行为类型;若不包含标识符u中的元素,将该元素添加在关联操作组q的列队末尾;

步骤8:输出用户行为序列。

根据上述8个步骤生成的用户行为序列,以用户为单位建立用户行为模板g,记录用户行为序列和旅游景区之间的关联,形成用户行为特征文件。为此,将用户行为作为原始数据序列根据用户行为种类V,构建V维用户行为特征文件O,则有:

O={(h1,s1),…,(hv,sv),…,(hV,sV)}

(1)

式(1)中,hi表示用户行为模板g中第v个用户行为;sv表示行为模板中出现hi的次数[11]。依据式(1)所示的用户行为特征文件,采用关联规则方法改进Apriori算法为用户行为赋权,建立用户行为分析模型,生成推荐旅游景区集合,为用户推荐心仪的旅游景区。

1.3 基于Apriori改进算法建立景区推荐模型

1.3.1 用户行为赋权

根据式(1)所示的用户行为特征文件,赋予用户行为重要程度权重,将定性问题转化为定量问题。基于此,将用户行为划分为水平、垂直和复合3个层次,利用关联规则算法计算用户行为关联加权。

将系统中存储的用户注册信息和表现记为用户行为关联水平加权,假设旅游服务产品项目特征集合为B={b1,…,bi,…,bk},其中,k表示旅游服务产品项目数量,bi表示第i个旅游服务产品项目。为bi赋权,将其权值记为wi,则wi具有0≤wi≤1,i=1,2,…,k性质,则有:

w1=ω(B)z1(B)=max{w1,…,wi,…,wk}z1(B) ,

(2)

式(2)中,w1表示用户行为关联水平加权支持度;ω(B)表示B的加权值;z1(B)表示B的支持度;{w1,…,wi,…,wk}表示B中每一项的权值[12]。

将用户的情境、虚拟行为等记为用户行为多源关联垂直加权,假设用户相关事物记录集合为A={a1,…,aj,…,al},其中,aj表示第j条用户相关事物记录,l表示用户相关事物记录数量,为aj赋权,将其权值记为wj,其具有0≤wj≤1,j=1,2,…,l性质,则有:

(3)

式(3)中,w2表示用户行为多元关联垂直加权支持度;∑wj(a′)表示用户相关事物记录中与a′行为相关的权值和,其中,a′代表情境、虚拟个体和虚拟行为关联等行为中的任意一种;∑wj(A)表示用户相关事物记录的加权值[13]。

将B和A相结合产生的用户交易记录行为记为复合关联加权,即在水平权值wi的基础上,还具有垂直权值wj,且同时具有两个权值的性质,则有:

(4)

式(4)中,z(A,B)表示A,B的支持度;z1(wi)表示wi的支持度;z1(wj)表示wj的支持度[14]。综合上述3个公式为用户行为关联赋予的权值,建立用户行为分析模型。

1.3.2 建立用户行为分析模型

假设系统应用层存在n个界面访问事务和m个指标,用户在浏览系统应用层时,可以生成初始行为矩阵ψn*m。与此同时,将上述3个公式计算得到的用户行为权值按照降序顺序排列,若B中的第i项bi出现在A中的第j项aj中,则ψn*m=1,反之,ψn*m=0。

采用改进后的Apriori算法,计算用户行为项目最低支持数zmin(A,B):

(5)

逻辑运算A和B,即A^B=ψ2,其中,^表示逻辑运算符号,ψ2表示^运算生成的新矩阵。比较ψ1的最低支持数和ψ2的最低支持数,生成加权频繁2推荐景区项集。连续运算A^B,得到候选l推荐景区项集的支持数,并将其与zmin(A,B)对比,得到加权频繁l项集。此时,生成的加权频繁l项集,即根据用户行为向用户推荐的旅游景区集合。

2 系统测试

选择基于Spark的推荐系统[6]和基于深度学习的推荐系统[7]作为此次实验对比系统,采用8核2.40 GHz的CPU、128 GB的内存、12 TB的硬盘、千兆网卡、Centos6.0版本的操作系统等硬件搭建3个配置一样的推荐系统,通过RMSE、准确率、召回率、覆盖率4个指标,以及系统推荐离线计算和在线计算耗时测试,验证此次设计基于Apriori改进算法及行为分析的旅游景区推荐系统的运行性能。

2.1 实验设计

此次实验将系统性能测试分为计算速度和指标评测两部分,在此次实验准备的系统推荐测试数据集中,对比测试3组系统运行性能。此次实验准备的系统推荐测试数据集中,包含了用户、旅游景区、用户评分3类信息,其数量分别为10 000、3 000和2 000 000。所选择的数据集中,每位用户都至少浏览过10个旅游景区。

2.1.1 速度计算设计

推荐系统计算速度快慢体现在用户在某个具体页面停留时长,直接影响用户体验效果,其停留时间越长用户体验效果越差。基于此,根据系统推荐引擎,将系统推荐引擎运行前后时间差作为系统推荐速度测试指标,其计算公式如式(6)所示:

Δt=t2-t1

(6)

式(6)中,Δt表示系统推荐引擎运行前后时间差;t2表示系统引擎计算前系统运行时间;t1表示系统引擎计算后运行时间。如式(6)所示的系统推荐速度计算公式,Δt值越小,用户体验效果越优,系统推荐性能越好。

2.1.2 指标评测设计

将此次实验选择的数据集中2 000 000的用户评分信息按照6∶4的比例,分为训练数据集和测试数据集两部分。在测试系统推荐性能时,需要对系统性能进行全方面评测,为此,选择RMSE、准确率、召回率、覆盖率4个指标判断系统推荐性能,其计算公式如下:

(7)

如式(7)所示,准确率、召回率和覆盖率指标值越高,系统推荐的旅游景区范围越广,越符合用户需求。RMSE评价指标用于度量系统对用户行为赋权结果,其值越小,用户行为误差越小。上述4个指标计算数据,其用户信息和产品信息均从此次实验选择的数据集中获取。

2.2 系统推荐测评结果

2.2.1 系统推荐速度计算结果

根据式(7)所示的计算公式,计算3组系统推荐旅游景区在线和离线计算时间,其计算结果如图2所示。从图2可以看出,系统离线计算速度明显较在线计算速度快。其中,设计系统较基于Spark的推荐系统和基于深度学习的推荐系统离线计算速度分别快0.42 s、1.8 s,3组系统离线计算速度相差较小;在线计算速度分别快46.9 s、114.16 s,3组系统在线计算速度相差极大。由此可见,此设计系统具有较快的推荐速度,用户所需等待时间短。

图2 系统推荐旅游景区在线和离线计算时间

2.2.2 系统评测指标测试结果

根据式(7)所示的计算公式,计算3组系统推荐旅游景区评测指标,其计算结果如图3所示。

图3 系统推荐旅游景区评测指标计算结果

从图3中可以看出,此次设计系统的RMSE指标相较基于Spark的推荐系统和基于深度学习的推荐系统分别小0.07和0.1,准确率、召回率和覆盖率分别高0.133 8和0.216 2、0.099 2和0.138 5、0.457 7和0.323 5。由此可见,此次设计系统4个指标值均处于最优值。

综合上述两组实验结果可知,本设计系统生成旅游景区推荐列表速度快,且推荐范围相对较广,更加符合用户需求。

3 结语

系统采用Apriori改进算法赋予用户行为特征权重,以此确定用户对旅游景区的需求,从而生成满足用户需求的旅游景区推荐列表;经验证,系统提高了旅游景区推荐速度、范围和正确率。但是系统并未考虑推荐资源调配方法,处理用户行为数据方面稍显不足。因此,在今后的研究中,还需深入研究推荐资源调配方法,进一步提高系统对用户行为数据处理能力。

猜你喜欢
权值关联景区
云南发布一批公示 10家景区拟确定为国家4A级旅游景区
『摘牌』
“摘牌”
“一带一路”递进,关联民生更紧
某景区留念
奇趣搭配
智趣
财务风险跟踪评价方法初探
基于洪泛查询的最短路径算法在智能交通系统中的应用
试论棋例裁决难点——无关联①