APP下载

基于互联网信息的游客网络局部社区挖掘

2019-11-17王硕

电脑知识与技术 2019年26期
关键词:旅游

王硕

摘要:为了解决游客社会网络中游客分类的问题,本文利用互联网信息中的图片,文本,数值多种类型的数据进行基于旅游的游客社会网络的权值计算,并利用修改后的PageRank算法和修改后的局部社区适应度函数来进行中心点的选取和局部社区的拓展。得到了基于旅游的游客社会网络和游客局部社区,得到的游客局部社区可以有效地发现游客间的社会关系,同时也为数据挖掘在旅游业上的应用提供了新思路。

关键词:互联网信息;旅游;游客社会网络;局部社区挖掘

中图分类号:TP311   文献标识码:A

文章編号:1009-3044(2019)26-0023-04

开放科学(资源服务)标识码(OSID):

Abstract: in order to solve the visitors' social network classification problem, this paper use the Internet information in images, text, numerical multiple types of data to calculate the tourists social network weights based on developing and using the modified PageRank algorithm and the modified local community fitness function to the center point of the selection and the local community. Based on the tourist's social network and tourist's local community, the tourist local community can effectively discover the social relationship between tourists, and also provides a new idea for data mining in tourism application.

Key words: Internet information; Tourism; Tourist social network;  local community mining

1 引言

随着社会和经济的发展,人民的生活水平逐渐提高,生活内容也日渐丰富。随着人民的生活变得丰富多彩,人们开始喜欢走出家门出去看看,“旅游”成为现代生活的一个热门话题。在传统的旅游业中,人们对旅游景点的接触,大多来自旅行社和电视上播放的旅游广告,消息来源匮乏,这样一来人们往往得不到自己想要的信息和想去的旅游景点。而在旅游景区这方面,游客的信息资源利用率较低,分析手段匮乏,导致旅游景区对景区未来的规划和发展没有足够明智的目标,这是传统旅游业的一个痛点。

伴随着互联网的普及和国家大力发展互联网+,互联网+传统产业开始兴起,在这样的背景下,互联网+旅游在这几年也开始兴起。为给游客们提供越来越人性化的服务,给旅游公司和部门提供景区发展的指导和景区兴衰的分析,不少人开始对互联网+旅游进行研究。樊玮等[1]通过旅游公司提供的游客信息:两个游客的共游次数、两个游客共同旅游的平均消费金额、两个游客平均两次共同旅游时间差,利用社会网络分析方法和改进的PageRank算法,提出了一种新的旅游游客社会网络局部社区挖掘方法,利用这个方法可以有效地发现游客之间的局部社区关系。张子昂等人[2]利用互联网数据,基于新浪微博的签到数据,对景区旅游活动时空行为特征进行研究。通过划分性别和地域两种游客属性,利用“横向”“纵向”时间分层法,借助核密度函数对景区内部游客活动时空特征进行了分析,从而可以发现不同性别,不同地域游客活动的时空演变规律。廉同辉等人[3]基于信息内容对微博信息中的旅游主题进行了分析。高新波等[4]基于社会媒体对当今的“互联网+旅游”进行了总结,分析和讨论了目前“互联网+旅游”的研究背景和发展历程,分析了目前社会媒体中旅游数据的特点和“互联网+旅游”背景下的热点研究应用和难点,在难点方面,互联网数据中数据种类繁多,包括,图片、视频、文本、数值等多种存在形式。

文献[1,2]中对互联网数据的利用仅在于文本数据,即新浪微博的签到数据和旅游微博发布的文本消息。而实际互联网上的数据不只有文本,微博也涵盖了图片,视频,音频等多种数据,游客发布的微博不仅有文本消息,还可能有会图片和视频等。二者的研究中都没有使用这些数据,仅仅利用了文本数据。所以分析出的结果的参考价值会比利用多用数据形式的分析出的结果的参考价值低很多。

本文结合上述文献的研究方法,提出了利用多种互联网信息对游客社会网络进行局部社区挖掘的方法,将互联网数据中的图片数据结合传统的文本数据,数值数据,利用不同游客间景区的重叠数量,不同游客照片的相似度,对游客社会网络的各节点间边的权值设计一个新的算法,重新定义局部社区拓展时的适应度函数,来进行旅游社会网络游客的局部社区挖掘。和文献[1]的研究相比较,本文的权值计算公式是利用互联网数据,互联网的数据量要比传统记录的数据量要大得多,分析的结果的参考的价值也就要大,在局部社区的拓展公式中,本文提出了以权值为基础的适应度函数,而文献[1]所利用的是以节点度数为基础的适应度函数,在权值越大,两个节点越有可能有关系的前期下,本文提出的适应度函数更加的适用,且得到的社区也更加的合理;本文多种数据存在形式,和利用单一的数据相比,分析出的结果更具价值,得到的信息也更加的值得参考。

综上所述,本文将利用互联网信息生成基于旅游的游客社会网络,并通过修改后的PageRank算法进行中心度排名并选取中心节点,利用改进的适应度函数进行局部社区拓展,最终得到基于旅游的游客局部社区。

2 基于旅游的社会网络生成

文章采用了文献[1]中的社会网络定义及相关概念。基于旅游的社会网络指的是游客社会网络,游客社会网络是一种以游客为节点,游客间的社会关系作为边的网状结构。以下便是对游客社会网络的生成,其中InformationList表存储的是游客的信息,NodeList表存储的是游客社会网络的节点信息,EdgeList表存储的是游客社会网络中节点间边的信息,具体的游客社会网络生成过程如下:

2.1 数据来源说明

本文所采用的数据均来自某App,采集的数据包括游客的账号ID,游客的基本信息,如:性别,年龄,姓名等,游客旅游过的景点的信息,以及旅游过的景区所拍摄的照片及其信息。

2.2 数据预处理

由于得到的数据结构混乱,存在冗余信息和较多的无价值信息,需要对得到的数据进行预处理,预处理的条件如下:

(1) 去除没有景区记录的游客账户信息及其相关数据。

(2) 去除一年之内没有登陆的账户信息及其相关数据。

(3) 去除最近一个月内注册的账户信息及其相关数据。

(4) 只有账户的ID,其余信息,如:性别,年龄,姓名等全部缺失的账号,需要去除。

经过以上的预处理,将原本收集到的9076条游客信息记录筛选到4396条。

2.3 游客社会网络节点的生成

游客社会网络中每一个节点代表的是一个游客,一个节点包括,游客账号信息、游客的姓名、游客旅游过的景区的信息,这些节点存储在NodeList表。图1是对游客社会网络的节点的生成步骤。

2.4 游客社会网络边的生成和权值的计算

2.4.1 游客社会网络的边

游客社会网络的边表示游客间存在之间的关系,如果两个或者两个以上的游客所旅游过的景区存在重合的部分,则表示他们在同一旅游地旅游过,在本文中,认为如果两个游客旅游过的景区的并集不为空,则表示他们之间很可能存在关系,且如果符合筛选条件,则在游客社会网络中,用一条边,把这两个节点联系起来。

2.4.2 游客社会网络边的权值信息

在游客社会网络中,给节点和节点间的边赋一个权值,用来表示两个节点间的联系的紧密程度。在本文中认为,在旅游活动中,如果两个游客旅游过的景区交集越大,且旅游过的同一景区的照片的相似度越大,说明这两个游客间的关系越紧密。和传统的利用旅游公司的信息来计算权值不一样,本文利用互联网中的游客信息,结合图片,文本信息多种数据类型,来计算游客间边的权值w。其中权值w的定义如下:

其中:n代表两个游客游览经历的相似度, [xa]表示a游客游览过的景区,[xb]表示b游览过的景区。m代表游客间的照片相似度, d表示不同游客在同一景区内相似度大于给定阈值的照片数量,c表示某一景区拥有较少照片的游客的照片数。

在(1)式中,如果数据量过大,可能会出现n值大于0但是却很小的情况,这样可能会出现一个节点和大量的节点存在有边的关系的情况,这种情况下如果再计算m值的话,会大大地增加运算的负担,所以在生成边的时候,给定一个值α,用来筛选边的数量,减轻运算的负担。

2.4.3 游客社会网络边的生成

对于边的生成需要对之前公式(1)的n值做判断,给定一个值α如果n的值小于α则不生成边。经过数据测试,α的取值在0.1~0.3之间取值得到的边数据较为理想,本文α的取值为0.21。游客社会网络节点间边的生成流程如图2所示:

最后利用得到的数据生成了一個含有29363条边的无向加权网络,节点的平均度数为6.68,如图3所示:

3 中心点的选取和局部社区的拓展

3.1 局部社区

局部社区的定义在目前没有统一的标准[5,6],本文采用文献[1]中的相关定义。

3.2 中心点的选取

在一个游客旅游社会网络中,游客和游客之间是存在一定的社会关系的。这些关系可是同事、同学、朋友、家人等,这些社会关系在社会网络中通常表现为一个局部社区。局部社区是由一些中心节点和他们周围的一些跟随者所组成的一个群体,所以要找到游客网络中 的一个局部社区结构,首先需要把这个局部社区的中心节点找出来。游客社会网络是一个无标度网络,其典型特征是在这个网络当中只有很少的节点才与非常多的节点连接,大部 分节点之间的连接是稀疏的,而即网络中节点的中心度是服从幂率分布的[6]。那么可以假设每一个节点至少属于一个局部社区,即可以确定每一个局部社区都有一个中心节点。

选取中心节点的传统方法是随机选择,这种选择方法往往会得到错误的中心点,进而得到错误的局部社区[6]。本文采用改进的PageRank算法选择中心点。

初始的网页排名算法 PageRank把互联网当成一个有向无权网络,而游客网络是一个 无向加权网络[7]。通过对PageRank进行修改,使之适用于无向网络的节点中心度排名。修改后的算法如下:

(1) 对一个含有n个节点的网络,给所有节点的中心度赋值为1/n;

(2) 选择操作的阙值τ;

(3) 在阈值τ内,对节点中心度值做以下更新规则:设G={V,E,ω}是一个无向加权网络,任意节点i的中心度NodeCen定义为

每个节点将自己当前的中心度值按照与它邻接的每一个节点之间边的权值相对于所有邻接节点边的权值之和的比例进行分配,每个节点按照它获得的中心度值的总和更新它的中心度值。

其中,n是社会网络中节点的总个数,ωij是节点i和节点j所在边的权值,egi[j]是与节点j所相邻的节点的集合。s是缩放因子[8],为了加速算法的收敛而且防止网络中有孤立的节点而导致算法无法收敛,通常取值在0.8~0.9之间。阈值τ可以定义为运行次数 也可以是一个规则,本文采用的是定义为运行次数,对网络内的节点中心度计算迭代超过30次时,迭代完毕。

此算法是基于文献[1]对PageRank算法改进的描述所写的。和PageRank算法一样,其结果将最终收敛于一组极限值,且s值一定时,这组极限值具有唯一性,这组极限值是取决于比例因子的s的。

在选取中心点的时候,为了避免中心度节点过于集中,便于局部社区的划分。规定每次选取的中心度最大的中心节点,且该节点不能包含在之前的任何一个已发现的局部社区内。

3.3 局部社区扩张

局部社区的扩张需要一个适应度函数,在上一步已经选取了中心节点,接下来只需要一个适应度函数来夸张局部社区,直到没有一个函数可以使适应度函数增大位置。目前被广泛采纳的适应度函数是Lancichinetti等[9]提出的适应度函数。具体定义如下:

式中[kgin]表示局部社区g内部的内部节点度数之和,[kgout]表示局部社区g内部节点与外部节点连接的度数之和,[?]是个正实数,它主要控制局部社区规模的大小。

本文在之前表述过,认为在旅游活动中,如果两个游客旅游過的景区交集越大,且旅游过的同一景区的照片的相似度越大,权值也就越大,游客和游客间更有可能存在社会关系。而(5)式中所提到的适应度函数,是利用局部社区g内部的节点度数之和和局部社区g内部节点与外部节点连接的度数之和来计算适应度的。但是在本文是利用互联网数据来对游客旅游社会网络进行局部社区挖掘,在旅游活动中,游客信息记录中,记录了多个景区。在不同的游客之间,景区很可能有交集,所以很可能会产生一个游客和其他很多游客的景区有交集,也就是一个节点和多个节点之间都边连接,但是该游客和其他游客之间并没有社会关系。所以局部社区g内部的内部节点度数之和和局部社区g内部节点与外部节点连接的度数之和计算而来的公式,对游客间社会关系分析没有太多价值。上文也提到连接游客节点和游客节点的边权值越大,那么这两个游客之间的存在社会关系的几率越大,而局部社区就是为了分析游客和游客间的社会关系的。所以本文对(5)式进行了修改。具体定义如下:

(6)式中[hgin]表示局部社区g内部的内部节点权值之和,[hgout]表示局部社区g内部节点与外部节点连接的权值之和,[?]是个正实数,它主要控制局部社区规模的大小。通过多次对已知社区结构的社会网络进行实验,得出当[?]=0.9时所扩张的局部社区规模达到最优。

节点适应度指的是节点A加入局部社区g之后,对适应度函数的贡献,即

(7)式中,[fg+{A}]表示节点A加入之后局部社区g的适应度值,[fg-{A}]表示节点A没有加入局部社区g之前局部社区g的适应度值。

有了节点中心度排名和局部社区扩张的适应度函数,就可以进行局部社区扩张了,步骤如下:

(1) 选择当前下标的中心度节点,判断该节点是否被已发现的局部社区所包含,如果没有被包含,则作为局部社区g,如果已被包含则下标下移,重新检测选择的节点是否被包含。

(2) 获取所有与g内部节点作为直接邻居的外部节点。

(3) 从获取的直接邻居节点中,选择一个节点适应度最大且为正的节点加入社区g。

(4) 回到步骤2,直到社区g没有直接邻居节点,或者所有的邻居节点适应度都为负的时候停止扩张。

不断地重复如上的步骤,直到社会网络中的每一个节点都至少属于一个局部社区,最后可以发现覆盖整个网络的所有局部社区。根据上述的操作,将2中得到的无向加权网络进行上述操作后,便可得到该游客社区网络的局部社区分析。

4 结束语

在互联网+时代,互联网+旅游也逐渐成为一个热门的话题,面对海量的互联网旅游数据,我们可以从多种角度才分析旅游信息,利用这些旅游数据,可以为游客提供个性化的旅游服务,给旅游公司对景区的开发和维护给予参考。本文利用软件中每一个的用户的所游览过的景区和在浏览的景区中所记录的照片来进行旅游游客局部信息挖掘。

和利用传统的旅游数据中的游客消费情况和游客旅游时间不一样的是,本文采用的是互联网数据,采用了互联网数据中的数组、文本和图片,利用多种数据资源进行筛选分析并计算出权值。然后利用改进的PageRank算法和节点适应函数计算出节点中心度排名,并选取合适的节点作为局部社区的初始节点,然后拓展出整个局部社区。利用本文的方法可以有效地发掘出旅游游客的局部社区。

参考文献:

[1] 樊玮, 陈旭光. 旅游游客社会网络局部社区挖掘方法[J]. 计算机工程与设计, 2016, 37(6): 1505-1509.

[2] 张子昂, 黄震方, 靳诚,等. 基于微博签到数据的景区旅游活动时空行为特征研究[J]. 地理与地理信息科学, 2015, 31(4): 121-126.

[3] 廉同辉, 余菜花, 袁勤俭. 基于内容分析法的旅游微博主题研究[J]. 现代情报, 2016, 36(4): 85-89.

[4] 高新波, 沈钧戈. 基于社会媒体的旅游数据挖掘与分析[J]. journal of Data Acquisition and Processing, 2016, 31(1): 18-27.

[5] 汪永旗, 王惠娇. 旅游大数据的MapReduce客户细分应用[J]. 华 侨 大 学 学 报 (自 然 科 学 版 ), 2015, 36(3): 292-296.

[6] 潘磊,金杰,王崇骏. 社会网络中基于局部信息的边社区挖掘[J] .电子学报,2012,40 (11) : 255-262.

[7] Alexandra Marin, Barry Wellman.Social network analysis:An introduction[M] // Forthcoming int Handbook of Social Network Analysis. 2010:430-433.

[8] Maksim Tsvetovat, Alexander Kouznetsov.社会网络分析:方法与实践 [M].王薇,王成军,王颖,译.北京:机械工业出版社,2013: 6-7.

[9] Mejia-Iigo R, Barilla-Perez M E, Montes-Venegas H A. Color-based texture segmentation for vehicle detection[C] //6th International Conference on Electrical Engineering, Computing Science and Automatic Control. IEEE, 2009:1-6.

【通联编辑:梁书】

猜你喜欢

旅游
我们一起“云旅游”
旅游惊魂
一起去旅游
自己去旅游
小A去旅游
旅游助脱贫 同步奔小康
以茶为媒 促旅游开发
从旅游看人的自我超越
出国旅游的42个表达
户外旅游十件贴身带