基于知识图谱的旅游系统构建研究
2019-03-12KADENKenzhekhanGULIAAltynbek
KADEN Kenzhekhan,GULIA Altynbek
(新疆大学,乌鲁木齐830046)
0 引言
随着建设“新丝绸之路经济带”和“21世纪海上丝绸之路”两大战略构想的不断深入,中国与哈萨克斯坦大力发展了与两国之间旅游领域的合作伙伴关系。由于旅游业的蓬勃发展,信息化技术在区域旅游规划、旅游信息管理等领域中具有前所未有的潜能。
国外比较早实施旅游信息化的国家包括荷兰(Hol⁃land)、丹麦(Denmark)、瑞士(Switzerland)等国家。国外比较早的系统包括奥地利(Austria)的罗尔旅游信息系统、瑞士的阿彭策尔(Appenzell)旅游信息[1]。这一时期的旅游信息管理系统共同的特征是:系统是由旅游设施、资源、地理环境等信息库组成。各个系统在其数据组织结构、内容、编码格式、实现技术以及来源等方面都采用了不同的方法。
国内的许碧霞[2]提出了基于GIS的旅游信息管理系统设计方法,并以北京为对研究对象介绍了与旅游信息相关的空间数据库的设计方法。永壹等人[3]提出了基于Web的B/S结构的旅游信息管理系统,杨程介、杜军平[4]基于JDBC数据库技术建立了旅游目的地营销系统(DMS)。陈菁[5]、刘畅、钟耳顺[6]、刘帅[7]、赵跃、张丈君等人基于GIS分别实现了福建、北京、广西、峨眉山等地点的旅游信息管理系统。
然而目前哈萨克斯坦旅游行业尚未实现为游客提供旅游信息的智能化服务。与哈萨克斯坦旅游景区相关信息分散在各大百科以及政府网站中,对游客带来极大的不便,绝大部分旅游信息管理系统虽然实现基于互联网的知识表征的手段然而无法进行信息共享、信息交换,数据的利用率极低。
1 基于旅游领域知识图谱构建
1.1 数据来源
维基百科(www.wikipedia.org)是一个网络百科全书项目,提供了海量与旅游地名相关的数据。维基百科通过行政区域划分的方式收集了哈萨克斯坦的地名信息,包括州名、人口、面积以及编码等。在维基百科依据哈萨克斯坦行政区划分的数据,如表1所示。
从表1提供的数据可知,哈萨克斯坦划分为14个州和3个直辖市。例如阿克莫拉州的首府为科克雪套,其面积为 146,219km2、人口为 737,495,编码为 KZ-AKM。
1.2 知识图谱构建
本文通过Crawler+MySQL+d3知识图谱框架实现了面向哈萨克斯坦旅游领域的知识图谱。知识图谱构建流程如图1所示。
表1 维基百科哈萨克斯坦行政区划分数据
图1 知识图谱构建流程
(1)数据的采集。本文采用Scrapy-Redis框架实现了互联网数据的分布式爬取以及存储。通过Scrapy工具实现了数据的爬取并将所得数据存入到了Redis数据库中。
(2)结构化数据的构建。通过自动化清洗脚本的方法将Redis中的数据进一步进行清洗后保存到文本件中,再把该文本数据导入到Neo4j[8]和MySQL数据库中。
(3)可视化系统的构建。本文通过Python 3.7实现了现爬虫、数据清理以及可视化系统的设计与实现。
1.3 数据库结构
本文通过MySQL关系型数据库实现了数据的存储及其管理。数据库包括四张表,其中State表和Dis⁃tricts两张实体表分别存储了哈萨克斯坦的州和区(县)的信息。State_Districts关系表存州和区(县)的对应关系,SPO表存储了知识图谱中的三元组。数据库中Districts表和State表是多对多的关系,通过State_Dis⁃tricts表实现了将上述多对多转化为两个一对多的关系,(stat_id,district_id)就表示了这种映射。
图2 数据库结构
详细地说,在数据库中State_Districts和SPO表都表示了映射关系。State_Districts保存了原始的关系,而 SPO把关系映射成“直辖市”或“区(县)”,即State_Districts可能需要通过映射才能得到SPO表。知识库里的关系其实有两种:一种是属性(property),一种是关系(relation)。SPO只存实体间的关系,属性由实体表检索得到,在SPO表中多加一列type(类型),来区分这关系是实体间关系还是实体与属性的关系,便于之后的可视化。
1.4 可视化系统的设计与实现
本文以Flask Server作为服务器,通过d3实现了知识图谱的可视化实现。该平台可以检索州/区(县)获取相应的图谱,并会更新有向图版本。本文选取了哈萨克斯坦阿拉木图17个州中的5行政区和阿拉木图市的旅游景点基本情况演示了系统的结果如图3所示。其中蓝色的代表知识图谱中的实体,红色代表属性,绿色的是实体和属性之间的关系。此外,在此基础上通过人口、面积、建立日、邮政编码搜索方式查阅相关旅游景点的信息。
图3 旅游景点基本情况图谱结果
2 结语
本文通过属性值融合的方法研究并实现了异构多数据源哈萨克斯坦旅游景点信息的知识图谱;此外,本文以Flask Server作为服务器,通过d3为技术设计和实现了一个基于中文的哈萨克斯坦旅游景点可视化系统;该平台可以检索州/区(县)获取相应的图谱,并会更新有向图版本。哈萨克斯坦阿拉木图州有17行政区(县),本文选取了哈萨克斯坦阿拉木图17个州中的5行政区和阿拉木图市的旅游景点基本情况演示了系统功能。结果可说明本文所构建的面向哈萨克斯坦旅游领域的知识图谱及其可视化系统在实现旅游信息的智能化管理与服务方面具有潜在的价值。
未来可以进行的工作主要包括知识图谱属性以及数据量的扩充,实现可视化系统的推理功能等方面。