1. 引言
河北省秦皇岛市作为我国北方首批沿海开放城市,拥有丰富的历史底蕴和滨海旅游资源。近年来,社会经济快速发展,旅游业发展欣欣向荣。随着生活水平提高,游客餐饮消费逐渐向精神性消费转变。地方特色美食既代表着城市的特色,也是吸引游客前来旅游的重要因素。因此,研究游客餐饮体验对促进城市餐饮经济和旅游经济的健康发展有着不可忽视的作用。
互联网和大数据迅速发展,游客在旅行前会通过网络了解当地特色美食,旅行结束后也会在网络平台发表对旅游体验和餐饮体验的看法。网络平台旅游餐饮评论对分析游客餐饮体验至关重要。因此,本文获取网络平台餐饮评论进行情感分析,并根据情感分析结果捕捉游客对于秦皇岛市美食的态度,为提升秦皇岛餐饮水平提供理论依据,力求推动秦皇岛旅游经济发展。
2. 情感分析研究现状
情感分析属于自然语言处理领域的文本分类范畴,近年来被广泛关注。目前,文本信息情感分析方法可分为基于情感词典、机器学习和深度学习三类。
基于情感词典的情感分析方法是传统的情感分析方法,早年间应用较为广泛。该方法虽然操作简单,但准确率在很大程度上取决于所构建词典的质量,目前该方法使用较少。
大数据时代来临,情感分析的文本数量日益庞大。当样本信息很大时,机器学习有较好的分类效果。唐慧丰等通过对比文本分类方法,在不同的特征数量和不同规模的训练集情况下,分别进行了中文情感分类实验,实验证明SVM有较好的分类效果[1]。邓慈云等构造了基于朴素贝叶斯的情感分类器模型,将其应用于豆瓣网站的影评,对影评进行情感分析,获得了比较高的准确率[2]。
虽然机器学习算法在文本情感分析方面取得了不错的效果,但其在判断句子情感倾向时,容易忽略具有情感特性的词,且泛化能力较差,而深度学习算法在一定程度上可以缓解此问题。周萌通过word2vec和LSTM建立二分类器模型,对爬取到的冰箱评论评论行进情感分析对比,得到LSTM算法有更好的分类效果,有助于消费者从评论中获取有用信息[3]。该文章预训练语言模型为word2vec模型,学习到的是静态的文本信息,输入神经网络的词向量信息比较单一。Devlin等人提出了BERT预训练语言模型,该模型是一种真正意义上的双向编码模型,是预训练语言模型的集大成者[4]。高丽君对酒店评论做情感分析,分别采用word2vec、Glove、fastText、BERT预训练语言模型做将文本信息向量化,得到BERT模型特征提取的效果最好,为消费者选择酒店提供了参考[5]。张亚立提出了一种注意力卷积Transformer模型,结合了Transformer架构和CNN提取局部特征的优点,并实现高效的假新闻检测[6]。邵辉为了改善平台和商家对客户的服务,构建了BERT-TextCNN情感分析模型,该模型发挥了BERT模型特征提取的优势,具有很好的情感分析效果[7]。
餐饮体验是游客旅游体验的重要组成部分,对游客餐饮评论的研究可以更好地了解游客的偏好以及旅游地餐饮业存在的问题。目前对餐饮评论的研究较少。李薇以美团平台数据为研究对象,对文本数据进行词频统计、语义网络图和系统聚类分析,归纳出影响回头客满意度的主要因素[8]。牛艺桦采用word2vec模型对郑州市餐饮评论进行向量化处理,构建LSTM模型进行情感分类[9]。李波首先预训练了一个可用于游客餐饮评论的ELMO语言模型,并提出了基于自注意力机制的细粒度情感分类深度学习模型,该模型在美团评论数据集上取得了良好的效果[10]。
针对餐饮评论进行文本挖掘和情感分析的研究较少,且目前仅有的少量研究主要是对餐饮业的分析。伴随着休闲经济的影响和旅游业的快速发展,旅行中餐饮体验逐渐由生理需求转化为追求饮食的体验感。因此,本文对秦皇岛游客餐饮评论进行分析,将情感分析技术应用于秦皇岛游客餐饮评论,构建融合注意力机制的BERT预训练语言模型以及结合上下文语境的BiLSTM情感分析模型对游客餐饮评论进行分析。旨在挖掘文本背后的深层语义关联,挖掘影响游客餐饮体验的因素,提高游客对秦皇岛美食的满意度,提升城市形象,促进旅游经济蓬勃发展。
3. 数据获取与预处理
3.1. 数据来源
秦皇岛市位于河北省的东北部,是中国近代滨海旅游的发祥地之一。秦皇岛滨海旅游最大的特色在于滨海观光,餐饮特色在于海鲜美食菜肴。近年来,游客餐饮消费逐渐向精神性消费转变,游客对旅游途中的餐饮体验直接决定了旅游体验感,在旅游地品尝当地特色美食已然成为旅游目的之一。研究旅游城市餐饮体验,对增强游客满意度,发展城市旅游业的影响不容小觑。
本文使用八爪鱼采集器收集美团平台的在线评论数据。爬取截止到2023年9月8日热度排行前160名店铺的部分评论数据,共计11,487条。获取的字段包括:商家名称、店铺评分、人均消费、地址、用户ID、评论时间、评论内容和评价星级。采集完成后以excel形式保存数据。部分原始数据如表1所示。
美团平台自成立以来深受消费者欢迎,且美团软件收集了数以万计消费者真实餐饮体验。因此,为了研究秦皇岛游客餐饮体验,本文选择美团平台的用户评论数据作为数据来源,为本文提供数据支撑。
3.2. 数据获取
本文使用八爪鱼采集器收集美团平台的在线评论文本数据。爬取截止到2023年9月8日热度排行前160名店铺的部分评论数据,共计11,487条。获取的字段包括:商家名称、评论内容和星级等。采集完成后,以excel形式保存数据。部分原始数据见表1。
3.3. 数据清洗
由于美团平台数据量巨大,评论质量良莠不齐,难免会出现“噪声数据”对后续情感分析造成干扰。因此,在获取到原始数据后,先对数据进行清洗。具体包括:去除空白数据和重复评论数据。数据清洗共删除167条数据,剩余11,320条有效在线评论数据。
Table 1. The original data display
表1. 部分原始数据展示
商家名称 |
评论内容 |
星级 |
本味渔海鲜大馅蒸饺家常菜 |
经济又实惠,菜量也不小!尤其是海鲜蒸饺,建议要尝一下,一定要尝! |
5 |
本味渔海鲜大馅蒸饺家常菜 |
上菜速度很快,菜量很大,米饭一碗抵别人家两碗,性价比高的饭店 |
5 |
本味渔海鲜大馅蒸饺家常菜 |
量大味美,一家人足够量,味道不错 |
5 |
本味渔海鲜大馅蒸饺家常菜 |
超级美味,价格实惠,孩子和老人都很合口,值得打卡的网红店 |
4 |
本味渔海鲜大馅蒸饺家常菜 |
用餐环境还可以,热菜不多。都是小海鲜,有小鲍鱼、小蛏子、小海螺等等! |
4 |
本味渔海鲜大馅蒸饺家常菜 |
性价比低,冲着小龙虾来的,结果没了。生虾质量不高。 |
2 |
本味渔海鲜大馅蒸饺家常菜 |
服务一般,说话特别豪横,旅游自驾的客人不建议去,没有车位 |
1 |
3.4. 分词及去停用词
清洗后的在线评论数据是完整的句子结构,要对其进行中文分词处理。本文选取的是jieba分词精确模式对文本数据进行分词。分词后的数据会存在例如“的”“了”等词语和英文字符、特殊符号等信息,因此还需要对分词后的结果进行去停用词处理。本文在“哈工大停用词表”的基础上,结合店铺评论信息对停用词表进行扩充。经过分词和去停用词处理后的数据见表2。
Table 2. Partial data segmentation and stop words removal results
表2. 部分数据分词及去停用词结果
评论内容 |
分词及去停用词结果 |
经济又实惠,菜量也不小!尤其是海鲜蒸饺,建议要尝一下,一定要尝! |
经济,实惠,菜量,不小,海鲜,蒸饺,建议 |
上菜速度很快,菜量很大,米饭一碗抵别人家两碗,性价比高的饭店 |
上菜,速度,裁量,米饭,一碗,别人,两碗, 性价比高 |
量大味美,一家人足够量,味道不错 |
量大,味美,一家,足够,味道,不错 |
超级美味,价格实惠,孩子和老人都很合口,值得打卡的网红店 |
超级,美味,价格,实惠,孩子,老人,合口, 值得,打卡,网红 |
用餐环境还可以,热菜不多。都是小海鲜,有小鲍鱼、小蛏子、小海螺等等! |
用餐,环境,可以,热菜,海鲜,鲍鱼,蛏子, 海螺 |
性价比低,冲着小龙虾来的,结果没了。生虾质量不高。 |
性价比低,小龙虾,虾,质量,不高 |
服务一般,说话特别豪横,旅游自驾的客人不建议去,没有车位 |
服务,一般,说话,豪横,旅游,自驾, 不建议,没有,车位 |
3.5. 数据标注
爬取的原始数据包含评论星级字段,评论星级在一定程度上表示了游客餐饮体验情感倾向。将清洗后的11,320条数据中评分为1星和2星的评论信息标记为“负面评价”,标签设置为“0”;4星和5星的评论信息标记为“正面评价”,标签设置为“1”;星级为3星的271条评论数据情感倾向比较模糊,因此采用人工标注的方法。最终,得到正面评价10,112条,负面评价1198条。
4. 情感分析模型介绍
4.1. 预训练语言模型
4.1.1. Word2Vec预训练语言模型
最早产生的词向量方式是独热编码,但由于其无法计算向量之间相似度以及维度灾难问题,Word2vec模型开始代替独热编码作为预训练语言模型。Word2Vec模型主要包括CBOW模型和Skip-gram模型。Word2vec模型的主要作用是用神经网络的方式得到词向量。
本文先将分词后的数据通过word2vec预训练模型获得词向量,然后将训练得到的向量矩阵输入情感分析模型做后续的情感分类任务。本文设置Sg = 0,即选择CBOW算法。选择词向量维度为64,训练词与预测词在一个句子中的最大距离Windows = 3,词频控制Min-count = 1,其余参数使用原始默认参数。
4.1.2. BERT预训练语言模型
Word2vec模型的缺点在于无法解决一词多义问题。而ELMO模型通过两层LSTM结构,使词向量不仅包含单词本身特征,也包含了句法特征和语义特征,在一定程度上解决了一词多义问题。
由于ELMO模型LSTM层无法做并行任务以及长序列依赖问题,自注意力机制应运而生。自注意力机制通过计算查询对象Q与被查询对象K中每一个词的相似度,相似度结果经过归一化层,得到Q与K中每一个词的相似概率值,概率值与原本的词向量相乘累加,得到新的词向量。注意力机制流程见图1。
Figure 1. Attention mechanism flow chart
图1. 注意力机制流程图
BERT预训练模型是词向量技术发展至今的集大成者[4]。其模型基础为ELMO模型双向编码的思想,将ELMO模型中的LSTM模型换成融合了注意力机制的transformer模型encoder部分,模型结构图见图2。BERT模型的输入层包含不仅包含token Embeddings和segment Embedding,还包含表示位置信息的Position Embeddings位置编码。三个向量的叠加构成了BERT模型的输入部分。每次输入的起始token会固定设置为“CLS”,便于做情感分析下游任务。
BERT预训练模型选择的特征提取器是Transformer结构中encoder部分,每一层encoder都包含Multi-Head attention层和FeedForward层,在每一个子层内部的传输过程中都包括残差网络和归一化过程。当输入的词向量进入encoder部分时,首先在第一个子层先经过多头注意力部分,将结果进行残差处理和标准化处理;结果输入第二个子层,第二个子层将自注意力层处理后的新的词向量传送到前馈神经网络,也进行残差和归一化处理,其结构见图3。通过多层编码器的学习和更新,BERT预训练模型能够输出高质量的包含情感信息的词向量。
Figure 2. BERT model network structure diagram
图2. BERT模型网络结构图
Figure 3. Transformer encoder structure chart
图3. Transformer encoder结构图
因此,BERT模型具有比较强的多义学习能力,相较于其他算法和模型,更加适用于情感分析的任务。对本文的情感分析问题,可以直接在BERT预训练模型上做单句二分类任务,计算预测分类标签和真实分类标签的交叉熵,将其作为优化目标,在任务数据上进行微调。也可以将情感分析作为预训练模型的下游任务,即将BERT预训练模型生成的向量表达输入深度学习分类算法,进行情感分类。BERT模型做情感分析下游任务流程见图4。
本文在对秦皇岛餐饮评论进行情感分析时没有选择原始BERT模型,而是采用哈尔滨工业大学与讯飞语言认知计算联合实验室发布的中文预训练语言模型BERT-wwm-ext作为本模型的预训练模型。该模型进一步增强了模型对上下文的理解能力和语义信息的学习能力。更能适应中文文本,能够为游客餐饮评论情感分析任务提取更准确的语义信息。
Figure 4. Flow chart of downstream task of BERT model emotion analysis
图4. BERT模型情感分析下游任务流程图
4.2. 深度学习分类模型
通过预训练语言模型将餐饮评论数据转化为数值型数据后,若想识别句子的情感倾向,还应将词向量化的结果输入深度学习分类模型做情感分析。近年来,深度学习模型因其高效的分析能力,逐渐在文本情感分析领域发挥较好效果。常见的深度学习情感分析模型有文本卷积神经网络(TextCNN)、门控循环单元网络(GRU)、长短期记忆网络(LSTM)、双向长短期记忆网络(BiLSTM)等模型算法。
TextCNN模型将CNN应用于自然语言处理领域。TextCNN利用不同大小的核来提取句子中的关键信息,能够更好地捕捉局部相关性。TextCNN对文本浅层特征的抽取能力很强,在短文本领域如搜索、对话领域效果很好。对长文本领域,TextCNN主要靠filter窗口抽取特征,对长句语序不敏感,在长距离建模方面能力受限。
LSTM基于传统的RNN模型。通过细胞记忆单元替代RNN隐藏层中的模块,同时使用输入门和输出门让信息选择式通过,还引入了遗忘门。LSTM由于其设计的特点,适合用于对时序数据的建模,如文本数据,该模型可以学习长期依赖信息。GRU是LSTM的一种简化版本。GRU比LSTM更简单,计算量更小,训练速度更快。但GRU在捕捉序列中的复杂依赖关系方面存在一定风险。
BiLSTM是对LSTM的改进。有效解决了LSTM无法学习反向特征的问题,Bi-LSTM模型由前向的LSTM和后向的LSTM组合而成,能够很好地处理双向数据的序列信息,更适合应用于长文本的分类任务。因此,本文采用BiLSTM模型进行情感分类。并将TextCNN模型和GRU作为对比模型。
5. BERT-wwm-ext-BiLSTM情感分析模型构建
5.1. 模型框架构建
本文在对秦皇岛游客餐饮评论信息做情感分析时,选择BERT-wwm-ext-BiLSTM情感分析模型。首先,对收集到的数据进行预处理操作;其次,预处理后的数据通过BERT-wwm-ext模型将游客餐饮评论信息转化为数字矩阵,通过语言掩码模型和下句预测两种方式对数据进行训练,结合交叉熵损失函数对模型进行优化,获取餐饮评论信息的特征表示;当词嵌入完成后,将获得的特征表示输入BiLSTM层;最后,为模型的情感判别层,经过BiLSTM情感提取后的文本特征向量先输入到全连接层预测其分类标签,然后输入到softmax分类器获取句子的情感概率分布。模型设计框架见图5。
Figure 5. BERT-wwm-ext-BiLSTM model structure
图5. BERT-wwm-ext-BiLSTM模型结构
5.2. 实验参数设置
本实验使用的编程语言是Python3.8,采用pytorch框架搭建神经网络。通过官方发布的预训练权重对BERT进行调用。实验使用的处理器是CPU。
预处理后的数据输入预训练模型BERT-wwm-ext-Base-uncased,该模型采用12层Transformer编码器结构,隐层单元数为默认值768,Multi-Head-Attention的参数为12。词嵌入结果输入BiLSTM层。输入特征和隐藏状态的大小均设置为768,将bidirectional设置为TURE,即设置为双向长短时记忆网络。其他参数均为默认值不做修改。
模型训练方面,模型所处理文本的最大长度设置成100个字符,设置batch size大小为16,epoch为10,优化器选用ASGD优化器,学习率设为0.0001,训练集与测试集的比例设置为8:2,为了防止过拟合将dropout设置为0.5。损失函数选择交叉熵损失函数,对模型进行优化。
5.3. 对比模型设置与结果分析
为了验证BERT-wwm-ext预训练语言模型的表征能力,选择word2vec模型对预处理后的餐饮评论信息做向量化处理,Word2Vec模型是基于神经网络的方法,通过学习将词汇映射到一个低维度的向量空间,通过不断地学习与更新,优化词向量结果,该模型结构简单且效果较好。将词向量结果分别输入TextCNN、GRU、以及BiLSTM神经网络模型做情感分析。TextCNN模型通过卷积层和池化层对局部特征进行提取和压缩,可以很好地捕捉游客餐饮评论的局部信息。GRU模型是为了解决长期记忆和反向传播中的梯度等问题而提出来的,被广泛应用于情感分析领域。激活函数选择relu激活函数,模型初始化定义Adam优化方法。参数设置见表3,与本文的模型设置基本一致。
Word2vec-TextCNN模型、Word2vec-GRU模型以及Word2vec-BiLSTM模型随迭代次数增加准确率变化曲线见图6。
Table 3. Contrast model parameter setting
表3. 对比模型参数设置
参数 |
参数值 |
Embedding_size |
64 |
Batch_Size |
16 |
Kernel |
3 |
Filter_num |
10 |
Epoch |
10 |
Dropout |
0.5 |
Learning_rate |
0.0001 |
num_classs |
2 |
Figure 6. Word2vec experimental results of pre-training model
图6. Word2vec预训练模型实验结果
Word2vec-TextCNN模型选择word2vec词向量结果通过TextCNN模型的卷积层、池化层、融合层和全连接层提取情感特征做情感分析。经过十轮迭代,模型准确率可达88.87%。
Word2vec-GRU模型同样选择word2vec预训练语言模型,将word2vec输出的词向量结果传入GRU模型进行情感特征提取。迭代十次后,模型准确率可以达到89.56%。
Word2vec-BiLSTM模型也选择word2vec预训练语言模型将文本信息进行向量化处理,将向量化结果通过BiLSTM模型提取情感特征进行情感分析,双向LSTM模型提取更多上下文信息。迭代十次后,模型准确率可以达到89.96%。
由于BERT预训练模型可以通过直接计算预测分类标签和真实分类标签的交叉熵,将其作为优化目标,在任务数据上进行微调直接做单句二分类任务。因此选用BERT-wwm-ext模型直接做情感分析预测作为对比模型。随迭代次数增加,该模型准确率、F1值和损失见表4。
Table 4. BERT-wwm-ext model experiment results
表4. BERT-wwm-ext模型实验结果
Epoch |
Accuracy |
F1 |
Loss |
1 |
90.38% |
84.47% |
0.6053 |
2 |
91.34% |
85.73% |
0.5862 |
3 |
91.35% |
85.73% |
0.5701 |
4 |
91.83% |
47.86% |
0.5565 |
5 |
91.83% |
85.87% |
0.5451 |
6 |
91.83% |
85.87% |
0.5354 |
7 |
91.83% |
85.87% |
0.5270 |
8 |
91.83% |
85.87% |
0.5199 |
9 |
91.83% |
85.87% |
0.5137 |
10 |
91.83% |
85.87% |
0.5083 |
本文构建的BERT-wwm-ext-BiLSTM模型,既选取了融合词向量权重信息的BERT-wwm-ext模型,又发挥双向长短期记忆网络兼顾上下文的特点,随迭代次数增加,该模型准确率、F1值和损失见表5。
Table 5. BERT-wwm-ext-BiLSTM model experiment results
表5. BERT-wwm-ext-BiLSTM模型实验结果
Epoch |
Accuracy |
F1 |
Loss |
1 |
88.63% |
48.78% |
0.3935 |
2 |
94.70% |
86.22% |
0.3701 |
3 |
92.66% |
77.02% |
0.3823 |
4 |
95.83% |
90.26% |
0.3432 |
5 |
96.26% |
91.42% |
0.3296 |
6 |
96.23% |
90.37% |
0.3287 |
7 |
96.61% |
91.68% |
0.3225 |
8 |
96.61% |
91.94% |
0.3205 |
9 |
96.75% |
91.89% |
0.3183 |
10 |
96.89% |
92.57% |
0.3183 |
综上,各模型准确率对比见图7。
BERT-wwm-ext-BiLSTM模型分类准确率可达到96.89%,比同维度下的BERT-wwm-ext模型准确率提高了5.06%。表明多模型组合提取比单模型特征提取效果更好。比Word2vec-TextCNN、Word2vec-BiLSTM、Word2vec-GRU模型准确率分别提高了8.02%、7.33%、6.93%,表明把BERT-wwm-ext模型作为预训练语言模型要比word2vec预训练语言模型效果更好,这是因为BERT-wwm-ext模型融合了多头注意力、位置编码、掩码等信息,其生成的词向量能更好的表征文本信息。
训练结果表明,本文所研究的秦皇岛餐饮评论数据,可以采用BERT-wwm-ext-BiLSTM模型进行情感分类,模型效果优于其他对比模型。
Figure 7. Comparison of model accuracy
图7. 模型准确率对比
6. 基于负面评论的游客餐饮体验影响因素分析
本文构建的BERT-wwm-ext-BiLSTM模型在对秦皇岛游客餐饮评论进行情感分析时,对正面评价和负面评价的判别精度高达96.89%。因此,本文针对BERT-wwm-ext-BiLSTM模型的分类结果,对餐饮评论的负面评价进行单独分析,确定差评的影响因素来源,为改进秦皇岛餐饮业提供理论依据,力求推动秦皇岛旅游经济发展。通过Python程序对127条负面评论进行了LDA模型构建。在确定主题数量时,采用了有监督和无监督相结合的方法,最终确定了5个主题,得到的5个主题及去除部分无意义虚词后权重前8的主题特征词见表6,主题分布比例见图8。
Table 6. Negative comment topic analysis results
表6. 负面评论主题分析结果
价格 |
服务 |
环境 |
菜品 |
味道 |
套餐 |
服务员 |
环境 |
海鲜 |
味道 |
美团 |
态度 |
体验 |
菜品 |
难吃 |
团购 |
服务 |
垃圾 |
螃蟹 |
恶心 |
价格 |
上菜 |
盘子 |
不新鲜 |
口感 |
差劲 |
前台 |
拉肚子 |
个头 |
极差 |
不值 |
冷漠 |
沙子 |
死的 |
用餐 |
份量 |
时间 |
卫生 |
品质 |
体验感 |
限时 |
商家 |
脏乱差 |
种类 |
吃海鲜 |
Figure 8. Distribution map of the number of negative comment topics
图8. 负面评价主题数量分布图
基于主题分布结果可以了解到游客对秦皇岛餐饮的负面评价主要体现在价格、服务、环境、菜品以及味道五个方面。第一,是关于店铺价格水平,“套餐”“美团”和“团购”等特征提及频率高,商家应做到套餐消费与店内点餐一视同仁,保证诚信经营。第二,是关于餐饮工作人员的服务态度问题,服务员和商家的服务态度问题以及处理问题的效率问题会直接影响游客餐饮体验。第三,要关注餐饮店铺环境卫生问题,做好清洁工作,为游客提供良好的用餐体验。第四,菜品的品质问题也被广泛提及,要在保证海鲜的新鲜度的前提下,丰富海鲜种类,提升海鲜品质。第五,菜品的口味问题也是关键,商家要推广适口性较高的烹饪方法,满足游客的需求。
7. 结论
为提高游客餐饮体验,本文对游客餐饮评论进行情感分析。通过对比实验表明BERT-wwm-ext-BiLSTM模型能更好地识别餐饮评论的情感倾向。融合了注意力机制的BERT-wwm-ext预训练语言模型替代传统Word2vec模型生成词向量,BiLSTM模型较其他深度学习模型能更好地提取上下文信息,提高了句子情感识别精度。根据模型的分类结果,对餐饮评论的负面评价进行主题分析,确定差评的影响因素来源主要为价格、服务、环境、菜品以及味道四个方面。相关部门要提高关注度,及时做出整改,力求提高秦皇岛旅游竞争力,推动旅游经济发展。
本文构建的BERT-wwm-ext-BiLSTM模型在运行过程中,由于参数量太大,运行的时间成本过大。因此,在尽量不影响模型精度前提下简化模型是后续研究的重点。
基金项目
邯郸市科学技术研究与发展计划项目(21422304303)。
NOTES
*通讯作者。