基于Neo4j知识图谱的周边游热点分析
——以茂名市为例*
2022-12-05广州软件学院李慧斯黄金钰吴培超江陈发
广州软件学院 李慧斯 黄金钰 吴培超 江陈发
在疫情防控期间,我国游客的旅游消费方式已经发生明显的转变,越来越多游客选择短程旅游。大量旅游评论信息对旅游的发展产生重要的影响,然而,游客撰写相关评论信息时,存在极强主观臆断性且评论内容的价值良莠不齐,大量冗余信息使得旅游企业无法分析游客旅游消费需求行为的变化。因此,周边游需求图谱分析对开拓旅游市场具有重要的意义。首先基于TextRank模型提取产品名称,然后通过使用情感词典、高频词,从高频词、情感、服务、位置、设施、卫生、价格7 个维度进行周边游产品热度分析,并且使用One-Hot 编码技术对旅游产品进行关联分析,最后用Neo4j 知识图谱进行可视化分析。
旅游业在疫情防控期间受到严重影响,同时使得游客的消费方式也发生了明显的转变。在此背景下研究分析游客消费需求行为的变化,对于旅游企业产品供给、资源优化配置以及市场持续开拓具有长远而积极的作用。随着互联网的不断发展,文本形式的在线旅游(Online Travel Agency,OTA)和游客的用户生成内容(User Generated Content,UGC)数据成为了解旅游市场现状的重要信息来源[1]。OTA 和UGC 数据的内容较为分散和碎片化,要使用它们对某一特定旅游目的地进行研究时,迫切需要一种能够从文本中抽取相关的旅游要素,并挖掘要素之间的相关性和隐含的高层概念的可视化分析工具。因此,本文将通过建立本地旅游图谱的方式来分析疫情防控期间茂名市的周边游发展。
1 文献综述
近年来,随着旅游经济的快速发展,游客评论成为一个待挖掘的宝藏,而大量冗余信息使得旅游企业难以分析游客旅游消费需求行为的变化,及时做出适当的调整。而知识图谱可视化分析在旅游领域上,已经有了一定的应用。张宇飞在2020年实现了基于构建的知识图谱,设计了一个集景点信息管理、景点信息搜索和搜索结果可视化为一体的应用系统[2]。2021年吴杰针对既有传统旅游知识图谱的不足,有针对性的提出了以事件为中心的旅游知识图谱[3]。原越于2022年时进行针对现有搜索引擎提供的旅游景点信息缺乏关联度和完整性,通过设计旅游景点本体、针对爬取语料的处理构建旅游景点知识图谱。在此基础上设计并实现了一个B/S 架构的旅游景点应用系统[1]。而徐春、李胜楠也在同年进行针对旅游信息呈现出散乱、无序和关联性不强的问题,提出一种融合BERT-WWM 和指针网络的实体关系联合抽取模型构建旅游知识图谱[4]。目前比较少的知识图谱分析针对周边游领域,而本文的研究将为其他地区使用基于知识图谱的周边游热点分析提供参考。
2 研究方法及分析
2.1 数据采集
本文收集了两个数据集,分别为2018-2019 茂名(含自媒体)数据集和2020-2021(含自媒体)数据集,数据集中包含酒店评论、景区评论、游记攻略、餐饮评论和微信公众号新闻数据集。其中酒店评论1093 条、景区评论1203 条、游记攻略294 条、餐饮评论6984 条和微信公众号新闻6286 条。其中主要使用微信公众号新闻数据,该数据集中共有6286 条数据,涉及的4 个指标分别为“文章ID”“公众号标题”“发布时间”和“正文”。
由于原始数据集中缺乏“相关性”分类标签,因此本章在无标注的数据中随机抽取部分数据进行人工标注。人工标注时0 代表不相关、1 代表相关。最终共得到带有人工标注的数据4400 条。最后将数据以7∶3 的比例分为训练集和测试集,训练集包含4400 条数据,测试集为2286 条。
2.2 实验步骤
在TextRank 模型[5]中将采用酒店评论、景区评论、游记攻略、餐饮评论和微信公众号新闻数据集,具体实验步骤如下。
(1)繁简体转化。通过预览原始数据,可观察到正文中存在“繁体字”数据,由于繁体字字符对后续分类会产生一定的影响,因此我们需要首先对评论进行繁简体转换。
(2)提取旅游产品。由于酒店评论、景区评论和餐饮评论数据集中有对应的旅游产品,本文只需抽取其语料ID 号及对应的旅游产品名称,再按旅游产品名称附加产品ID 号即可。因此,语料ID 号及产品名称是一一对应的关系。
然而,游记攻略和微信公众号新闻数据集中没有对应的旅游产品,因此本文将通过TextRank 算法进行抽取。具体流程为首先对无效评论进行去除,通过使用TextRank 算法抽取每条评论的关键词,每条评论可通过其内部词语间的共现信息抽取其中的关键词,最后输出每条评论出现次数前五的关键词。由于抽取的产品名称中出现部分停用词及不符合旅游产品的旅游名称,因此本文根据输出结果,自定义停用词表,从而筛选出不规范的旅游名称,筛选后的部分数据如表1所示。
表1 旅游产品提取部分数据集Tab.1 Part of tourism product dataset
其次将基于情感词典扩充进行热度分析,将采用经过预处理后的酒店评论、景区评论和餐饮评论新闻数据集,具体实验步骤如下。
(1)根据情感词停用词表去除数据集中每个句子的停用词,然后进行相应的分词,并对句子进行切分。
(2)读取情感词典和程度副词,将程度副词乘以不同的权值,并处理情感得分防止出现负数,最终计算出单条评论语句的情感倾向总得分。
(3)产品名称计算热度的公式如下所示。
热度=单条评论语句的情感倾向总得分/全部评论语句的情感总得分中的最高得分
2.2.1 关联度的计算和量化
在前阶段的数据准备和实体抽取后进行关联模式的定义,从根据当地的经济发展程度、地理位置等其他诸多客观及衍生的主观因素定义以下5 种关联模式。从量化方法(如表2所示)中可以得知:
表2 关联模式的量化方法Tab.2 Quantification method of correlation patterns
(1)互利关系是由产品A 对产品B、产品B 对产品A 的相对共现度加和得到,其计算的共现度可以反映当地两两旅游产品间联系的紧密程度。
(2)近邻关系是根据地理位置来计算的,而地理位置计算是根据经纬度坐标计算两点球面距离,其中距离较近(<500m)的产品统一记作500m。
(3)散射关系是根据景区热度、周围同类产品密度及地理位置距离决定的,通过计算可进一步分析产品间的竞争力和变化趋势等。
(3)竞争关系主要建立在餐饮和酒店相似度较高基础上的研究,主要影响因素包括经济距离和地理距离。经济距离及地理距离越小竞争越大,经济距离是指餐饮间的热度差。
(5)导流关系是主要利用影响因素中的景区热度和景区距离,即为AB 热度之和/AB 距离。
在对5 种关联模式进行定义和相关量化计算后,需要进行进一步的标准化,利用Z-Score 标准化方法[6]和Min-Max[7]标准化方法将指标数值局限至[0,1],其中对部分集中在较小区间的数据取立方根,最终效果的部分展示如表3所示。
表3 部分关联度计算结果Tab.3 Partial correlation degree calculation results
2.2.2 基于Neo4j 的图谱可视化及分析
目前知识图谱的存储方式主要有关系型数据库、图数据库和基于RDF 结构的存储方式[3]。Neo4j 图数据库以图形结构的形式存储信息,关联的数据本身就是它所包含的数据,因此它可以直接显示关联数据特征以及数据之间的关系。首先,将旅游产品实体作为节点“Products”,并配置产品ID 和产品名称属性,生成旅游产品图谱中的所有节点,再将节点创建关联类型属性,得到旅游图谱,局部旅游图谱如图1所示。
图1 局部旅游图谱Fig.1 Partial knowledge map of tourism
在关联图谱中,导流、辐射、互利关系出现频率较高。餐饮风格相似这一模式较为集中,其中酒店的竞争关系较为明显,例如在汇丰酒店同时与高州顺得商务酒店和如家店·Neo(茂名人民路步行街中心店)存在竞争关系,较少存在其他关系。
散射关系会跨领域出现在餐饮和景区中,例如金沙湾海滨浴场和茂名浪漫海岸温德姆酒店望海餐厅存在散射关系;或者可以跨领域出现在酒店和景区中,例如金沙湾海滨浴场和喜来登酒店存在散射关系。通过对产品关联模式、目的地热度进行分析,发现了餐饮业迎来了较好的发展趋势与旅游产品的互利关系越来越明显。
3 结语
目前,领域知识图谱已经应用在许多领域,但是旅游领域的知识图谱应用仍然相对匮乏,这无疑抑制了智慧旅游的发展。为了进一步应用互联网旅游数据资源为政府提供本地周边游发展建议,通过对本地旅游相关的评价文本进行分类挖掘,计算出关键词的热度,建立了关联模型并进行了量化,计算出关联度并将其输入Neo4j 进行知识图谱的可视化分析,完成了对周边游热点的分析。