如何在张量流 LSTM 生成模型中使用预训练的 GloVe 向量

dou*_*tts 5 python vector embedding lstm tensorflow

我的目标是询问是否可以在 Tensorflow word-rnn LSTM 生成模型中使用预先训练的 GloVe 向量,如果可以,有关于如何实现这一目标的指导吗?

我从这里引用这个 ,我理解(我认为)我应该将向量放入line 35-37model.py 的嵌入中。从代码中,我看到他没有使用任何预先训练的向量,而是使用输入文本中的单词。

我看过类似的其他答案,但由于我是 Tensorflow 和 Python 的新手,我不完全理解如何将其应用到代码中。

GloVe 生成两个文件,即:

  1. 词汇文件,包含所有单词出现的计数
  2. 矢量文件。例如单词 [ also -0.5432 -0.3210 0.1234...n_dimensions..]

另外,我是否必须生成 GloVe 向量并在同一语料库上训练 LSTM 模型,或者它们可以分开吗?例如。GloVe( 100k words)、text_to_train( 50k words)

感谢您的帮助!

kir*_*off 0

嵌入是单词编码,您加载一个包含 400 000 个条目的预先训练的 Glove 编码“字典”,其中每个标记或条目都编码在 Glove 50 为暗淡 50、Glove 100 为 100 等的一维向量中。

您的输入数据集 dim N, M 将经过编码,输入数据集中的每个条目都以 Glove 编码进行编码,并存储在嵌入矩阵的一行中,dim N, 50 或 N, 100 等。

您可以从此嵌入矩阵构建 Keras 嵌入层,并将其输出输入 LSTM。

https://keras.io/examples/nlp/pretrained_word_embeddings/