Machine learning 自定义词汇表上的Sklearn Countvectorizer

Machine learning 自定义词汇表上的Sklearn Countvectorizer,machine-learning,scikit-learn,nlp,Machine Learning,Scikit Learn,Nlp,我有一组网页,我正在获取网页计数矩阵。我尝试使用sklearn的标准,但没有得到所需的结果。示例代码如下所示: from sklearn.feature_extraction.text import CountVectorizer corpus = ['www.google.com www.google.com', 'www.google.com www.facebook.com', 'www.google.com', 'www.facebook.com'] vocab = {'www.goog

我有一组网页,我正在获取网页计数矩阵。我尝试使用sklearn的标准,但没有得到所需的结果。示例代码如下所示:

from sklearn.feature_extraction.text import CountVectorizer
corpus = ['www.google.com www.google.com', 'www.google.com www.facebook.com', 'www.google.com', 'www.facebook.com']
vocab = {'www.google.com':0, 'www.facebook.com':1}
vectorizer = CountVectorizer(vocabulary=vocab)
X = vectorizer.fit_transform(corpus)
print(vectorizer.get_feature_names())
print(X.toarray()) 
它给

['www.google.com', 'www.facebook.com']
[[0 0]
 [0 0]
 [0 0]
 [0 0]]
但要求的结果是

['www.google.com', 'www.facebook.com']
[[2 0]
 [1 1]
 [1 0]
 [0 1]]
如何在这样一个自定义词汇表上应用countvectorizer?

根据a的输入,问题是由于标记器而发生的。 编写了一个客户标记器,现在可以使用了

def mytokenizer(text):
    return text.split()

from sklearn.feature_extraction.text import CountVectorizer
corpus = ['www.google.com www.google.com', 'www.google.com www.facebook.com', 'www.google.com', 'www.facebook.com']
vocab = {'www.google.com':0, 'www.facebook.com':1}
vectorizer = CountVectorizer(vocabulary=vocab, tokenizer = mytokenizer)
X = vectorizer.fit_transform(corpus)
print(vectorizer.get_feature_names())
print(X.toarray()) 
根据a的输入,问题是由于标记器而发生的。 编写了一个客户标记器,现在可以使用了

def mytokenizer(text):
    return text.split()

from sklearn.feature_extraction.text import CountVectorizer
corpus = ['www.google.com www.google.com', 'www.google.com www.facebook.com', 'www.google.com', 'www.facebook.com']
vocab = {'www.google.com':0, 'www.facebook.com':1}
vectorizer = CountVectorizer(vocabulary=vocab, tokenizer = mytokenizer)
X = vectorizer.fit_transform(corpus)
print(vectorizer.get_feature_names())
print(X.toarray())