2017-01-31 1 views
0

Ich habe einen Textdatensatz, auf dem ich ein gensim W2V-Modell trainiert. Jetzt möchte ich diese Vektoren verwenden, um die tf-idf-Werte für die Wörter und Dokumente in meinem Datensatz zu erhalten. Was ist der richtige Weg? Ich habe versucht, die tutorial auf der Website von Gensim zu folgen.Wie bekomme ich tf-id von w2v auf gensim

Ich erwarte, dass so etwas wie models.tfidfmodel(model.wv[model.wv.index2word]) aber dies nicht gelingen, da

File "<ipython-input-229-7946418f8a82>", line 1, in <module> models.tfidfmodel(model.wv[model.wv.index2word]) TypeError: 'module' object is not callable

tut, was da ich will macht? Ist BOW der einzige Weg das zu tun?

Antwort

3

Das Tutorial, das Sie mit dem Modell verknüpft haben, erhält den Korpus, d. H. Den Text (oder den transformierten Text) als Ganzes.

Was Sie haben versucht zu tun ist das Modell das Wörterbuch, dass das W2V-Modell gelernt.

Wenn das, was Sie wollen, ist

die tf-idf Werte für die Worte und Dokumente in meine Daten Satz zu erhalten speichert.

Dann sollten Sie es einfach als solche übergeben:

tfidf = models.TfidfModel(corpus) 

Wenn das, was Sie eigentlich wollen auf dem transformiert corpus die TF-IDF-Modell laufen, dann sollten Sie zunächst Ihre W2V verwenden, um transformiere das Corpus und führe dann das transformierte Corpus zum tfidfmodel.


Beachten Sie, dass als das TFIDF Modell einfach das Frequenzwort berechnet nichts von gewonnen werden ist es der transformierten Korpus und nicht das Original zu geben.

Verwandte Themen