论文部分内容阅读
近年来,随着旅游这一产品的盛行,人们开始把假期出游当作悠闲放松的一种选择。与此同时,旅游推荐面临着严峻的挑战:(1)随着Web2.0时代的到来,互联网技术和移动设备的快速发展,有越来越多的用户愿意在社交平台上分享自己的旅游经验,然而分享者越多,信息就会越膨胀,在信息过载的情况下,用户想要从中找到符合个人现实需求的有用信息来安排自己的旅程是一件费时又费力的事情;(2)随着时代的发展,用户的旅游消费观念日渐理性化和个性化,景点的实际情况会对用户是否去该景点游玩产生影响,掌握景点的实际情况对旅游推荐至关重要;(3)由于旅游产品的特殊性,用户数据极度稀疏,如何在有限数据的情况下准确把握用户的偏好同样至关重要。针对上述挑战,本文提出了一种基于用户偏好的多约束多目标旅游路线推荐策略(包含:基于改进矩阵填充方法的用户偏好计算;基于用户偏好和景点流行度的景点评分机制;基于多约束多目标的剪枝算法),然后基于该推荐策略设计并实现了一个旅游路线推荐系统。本文主要研究内容为以下3个方面:(1)用户偏好的计算。为了准确把握用户的偏好,本文提出了一种融合序列、用户和地理相关性的改进矩阵填充方法SGG:针对冷启动用户,本系统根据用户注册系统时所提供的景点类别选择顺序来计算用户偏好;针对一般用户,本系统在考虑用户初始景点类别选择顺序的基础上,重点利用用户的历史签入数据来学习序列相关性、用户相关性和地理相关性,通过整合这三个相关性得到用户访问某个POI的频率概率,用所得到的用户-POI签入频率概率矩阵来填充用户-POI签入频率矩阵,并利用填充后的用户-POI签入频率矩阵来计算用户偏好。(2)旅游路线推荐。将上述计算得到的用户偏好数据作为基于用户偏好和景点流行度的景点评分机制的一部分,计算出各个景点的个性化得分,然后根据景点的个性化得分和用户需求,使用基于多约束多目标的剪枝(MCPA-MO)算法为用户推荐一条花费尽可能少的预算游览尽可能多的类别的最优旅游路线。(3)系统设计与实现。首先分析用户和系统的核心需求,并根据核心需求进行系统的整体设计,包括系统的结构分析、旅游路线推荐系统算法的分析与设计;然后基于Django这一 Python Web框架设计开发服务器端和客户端的各个功能模块;最后测试与分析系统核心主业务模块,验证系统的功能性。