Как использовать 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, играю с фреймворком, чтобы понять, как он работает.

0 ответов

Другие вопросы по тегам