如何在get_keras_嵌入中使用填充值

如何在get_keras_嵌入中使用填充值,keras,gensim,word2vec,word-embedding,Keras,Gensim,Word2vec,Word Embedding,我尝试将gensim的get\u keras\u嵌入集成到一个keras模型中 首先我做文本预处理 text\u to\u word\u序列将文本转换为令牌序列 w2v.vocab[tok].index将单词转换为gensim的单词索引 pad_序列(序列,maxlen=MAX_序列长度,value=999999)padding带有一些值 然后我建立了一个模型 embedding_layer = w2v.get_keras_embedding(train_embeddings=False) ..

我尝试将gensim的
get\u keras\u嵌入
集成到一个keras模型中

首先我做文本预处理

  • text\u to\u word\u序列
    将文本转换为令牌序列
  • w2v.vocab[tok].index
    将单词转换为gensim的单词索引
  • pad_序列(序列,maxlen=MAX_序列长度,value=999999)
    padding带有一些值
  • 然后我建立了一个模型

    embedding_layer = w2v.get_keras_embedding(train_embeddings=False)
    ...
    sequence_input = Input(shape=(MAX_SEQUENCE_LENGTH,), dtype='int32')
    embedded_sequences = embedding_layer(sequence_input)
    ...
    x = Conv1D(100, kernel_size, activation='relu', padding='same', strides=1)(embedded_sequences)
    
    显然,问题在于填充值。默认值为0,这是gensim word2vec中的“The”,如果我使用不存在的值,它将失败,并显示以下错误消息。在gensim word2vec中使用填充的正确方法是什么

    InvalidArgumentError (see above for traceback): indices[48,0] = 999999 is not in [0, 400000)
         [[Node: embedding_1/embedding_lookup = Gather[Tindices=DT_INT32, Tparams=DT_FLOAT, _class=["loc:@embedding_1/embeddings"], validate_indices=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](embedding_1/embeddings/read, _arg_input_1_0_3)]]
    

    非常感谢您的帮助。

    请将您提到的错误信息包括在内。@VegardKT补充道,这是一个很长的目标,但您能否尝试将填充减少到一个较小的值。比如5,看看你是否收到同样的错误信息?