基于域适应的旅游景点个性化推荐算法研究

2019-01-11 03:53郑恩让韩国锋
陕西科技大学学报 2019年1期
关键词:旅游景点分类器景点

郑恩让, 韩国锋, 刘 晨

(陕西科技大学 电气与信息工程学院, 陕西 西安 710021)

0 引言

随着网络技术的迅速普及和发展,人们通过互联网可以便捷地、快速地获取自身所需的旅游信息,并且人们也可以在互联网中上传各种旅游游记,照片等信息.但是,随着用户生成海量的旅游相关信息,导致了信息过载的问题,使得人们并不能从海量数据中迅速获取想要查询的旅游信息.因此,人们提出旅游信息推荐系统.

在旅游推荐系统中,根据旅游推荐算法是否可以为不同的用户推荐“量身定做”的推荐结果,可以将其分为基于大众行为的旅游推荐和个性化旅游推荐.基于大众行为的旅游推荐是指推荐结果没有因为个体差异而不同,例如推荐给用户热门景点.为提升用户体验,以精准化个性化服务为目标,提出基于个性化旅游推荐,即推荐系统根据用户个体差异进行针对性推荐.常见的个性化旅游推荐算法是基于协同过滤的旅游推荐[1]和基于内容的旅游推荐[2].

基于协同过滤的旅游推荐算法主要通过分析用户与用户之间的关系,将目标用户的相似用户的喜好推荐给目标用户.基于协同过滤的旅游推荐算法可以分为基于景点的协同过滤旅游推荐(item-based collaborative filtering recommendation)和基于用户的协同过滤旅游推荐(user-based collaborative filtering recommendation).基于景点的协同过滤旅游推荐是通过计算不同用户对不同景点的评分获得景点间的关系;基于用户的协同过滤旅游推荐[3]是根据用户对不同景点类型的兴趣特征,然后计算目标用户与其他用户的相似度,再采用K近邻算法发现与目标用户有类似喜好的相似用户,最后根据相似用户的兴趣喜好实现对目标用户进行推荐.

但是,基于协同过滤的旅游推荐会面临数据稀疏和冷启动两大难题,大大影响了推荐效果.而基于内容的旅游推荐更加专注于分析景点信息的特征从而挖掘有价值的信息,进而为用户推荐与其历史偏好相似的景点,并且基于内容的旅游推荐可以有效地避免协同过滤的冷启动问题.因此,融入基于内容的旅游推荐可以很好的弥补基于用户的协同过滤旅游推荐的缺陷.所以,本文采用混合旅游推荐,即基于协同过滤的旅游推荐和基于内容的旅游推荐相结合.文献[4]和文献[5]通过利用混合推荐方法提升个性化旅游推荐系统的推荐性能.

然而,传统的机器学习算法需要大量的已标记数据进行训练,从而得到性能良好的推荐模型.但是,实际情况是网络获取的大量用户生成数据都是缺少标记,而大量的人工标记耗费太多的时间.针对缺少已标记数据的问题,考虑利用与目标任务相关的其他领域的大量已标记数据,在已标记数据的辅助之下,对目标模型进行训练,从而得到性能良好的推荐模型.将其他领域的已标记数据记为辅助数据,目标领域的数据记为目标数据,因此引入域适应(Domain Adaptation)[6],主要解决当辅助域任务与目标域任务相同时,辅助数据与目标数据之间存在分布差异的问题.文献[7]为了解决标记数据稀少而导致的冷启动问题,提出一种跨域推荐方法来得到用户兴趣.

因此,本文提出一种基于域适应的旅游景点个性化推荐模型,它可以有效地解决已标记数据稀缺的问题,并且通过混合推荐更高效地挖掘用户的潜在兴趣,从而实现个性化推荐.首先,利用域适应解决标记数据稀少的问题;其次,采用混合旅游推荐方法更好地获取用户的潜在兴趣;最后实现基于域适应的旅游景点个性化推荐.本文通过引入全标记的辅助数据集,通过域适应方法解决目标数据集中已标记的景点数据稀少的问题,并且使用混合推荐算法,实现个性化旅游景点推荐.

1 基于域适应的旅游景点个性化推荐模型框图

为解决个性化旅游推荐的问题,当使用基于协同过滤的旅游推荐时,会由于数据稀疏和冷启动问题而影响整体推荐效果,所以,为了解决问题采用混合旅游推荐,在协同过滤的基础上融入了基于内容的旅游推荐.同时,又由于存在缺少已标记数据的问题,因此,本文提出的基于域适应的旅游景点个性化推荐模型,旨在利用已有的景点标记数据来辅助解决只有少量景点标记数据的旅游景点推荐问题.

图1给出基于域适应的旅游景点个性化推荐模型框图.首先,从社交媒体信息中获取用户上传相册作为目标数据集(其中少量照片带有标记),并且从搜索引擎上爬取认为有标记的图像作为辅助数据集.其次,对目标数据集和辅助数据集进行特征提取.在特征层面,由于目标数据集与辅助数据集之间存在分布差异,所以需要减小两者之间的分布差异;然后进行分类,进而得到用户喜好.最后,根据用户与用户之间的关系,推荐用户潜在感兴趣的景点,从而实现基于域适应的旅游景点个性化推荐.

图1 基于域适应的旅游景点个性化推荐模型

2 基于域适应的旅游景点推荐算法

基于域适应的旅游景点个性化推荐模型分为四部分.第一部分是对目标数据集和辅助数据集进行特征提取;第二部分是通过域适应方法来解决目标数据集特征(用户相册)和辅助数据集特征(景点类型数据集)之间的数据分布差异;第三部分是通过分类器对目标数据集(用户相册)进行分类,从而得到用户相册的景点类型;第四部分是在已经成功分类用户相册的基础上,使用基于用户的协同过滤推荐方法分析用户与用户之间的关系,从而实现个性化推荐.

2.1 特征提取

在旅游景点推荐系统中,提取出来的旅游景点图像特征的效果好坏会直接影响到景点类型分类的结果.随着特征提取技术的迅速发展,视觉词袋模型(Bag-of-Words,BoW)[8]是当前常用的图像表示方法.

视觉词袋模型的生成过程为:首先,利用SIFT算法[9]提取图像局部特征,得到图像的描述子;然后利用K-means算法[10]对图像描述子进行聚类生成视觉词典,K-means算法将描述子分为K个簇,簇内相似度较高,而簇间相似度较低,聚类中心有K个,视觉词典为K;最后,统计图像中所有视觉词汇的出现频率,进而将图像表示成一个K维数值向量.

2.2 域适应

由于目标数据集(用户相册数据集)U与辅助数据集(景点类型数据集)S之间存在分布差异,所以需要先减小两者之间的分布差异,从而实现辅助域数据与目标域数据同分布.针对数据分布差异的问题,文献[11]提出来一种最小化最大均值差异方法,它可以度量在再生希尔伯特空间中辅助域数据与目标域数据之间的距离.然后,通过最小化在再生希尔伯特空间中辅助域数据与目标域数据之间的距离,以此来减小辅助域数据与目标域数据之间的分布差异.公式可表示为:

(1)

因此,可以通过最小化DISTk(U,S),从而减小用户相册数据集与景点类型数据集之间的分布差异.

2.3 基于域适应的旅游景点推荐

在减少辅助域特征数据与目标域特征数据之间的分布差异基础上,利用已标记的辅助数据集(景点类型数据集)S来训练得到一个辅助分类器fa(x),目标是在辅助分类器fa(x)的基础上,训练得到一个可以准确分类目标数据集(用户相册数据集)U的分类器f(x).在辅助分类器fa(x)的基础上,引入Δf(x),则f(x)可表示为:

f(x)=fa(x)+Δf(x)=fa(x)+ωTφ(x)

(2)

由公式(2)可得目标函数:

(3)

s.t.ζi≥0

公式(3)的拉格朗日式可表示为:

(4)

式(4)中:拉格朗日乘子αi≥0,μi≥0.

αi=C-μi,∀i

(5)

由公式(2)和公式(5)可得:

f(x)=fa(x)+ωTφ(x)=

(6)

因此,由上式可得,

‖f(x)-fa(x)‖=‖Δf(x)‖2=

‖ω‖2

(7)

所以,由公式(7)可知,在再生希尔伯特空间中,辅助函数fa(x)与目标函数f(x)之间的距离可以通过正则式‖ω‖2来减小.同时,将公式(5)代入公式(4)可得目标函数的拉格朗日对偶式:

(8)

因为最小化Lp和最大化LD是一个对偶问题,所以可以通过求解最大化LD来解决最小化Lp.在公式(8)中,若λi<0,则辅助分类器fa(x)错误分类了xi,但是为了最大化LD,会得到一个更大的αi.所以,当辅助分类器fa(x)错误分类了xi,目标分类器f(x)通过得到一个较大的权重αi,以此输出不同于辅助分类器的结果;当辅助分类器fa(x)正确分类了xi,目标分类器f(x)通过得到一个较小甚至为零的权重αi,且分类结果与辅助分类器一致.

因此,可以用已经训练好的目标分类器f(x)对目标数据集(用户相册数据集)进行分类,从而得到用户相册的景点类型yi.在得到用户相册的不同景点类型基础之上,通过基于用户的协同过滤推荐方法来实现旅游景点个性化推荐.

2.4 个性化景点推荐

首先,计算目标用户与其他用户的相似度,本文采用余弦相似度计算两个用户之间的相似度.设N(u)表示用户u喜欢的景点类型的集合,N(v)表示用户v喜欢的景点类型的集合,则用户u和用户v之间的余弦相似度可表示为:

(9)

假设,共有n个用户,则可以构建一个相似度矩阵M∈Rn×n,其中sim(u,v)越大,表示用户u和用户v之间的相似度越高.因此,通过相似度矩阵,可以得到与目标用户u最相似的K个用户,表示为集合T(u,K),然后将集合T中用户喜爱的景点进行分类,并去除用户u已经喜爱的景点类型.对于每个候选景点类型yi,用户u对其的感兴趣程度用如下公式计算:

(10)

式(10)中:rvi表示用户v对景点类型yi的喜好程度,在本文中rvi都为1;N(i)表示喜爱景点类型yi的所有用户集合.

最后,根据用户u对候选景点类型yi的感兴趣程度来对用户u实现景点推荐.

3 实验测试与分析

3.1 实验数据说明

本实验目标数据集使用Flickr旅游数据集[12],目标数据集由4685名用户提供的206776张图片组成,一共涵盖九座城市,分别是巴塞罗那、柏林、芝加哥、伦敦、洛杉矶、纽约、巴黎、罗马和旧金山.辅助数据集从网络爬取4000张八类不同的景点类型,分别是自然风光、历史古迹、艺术文化、购物、运动、娱乐、饮食和夜景,其中每一种景点类型有500张.

3.2 对比算法

(1)支持向量机算法[13](Support Vector Machine,SVM)通过全标记训练数据集训练得到的分类器对只有少量标记的测试集进行分类.

(2)跨域支持向量机算法[14](Cross-Domain SVM,CDSVM)利用目标数据集对辅助数据集产生新的权重,然后使用新权重的辅助数据集来训练得到新的分类器.

(3)多核学习[15](Multiple Kernel Learning,MKL)学习一个由多个核函数线性组合的核函数,然后对目标数据集进行分类.

3.3 评价指标

3.3.1分类评价指标

采用查准率(P)、查全率(R)[16]作为景点类型分类实验的评价准则.

(1)查准率

(11)

(2)查全率

(12)

式(11)和式(12)中:TP表示正样本被预测为正;FP表示负样本被预测为正;FN表示正样本被预测为负.

3.3.2推荐评价指标

采用准确率(Precision)、召回率(Recall)[16]作为实验的评价准则,比较本文提出的推荐模型与对比算法的推荐效果.准确率表示用户对推荐景点感兴趣的概率,召回率表示用户感兴趣景点被推荐概率.

(1)准确率

(13)

(2)召回率

(14)

式(13)和式(14)中:Pr表示推荐给用户的景点,Pv表示用户感兴趣的景点.

3.4 实验条件

本实验在联想E4430(Intel(R) Core(TM) i5-4210M CPU @2.6GHz,内存为16G)64位Windows10旗舰版操作系统上实现.

3.5 实验过程

基于域适应的旅游景点个性化推荐算法的实验过程如下:

(1)提取景点类型相册和用户相册的视觉词袋模型特征.采用SIFT算法得到图像的描述子,再对描述子进行K-means聚类生成视觉词典,本实验的K值选定为1000.

(2)减小数据集特征之间的分布差异.通过最小化最大均值差异的方法来实现景点类型相册和用户相册同分布.

(3)采用分类器分类得到用户相册景点类型.在减小景点类型相册和用户相册之间的分布差异的基础上,分类器分类得到用户相册的景点类型.

(4)得到用户感兴趣的景点类型.根据分类得到的用户相册的景点类型,采用基于用户的协同过滤推荐方法得到用户感兴趣的景点类型,进而对用户进行旅游景点推荐.

3.6 实验结果与分析

3.6.1基于域适应的旅游景点类型分类算法

首先,以Flickr用户相册做为目标数据集,景点类型相册做为辅助数据集,采用交叉验证的方式,随机选取80%数据作为训练数据,20%数据作为测试数据.然后分别使用Domain Adaptation算法和对比算法对用户相册进行景点类型分类,共进行5次交叉验证实验,取5次实验的查准率和查全率的平均值做为结果,并计算每种分类算法的查全率和查准率的平均值,景点类型分类结果如表1所示.

表1 景点类型分类结果

3.6.2 个性化推荐算法评估

在得到用户相册的景点类型基础上,分别在最近邻用户个数为10、20、40、60、80、100的情况下将基于用户的协同过滤算法与本文的混合推荐算法进行对比,得到推荐结果如图2所示.

图2 评价指标对比图

在图2中,CF为基于用户的协同过滤推荐算法,H为本文采用的混合推荐算法.由图2可知,随着最近邻用户个数的增加,准确率和召回率也在增加,当近邻用户个数达到80时,准确率和召回率趋于平稳.并且,实验表明,本文提出的基于域适应的推荐模型在推荐准确率与召回率方面优于对比方法,提升了推荐性能.

3.6.3 视觉示例

图3展示了基于域适应的旅游景点推荐的视觉示例.通过分析用户上传相册和用户与用户之间的关系,得到用户的兴趣景点类型,然后根据用户的兴趣景点类型向用户进行景点推荐.

图3 基于域适应的旅游景点推荐的视觉示例

4 结论

利用社交网络中海量的数据信息,以实现为用户提供更加精确的旅游景点推荐,本文提出了基于域适应的旅游景点个性化推荐模型,首先通过域适应方法降低了目标数据集(用户相册数据集)与辅助数据集(景点类型数据集)之间存在分布差异,分类得到每个用户的兴趣景点类型;然后根据用户的不同偏好,采用基于用户的协同过滤推荐算法对目标用户实现个性化景点推荐.实验表明,本文提出的基于域适应的旅游景点推荐模型提升了个性化推荐性能.

猜你喜欢
旅游景点分类器景点
贫民窟也能成旅游景点?
美人鱼
打卡名校景点——那些必去朝圣的大学景点
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
英格兰十大怪异景点
没有景点 只是生活
景点个股表现
基于层次化分类器的遥感图像飞机目标检测
一种基于置换的组合分类器剪枝方法