基于评论文本挖掘的景区推荐系统

Posted 数果智能

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于评论文本挖掘的景区推荐系统相关的知识,希望对你有一定的参考价值。

 

业务背景

基于评论文本挖掘的景区推荐系统


自由行已经成为80后90后的主流出行方式,一般预订顺序如下:购买机票,购买酒店,然后确定游玩哪些景点和项目,确定去哪儿玩的过程:

1

翻攻略,看别人去了哪儿

2

翻目的地城市的景点列表看推荐的景点
查看玩过的人评论内容,判断这个地方是不是如封面图看起来一样那么美好

3

购票入园


目前评论的展示方式:

基于评论文本挖掘的景区推荐系统


本文要解决的问题:

1、根据用户场景:

官方推荐的景点千篇一律,而用户的需求是多样的
2、快速决策去哪儿玩:
满足用户找景点解决去哪儿玩的问题
3、提升用户游玩满意度:
基于大数据文本挖掘技术和NLP自然语言分析,利用现有的用户真实评论数据进行挖掘分析,以期给用户推荐最有用的评论信息,帮助用户有效决策,在选择之前使得用户提前获得对应景区已出行游客的游玩提示(如交通,人流量,换票点,景区里面的情况,是否适合带孩子,需要注意什么)


本文对去哪儿网玩乐事业部的景区游玩评论数据进行文本挖掘分析,本项目的建模目标如下:

1

评论文本训练word2vec模型

2

评论关键词提取

3

对评论内容进行情感分析

4

根据评论对景区进行打分Rank

5

根据评论内容对评论进行Rank

基于评论文本挖掘的景区推荐系统  

评论文本挖掘流程 

基于评论文本挖掘的景区推荐系统

在开始文本挖掘时,首先对景区的评论文本进行全量抽取(注:项目上线后会对新增评论采用增量文本处理的方式,保证评论的时效性)。

1) 第一步:对评论数据进行文本清洗,包括去重、去空、去缺失值以及停用词过滤,

2) 第二步:对评论文本进行分词处理,以及语料库的训练

3) 第三步:对分词后的结果进行关键词提取,并利用训练好的模型对关键词进行同义词的训练和收集,这些关键词的同义词都作为用户索引词的一部分存储在数据库中

4) 第四步:对评论进行情感分类、评论打分以及景区热度的排名


具体参考以下步骤:

基于评论文本挖掘的景区推荐系统


一、景区主题选择

我们选择一个景区主题进行分析,比如游乐场。游乐场主题根据词频获取关键词:取票、排队、刺激、项目、价格、订票、二维码、表演、过山车、入园10大关键词。但是为了方便用户索引,我们将这10大关键词定义为游乐场表演,性价比之王,扫码验证,入园便利,过山车,设施完善,取票方便,惊险刺激,遛娃儿,不排队。这样更能贴近用户的索引需求,更加便利。

基于评论文本挖掘的景区推荐系统


基于评论文本挖掘的景区推荐系统


二、评论关键词提取

如下是根据TF-IDF做出的词频统计,以及景区和关键词的词云图,非常清晰的可以看出评论的词频大致情况。

基于评论文本挖掘的景区推荐系统

基于评论文本挖掘的景区推荐系统

基于评论文本挖掘的景区推荐系统


三、整体技术架构

架构特点:

① 查询速度快

② 情感分类准确度高

③ 景区热度排序

④ 推荐理由准确

⑤ 覆盖所有需求点

⑥ 模型新颖、成熟度高

⑦ 提供索引词减少用户决策时间

⑧ 投入少、开发快,上线周期短

基于评论文本挖掘的景区推荐系统


四、算法模型评价

基于评论文本挖掘的景区推荐系统

基于评论文本挖掘的景区推荐系统


五、关键技术

基于评论文本挖掘的景区推荐系统

Data Analysis:

① 玩乐总评论数据分析

② 游乐场评论数据分析

③ 关键词提取

④ 同义词排序


Model Training:

① 维基百科语料库word2vec训练

② 总体评论语料库训练

③ 游乐场语料库训练

④ 结巴分词


Comment Rank:

① 景区热度排名

② 评论打分排名

③ 情感分类

④ 情感极性排名


Algorithms:

① word2vec

② SVM

③ 朴素贝叶斯

④ LDA

⑤ AHP层次分析法


Implementation:

① 数据库:Postgresql

② 全文检索:ElasticSearch

③ 同义词提取:Gensim

④ 情感分析:snowNLP(最后验证分类效果不好)

⑤ 主题分类:LDA

⑥ Http接口:Python

⑦ 数据分析:Pandas

⑧ 分词:jieba/snowNLP/NLTK

六、经验总结及建议


七、 成果展示


八、结语

NLP自然语言处理是庞大的领域,涉及语言学业务背景、复杂的算法,语料收集等等,其研究领域非常广泛。在学习的时候也遇到了诸多的困难,生涩艰难的数学模型(概率图模型:隐马尔科夫过程HMM,最大熵模型,条件随机场CRF等),还有最重要的就是语料库的难度,很多新词层出不穷,如何来定义新词的词性和情感分类,这些都需要投入人力或者深度学习等高深的知识。本文虽然提到了NLP,但实际上只是利用了NLP的最基本功,然后结合统计分析方法完成了简单的评论文本挖掘,虽然在工程上满足了业务应用的要求。但在知识学习层面却还有很多路要走。作者水平有限,分享此文,恳请大家不吝赐教。   



以上是关于基于评论文本挖掘的景区推荐系统的主要内容,如果未能解决你的问题,请参考以下文章

[python]评论文本挖掘:找出兴趣相投的用户并作产品推荐

推荐系统炼丹笔记:多模态推荐之用户评论篇

推荐系统 一

推荐系统学习——基于TF-IDF的改进

基于网易云音乐评论的用户推荐系统(全)

数据挖掘课程设计实战——基于Django开发的音乐推荐系统网站