J'ai lu un modèle Word2vec dans le génisme
model = KeyedVectors.load_Word2vec_format('Word2vec.50d.txt', binary=False)
Il semble que le génisme ne fournisse qu'un mappage d'index en Word, c'est-à-dire, par exemple, model.index2Word[2]
, comment pourrions-nous également obtenir un dictionnaire inversé (Word2index) basé sur cela?
Les mappages de Word vers index sont dans la propriété KeyedVectors
vocab
, un dictionnaire avec des objets qui incluent une propriété index
.
Par exemple:
Word = "whatever" # for any Word in model
i = model.vocab[Word].index
model.index2Word[i] == Word # will be true
Une solution encore plus simple consisterait à énumérer index2Word
Word2index = {token: token_index for token_index, token in enumerate(w2v.index2Word)}
Word2index['hi'] == 30308 # True