Gensim: KeyError: "Wort nicht im Vokabular"
Habe ich eine ausgebildete Word2vec Modell mit Python-Gensim-Bibliothek. Ich habe eine Token-Liste, wie unten. Die Vokabeln Größe ist 34, aber ich bin damit nur wenige von 34:
b = ['let',
'know',
'buy',
'someth',
'featur',
'mashabl',
'might',
'earn',
'affili',
'commiss',
'fifti',
'year',
'ago',
'graduat',
'21yearold',
'dustin',
'hoffman',
'pull',
'asid',
'given',
'one',
'piec',
'unsolicit',
'advic',
'percent',
'buy']
Modell
model = gensim.models.Word2Vec(b,min_count=1,size=32)
print(model)
### prints: Word2Vec(vocab=34, size=32, alpha=0.025) ####
wenn ich versuche die ähnlichkeit score by doing model['buy']
eines der Wörter in der Liste, bekomme ich die
KeyError: "Wort" kaufen "nicht im Vokabular"
Könnt Ihr mir empfehlen, was mache ich falsch und was sind die Möglichkeiten zum überprüfen des Modells, welche verwendet werden, um Zug PCA oder t-sne, um zu visualisieren, ähnliche Wörter bilden ein Thema? Danke.
InformationsquelleAutor Krishnang K Dalal | 2017-07-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den ersten parameter übergeben zu
gensim.models.Word2Vec
ist ein wiederholenden Sätzen. Sätze selbst sind eine Liste von Wörtern. Aus den docs:Jetzt denkt, dass jedes Wort in Ihrer Liste
b
ist ein Satz, und so ist es dabeiWord2Vec
für jeden Charakter in jedem Wort, im Gegensatz zu jedem Wort in Ihrerb
. Jetzt können Sie tun:Um es an die Arbeit für die Worte, einfach wickeln
b
in einer anderen Liste, so dass es richtig interpretiert wird:InformationsquelleAutor bunji
In der Dokumentation, die Sie brauchen, um passieren wiederholenden Sätze so, was auch immer Sie an die Funktion, die es behandelt die Eingabe als durchsuchbar, so dass Sie hier auf der Durchreise sind nur Worte, also zählt es word2vec Vektor für jeden in charecter in der ganzen corpus.
So, um dieses problem zu vermeiden, übergeben Sie die Liste der Wörter in einer Liste.
InformationsquelleAutor Ravi G