Ich trainiere mein eigenes word2vec Modell mit verschiedenen Daten. Um das resultierende Modell in meinen Klassifikator zu implementieren und die Ergebnisse mit dem ursprünglichen vortrainierten Word2vec-Modell zu vergleichen, muss das Modell in der binären Erweiterung .bin gespeichert werden. Hier ist mein Code, Sätze ist eine Liste von Kurznachrichten.Speichere Gensim Word2vec Modell im Binärformat .bin mit save_word2vec_format
import gensim, logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
sentences = gensim.models.word2vec.LineSentence('dati.txt')
model = gensim.models.Word2Vec(
sentences, size=300, window=5, min_count=5, workers=5,
sg=1, hs=1, negative=0
)
model.save_word2vec_format('model.bin', binary=True)
Die letzte Methode, save_word2vec_format, gibt mir diese Fehlermeldung:
AttributeError: 'Word2Vec' object has no attribute 'save_word2vec_format'
Was ich hier fehlt? Ich habe die Dokumentation von Gensim und anderen Foren gelesen. Diese repo on github verwendet fast die gleiche Konfiguration, so dass ich nicht verstehen kann, was falsch ist. Ich habe versucht, von skipgram zu cbow und von hierarchischen softmax zu negativen Sampling ohne Ergebnisse zu wechseln.
Vielen Dank im Voraus!
Vielen Dank für Ihre kristallklare Antwort. Ich dachte, es könnte ein Problem mit der Gensim-Version sein, da ich keine Methode namens save_word2vec_format unter den an das Modell angehängten sah. Ich habe Gensim über easy_install -U Gensim installiert, wie ich auf der Website-Dokumentation lese. Ich habe Gensim entfernt und plain pip install benutzt und jetzt funktioniert es reibungslos. Vielen Dank! – carloab
FYI Ich denke, 1.0.0 ist jetzt offiziell, so dass sogar 'pip install gensim' eine Version mit der API-Änderung bekommen wird, aber ich denke auch, dass die Fehlermeldung verbessert wurde (um Leute stattdessen' KeyedVectors' zu nennen). – gojomo