python+word2vec+随机森林 微博文本情感极性分析(一)

使用36万条微博文本数据,通过Python的word2vec训练词向量,对文本进行情感极性分析。将句子表示为词向量,然后应用PCA降维,接着使用随机森林弱分类器训练200次,最终达到AUC=0.86的性能。ROC曲线用于评估模型表现。
摘要由CSDN通过智能技术生成

数据源:36万条微博文本,已标注情感。源数据中label0:开心,label1-3:低落或忧伤。本文只考虑情感正负极性,所以1-3都划为负样本。
项目思路:分词后利用gensim.models.word2vec训练词向量,词向量表示训练集文本,sklearn训练随机森林模型,auc=0.86。

加载相关python包:

import jieba
import re
import pandas as pd
from gensim.models import word2vec
import numpy as np
from sklearn.decomposition import PCA
from sklearn.ensemble import RandomForestClassifier as RF
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve,auc
from sklearn.cross_validation import train_test_split

word2vec训练词向量

利用这36万微博数据训练词向量,word2vec需要语料分词。

data = pd.read_csv('F:/weibo_4_moods.csv',delimiter=',',header=0,encoding='utf-8')
file_train = 'F:/word_train.txt'
def get_word_train(filename):
    with open(filename,'w',encoding='utf-8') as f:
        for line in data['review']:
            word_l = ' '.join(jieba.cut(line,cut_all=False))
            word_l.replace(u',',u''</
  • 4
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
基于word2vec和svm模型的微博中文评论情感分析可以分为以下几个步骤: 第一步是数据预处理。首先需要对微博中文评论数据进行清洗,去除特殊字符、停用词和无关信息。然后使用jieba进行中文分词,将评论句子分割成词语。 第二步是构建词向量表示。使用word2vec模型对预处理后的评论数据进行训练,获得每个词语的词向量表示。这些词向量可以捕捉到词语之间的语义关系,形成一个词向量空间。 第三步是特征提取。根据词向量空间,将每个评论句子中的词语表示为向量序列。可以使用词袋模型或者TF-IDF等方法进行文本特征提取。 第四步是情感分类模型训练。将训练数据集的文本特征与标签进行训练,使用svm模型对评论进行情感分类。svm模型可以根据特征向量之间的距离进行分类,具有较好的分类性能。 第五步是情感分析预测。使用训练好的svm模型对新的评论进行情感分类预测。根据模型的输出结果,可以判断评论的情感倾向,如正面、负面或中性情感。 最后,评估模型性能。使用测试数据集对模型进行评估,计算准确率、召回率、F1值等指标,以评估模型的性能和效果。 通过以上步骤,基于word2vec和svm模型的微博中文评论情感分析可以实现对微博评论情感的准确分类和分析。这种方法可以较好地利用词语之间的语义关系,提高情感分析的准确性和效果。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值