ComeçarComece de graça

Melhor classificação do sentimento

Neste exercício, você volta ao problema de classificação de sentimentos visto no Capítulo 1.

Você vai deixar o modelo mais complexo e melhorar a precisão dele. Você vai usar uma camada “ Embedding ” para treinar vetores de palavras no conjunto de treinamento e duas camadas “ LSTM ” para acompanhar textos mais longos. Além disso, você vai adicionar uma camada extra de “ Dense ” antes da saída.

Isso não é mais um modelo simples, e o treinamento pode demorar um pouco. Por isso, dá pra usar um modelo pré-treinado carregando seus pesos com o método .load_weights() da classe keras.models.Sequential. O modelo foi treinado com 10 épocas e seus pesos estão disponíveis no arquivo model_weights.h5.

Os seguintes módulos estão carregados no ambiente: Sequential, Embedding, LSTM, Dropout, Dense.

Este exercício faz parte do curso

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Ver curso

Instruções do exercício

  • Adicione uma camada “ Embedding ” como a primeira camada do modelo.
  • Adicione uma segunda camada de “ LSTM ” com 64 unidades e returning e as sequências.
  • Adicione uma camada extra de Dense com 16 unidades.
  • A gente avalia o modelo pra imprimir a precisão no conjunto de treinamento.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Build and compile the model
model = Sequential()
model.add(____(vocabulary_size, wordvec_dim, trainable=True, input_length=max_text_len))
model.add(____(64, return_sequences=____, dropout=0.2, recurrent_dropout=0.15))
model.add(LSTM(64, return_sequences=False, dropout=0.2, recurrent_dropout=0.15))
model.add(____(16))
model.add(Dropout(rate=0.25))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Load pre-trained weights
model.load_weights('model_weights.h5')

# Print the obtained loss and accuracy
print("Loss: {0}\nAccuracy: {1}".format(*model.____(X_test, y_test, verbose=0)))
Editar e executar o código