周桂如
(福建船政交通职业技术学院公共教学部,福建 福州 350007)
20世纪末,美国、英国等西方国家开始研究酒店个性化信息服务系统,为客户推送个性化酒店信息,取得了较好的效果.国内,郑州东方维景国际大酒店选择56iq数字标牌全面部署酒店数字服务系统[1],为宾客提供了更专业的服务,大大提升了酒店管理、服务的质量和效率.利用现代信息技术设计成本低廉、方便快捷的信息推送系统,建立信息推送服务机制,是实现酒店个性化信息推荐的有效途径.[2-3]笔者将RFM模型和协同过滤技术进行结合,拟设计酒店房型推荐算法,以提升酒店房型的个性化推荐效果.
RFM模型[4]是客户关系管理领域里的一种客户行为分析模型.其中,近度R(Recency)为客户最近一次交易距现在的时间间隔,频度F(Frenquency)为客户在某段时间内交易的次数,值度M(Monetary Values)为客户在某段时间内交易的总金额.RFM模型在客户购买偏好和客户价值两方面都具有良好的表征[5],是衡量客户潜在价值和客户创利能力的重要工具.近度越小,频度和值度越大,客户越有可能与商家达成新的交易,因此可以通过这3个指标反映客户对某种商品的偏好.
协同过滤推荐算法的最大优点是不需要分析目标用户的特征属性,一般通过计算用户相似度来确定目标用户的最近邻[6],再通过最近邻对某项目的评分加权平均值预测目标用户对该项目的偏好,从而判断是否对目标用户进行推荐.协同过滤推荐算法的实现主要有3个步骤.
(1)建立评分矩阵.用户输入的评分数据可用如下M×N阶矩阵表示:
其中:M行表示M个用户;N列表示N个项目;Ri,j为用户Ui(i=1,2,…,M)对项目Ij(j=1,2,…,N)的评分.
(2)计算相似度.协同过滤推荐算法的核心是根据用户-项目评分矩阵发现目标用户的最近邻[6],主要有Pearson相关系数、Cosine相似度和Tanimoto系数[7]这3种计算方法.笔者选用Pearson相关系数法计算客户最近邻[8],得到将要预订酒店房型的目标客户Ui与其他客户Uj之间的相似度
(1)
(3)生成推荐项目.根据(1)式得到目标客户的最近邻集合,从目标客户的最近邻中生成N个房型信息作为推荐项.目标客户Ui对这N个房型的预测评分Pic′,可以通过其最近邻对N个房型的评分计算得到,即
由于传统的协同过滤推荐算法依赖于客户对商品信息的主观评价,因此具有很强的主观性.为了客观地反映不同客户对酒店不同房型的偏好,笔者首先利用数据挖掘技术提取客户在酒店管理信息系统中的历史订房记录,对不同客户进行价值分析和评价统计,然后计算酒店客户的RFM综合值,将RFM综合值作为协同过滤相似度度量的输入,最后为相似客户生成房型推荐信息,发掘潜在消费者.图1示出基于RFM模式和协同过滤技术的酒店房型推荐算法框架.
图1 基于RFM模式和协同过滤技术的酒店房型推荐算法框架Fig. 1 Hotel Room Recommendation Algorithm Framework Based on RFM Model and Collaborative Filtering Technology
(1)RFM模型各指标权重分配.采用问卷调查法获取客户对RFM模型各指标的重要性程度并应用层次分析法进行分析,确定各指标的权重Kr,Kf,Km.
(2)标准化RFM模型指标值.因为RFM模型指标值的度量单位不同,所以采用极差正规化变换进行数据规范化处理[4].近度F和值度M是正向影响,标准化公式分别为F′=(F-Fmin)/(Fmax-Fmin),M′=(M-Mmin)/(Mmax-Mmin).其中:F,M为原始值;Fmin,Mmin为该指标原始值中的最小值;Fmax,Mmax为该指标原始值中的最大值.频度R是负向影响,标准化公式为R′=(Rmax-R)/(Rmax-Rmin).其中:R为原始值;Rmin,Rmax分别为该指标原始值中的最小值和最大值.
(3)计算酒店客户的RFM综合值.将R′,F′,M′与各指标的权重进行加权求和,得到酒店客户的RFM综合值Z=KrR′+KfF′+KmM′,其中Kr+Kf+Km=1.
(4)协同过滤技术客户相似度的改进.客户在预订酒店房型时生成的RFM数据可以反映客户对房型的偏好,因此将处理后的RFM数据与协同过滤技术相结合,对客户相似度计算公式进行改进,可以得到改进的相似度.目标客户Ui与客户Uj之间的改进相似度
(2)
为了检验基于RFM模型和协同过滤技术的推荐算法(新算法)的推荐效果,将它与传统的协同过滤推荐算法(传统算法)进行比较.实验数据选自福州市某酒店集团各门店的订房交易系统数据库,共含923个客户在2017年7—10月预订房型的有效数据记录4 043条,主要包括用户信息、订房交易数据和房间类型等.根据这些实验数据计算客户的RFM值,并将数据分为测试集和训练集,分别占20%和80%,即r=0.8.
选用Mobasher给出的覆盖率(Coverage,C)、准确率(Precision,P)和F-测度(F-Measure,Fm)[4]这3个指标作为推荐算法的度量标准,
覆盖率和准确率分别从推荐的广泛性和精确性对算法进行衡量,F-测度则是二者的结合.无论是忽视覆盖率还是准确率,都将导致F-测度降低,只有当覆盖率和准确率都较优时,算法的推荐效果才较好.
实验中排前N个房间类型的Top-n值分别设置为3,5,10,15,20.图2示出新算法和传统算法的F-测度比较结果.从图2可以看出,在r=0.8时,新算法的F-测度比传统算法高,说明新算法的房型推荐数据更准确.
图2 2种推荐算法的F-测度比较Fig. 2 Comparison of Algorithm Performance
设计了一种基于RFM模型与协同过滤技术相结合的房型推荐算法,并将该算法应用于酒店订房仿真实验,结果表明,新算法的推荐方式更符合不同客户的个性化需求,更好地实现了酒店个性化推荐服务功能.下一步将考虑基于Google云推送服务框架设计针对Android智能终端的酒店信息推送系统,该系统将公共信息、个人专属信息和个性化酒店推荐信息集成统一的推送信息,以期实现低成本、低流量和实时性的推荐方式.