python做中文情感分析用哪些库比较好,分别给出案例demo
时间: 2024-02-01 21:03:48 浏览: 120
基于python 实现电商评价的数据进行做情感分析,对电商评论进行预测
对于Python中的中文情感分析,比较常用的库有jieba、pandas、numpy、scikit-learn、gensim、word2vec等。
下面我为你提供一个简单的案例demo,使用jieba和scikit-learn库来进行中文情感分析。
首先,我们需要准备好数据集,这里我使用了THUCNews数据集的一个子集,包含了5000篇新闻,每篇新闻都有一个标注好的情感类别(0表示负面情感,1表示正面情感),可以从这里下载:https://pan.baidu.com/s/1hugrfRu 密码:qfud
接下来,我们需要对数据进行读取和分词处理,代码如下:
```
import jieba
import pandas as pd
# 读取数据
df = pd.read_csv('THUCNews_subset.csv', encoding='utf-8')
# 分词
def cut_words(text):
words = jieba.cut(text)
return ' '.join(words)
df['content_cut'] = df['content'].apply(cut_words)
```
然后,我们可以使用scikit-learn库来进行特征提取和模型训练,代码如下:
```
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score, classification_report
# 特征提取
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(df['content_cut'])
y = df['label']
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型
clf = MultinomialNB()
clf.fit(X_train, y_train)
# 预测
y_pred = clf.predict(X_test)
# 评估
print('Accuracy:', accuracy_score(y_test, y_pred))
print(classification_report(y_test, y_pred))
```
运行完上面的代码后,我们可以得到模型的准确率和其他评估指标。
这只是一个简单的中文情感分析demo,如果需要更加准确的结果,可以使用更复杂的模型和更大的数据集进行训练。
阅读全文