文本分类 - 在区分类时识别最有用的单词

时间:2017-01-18 20:40:26

标签: machine-learning nlp text-mining

是否有可能在尝试区分 两个文本类(即正面或负面情绪等)时使用tfidf(Python中的tfidfvectorizer)来确定哪些单词最重要?例如,哪些词对于识别积极类最重要,然后分别对识别阴性类最有用?

1 个答案:

答案 0 :(得分:0)

你可以让scikit学习你的繁重工作 - 在二叉树上训练一个随机森林,提取分类器的特征重要性排名并用它来获得最重要的单词:

clf = RandomForestClassifier()
clf.fit(data, labels)

importances = clf.feature_importances_
np.argsort(importances)[::-1]

feature_names = vectorizer.get_feature_names()
top_words = []

for i in xrange(100):
    top_words.append(feature_names[indices[i]])

请注意,这只会告诉您哪些是最重要的词 - 而不是他们对每个类别所说的内容。要说出每个单词对每个课程的评价,您可以对单个单词进行分类,看看它们的分类是什么。

另一个选择是获取所有正/负数据样本,从中删除您正在尝试理解的单词,并查看它如何影响样本的分类。