一种基于位置社交网络的个性化线路推荐系统和方法与流程

文档序号:17990902发布日期:2019-06-22 00:47阅读:255来源:国知局
一种基于位置社交网络的个性化线路推荐系统和方法与流程

本发明属于信息技术领域,具体涉及一种信息推荐系统和方法。



背景技术:

随着基于位置的社交网络(如yelp和foursquare)的兴起和发展,用户可以通过智能终端对他们访问过的餐馆、电影院、公园等进行签到和评分。其他用户可以根据这些评分和评论信息来选择感兴趣的地点。这种大规模的社交媒体信息包含丰富的元数据信息,如兴趣点特征标签、时间信息和地理标签信息等。这些上下文数据虽然粗糙且繁杂,但对于多媒体应用十分有用,可以用于标签定义,搜索,广告推送和推荐等。在众多应用中,线路推荐因其与日常生活的紧密联系和重要性受到广泛关注。一般而言,典型的旅行推荐系统由两个方面组成:通用推荐和个性化推荐。对于通用推荐,它包含了用户在进行旅行规划时给出的目的地旅行建议信息,回答如“我想去北京旅行,必去的旅游景点有哪些?”这样的普遍问题。另一方面,个性化推荐考虑用户的个人偏好,匹配和推荐更适宜的旅行线路信息。个性化线路推荐挖掘用户的个人偏好,考虑用户在时间和花费上的约束条件,为用户规划一条适宜且满足个人约束的高满意度旅行线路。

现有的线路推荐主要面临如下几个挑战:

(1).个性化。不同的用户有不同的个人偏好,如兴趣点的类别、距离以及适宜的游览时间等都会影响用户的选择。我们可以通过用户的历史签到记录以及其朋友和相似用户来推测目标用户对未访问过的兴趣点的喜好程度。

(2).线路的制定。传统的兴趣点推荐会为用户推荐高评分的单个兴趣点,而这些高评分的兴趣点并不一定能组成一条满足用户时间和花费开销限制的旅行线路。线路规划需最大化用户感兴趣的兴趣点的数量,同时要尽可能满足用户在时间和花费上的约束。

(3).受限的时间和花费开销。用户到达一个新的区域,想访问几个感兴趣的位置却没有充足的旅行时间,并想尽量减少开销,个性化线路推荐就是要在这些限制条件下为用户寻找一条高满意度的行走线路。

(4).巨量计算。用户感兴趣的兴趣点集合可以组成多条不同顺序的线路,假如要在150个兴趣点中寻找一条由5个兴趣点组成的线路,可行的结果数量会达到十亿级别,但其中很多线路并不符合用户偏好或不能满足限制条件,所以我们需要一种剪枝策略来减少计算量,以提升算法的运行效率。

所以,线路规划问题不仅需要筛选出满足用户限制的兴趣点集合,还要按照一定的组合顺序来达到最佳的用户满意度。

ravi等人(ravil,vairavasundarams.acollaborativelocationbasedtravelrecommendationsystemthroughenhancedratingpredictionforthegroupofusers[j].computintellneurosci,2016,2016(2):1291358.)分析了旅游包的特征,考虑用户的个人偏好、区域性和适宜季节进行个性化的旅行包推荐。wang等人(wangx,leckiec,chanj,etal.improvingpersonalizedtriprecommendationbyavoidingcrowds[j],2016:25-34.)设计了一种贝叶斯学习模型,通过从带地理信息的照片中提取旅行线路进行个性化的线路推荐。上述的研究工作均使用概率模型进行旅行包或者线路的推荐,他们都没有考虑用户的满意度和其他的用户个人限制条件。一些系统中考虑用户的个人偏好以便为用户提供个性化的建议。旅行社使用personaltour推荐系统(lorenzif,lohs,abelm.personaltour:arecommendersystemfortravelpackages[c].ieee/wic/acminternationalconferenceonwebintelligenceandintelligentagenttechnology,2011:333-336.),根据用户的偏好寻找合适的旅行套餐,然后以建议清单的形式发送给用户。随后用户可以在享受各种服务项目中进行评价。koceski等人(koceskis,petrevskab.empiricalevidenceofcontributiontoe-tourismbyapplicationofpersonalizedtourismrecommendationsystem[j].annalsofthealexandruioancuzauniversity-economics,2012,59(1):363-374.)提出的mytravelpal在用户选择旅行区域后,根据用户的偏好列出旅游景点并提供个性化建议服务。

vansteenwegen等人(xuz,chenl,cheng.topicbasedcontext-awaretravelrecommendationmethodexploitinggeotaggedphotos[j].neurocomputing,2015,155(c):99-107.)设计了一个citytripplanner网站,在获取用户个人偏好和限制条件后进行线路规划。lu等人(marlowna.anormallimittheoremforpowersumsofindependentrandomvariables[j].belllabstechnicaljournal,2013,46(9):2081-2089.)提出的个性化旅行推荐(personalizedtriprecommendation,ptr)通过对用户的签到行为进行挖掘,同时考虑用户的个人旅行限制条件下进行个性化的推荐。yoon等人(suny,fanh,bakillahm,etal.road-basedtravelrecommendationusinggeo-taggedimages[j].computersenvironment&urbansystems,2015,53:110-122.)利用当地居民和旅行达人的gps轨迹进行旅行线路的发掘。

虽然目前已经出现了多种推荐方法,但是目前线路推荐方法的服务器离线挖掘兴趣点及停留时间,类型,花费等信息与用户的意愿程度匹配程度不是特别高,有待于进一步提升,而且还存在时间开销比较大的问题。



技术实现要素:

本发明为了解决目前线路推荐方法的服务器离线挖掘兴趣点及停留时间、花费等信息与用户的意愿程度匹配程度有待于进一步提升的问题,以及推荐的路线存在出行效率低的问题。

一种基于位置社交网络的个性化线路推荐系统,包括离线兴趣点规划单元和在线线路推荐单元;

所述离线数据规划单元包括:

离线兴趣点规划模块,根据用户历史签到数据获取兴趣点信息,兴趣点信息包括:1.兴趣点的花费、种类以及停留时间;2.用户的历史签到记录;3.从lbsn中获取的用户间的社交网络关系;并根据兴趣点信息进行聚类,规划兴趣点的停留时间、旅游开销和类型信息;

兴趣点评估模块,根据获取的兴趣点信息构建基于用户和时间特性的兴趣点评分模型,对所有的候选兴趣点进行评分;

所述在线线路推荐单元包括:

规划请求模块,用于获取用户输入的时间约束、花费预算、个人偏好信息,并根据信息生成线路规划请求;

出行信息获取模块,用于获取起点信息、终点信息和出发时间信息;

线路规划模块,根据用户的兴趣点信息,以及户信息模块、起始地信息和出发时间信息规划线路并推荐给用户。

基于位置社交网络的个性化线路推荐方法,包括以下步骤:

用户发送线路规划请求的过程;

获取社交网络关系并进行离线兴趣点规划的过程;

构建兴趣点评分模型的过程;

进行线路规划,向用户推荐满足要求的最佳线路的过程。

本发明的有益实施效果为:

本发明的服务器离线挖掘兴趣点及停留时间、花费等信息与用户的意愿程度匹配程度更高,个性化线路推荐方法会更加匹配用户的意愿,所以本发明的方法能保证寻找到最高满意度的线路。同时本发明推荐的路线大大减少了出行线路的无效距离,从而极大的提高了出行的效率。所以本发明的对应的se方法在推荐质量和运行效率上均为最优。

附图说明

图1为用户-兴趣点签到模型示意图;其中user表示用户,poi表示兴趣点,map表示地图,check-inactivity表示签到;

图2(a)为凤凰城(px)对应的用户满意度比较图,图2(b)为纽约(ny)对应的用户满意度比较图,图2(c)为洛杉矶(la)对应的用户满意度比较图;

图3(a)为凤凰城(px)对应的每个用户的平均运行时间比较图,图3(b)为纽约(ny)对应的每个用户的平均运行时间比较图,图3(c)为洛杉矶(la)对应的每个用户的平均运行时间比较图;

图4(a)为se对应的路线推荐图,图4(b)为greedy对应的路线推荐图。

具体实施方式

具体实施方式一:

一种基于位置社交网络的个性化线路推荐系统,包括离线兴趣点规划单元和在线线路推荐单元;

所述离线数据规划单元包括:

离线兴趣点规划模块,根据用户历史签到数据获取兴趣点信息,兴趣点信息包括:

1.兴趣点的花费、种类以及停留时间等;2.用户的历史签到记录;3.从lbsn(location-basedsocialnetwork,基于位置的社会网络)中获取的用户间的社交网络关系;并根据兴趣点信息进行聚类,规划兴趣点的停留时间、旅游开销和类型等信息;

兴趣点评估模块,根据获取的兴趣点信息构建基于用户和时间特性的兴趣点评分模型,对所有的候选兴趣点进行评分;

所述在线线路推荐单元包括:

规划请求模块,用于获取用户输入的时间约束、花费预算、个人偏好等信息,并根据信息生成线路规划请求;

出行信息获取模块,用于获取起点信息(起始地信息)、终点信息和出发时间信息,可以是由携带的智能终端自动获取,也可以是根据用户输入的信息获取;

线路规划模块,根据用户的兴趣点信息,以及户信息模块、起始地信息和出发时间信息规划线路并推荐给用户。为减少线路搜索过程的时间开销,本发明设计了两种剪枝策略提升路线规划算法的运行效率,最终将最高满意度的线路推荐给用户。

具体实施方式二:

基于位置社交网络的个性化线路推荐方法,包括以下步骤:

用户通过浏览器向服务器发送线路规划请求的过程;

服务器获取社交网络关系并进行离线兴趣点规划的过程;

服务器构建兴趣点评分模型的过程;

服务器进行线路规划,向用户推荐满足要求的最佳线路的过程。

具体实施方式三:

本实施方式所述用户通过浏览器向服务器发送线路规划请求的过程,包括以下步骤:

用户通过手机浏览器输入旅行的时间约束,花费预算,个人偏好类型(例如公园,购物中心,博物馆,餐饮,宾馆,图书馆等)等信息;规划请求模块获取用户输入的时间约束、花费预算、个人偏好等信息,形成线路规划请求q,并发送给线路规划模块。所述的线路规划请求q中含有的信息包括(id,time,cost,start,end,type),其中id为线路规划请求的id,time为时间约束,cost为花费预算,start为起点信息,end为终点信息,type为个人偏好类型。

其他步骤与具体实施方式二相同。

具体实施方式四:

用户的兴趣点信息是历史签到数据,即,用户的发生社交行为时就已经对应有相应的数据存储过数据。在一些实施例中,可以是当线路规划模块接收到线路规划请求q后,再启动离线兴趣点规划模块获取社交网络关系并进行离线兴趣点规划。在一些实施例中,也可以是用户在进行社交时存储相应的数据时就启动离线兴趣点规划模块获取社交网络关系并进行离线兴趣点规划,随着用户社交行为的发生,离线兴趣点规划模块定期规划并更新,当线路规划模块接收到线路规划请求q后,直接调用离线兴趣点规划模块获取社交网络关系并进行离线兴趣点规划的结果,这种方式会利用用户并未发出线路规划请求(相当于空闲时间)时进行规划,当用户发出线路规划请求后,直接调用结果,会节省用户在提交请求后得到规划结果的反馈时间,减少等待时间,提高结果反馈效率,从而提高用户体验和满意度。

本实施方式所述获取社交网络关系并进行离线兴趣点规划的过程,包括以下步骤:

离线兴趣点规划模块根据用户历史签到数据获取兴趣点信息,兴趣点信息包括:1.兴趣点的花费、种类以及停留时间等;2.用户的历史签到记录;3.从lbsn中获取的用户间的社交网络关系;lbsn中包含用户和兴趣点两类结点,如图1所示,u1~u4代表用户,l1~l7代表兴趣点;用户指向兴趣点的有向边代表用户在该位置的签到行为;lbsn中主要包含:用户间的友邻关系,用户与兴趣点的签到关系,兴趣点间的地理位置关系;

lbsn中的兴趣点推荐旨在为用户推荐一些新的感兴趣的位置,为用户提供可信可靠和高满意度的旅游信息;以离线方式对用户签到信息和历史轨迹进行数据预处理,采用基于密度的聚类算法dbscan算法对轨迹中的签到次数进行聚类,过滤掉签到次数比较少的地点,将地理位置邻近的地点聚类为一个兴趣点,同时根据轨迹中的到达时间和离开时间等信息规划兴趣点的停留时间,旅游开销和兴趣点类型等信息,为兴趣点推荐和线路推荐提供数据支持。

其他步骤与具体实施方式二或三相同。

具体实施方式五:

本发明的推荐方法中关于兴趣点评分包括两个方面:

(1)基于用户的兴趣点评分(us:user-basedscore):度量用户对目标兴趣点的偏好程度;

(2)基于时间特性的兴趣点评分(ts:temporal-basedscore):评估当前兴趣点在特定时间点的适宜访问程度;

将这两种评分融合为一个兴趣点评分体系。

本实施方式所述构建兴趣点评分模型的过程,包括以下步骤:

兴趣点评估模块根据获取的兴趣点信息构建基于用户的兴趣点评分模型和时间特性的兴趣点评分模型;

所述基于用户的兴趣点评分模型:

使用ranking-by-preference(rbp)策略评估用户的个人偏好;使用基于朋友的协同过滤和基于相似用户的协同过滤来推测目标用户对当前兴趣点的偏好程度;

ranking-by-preference策略:兴趣点a所属的类别cat(a),用户的偏好与兴趣点的类别有较大联系;例如,若用户频繁访问国家公园类别的兴趣点,可以合理推测该用户喜欢参与户外运动,可以向用户推荐centralpark和libertystatepark这样适合户外运动的兴趣点;对于用户u,统计每一种兴趣点类别c(泛指的一种兴趣点类别)用户签到过的兴趣点个数,计算用户对该兴趣点类别的偏好程度,记为rbp兴趣点类别的偏好程度ps(u,c):

兴趣点类别可以参考《地理信息兴趣点分类与编码》,例如旅游景点类的兴趣点类别集合c={自然景观,人文景观,公园广场,主题乐园}。本发明对用户历史签到数据进行预处理,根据签到地点的经纬度和兴趣点分类编码规范获取兴趣点的类别,因此签到历史签到数据集d的格式为【用户uid,兴趣点pid,签到时间time,类别c】。根据用户历史签到数据,统计用户u在类别为c的兴趣点签到的次数,记为countu,c;对兴趣点类别进行聚类,统计出签到次数最多的兴趣点类别及签到次数,记为max-check-in;因此可以用countu,c与max-check-in的比值衡量用户对某类别兴趣点的偏好程度ps(u,c);

我们把用户对所有兴趣点类别c1~c|c|的偏好值用如下向量表示:

pv(u)=<ps(u,c1),ps(u,c2),...,ps(u,c|c|)>

基于用户的兴趣点评分预测考虑两个方面:用户的偏好和用户朋友的偏好。用户的偏好的评分记为usrbp(u,a),评分使用上述的用户对该兴趣点所属类别的偏好,即usrbp(u,a)=ps(u,a.cat),其中u代表用户,a代表某兴趣点,a.cat表示兴趣点a的类别;考虑社交关系,用户对某兴趣点的喜好受朋友的影响,因此本发明采用基于朋友关系的协同过滤(fcf:friend-basedcf)方法进行过滤,基本思想是用户u对兴趣点a的评分usfcf(u,a)是其所有朋友v对兴趣点a评分的均值,具体计算方式如下:

fu表示用户a的朋友集合,|fu|表示朋友数量。

协同过滤是推荐系统最古老的方法,基于用户的协同过滤采用最近邻技术,利用用户的历史信息计算用户之间的相似度,然后利用目标用户的最近邻用户对兴趣点的评分预测目标用户对特定兴趣点的评分,最后根据这个评分对目标用户进行推荐。本发明将基于用户相似性的评分方法记为usscf;根据用户的偏好向量,用余弦相似度方法计算用户间的相似性:

上式计算用户u和v对应的兴趣点类别偏好向量的相似度,分子是两个偏好向量的点积,分母是两个偏好向量的长度。

为减少计算开销,为用户u选择与其最相似的前k个用户为参考,记为相似用户集合su;基于用户相似性的协同过滤评分usscf如下:

本发明考虑的基于用户的兴趣点评分机制包含的两种评分,基于朋友关系的评分usfcf和基于用户相似性的评分usscf加权融合成一个评分us(u,a):

us(u,a)=w*usscf(u,a)+(1-w)*usfcf(u,a)

其中,w为融合权重;

两种评分方法融合成一个分值,表示用户偏好和朋友关系对评分的影响。

所述基于时间特性的兴趣点评分模型:

从实际的旅行经验可知,不同的兴趣点有不同的适宜访问时间;例如,纽约时代广场更适合晚上去参观;这样,本实施方式在一天中定义了24个基于时间的兴趣点评分(ts:temporal-basedscore),记为ts(a,t),考虑如下两种评分机制:

1.什么时间段更适宜访问该兴趣点;对于特定兴趣点,统计各个时间段内的签到次数,以确定该兴趣点的时间段评分tsnbt(a,t),该策略记为normalize-by-time;

其中,a表示某兴趣点,t表示某时间段,counta,t表示在时间段t访问兴趣点a的人数;分母的含义是比较各个时间段内兴趣点a的签到次数,选择签到a最多次数的时间段对时间段t'的签到次数进行归一化处理,得到兴趣点a在时间段t的评分;

2.当前时间段哪个兴趣点最受欢迎;对于当前时间段,用访问兴趣点a的人数与该时间段内其它兴趣点的最大访问次数的比值确定兴趣点a的访问评分tsnba(a,t),该策略称为normalized-by-attraction(nba)

最后将tsnbt(a,t)和tsnba(a,t)融合为一个基于时间特性的兴趣点评分ts(a,t):

评分融合:

在计算出基于用户的兴趣点评分和基于时间特性的兴趣点评分后,将二者融合为一个最终的兴趣点评分as(u,a,t),以便挑选既能满足用户偏好,又时间适宜的兴趣点,

as(u,a,t)=α*ts(a,t)+(1-α)*us(u,a)

α为均衡权重,用来平衡基于用户的兴趣点评分和基于时间特性的兴趣点评分。

兴趣点评分as(u,a,t)即为基于用户的兴趣点评分模型和时间特性的兴趣点评分模型,利用as(u,a,t)确定的具体值即为对候选兴趣点进行评分。

其他步骤与具体实施方式二至四之一相同。

具体实施方式六:

本实施方式所述进行线路规划的过程,包括以下步骤:

线路规划的基本思想就是在当前线路中逐个添加适宜的兴趣点,最终形成一条既能满足用户时间和花费限制,又用户满意度最高的线路;本发明的基于状态扩展的线路挖掘算法,进行线路的合理规划;

兴趣点分布图:用有向图g=(v,e)描述兴趣点的分布,v={1,2….,n}是兴趣点集合;每个兴趣点i∈v有如下的属性:用户在该兴趣点的平均停留时间mi;该兴趣点所需的平均花费ci;用户u对该兴趣点的评分as(u,a,t),为了后续表示方便记为ru,i;每条边ei,j∈e代表从当前兴趣点i到下一个兴趣点j的路径,用户从i到j所需的时间ti,j与ei,j的长度有关;

旅行线路:假设用户的起点为x,终点为y,出发时间为t0,则可以将行走线路描述为x→…i…→y,且初始化设定mx=my=0,即x和y仅标记起点和终点,停留时间为0;除x、y以外的点为访问的兴趣点;对于特定用户u,该路线p的总评分f(p,u)=∑i∈pru,i;

用户的个人限制条件:

时间和花费限制:用户要在bt时间内行走完整条线路,bt不仅包含在兴趣点的停留时间,还包括从一个兴趣点到另一个兴趣点路途中所花费的时间,且总花费不超过bc;

状态扩展:

采用一种基于状态扩展的混合线路挖掘算法寻找最佳旅行线路;该方法将每步产生的线路看作一个状态,假设当前状态最后访问的兴趣点为i,则当前路线为x→…i→y;每一个状态都标记为s=(sk,st,sc,sh,sρ,i);sk表示已访问过的兴趣点集合;st是开始访问i的时间,即πi;sc是当前线路的总花费;sh是访问过的兴趣点的总评分,即f(k,u);sρ是当前路线x→…→i,i是当前状态下的最后一个兴趣点;初始状态下,只有状态即路线x→y;

线路规划的基本思想是逐个的向线路中添加兴趣点来扩展当前路线;假设当前线路p中i是最后一个兴趣点,且当前线路p满足用户的时间和花费限制,πi是开始访问i的时间;下一步向当前线路中添加一个新兴趣点j,使得线路成为p=x→…i,j→y,且访问过的兴趣点数量从k-1变为k,状态由s变为s′,则各状态参数变化如下:

本发明设计函数sat(i,j,πi,ci)来检验线路扩充兴趣点j后,新线路是否依然满足用户约束条件;函数中的参数i表示当前线路中的最后一个兴趣点,j表示将加入到线路中的兴趣点,πi是开始访问兴趣点i的时间,ci表示访问兴趣点i的花费;具体检验方法是:根据用户的时间和花费限制,如果从当前线路的最后一个兴趣点i开始游览,停留后转移到兴趣点j,游览j后再转移到终点y,整个过程的时间和花费不超过用户的限制,则函数返回true,即判断下面不等式是否成立:如果πi+mi+ti,j+mj+tj,y≤t0+bt且ci+cj≤bc,函数sat(i,j,πi,ci)返回true;

相似路线比较:

状态扩展过程中可能会存在一种情况:几种不同状态的s拥有相同的sk,即访问过的兴趣点集合相同,且每一种状态的最后访问兴趣点均为i,这几种线路称为相似线路,相似线路并不需要全部保留,因为其中的有些状态无法扩展成一条最佳线路;

如果满足下列条件,称状态s优于s′:

(si=si′)∧(sk=sk′)∧(st≤st′)∧(sc≤sc′)∧(sh≥s'h)

∧为合取运算,表示并且;

将上述状态的比较设计成函数check(s,s′),比较两种状态的优劣性,如果check(s,s′)返回true,表示状态s优于状态s′,即状态s能比s′早到达终点,且花费更少。

状态扩展算法伪代码如下:

初始状态下,s={s0},算法通过加入新的兴趣点来扩展s中的所有状态,算法中的两个for循环扩展s中的所有状态,只有满足限制条件的状态会被保留。与此同时,9-10行代码进行同一步中所有状态的优劣比较,只有较优的状态得以保留。12-13行代码会保存高满意度的最佳线路。状态扩展算法的时间复杂度为o(n22n),为指数级别,但仍比最简单的暴力搜索方法的o(n!)快。

状态扩展算法的时间复杂度为指数级别。为了提升算法的运行效率,将条件sk=sk′替换为|sk|=|sk′|,即两种状态下访问过的兴趣点个数相同,则两种状态优劣性比较公式变为:

(si=si′)∧(|sk|=|sk′|)∧(st≤st′)∧(sc≤sc′)∧(sh≥sh′)

状态s和s′均抵达兴趣点i,但状态s所花的时间和花费更少,且用户满意度更高。并且更改后,状态扩展算法集合s中的状态数量会显著减少,算法时间复杂度由o(n22n)变为o(cn2),有效提升了算法的运行效率。

其他步骤与具体实施方式二至五之一相同。

实施例:

下面通过实施例和附图,对本发明做详细说明。

实施例选取yelp和foursquare的真实数据集。yelp的数据集包含45981个用户,229906条1到5星不等的评分信息以及11537个兴趣点。foursquare数据集有20784个用户,153477条评分信息以及7711个兴趣点。

为了评估本发明的tripplanner推荐系性能,初始化时设定用户的总旅行时间为440分钟,总花费为60美元。出发地点为一个随机的位置,出发时间为早上8点,用户从一个兴趣点到下一个兴趣点所需的时间用谷歌地图的驾驶模式来模拟测定。实施环境为一台2.5ghzcpu和8g内存,运行windows系统的电脑。

测试不同线路规划方法的运行效率和推荐线路用户满意度的差异。主要测试三个城市,yelp数据集中凤凰城(px),foursquare数据集中的纽约(ny)、foursquare数据集中的洛杉矶(la)。将三个城市的centralcity,centralpark和hollyood作为起始点和终点。对于每个城市,随机选择100个用户进行测试,对每个用户,选择他们各自评分最高的150个兴趣点作为候选兴趣点集合进行线路推荐。尽管有上述限制,但在150个兴趣点中选出由5个兴趣点组成的线路,可行解数量依然会达到十亿级别,显然无法使用暴力搜索的方式进行线路规划。本发明比较下述4种方法的运行时间和推荐结果的用户满意度f(p,u)。

greedy算法(记为greedy):贪心算法选择评分最高的候选兴趣点加入线路。

dynamicprogramming(记为dp):一种动态线路规划算法。

状态扩展算法(stateexpansion,记为se):本发明中的状态扩展算法。

se-sr表示有状态扩展(state-relaxing)的状态扩展算法。se算法保证能寻找到一条最高满意度的推荐线路,而se-sr无法保证。

图2(a)至图2(c)为用户满意度比较图,图2(a)为凤凰城(px)对应的用户满意度比较图,图2(b)为纽约(ny)对应的用户满意度比较图,图2(c)为洛杉矶(la)对应的用户满意度比较图;图中y轴表示所有测试用户的平均满意度,x轴表示时间限制bt。推荐线路中兴趣点总个数随bt变化而变化,最少为3个,最多为7个。从图中可以看出,随着bt的增加,用户满意度逐渐上升,因为bt增加,用户有时间去访问更多的兴趣点。se算法的性能最佳,因为其能保证寻找到最高满意度的推荐线路。se-sr算法距最佳结果仅有微小差距。贪心算法因为其搜索策略简单,整体表现中规中矩。而dp算法在所有测试中表现不佳。

图3(a)至图3(c)为每个用户的平均运行时间比较图,图3(a)为凤凰城(px)对应的每个用户的平均运行时间比较图,图3(b)为纽约(ny)对应的每个用户的平均运行时间比较图,图3(c)为洛杉矶(la)对应的每个用户的平均运行时间比较图;图中y轴为运行时间(秒),x轴为时间限制bt(小时)。从图中可以看出,贪心算法运行最快,且基本不随bt变化而变化。

随机选取一个用户,该用户bt为8小时,分别使用se和greedy在洛杉矶进行线路推荐。图4真实推荐案例比较图,图4(a)为se对应的路线推荐图,图4(b)为greedy对应的路线推荐图。兴趣点1既作为起点也作为终点,则推荐的线路顺序为1→2→…→1。由于se和greedy均考虑用户的个人偏好,所以其候选兴趣点集合中有较多相同的兴趣点(如2,3,6,7)。从图4(b)中可以看出,greedy推荐的线路为1→2→3→6→1,但1,3和2,6的距离较远,用户会在路途中花费较多的时间。然而,se算法很好的避免了这个问题,其推荐的线路为圆形,减少了在路途中所花费的时间,相较greedy的线路,用户多访问了一个兴趣点。

实施效果:本发明的对应的se方法能保证寻找到最高满意度的线路,se-sr有较高的运行效率,但用户满意度也略有损失。所以本发明的对应的se方法在推荐质量和运行效率上均为最优。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1