Как извлечь векторы вложения слов из обученной модели Spacy - PullRequest
0 голосов
/ 27 марта 2019

скажем для обученной модели XX, мы можем использовать

nlp = spacy.load('XX')
len(nlp.vocab.vectors.keys()) #return 0

Так что я думаю, что я что-то здесь упустил. Можно ли извлечь целую таблицу word:vector из обученной модели?

1 Ответ

0 голосов
/ 16 апреля 2019

Это говорит о том, что ваша модель не имеет векторов. Используя ваш фрагмент кода, я получил 0 с en_core_web_sm (английская модель без векторов). Если используется с en_core_web_lg, len(nlp.vocab.vectors.keys()) = 684830.

Чтобы ответить на ваш вопрос о парах слово / вектор - простой пример, который вы можете построить на вершине, будет

import spacy
language_model = spacy.load("en_core_web_lg")

word_vectors = dict()
for key, vector in language_model.vocab.vectors.items():
    try:
        word_string = language_model.vocab.strings[key]
        word_vectors[word_string] = vector

    except KeyError:
        continue
...