文本分类:高信息词计算与多分类器组合
1. 高信息词计算
1.1 高信息词与低信息词
高信息词是强烈偏向单一分类标签的词,在使用朴素贝叶斯分类器(NaiveBayesClassifier)和最大熵分类器(MaxentClassifier)的 show_most_informative_features()
方法时能看到这类词。不同分类器得出的高信息词有所不同,这是由于它们计算特征重要性的方式不同,而这种差异有助于提高分类准确性。
低信息词是所有标签中都常见的词,从训练数据中去除这些词反而能提高分类的准确性、精确率和召回率,因为仅使用高信息词可减少分类器内部模型的噪声和混淆。
1.2 计算高信息词的步骤
1.2.1 定义计算函数
在 featx.py
中使用 high_information_words()
函数计算电影评论语料库(movie_review corpus)中的高信息词。
from nltk.metrics import BigramAssocMeasures
from nltk.probability import FreqDist, ConditionalFreqDist
import collections
def high_information_words(labelled_words, score_fn=BigramAssocMeasures.chi_sq, min_score=5):
word_fd =