Wie man überprüft, ob ein Schlüssel in einem word2vec trainierten Modell existiert oder nicht
Habe ich trainiert word2vec Modell mit einem Korpus von Dokumenten mit Gensim. Ist das model-training, Schreibe ich den folgenden code, um die raw-feature-Vektor, der ein Wort sagen "anzeigen".
myModel["view"]
Allerdings bekomme ich eine KeyError für das Wort, das ist wahrscheinlich, weil diese nicht vorhanden ist, die als Schlüssel in der Liste der Schlüssel, indiziert durch word2vec. Wie kann ich prüfen, ob eine Taste wird in den index, bevor Sie versuchen, die rohen feature-Vektor?
InformationsquelleAutor der Frage London guy | 2015-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
konvertieren Sie das Modell in Vektoren mit
dann können wir
InformationsquelleAutor der Antwort rakaT
Word2Vec bietet auch eine "vocab" Mitglieder, die Sie direkt zugreifen können.
Mit einem pythonistic Ansatz:
BEARBEITEN Seit gensim Version 2.0 der API für Word2Vec geändert. Zugriff auf den Wortschatz, den sollten Sie jetzt verwenden:
EDIT 2 Das Attribut 'wv' ist veraltet und wird komplettiert entfernt im gensim 4.0.0. Nun geht es zurück zu der ursprünglichen Antwort von OP:
InformationsquelleAutor der Antwort Matt Fortier
Beantwortung meiner eigenen Frage hier.
Word2Vec bietet eine Methode namens enthält('view'), die True oder False zurückgibt, basierend auf, ob das entsprechende Wort indiziert wurde oder nicht.
InformationsquelleAutor der Antwort London guy
Hey, ich weiß, bin spät dieser post, aber hier ist ein Stück code, das kann damit umgehen. Ich selbst benutze es in meinem code, und es funktioniert wie ein Charme 🙂
HINWEIS:
Ich bin mit python Gensim-Bibliothek für word2vec Modelle
InformationsquelleAutor der Antwort Noman Dilawar
Ich in der Regel verwenden Sie einen filter:
Dies ist eine einfache Methode, für immer vorbei an der KeyError auf die unsichtbaren Worte.
InformationsquelleAutor der Antwort Prakhar Agarwal