получить ближайший вектор из неизвестного вектора с gensim - PullRequest
0 голосов
/ 04 апреля 2020

В настоящее время я внедряю генератор естественного текста для школьного проекта. У меня есть набор предложений предопределенной длины и ключевых слов, я конвертирую их в векторы благодаря gensim и GoogleNews-vectors-positive300.bin.gz. Я тренирую рекуррентную нейронную сеть, чтобы создать список векторов, которые я сравниваю со списком векторов реального предложения. Поэтому я стараюсь максимально приблизиться к «реальным» векторам.

Моя проблема возникает, когда мне приходится преобразовывать обратные векторы в слова: мои векторы не обязательно находятся в наборе Google. Поэтому я хотел бы знать, существует ли эффективное решение для получения ближайшего вектора в Google, установленного на вектор выхода.

Я работаю с python 3 и Tensorflow

Большое спасибо Не стесняйтесь задавать любые вопросы о проекте

Charles

1 Ответ

0 голосов
/ 04 апреля 2020

Метод gensim .most_similar()KeyedVectors и аналогичных классах) также будет принимать необработанные векторы в качестве «источника», из которого будет производиться поиск.

Только не забудьте явно назвать параметр positive - список целевых слов / векторов, которые нужно объединить, чтобы найти исходную точку.

Например:

gvecs = KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin.gz')
target_vec = gvecs['apple']
similars = gvecs.most_similar(positive=[target_vec,])
...