我有一个语料库,我想使用 LSTM 和词嵌入对其进行情感分析。我已经使用 Word2Vec 将文档中的单词转换为单词向量。我的问题是如何输入这些词向量作为 Keras 的输入?我不想使用 Keras 提供的嵌入。
词向量作为输入
数据挖掘
深度学习
喀拉斯
词嵌入
word2vec
情绪分析
2022-03-12 00:17:11
2个回答
您可以跳过嵌入层并使用具有n 个输入节点的普通输入层,其中n是您的 word2vec 嵌入的维度。其余部分与嵌入层相同,只需传递一个n维向量序列作为输入,可能会根据您的模型进行填充或截断。
Keras 不提供开箱即用的预训练词嵌入。您是否需要完全避免使用嵌入层?如果没有,您可以将该层用作预训练词向量矩阵的输入。weights您可以使用层的属性将预训练的嵌入作为初始层权重加载。如果您设置trainable=False,那么当您运行模型时,您的词嵌入将不会发生变化。
以下是使用Keras Github 存储库中预先训练的词向量的示例中的代码片段:
embedding_layer = Embedding(nb_words + 1,
EMBEDDING_DIM,
weights=[embedding_matrix],
input_length=MAX_SEQUENCE_LENGTH,
trainable=False)
如果您确实需要完全避免嵌入层,那么@Jan's 可能会为您提供所需的东西。