Я хочу извлечь биграмм из одного массива, взять все биграмы с частотой больше 100, а затем забить второй массив, используя уменьшенный словарь.Vocabulary option with bigrams для sklearn CountVectorizor возвращает массив нулей
Кажется, что вариант словаря должен дать мне то, что мне нужно, но он, похоже, не работает. Даже подача выхода одного непосредственно другому, приводит к (нулевой) форме нулей.
from sklearn.feature_extraction.text import CountVectorizer
docs = ['run fast into a bush','run fast into a tree','run slow','run fast']
# Collect bigrams
vectorizer = CountVectorizer(ngram_range = (2,2))
vectorizer.fit(docs)
vocab = vectorizer.vocabulary_
# Score the exact same data
vectorizer = CountVectorizer(vocabulary=vocab)
output = vectorizer.transform(docs)
# Demonstrate that the array is all zeros
print "Length of vocab", len(vocab)
print output.A
Length of vocab 5
[[0 0 0 0 0]
[0 0 0 0 0]
[0 0 0 0 0]
[0 0 0 0 0]]