CountVectorizer和TfidfVectorizer注意的地方

来源:互联网 发布:linux更改用户权限 编辑:程序博客网 时间:2024/06/10 22:14
vectorizer = CountVectorizer(min_df=1)//min_df是文档词频,即改词在文档中出现的文档数量,当vocabulary不为空时,该参数不起作用corpus = [            'I am a boy'u'我 爱 北京 天安门'        ]X = vectorizer.fit_transform(corpus)feature_name = vectorizer.get_feature_names()print feature_name//结果是:[u'am', u'boy', u'\u5317\u4eac', u'\u5929\u5b89\u95e8']//自动将‘I,a,我,爱’这些单个长度的词过滤掉了在英文中单个长度的词往往属于停用词范围,所以过滤掉属于默认设置,对结果影响不大。可是在中文文本处理中,有一些单个长度的词,比如“爱”,“恨”都有着很明显的感情色彩。如果在做情感分析中,这些信息都十分重要。为了不过滤单个词可以设置vectorizer = CountVectorizer(token_pattern='(?u)\\b\\w+\\b')#主语 \b是词的边界上面提取的特征全部都是单个词,同样可以提取连词,如下:corpus = [            '是 的 我 啊', '啊啊 个 的 是', '我 的','啊 爱迪生'        ]X = vectorizer.fit_transform(corpus)print X.vocabulary_//{'是': 4, '我': 3, '个': 0, '的': 6, '啊': 1, '啊啊': 2, '爱迪生': 5}
阅读全文
1 0