繁体   English   中英

Keras 中的词袋嵌入层?

[英]Bag of Words embedding layer in Keras?

我有一个非常简单的 Keras model 看起来像:

model = Sequential()
model.add(Dense(hidden_size, input_dim=n_inputs, activation='relu'))
model.add(Dense(n_outputs, activation='softmax'))

我使用的嵌入是词袋。

我想将嵌入步骤作为 model 的一部分。 我想把它作为一个嵌入层......但我不知道是否可以将一个词袋 model 实现为 Keras 嵌入层? 我知道你可以将预训练的 BoW 和 GloVe 嵌入模型传递给嵌入层,所以我想知道是否可以用 BOW 完成类似的事情?

任何想法将不胜感激::D

Keras(以及基本上所有深度学习框架)中的嵌入层进行查找:对于令牌索引,它返回密集嵌入。

问题是你想如何嵌入词袋表示? 我认为合理的选择之一是:

  1. 对每个单词进行嵌入查找,
  2. 平均令牌嵌入,从而得到一个表示 BoW 的向量。 在 Keras 中,您可以为此使用GlobalAveragePooling1D

平均可能比求和更好,因为 output 对于不同长度的序列将具有相同的比例。

请注意,对于嵌入查找,您需要输入具有批量×序列长度的形状,其中整数对应于词汇表中的标记索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM