Как использовать tf.data.Dataset для набора слов, чтобы получить вложения слов с помощью gensim fasttext
Как часть входного конвейера для автоэнкодера для уменьшения размерности, мне нужно преобразовать слова во встраиваемые, используя gensim fastText.
Как я могу загрузить tf.data.Dataset со своим списком слов, а затем применить функцию карты, чтобы найти каждое слово, встроенное из gensim.fastText.
Я пробовал примерно так:
import tensorflow as tf
from gensim.models.fasttext import FastText
# data -> list of words to train upon
data = tf.data.Dataset.from_tensor_slices((tf.constant(data),tf.constnat(data))
train_data = data.skip(val_size) #val_size is validation size
val_data = data.take(val_size)
def get_embed(word_in,word_ot):
# what to do here?
# I need to get the embeddedings of the word and then reshape them something like this
word_in = fasttext_model.wv[word_in].reshape(shape=(1,embed_dim,1))
word_ot = fasttext_model.wv[word_ot].reshape(shape=(1,embed_dim,1))
return word_in,word_ot # does word_in, word_ot have same value?
train_data = train_data.map(train_data)
val_data = val_data.map(val_data)
Как я могу этого добиться, размер вложения 300 . Я новичок в tensorflow, играю с фреймворком, чтобы понять, как он работает.