¿Puedo usar CountVectorizer en scikit-learn para contar la frecuencia de documentos que no se usaron para extraer los tokens?

He estado trabajando con elCountVectorizer clase en scikit-learn.

Entiendo que si se usa de la manera que se muestra a continuación, el resultado final consistirá en una matriz que contiene recuentos de características o tokens.

Estos tokens se extraen de un conjunto de palabras clave, es decir,

tags = [
  "python, tools",
  "linux, tools, ubuntu",
  "distributed systems, linux, networking, tools",
]

El siguiente paso es:

from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer(tokenizer=tokenize)
data = vec.fit_transform(tags).toarray()
print data

Donde llegamos

[[0 0 0 1 1 0]
 [0 1 0 0 1 1]
 [1 1 1 0 1 0]]

Esto está bien, pero mi situación es un poco diferente.

Quiero extraer las características de la misma manera que arriba, pero no quiero que las filas estén endata para ser los mismos documentos de los que se extrajeron las características.

En otras palabras, ¿cómo puedo obtener recuentos de otro conjunto de documentos?

list_of_new_documents = [
  ["python, chicken"],
  ["linux, cow, ubuntu"],
  ["machine learning, bird, fish, pig"]
]

Y obten:

[[0 0 0 1 0 0]
 [0 1 0 0 0 1]
 [0 0 0 0 0 0]]

He leído la documentación para elCountVectorizer clase, y encontré elvocabulary argumento, que es un mapeo de términos para presentar índices. Sin embargo, parece que no puedo obtener este argumento para ayudarme.

Cualquier consejo es apreciado.
PD: todo el crédito debido aBlog de Matthias Friedrich para el ejemplo que usé arriba.

Respuestas a la pregunta(3)

Su respuesta a la pregunta