CN104021483B - 旅客需求推荐方法 - Google Patents
旅客需求推荐方法 Download PDFInfo
- Publication number
- CN104021483B CN104021483B CN201410175627.0A CN201410175627A CN104021483B CN 104021483 B CN104021483 B CN 104021483B CN 201410175627 A CN201410175627 A CN 201410175627A CN 104021483 B CN104021483 B CN 104021483B
- Authority
- CN
- China
- Prior art keywords
- data
- recommendation
- user
- online
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种旅客需求推荐方法,该方法在历史交易数据,等级信息等常规结构化数据的之上,通过JS嵌码的方式收集用户在网站的在线行为等非结构化数据,采用分布式文件***HDFS作为统一的存储平台,通过Mahout和Storm技术为分别用户提供基于训练模型的离线推荐和在线推荐。本方法不仅扩大了推荐数据的利用范围,提升了推荐精度,而且整合了实时推荐和离线推荐,推荐性能更加稳定。
Description
技术领域
本发明涉及民航旅游业的个性化推荐***构建方法,尤其涉及一种旅客需求推荐方法。
背景技术
在过去的几十年里,随着网络基础设施的普及与改进以及移动互联网相关服务及应用的推广,信息技术的发展让我们进入一个信息***的时代。现如今,无论您身处哪个行业,信息***都是一个不可回避的话题。从航空航天到电子商务,从银行业到医疗行业,虽然行业不同,但都面临着同样的问题,那就是呈***式增长的数据量。民航旅游业也不例外。业界将这种***式增长的数据称为大数据,大数据虽然价值密度低,但是总体价值大,因此大数据既是机遇又是挑战。大数据带来的机遇之一,就是通过大数据分析用户行为习惯,据此为用户提供个性代的推荐。
但目前,航空旅游业的个性化推荐存在以下问题:
1.数据收集问题。用户在航空旅游的网站上留下了大量的数据,这些数据不仅包括交易等结构化的数据,还包括用户行为等非结构化数据。传统推荐因为受技术限制,只关注结构化数据的应用,而忽略了非结构化数据的应用。
2.推荐算法可扩展性问题。随着用户和物品数量的大量增加,算法的推荐性能和速度都大幅降低,如此一来,时间和空间都超出可控范围,导致其执行效率变得非常低下,严重影响推荐效果和用户满意度。
3.互联网环境下,社交网络发达,信息获取途径多,用户认知和接受能力的周期变短,使得用户偏好波动变大。比方说某用户在两周以前特别喜欢篮球,他的旅游计划是本周去美国看一场NBA比赛,但在上周他通过社交网络加入到一个足球的社交群体,通过与群体的交流认知,他觉得足球更有魅力,由此他就本周旅行计划改为去曼彻斯特老特拉福球场看一场足球比赛。
发明内容
为了解决上述问题,本发明提供一种旅客需求推荐方法,本发明的技术方案如下。
旅客需求推荐方法,包括以下步骤:
步骤1,收集客户信息,历史交易数据,等级信息等常规结构化数据;
步骤2,通过JS嵌码的方式收集用户在网站的在线行为等非结构化数据;
步骤3,将收集到的数据统一存放到分布式文件***HDFS;
步骤4,在Mahout框架上选择推荐模型,并利用收集到的数据训练推荐模型;
步骤5,利用Mahout框架采用训练好的模型基于历史数据做离线推荐,并将推荐结果存储到HDFS;
步骤6,当用户登录网站,为用户提供离线推荐;
步骤7,浏览网站的过程中触发事件,为用户提供基于Storm的在线推荐。
其中,推荐模型的训练过程如下:
步骤1,根据数据量的规模以及推荐性能要求,选择合适的推荐模型;
步骤2,对数据进行数据预处理;
步骤3,训练模型,模型训练好之后,将模型关键参数放入到CSV文件,并存储到HDFS模型文件夹model之中。
其中,在线推荐和离线推荐使用同一个推荐模型,模型基于离线的历史数据训练,其中历史数据包括结构化的交易数据,也包括非结构化的在线行为数据。
其中,当数据增长量超过一定阀值时,更新离线推荐和训练模型,阀值可自行设定,离线推荐的阀值初定为5%,训练模型的更新阀值初定为15%。
本发明的有益效果是,
1. 本发明扩大了数据的应用范围,不仅利用了用户交易等结构化数据,还利用了用户行为等非结构化数据,通过扩大数据应用范围,提升推荐精度。
2.本发明采用在线推荐和离线推荐两种推荐方式,不仅使得推荐的稳定性更高,而且可再次提升推荐精度。
3.在线推荐和离线推荐均采用分布式的计算框架实现,通过分布式框架提升计算能力,可根据数据规模在计算能力上做水平扩展,解决算法的可扩展性问题。
4.JS页面标记获取用户行为数据灵活性和可控性都较好,不仅可定制收集各用种户行为,而且获取信息较为完整。
以下将将结合附图以实施例的方式对本发明做进一步阐述。
附图说明
图 1是本发明实施例的技术架构图;
图 2是本发明实施例JS标记获取用户行为信息;
图 3本发明实施例的用户行为示意图;
图 4本发明实施例的推荐效果示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
如图1所示,本发明实施推荐方法包括离线推荐和在线推荐两部分,其中离线推荐的执行过程如下:
1.收集用户历史数据,数据包括用户个人信息,历史交易数据,旅游产品数据等;
2.应用Flume框架,将历史数据导入到HDFS文件夹;数据放入HDFS之后以数据类别存放,然后在每个类别下面以时间戳为文件夹名构造子文件夹,以此标识文件的增量式存放,文件名用类别加时间戳的方式标识;如有13年10月1号的针对十一假期推出的一个革命老区团体游活动的数据文件,就会被放到文件夹/travel/201310下,命名为travel_20131001.csv;
3.应用Mahout框架,利用已获得的历史数据,训练推荐模型;推荐模型训练的结果输出是具体的算法参数,结果以CSV的形式存储在HDFS模型文件夹model之中;
4.应用Mahout框架利用已训练好的模型基于历史数据做个性化的推荐,推荐结果以CSV的形式存放到HDFS推荐文件夹recommendation离线部分offline之中;
5.开发Service API调用推荐结果;Service API的参数包括推荐类型,用户ID;
6.前台调用Service API,获取推荐结果并展示;推荐结果包括推荐类型,推荐内容等;
对应离线推荐,在线推荐的执行流程如下:
1.用户浏览网站,触发推荐事件;
2.应用Kafka框架根据触发事件,推送数据到storm集群;推送数据包括触发事件的行为数据以及推荐所需的部分历史数据;行为数据是指事件认定的关键词,如活动名称,旅游线路,旅游景点,酒店名称等;部分历史数据是指与关键词和用户相关的历史数据;
3.应用storm集群启动实时推荐引擎,应用离线推荐过程中训练好的模型为用户进行实时推荐,并将推荐结果以CSV的形式存放到HDFS推荐文件夹recommendation在线部分online之中;
4.前台调用Service API,获取推荐结果并展示;在线推荐的Service API同离线推荐的Service API相同,不同之处在于前台调用时传递的推荐类型参数。
在推荐实施过程中,利用JS嵌码收集用户在线行为数据和推荐实现是关键步骤。如图2所示,JS嵌码收集用户在线行为数据包括以下步骤:
1.根据定义的事件,嵌入JS代码到网页;
2.用户访问网页时,将同时并发执行嵌套在页面中的JS标记代码;
3.JS代码通过事件或时间触发,将需要获取的用户行为信息以avro的方式发送到特定端口;
4.Flume 监听端口,当监听到端口有数据输入时,将用户行为数据sink到HDFS中。
在线推荐由事件触发,事件由***定义。如图3所示,当用户从同一出发地连续搜索多个旅游城市目的地达到一定次数时,可将此行为定义为旅游意向事件travel_intention,据此事件可以对其做旅游线路等推荐。
***的推荐结果如图4所示,推荐内容根据具体的推荐主题而定。
Claims (5)
1.旅客需求推荐方法,其特征在于,包括以下步骤:
步骤1,收集常规结构化数据,包括客户信息,历史交易数据,等级信息;
步骤2,通过JS嵌码的方式收集的非结构化数据包括用户在网站的在线行为,用JS标记收集到的非结构数据包括点击、浏览区域、停留时间及Ajax,JS嵌码收集用户在线行为数据的过程如下:
根据定义的事件,嵌入JS代码到网页;
用户访问网页时,将同时并发执行嵌套在页面中的JS标记代码;
JS代码通过事件或时间触发,将需要获取的用户行为信息以avro的方式发送到特定端口;
Flume监听端口,当监听到端口有数据输入时,将用户行为数据sink到HDFS中;
步骤3,将收集到的数据统一存放到分布式文件***HDFS;
步骤4,在Mahout框架上选择推荐模型,并利用收集到的数据训练推荐模型;
步骤5,利用Mahout框架采用训练好的模型基于历史数据做离线推荐,并将推荐结果存储到HDFS,当数据增长量超过一定阀值时,更新训练模型以及离线推荐结果;
步骤6,当用户登录网站,为用户提供离线推荐;
步骤7,浏览网站的过程中触发事件,为用户提供基于Storm的在线推荐,所述在线推荐具体通过以下方法实现:
用户浏览网站,触发推荐事件;
应用Kafka框架根据触发事件,推送数据到storm集群;
推送数据包括触发事件的行为数据以及推荐所需的部分历史数据,行为数据为事件认定的关键词,部分历史数据为与关键词和用户相关的历史数据;
应用storm集群启动实时推荐引擎,应用离线推荐过程中训练好的模型为用户进行实时推荐,并将推荐结果以CSV的形式存放到HDFS推荐文件夹recommendation在线部分online之中;
前台调用Service API,获取推荐结果并展示;
步骤6中的在线推荐和步骤7中的离线推荐使用同一个推荐模型,所述推荐模型的训练过程如下:
根据数据量的规模以及推荐性能要求,选择合适的推荐模型;
对数据进行数据预处理;
训练模型,模型训练好之后,将模型关键参数放入到CSV文件,并存储到HDFS模型文件夹model之中。
2.如权利要求1所述的旅客需求推荐方法,其特征在于:步骤3所述的HDFS文件***,包括基于HDFS文件***的数据库Hbase和Hive。
3.如权利要求1所述的旅客需求推荐方法,其特征在于:步骤4中所述模型不仅包括聚类,分类,预测,协同过滤常用模型,还包括自行开发定制新的模型。
4.如权利要求1所述的旅客需求推荐方法,其特征在于:步骤4和5所述的模型训练和推荐均采用分布式的实现。
5.如权利要求1所述的旅客需求推荐方法,其特征在于:步骤7中所述的事件采用定制的方式,定制方法视具体应用环境而定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410175627.0A CN104021483B (zh) | 2014-06-26 | 2014-06-26 | 旅客需求推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410175627.0A CN104021483B (zh) | 2014-06-26 | 2014-06-26 | 旅客需求推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021483A CN104021483A (zh) | 2014-09-03 |
CN104021483B true CN104021483B (zh) | 2017-08-25 |
Family
ID=51438223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410175627.0A Active CN104021483B (zh) | 2014-06-26 | 2014-06-26 | 旅客需求推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104021483B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949334B2 (en) * | 2012-07-26 | 2015-02-03 | Microsoft Corporation | Push-based recommendations |
CN105450618B (zh) * | 2014-09-26 | 2019-06-04 | Tcl集团股份有限公司 | 一种api服务器处理大数据的运算方法及其*** |
CN104503967A (zh) * | 2014-10-24 | 2015-04-08 | 浪潮电子信息产业股份有限公司 | 一种基于hadoop的网络推荐方法 |
CN105808537A (zh) * | 2014-12-29 | 2016-07-27 | Tcl集团股份有限公司 | 一种基于Storm的实时推荐方法及*** |
CN106251184A (zh) * | 2016-08-22 | 2016-12-21 | 成都天地网络科技有限公司 | 基于大数据的交易处理*** |
CN108763502B (zh) * | 2018-05-30 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 信息推荐方法和*** |
CN109034869A (zh) * | 2018-06-26 | 2018-12-18 | 杭州排列科技有限公司 | 基于类似受众的实时推荐***及方法 |
CN109636495A (zh) * | 2018-09-21 | 2019-04-16 | 闽南理工学院 | 一种基于大数据的科技信息在线推荐方法 |
CN109831488A (zh) * | 2019-01-08 | 2019-05-31 | 上海上湖信息技术有限公司 | 信息推荐方法及***、可读存储介质 |
CN110276018A (zh) * | 2019-05-29 | 2019-09-24 | 深圳技术大学 | 在线教育***的个性化推荐方法、终端及存储介质 |
CN111178721A (zh) * | 2019-12-20 | 2020-05-19 | 长沙市新时科技发展有限公司 | 一种智慧旅游*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268336A (zh) * | 2013-05-13 | 2013-08-28 | 刘峰 | 一种快数据和大数据结合的数据处理方法及其*** |
CN103761309A (zh) * | 2014-01-23 | 2014-04-30 | ***(深圳)有限公司 | 一种运营数据处理方法及*** |
CN103886047A (zh) * | 2014-03-12 | 2014-06-25 | 浙江大学 | 面向流式数据的分布式在线推荐方法 |
CN103886487A (zh) * | 2014-03-28 | 2014-06-25 | 焦点科技股份有限公司 | 基于分布式的b2b平台的个性化推荐方法与*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572760B2 (en) * | 2010-08-10 | 2013-10-29 | Benefitfocus.Com, Inc. | Systems and methods for secure agent information |
-
2014
- 2014-06-26 CN CN201410175627.0A patent/CN104021483B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268336A (zh) * | 2013-05-13 | 2013-08-28 | 刘峰 | 一种快数据和大数据结合的数据处理方法及其*** |
CN103761309A (zh) * | 2014-01-23 | 2014-04-30 | ***(深圳)有限公司 | 一种运营数据处理方法及*** |
CN103886047A (zh) * | 2014-03-12 | 2014-06-25 | 浙江大学 | 面向流式数据的分布式在线推荐方法 |
CN103886487A (zh) * | 2014-03-28 | 2014-06-25 | 焦点科技股份有限公司 | 基于分布式的b2b平台的个性化推荐方法与*** |
Also Published As
Publication number | Publication date |
---|---|
CN104021483A (zh) | 2014-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104021483B (zh) | 旅客需求推荐方法 | |
CN104951539B (zh) | 互联网数据中心有害信息监测*** | |
CN102831234B (zh) | 基于新闻内容和主题特征的个性化新闻推荐装置和方法 | |
CN106960063A (zh) | 一种针对招商引资领域的互联网情报抓取和推荐*** | |
CN104166668A (zh) | 基于folfm模型的新闻推荐***及方法 | |
CN104537070B (zh) | 挖掘旅游目的地景点的方法和设备 | |
CN107609960A (zh) | 推荐理由生成方法及装置 | |
CN107220237A (zh) | 一种基于卷积神经网络的企业实体关系抽取的方法 | |
CN107122455A (zh) | 一种基于微博的网络用户增强表示方法 | |
CN110555568A (zh) | 一种基于社交网络信息的道路交通运行状态实时感知方法 | |
CN101894351A (zh) | 基于多智能Agent的旅游多媒体信息个性化服务*** | |
CN102760128A (zh) | 一种基于智能客服机器人交互的电信领域套餐推荐方法 | |
CN104462190A (zh) | 一种基于海量空间轨迹挖掘的在线的位置预测方法 | |
CN103136253A (zh) | 获取信息的方法和装置 | |
CN102122291A (zh) | 一种基于树形日志模式分析的博客好友推荐方法 | |
CN104216889B (zh) | 基于云服务的数据传播性分析预测方法及*** | |
CN104268230B (zh) | 一种基于异质图随机游走的中文微博客观点探测方法 | |
CN105183841A (zh) | 大数据环境下结合频繁项集和深度学习的推荐方法 | |
CN105975609A (zh) | 一种工业设计产品智能推荐方法及*** | |
CN110069690B (zh) | 一种主题网络爬虫方法、装置及介质 | |
CN102682046A (zh) | 社交网络的节点搜索和分析方法及搜索*** | |
CN110347724A (zh) | 异常行为识别方法、装置、电子设备及介质 | |
CN102955813A (zh) | 一种信息搜索方法和*** | |
CN104572982A (zh) | 基于问题引导的个性化推荐方法及*** | |
CN103198072A (zh) | 一种流行检索词的挖掘、推荐方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |