更全的杂志信息网

基于主题序列模式的旅游产品推荐引擎

更新时间:2009-03-28

近年来,推荐系统领域的研究工作发展迅猛,各种各样的推荐系统亦随之在电子商务、社交网站、电子旅游、互联网广告等大量领域得到了广泛应用,并展示出优越的效果与前景[1-3].其中,随着越来越多的在线旅游网站的兴起(如Expedia,Travelzoo、途牛等)能刻画用户旅游兴趣偏好的在线数据越来越丰富,使得旅游产品推荐成为推荐系统研究领域的热门议题之一[4-6].

目前,针对传统商品的推荐已有许多成熟的推荐算法得到广泛应用,如协同过滤算法[7]、基于内容的推荐算法[8]和混合型推荐算法[9]等.然而大量已有研究表明[4-6,10-12]:旅游产品推荐与电影、商品等传统推荐有显著差异.1)用户通常不会频繁或大量购买旅游产品,这导致“用户-产品”关联矩阵极为稀疏;2)旅游产品描述信息维度多样复杂,微小的参数变化会导致完全不同的旅游产品,如景点参观线路和日程、酒店和交通工具选择等因素的变化,然而这类有内在关联的不同旅游产品却指向用户共同的兴趣偏好;3)用户往往不会长期关注旅游产品,即在电子旅游网站上留下访问记录,而往往是有了旅游目标和安排之后,才开始浏览旅游产品,这导致在线旅游数据中存在大量冷启动用户.因此,针对传统商品的推荐算法很难直接应用到旅游推荐领域.

基于上述原因,本文首先从旅游数据的特征入手,对旅游数据的稀疏性和冷启动问题进行了深入的分析,并从日志会话的相似性角度进行了论证,以启发研究基于主题序列模式的旅游产品推荐引擎.具体而言,本文首先提出了面向旅游产品的推荐引擎(sequential recommendation engine for travel products, SECT),该引擎通过用户实时点击流可以捕捉用户的兴趣偏好,并实时产生旅游产品推荐列表.其次,本文分别从旅游页面的主题挖掘、访问序列的模式挖掘和模式库的存储、匹配计算等方面对SECT的原理进行了详细的说明.为了提升在线匹配计算的效率,本文设计一种新的多叉树数据结构PSC-tree用于存储历史模式库,并与在线计算模块无缝衔接.最后,本文选取了常用的基准推荐算法,在真实的旅游数据集上进行了实验对比,并从多个评价指标上对实验结果进行分析.实验结果表明:SECT推荐引擎不但性能上比传统推荐算法更有优势,更值得注意的是SECT在对冷启动用户和长尾物品推荐方面也具有显著的优势.

由表3可知,在4、5、6月通过地表撒播方式播种的转基因大豆SHZD32-01、受体材料中豆32、主栽品种皖豆28的覆盖度在3次调查中均无显著差异。在常规方式播种下,4月播种的转基因大豆SHZD32-01的覆盖度在5月的调查中显著低于中豆32、皖豆28,但在后2次的调查中三者间差异不显著;5月播种的转基因大豆SHZD32-01和皖豆28的覆盖度在3次调查中均显著低于中豆32;6月播种的3种大豆在3次调查中的覆盖度均极低,大多低于5%,仅在7月第1次调查中转基因大豆 SHZD32-01 和皖豆28的覆盖度显著低于中豆32,但在后2次调查中三者间差异不显著。7月播种的大豆未出苗,覆盖度为0。

1 相关工作

本节主要回顾一些与本文相关的研究工作,这些工作主要围绕旅游推荐和基于序列模式的推荐展开.

1) 旅游推荐.从应用场景角度看,旅游推荐大致包含2类:①兴趣点或路径推荐;②旅游产品或套餐推荐.第1类应用场景吸引了大部分研究者的目光,试图融合移动终端数据与地理信息数据为用户推荐兴趣点(points of interest, POI)[13-15]或为旅游者动态推荐旅游路径[16-18].如文献[15]从用户大量的GPS轨迹数据中挖掘兴趣点和旅行线路序列,通过协同过滤方法为用户推荐景点和线路;文献[18]从社交网络中的旅游图片信息抽取用户的特征并根据旅游地标和路径信息挖掘出频繁模式,最终构建贝叶斯学习模型对用户线路进行个性化推荐;面向第2类应用场景的研究则相对偏少,已有研究[4-5,12]针对旅游数据稀疏性强等特点,大多先从异构数据中提取描述旅游产品的多维度特征,如从文本中提取的隐含主题、景点与地域的关系、时间与价格的关系等,以期加强用户和产品之间的关联,从而设计出一些新颖的协同过滤或基于内容的推荐方法.比如Liu等人[4-5]的系列研究尝试从STA Travel*STA Travel, URL: http://www.statravel.com/ 旅游套餐描述文本中挖掘潜在主题,结合季节和价格等因素提出混合协同过滤推荐方法,该类方法有效地解决了协同过滤推荐在极其稀疏的旅游数据中应用的问题.

2) 基于时间序列的推荐.本文的研究立足于第2类应用场景,试图从用户点击旅游网站页面留下的日志数据出发挖掘用户行为模式,从而根据用户实时点击流推荐旅游产品.因此,与本文研究相关的另一系列研究工作是基于时间序列或轨迹数据的推荐系统.文献[19-20]基于出租车GPS轨迹数据的挖掘推荐最近载客点及避拥堵行驶路径;文献[21]通过挖掘播放列表预测用户喜欢的音乐标签;文献[22]则研究了时间序列数据中的事件预测问题;文献[23]提出了一种排序学习模型,它通过融合潜在因子和行为序列的效用函数来提升购买预测的精度.由于时间序列数据的复杂性及应用问题的多样性,基于时间序列数据的推荐问题仍然呈现出开放性[24-25];同时,从日志数据角度切入研究旅游产品推荐问题虽然已经有一定的研究成果,但是此类工作[11,26-27]的日志数据大多是基于用户分享的地理位置标签或者发表的游记,该类日志数据类型单一,可以用于刻化旅游产品的特征比较少,也很难精确地表征用户的兴趣偏好;如文献[11]从游记文本中抽取地理信息并构建了一个“Location-Topic”主题模型进行景点或者旅游目的地推荐.

总的来说,以上已有的相关推荐技术在某种程度上解决了旅游推荐问题.但是这类推荐技术只适应于数据结构相对简单的旅游数据或者依赖于地理信息数据,且很难全面地捕捉用户的实时兴趣偏好.而本文使用的数据为旅游企业真实的Web服务器日志,该日志蕴含了丰富的旅游产品相关信息和大量的用户行为的点击记录,通过构建推荐引擎能够根据用户实时的点击流精确地捕捉用户即时的兴趣并对站内旅游产品进行个性化推荐.

在邹某某雇员受害案例中,雇主作为一种转承责任,应该承担赔偿责任,因此,雇主孙某某应该承担赔偿责任,在司法实践中,第一种意见不能适用。对于第二种、第三种分歧意见辩驳的实质问题就是雇主与侵权第三人承担责任的性质。

2 数据描述

2.1 数据来源与规模

本文所使用的旅游产品数据集来自于途牛旅游网*http://www.tuniu.com/ ,包含用户访问Web服务器日志和用户订单记录.每条服务器日志记录表示为一个五元组:由User_ID,Page_ID,Page_Name,Time,Session_ID字段构成.其中User_ID用于跟踪用户,为用户匿名标识,由浏览器Cookie生成;Page_IDPage_Name分别表示途牛页面标识及相应代表页面的语义文本描述;Time为用户访问时间;Session_ID用于标识该条记录所属的用户会话.用户订单记录则由User_ID,Item_ID,Time构成,其中User_ID代表下单的用户;Item_ID为用户购买的旅游产品标识;Time代表为用户下单时间.

自2012年起,察布查尔县孙扎齐乡旅游收入在总收入中所占的比重逐年攀升,由旅游发展起来的其他产业的收入占比也在逐渐提升。旅游业的发展扩大了就业岗位,提高了居民收入,促进了贫困人口的就业,带动了扶贫事业的发展。只有经济发展到位,旅游业的发展才能得到保障,旅游基础设施才能得到完善。

旅游产品数据集的时间跨度为2个月(即2013年7-8月).本文实验以7月份用户访问日志为训练集,用于挖掘用户兴趣偏好;8月份订单记录及其所属会话为测试集,用于验证推荐引擎的效果.我们对训练数据做了必要的预处理,包括:1)删除了大量重复出现的首页;2)删除了会员登录后访问留下的重定向登录页面.表1展示了预处理后训练集的规模,其中#Session,#Record,#User,#Page分别表示会话、记录、用户和页面的数量,#L表示会话平均长度.页面包含产品页面和非产品页面,产品页面又进一步细分为出境签证、旅游线路及景点门票,这些产品不仅能体现出用户的兴趣偏好,同时也是推荐的目标对象.与其不同的是,非产品页面包含分类页面和攻略页面2类,分类页面是包含用户选定的旅游目的地或旅游主题的所有产品页面的汇总,例如西藏旅游、欧洲旅游、名山胜水、游乐园、海边海岛等;攻略页面介绍了目的地的旅游景点、线路、美食、住宿、地图、游记等.这2类页面的主题有助于推荐引擎刻画用户的兴趣偏好.表2展示了训练集页面的分类及规模,其中#Visa,#Route,#Ticket,#Category,#Guide分别代表出境签证、旅游线路、景点门票、分类和攻略页面的数量.可以看出,非产品页面数量甚至超过了产品页面数量,这意味着基于“用户-项目”矩阵的传统产品推荐方法将不能利用非产品页面中蕴含的丰富信息.

 

Table 1 Statistic of the Training Set表1 训练集日志数据特征

  

#Session#Record#User#Page#L11785266434934022781195.64

 

Table 2 Category and Sizes of Web Pages表2 页面分类及规模

  

ProductPagesNon⁃productPages#Visa#Route#Ticket#Category#Guide271270027653527014811

2.2 数据特点

本节通过分析旅游数据集的特点,以阐明提出本文方法的动机.

3) 从PSC-tree第2层的每个节点开始,每一个遍历到孩子节点的路径分别代表对应的主题序列模式.

特点1.“用户-项目”购买矩阵极度稀疏.

选取2015年9月~2017年9月到我院进行诊治的脑血栓后自理缺陷患者50例作为研究对象,将其随机分为对照组和观察组,各25例。其中,对照组男14例,女11例,年龄57~84岁,平均(70.64±6.65)岁;观察组男15例,女10例,年龄55~85岁,平均(70.77±6.94)岁。两组患者的性别、年龄等一般资料对比,差异无统计学意义(P>0.05)。

 

Table 3 Statistic of Purchase Record in Test Data表3 测试集订单数据特征

  

#Order#User#ItemDensity∕%329552905767990.0155

  

Fig. 1 The distribution of user-item purchasing matrix图1 用户购买旅游产品次数分布

特点2. 冷启动用户比例极高.

在测试集的订单数据中,有20 990个用户为冷启动用户,比例达到63.7%,即存在大量用户在训练数据中没有任何访问记录.当然,部分冷启动用户可能使用不同终端访问网站,利用Cookie标识用户容易引起冷启动用户比例偏高.图2展示了剩余的8 067个用户在训练集中的访问网页数量,可以看出,接近半数的用户在上个月访问网页数量不足10个.因此,冷启动用户比例高是基于日志数据推荐所面临的挑战性问题之一,即如果构造“用户-项目”访问频率矩阵同样面临数据稀疏性问题,传统协同过滤算法仍然难以奏效.

  

Fig. 2 The distribution of user-item visiting matrix图2 用户浏览页面的数量分布

输入:当前访问序列i1,i2,…,ip;

从测试集的订单数据中,我们首先提取被购买超过10次的热门旅游产品688个,再抽取不同用户购买每个产品的访问会话22 584条,该会话包含下订单操作.动态时间规划(dynamic time warping, DTW)定义了序列之间的最佳对齐匹配关系,支持不同长度时间序列的相似性度量[29],被广泛用于衡量时间序列的相似性.我们计算购买同种产品会话的DTW距离(标记为Intra-Sessions),为便于比较,我们再计算每个会话与其他所有会话的DTW距离(标记为Inter-Sessions),图3展示了上述2种情况的DTW距离分布.

在小学语文的课堂上,大多老师希望学生尽可能地以竞争或者合作的方法,对所学知识的吸收保存疑虑并不断探究。在小学语文的文章中,经常会接触到描述历史的小故事,就如《十里长街送总理》。老师可以通知学生们,在学习之前通过其他方式了解周总理的一生,这样做不仅可以加深学生对我国历史的了解程度,更能使学生产生浓厚的学习兴趣和对历史的热爱。与此同时,学生应主动通过字典或其他方式,了解课文里出现的陌生成语典故,并能熟练地掌握这些成语。用了这些方法,学生的阅读兴趣会得到提高。

  

Fig. 3 The DTW distribution among sessions purchasing the same product图3 购买同种产品的会话DTW距离分布

从图3可以看出,在最小DTW区间[0,3)上,Intra-Sessions比例远远高于基准线,而在较大的DTW距离区间上(如[6,9),[9,12),[12,15),[18,21]),Intra-Sessions比例却低于基准线.因此,尽管用户兴趣迥异,购买同个旅游产品的访问序列(即会话)却有较高的相似性,这启发着本文利用频繁序列模式作为推荐引擎的计算依据.

“会计学基础”是一门理论性与实践性相统一的学科。但是,从”会计学基础”的教学经验来看,传统的”会计学基础”的教学方式主要以理论为主,教学方式主要为“灌输式”教学,而教学目标则侧重于传授会计学的基本原理,因此在一定程度上与现代企业的实际经济活动相脱节。同时在课堂教学中,案例教学和实践教学较少。基于此种模式培养出的学生,很难使其对自己所学的知识以及未来将要从事的会计职业有较为系统和全面的认识。因此,作为专业课教师应该怎样才能将课程讲得深入浅出?显然,仅用传统“灌输式”的教学方法有着很大的局限性。而案例教学法作为一种较新的教学方法,对于提高教学效果具有重要的辅助作用。

3 推荐引擎总体框架

本节简要介绍SECT推荐引擎的总体框架,如图4所示,主要分为离线批处理和在线计算两大模块,其功能简述:

1) 离线批处理.①从页面语义文本描述中挖掘主题,将相似度高的线路产品映射到同一泛化主题,以期扩大匹配范围,技术细节将在4.1节中介绍;②将经主题泛化后会话集合看作时间序列事务数据集,从中挖掘序列频繁模式,形成点击模式库,并为每个模式寻找相关联的候选产品,技术方案将在4.2节中阐述.

2) 在线计算.该模块的任务主要是根据用户最新的访问会话,基于由离线批处理所产生的模式库进行匹配计算和推荐分值计算,最终依据推荐分值的排序,产生一个Top-k的推荐列表,技术细节将在4.3节中予以介绍.

  

Fig. 4 The framework of SECT engine图4 SECT推荐引擎总体框架

SECT推荐引擎具有较好的可扩展性,离线批处理在空闲时间周期性执行,承担计算繁重的主题挖掘与序列频繁模式挖掘任务;而在线计算模块则负责轻量级的匹配和分值计算任务.

4 基于主题序列模式的推荐方法

4.1 页面主题泛化

页面主题泛化试图将内容相似的不同页面投影到同一个主题,进而将主题相同的访问序列合并成一个主题序列.图5给出了一个说明性例子,从Page_ID上看,2个用户访问序列差异甚大.但是,从页面描述文本上看,2个访问序列均反映出用户计划去北京旅游的兴趣偏好.此外,访问序列中的分类页面和攻略页面也同样反映出用户的兴趣偏好.

旅游线路页面的文本描述信息复杂多样化,且具有显著的领域特色.抽取主题本质上是文本聚类问题,通常,最朴素直观的思路是将文本形成词袋模型,然后通过不同的聚类算法进行文本聚类操作,从而实现主题抽取.但是这种方法对数据噪音比较敏感,在实际应用中文本聚类难以获得良好效果,因此我们提出用主题模型(latent Dirichlet allocation, LDA)[30]模型降维并过滤噪音,再通过K-Means[31]进行文本聚类实现主题抽取.首先,对线路页面文本信息进行分词、去停用词等预处理操作得到文本向量矩阵.其次,借助LDA模型对所有文本向量矩阵进行主题建模,并采用Gibbs抽样法对建模后的文本向量矩阵进行求解,得到线路页面的隐含主题概率分布矩阵,进而将该矩阵作为K-Means的输入.最终聚类后的每个类簇分别代表线路页面的不同主题.

与线路页面不同的是签证和门票页面的文本描述信息为明确的结构化数据,其中签证页面包含签证国家和签证类型,门票页面包含景点名称和景点所在地,我们分别依据签证国家和景点所在地对签证和门票页面进行主题泛化.在分类页面和攻略页面中,考虑到这些页面的文本描述特点,我们直接依据旅游目的地或者旅游主题对这2类页面进行主题泛化.

2.3 两组患者的临床疗效比较 病例组达到临床控制54.76%、显效30.95%、有效14.29%,对照组临床控制35.71%、显效33.33%、有效28.57%、无效2.38%,两组比较差异有统计学意义(P<0.05),见表3。

真是讽刺呀!自己原本是要杀死她的,此刻却在为她熬制养伤的药!而随着她的苏醒,为她施行天葬这件事必然夭折了。

I={i1,i2,…,iM}为训练集中所有的页面集合,Т={t1,t2,…,tK}为所有页面泛化后的主题集合,页面主题泛化可以抽象为函数:

φ(ip)→tk

(1)

其中,1≤pM,1≤kK,M表示页面的数量,设K为页面泛化的主题数量,tk表示为页面ip经泛化后的主题.

  

Fig. 5 An example of two different sessions which can reflect the same preferences to travel around Beijing图5 体现出北京旅游偏好的2个不同会话的举例

4.2 序列模式挖掘及存储结构

由2.2节中旅游数据特点可知,购买同个旅游产品的访问序列具有较高的相似性,而且用户当前的兴趣偏好能够通过访问序列的页面主题来刻画.因此,挖掘用户访问主题序列的模式对于刻画用户兴趣偏好显得尤为重要.每一个主题模式代表不同用户访问旅游页面的兴趣偏好.

定义1. 主题访问序列事务集.主题访问序列事务集由训练集中所有主题访问序列组成,记为D={D1,D2,…,DU},1≤uU.其中,U为用户数量,Du表示由连续访问页面组成的访问序列Xu通过式(1)泛化后得到的主题访问序列.因此,Xu包含的项集都是I的子集,Du包含的项集都是T的子集.

定义2. 主题频繁时序模式.令P为主题时序模式,模式P的支持度计数与支持度分别表示成σ(P)和supp(P),设min_supp为最小支持度阈值,若σ(P)≥min_supp,则称P为主题频繁时序模式.

本文采用Eclat (equivalence class transformation)算法[32]对主题序列模式进行挖掘.Eclat算法是采用垂直数据表示的频繁项集挖掘方法,在序列模式挖掘中应用广泛.将主题访问序列事务集D作为Eclat的输入,设置min_supp,通过运行Eclat程序得到挖掘出的主题频繁时序模式项集,记为P={P1,P2,…,PS},其中S为模式的数量.

在基于关联规则的推荐算法里候选项目取之于关联规则右边的项目[33],即候选项目被频繁模式所包含.由于每个频繁模式里的项目都是频繁的,这极大地限制了候选项集的质量和多样性.为了解决这个难题,我们抽取了每个频繁模式在原始会话中紧跟着的旅游产品页面作为候选项集,方法如算法1所示,其中模式Ps (1≤sS)对应的候选集记为CPs,每个模式对应的候选集都是I的子集.最终所有模式对应的候选集记为C={CP1,CP2,…,CPs}.

算法1. SECT产品候选集提取算法.

输入:模式项集P、主题序列事务集合D

输出:产品候选集C.

式(6)迭代进行,直到为止.假设待匹配的主题访问序列为T1,T2,…,Tp,采用深度优先的策略在PSC-tree中寻找路径RootT1T2→…→Tp,如果存在此路径,可以获得模式的支持度计数和对应的产品候选集.以图6(b)进行举例,如果待匹配的主题访问序列为T1,T2,T3,那么能够在PSC-tree中成功搜索到路径RootT1T2T3,并从路径的终点T3中提取模式T1,T2,T3的支持度计数15和产品候选集{i4,i5,i6}.

② for each DuD do

③ if Psin Duthen

① 将序列映射为主题序列T1,T2,…,Tp;

⑤ if it 为产品页面then

CPsCPs∪{it};

塑料管道工程质量很大程度上取决于施工水平的高低,有的工程技术人员缺少专业培训,有的用户到目前仍不了解塑料管道如何按规程进行施工、监理等知识。因此应加强技术培训,建立专业培训基地,组织编写教材,有计划地对生产和施工人员开展技术培训,加强标准、规范的学习与宣贯,才能保证工程施工质量。

⑦ end if

⑧ end if

⑨ end for

CCCPs;

end for

return产品候选集C.

测试集中用户的主题序列与模式库中模式项集的匹配对于推荐引擎的效率而言是极大的挑战,通常一种蛮力的做法是将主题序列与模式库中的模式一一匹配,但是考虑到模式库中模式的数量,这种做法不但影响推荐引擎的效率,而且还增加推荐引擎的运行负担.为了使SECT推荐引擎能够根据用户访问会话快速匹配到模式库中的主题模式,我们提出了一个多叉树数据结构PSC-tree (pattern support candidate-tree)用于存储历史模式库,并与匹配计算模块无缝衔接.

定义3. PSC-tree.PSC-tree是一个多叉树:

1) 包含一个名为Root的根节点,其余节点为Root节点的孩子节点;

2) 每个节点都有2个域,第1个域存储模式的支持度计数,第2个域存储产品候选集;

汽车行业迅猛发展的同时汽保企业也得到了快速发展,但随之而来的专利侵权等问题也给汽保企业带来一些困扰。本文整理了部分与汽保企业专利侵权及专利保护等相关的问题,希望可以帮助汽保企业了解2018年专利保护政策,从而学会对自己的企业进行专利保护,并且不侵犯其他企业的相关权利。

图6展示了PSC-tree的构造示例:1)将主题频繁时序模式项集中的模式按照页面标识进行排序,形成如图6(a)中的列表;2)初始的PSC-tree只有一个根节点,按照以下方法依据图6(a)中的模式列表依次构造孩子节点:①读取第1个主题频繁时序模式T1,T2,构造节点T1T2,增加路径RootT1T2,支持度计数σ(T1,T2)=20存储在节点T2的第1个域中,推荐候选集CT1,T2={i3,i5,i6}存储在第2个域中;②第2个模式T1,T2,T3与第1个模式具有公共的前缀T1,T2,因此,节点T3增加在路径RootT1T2的终点,节点T3的2个域也存储对应的信息;3)以上过程直到每一个模式映射到PSC-tree中的其中一条路径为止.按照图6(a)中的模式项集,构造PSC-tree的最终结果如图6(b)所示.

  

Fig. 6 An illustration of PSC-tree图6 PSC-tree的示例说明

4.3 基于n-gram模型的推荐计算

不失一般性,设用户u的实时页面访问会话为:Xu=i1,i2,…,ip,ip为最晚访问的页面.初始设待推荐的目标产品为it,我们将会话Xu中每个产品映射到对应的主题,即Xu=T1,T2,…,Tp,Tq=φ(iq),1≤qp.为了更简明地表示,我们将T1,T2,…,Tp标记为Tp1.我们用条件概率Pr(it|Tp1)表示给定会话Xu时,用户u对产品it的偏好程度,即:Pr(it|Tp1)越大表明用户u购买该目标产品的概率越高.理论上,Pr(it|Tp1)由Xu的所有子序列所决定:

中国工程院院士、中国农业大学教授、国家农业绿色发展研究院院长、国际镁肥研究所所长张福锁,中国磷复肥工业协会副秘书长徐晓君,中国农业大学原副校长、中国农村专业技术协会副理事长张建华,中国农业大学资源与环境学院、农业绿色发展学院副教授侯勇,德国K+S深圳贸易有限公司董事总经理郭延亮,中华合作时报社编委、中国农资传媒执行总编辑孙立新,国际镁肥研究所博士鲁振亚,四川省农业科学院土壤肥料研究所研究员吕世华等国内外著名专家、学者,与300余名美丰核心客户欢聚一堂,共同针对行业内的热点话题进行交流。

 

(2)

由于求解式(2)需要穷举p个子序列,即每个子序列需要与模式库中所有频繁序列模式进行匹配,计算复杂性极高.因此,已有文献[34-35]提出n-gram模型对式(2)进行近似求解.我们假设只与前面n-1个访问页面相关,称为Markov n-gram独立性假设,即:

(3)

在Markov n-gram独立性假设之下,求解式(3)可以简化为

① http://mahout.apache.org/

(4)

此处,Tt=φ(it),对于给定的频繁模式集合,σ(·)为序列或者模式的支持度计数.但是,式(4)仅适用于的情况,即Xu的最近n-1项子序列被历史模式所包含.当时,我们去掉最早的访问页面ip-n+2,用n-2项子序列替代原来的n-1项子序列[36].由于序列长度的减小,随之衰减,表征对目标产品推荐置信度的下降.我们选择文献[37]总结的回退类平滑技术back-off models来刻画条件概率的衰减,因此,式(4)可以总结为

刑事诉讼法与司法解释对此都做了规定,并且都规定了一个兜底条款即“与审判相关的问题”,要把握好它的内涵就必须遵循两个原则:首先,必须要紧紧抓住庭前会议设置的宗旨和目标。其次,要划分好庭前准备程序和庭审程序功能的界限,不能使庭审虚置化。庭前会议是以提高庭审效率为价值目标的,因此其仅应解决程序问题,如将实体问题纳入庭前会议可能导致庭前会议功能的膨胀,甚至冲淡庭审的功能。所以除了最高人民法院颁布的司法解释中的那七条外,还有哪些既是程序性问题又是与审判相关的问题呢?这是值得我们思考的。文章认为应该把申请重新鉴定和申请延期审理加入到庭前会议来解决。

(5)

其中,β为惩罚因子,衡量的是平滑处理后的n-2项子序列和处理前n-1项序列之间的条件概率衰减,可计算为

(6)

① for s=1 to S do

算法2展示了基于主题序列模式的推荐算法.对于给定的用户u的实时会话Xu,首先将其映射为主题序列,我们再重复执行以上的back-off models流程直到生成一个推荐分值集合R为止.对于任意一个给定的目标产品it,其对应的分值集合记为R(it),我们将目标产品分值集合按照降序排列,最终取分值最高的k个产品作为推荐列表,记为Top-k.

算法2. 基于n-gram的推荐算法.

特点3. 购买同种产品的会话相似性高.

输出:推荐列表Top-k.

④ 返回Ps在主题访问序列Du中的末尾位置l并从访问序列Xu中提取第l+1个访问页面it;

② for j=p-n+2 to p do

③ 在PSC-tree中寻找路径RootTj→…→Tp,从路径终点Tp读取σ(Ps)和CPs; *Ps=*

④ if (σ(Ps)>0) then

⑤ for each itCPs do

Tt=φ(it),沿着路径RootTj→…→

在GPX IV案中,美国巡回上诉法院支持了国际贸易法院在GPX IV中的判决,但是基于不同的立场。法院认为反补贴法没有授权商务部向中国采取反倾销措施,原因是1988年和1994年修订了反补贴法之后,国会认可了在非市场经济背景下,政府报酬不属于“补贴”[5](P745)。这与乔治城钢铁案中所提出的“经济激励措施”或者“利益”是否构成了“赠款”或者“拨款”有异曲同工之处。问题似乎又回到了原点。

Tp的终点Tp寻找其孩子节点Tt并读取计算式(5)求得R(it);

RRR(it);

表3描述了测试集中订单数据的基本特征,其中#Order,#User,#Item分别代表订单、用户、项目数量,Density代表密度.如果构建“用户-项目”购买矩阵使用协同过滤算法[28]进行推荐,矩阵中非零值比例仅为0.0155%,而常用的MovieLens100K*http://grouplens.org/datasets/movielens/100k/ “用户-项目”评分矩阵的密度为6.3%.我们再观察用户购买旅游产品的次数分布,如图1所示,有27 551(94.8%)的用户仅购买1种旅游产品,仅有0.07%的用户购买了5种以上的旅游产品.因此,传统协同过滤算法难以直接运行于“用户-项目”购买矩阵.

⑧ end for

⑨ break;

⑩ end if

end for

将推荐分值集合R降序排列;

return Top-k列表. *取R中Top-k个项目*

5 实验结果和分析

本节展示在实际旅游数据集(如第2节所述)上的实验结果及比较分析.

5.1 实验设置

1) 基准推荐算法.我们选择4种最常见的推荐算法作为比较对象:

① 基于用户的协同过滤算法(user-based coll-aborative filtering, UCF)[38],选择余弦为相似度度量,近邻用户数量设为10.

② 基于矩阵分解模型的协同过滤(singular value decomposition, SVD)[39],潜变量维度设为100.UCF和SVD均借助开源项目Mahout实现,同时,由于2.2节的研究已经表明旅游数据中“用户-项目”购买矩阵极度稀疏,因此我们构造“用户-项目”访问频率矩阵作为协同过滤的输入,矩阵中的元素表示用户点击线路页面的次数.

③ 流行推荐算法Popular,按照购买次数直接排序,取最热门的Top-k种产品作为推荐列表;

④ 基于关联规则挖掘的推荐算法(max confi-dence algorithm, MCA)[33],从训练数据中挖掘频繁项集,以置信度作为推荐分值计算依据.SECT和MCA中的min_supp均默认设置为15,主题数量K均设为80.由于训练集中会话平均长度为5.64,因此当测试集中会话长度大于6时,推荐算法中n取5,否则n即为会话长度.

2) 评价指标.我们选择3类指标从不同角度衡量推荐引擎的性能,其中,F-measure是体现推荐引擎准确率的综合指标[40],Coverage是反映推荐列表多样性的指标[41],NDCG@k(normalized discounted cumulative gain)则用于衡量推荐列表的排序优劣[42].具体地,假设为用户u推荐生成的Top-k列表记为Ru,Ru(j)代表为用户u产生的推荐列表在位置j上的产品,测试集中用户u真正购买的产品列表为Gu,上述3种评价指标的计算方法如下:

F-measure是准确率(Precision)和召回率(Recall)的调和平均值,值越高则表明推荐系统的精度越好.

(7)

Coverage指的是推荐结果里的物品占全部物品的比例,比例越高代表推荐系统推荐的产品覆盖范围越广.

 

(8)

NDCG@k是一个考虑推荐项目次序的指标,该指标衡量了推荐项目的排名,值越高代表排序推荐效果越好:

 

(9)

NDCG@k计算的是位置j从1到k总的NDCG值;Rel是一个指示函数,计算的是推荐项目出现在位置j的增益,在本文中,如果列表中位置为j的推荐产品为用户下单的产品,则Rel的值为1,否则为0;IDCG为规格化因子,代表最理想情况下的DCG[43],在本文中,最理想的DCG情况为用户实际下单产品在推荐列表中排名第一,即IDCG=1.

5.2 总体性能比较分析

图7分别展示了SECT和另外4种基准算法在3类评价指标上的对比结果,x轴为Top-k推荐列表长度,分别设为3,5,10,20.总体上看,SECT推荐引擎在不同指标上均明显优于其他基准推荐算法,其中Popular流行推荐效果最差,这说明用户在购买旅游产品时具有明显的个性化偏好,排行榜式的推荐难以取得良好效果.

  

Fig. 7 Performance comparison on different evaluation metrics图7 在不同评价指标上的比较

从图7(a)可以看出,当k值分别取10和20时,SECT的F-measure超过30%,比排名第2的UCF算法高出至少10%.从平均意义上,SECT每推荐10种旅游产品将会带来3次的实际购买.

从图7(b)可以看出,SECT在Coverage指标上的性能最好,且随着k的增大,优势变得更加显著,当k=20时,Coverage达到40%,这表明SECT推荐结果能覆盖更多的产品;UCF和SVD通过“用户-项目”访问频率矩阵能够找到的相似用户的数量比较少,因此,推荐的产品覆盖范围有限;Popular针对所有用户都是推荐同样的流行产品,因此,Coverage值最低,接近于0.

从图7(c)可以看出,SECT的推荐列表排序效果最好,UCF其次,MCA仅次于UCF,当k值逐渐增大到20,MCA和UCF的推荐产品的排序性能接近.当k值分别取10和20时,SECT要比UCF和MCA高出至少5%,比SVD高出至少10%.这充分说明SECT推荐的正确的产品位置比较靠前,排序性能较好.

5.3 冷启动用户推荐效果

旅游数据冷启动问题是影响旅游推荐的一个难题.正如2.2节中所提及,本文旅游数据集中的冷启动用户比例较高,测试集中冷启动用户数量达到20 090.因此,针对冷启动用户的推荐性能评估显得尤为重要.我们选择了5.2节中推荐效果相对不错的UCF和SVD作为基准算法,考察针对冷启动用户的推荐性能.

图8展示了SECT与基准算法在产生推荐的冷启动用户比例方面的对比,可以看出SECT能够为93.1%的冷启动用户产生推荐列表.从平均意义来看,每10个冷启动用户就有9个能够被SECT产生推荐.而SVD要比SECT要低10.9%.此外,UCF产生推荐的冷启动用户比例最低,仅为67.7%.

  

Fig. 8 Cold-start users with successful recommendations图8 产生推荐的冷启动用户

图9展示了SECT与基准算法针对冷启动用户推荐准确率的对比,可以看出SECT性能最出色.当k值分别取3和5时,UCF与SECT在推荐准确率方面接近,而随着k值增加,SECT的优势越来越显著.当k=20时,准确推荐的冷启动用户占产生推荐的冷启动用户的比例高达44.3%,分别比UCF和SVD的胜出5%和32%.尽管UCF在产生推荐的冷启动用户的性能方面要差于SVD,但是在冷启动用户推荐准确率方面要更胜一筹.

  

Fig. 9 Cold-start users with accurate recommendations图9 准确推荐的冷启动用户

表4进一步将SECT对测试集中冷启动用户和全局用户的推荐结果进行了对比,可以看出冷启动用户的会话并没有降低SECT的推荐性能,与全局用户上的推荐性能基本一致.因此,相比于协同过滤算法,SECT在解决冷启动问题上优势显著.

Table 4 Performance Comparison among Cold-start Users and Global Users in Terms of F-measure Results

 

表4 冷启动用户和全局用户在F-measure上的比较

  

TypeTop3Top5Top10Top20Cold⁃startUsers0.1710.2390.3390.433GlobalUsers0.1690.2360.3370.432

从以上实验分析可知,相比于传统推荐算法,SECT推荐引擎不但性能具有明显优势,而且针对冷启动用户的推荐率和准确率方面也提高显著.这是由于SECT根据用户实时会话从主题泛化的层面捕捉用户兴趣,且不受冷启动问题的困扰,而UCF和SVD借助的“用户-项目”访问频率矩阵比较稀疏,因此,在冷启动用户的方面表现都不如SECT.

5.4 长尾物品的推荐

众所周知,对于推荐系统而言推荐流行的商品较为容易也微不足道,而推荐长尾物品增加了推荐商品的新颖性,同时也是一个挑战[44].

图10展示了训练集中所有产品的访问频率分布,可以看出长尾现象尤其显著.具体而言,训练集中所有产品的平均访问频率为17,此外,低于平均访问频率的产品比例高达80.7%,这意味着大多数的访问集中于少数的流行产品.我们同样选择UCF和SVD作为基准算法来考察SECT挖掘长尾物品的能力.

  

Fig. 10 Visiting distribution over items in the training set图10 训练集中产品的访问频率分布

图11展示了3种算法在旅游数据集上推荐产品的平均流行度(即产品在训练集中的访问频率).总体来看,SECT推荐的产品的流行度要低于UCF和SVD,其中UCF最高,SVD其次.当k分别取值3和5时,SECT和SVD接近,而UCF的流行度明显偏高.相比于UCF和SVD,随着k的不断增大SECT推荐的产品的流行度下降趋势更加显著,当k=20时,SECT的流行度为221,而UCF和SVD分别高达319和278.

  

Fig. 11 Average frequency of recommended items图11 推荐商品的平均流行度

我们将训练集中所有物品根据访问频率进行倒序排序,分别将排在前60%,70%,80%,90%的产品标记为长尾物品.图12分别展示了SECT与基准算法在Top-20推荐列表中准确推荐的长尾产品的比例.从图12可以看出,在长尾产品阈值从0.6~0.9之间SECT性能要优于UCF和SVD,且随着阈值增加,SECT优势越来越显著.当阈值设为0.9时,SECT推荐准确的长尾产品比例为22.8%,分别比UCF和SVD的性能高出9%和12%.因此,相比于传统的协同过滤算法,SECT的推荐列表更具有新颖性,能够准确推荐更多的长尾物品,这得益于SECT能够从历史会话中挖掘出很多有趣的模式.

  

Fig. 12 Niche items with accurate recommendations图12 准确推荐的长尾产品

6

本文研究了基于主题序列模式的旅游产品推荐问题.首先,本文提出了SECT推荐引擎,离线批处理阶段,SECT利用已有的LDA和K-Means算法从页面语义描述文本中挖掘旅游主题,并通过ECLAT算法对在线旅游网站点击日志进行挖掘产生频繁序列模式,最后依据本文提出的算法从模式库和日志会话中产生候选产品集;在线计算阶段,提出了基于Markov n-gram的推荐算法,依据用户实时点击流进行模式匹配和推荐产品的分值计算,最终产生旅游产品推荐列表.同时,设计了一种新的多叉树数据结构PSC-tree以存储模式库并提升在线匹配计算的效率.为了验证SECT的优势,本文在真实旅游数据集上进行了实验,实验结果表明:SECT推荐引擎不但在性能上比传统推荐算法更有优势,而且能有效提升冷启动用户和长尾物品的推荐率和准确率.

参考文献

[1]Guo Hongyi, Liu Gongshen, Su Bo, et al. Collaborative filtering recommendation algorithms combining community structure and interest clusters[J]. Journal of Computer Research and Development, 2016, 53(8): 1664-1672 (in Chinese)

(郭弘毅, 刘功申, 苏波, 等. 融合社区结构和兴趣聚类的协同过滤推荐算法[J]. 计算机研究与发展, 2016, 53(8): 1664-1672)

[2]Ge Yong, Xiong Hui, Tuzhilin A, et al. An energy-efficient mobile recommender system[C] //Proc of the 16th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2010: 899-908

[3]Adomavicius G, Tuzhilin A. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[J]. IEEE Trans on Knowledge and Data Engineering, 2005, 17(6): 734-749

[4]Liu Qi, Ge Yong, Li Zhongmou, et al. Personalized travel package recommendation[C] //Proc of the 11th Int Conf on Data Mining. Los Alamitos, CA: IEEE Computer Society, 2011: 407-416

[5]Liu Qi, Chen Enhong, Xiong Hui, et al. A cocktail approach for travel package recommendation[J]. IEEE Trans on Knowledge and Data Engineering, 2014, 26(2): 278-293

[6]Ge Yong, Liu Qi, Xiong Hui, et al. Cost-aware travel tour recommendation[C] //Proc of the 17th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2011: 983-991

[7]Ge Yong, Xiong Hui, Tuzhilin A, et al. Collaborative filtering with collective training[C] //Proc of the 5th ACM Int Conf on Recommender Systems. New York: ACM, 2011: 281-284

[8]Pazzani M J, Billsus D. Content-Based Recommendation Systems[M]. Berlin: Springer, 2007: 325-341

[9]Burke R. Hybrid Web Recommender Systems[M]. Berlin: Springer, 2007: 377-408

[10]Jannach D, Zanker M, Fuchs M. Constraint-based recommendation in tourism: A multiperspective case study[J]. Information Technology & Tourism, 2009, 11(2): 139-155

[11]Hao Qiang, Cai Rui, Wang Changhu, et al. Equip tourists with knowledge mined from travelogues[C] //Proc of the 19th Int Conf on World Wide Web. New York: ACM, 2010: 401-410

[12]Tan Chang, Liu Qi, Chen Enhong, et al. Object-oriented travel package recommendation[J].ACM Trans on Intelligent Systems and Technology, 2014, 5(3): 43:1-43:26

[13]Baltrunas L, Ludwig B, Peer S, et al. Context-aware places of interest recommendations for mobile users[C] //Proc of the 14th Int Conf of Design, User Experience, and Usability. Berlin: Springer, 2011: 531-540

[14]Gavalas D, Konstantopoulos C, Mastakas K, et al. Mobile recommender systems in tourism[J]. Journal of Network and Computer Applications, 2014, 39: 319-333

[15]Zheng Yu, Xie Xing. Learning travel recommendations from user-generated GPS traces[J]. ACM Trans on Intelligent Systems and Technology, 2011, 2(1): 9:1-9:29

[16]Cao Xin, Cong Gao, Jensen C S. Mining significant semantic locations from GPS data[J]. Proceedings of the VLDB Endowment, 2010, 3(1): 1009-1020

[17]Drosatos G, Efraimidis P S, Arampatzis A, et al. Pythia: A privacy-enhanced personalized contextual suggestion system for tourism[C] //Proc of the 39th Annual Int Conf Computers, Software & Applications. Los Alamitos, CA: IEEE Computer Society, 2015: 822-827

[18]Cheng Anjung, Chen Yanying, Huang Yenta, et al. Personalized travel recommendation by mining people attributes from community-contributed photos[C] //Proc of the 19th ACM Int Conf on Multimedia. New York: ACM, 2011: 83-92

[19]Ge Yong, Liu Chuanren, Xiong Hui, et al. A taxi business intelligence system[C] //Proc of the 17th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2011: 735-738

[20]Yuan Jing, Zheng Yu, Zhang Chengyang, et al. T-drive: Driving directions based on taxi trajectories[C] //Proc of the 18th SIGSPATIAL Int Conf on Advances in Geographic Information Systems. New York: ACM, 2010: 99-108

[21]Hariri N, Mobasher B, Burke R. Context-aware music recommendation based on latenttopic sequential patterns[C] //Proc of the 6th ACM Conf on Recommender Systems. New York: ACM, 2012: 131-138

[22]Letham B, Rudin C, Madigan D. Sequential event prediction[J]. Machine Learning, 2013, 93(2): 357-380

[23]Zeng Xianyu, Liu Qi, Zhao Hongke, et at. Online consumptions prediction via modeling user behaviors and choices[J]. Journal of Computer Research and Development, 2016, 53(8): 1673-1683 (in Chinese)

(曾宪宇, 刘淇, 赵洪科, 等. 用户在线购买预测: 一种基于用户操作序列和选择模型的方法[J]. 计算机研究与发展, 2016, 53(8): 1673-1683)

[24]Chen Wei, Niu Zhendong, Zhao Xiangyu, et al. A hybrid recommendation algorithm adapted in e-learning environments[J]. World Wide Web, 2014, 17(2): 271-284

[25]Wright A P, Wright A T, McCoy A B, et al. The use of sequential pattern mining to predict next prescribed medications[J]. Journal of Biomedical Informatics, 2015, 53(C): 73-80

[26]Kennedy L S, Naaman M. Generating diverse and representative image search results for landmarks[C] //Proc of the 17th Int Conf on World Wide Web. New York: ACM, 2008: 297-306

[27]Mei Qiaozhu, Liu Chao, Su Hang, et al. A probabilistic approach to spatiotemporal theme pattern mining on weblogs[C] //Proc of the 15th Int Conf on World Wide Web. New York: ACM, 2006: 533-542

[28]Schafer J B, Frankowski D, Herlocker J, et al. Collaborative Filtering Recommender Systems[M]. Berlin: Springer, 2007: 291-324

[29]Fu A W C, Keogh E, Lau L Y, et al. Scaling and time warping in time series querying[J]. The VLDB Journal, 2008, 17(4): 899-921

[30]Blei D M, Ng A Y, Jordan M I. Latent Dirichlet allocation[J]. Journal of machine Learning research, 2003, 3(Jan): 993-1022

[31]Kanungo T, Mount D M, Netanyahu N S, et al. An efficient k-means clustering algorithm: Analysis and implementation[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2002, 24(7): 881-892

[32]Zaki M J. Scalable algorithms for association mining[J]. IEEE Trans on Knowledge & Data Engineering, 2000, 12(3): 372-390

[33]Rudin C, Letham B, et al. Sequential event prediction with association rules[C] //Proc of the 24th Annual Conf on Learning Theory. New York: ACM, 2011: 615-63

[34]Peng Fuchun, Schuurmans D, Wang Shaojun. Augmenting naive bayes classifiers with statistical language models[J]. Information Retrieval, 2004, 7(3): 317-345

[35]Fakhraei S, Foulds J, Shashanka M, et al. Collective spammer detection in evolving multi-relational social networks[C] //Proc of the 21st ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2015: 1769-1778

[36]Ney H, Essen U, Kneser R. On structuring probabilistic dependences in stochastic language modelling[J]. Computer Speech & Language, 1994, 8(1): 1-38

[37]Chen S F, Goodman J. An empirical study of smoothing techniques for language modeling[C] //Proc of the 34th Annual Meeting on Association for Computational Linguistics. New York: ACM, 1996: 310-318

[38]Resnick P, Iacovou N, Suchak M, et al. GroupLens: An open architecture for collaborative filtering of netnews[C] //Proc of the 1994 ACM Conf on Computer Supported Cooperative Work. New York: ACM, 1994: 175-186

[39]Koren Y. Factorization meets the neighborhood: A multifaceted collaborative filtering model[C] //Proc of the 14th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2008: 426-434

[40]Powers D M. Evaluation: From precision, recall and F-measure to ROC, informedness, markedness and correlation[J]. Journal of Machine Learning Technologies, 2011, 2(1): 37-63

[41]Ge Mouzhi, Delgado-Battenfeld C, Jannach D. Beyond accuracy: Evaluating recommender systems by coverage and serendipity[C] //Proc of the 4th ACM Conf on Recommender Systems. New York: ACM, 2010: 257-260

[42]Järvelin K, Kekäläinen J. IR evaluation methods for retrieving highly relevant documents[C] //Proc of the 23rd Annual Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2000: 41-48

[43]Hu Meiqun, Lim Eepeng, Sun Aixin, et al. Measuring article quality in Wikipedia: Models and evaluation[C] //Proc of the 16th ACM Conf on Information and Knowledge Management. New York: ACM, 2007: 243-252

[44]Yin Hongzhi, Cui Bin, Li Jing, et al. Challenging the long tail recommendation[J]. Proceedings of the VLDB Endowment, 2012, 5(9): 896-907

 
朱桂祥,曹杰
《计算机研究与发展》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号