【问题标题】:Bag of Words embedding layer in Keras?Keras中的词袋嵌入层?
【发布时间】:2021-05-12 02:29:42
【问题描述】:

我有一个非常简单的 Keras 模型,如下所示:

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

我使用的嵌入是词袋。

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

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

【问题讨论】:

    标签: python keras keras-layer embedding word-embedding


    【解决方案1】:

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

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

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

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

    请注意,对于嵌入查找,您需要输入具有 batch × sequence length 的形状,其中整数对应于词汇表中的标记索引。

    【讨论】:

      猜你喜欢
      • 2020-06-03
      • 2018-08-12
      • 1970-01-01
      • 2018-12-16
      • 2018-09-03
      • 2018-09-23
      • 2018-07-18
      • 1970-01-01
      • 2020-10-27
      相关资源
      最近更新 更多