APP下载

基于用户特征的酒店推荐模型研究

2022-04-07

关键词:协同矩阵特征

石 洋

(湖南工程职业技术学院 生态文旅学院,湖南 长沙 410151)

随着酒店业的发展和信息技术的应用,如何借助信息技术提高酒店服务水平,成为当前信息化背景下应思考的重点。其中,面向海量的用户和酒店,如何找到用户更感兴趣的酒店,是当前酒店推荐系统需要解决的难题。针对该问题,丁丁[1]提出依托大数据分析模型实现用户相同偏好或相似偏好对酒店需求的预测;李书昊等[2]通过提取酒店用户评论,提出采用线下酒店评估方法构建酒店推荐模型。以上都是基于当前协同推荐算法的研究。钱春琳等[3]、杨博等[4]认为协同推荐需要解决数据稀疏性问题,进而提高推荐的准确率。刘岩[5]则提出,先用机器算法对特征进行提取,然后再采用协同推荐算法进行推荐。基于以上思路,本研究首先提取用户和酒店特征,同时利用余弦相似度计算公式减少数据的稀疏性,以提高推荐精度。

1 协同过滤推荐

协同过滤推荐是在现有用户特征中,利用相似度计算公式计算用户间的相似度,找到兴趣爱好相近的用户,最终产生推荐结果[6]。根据协同过滤目的的不同,协同过滤推荐可分为基于项目的推荐、基于用户的推荐和基于模型的推荐[7]。本研究是通过提取酒店用户的特征,然后针对特征给用户进行推荐,所以采用基于用户的协同过滤。先计算用户特征的相似度,将相似度接近的用户归为一个集合,然后用项目评分预测用户对目标项目的评分,最终生成目标项目top-N列表。具体步骤如下:

(1)获取用户对项目的评分值,然后用向量R表示“用户+项目+用户对项目的评分”建立用户偏好矩阵:

(1)

式中:N表示用户数量;n表示项目数量。某用户u对项目i的评分用Rui表示,取值为1~5的整数。

(2)

(3)从集合U中选出与目标用户相似度接近的近邻构成集合。由于集合U的数量对推荐结果和推荐质量影响较大,故参考文献[5]和文献[6],将集合U的数量设定为[20,50]。

(4)选择最近邻用户评价过的且目标用户没有评价过的项目,根据用户对项目的评分,预测目标对该项目的评分产生合适的项目集并推荐给目标用户。u对i的评分预测计算方法如式(3)所示:

(3)

(4)

2 基于用户特征的酒店协同推荐

2.1 推荐基本思想

本推荐模型的基本思路如下:基于酒店特征和用户特征构建酒店推荐候选集,根据基于用户的协同推荐算法产生推荐结果,得到top-N推荐列表供酒店用户选择。

2.2 用户特征矩阵构建

用户特征矩阵构建是推荐的基础,也是关键。用户特征包括性别、年龄、知识等多种特征,为更好地提取这些特征,在构建用户模型前对用户相关信息文本的语义特征进行提取,选取具有代表性的词作为用户特征。具体采用词频(term frequency,TF)与逆文本频率指数(inverse document frequency,IDF)结合的方法实现用户相关文本信息语义特征的提取。设V=(t1w1,t2w2,…,tiwi)表示每个文本文档,其中的ti表示词条项,wi为对应权值。若第i个词在某个文本中出现的频率高、在其他文本中的频率低,则说明第i个词区别能力良好;词条t在文档中出现的频率越低,逆向文件频率越高,则认为t具有良好的类别区分能力。具体计算公式如下:

(5)

式中:tc表示权重;tfi表示第i个词在训练集文本N中的词频;ni表示没有出现第i个词的文本数量。

提取语义特征后,结合用户信息构建用户偏好矩阵U(f):

U(f)=(U1,U2,…,Uj),

(6)

式中:Uj表示用户u对第j个特征的偏好。

另外,为解决数据中存在的稀疏性问题,更好地挖掘用户间的相关性,采用余弦相似度计算用户间的相似度,具体计算公式如下:

(7)

基于以上的相似计算,用户u可用n个相似用户和用户间的相似度表示。

2.3 酒店特征矩阵构建

酒店特征通常包括房价、房间设备、酒店星级、酒店设施等。参考王婧虹等[6]对酒店特征的分析,本研究提取了k个酒店特征,具体特征及赋值见表1。

表1 酒店特征及赋值

在以上提取的基础上,构建酒店特征矩阵H(f):

H(f)=(H11,H12,…,H1j,…,H2j,…,Hij),

(8)

式中:Hij表示酒店i的第j个特征。

同样,为减少数据的稀疏性,采用余弦相似度计算公式计算酒店的相似度,从而得到相似酒店的相似度:

(9)

2.4 酒店协同推荐

在构建酒店特征矩阵和用户特征矩阵后,利用协同推荐算法计算用户u对酒店i的期望评分pr(u,i),并根据期望评分筛选出符合用户特征的前N家酒店作为推荐列。pr(u,i)的计算如下:

pr(u,i)=r(v,j)×sim_u(u,v)×sim_h(i,j),

(10)

式中:r(v,j)表示用户v对酒店j的评分;sim_u(u,v)表示用户u与v之间的相似度;sim_h(i,j)表示酒店i和j之间的相似度。

2.5 整体推荐框架

通过以上步骤,得到基于用户特征的酒店推荐模型(图1)。在图1的整体推荐框架中,基于源数据信息,通过tf-idf获取文本特征,然后基于用户特征和酒店特征,利用协同推荐算法实现酒店推荐。

图1 基于用户特征的酒店推荐模型

3 实验验证

3.1 实验环境搭建及数据来源

为验证以上方案的可行性,以酒店管理营运博弈沙盘为仿真平台[8]进行实验,实验数据均来自该平台爬取的用户数据和酒店数据。对爬取的数据进行预处理,最终获取用户数据11 823条、酒店数据958条、订单数据14 847条。

3.2 实验评价指标

本研究选用常用的推荐算法评价指标——准确率P[9]、召回率R[10]、F1值[11],计算方法见式(11)至式(13):

(11)

(12)

(13)

以上3个指标取值为[0,1],值越大,表示酒店推荐效果越好。

3.3 酒店推荐效果

结合构建的推荐模型对用户进行酒店推荐,得到如表2所示的推荐结果。表2中,n表示用户u存在相似用户的个数。由表2可知:当n≤6时,随着其取值的增大,准确率、召回率、F1值均逐渐升高;当n>6时,随着n的取值继续增大,准确率、召回率、F1值没有明显提升。由此说明,基于用户特征的酒店推荐模型在相似用户少于6个时,推荐效果良好。

表2 不同n值时模型推荐效果

为验证本研究构建模型推荐效果的优越性,取用户n=6,与传统推荐算法进行对比,得到如表3所示的结果。由表3可知,本算法的召回率、F1值均高于对比算法,虽然准确率略低于基于特征参数匹配的推荐算法,但其扩展性和推荐效果更好,故本算法的推荐效果总体上优于对比算法。

表3 不同推荐算法的推荐结果

4 结语

本研究提出了基于用户特征的酒店推荐模型,可根据用户特征为用户推荐类似酒店。相较于传统的基于特征参数匹配和基于协同过滤的推荐算法,本算法的召回率和F1值更高,扩展性和推荐效果更优。

猜你喜欢

协同矩阵特征
根据方程特征选解法
家校社协同育人 共赢美好未来
蜀道难:车与路的协同进化
不忠诚的四个特征
“四化”协同才有出路
抓住特征巧观察
三医联动 协同创新
初等行变换与初等列变换并用求逆矩阵
矩阵
矩阵