基于区块链技术的旅游产品个性化推荐系统
2022-04-01汪滢
汪 滢
(南昌师范学院,江西 南昌 330032)
0 引言
传统购买旅游产品的方式是通过销售人员介绍和推荐旅游产品,从众多旅游产品中选择一个适合的旅游产品。为了为客户提供良好的咨询服务,相关学者设计开发了旅游产品个性化推荐系统,根据客户购买心理和喜好,为客户推荐适合的旅游产品。但是现有的推荐系统仅根据其他游客的评分,以及产品的历史评分数据推测客户的旅游喜好,从而为客户推荐旅游产品,传统系统未考虑客户旅游喜好动态转移的特性,也未根据客户的实际情况,比如年龄、性别和学历等,为客户推荐的旅游产品中符合客户喜好的数量较少,导致无法满足客户对旅游产品个性化需求,传统系统存在推准率较低的问题,因此,笔者提出基于区块链技术的旅游产品个性化推荐系统研究。
1 基于区块链技术的旅游产品个性化推荐系统硬件设计
系统的硬件结构主要由旅游产品信息搜索引擎、网络浏览器以及SVM分类器构成,系统的硬件结构如图1所示。
图1 推荐系统硬件结构图
由图1可知,通过网络连接,搜索引擎主动搜索旅游网站信息,由VSM分类器分类处理旅游网站信息,并传送至服务器,通过处理、计算和分析信息,将信息传递给网络浏览器显示,最终使客户可通过浏览器浏览旅游产品。
1.1 旅游网页信息搜索引擎选型与设计
旅游网页信息搜索引擎的主要作用是获取旅游网页信息。根据旅游产品个性化推荐系统功能要求,本文选择英国DFGG公司生产的GST-AFT-026型号的网络搜索引擎[1]。该搜索引擎以统一资源定位符地址为搜索起点,将统一资源定位符地址加入到搜索列队,自动启动一个信息下载线程,从搜索列队中取出统一资源定位符,自动下载该页面,并利用SFAGT芯片分析旅游网页页面的旅游产品链接[2]。再将每个旅游产品网页链接的统一资源定位符加入到搜索列队中,并重复上述搜索步骤。搜索引擎每个下载线程均从统一资源定位符中取出一个网页地址并下载,从而获取旅游网页信息。在搜索信息过程中,避免了处理旅游网页的重定向问题,对旅游网页信息搜索引擎HTTP协议的状态码进行定义,编辑了101和102两个状态码,当HTTP响应Response返回的状态码是101和102时,搜索引擎采用从Location域中取出的统一资源定位符进行重新构造,将新的统一资源定位符放入到搜索列队中,对旅游网页信息进行下载,并将下载的信息保存在内置的32GB硬盘中。
1.2 网络浏览器选型与设计
网络浏览器的作用是方便用户浏览旅游产品信息,选择德国西本子公司生产的6AV6362-1AB00网络浏览器,该浏览器输出频率可以达到50 kHz,具备监控功能,并可记录用户的旅游产品浏览时间和浏览内容[3]。其将用户浏览的旅游信息,按照浏览路径保存到特定的浏览目录,并通过浏览器中浏览监视标签页中时间符记录用户在旅游网页中的浏览时间信息[4]。浏览器通过对每个旅游网页的用户浏览时间间隔求和,得到用户浏览旅游网页的总时间,利用Content-Type程序自动下载网页中客户浏览信息,保存至浏览器的历史日志。
1.3 SVM分类器选型与设计
旅游产品个性化推荐系统的推荐要素主要分为用户浏览内容、浏览时间以及操作时间三部分,其中用户浏览时间和浏览内容两个要素体现出用户对某一类旅游产品的兴趣;操作时间体现用户对不同类别旅游产品的兴趣。该三个信息对系统实现旅游产品个性化推荐功能非常重要。为了减小系统计算压力,通过SVM分类器分类搜索引擎和浏览器搜索和记录的信息,根据需求选择美国SFA公司生产的FGE-ASFGT-034分布式SVM分类器,将引擎搜索的信息存储到建立的HTML文档,并经过清洗程序清洗网页中的纯文字信息,进而通过html程序将搜索信息和浏览信息,按照用户浏览内容、浏览时间和操作时间分成三类,并且标准文本的类别,最后经过分布式SVM分类器训练生成SVM信息文件。
2 基于区块链技术的旅游产品个性化推荐系统软件设计
2.1 建立用户模型
用户模型是系统的核心软件,用于描述、存储和管理用户的旅游产品购买兴趣和需求,其建立是一个从用户旅游兴趣和行为信息中归纳出可计算的用户模型过程,通过主题表示法构建用户模型,假设用户的旅游兴趣为一个n维的特征向量,特征向量由用户搜索关键词和关键词的权重组成,权重表示用户对某一旅游产品概念感兴趣的程度。用用户搜索关键词和关键词权重三元组表示模型中用户旅游兴趣节点,假设用户有m个旅游兴趣节点,则构建的用户模型如下:
式中,F为用户旅游兴趣模型;f为用户旅游兴趣的特征项;(k1,w1,t1)为用户旅游兴趣的第1个特征节点;k为用户输入系统的关键词;w为关键词的权重;t为用户最近一次搜索关键词的更新时间。利用上述模型描述用户对旅游产品的喜好和兴趣。
2.2 基于区块链技术存储旅游产品信息
本文通过区块链技术建立系统数据库,分类存储旅游产品信息,提高安全性和完整性。按照旅游景区级别和非物质文化遗产等分类信息,利用区块链技术将信息分成六类,建立3A级旅游产品信息、4A级旅游产品信息、5A级旅游产品信息、历史文化旅游产品信息、政治文化旅游产品信息、非物质文化旅游产品信息六个区块节点,由六个区块节点构建系统数据库[5]。在区块Block中加密处理每个区块节点,并为每个旅游信息文档建立区块链接chain,系统在对数据库中信息调取时,通过区块链接chain即可完成。将区块链接与用户模型链接,实现用户模型的训练和学习,此外用户可以根据需求增加区块和删减区块,实现管理旅游产品信息。
2.3 个性化推荐旅游产品
匹配用户模型与数据库中的每一个文档信息,计算出数据库中符合用户模型的旅游产品信息,将其推荐给用户,实现系统个性化推荐功能。本文通过兴趣加权算法加权求和个性化推荐要素,将其作为关键词匹配度的最终得分[6]。推荐要素的加权得分公式如下:
式中,scorew为系统数据库中对于用户搜索关键词计算旅游产品信息的得分;U为当前用户浏览的页面相对于历史浏览页面的特征向量;V为旅游产品信息文档相对于数据库的特征向量;scoreb为用户浏览时间的得分;P为用户当前浏览的旅游产品信息文档所在SVM分类的总时间;D为用户历史浏览旅游产品信息时间总和;scoreq为用户在系统操作时间的得分;S为计算的旅游产品信息文档所在SVM分类的用户使用该分类进程的总时间;Q为用户在系统中搜索、浏览等操作时间总和[7]。将推荐要求得分进行加权处理,计算出旅游产品信息文档加权得分,公式如下:
式中,scoreT为数据库针对用户搜索关键词匹配度的加权得分;ρ为特征向量权重[8]。利用公式计算数据库中旅游产品信息文档,得分最高的旅游产品信息文档,其与用户关键词匹配度最高,系统通过输出该文档信息,实现向用户推荐旅游产品。
3 实验论证分析
实验以某旅游网站数据作为实验数据,该旅游网站涉及1 698个旅游产品和2 540个用户,利用本文系统与传统系统为该旅游网站用户推荐旅游产品。根据该旅游网站实际情况,安装4台旅游产品信息搜索引擎,2台服务器,2台分布式SVM分类器和1台网络服务器,组建了硬件环境。选择100名用户作为两个旅游产品个性化推荐系统的体验者,令100名用户在80 h时间内使用系统进行旅游产品搜索,每个用户每小时搜索2次。旅游产品信息搜索引擎收集到信息共264.26 GB,网络浏览器记录的浏览信息共162.34 GB,SVM分类器将分类信息建立了HTML1文档、HTML2文档和HTML3文档,并上传至数据库。得到系统个性化推荐旅游产品情况如表1所示。
表1 旅游产品个性化推荐情况
以推准率为实验指标,推准率为系统推荐的旅游产品数与用户感兴趣的旅游产品数的比例,推准率越高表示推荐精度越高。实验随机抽选8名用户搜索与推荐情况,计算出两个系统的推准率,具体如表2所示。
表2 两个系统旅游产品推准率对比
从表2可知,本文系统推荐的旅游产品数量与用户感兴趣的旅游产品数量基本稳定,平均推准率为81.4%,表明本文介绍系统为用户推荐的旅游产品基本符合用户需求。而传统系统平均推准率仅为35.4%,最高推准率为48.2%,低于本文介绍系统。因此,本文介绍系统具有良好的推荐效果,可以满足用户的个性化需求,同时证明了区块链技术在旅游产品个性化推荐中具有良好的应用效果。
4 结束语
本文在传统推荐系统基础上,通过区块链技术优化和创新了其硬件和软件,并且用实验证明了该系统具有良好的推荐效果,有效提高了旅游产品个性化推荐精度,能够为用户提供良好的个性化推荐服务。