如何使用 Doc2Vec 向量实现 LSTM?

数据挖掘 喀拉斯 lstm word2vec
2022-02-28 06:42:43

我想为文本分类构建一个人工神经网络,它有一个LSTM层,并使用通过Doc2Vec之前训练的模型获得的权重:

model_doc2vec = Sequential()
model_doc2vec.add(Embedding(voacabulary_dim, 100, input_length=longest_document, weights=[training_weights], trainable=False))
model_doc2vec.add(LSTM(units=10, dropout=0.25, recurrent_dropout=0.25, return_sequences=True))
model_doc2vec.add(Flatten())
model_doc2vec.add(Dense(3, activation='softmax'))
model_doc2vec.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

目前我无法进入weights上述Embedding()层。我想知道获得这些权重的最简单方法。

1个回答

权重不过是预训练的词向量。您可以使用任何 word2vec 或 Glove 嵌入并创建一个嵌入矩阵来获得它。本质上,矩阵的每一行都是 word2vec/Glove 词汇表中一个单词的向量。请看这里