基于评论文本挖掘的景区推荐系统
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的最基本功,然后结合统计分析方法完成了简单的评论文本挖掘,虽然在工程上满足了业务应用的要求。但在知识学习层面却还有很多路要走。作者水平有限,分享此文,恳请大家不吝赐教。
以上是关于基于评论文本挖掘的景区推荐系统的主要内容,如果未能解决你的问题,请参考以下文章