数据集查看 ##
任务描述:
“可爱的老式和愚蠢的人之间有一条细线,而基督山伯爵……从未在两边安定下来。”
Rotten Tomatoes电影评论数据集是用于情感分析的电影评论语料库,最初由Pang和Lee [1]收集。在他们关于情感树库的工作中,Socher等人。[2]使用亚马逊的Mechanical Turk为语料库中的所有解析短语创建细粒度标签。本次竞赛提供了一个机会,可以对您在Rotten Tomatoes数据集上的情绪分析想法进行基准测试。你被要求按五个等级标记短语:消极,有点消极,中立,有点积极,积极。句子否定,讽刺,简洁,语言模糊以及许多其他障碍使得这项任务非常具有挑战性。
数据集长这个样子:
PhraseId SentenceId Phrase Sentiment
1 1 A series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story . 1
2 1 A series of escapades demonstrating the adage that what is good for the goose 2
3 1 A series 2
4 1 A 2
5 1 series 2
其中 的标签有
0 - negative
1 - somewhat negative
2 - neutral
3 - somewhat positive
4 - positive
由此可见 这是一个多分类的任务
数据集分析
由于是文本数据,并且已经分词完毕,所以就先对文本进行去除空格,标点符号和全部变成小写。
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import matplotlib.pyplot as plt
import re
def dataCleaning(totalText):
total=[]
for i in totalText:
temp=i.lower()
temp=re.sub('[^a-zA-Z]',' ',temp)
tempArr=[j for j in temp.strip().split('\t') if isinstance(j,str)]
tstr=' '.join(tempArr)
total.append(tstr)
return total
def loadData(name):
data=pd.read_csv(name,delimiter='\t')
totalText=data['Phrase']
totalText=dataCleaning(totalText)
totalLabel=data['Sentiment']
return totalText,totalLabel
def getTest(name):
data=pd.read_csv(name,delimiter='\t')
totalText=data['Phrase'