如何使用保存的 Keras 模型进行情感分类?
How to use saved Keras Model for sentiment classification?
我训练了我的模型,并获得了 79% 的情感分类准确率。对于嵌入层,我使用了 word2vec。
现在我已经训练并保存了我的模型,我该如何使用它来将一些输入作为一个句子,它会显示这个句子的概率 positive/negative?
下面给出了一些相关代码。
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))
我训练了我的模型,并获得了 79% 的情感分类准确率。对于嵌入层,我使用了 word2vec。 现在我已经训练并保存了我的模型,我该如何使用它来将一些输入作为一个句子,它会显示这个句子的概率 positive/negative?
下面给出了一些相关代码。
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))