词向量作为输入

数据挖掘 深度学习 喀拉斯 词嵌入 word2vec 情绪分析
2022-03-12 00:17:11

我有一个语料库,我想使用 LSTM 和词嵌入对其进行情感分析。我已经使用 Word2Vec 将文档中的单词转换为单词向量。我的问题是如何输入这些词向量作为 Keras 的输入?我不想使用 Keras 提供的嵌入。

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 可能会为您提供所需的东西。