这篇博客想利用学习到的英文nlp相关的知识,分析来自yelp(美国点评网站)的用户评论信息。主要包括以下一些操作:
- 自然语言处理相关操作
- 基于tf-idf的预测模型
- 基于lstm的预测模型
导入数据
首先导入数据查看一下原始数据的格式
- 对于每一个用户,有以下一些信息:
| Key | Value |
|---|---|
| user_id | l6BmjZMeQD3rDxWUbiAiow |
| review_count | 95 |
| yelping_since | 2013-10-08 23:11:33 |
| friends | c78V-rj8NQcQjOI8KP3UEA, alRMgPcngYSCJ5naFRBz5g… |
| fans | 5 |
| average_stars | 4.03 |
| … | … |
- 对于每一条评论,有以下一些信息:
| Key | Value |
|---|---|
| review_id | Q1sbwvVQXV2734tPgoKj4Q |
| user_id | hG7b0MtEbXx5QzbzE6C_VA |
| business_id | ujmEBvifdJM6h6RLv4wQIg |
| stars | 1 |
| useful | 6 |
| funny | 1 |
| cool | 0 |
| text | Total bill for this horrible service? Over $8G… |
| date | 2013-05-07 04:34:36 |
- 对于每一个商户,有以下一些信息:
| Key | Value |
|---|---|
| business_id | 1SWheh84yJXfytovILXOAQ |
| name | Arizona Biltmore Golf Club |
| address | 2818 E Camino Acequia Drive |
| city | Phoenix |
| state | AZ |
| postal_code | 85016 |
| latitude | 33.5221 |
| longitude | -112.018 |
| stars | 3 |
| review_count | 5 |
| is_open | 0 |
| attributes | {‘GoodForKids’: ‘False’} |
| categories | Golf, Active Life |
| hours | None |
其他还有一些关于打卡、小费等详细信息。
数据筛选与基本分析
-
因为数据量非常大,所以根据以下标准选取研究数据。
- 加拿大多伦多市
- 评论数至少30个的餐馆
- 2012年之后
-
以下是随机选取符合条件的1000家餐馆在地图上的显示。

评论的内容主要集中在2014年-2018年

评论的评分呈右偏分布,大部分为三分以上。

大部分用户仅有1-3个评论,而少部分用户会有多个评论。

自然语言处理
去除停用词、特殊符号等
from spacy.tokens import Token
from spacy

本文介绍了如何运用自然语言处理技术分析Yelp评论数据,通过预处理、向量化和LSTM模型训练,预测餐厅评分。在预处理中,涉及去除停用词和特殊符号,采用TF-IDF和Doc2Vec进行向量化。最终,LSTM模型在验证集上的MAE达到0.70。
最低0.47元/天 解锁文章
6160

被折叠的 条评论
为什么被折叠?



