文本分析与图像分析实战
文本分析
在文本分析中,我们可以通过判断单词在正负评价中的出现频率来评估其好坏。一个单词在负面评价中出现得越频繁,在正面评价中出现得越少,它就越有可能被视为“坏”词;反之,则被视为“好”词。
我们使用一个特征集进行训练和测试。首先,确定特征集的元素数量:
len(featuresets)
这里特征集有 2000 个元素。为了评估模型的准确性,我们将前 1500 个元素用于训练集,后 500 个元素用于测试集:
train_set, test_set = featuresets[1500:], featuresets[:500]
接着,使用 NLTK 库提供的朴素贝叶斯分类器对问题进行分类,并计算其准确性:
import nltk
classifier = nltk.NaiveBayesClassifier.train(train_set)
print(nltk.classify.accuracy(classifier, test_set))
运行结果的准确率为 0.85。虽然这个准确率不如之前某些示例高,但处理文本中的单词时,相对于数值问题,创建准确的模型是非常困难的。
完成分析后,我们可以查看哪些单词在评估评论的正负意见中权重最大: