开题报告
学院 | : | 计算机学院 |
课题名称 | : | 大数据技术在旅游推荐系统中的应用 |
姓名 | : | |
学号 | : | |
专业 | : | |
班级 | : | |
指导教师 | : | |
开题日期 | : |
开 题 报 告 要 求
(一)开题报告,就是确定设计(论文)选题之后,学生在调查研究的基础上撰写的研究计划,主要说明设计(论文)研究目的和意义、研究的条件以及如何开展研究等问题,也可以说是对设计(论文)的论证和设计。开题报告是提高设计(论文)质量和水平的重要环节。
(二)开题报告主要包括以下几个方面:
1、选题依据(包括项目研究的背景、研究或应用的意义、国内外研究或应用现状,并附主要参考文献。);
2、设计或研究的内容、预期目标及拟解决的关键问题;(此部分为重点阐述内容);
3、研究方案(包括有关方法、技术路线、实验手段、关键技术等);
4、设计或研究计划进度 ;
5、设计(论文)的预期成果与特色或创新之处。
(三) 设计(论文)来源为教师提供选题、学生自拟题、教师的科研任务、社会有关单位委托的题目和其他来源。
(四)开题报告不少于2500字。
(五)若设计(论文)题目因故变动时,应向指导教师提出申请,报系备案。
(六)开题报告格式要求:
表格内标题采用黑体小四号,左对齐,标题编号按(一)1、(1)分级;
表格内正文采用宋体5号字;段首空两个字;
全文行距:固定值22磅。
开题报告
设计(论文)名称 | 大数据技术在旅游推荐系统中的应用 | |||||||
设计(论文)类型 | 指导教师 | |||||||
学 院 | 计算机学院 | 专 业 | ||||||
姓 名 | 学 号 | 班 级 | ||||||
(一)选题依据(包括项目研究的背景、研究或应用的意义、国内外研究或应用现状,附主要参考文献) 1、研究背景 在旅游推荐系统中应用大数据技术, 有利于推动旅游行业长远发展。随着人们物质生活水平的进一步提升, 其更加重视精神上的享受, 这就使得旅游行业迅速发展。能够向用户提供更加优质的旅游服务, 旅游单位需要充分利用大数据技术, 对更具价值的信息及潜在用户进行充分挖掘, 进一步研究旅游推荐系统, 从而做出更加合理的旅游产业信息化决策。大数据与旅游产业的结合将给旅游业高质量发展提供技术支撑与服务架构。 根据中商情报网讯显示2021年上半年,我国在线旅行预订行业强劲复苏,出游人次快速反弹增长,企业业绩大幅提升。在线旅行预订企业不断进行数字化营销升级,寻求新的业绩增长点。在行业回暖的同时,旅行预订市场消费结构发生变化,推动整个行业高质量发展。截至2021年6月,我国在线旅行预订用户规模达3.67亿,较2020年12月增长2411万,占网民整体的36.3%。由此看出,我国的旅游业市场竞争压力较大, 从旅游大数据中挖掘有价值的信息、潜在客户, 并提供更优质的服务, 可以促进旅游业的发展。因此对于该研究是有必要的。 2、研究意义 大数据还能带动旅游相关产业发展,为旅游业开拓新的市场与业务提供服务。我国旅游资源丰富,旅游业自改革开放以来发展迅速,已成为第三产业重要组成部分。互联网及移动设备的普及也为旅游业的发展提供了新的机遇和平台,人们会使用相关的旅游推荐App和视频软件来进行搜索景点、门票、路线等信息,利用旅游大数据进行挖掘和分析其隐藏的价值,同时也能更好地根据用户的兴趣推荐相关信息,方便用户更快速、更便捷的出行。随着各地“智慧旅游”建设步伐加快, 旅游业将会朝着现代化、网络化、智能化的方向发展, 为游客提供更加优质、专业、个性化的服务。应用大数据及数据挖掘技术可以有效管理旅游业, 为旅客提供更加优质的服务。目前, 旅游大数据的应用主要集中在在线旅游业。随着科技的发展, 旅游业对数据及信息的依赖性将不断增加, 越来越多地应用大数据, 并且从线上影响转移到线下实体。 3、国内外研究现状 (1)国外研究现状 M.D’Amore等开发了一种用六台机 器组合成的命名为RaspberryPi 的系统,它是一种开源的、低成本获取网络大数据的采集系统,可以使学 者和研究者方便地获取旅游大数据从而更好地研究旅游现象,而大数据在云计算、物联网等技术的支持下,Google开发了MapReduce 计算框架,Yahoo!、 Facebook在此基础上开发了Hadoop、PUMA,微软 开发了Cosmos,这些为旅游大数据的分析提供了很好的选择。 (2)国内研究现状 随着旅游业的发展, 旅游市场竞争压力增大, 客户成为旅游企业争夺的资源。目前旅游大数据信息量大, 但相对分离, 企业一般只拥有客户的姓名、性别、年龄、旅游目的地选择等基础原始信息, 信息中缺少数据隐含的规律与潜在价值, 不能对客户连续性的行为活动进行持续、全面分析, 不能提取有效的关联信息, 对企业决策作用不大。利用数据挖掘技术可以提取、分析游客的路线查询、信息搜索、服务点评等信息和消费情况, 为企业的旅游路线规划提供参考依据,以便为客户提供更合适的旅游方案, 增强企业的市场竞争力。城市旅游规划作为城市总体规划中的专项规划内容, 对于旅游大数据的应用不完善, 旅游大数据的实际应用价值没有得到很好的体现。 大数据与旅游产业的结合将给旅游业高质量发展提供技术支撑与服务架构。大数据不仅能够储存海量的旅游数据,而且能够将数据进行整合,帮助人们分析旅游需求与市场发展趋势,为科学的决策提供依据。大数据还能带动旅游相关产业发展,为旅游业开拓新的市场与业务提供服务。旅游大数据被广泛应用于营销及服务领域。近年来, 国内旅游平台迅速发展, 包括蚂蜂窝旅行网、携程旅行网、去哪儿网等旅游服务平台, 依据游客的旅游爱好、旅游资金、出行需求等为用户提供旅游方案建议, 并提供出行、住宿、餐饮、门票等一体化服务 , 简化了人们旅游出行的准备工作。与此同时, 政府顺应大数据时代潮流, 开始“智慧旅游”建设, 目前全国有33个城市被批准为智慧旅游试点城市, 致力于城市旅游的特色化、智能化发展。 4、参考文献: [1]薛东.大数据技术在旅游推荐系统中的应用[J].电子技术与软件工程,2018(18):146. [2]卢秀芸.数据挖掘技术在旅游业中的应用[J].镇江高专学报,2018,31(02):54-56. [3]尹书华,傅城州.基于百科大数据的旅游景点推荐系统应用研究[J].旅游论坛,2017,10(03):107-115. [4]贺剑武.基于大数据分析技术的旅游智慧平台设计[J].现代电子技术,2020,43(14):183-186. [5]张军爱.大数据背景下旅游业发展的新技术应用[J].科技创新与生产力,2020(02):30-36. [6]郭玲霞.大数据助力智慧旅游发展的研究综述[J].河北旅游职业学院学报,2017,22(02):50-54. [7]尚泉酉. 大数据技术在大气污染防治审计中的应用研究[D].河南财经政法大学,2021. [8]陈国宏,索柏民.基于大数据的旅游企业融合创新研究[J].沈阳师范大学学报(社会科学版),2016,40(06):81-84. [9]Chang Victor and Ji Ziyang and Xu Qianwen Ariel. Big Data Applications in Guangzhou Restaurants Analysis.[J]. Big data, 2021, [10]Wang Nan. Application of DASH client optimization and artificial intelligence in the management and operation of big data tourism hotels[J]. Alexandria Engineering Journal, 2022, 61(1) : 81-90. [11]吴开军.旅游大数据研究热点及特征探析——基于国外文献的分析[J].统计与信息论坛,2019,34(04):105-113. | ||||||||
(二)设计或研究内容、预期目标及拟解决的关键问题(此部分为重点阐述内容)。 1、研究内容 (1)旅游信息的提取。 对用户的旅游系统的搜索记录及点击等信息进行收集, 对其兴趣爱好进行分析, 提取出对用户最具吸引力的旅游项目、旅游目的地及旅游路线等信息。相关的旅游管理单位可以依据数据分析结果优化旅游信息网站设计, 并定期更新信息, 以确保网站信息与游客需求高度吻合,为游客提供更加优质的服务, 并为特殊、特定游客提供个性化服务, 保证旅游服务的优质、全面。 (2)旅游用户的挖掘。借助旅游类网络与App对用户的访问记录的数据信息进行提取, 从而聚类与分析数据;对于新访客可借助其访问记录对其有没有可能成为潜在客户进行识别,对其可不可当作潜在客户对待进行评估;对于潜在旅游客户, 应及时的结合其兴趣爱好对相应的旅游信息进行精准推送。 (3)优化旅游线路和项目, 也就是数据挖掘旅游目的地、旅游线路的游客访问状况, 以便旅游管理单位能够更好的确定最适宜的、具备市场发展潜力的、最优的旅游线路;并能够对有关旅游线路进行综合管理与合理规划, 及对旅游网络结构进行不定时的调整, 以便用户访问与咨询, 使得网络的相关度得以增强, 且网站访问量得以提升。利用旅游大数据创建涵盖较广的旅游目的地及旅游项目数据库, 借助数据挖掘技术, 形成多种旅游方案。针对不同客户推荐不同的旅游目的地及旅游项目, 提高旅游客户的旅游体验满意度。 2、预期目标 (1)为游客提供优质、精准的旅游咨询与服务, 制定合理的旅游计划与路线。 (2)游客在互联网上搜索旅游目的地, 便可以获得相关的吃、住、行、游、购、娱等信息, 自行判断与选择, 前期准备工作大为减少。 (3)借助旅游大数据来引领旅游业可持续发展, 对旅游业加以整体调控, 对旅游经济数据信息进行密切掌握, 并实时监测旅游舆情,将公共服务能力进行提升, 并对公共服务设施加以进一步完善, 对数据搜集、整理、应用机制进行构建, 使得数据分析更加的合理与有效。 3、拟解决的关键问题
| ||||||||
(三)研究方案(包括有关方法、技术路线、实验手段、关键技术等)。 1、有关方法 (1)问题定义及规划,通过查阅各种资料,了解大数据技术和旅游系统推荐相关资料。 (2)通过阅读和收集国内外相关文献资料,并对其进行归纳和分析整理,学习和研究与大数据技术对旅游经济发展相关的知识和理论。明确发展现状和不足,并在此基础上进行。 (3)旅游案例进行分析。 (4)就相关旅游平台推荐数据进读取、清洗和分析。 2、技术路线 技术路线如下图所示:
1-1大数据技术在旅游推荐系统中的应用技术路线流程图 3、实验手段 操作系统:Windows 7操作系统 开发工具:Jupyter、IDEA2019.3.3 绘图软件:Tableau(用于对数据可视化并分析做成报表) 数据获取:利用Python爬虫到相应网站进行数据的爬取 4、关键技术:
| ||||||||
四、设计或研究计划进度 2021年9月21日-2021年10月11日 选题、撰写开题报告 2021年10月12日-2021年10月22日 完成开题答辩 2021年10月23日-2021年12月24日 论文初稿写作与检查 2021年12月25日-2022年1月16日 论文二稿写作与检查 2022年1月17日-2022年2月20日 论文终稿写作与检查 2022年2月21日-2022年3月11日 交给评阅老师进行评阅 2022年3月12日-2022年4月10日 论文答辩 2022年4月11日-2022年4月15日 提交论文最终稿 | ||||||||
五、设计(论文)的预期成果与特色或创新之处 1、预期成果: 旅游推荐系统优化完成,用户更容易获取旅游信息、相关旅游景点推荐、旅游方案、旅游项目和对潜在用户推送相关旅游信息。 2、特色之处:
| ||||||||
指导教师 意见 | 指导教师签名: 年 月 日 | |||||||
专业毕业设计 (论文)工作小组意见 | 难度 | 综合训练程度 | ||||||
组长签名: 年 月 日 | ||||||||
学院(部) 审核意见 | 学院(部)院长签字: 年 月 日 |
毕业设计类型: A—工程设计;B-艺术设计;C—计算机软件设计.
本表除意见部分外由学生填写。
核心算法代码分享如下:
from flask import Flask, request
import json
from flask_mysqldb import MySQL
# 创建应用对象
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'bigdata'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = '123456'
app.config['MYSQL_DB'] = 'tour'
mysql = MySQL(app) # this is the instantiation
@app.route('/tables01')
def tables01():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table01''')
#row_headers = [x[0] for x in cur.description] # this will extract row headers
row_headers = ['province','num'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
@app.route('/tables02')
def tables02():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table02 ORDER BY ctime asc limit 5 ''')
#row_headers = [x[0] for x in cur.description] # this will extract row headers
row_headers = ['ctime','bads','goods'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
@app.route('/tables03')
def tables03():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table03 order by num desc''')
#row_headers = [x[0] for x in cur.description] # this will extract row headers
row_headers = ['city','num'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
@app.route('/tables04')
def tables04():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table04''')
#row_headers = [x[0] for x in cur.description] # this will extract row headers
row_headers = ['name','msold'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
@app.route("/getmapcountryshowdata")
def getmapcountryshowdata():
filepath = r"D:\\hadoop_spark_hive_mooc2024\\server\\data\\maps\\china.json"
with open(filepath, "r", encoding='utf-8') as f:
data = json.load(f)
return json.dumps(data, ensure_ascii=False)
@app.route('/tables05')
def tables05():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table05''')
#row_headers = [x[0] for x in cur.description] # this will extract row headers
row_headers = ['grade','num'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
@app.route('/tables06')
def tables06():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table06''')
#row_headers = [x[0] for x in cur.description] # this will extract row headers
row_headers = ['name','hot'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
@app.route('/tables07')
def tables07():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table07''')
#row_headers = [x[0] for x in cur.description] # this will extract row headers
row_headers = ['name','price'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
@app.route('/tables08')
def tables08():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table08''')
#row_headers = [x[0] for x in cur.description] # this will extract row headers
row_headers = ['jgqj','num'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
@app.route('/tables09')
def tables09():
cur = mysql.connection.cursor()
cur.execute('''SELECT * FROM table09''')
row_headers = [x[0] for x in cur.description] # this will extract row headers
#row_headers = ['car_name','score'] # this will extract row headers
rv = cur.fetchall()
json_data = []
#print(json_data)
for result in rv:
json_data.append(dict(zip(row_headers, result)))
return json.dumps(json_data, ensure_ascii=False)
if __name__ == "__main__":
app.run(debug=False)