Tensorflow嵌入层词汇量

问题描述 投票:0回答:1

我正在学习Tensorflow,并在tensorflow中遇到了Embedding层,该层用于学习自己的单词嵌入。该层采用以下参数:

keras.layers.Embedding(input_dim, 
                       output_dim, 
                       embeddings_initializer='uniform',
                       embeddings_regularizer=None, 
                       activity_regularizer=None, 
                       embeddings_constraint=None, 
                       mask_zero=False, 
                       input_length=None)

“ input dim”应该与词汇表相同,即唯一的单词。如果我想将词汇量限制为仅最频繁的前25000个单词-我该怎么做?

例如,我可以简单地将'input_dim'更改为25000,还是必须遍历语料库,并用令牌替换前25000个单词之外的任何单词?

python tensorflow word-embedding
1个回答
0
投票

实际上,如果您使用tensorflow.keras,则必须确保您的语料中的令牌不超过vocabulary_size或嵌入层的input_dim,否则会出现错误。

如果使用keras,则只需更改嵌入层中的input_dim,而无需更改语料库或标记中的任何内容。 keras将用zero向量替换词汇表中的标记。

如果您需要有关行为的更多详细信息,请查看此答案:How does keras Embedding layer works if input value greater than input_dim?

© www.soinside.com 2019 - 2024. All rights reserved.