删除没有信息量的单词有一种方法,就是舍弃那些出现次数太多以至于没有信息量的单词。
有两种主要方法:
1、使用特定语言的停用词(stopword)列表;
2、舍弃那些出现过于频繁的单词。
scikit-learn的feature_extraction.text模块中提供了英语停用词的内置列表:
from sklearn.feature_extraction.text import ENGLISH_STOP_WORDS
print('停用词数量:{}'.format(len(ENGLISH_STOP_WORDS)))
print('英文停用词:{}'.format(ENGLISH_STOP_WORDS))
显然,删除停用词列表里的停用词只能使特征数量减少318个,但可能会提高性能。
固定的停用词列表主要对小型数据集很有帮助,这些数据集可能没有包含足够的信息,模型从数据本身无法判断出哪些单词是停用词。