【案例实战分析】 用Python深度挖掘沉浸式景区评论背后的秘密

一、背景介绍

在当下竞争激烈的文旅市场,游客评论不仅是口碑的体现,更是优化服务、精准营销的风向标。传统依赖人工看评论的方法效率低、信息碎、无法量化。

于是我尝试用 Python 数据分析 + 自然语言处理(NLP)的方法,对万岁山武侠城的某程评论进行深度挖掘,期望达到以下目的:

  • 快速提取评论关键词与情绪倾向:辅助景区精准识别服务亮点与痛点
  • 识别游客类型与满意度之间的关联:揭示亲子游、情侣游等群体的具体偏好
  • 分析游客地理来源与情感偏好分布:优化市场投放和区域运营策略
  • 追踪评论月度趋势变化:为景区运营方制定淡旺季策略提供数据支撑

💡 面向文旅行业从业者、景区运营方、数据分析师、AI应用探索者
📊 提供景区评论智能分析模型 + 情绪趋势分析 + 用户画像洞察
🔍 本案例基于真实某程评论数据,带你还原游客最真实的声音与偏好

二、数据获取与处理流程

✅ 数据来源

  • 来源平台:某程
  • 景区名称:万岁山武侠城
  • 获取方式:自建 Python 爬虫进行结构化提取
  • 采集数量:3千多条

✅ 数据字段展示

Unnamed: 0_idcommentIdpoiInfoextInforeplyInforeplyTypeListcommentKeywordListcommentTagInforesourceIdresourceTypebusinessIdbusinessTypedistrictIdsourceTypeexternalResourceIdhasVotedisUnUsefulshowUsefulModuleisPickedisGoodisOwnerfromTypefromTypeTextpublishTimepublishStatususefulCountreplyCountscoretouristTypeimagesvideosvoteUserscontentlanguageTypetranslateContenttranslateLanguageTypecanEditjumpUrljumpH5UrlreplyJumpUrlpublishTypeTagisTripShootaiTagIdSensreplyTagreplyContentreplyTimesetTitleouterTitleimpressionTagsrecommendItemschildrenTagipLocatedNamereplyIpLocatedNameisFollowisDeletedclientInfoipjumpMiniAppUrlisAnonymtheForkLogoUrltimeDurationtouristTypeDisplayoriginContentcollectCnthasCollectedisUnderReviewpredicted_labelipLocatedNameEntouristTypeDisplayEndatemonth
00208331747208331747nannan[]nan[][]77323667824870165530030209277FalseFalse1FalseFalseFalse1来自订单/Date(1744111046000+0800)/60053[][][]非常不错的体验zh-cnnannanFalse/trip_flutter?flutterName=flutter_trip_shoot_review_detail&businessId=208331747https://m.xxx.com/webapp/you/comment/detail/77323/66/208331747.html/rn_destination_video/main.js?CRNModuleName=destinationlive&CRNType=1&initialPage=CommentFloat&id=208331747&isPresent=0&topPercent=0.3&isTransparentBg=YES&scene=review&topBackgroundColor=rgba(0,0,0,0.6)2025-04-08 发布点评Falsenannannannannannannannannan湖北nanFalseFalse{“clientId”:“”,“currency”:“”,“platform”:“”,“cctPlatform”:“”}nan/pages/gs/comment/detail?BusinessId=0&BusinessType=0&CommentId=208331747&POIId=0&SightId=00nannan朋友出游nan0FalsenanhappyHubei朋友出游2025-04-08 00:00:002025-04
11208312224208312224nannan[]nan[][]7732366782487016551128137131147441FalseFalsenanFalseFalseFalse1来自订单/Date(1744093379000+0800)/60053[][][]一次不错的旅行zh-cnnannanFalse/trip_flutter?flutterName=flutter_trip_shoot_review_detail&businessId=208312224https://m.xxx.com/webapp/you/comment/detail/77323/66/208312224.html/rn_destination_video/main.js?CRNModuleName=destinationlive&CRNType=1&initialPage=CommentFloat&id=208312224&isPresent=0&topPercent=0.3&isTransparentBg=YES&scene=review&topBackgroundColor=rgba(0,0,0,0.6)2025-04-08 发布点评Falsenannannannannannannannannan河南nanFalseFalse{“clientId”:“”,“currency”:“”,“platform”:“”,“cctPlatform”:“”}nan/pages/gs/comment/detail?BusinessId=0&BusinessType=0&CommentId=208312224&POIId=0&SightId=01nannan朋友出游nan0FalsenanhappyHenan朋友出游2025-04-08 00:00:002025-04
22208312203208312203nannan[]nan[][]7732366782487016551128137131147064FalseFalsenanFalseFalseFalse1来自订单/Date(1744093357000+0800)/60053[][][]表演多,环境好zh-cnnannanFalse/trip_flutter?flutterName=flutter_trip_shoot_review_detail&businessId=208312203https://m.xxx.com/webapp/you/comment/detail/77323/66/208312203.html/rn_destination_video/main.js?CRNModuleName=destinationlive&CRNType=1&initialPage=CommentFloat&id=208312203&isPresent=0&topPercent=0.3&isTransparentBg=YES&scene=review&topBackgroundColor=rgba(0,0,0,0.6)2025-04-08 发布点评Falsenannannannannannannannannan河南nanFalseFalse{“clientId”:“”,“currency”:“”,“platform”:“”,“cctPlatform”:“”}nan/pages/gs/comment/detail?BusinessId=0&BusinessType=0&CommentId=208312203&POIId=0&SightId=00nannan朋友出游nan0FalsenanhappyHenan朋友出游2025-04-08 00:00:002025-04

✅ 预处理步骤

  • 清洗:去除广告、水贴、空评论、重复评论
  • 分词:使用 jieba 进行中文分词
  • 去停用词:自定义停用词表
  • 专有名词:自定义专有名词表
  • 去重与标准化处理

三、评论关键词挖掘与词云分析

利用 n-gram 方法,统计了评论中出现频率较高的 n-gram词组,并分别为好评和差评生成了词云图,帮助我们更直观地理解游客的情感倾向和关注点。

N-gram代码

from sklearn.feature_extraction.text import CountVectorizer
from wordcloud import WordCloud
import matplotlib.pyplot as plt


comments = df[df['score']<4]['content'].to_list() 
# 用 jieba 分词后合并为字符串
texts = [" ".join(jieba.lcut(comment)) for comment in comments]

# 生成 N-gram 特征(比如 bi-gram)
vectorizer = CountVectorizer(ngram_range=(2, 2))  # 2-gram
X = vectorizer.fit_transform(texts)
ngrams_freq = X.toarray().sum(axis=0)

# 得到词组和频率
ngram_freq_dict = {word.replace(' ',''): freq for word, freq in zip(vectorizer.get_feature_names_out(), ngrams_freq)}

# 打印 top N 的词组
sorted_ngrams = sorted(ngram_freq_dict.items(), key=lambda x: int(x[1]), reverse=True)
sorted_ngrams = [(s[0], int(s[1]))for s in sorted_ngrams]
print("Top ngram 词组:")
for word, freq in sorted_ngrams[:1]:
    print(f"{word} : {freq}")

🌟 好评词云分析

提取了评论中的高频 2-gram词组,分析出以下热门正向词组:

  • 演出精彩、性价比超高、值得一去、非常不错、表演很多
  • 孩子喜欢、打铁花震撼、节目丰富、适合孩子、非常推荐
  • 推荐推荐、表演精彩、节目非常好、非常好玩、演员敬业
📷 好评词云图

在这里插入图片描述

🎯 大多数游客对景区的 表演内容性价比 表现出高度满意,尤其是 打铁花 等节目深受好评,适合亲子家庭游玩。

⚠ 差评词云分析

同样,我们提取了 2-gram 负面评论中的常见词组,并绘制了差评词云图:

  • 体验极差、垃圾客服、景区人员态度差、排队时间长、价格偏高
  • 限流措施差、踩踏事件、节假日人多、厕所差、没有体验感
  • 交通不便、服务差、没有限流、非常不好、没有任何提醒
📷 差评词云图

(插入差评n-gram词云图)

🎯 负面情绪集中在 服务质量设施维护游客密度管理 以及 交通便利性 等方面,尤其在节假日游客过多时,存在较为严重的 排队踩踏 等问题,影响了游客的整体体验。

四、情感标签分布情况

对所有评论文本进行了情感倾向识别,使用 BERT 模型 进行情感分类,并将评论划分为以下情感标签:

  • 标签:Happy、Neutral、Angry、Sad、Surprise、Fear

预测代码

# 加载模型和tokenizer
model = BertForSequenceClassification.from_pretrained('./saved_model')
tokenizer = BertTokenizer.from_pretrained('./saved_model')

def predict_sentiment(input_text):
    inputs = tokenizer(input_text, return_tensors='pt', truncation=True, padding=True, max_length=512)

    # 进行推理
    with torch.no_grad():
        outputs = model(**inputs)

    # 获取预测结果
    predictions = torch.argmax(outputs.logits, dim=-1)
    predicted_label_index = predictions.item()  # 数字标签(0 到 5)

    # 反编码为原始标签
    predicted_label = label_encoder.inverse_transform([predicted_label_index])[0]
    return predicted_label

情感分布

  • Happy:2244条评论
  • Neutral:432条评论
  • Angry:420条评论
  • Sad:104条评论
  • Surprise:36条评论
  • Fear:4条评论

📊 情感分布柱状图

在这里插入图片描述
🎯大多数游客的评论呈现 正面情感,其中 Happy 标签的评论数量远高于其他标签。负面情绪主要集中在 AngrySad 标签,其中 排队、服务体验 等问题可能导致了游客的 负面情绪。少量评论中出现 FearSurprise 标签,可能与游客的意外体验或不满情绪相关。

🧑‍🤝‍🧑 游客类型与情感偏好分析

我们对不同游客类型(如家庭亲子、情侣夫妻、朋友出游等)进行了情感倾向分析,统计了每种游客类型在情感标签(如 Happy、Neutral、Angry 等)下的占比。

📊 游客类型 vs 情感分布柱状图

在这里插入图片描述
在这里插入图片描述
🎯通过对不同游客类型的情感分析,发现:​
家庭亲子:​情感表现最为积极,正面评价占比超过70%。这可能与景区丰富的亲子活动和演出有关,满足了家庭游客的需求。​
朋友出游和情侣夫妻:​也表现出较高的正面情感比例,说明景区的武侠文化和互动体验对这些群体有较大吸引力。


五、评论数量的时间变化趋势分析

统计了每月评论数量与情绪变化趋势,发现评论量与假期/旅游旺季高度相关

📉 月度评论变化折线图

(插入折线图)

📌 分析结果

  1. 2024年全年评论趋势
    • 持续活跃:2024年全年评论数量保持相对活跃,尤其是节假日和旅游旺季,评论量明显增加。
    • 8月评论高峰:2024年8月达到了评论量的最高点(239条),这与暑期旅游高峰、节假日相关,也是景区开展二次元漫展狂欢节所致。
  2. 2025年初评论趋势
  • 高位持续:2025年前几个月评论数量依然保持在高位,反映出景区和旅游地的热度持续不减,游客的关注度仍然较高。表明该景区在短期内仍然维持高涨的活跃度。
  1. 社交平台影响
  • 平台效应:2024年8月和2025年初的高评论量可能与抖音小红书等社交平台的流行密切相关,尤其是在这些平台上进行的景区推广和游客分享,带动了评论量的大幅提升。
  • 用户生成内容(UGC):社交平台的高互动性和游客的积极分享,增强了景区的曝光度,也推动了游客更频繁地在平台上发布评论,形成了自我循环的效果。
  1. 趋势结论
  • 热度持续:景区的热度从2023年延续到2025年,反映出旅游市场的稳定活跃。尤其是在社交平台的推动下,景区的关注度和评论量持续增长。

六、语义网络分析

对评论中的关键词进行了深度分析,构建了语义网络,揭示了不同关键词之间的关联与影响。通过该分析,我们能够识别出游客评论中最常提及的主题和热点问题,帮助我们更好地理解游客的关注点。

📊 语义网络分析图

在这里插入图片描述

📌 分析结果

  1. 高频关键词

    • “表演”“演出”“节目”:这些关键词的频率很高,显示出游客对景区表演类活动的高度关注,尤其是关于“打铁花”和“精彩”的描述。
    • “景区”“景点”:这两个词频繁出现在评论中,表明游客关注的重点是景区本身以及其各类景点设施。
    • “价格”“性价比”“门票”:这些关键词与景区的收费有关,反映出游客对价格和性价比的敏感度。
  2. 关键词关联

    • 表演类活动:如“精彩”、“震撼”、“好看”等关键词与“演出”、“表演”高度关联,表明游客对这些活动的热衷和赞赏。
    • 价格相关:如“贵”、“便宜”、“性价比”等词汇与“门票”、“价格”直接相关,突出游客对收费的关注点。

七、总体总结

通过对景区评论数据的深入挖掘与情感分析,我们得出以下关键结论:

  1. 游客整体满意度较高,评论中积极情绪占比超过 75%,景区的表演内容与环境体验是最受认可的核心优势;
  2. 负面反馈集中在高峰期的排队、拥挤与配套服务不足,影响游客节假日期间的整体体验;
  3. 游客群体以家庭亲子和朋友出游为主,需求存在差异,需做出更有针对性的服务与活动设计;
  4. 节假日评论激增且情绪波动较大,反映出运营调度与服务承载在关键时间节点上的挑战;
import requests
url = "http://wx.17610352720.wx"
response = requests.get(url)
print(response.text) #获取数据集

八、结语

该分析仅供学习交流使用,禁止用于商业用途,不构成任何投资建议。

数据不止于分析,更应反哺运营。将游客声音转化为行动方向,是实现景区可持续增长和口碑提升的关键。

创作不易,如果你觉得有帮助,请点个赞支持一下。你的鼓励是我创作的最大动力,期待未来能为大家带来更多有趣的分析文章。感谢大家的阅读和支持!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱python的王三金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值