0

我有疑惑使用vocabulary_.get,代码如下。 如下图所示,我在一台机器学习练习中使用了CountVectorizer来计算特定单词的出现次数。sklearn CountVectorizer

from sklearn.feature_extraction.text import CountVectorizer 
vectorizer = CountVectorizer() 
s1 = 'KJ YOU WILL BE FINE' 
s2 = 'ABHI IS MY BESTIE' 
s3 = 'sam is my bestie' 
frnd_list = [s1,s2,s3] 
bag_of_words = vectorizer.fit(frnd_list) 
bag_of_words = vectorizer.transform(frnd_list) 
print(bag_of_words) 
# To get the feature word number from word 
#for eg: 
print(vectorizer.vocabulary_.get('bestie')) 
print(vectorizer.vocabulary_.get('BESTIE')) 

OUTPUT:

Bag_of_words is : 
(0, 1) 1 
(0, 3) 1 
(0, 5) 1 
(0, 8) 1 
(0, 9) 1 
(1, 0) 1 
(1, 2) 1 
(1, 4) 1 
(1, 6) 1 
(2, 2) 1 
(2, 4) 1 
(2, 6) 1 
(2, 7) 1 

'bestie' has feature number: 
2 
'BESTIE' has feature number: 
None 

因此,我怀疑的是,为什么 'bistie' 显示正确的要素数即2和 '死党' 显示无。不是vocabulary_.get不适合使用资本向量?

回答

1

CountVectorizer需要一个参数lowercase默认为True,如文档here中指出:

lowercase : boolean, True by default 
    Convert all characters to lowercase before tokenizing. 

变化,为False,如果你想治疗小写和大写字母不同。

相关问题