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

标签 python vector tensorflow embedding lstm

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

我是从 here 引用的
我明白(我认为)我应该将向量放入 line 35-37 的嵌入中模型.py。从代码中,我看到他没有使用任何预训练的向量,而是使用输入文本中的单词。

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

GloVe 生成两个文件,分别是:

  • 词汇文件,包含所有单词出现次数
  • 矢量文件。例如这个词 [ also -0.5432 -0.3210 0.1234...n_dimensions.. ]

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

    感谢您的帮助!

    最佳答案

    嵌入是单词编码,你加载一个预训练的 Glove 编码“字典”,其中包含 400 000 个条目,其中每个标记或条目都被编码为一维向量,dim 50 表示 Glove 50,100 表示 Glove 100 等。
    您的输入数据集dim N, M 将经过编码,输入数据集中的每个条目都以Glove 编码进行编码并存储在嵌入矩阵的一行中,dim N, 50 或N, 100 等。
    您可以从这个嵌入矩阵构建一个 Keras 嵌入层,其输出被馈送到 LSTM。
    https://keras.io/examples/nlp/pretrained_word_embeddings/

    关于python - 如何在 tensorflow LSTM 生成模型中使用预训练的 GloVe 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41487791/

    相关文章:

    python - NotAllowedError 在 Google App Engine 中使用 users.create_login_url

    Python 在使用 multiprocessing.pool.map() 调用的函数中增加一个数字

    python - Django:列表索引超出范围

    python - 属性错误 : 'DataFrame' object has no attribute 'map'

    c++ - 如何在 C++ 中对 STL 迭代器进行平均操作

    R排列向量列表

    java - 范围混淆(对我来说): DefaultTableModel keeps reference to Vector. 为什么?

    tensorflow - 如何使用 XLA 编译器?

    python - 执行多次运行时如何使用 Keras 保留纪元号?

    performance - Tensorflow GPU 利用率仅为 60% (GTX 1070)