Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用保存的Keras模型进行情绪分类?_Keras_Word2vec - Fatal编程技术网

如何使用保存的Keras模型进行情绪分类?

如何使用保存的Keras模型进行情绪分类?,keras,word2vec,Keras,Word2vec,我训练了我的模型,得到了79%的情感分类准确率。对于嵌入层,我使用了word2vec。 现在,我已经训练并保存了我的模型,我如何使用它,以这样的方式,我可以把一些输入作为一个句子,它显示出句子的概率有多大 下面给出一些相关代码 word_model = gensim.models.Word2Vec(train_x+test_x, size=100, min_count=1, window=5, iter=100) model = Sequential() model.add(Embedding

我训练了我的模型,得到了79%的情感分类准确率。对于嵌入层,我使用了word2vec。 现在,我已经训练并保存了我的模型,我如何使用它,以这样的方式,我可以把一些输入作为一个句子,它显示出句子的概率有多大

下面给出一些相关代码

word_model = gensim.models.Word2Vec(train_x+test_x, size=100, min_count=1, window=5, iter=100)

model = Sequential()
model.add(Embedding(input_dim=vocab_size, output_dim=emdedding_size, 
                weights=[pretrained_weights]))

model.add(Dropout(0.2))
model.add(Conv1D(filters,
             kernel_size,
             padding='valid',
             activation='relu',
             strides=1))
model.add(GlobalMaxPooling1D())
model.add(Dense(hidden_dims))
model.add(Dropout(0.2))
model.add(Activation('relu'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy',
          optimizer='adam',
          metrics=['accuracy'])
model.summary()
model.fit(train_x, train_y,
      batch_size=batch_size,
      epochs=epochs,
      validation_data=(test_x, test_y))

在您的代码中,您只编译模型,目前还没有训练任何东西。使用
fit
对其进行训练后,您可以在训练过的模型上调用
predict
,以提供新的、看不见的输入。这里是一个全面的基本函数。

您不能直接传递字符串(或本例中的“句子”)来预测。接受输入数据作为numpy数组。 因此,您需要像处理火车数据一样处理新输入的句子

我看不出您对列车数据做了什么,但过程通常是相同的:

  • 干净的
  • 标记化
  • 矢量化
  • 匹配单词索引
  • 压扁

然后,您可以将结果numpy数组传递给predict以获得所需的结果。

我忘了在问题中写“fit”。我已经编辑了这个问题。@ NicoSid,如果我的答案,即调用模型上的预测,解决了你的问题(应该),请考虑投票和接受答案。我知道我必须使用预测。问题是我如何传递这个该死的句子?用你格式化训练数据(train_x)的方式格式化你的新句子(或多个句子),并将其输入预测方法,这是文档中的参数x。我的印象是,如果您选中此()和此()