基于Hadoop的个性化旅游推荐系统及方法技术方案

技术编号:13672536 阅读:98 留言:0更新日期:2016-09-07 20:51
基于Hadoop的个性化旅游推荐系统及方法,属于互联网技术、大数据领域;本发明专利技术共有五个模块相辅相成来完成整个系统功能,它们分别是网络爬虫模块、数据模块、大数据处理模块、推荐计算模块、UI界面模块。它们的连接关系为,网络爬虫模块与元数据模块单向连接,同时与UI界面模块单向连接;数据模块与大数据处理模块单向连接,同时与UI界面模块双向连接;大数据处理模块与推荐计算模块单向连接,同时与UI界面模块双向连接;推荐计算模块与UI界面模块双向连接。本发明专利技术开发了基于Hadoop的个性化旅游推荐系统,可以精准快速的为游客制定个性化推荐,为游客在选择目的地时带来更舒心适合的选择。

【技术实现步骤摘要】

本专利技术涉及互联网技术,大数据领域,数据挖掘,针对旅游行业开发的个性化推荐系统。
技术介绍
传统的旅游网站,大多是根据景点的热门程度进行推荐,并没有针对游客个人的兴趣及行为进行个性化推荐,使得游客在大量景点中选择目的地时很盲目,并且很难匹配到个人兴趣点。而其他领域中个性化推荐系统,常用的方法有基于内容推荐和协同过滤推荐,但这两种方法都存在缺陷,基于内容推荐方法总是将内容相似的物品推荐给用户,使得用户对推荐结果产生疲劳,协同过滤推荐方法存在热门物品占比较大的问题,这会降低长尾物品的出现率,使得最终的推荐对用户来说并没有新意。在处理技术上,传统的处理流程在面对大量数据的时候,处理速度慢且效率低,这不符合网站运行快速高效的原则。
技术实现思路
本专利技术针对
技术介绍
中提出的三个问题,开发了基于Hadoop的个性化旅游推荐系统,可以精准快速的为游客制定个性化推荐,为游客在选择目的地时带来更舒心适合的选择。为实现上述目的,本专利技术提供如下的技术方案:本专利技术以Eclipse为开发工具,Hadoop为大数据处理平台,Java为编程语言,通过JSCH跨平台连接本地Windows系统和服务器CentOS系统,即可实现在本地浏览器上向服务器上发送相应操作请求。通过页面的交互信息,后台运用Hadoop中的MapReduce计算框架,在分布式文件系统中进行分步查找和计算,并将结果整合返回前端页面。本专利技术共有五个模块相辅相成来完成整个系统功能,它们分别是网络爬虫模块、数据模块、大数据处理模块、推荐计算模块、UI界面模块。它们的连接关系为,网络爬虫模块与元数据模块单向连接,同时与UI界面模块单向连接;数据模块与大数据处理模块单向连接,同时与UI界面模块双向连接;大数据处理模块与推荐计算模块单向
连接,同时与UI界面模块双向连接;推荐计算模块与UI界面模块双向连接。各模块连接流程如图1所示,具体连接过程如下:1.网络爬虫模块主要爬取景点信息和用户信息数据,景点信息的爬取顺序是根据省份和城市信息来依次爬取,首先遍历数据模块中的各省份城市信息数据,后台通过修改旅游网站中URL的城市名称,同时获得该网站的Cookie,依次获取各省各个城市下的景点名称列表,再根据该景点列表,依次将每个景点所需的相关字段信息提取出来,并记录存储到数据库中对应的景点信息表中。用户的信息数据是根据每个景点的评论页获取对该景点评论的信息,并根据评论信息获取评论者即用户的详细信息,将用户信息和评论信息分别记录存储到数据中对应的用户信息表和评价表中。爬取流程如下:国家列表→省份列表→城市列表→景点列表→景点字段信息→景点评论→评论者信息网络爬虫模块主要通过两个途径来触发爬取程序,一个是每天定时定点向数据库读取景点数据,并触发相应的爬取景点和用户信息程序,并将结果记录存储到数据库中的对应数据表中。另一个是通过UI界面模块的检索功能触发,当所查询的景点名称在数据库中找不到与之相对应的结果时,便会触动爬虫程序去旅游网站查询并爬取相关信息,如果找到对应景点,则将该景点的相关字段信息爬取出来,并记录存储到数据库中对应的景点信息表,同时再将结果反馈到UI页面对应位置。2.数据模块主要用来存储基本数据信息,包括三大类别,分别是景点基本数据、用户基本数据、用户景点关系数据。其中景点基本数据包含省份列表,城市列表,景点列表,各景点基本信息表;用户基本数据包含用户基本信息和用户去过的景点信息;用户景点关系数据包含用户对景点的评价数据。数据模块一方面为大数据处理模块提供基础的数据支撑,另一方面通过UI界面检索功能可从中查询所需信息。3.大数据处理模块是基于Hadoop平台的MapReduce计算框架(以下简称MR)运行的,该框架主要分为Map和Reduce两个部分,首先由主节点将原始数据拆分后分发到各个执行map任务的工作节点,各工作节点同时开始执行map任务,当map任务结束后,将输出结果作为reduce任务的输入值,传送给执行reduce任务的工作节点,
reduce负责将map的结果进行合并统计处理,并将最终结果整合输出。MR架构流程如图2所示。该模块的目的在于提高数据处理速度,可通过UI界面的相似度查询功能、类别景点词云功能、景点类别预测功能触发并调用数据库中的数据进行处理计算,并将计算结果返回到UI页面的对应位置。主要针对以下四个方面内容并行处理计算,一是网络爬虫的过程采用了MR思想,有效提高爬取速度;二是应用于对用户相似度和景点相似度的计算方面,实现在短时间内对用户或景点完成相似度计算,这其中用到了数据模块中的用户基本数据、景点基本数据和用户景点关系数据。三是应用于文本挖掘处理,分别对各个类别景点信息做了分词统计,并展示相对应的动态类别词云效果图,此外对未知类型的景点做了类别预测计算,主要用到景点基本数据作为分类训练。4.推荐计算模块是根据大数据处理模块的结果数据进行针对性推荐计算,并将推荐结果反馈到UI页面对应栏位中。该模块共有三大推荐内容,一是为登录用户推荐相似用户,即根据大数据处理模块计算出来的用户相似度建立用户和用户的相似度矩阵,找到与该用户相似度最高的前十名用户作为推荐结果;二是基于内容的推荐,根据用户之前去过的景点,分析并提取这些景点特征,作为用户的兴趣爱好,在景点相似度矩阵中寻找类似景点。三是混合推荐,也就是个性化推荐,它融合了基于内容推荐方法和基于物品的协同过滤推荐方法,提高推荐精准性,为用户提供更适合的推荐结果。混合推荐方法为首先根据用户景点关系数据形成景点同现矩阵,其次将景点内容特征加权到具体用户景点评分中,形成用户行为矩阵,同现矩阵与行为矩阵相乘得到该用户对所有景点的分值,取分值最高的前十位,作为最终推荐结果呈献给用户。5.UI界面模块与上述4个模块均有关联,除了与网络爬虫模块之间是单向触发关系外,与其他三个模块都是双向关联,一方面通过页面相应功能触发各关联模块中后台的程序,另一方面各模块将计算结果反馈给页面相应栏位进行显示。UI界面模块主要有三大页面,分别是热门推荐页面,类别推荐页面和个性化推荐页面。在每个页面都有的功能是可以进行景点内容检索,即输入一个景点名称,可以显示该景点的基本信息;还有景点相似度值查询,即输入两个景点名称,可以帮助用户查到这两个景点的相似度值及相似结果。热门景点推荐页面是根据数据库中100万用户的选择和评价信息综合统计而来,在该页面,将会展示Top10的景点及景点信息,
以及全国各省的旅游人数和各省的最佳旅游季节;类别推荐页面展示的是各个类别景点统计得到该类别最热门的前十景点,所有景点总共分为27个类别,针对每个类别都分别做了文本数据挖掘,提取出每个类别的关键特征词,并针其出现频率对每个类别做出了相应的词云,使用户可以更加直观的看到各类别的特征词,此外,还可以为未知景点类型的景点进行类型预测,可计算得到该景点所属哪个类别的概率最大;个性化推荐页面,可以选择根据内容推荐的方法显示推荐结果,也可以根据混合推荐方法显示推荐结果,除此之外,还根据用户相似度大小展示了用户之间的关系图,并将相似度最高的前十位用户推荐给该用户。附图说明图1是基于Hadoop的个性化旅游推荐系统流程图图2是Hadoop中Map本文档来自技高网
...

【技术保护点】
基于Hadoop的个性化旅游推荐系统,其特征在于:该系统以Eclipse为开发工具,Hadoop为大数据处理平台,Java为编程语言,通过JSCH跨平台连接本地Windows系统和服务器CentOS系统,即可实现在本地浏览器上向服务器上发送相应操作请求;通过页面的交互信息,后台运用Hadoop中的MapReduce计算框架,在分布式文件系统中进行分步查找和计算,并将结果整合返回前端页面;本系统共有五个模块相辅相成来完成整个系统功能,它们分别是网络爬虫模块、数据模块、大数据处理模块、推荐计算模块、UI界面模块;它们的连接关系为,网络爬虫模块与元数据模块单向连接,同时与UI界面模块单向连接;数据模块与大数据处理模块单向连接,同时与UI界面模块双向连接;大数据处理模块与推荐计算模块单向连接,同时与UI界面模块双向连接;推荐计算模块与UI界面模块双向连接;各模块具体连接过程如下,1.网络爬虫模块主要爬取景点信息和用户信息数据,景点信息的爬取顺序是根据省份和城市信息来依次爬取,首先遍历数据模块中的各省份城市信息数据,后台通过修改旅游网站中URL的城市名称,同时获得该网站的Cookie,依次获取各省各个城市下的景点名称列表,再根据该景点列表,依次将每个景点所需的相关字段信息提取出来,并记录存储到数据库中对应的景点信息表中;用户的信息数据是根据每个景点的评论页获取对该景点评论的信息,并根据评论信息获取评论者即用户的详细信息,将用户信息和评论信息分别记录存储到数据中对应的用户信息表和评价表中;爬取流程如下:国家列表→省份列表→城市列表→景点列表→景点字段信息→景点评论→评论者信息网络爬虫模块主要通过两个途径来触发爬取程序,一个是每天定时定点向数据库读取景点数据,并触发相应的爬取景点和用户信息程序,并将结果记录存储到数据库中的对应数据表中;另一个是通过UI界面模块的检索功能触发,当所查询的景点名称在数据库中找不到与之相对应的结果时,便会触动爬虫程序去旅游网站查询并爬取相关信息,如果找到对应景点,则将该景点的相关字段信息爬取出来,并记录存储到数据库中对应的景点信息表,同时再将结果反馈到UI页面对应位置。...

【技术特征摘要】
1.基于Hadoop的个性化旅游推荐系统,其特征在于:该系统以Eclipse为开发工具,Hadoop为大数据处理平台,Java为编程语言,通过JSCH跨平台连接本地Windows系统和服务器CentOS系统,即可实现在本地浏览器上向服务器上发送相应操作请求;通过页面的交互信息,后台运用Hadoop中的MapReduce计算框架,在分布式文件系统中进行分步查找和计算,并将结果整合返回前端页面;本系统共有五个模块相辅相成来完成整个系统功能,它们分别是网络爬虫模块、数据模块、大数据处理模块、推荐计算模块、UI界面模块;它们的连接关系为,网络爬虫模块与元数据模块单向连接,同时与UI界面模块单向连接;数据模块与大数据处理模块单向连接,同时与UI界面模块双向连接;大数据处理模块与推荐计算模块单向连接,同时与UI界面模块双向连接;推荐计算模块与UI界面模块双向连接;各模块具体连接过程如下,1.网络爬虫模块主要爬取景点信息和用户信息数据,景点信息的爬取顺序是根据省份和城市信息来依次爬取,首先遍历数据模块中的各省份城市信息数据,后台通过修改旅游网站中URL的城市名称,同时获得该网站的Cookie,依次获取各省各个城市下的景点名称列表,再根据该景点列表,依次将每个景点所需的相关字段信息提取出来,并记录存储到数据库中对应的景点信息表中;用户的信息数据是根据每个景点的评论页获取对该景点评论的信息,并根据评论信息获取评论者即用户的详细信息,将用户信息和评论信息分别记录存储到数据中对应的用户信息表和评价表中;爬取流程如下:国家列表→省份列表→城市列表→景点列表→景点字段信息→景点评论→评论者信息网络爬虫模块主要通过两个途径来触发爬取程序,一个是每天定时定点向数据库读取景点数据,并触发相应的爬取景点和用户信息程序,并将结果记录存储到数据库中的对应数据表中;另一个是通过UI界面模块的检索功能触发,当所查询的景点名称在数据库中找不到与之相对应的结果时,便会触动爬虫程序去旅游网站查询并爬取相关信息,如果找到对应景点,则将该景点的相关字段信息爬取出来,并记录存储到数据库中对应的景点信息表,同时再将结果反馈到UI页面对应位置。2.数据模块主要用来存储基本数据信息,包括三大类别,分别是景点基本数据、用户基本数据、用户景点关系数据;其中景点基本数据包含省份列表,城市列表,景点列表,各景点基本信息表;用户基本数据包含用户基本信息和用户去过的景点信息;用户景点关系数据包含用户对景点的评价数据;数据模块一方面为大数据处理模块提供基础的数据支撑,另一方面通过UI界面检索功能可从中查询所需信息。3.大数据处理模块是基于Hadoop平台的MapReduce计算框架运行的,该框架主要分为Map和Reduce两个部分,首先由主节点将原始数据拆分后分发到各个执行map任务的工作节点,各工作节点同时开始执行map任务,当map任务结束后,将输出结果作为reduce任务的输入值,传送给执行reduce任务的工作节点,reduce负责将...

【专利技术属性】
技术研发人员:张新峰郑楠
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1