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

4
我的目标是询问是否可以在Tensorflow word-rnn LSTM生成模型中使用预训练的GloVe向量,如果可以,如何实现?我参考了这里,我理解(我想)我应该将向量放入model.py的35-37行的嵌入中。从代码中,我看到他没有使用任何预训练的向量,而是使用输入文本中的单词。我看到了其他答案,比如这个,但是由于我对Tensorflow和Python都很陌生,我不完全理解如何将其应用到代码中。GloVe生成两个文件,分别是:
  1. 词汇文件,包含所有单词出现的次数
  2. 向量文件,例如单词[also -0.5432 -0.3210 0.1234...n_dimensions..]
此外,我是否需要在相同的语料库上生成GloVe向量并训练LSTM模型,还是它们可以分开呢?例如:GloVe (100k 个单词),text_to_train (50k 个单词)。感谢您的帮助!

它们可以是不同的语料库。 - Aaron
1个回答

0

嵌入是单词编码,您可以加载一个预先训练好的Glove编码“字典”,其中包含400,000个条目,其中每个令牌或条目都以Glove 50的1D向量编码,Glove 100等则为100。

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

您可以从此嵌入矩阵构建Keras嵌入层,其输出被馈送到LSTM中。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接