改良的用于情感分类的餐馆评论数据集

  • 原数据说明
  • 字段说明
  • 数据集改良
    • 1.只保留 rating列 和comment列
    • 2.数据集去重去空
    • 3.按照rating大小二分类
    • 4.均衡正负向评论

原数据说明

yf_dianping 说明
下载地址: 百度网盘
数据概览: 24 万家餐馆,54 万用户,440 万条评论/评分数据
推荐实验: 推荐系统、情感/观点/评论 倾向性分析
数据来源: 大众点评
原数据集: Dianping Review Dataset,Yongfeng Zhang 教授为 WWW 2013, SIGIR 2013, SIGIR 2014 会议论文而搜集的数据
加工处理:
只保留原数据集中的评论、评分等信息,去除其他无用信息
整理成与 MovieLens 兼容的格式
进行脱敏操作,以保护用户隐私

该数据集中主要用到的是ratings.csv

import numpy as np
import pandas as pd
pd_ratings = pd.read_csv(path+'ratings.csv')print('用户 数目:%d' % pd_ratings.userId.unique().shape[0])
print('评分/评论 数目(总计):%d\n' % pd_ratings.shape[0])print('总体 评分 数目([1,5]):%d' % pd_ratings[(pd_ratings.rating>=1) & (pd_ratings.rating<=5)].shape[0])
print('环境 评分 数目([1,5]):%d' % pd_ratings[(pd_ratings.rating_env>=1) & (pd_ratings.rating_env<=5)].shape[0])
print('口味 评分 数目([1,5]):%d' % pd_ratings[(pd_ratings.rating_flavor>=1) & (pd_ratings.rating_flavor<=5)].shape[0])
print('服务 评分 数目([1,5]):%d' % pd_ratings[(pd_ratings.rating_service>=1) & (pd_ratings.rating_service<=5)].shape[0])
print('评论 数目:%d' % pd_ratings[~pd_ratings.comment.isna()].shape[0])
用户 数目:542706
评分/评论 数目(总计):4422473总体 评分 数目([1,5]):3293878
环境 评分 数目([1,5]):4076220
口味 评分 数目([1,5]):4093819
服务 评分 数目([1,5]):4076220
评论 数目:4107409

该数据集非常的大,大约1.75G,WPS或Excel根本无法打开完整的数据集

字段说明

pd_ratings.sample(10)

数据集改良

为了减少数据集数量,和便于情感二分类处理,对该数据集做了以下处理:

1.只保留 rating列 和comment列

2.数据集去重去空

column1 = ["rating"]
column2 = ["comment"]pd_all=pd_all.dropna(how = 'any')#去空值
pd_all=pd_all.drop_duplicates(column2)#去重
#去除空数据
display(pd_all.shape, pd_all.head())
(2681023, 8)

3.按照rating大小二分类

浏览数据集,rating1,2分为差评,3,4,5分为好评。
顺便将列名改为label 和review

df = pd.read_csv('./cleanratings.csv')#经上文操作处理过的文件
def score(x):if x>=3:#大于等于3好评return 1else:#评分为1,2 差评return 0
df['label']=df['label'].transform(score)
print('评论数目(总体):%d' % df.shape[0])
print('评论数目(正向):%d' % df[df.label==1].shape[0])
print('评论数目(负向):%d' % df[df.label==0].shape[0])
评论数目(总体):2681023
评论数目(正向):2478300
评论数目(负向):202723

可以看出正负向评论数量差别悬殊

4.均衡正负向评论

通过对正向评论随机抽样,使得正负向评论数目相同

df = pd.read_csv('./cleanratings.csv')
df1=df[df.label==1].sample(202723)
df2=df[df.label==0]
df = pd.concat([df1,df2],axis=0)#按行合并
#df[df.label==1]=df[df.label==1].sample(202723).label
print('评论数目(总体):%d' % df.shape[0])
print('评论数目(正向):%d' % df[df.label==1].shape[0])
print('评论数目(负向):%d' % df[df.label==0].shape[0])
df.to_csv('cleanratings.csv',index=False)
print("保存成功!")
评论数目(总体):405446
评论数目(正向):202723
评论数目(负向):202723

最终的[cleanratings.csv]文件

链接:https://pan.baidu.com/s/1G0_U-rkMHU4JfoK2SQyr4g
提取码:5y1h

改良的用于情感分类的餐馆评论数据集相关推荐

  1. 自然语言处理--Keras 实现LSTM循环神经网络分类 IMDB 电影评论数据集

    LSTM 对于循环网络的每一层都引入了状态(state)的概念,状态作为网络的记忆(memory).但什么是记忆呢?记忆将由一个向量来表示,这个向量与元胞中神经元的元素数量相同.记忆单元将是一个由 n ...

  2. 自然语言处理--Keras 实现循环神经网络分类 IMDB 电影评论数据集

    那么为什么要使用 RNN 呢?不一定要选择循环神经网络,与前馈网络或卷积神经网络相比,它训练和传递新样本的成本相对较高(循环层计算成本较高). 但是循环网络在记忆能力方面的特殊优势即记住句子中出现过的 ...

  3. 影评情感分类(基于IMDB数据集)

    回顾以前的笔记 在keras中,内置了imdb电影评分数据集,来进行评价预测 安装keras conda install keras conda就帮依赖全部搞定,记得加源 导入imdb from ke ...

  4. 中文文本情感分类及情感分析资源大全

    摘要:20世纪初以来,文本的情感分析在自然语言处理领域成为了研究的热点,吸引了众多学者越来越多的关注.对于中文文本的情感倾向性研究在这样一大环境下也得到了显著的发展.本文主要是基于机器学习方法的中文文 ...

  5. “Let’s Eat Grandma”:标点符号(句法树)增强语义表达,用于情感分析

    标题:"Let's Eat Grandma": When Punctuation Matters in Sentence Representation for Sentiment ...

  6. 自然语言处理课程作业 中文文本情感分类

    摘要:20世纪初以来,文本的情感分析在自然语言处理领域成为了研究的热点,吸引了众多学者越来越多的关注.对于中文文本的情感倾向性研究在这样一大环境下也得到了显著的发展.本文主要是基于机器学习方法的中文文 ...

  7. 深度学习之循环神经网络(5)RNN情感分类问题实战

    深度学习之循环神经网络(5)RNN情感分类问题实战 1. 数据集 2. 网络模型 3. 训练与测试 完整代码 运行结果  现在利用基础的RNN网络来挑战情感分类问题.网络结构如下图所示,RNN网络共两 ...

  8. 情感分类与朴素贝叶斯

    本文介绍一种机器学习分类算法--朴素贝叶斯算法及其在NLP中的应用.具体实现部分可参考朴素贝叶斯用于情感分类的实现 NLP中的分类 许多自然语言处理任务涉及分类,分类也是人类和机器智能的核心. 文本分 ...

  9. 复盘:基于attention的多任务多模态情绪情感识别,基于BERT实现文本情感分类(pytorch实战)

    复盘:基于attention机制的多任务多模态情绪情感识别(pytorch实战),基于BERT实现文本情感分类 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对 ...

最新文章

  1. 这是我转贴的strcpy函数与strncpy函数的比较,其中有些错误,建议大家还是看msdn,要好的多
  2. 蓝桥杯-队列操作(java)
  3. invalid table name什么意思_新手入门前端要学习什么?总结一些知识点(建议收藏)...
  4. c++控制台应用每一列数据如何对齐_懂Excel就能轻松入门Python数据分析包pandas(十六):合并数据...
  5. 奇异值与主成分分析(PCA)
  6. 【报告分享】2019全球住宅报告.pdf(附下载链接)
  7. org.jbpm.configuration.ConfigurationException: name 'default.jbpm.context'
  8. 无法将“node.exe”项识别为_CFA二级量化方法分析:线性回归假设的违反,识别与处理!...
  9. Jupyter Notebook使用和基本python命令
  10. macbook硬盘读写速度测试(Disk Speed Test 测速贴图)
  11. 批量重命名文件夹和文件名bat脚本
  12. 老域名挖掘工具【支持扫描历史建站记录】SEO工具
  13. 使用kafka-reassign-partitions.sh重新对topic分区,ReplicationFactor由1变成3
  14. PHP是什么,能做什么,为什么用PHP
  15. Linux内存是怎么工作的?
  16. Oracle的常见错误及解决办法
  17. 电子技术——反馈系统概述
  18. 机械材料热处理工艺1(必备知识点)
  19. 给初学者的RxJava2.0教程(八)(转载)
  20. 如何创造被动收入 | 我的知乎Live

热门文章

  1. redis实现setnx,setex连用实现分布式锁
  2. uipath sequence传递参数_湘西单向滑动球铰支座设计参数深化,期待合作
  3. 王阳明:越是多变时,越要学会进化(附个体进化的底层心力逻辑)
  4. 基于VQ适量特征的说话人识别
  5. 【华人学者风采】崔斌 北京大学
  6. UE4 VR 重置摄像机朝向
  7. python微信公众号框架_轻松实现python搭建微信公众平台
  8. Pubmedy的使用教程
  9. Springboot毕设项目健康在线服务平台26iy0(java+VUE+Mybatis+Maven+Mysql)
  10. Q版京剧脸谱来喽——小生