Я погрузочные предварительно подготовленные векторы из двоичного файла, созданный из кода word2vec C-то вроде:Gensim word2vec увеличить или объединить предварительно подготовленные векторы
model_1 = Word2Vec.load_word2vec_format('vectors.bin', binary=True)
Я использую эти векторы для создания векторных представлений предложения, содержащие слова, которые могут не иметь уже существующих векторов в vectors.bin
. Например, если vectors.bin
не имеет связанного вектора для слова «йогурт», и я стараюсь
yogurt_vector = model_1['yogurt']
я KeyError: 'yogurt'
, что делает здравый смысл. Я хочу, чтобы иметь возможность принимать слова предложения, которые не имеют соответствующих векторов, и добавлять представления для них в model_1
. Я знаю от this post, что вы не можете продолжать тренировать векторы С. Есть ли способ обучить новую модель, скажем model_2
, для слов без векторов и слияния model_2
с model_1
?
В качестве альтернативы, есть ли способ проверить, содержит ли модель слово, прежде чем я на самом деле попытаюсь его восстановить, чтобы я мог хотя бы избежать KeyError?
Это хороший момент, для большинства приложений функция слияния была бы бесполезна, поскольку новые добавленные векторы не имели бы структурированного отношения к любому из слов в исходной модели. В моем случае мне просто нужно было представить какое-то представление для новых слов; Я закончил тем, что просто игнорировал слова без представления в оригинальной модели. – aconkey