文本挖掘之中文情感分析

如题所述

第1个回答  2022-06-06
情感分析(Sentiment analysis,SA),又称倾向性分析、意见抽取(Opinion extraction)、意见挖掘(Opinion mining)、情感挖掘(Sentiment mining)、主观分析(Subjectivity analysis)

情感分析是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程

情感分析的目的是为了找出说话者/作者在某些话题上或者针对一个文本两极观点的态度。这个态度或许是他或她的个人判断或是评估,也许是他当时的情感状态(就是说,作者在做出这个言论时的情绪状态),或是作者有意向的情感交流(就是作者想要读者所体验的情绪)

文本情感分析的应用非常广泛,如网络舆情风险分析,信息预测等。如通过Twitter用户情感预测股票走势,电影票房、选举结果等,均是将公众情绪与社会事件对比,发现一致性,并用于预测

首先安装SnowNLP中文情感分析库:

SnowNLP(Simplified Chinese Text Processing),是一个python语言编写的类库,可以方便的处理中文文本内容,其开发受到了TextBlob的启发

In [1]:

数据载入

In [2]:

Out[2]:

数据预处理

In [3]:

In [4]:

Out[4]:

In [7]:

Out[7]:

将所有数据打分

In [9]:

Out[9]:

将分数合并会原表格

In [11]:

Out[11]:

计算指标

In [12]:

Out[12]:

In [13]:

Out[13]:

In [14]:

Out[14]:

基础结论:中位数比平均值高很多,说明有少量异常低的评分拉低了均值

In [16]:

Out[16]:

看分数分布情况,直方图最合适

In [17]:

Out[17]:

少量数据,柱状图也可以

In [18]:

Out[18]:

In [19]:

Out[19]:

In [20]:

以分数排序,查看打分准确率

In [22]:

Out[22]:

好评

In [23]:

Out[23]:

In [24]:

Out[24]:

差评

In [25]:

Out[25]:

In [26]:

Out[26]:

In [27]:

Out[27]:

In [28]:

Out[28]:

In [29]:

Out[29]:

In [30]:

Out[30]:

结论

准确率比瞎猜高,但达不到人工打分准确率

SnowNLP库的训练基准数据是基于电商销售产品训练的,对饭店留言数据的打分准确率一般

做情感分析最好用户自行实现(网站增加打分功能,用户自行打分)
相似回答