情感文本分类python
时间: 2023-07-07 20:45:07 浏览: 112
情感文本分类是指将一段文本划分为积极、消极或中性等情感类别。在Python中,可以使用自然语言处理工具库NLTK或者Scikit-learn等机器学习库进行情感文本分类。
下面是一个示例代码:
```python
import pandas as pd
import nltk
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# 读取数据
data = pd.read_csv('data.csv')
# 分词
tokenizer = nltk.tokenize.RegexpTokenizer(r'\w+')
data['text'] = data['text'].apply(lambda x: tokenizer.tokenize(x.lower()))
# 去除停用词
stop_words = nltk.corpus.stopwords.words('english')
data['text'] = data['text'].apply(lambda x: [word for word in x if word not in stop_words])
# 计算词频
cv = CountVectorizer()
X = cv.fit_transform(data['text'].apply(lambda x: ' '.join(x)))
# 训练模型
y = data['sentiment']
clf = MultinomialNB()
clf.fit(X, y)
# 预测并计算准确率
y_pred = clf.predict(X)
accuracy = accuracy_score(y, y_pred)
print('Accuracy:', accuracy)
```
其中,数据集需要自己准备,可以使用Pandas读取CSV文件。分词和去除停用词可使用NLTK库,计算词频可使用Scikit-learn的CountVectorizer类,训练模型可使用朴素贝叶斯算法MultinomialNB类。最后,使用准确率评估模型的性能。
阅读全文