APP下载

融合云技术与关联分析算法的旅游服务推荐模型研究

2023-11-07林芷航

吉林化工学院学报 2023年3期
关键词:服务项目分值准确率

林芷航

(闽江学院 经济与管理学院,福建 福州 350108)

旅游服务推荐是当前旅游业应用广泛的营销策略,但随着旅游数据的日渐增多,对于数据的处理与存储变得越发困难[1]。并且搜索引擎的信息检索越来越难以满足用户多样化的个性化需求,也很难对信息负载问题进行高效处理。因此,寻找解决用户个性化需求与信息超载间的矛盾问题的方法极为重要。推荐系统不仅能够用于解决信息过载,还可通过推荐技术为用户找到潜在的需求信息[2]。Hadoop云计算平台是当前最好的大数据分析工具,其MapReduce能通过分布计算迅速地处理庞大繁杂的数据[3]。FP-growth算法是一种运行效率高、步骤简单的能够加快数据挖掘过程的关联分析算法[4]。该算法采用了一种频繁模式树(Frequent Pattern Tree,FP-tree)的数据结构,该结构是加快整个挖掘过程的关键[5]。由于FP-growth算法要求具有FP-tree的递归生成条件,因而导致其内存开销较大。为此,研究提出对FP-growth算法的FP-tree结构进行优化,并将改进后的算法与云计算结合应用于旅游服务推荐系统上,旨在实现更为精准高效的旅游服务推荐。

1 融合云技术与关联分析算法的旅游服务推荐模型构建

1.1 云计算环境下基于改进FP-growth的用户兴趣旅游推荐算法的设计

云计算是通过计算机网络形成的计算能力超强的系统,其核心理念是以Internet为核心,为用户提供快捷、安全的云计算服务和数据存储,使海量的计算资源和数据中心得以充分利用。Hadoop是极为优秀的云计算平台,其主要由MapReduce与HDFS组成。MapReduce能够利用分布式计算快速处理庞大的数据,而HDFS包含了hive与hbase等存储与操作大量数据超强的子项目[6]。在Hadoop平台上实现旅游服务推荐系统,既能解决庞大的旅游数据的存储问题,也能实现复杂的计算。

如图1所示,为基于云计算的旅游服务推荐系统。此次研究的核心部分是云计算平台推荐算法的设计,主要包括:数据采集、数据预处理与分析、并行推荐算法,以及服务推荐实现。

图1 云计算下的旅游服务推荐系统框架

由于旅游数据结构化与非结构化不一,因此在获取过程中需要进行合理分类。研究选择的数据采集工具为LocoySpider,其还能对采集好的资源进行有效分类。在时间分布上,旅游季节性主要表现为游客接待量的不均衡性。因此研究以游客人数指标,对游客量的时间分布特征进行研究,对季节性强度指数与游客的特征进行展开分析。如式(1)为季节性强度指数的计算。

(1)

在式(1)中,8.33表示在全年绝对平均的前提下,计算出来的每月总收入占全年总收入的百分比。xi表示每月游客人数占全年总人数的比例。当R越接近0,在旅游需求时间的分配上则越均衡。在整个旅游流网络中,其规模指的是旅游网络节点数量。有向网络图所有可能的关系数量见式(2)。

Z=k×(k-1) ,

(2)

在式(2)中,k代表旅游观光节点数目。旅游网络密度反映了各结点之间的关联度,即实际联系和理论联系的总值,见式(3)。

(3)

在式(3)中,di(ni,nj)表示节点ni与nj间的关系量。D的取值为0~1,0表示节点间不存在联系,1代表所有的旅游景点在理想的情况下紧密联系。同时,在旅游网络分析中,必须充分考虑到核心问题。中心性是对行动者具有权利,或是居于某中心地位的量化。在旅游流网中,以中心旅游节点向其余节点辐射、集聚的能力来体现中心性。传统的FP-growth算法只能根据用户对某一项的兴趣进行挖掘,而不能得到该项的访问数量。因而研究认为使用标准化的访问频率可以更好地反映出游客对旅游项目的兴趣。见式(4)为用户对项目的兴趣值计算表达式[7]。

(4)

在式(3)中,fu,i表示用户u对旅游服务项目i的访问频次。其中,I={i1,i2,…,in}表示旅游服务项目的集合。虽然兴趣值被反映在[0-1]的区间内,然而不能反映随着时间推移用户兴趣的改变。因此,研究引入了遗忘函数,来反映用户随时间变化的兴趣值,如式(5)[8]。

f(t)=exp(-λ·Δt),

(5)

在式(5)中,λ表示遗忘因子对遗忘的速度控制。根据经验,90天之后,将该数据的权重降低到1/2。再结合式(1)与式(2),得到的表达式如式(6)所示。

(6)

(7)

1.2 基于云技术与改进FP-growth关联分析的旅游推荐服务建模

研究通过改进FP-growth算法构建的IFP-tree是以游客最感兴趣的旅游服务为基础,从中找出与之相关的最多的频繁项,由此形成了一系列的推荐顺序。最后由相似度排序获得最终的推荐序列,尝试以此获得较为精准的用户感兴趣的旅游服务项目。FP-growth算法主要基于FP-tree结构加快整个挖掘过程。针对传统FP-tree的简单结构,提出了一个项目的活动度来表达旅游项目的受喜爱程度。将旅游服务项目活跃度称为每个项目的节点数与利息值的乘积,其计算如式(8)[10]所示。

(8)

图2 旅游推荐服务的离线与在线部分模型设计

如图2(a)所示,离线部分对于准备好的数据需要经过预处理,转换成FP-growth算法所能处理的信息。该算法的完成主要经过如图2(a)所示的4步操作。关联规则挖掘需要关注支持度与置信度[12]。在该系统中,支持度的选择需根据事务量决定。但若该参数值设置过高,会导致挖掘结果数量太少,反之,则会造成数量太多。该方法通过算法直接求出可信度,然后在前X项中选取具有高可信度的结果。如图2(b)所示,在线部分包括了三层架构,该架构主要体现了“高内聚,低耦合”的思想[13]。在线部分会根据系统的使用情况,为其提供个性化的旅游服务推荐。整个旅游服务推荐的流程如图3所示。

图3 旅游推荐服务流程图

在图3中,该推荐系统采用了B-S结构,可以方便地访问服务器资源。在用户获取旅游服务的过程中,首先登录推荐系统,然后由用户在站点中进行浏览。并且,将会按照他们的兴趣记录、浏览记录,以及用户浏览景点记录等所产生的常规规则进行匹配。

如果旅游服务推荐系统找到了对应的搜索结果,那么服务器就会反馈给用户,让用户能够在浏览器中查看到。在推荐算法中,常用准确率、召回率作为评价指标来对算法的有效性进行验证。准确率Precision与召回率Recall的计算表达如式(9)所示。

(9)

在式(9)中,∑u∈U|R(u)∩T(u)|为用户所建议的旅行服务计划实际发生的次数。∑u∈U|R(u)|表示推荐总项目;∑u∈U|T(u)|表示用户实际有过行为项目。F1分值能够兼顾精准度和召回率,可充分反映推荐算法性能的优劣。F1分值的计算表达如式(10)所示。

(10)

2 旅游服务推荐系统的仿真与性能评价

此次研究通过融合云计算技术与改进的FP-growth关联分析算法,构建了旅游服务推荐模型。为了更好地体现庞大的旅游数据,并从中挖掘有价值信息,研究选择了具有代表性的旅游社区马蜂窝来进行数据的采集。研究选用的数据采集工具为LocoySpide,该工具采用了Visual C#编写,并将采集及整理好的旅游数据信息录入数据库中。先对经过处理的信息进行时空分布格局分析,如图4为某旅游区游客量随月份、逗留时间、随行人数的变化情况。

月份/月

由图4(a)可知,在10月去旅游的游客最多,约占全年人数的22.7%。由图4(b)可知,大多数游客会选择3天的中期旅游。由图4(c)可知,游客的随行人数主要为2~4人。由结果可知,采集数据的游客具备散客特征,并且该旅游区的旅行需求的时间分布不均衡。因此,此次研究的旅游服务推荐系统是以散客为测试对象。研究从推荐顺序中,抽取出一定数量的旅游服务项目向用户进行推荐。通过改变推荐数量,得到推荐准确率与召回率的统计结果如图5所示。

推荐数量

由图5可知,召回率与准确率均随着推荐数量的增加,呈现出先上升后下降的趋势。准确率的最高值在推荐数量达到7的时候,其值为0.843。而召回率同样在推荐的旅游服务项目数量达到7时取得峰值,其值为0.647。由此可见,当推荐的旅游服务数量为7时,可取得最高的准确率与召回率。将最佳推荐数量确定为7后,将研究算法与传统的FP-growth算法、随机推荐,以及矩阵分解算法进行性能比较。如图6为三种算法的F1分值结果。

用户数量/人

由图6可知,随着用户数量的增加,各算法的F1分值上升趋势较为平稳。研究算法的性能相对于其他算法提升了约40%,其分值约为0.92,相较于其他三种算法高得多。由此可知,在考虑用户兴趣特征的旅游服务项目的基础上,加入遗忘函数将用户兴趣转移到时间兴趣上,能够提高旅游服务的推荐精度。针对无用户额外信息的推荐系统的冷启动问题,研究以设计的IFP-tree上活跃度最高的旅游服务项目作为推荐的候选项。将采集到的1 000个用户浏览记录,来对研究算法的冷启动能力进行验证,如图7(a)所示。研究在2 000多项旅游服务中,选取45项具有代表性的非感兴趣的项目。通过对推荐用户的数量进行调整,求得算法的无兴趣剩余值如图7(b)所示。

性能指标

由图7(a)可知,研究算法在面对新用户时,其推荐的召回率为0.832,准确率为0.867的分值为0.916。这表明研究算法的推荐性能效果较好,尽管由于缺少用户信息,其对旅游服务项目推荐的效果比对老用户的推荐效果略差,但该算法仍然较其他推荐算法的性能好。由图7(b)可知,3种算法的变化趋势随用户数量的增加基本一致。研究算法对于用户非兴趣旅游服务项目与过时数据的滤除效果最好。而传统的FP-growth算法滤除用户非兴趣旅游服务项目的效果最差,这是因为在项目到达支持度阈值之后,即会一直被保留在FP-tree中。矩阵算法在当两个用户的兴趣相同时,推荐效果一般。由此可知,研究基于云计算技术与改进的FP-growth关联分析算法的旅游服务推荐会较为精准地为用户过滤其不感兴趣的项目,从而实现较强的个性化推荐功能。

3 结 论

为了解决用户在旅游服务方面的个性化需求,以及信息超载间的矛盾问题。研究基于Hadoop云计算平台超强的计算与存储能力,通过融合改进的FP-growth关联分析算法,构建了旅游服务推荐模型。仿真实验结果表明,采集数据的游客具备散客特征,并且该旅游区的旅游需求时间分配不均。随着用户数量的增加,研究算法的F1分值相对于其他推荐算法提升了约40%,其分值约为0.92。表明研究算法能够使旅游服务项目推荐的精确度更高。研究算法对于用户非兴趣旅游服务项目与过时数据的滤除效果最好,能够精准地为用户过滤其不感兴趣的项目,从而实现较强的个性化推荐功能。在面对新用户时,研究算法的召回率为0.832,准确率为0.867,F1的分值为0.916。这表明研究算法能有效改善系统的冷启动问题。此次研究虽然取得了较好的成果,但缺乏实践操作。在今后的研究中,也将继续探索更多的推荐算法完善推荐系统,进一步提高推荐的精确度。

猜你喜欢

服务项目分值准确率
一起来看看交通违法记分分值有什么变化
基本公共卫生服务项目专项资金使用存在问题及建议
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
按病种(病组)分值结算:现状、做法和评价
青海省人民政府办公厅关于制定和落实老年人照顾服务项目的实施意见
基于互联网地图语言的实时路况信息服务项目探析
伊朗工程服务项目的合同关闭