APP下载

基于web的旅游推荐系统

2022-12-21张腊梅陈正玉

信息记录材料 2022年10期
关键词:管理员个性化协同

张 敏,张腊梅,陈正玉

(常熟理工学院 江苏 常熟 215500)

0 引言

互联网发展日新月异,大量的旅游信息依托旅游网站应运而出,而这些网站不仅要整理繁多的景区信息还要管理用户的海量数据。对于用户而言,很难在海量的信息当中高效地找到满足个人需求的信息。传统的旅游推荐信息大多是根据热门推荐或者是将景点按照简单的类型分类推荐,这种推荐的方式对用户而言缺乏个性化。为了满足用户个性化的需求,目前比较合适的技术是将协同过滤算法与推荐系统相结合[1]。系统可以根据不同用户的历史行为来预测彼此的喜好,并有针对性的推荐偏好景区。目前,很多领域都有使用个性化推荐系统,比如:音乐推荐、电影推荐、电子商务等。由于旅游信息纷繁复杂,所以将个性化推荐系统与旅游领域相结合的旅游推荐相对较少,因此本文是将协同过滤算法应用在旅游景点的推荐上。综上所述,经济飞速增长,智能时代的来临,大量信息蜂拥而至,国内旅游网站对于个性化推荐算法的应用并不完善,也难以满足用户个性化的需求。通过协同过滤算法与旅游推荐的结合,将旅游信息的各个方面进行科学化的管理以及个性化的推荐,同时也可以丰富对旅游信息系统的研究。

1 研究现状及本课题主要工作

国内外对协同过滤算法的应用已经很广泛,比较典型的是电子商务和多媒体领域。同时经过多年的研究,协同算法也运用到很多推荐系统中,相对成熟的有用于电子邮件推荐的Tapestry、用于新闻推荐的GroupLens、用于音乐推荐的Ringo以及用于电影推荐的MovieLens等[2]。协同过滤算法主要分为基于用户和基于物品两种类型。比较典型的MovieLens采用的是基于用户的协同过滤,观影人在观影后会对影片评分,通过评分的相似度来寻找相似爱好的观影人,然后获取相似用户的爱好电影。比较知名的亚马逊商城运用的是基于物品的协同过滤算法,通过对比物品的相似性来筛选出相似率高的物品进行推荐。就目前而言,所研究的协同过滤算法本身也存在着很多问题,比如初始用户没有历史行为无法获得协同推荐信息、推荐的准确性不高、延展性较差等[3]。对此专业人士提出很多解决方案,比如在考虑协同因素时加入时间这一因素、采用云模型等[4]。虽然该算法目前仍存在不足,但却是解决用户个性化需求问题的好方法。将基于协同过滤的个性化推荐算法与旅游推荐相结合已经成为满足游客个性化需求的发展趋势,而且该推荐系统可以提高用户信息管理的效率。

基于web的旅游推荐系统开发设计的任务:首先是对基于协同过滤算法的推荐系统的发展背景、研究意义以及研究现状进行论述。然后根据相关用户进行需求分析确定系统开发的设计方案,主要设计的用户包括游客和管理员。游客使用的功能包括出行攻略推荐、用户评论、个人中心,管理员使用的功能包括管理员账号管理、添加新闻、添加景区等。通过用户和管理员角色功能模块的设计以及协同过滤算法的实现,进行信息存储和个性化推荐。最后实现上述模块功能并在系统实现后对各个功能进行测试。

2 系统开发环境

2.1 开发语言及结构

该系统是采用Java语言开发的,该语言具有跨平台的无关性、面向对象、安全性得以保障、支持多个任务、多种编写方式,代码编写简单的特征[5],与其他程序开发语言相比,Java语言具有明显的优势和良好的发展趋势,可以应用于网站以及大型游戏等方面。数据库使用的是 MySQL,该数据库对数据的存储结构与其他存储方式不同的是即使开发的系统数据库不同,但是对数据的存储和接口的使用方式可以是相同的,因此用MySQL数据库存储数据十分便捷。采用的是B/S结构,该结构主要是通过浏览器进行网站访问,可以在远程服务器上进行安装,然后通过连接网络就可以访问,系统使用B/S结构进行开发具有极大的便利性,用户使用起来就会不受时间、地点的限制[6]。

2.2 协同过滤算法

协同过滤推荐算法分为基于用户的推荐算法和基于物品的推荐算法[7]。本文主要使用的是基于用户的协同过滤算法。通过计算用户对景点评论作为相似度权重,首先通过余弦相似度计算用户历史行为的相似性,然后将相似度靠前的用户定义为相似用户,最后将自己评论过的景点推荐给相似好友。概念图如图1所示。

图1 协同过滤推荐概念图

3 系统分析

3.1 可行性分析

基于web的旅游推荐系统开发设计的目标是更好的管理协同过滤的旅游信息,对系统的开发目标确认后,对系统进行可行性分析,从技术、操作以及经济等方面进行分析。

3.1.1 技术可行性

本系统开发采用Java,系统基于B/S结构以及MySQL 数据库进行数据存储,系统开发功能完整,使用简单,建立的数据库稳定并且安全,开发人员对系统开发技术易于掌握,所以基于协同过滤的旅游推荐系统在技术方面具有开发的可行性。

3.1.2 操作可行性

基于web的旅游推荐系统页面设计简洁大方,用户可以直观的选择相关功能的使用。如果操作失误会有报错提示。本系统具有易操作、易管理、交互性好的特点。

3.1.3 经济可行性

该系统开发环境是idea,用的数据库是MySQL,这些软件都可以购买。因此在开发经济上成本低,开发规模小,开发周期较短,在经济方面具有较高的可行性。

3.2 系统流程分析

3.2.1 系统开发流程

在对系统进行具体模块的详细设计之前先做好需求分析以及功能模块的整体设计[8]。完成详细设计之后要对相应模块进行测试以及完善。本系统的开发流程如图2所示。

图2 系统开发流程图

3.2.2 用户登录流程

如果想要进入后台管理系统就必须以管理员的身份登录,游客第一次使用可以在不登录的情况下浏览景区、新闻、攻略等,但是要想对景区进行评论就必须先在前台登录。如图3所示。

图3 登录流程图

3.2.3 系统操作流程

用户要想实现前台的全部功能,就要先凭注册的账号进行登录。所输入信息与数据信息比对,无误可以进行各项前台功能操作。操作流程如图4所示。

图4 系统操作流程图

4 系统设计

4.1 系统概述

完成系统分析后要进行的是系统设计。系统设计主要包含详细设计和总体设计[9]。设计在执行过程时客户端向服务器发出请求,服务器将数据转达到数据库进行验证比对然后又通过服务器将信息发回到客户端。基于协同过滤的旅游推荐系统工作原理图如图5所示。

图5 系统工作原理图

4.2 系统结构设计

构思系统架构图是系统设计阶段的主要部分,系统的总体架构决定了整个系统的模式,是系统的基础[10]。基于协同过滤的旅游推荐系统的整体结构设计如图6所示。

图6 系统结构图

4.3 数据库设计

数据库是存储数据信息的重要载体,在编写数据库之前先完成整体ER图的设计,如图7所示。

图7 系统结构图

5 系统实现

5.1 管理员功能模块

(1)管理员账号模块:在后台管理系统中,可以在账号管理模块对用户的账号信息进行添加或删除,也可以通过账号名或者添加时间来查找用户的信息。

(2)用户模块:在用户管理模块,输入用户名、密码、姓名、手机号等信息进行用户添加。

(3)景点模块:在后台景点模块,可以添加或者删减景区信息也可以通过地区名、添加景区的时间来查找景点信息。

(4)新闻模块:管理员对新闻管理进行查询和添加、也可以根据新闻的名称以及增添新闻的时间来查询新闻信息等操作。

(5)评论模块:管理员对评论管理进行编辑和删除等操作。

(6)浏览记录模块:管理员对浏览记录管理进行编辑和删除等操作。

(7)出行攻略模块:管理员对出行攻略管理进行编辑和删除等操作。

(8)系统模块:管理员对系统管理进行编辑和删除等操作。

5.2 用户功能模块

(1)登录:游客输入自己的账号、密码以及正确形式的验证码进行登录,账号和密码与数据库信息进行比对,若信息有误会出现异常提示。如果信息核对正确,可以登录成功,进入后台管理系统。用户在未登录前可以进入系统首页,可以在首页看见协同推荐的景点。也可以选择景点信息、新闻信息、出行攻略、用户注册以及后台管理模块。

(2)游客注册:用户填写姓名、手机号等个人信息进行注册,有了注册的账号方便进行前台登录。

(3)出行攻略:用户可以查看出行攻略,了解具体出行方案,选择合适心仪的攻略。

(4)景点信息:用户可以在景区模块查看景点具体信息,在详细景点信息下面,可以编写自己的评论。

(5)个人中心:用户对个人中心进行修改密码和修改个人资料等操作。

6 总结

该系统采用SSM框架不仅便于数据信息的分类与管理,而且很大程度上减少了编写程序的代码量,然后将协同过滤的算法与景区推荐系统相结合,不仅在景区推荐上可以实现协同的作用,在推荐出行攻略时也同样适用。随着用户评论的历史行为增多,协同效果会逐渐明显,从而更好地满足用户个性化需求,在很大程度上提高了检索信息的效率。

猜你喜欢

管理员个性化协同
我是小小午餐管理员
蜀道难:车与路的协同进化
我是图书管理员
我是图书管理员
坚持个性化的写作
可疑的管理员
“四化”协同才有出路
新闻的个性化写作
上汽大通:C2B个性化定制未来
三医联动 协同创新