如何在get_keras_嵌入中使用填充值
我尝试将gensim的如何在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) ..
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,看看你是否收到同样的错误信息?