以下是一个简单的情感分析 Python 代码,使用了朴素贝叶斯算法:

import nltk
from nltk.corpus import movie_reviews
nltk.download('movie_reviews')
 
# 提取特征
def extract_features(words):
    return dict([(word, True) for word in words])
 
# 加载数据集
positive_reviews = []
for fileid in movie_reviews.fileids('pos'):
    review_words = movie_reviews.words(fileid)
    positive_reviews.append((extract_features(review_words), 'Positive'))
 
negative_reviews = []
for fileid in movie_reviews.fileids('neg'):
    review_words = movie_reviews.words(fileid)
    negative_reviews.append((extract_features(review_words), 'Negative'))
 
# 划分训练集和测试集
split = 0.8
num_pos_reviews = int(split * len(positive_reviews))
num_neg_reviews = int(split * len(negative_reviews))
 
train_set = positive_reviews[:num_pos_reviews] + negative_reviews[:num_neg_reviews]
test_set = positive_reviews[num_pos_reviews:] + negative_reviews[num_neg_reviews:]
 
# 训练分类器
classifier = nltk.NaiveBayesClassifier.train(train_set)
 
# 进行预测
input_review = 'This movie was great! The acting was superb and the plot was engaging.'
print(classifier.classify(extract_features(input_review.split())))

该代码使用了 NLTK 库,首先需要下载 movie_reviews 语料库。提取特征的方法是将每个单词作为特征,并将其设置为 True。训练集和测试集是从正面和负面评论中选择的。该代码使用朴素贝叶斯分类器进行训练,并使用输入评论进行情感分类。

Python 情感分析代码:使用朴素贝叶斯算法

原文地址: https://www.cveoy.top/t/topic/oSJG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录