基于信令大数据的旅游路线挖掘方法
文献发布时间:2023-06-19 12:22:51
技术领域
本发明涉及智能出行技术领域,特别涉及一种基于信令大数据的旅游路线挖掘方法。
背景技术
随着社会发展和人民生活水平提高,旅游成为越来越重要的生活方式之一。但是传统的旅游路线规划与景区管理方面都存在诸多问题,例如数据无法共享,数据利用率低,无法精确掌握景区人流信息,导致景区超负荷运营、交通拥塞、游客满意度低等一系列问题。因此,精准掌握热点旅游路线成为当前亟待解决的问题。随着IBM提出“智慧地球”之后,带来了智慧城市、智慧旅游等研究及应用热潮。旅游路线挖掘为智慧旅游的主要内容之一,目的是通过对游客大数据进行分析,识别热门旅游路线,为游客、景区及旅游管理部门提供参考,同时也可以为旅游相关产业提供精准营销支持。
随着移动互联网和智能终端的大规模普及,运营商积累了大规模的手机信令数据,基于信令大数据对旅游线路进行挖掘,为精准掌握游客出行行为及景区人流数据提供了可能。传统的旅游路线挖掘存在的主要问题是缺乏全面、准确、动态的旅游景点数据支持,无法解决上述景区超负荷运营、交通拥塞、游客满意度低等一系列问题。最近也出现了一些基于信令大数据的旅游线路挖掘技术,但并未考虑景区位置、景区大小、临近景区等因素,挖掘出的旅游线路参考价值有限。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的目的在于提出一种基于信令大数据的旅游路线挖掘方法,该方法优化旅游路线挖掘的效果。
为达到上述目的,本发明实施例提出了基于信令大数据的旅游路线挖掘方法,包括以下步骤:步骤S1,获取预设区域的原始手机信令数据,计算手机每次连接基站的时长,去除所述原始手机信令数据中因乒乓效应产生的短时连接噪声数据,得到全域手机信令数据表;步骤S2,爬取预设区域的景区POI数据获得景区列表,根据所述景区列表和所述全域手机信令数据表中的基站列表筛选各景区范围内的基站,构建基站-景区表,再根据所述基站-景区表去除所述全域手机信令数据表中的非景区基站连接数据,得到景区手机信令数据表;步骤S3,去除所述景区手机信令数据表中过路行人、景区工作人员及附近常驻居民产生的噪声数据,得到景区游客手机信令数据表;步骤S4,对所述景区游客手机信令数据表按时间顺序构造景区序列,并进行聚集计算,得到初步的游客游览路线表;步骤S5,采用基于欧式距离的层次聚类法对所述初步浏览路线中的相邻景区进行合并,获得最优旅游路线。
本发明实施例的基于信令大数据的旅游路线挖掘方法,为确保结果的准确性,依次去除了乒乓效应数据、非景区基站连接数据及过路行人、景区工作人员及常驻居民的基站连接数据,然后基于清洗后的数据构建出初步的景区旅游线路,并基于欧式距离的层次聚类将相近景区进行合并优化,使得最终挖掘到的旅游路线更加准确,且给予使用者更好体验感。
另外,根据本发明上述实施例的基于信令大数据的旅游路线挖掘方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,计算所述手机连接基站时长的公式为:
lasttime(x)=endtime(x)-starttime(x)
其中,lasttime(x)为手机连接基站时长,endtime(x)为手机断开基站连接的时间,starttime(x)为手机开始连接基站的时间。
进一步地,在本发明的一个实施例中,所述全域手机信令数据表中包括:日期、用户ID、基站、手机连接基站的时间、手机断开基站的时间和手机连接基站时长。
进一步地,在本发明的一个实施例中,所述景区列表包括各景区名称、景区中心经纬度和景区半径,所述基站列表包括基站ID,基站经纬度。
进一步地,在本发明的一个实施例中,所述景区(游客)手机信令数据表中包括:日期、用户ID、基站ID、手机连接基站的时间、手机断开基站的时间、手机连接基站时长和景区名称。
进一步地,在本发明的一个实施例中,在所述步骤S3中,以用户ID、景区名称及日期为关键字对所述景区手机信令数据表进行聚集计算,利用每日连接基站时间小于预设的时间阈值去除所述过路行人;以用户ID、景区名称及周次为关键字对所述景区游客手机信令数据表进行聚集计算,将所述景区游客手机信令数据表中达到预设周期中出现频次数的所述景区工作人员及常驻居民,将其信令数据去除,得到景区游客手机信令数据表。
进一步地,在本发明的一个实施例中,所述步骤S4具体包括:以用户ID为关键字对所述景区游客手机信令数据表进行聚集,生成以开始时间排序的景区列表;利用正则表达式连接与消除字段的方法,将所述景区游客手机信令数据表中开始连接基站时间与景区名称连接排序,再将时间消除,得到游客-景区列表;所述游客-景区列表中包括用户ID和时间排序后的景区序列;以所述景区序列为关键字对所述游客-景区列表进行聚集计算,统计相同景区列表的人数,以人数为关键字排序,获得所述初步游客游览路线表,所述初步游客游览路线表包括路线人数及按路线人数排序后的景区序列。
进一步地,在本发明的一个实施例中,所述步骤S5具体包括:根据所述初步游客游览路线表获取所述景区序列;将每个景区作为单独聚类,初始化景区距离矩阵;遍历所述景区序列计算任意两个景区间的欧式距离;当所述距离矩阵为非空时,选择最小欧式距离,并判断所述最小欧式距离是否小于等于预设阈值,若是,则将所述最小欧式距离的两个景区合并,并将所述最小欧式距离在所述距离矩阵中删除,迭代该过程,直至大于所述预设阈值,完成景区聚类,获得所述最佳浏览路线。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的基于信令大数据的旅游路线挖掘方法的流程图;
图2是本发明一个实施例的基于信令大数据的旅游路线挖掘方法的执行流程图;
图3是本发明一个实施例的景区聚类流程图;
图4是本发明一个实施例的基站信息展示图;
图5是本发明一个实施例的景区常驻居民展示图;
图6是本发明一个实施例的初步获得的某周末游览路线人数展示图;
图7是本发明一个实施例的景区聚类结果展示图;
图8是本发明一个实施例的最佳游览路线表展示图;
图9是本发明一个实施例的TOP10游览路线展示图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于信令大数据的旅游路线挖掘方法。
图1是本发明一个实施例的基于信令大数据的旅游路线挖掘方法的流程图。
图2是本发明一个实施例的基于信令大数据的旅游路线挖掘方法的执行流程图。
如图1和2所示,该基于信令大数据的旅游路线挖掘方法包括以下步骤:
在步骤S1中,获取预设区域的原始手机信令数据,计算手机每次连接基站的时长,去除所述原始手机信令数据中乒乓效应产生的短时连接噪声数据,得到全域手机信令数据表。
可以理解的是,在移动通信系统中,如果手机处于两个基站信号重叠的位置,会在两个基站间来回切换,产生所谓的“乒乓效应”,使得两个基站产生会产生大量短时连接的信令数据,结果造成较大误差。为了减少这种短时连接对后续计算造成的影响,去除这类噪声数据,需要计算手机每次连接的时长,得到包括用户ID、基站ID、手机开始连接基站的时间、手机断开基站连接的时间及的手机连接基站时长游客手机信令数据表,其中,计算手机连接基站时长的公式为:
lasttime(x)=endtime(x)-starttime(x)
其中,lasttime(x)为手机连接基站时长,endtime(x)为手机断开基站连接的时间,starttime(x)为手机开始连接基站的时间。
需要说明的是,对于持续时间少于1分钟,即时间戳小于60000的数据,可认为是乒乓效应产生的噪声数据,将这部分数据去除。
在步骤S2中,爬取预设区域的景区POI数据获得景区列表,根据所述景区列表和所述全域手机信令数据表中的基站列表筛选各景区范围内的基站,构建基站-景区表,再根据所述基站-景区表去除所述全域手机信令数据表中的非景区基站连接数据,得到景区手机信令数据表;
具体地,步骤S2可包括以下步骤:
构建景区列表时,考虑到景区可分为市内小型景区(如教堂,博物馆等),市内中等景区(街区,公园等),市外大型景区。市内小型景区通常单个基站即可覆盖范围,故可选取景区半径范围设定为500m,中等景区半径设为1km以内;对于郊区自然风景区,由于占地面积大,且周边均无干扰景区,故为了确保进入景区的游客都能被统计在内,故选取景区中心点2km以内作为景区范围。因此景区列表包括景区名称、景区中心点经纬度及景区半径。
遍历全域手机信令数据表中的基站列表,根据基站经纬度,判断每个基站是否在景区列表中某个景区的覆盖内,筛选出各景区范围内的基站,实现基站与对应景区的绑定,构建基站-景区列表。所述基站列表包括基站ID,基站经纬度,所述基站-景区表包括基站ID和景区名称。
具体地算法可如下:
输入:景区列表,基站列表
输出:基站-景区表
Step1:
遍历基站列表
遍历景区列表
如果基站经纬度在景区范围内
将基站与景区绑定,写入基站-景区表。
Step2:
返回基站-景区表
然后将基站-景区表,与去除乒乓效应的全域手机信令数据表,以基站ID作为关键字,进行内连接,得到仅在景区范围的信令数据表,即景区手机信令数据表,该表包括日期、用户ID、基站ID、开始连接时间、结束连接时间、连接时长和景区名称,如下表1所示。
表1景区游客手机信令数据表结构
此时的景区手机信令数据表仍不能直接进行后续计算,还需对其进行过路行人、景区工作人员常驻居民筛选,去除非游客干扰数据,确保结果的准确性。
在步骤S3中,去除景区手机信令数据表中过路行人、景区工作人员及附近常驻居民产生的噪声数据,得到景区游客手机信令数据表。
进一步地,在本发明的一个实施例中,在步骤S3中,以用户ID、景区名称及日期为关键字对景区信令数据表进行聚集计算,利用每日连接基站时间小于预设的时间阈值去除过路行人;以用户ID、景区名称及周次为关键字对景区手机信令数据表进行聚集计算,将景区手机信令数据表中达到预设时间范围内出现频次数的景区工作人员及常驻居民去除。
具体地,本发明实施例考虑到过路行人途经景区时间短的特性,反应在手机信令中即为,基站总连接时间短。
对用户ID、景区名称及日期为关键字,进行聚集计算,采用如下筛选方式:
sum(lasttime)≥1800000
即令手机在景区内基站总连接时间超过30分钟,此时可以较大概率的对过路行人进行去除。
其次,需要识别景区所在地当地居民与景区工作人员,然后将这些人员的手机信令数据从所述景区信令数据表中删除,以保证旅游路线挖掘的准确性。
可以理解的是,对于常驻居民与工作人员的识别,采用统计一周内在景区周围出现的天数的方法,对于一般游客,仅有极小概率在同一景区一周内多天停留。
对用户ID、景区名称及周次(可通过日期换算得到)为关键字,进行聚集计算,采用如下筛选方式:
count(day)≥3
若用户观测时间窗口中在景区范围内每周出现三天以上,则可认为其为附近住户或景区工作人员,且选取的时间避开节假日,以免出现节假日工作人员放假无法统计在内的问题。
经过上述处理,得到最终的景区游客手机信令数据表。
在步骤S4中,对景区游客手机信令数据表按时间顺序构造景区序列,并进行聚集计算,得到初步的游客游览路线表。
进一步地,在本发明的一个实施例中,步骤S4具体包括:
以用户ID为关键字对景区游客手机信令数据表进行处理,生成以开始时间排序的游客-景区列表,游客-景区列表中包括用户ID和时间排序后的景区序列,然后以所述景区序列为关键字对游客-景区列表进行聚集计算,统计相同景区序列的人数,以人数为关键字排序,获得初步的游客游览路线表表,初步的游客游览路线表表包括路线人数和时间排序后的景区列表。
需要说明的是,景区序列需要根据时间排序,因此本发明实施例在采用Hive SQL的collect_list函数进行排序后,利用正则表达式添加与去除字段的方法,确保景区序列按时间顺序排列。具体地,将时间与字符串连接,再通过对已获得的字符串按字典序排序,由于时间在前为数字,故此时的字典序即为时间排序。同样使用Hive正则表达式替换操作,利用正则表达式识别数字,将时间部分替换为空字符串,则得到以时间顺序排序的景区序列。如下表2所示,游客-景区列表包括用户ID和按时间排序的景区序列。
表2游客-景区列表
以景区列表为关键字进行聚集计算,统计相同景区列表的人数,以人数为关键字排序,获得初步的游客游览路线表,包括关键字景区列表和人数。
表3游览路线表结构
在步骤S5中,采用基于欧式距离的层次聚类法对初步浏览路线中的相邻景区进行合并,获得最优旅游路线。
可理解的是,由于初步获取的挖掘结果存在大量相近景区的不同路线,考虑到相近景区间游览顺序无实际意义,故选择对相近景区进行智能聚类,将相近景点进行合并,并对旅游路线挖掘结果进行优化。本发明实施例中采用基于欧氏距离的层次聚类算法,将经纬度相差均在0.015以内的景点聚类。
步骤S5具体包括:
根据所述初步游客游览路线表获取所述景区序列;
将每个景区作为单独聚类,初始化景区距离矩阵;
遍历所述景区序列计算任意两个景区间的欧式距离;
当距离矩阵为非空时,选择最小欧式距离,并判断最小欧式距离是否小于等于预设阈值,若是,则将最小欧式距离的两个景区合并,并将最小欧式距离在距离矩阵中删除,迭代该过程,直至大于预设阈值,完成景区聚类,如图3所示。
具体算法处理流程如下:
输入:景区列表x
输出:相近景区聚类
Step1:
获得景区列表;
将每一个景区作为一个单独的聚类,每个景区的父节点即为自己
初始化景区距离矩阵distance
Step2:
初始化最小堆q
遍历x中所有景区对i和j
计算欧氏距离distance(i,j)
将三元组(i,j,distance(i,j))放入最小堆q
Step3:
While最小堆q非空
p=q堆顶元素
如果最小距离超过阈值则结束循环
如果p.x所在聚类不等于p.y所在聚类
合并p.x所在聚类与p.y所在聚类
q弹出堆顶元素
输出景区聚类结果
可以考虑选择阈值为1.5千米以内的景区作为相近景区,即经纬度距离相差0.015以内的景区为相近景区。。
将相同聚类结果的景区认为同一景区,对旅游路线分析结果进行重新计算,即可得到最优游览路线列表。
下面通过一个具体实施例对本发明实施例的基于信令大数据的旅游路线挖掘方法进行验证。
为了验证本发明方法的有效性,选择哈尔滨市中央大街某一周的信令大数据进行验证。
选定指定景区,可以看到景区周边基站基本信息,包括基站日连接总数,单个基站连接数,去除乒乓效应后的基站日连接总数,单个基站连接数。经过乒乓效应去除,各基站日连接数大幅度减少,大幅度减少乒乓效应带来的负面影响。如图4所示,以某景点2020年1月11日的基站信息为例。
常驻居民筛选方面,下拉列表选定指定景区,可以看到景区周边常驻居民信息列表。如图5所示,以某景点附近居民列表为例,居民手机号部分以*代替。
在旅游路线分析方面,对旅游路线挖掘结果按相同景区列表进行人数统计,以人数为关键字排序,获得初步的游客游览路线表。选定某一周末得出的结果如图6所示。
景区聚类分析方面,选择1.5千米以内的景区作为相近景区,即经纬度距离相差0.015以内的景区为相近景区,通过基于欧氏距离的层次聚类算法对相近景区进行合并,聚类结果如图7所示。
将景区聚类结果与初步的游客游览路线表进行重新计算,得到最终的旅游路线挖掘结果,如图8所示为某一周的游览路线及人数。
还可通过横向柱状图显示TOP10游览路线与游览人数,可以较直观的显示游览路线挖掘结果,如图9所示。
因此,本发明实施例提出的基于信令大数据的旅游路线挖掘方法,建立起旅游路线体系,可同时对不同路线的受欢迎程度进行排序,且达到了预期的目的。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
- 基于信令大数据的旅游路线挖掘方法
- 基于大数据的旅游路线规划方法、装置及设备