Пространство: получить слова / ключи, связанные с конкретным индексом - PullRequest
0 голосов
/ 09 февраля 2020

Учитывая индекс, соответствующий строке в <some_model>.vocab.vectors.data, как я могу получить соответствующие слова / ключи?

import spacy

nlp = spacy.load('en_core_web_md')

nlp.vocab.vectors.data[6, :]   # gives me the 6th embedding 

Какие слова / ключи соответствуют этому 6-му врезанию? Я мог бы выполнить какой-то перебор, перебрав *.vocab.vectors.items(), как

for key, vector in nlp.vocab.vectors.items():
    # check if vector at my index matches this vector
         # print(nlp.vocab.strings[key])

, но я надеюсь, что есть лучший подход.

1 Ответ

1 голос
/ 09 февраля 2020

Выполните обратный поиск в nlp.vocab.vectors.key2row, чтобы получить все слова, использующие это вложение:

for key, row in nlp.vocab.vectors.key2row.items():
    if row == 6:
        print(nlp.vocab.strings[key])
...