À l'aide de Sklearn de TfidfVectorizer transformer
Je suis en train d'essayer d'obtenir le tf-idf vecteur pour un seul document à l'aide de Sklearn de TfidfVectorizer objet. J'ai créer un vocabulaire basé sur certains des documents de formation et l'utilisation fit_transform pour former le TfidfVectorizer. Alors, je veux trouver le tf-idf vecteurs pour tout document tests.
from sklearn.feature_extraction.text import TfidfVectorizer
self.vocabulary = "a list of words I want to look for in the documents".split()
self.vect = TfidfVectorizer(sublinear_tf=True, max_df=0.5, analyzer='word',
stop_words='english')
self.vect.fit_transform(self.vocabulary)
...
doc = "some string I want to get tf-idf vector for"
tfidf = self.vect.transform(doc)
Le problème est que cela renvoie une matrice de n lignes où n est la taille de mon doc chaîne. Je veux le retour d'un seul vecteur représentant le tf-idf pour l'ensemble de la chaîne. Comment puis-je en faire voir la chaîne en un seul document, au lieu que chaque personnage étant un document? Aussi, je suis très nouveau à l'exploration de texte donc, si je fais quelque chose de mal sur le plan conceptuel, qui serait bon à savoir. Toute aide est appréciée.
Vous devez vous connecter pour publier un commentaire.
Si vous voulez calculer la tf-idf uniquement pour un vocabulaire, l'utilisation
vocabulary
argumentTfidfVectorizer
constructeur,Puis, pour s'adapter, c'est à dire calculer compte, avec un
corpus
, c'est à dire un objet iterable de documents, l'utilisationfit
:Méthode
fit_transform
est une abréviation pourDernier,
transform
méthode accepte un corpus, de sorte que pour un seul document, vous devez le transmettre sous forme de liste, ou il est traité comme un objet iterable de symboles, chaque symbole étant un document.fit
oufit_transform
(voir mise à jour) pour former tfidf de la transformation et detransform
d'appliquer sans comtes de mise à jour