1. 引言
随着在线旅游交易规模的增长,利用在线旅游平台上的数据获取用户偏好,并通过个性化推荐技术为游客提供更好的服务,吸引了产业界和学术界的关注 [1] [2]。数据的稀疏性、冷启动等问题制约着平台推荐算法的性能,学者们开始将用户的时空特征、人口统计特征、用户评论应用到旅游景点的推荐,提升推荐性能 [3]。但缺少对用户评论文本情感分析的应用,特别是评论文本隐含的情感倾向与评分值不一致情况的分析。
本文主要探讨在线旅游平台上的评论文本对旅游景点推荐的影响,主要贡献有两点:
1) 基于游客的评论文本信息和LSTM (Long Short-Term Memory)模型预测用户对景点的情感得分,并按照时间序列加权替代用户对景点的评分,降低了评分数据稀疏以及部分评分与评论不一致对推荐算法性能的影响。
2) 基于用户的评论数据构建景点间社会网络,利用社会网络图中顶点的中心性计算景点的流行度,并将融入到景点的预测评分计算,进一步降低数据稀疏性对推荐算法性能的影响。
2. 文献综述
推荐技术已被广泛地应用在电子商务、产品服务、旅游、朋友发现等诸多领域。推荐算法大体上分为:基于评分的推荐方法、基于内容的推荐方法以及两种方法的混合推荐方法。
基于评分的推荐算法主要依赖于用户历史评分,代表性的是协同过滤算法 [4],其基本思想是相似的用户具有相似的兴趣,主要有基于物品的协同过滤(Item-CF)和基于用户的协同过滤(User-CF)算法。然而,协同过滤算法性能受评分数据的稀疏性影响很大,在线旅游平台上的游客评分数据存在同样的问题。学者们在协同过滤算法中融入的游客和景点信息,基于内容的推荐和混合推荐模型方法被应用到讲景点推荐 [5]。刘海鸥等使用游客基本信息、行为偏好信息和情境信息对游客进行画像,使用基于用户画像的情境化方法提供推荐服务 [6]。Ravi等使用基于位置的社交网络的游客反馈数据中的积极评论构建语言模型,挖掘游客的社会活动和行为,抽取游客的时空属性 [7];Jiang等从旅游日志中描述游客的兴趣和景点的特征的标签,如游客购买力、时间、季节偏好、景点空间等标签 [8]。上述的这些研究主要是将从文本中抽取的各种主题融入到推荐算法,缺少评论文本游客情感的分析,特别是评论文本隐含的对景点的情感倾向与评分值不一致的分析。社会网络分析也成为了提升基于内容推荐、混合推荐模型性能的重要方法,部分学者们利用社会网络特征信息提升个性化推荐算法的性能,胡云等基于社会网络分析的用户间的信任关系,实现了信任关系和社会标签融合的社会网络推荐方法,解决了推荐算法的评分矩阵稀疏性问题 [9]。Yuchen Pan等在进行O2O服务推荐时,利用网络中心性,建立频繁服务集网络,解决了数据稀疏性问题 [10]。
随着深度学习模型在自然语言处理展现出的效果,将基于深度学习模型的文本分析结果融入到推荐算法以提高推荐性能值得深入探讨。长短时记忆网络(LSTM)在捕捉短期序列信息的同时保留较长距离信息的依赖关系,在语音识别、建模,情感分析和预测等序列分析中得到广泛的应用 [11]。Cheng等在进行旅游行程推荐时,认为旅游历史记录和下一个目的地的选择具有相关性,且相关程度呈指数衰减,在景点推荐中考虑偏好的序列相关性有助于实现更准确的预测 [12]。
受上述研究的启发,对景点较固定且数量有限、游客广泛的景点推荐问题,可以利用LSTM模型提取游客评论文本的情感信息,修正游客评分,采用基于项目的协同过滤算法实现景点推荐。因而本文从基于用户评论构建的景点社会网络信息、游客评论的时间信息、文本情感信息几个视角探讨在线旅游平台的用户评论在景点推荐过程的作用。
3. 融合用户评论的景点推荐算法
3.1. 用户评论文本情感分析
文本的情感分析是对文本包含的情感倾向进行分析,其一般流程是:使用word2vec等词嵌入模型获取文本中的特征词,将文本转化为词向量,整理得到文本矩阵和特征词表;然后将词向量作为机器学习算法的输入,得到该文本正向情感或负向情感的概率。LSTM深度学习模型可以在捕捉短期序列信息的同时保留较长距离的依赖关系,在文本情感分析展现出了很好的效果 [11]。因而,面对文本长度不同且句式复杂的旅游评论文本,本文选择LSTM深度学习模型对游客评论文本进行情感得分的计算,并用情感得分代替用户对景点的评分。首先对每一条评论使用jieba分词,去掉常见停止词和数词;然后将评论文本转为one-hot编码并用其训练word2vec模型,将评论中的每个词转化为词向量,作为LSTM模型的输入。根据用户的评分人工标注了部分数据训练LSTM模型,其中5分评论作为正向情感,4分评论作为中性情感,3分及以下作为负向情感。训练模型时按照70%的比例抽取训练集,并在训练集按照数据比例增大中性和负向情感数据的权重,进行样本均衡,用剩余30%评论文本数据作为测试集检验模型的性能。然后用训练好的LSTM模型计算每条评论的情感得分。
由于偏好具有较强的序列相关性,游客对景点的偏好会随着时间的推移而产生变化,较为近期的游览记录可以更准确的体现出游客在旅游目的地选择上的偏好,对游客的游览记录按时间排序,通过拉普拉斯调整后的指数平滑方法计算游客评论的时序重要性,即相应评论情感得分的重要性,如式(1)所示。
(1)
其中,r为指数平滑的参数,本文设置r = 1,
代表景点i在某游客所有游览记录的顺序。
3.2. 景点社会网络
假设共有n个景点,根据游客评论记录构建无向图表示景点社会网络,图的顶点表示景点,顶点间的边表示两个景点被同一用户评论过,边上的权重
表示景点
和
被同一游客评论(游览)过的频率。为了缓解协同推荐过程中评分数据稀疏性问题,在景点社会网络的基础上定义景点中心性,作为景点的流行度,如式(2)所示。
(2)
3.3. 景点相似性计算
本文采用Jaccard相似性度量景点间的相似性,如式(3)所示,
表示游览过景点
的游客数,
表示同时游览过景点
和景点
的游客数。
(3)
3.4. 推荐算法
输入:旅游评论数据集;
输出:推荐的k个景点列表
Step 1:用部分标注的用户评论文本训练LSTM模型,计算用户u对景点
评论的情感得分
;
Step 2:对评论文本数据集中每个用户u,构造其游览过的景点集合游览过的景点集合
,并将其评论按时间倒序排序,按照式(2)计算评论情感权重,构建景点社会网络;
Step 3:计算景点的流行度
和景点间的相似性;
Step 4:对待推荐的用户u,读取该游客游览过的景点集合
,把景点网络中与
有边相连但用户u没有游览过的景点作为推荐的候选集合
。用式(4)计算用户u对候选集合
中每个景点
的预测评分,并降序排序,将排在前N的景点推荐给用户u。
(4)
若数据稀疏性较大,则景点
的相似性
可能为0,因此在式(4)中引入景点的流行度,以降低数据稀疏性对推荐的影响。
4. 实验及结果分析
本文使用的实验数据来自携程网,是截止2020年3月2451个景点、21,616游客的592,178条用户评论文本及其评分数据
,评分数据取值范围是[1, 5]。
4.1. 推荐评价指标
本文采用推荐精确率/Precision、召回率/Recall、F1值/F1-Score和多样性评价推荐算法的性能,计算公式如式(5)~(8)所示。
(5)
(6)
(7)
其中,k为推荐算法推荐的景点数量,
为k个推荐的景点中用户游览的景点数量,
为所有游客实际游览的景点中被准确推荐的景点数量。
通过内部列表距离定义的个体多样性描述推荐算法的多样性 [13],描述了推荐列表中所有推荐商品两两相似性的平均,其计算公式如式(8)所示。
(8)
其中,
表示用户u的推荐列表,
和
表示该用户推荐列表中的第i和第j个被推荐的景点,
且
,k为推荐列表的长度,即为每个游客推荐的景点数量。
4.2. 情感分析模型LSTM性能验证
首先对每一条评论文本使用jieba进行分词,并去掉常见停止词和数词;然后将评论文本转为one-hot编码并用其训练word2vec模型,将评论中的每个词转化为词向量,作为神经网络的输入。在超参数的设置上,使用默认的学习率,使用小批量梯度下降,梯度大小为32。LSTM层设置输出维度为50,activation = “tanh”,inner_activation = “hard_sigmoid”,优化算法使用adam算法。训练模型时首先按照70%的比例抽取训练集,剩余30%评论文本数据作为验证集。按5分评论作为正向情感,4分评论作为中性情感,3分及以下作为负向情感,按照数据比例增大中性和负向情感数据的权重,对训练样本集强制进行样本均衡,训练LSTM模型。最终得到模型的训练准确率为0.91,预测准确率为0.89。
4.3. 实验结果分析
选择Item-CF、Item-CF + 景点社会网络分析、本文的推荐方法,推荐列表长度k = 10,实验结果如表1所示。其中,Item-CF算法中用户对景点评分采用的是网站上获取的评分数据,并用式(9)计算用户的预测评分;Item-CF + 景点社会网络分析是在Item-CF算法中融入景点的社会网络信息,用式(10)计算用户的预测评分。
(9)
(10)

Table 1. Performance comparison of recommendation algorithms
表1. 推荐算法性能对比
从表1数据可以发现,基于物品的协同过滤算法(Item-CF)几乎无法做出任何准确的推荐。这是由于在极度稀疏的数据集上,作为协同过滤算法核心的相似度计算难以实现。而本文提出的推荐算法在精确率、召回率、F1-score、多样性上都具有较好的表现,说明网络分析方法和文本分析方法在解决数据稀疏性上具有较好效果,且情感的提取有助于分析游客的兴趣,并提供令游客惊喜的推荐。
5. 总结
个性化推荐可以为用户提供更好的信息服务,本文主要探讨在线旅游平台上的评论文本对旅游景点推荐的影响,发现用户评论数据对个性化推荐性能有显著影响,特别是在多样性新颖性推荐方面有较好的表现。所以旅游平台应该更好地利用平台上的评论数据,实现更加精准的用户偏好分析和目的地景点推荐,为用户的出游活动提供有力支持,激活疫情后的旅游业。