Я строю модель LSTM для классификации некоторых данных обзора с использованием Keras.Вывод только 1 или 0.
Я добавил слой встраивания слов перед подачей текстовых данных в слой lstm.Часть моего кода показана ниже.Здесь max_feature - это размер словаря.Размер вектора слова равен 2. Размер каждого документа maxlen.Весь документ уже дополнен до одинаковой длины.
Однако я всегда путаюсь с длиной слоя LSTM.Должна ли она быть такой же длины, как длина моих документов (макслен)?Введите все слова в каждом документе и получите вывод? .....
Существует довольно много онлайн-источников, объясняющих LSTM.Но с точки зрения реализации, я чувствую, что не многие из них дают четкие объяснения ...
Действительно ценю это, если кто-то может прояснить это.
# max_features: vocabulary size
# word vector size: 2
# maxlen: my document size, already padded to the same length
# Build our model
print('Build model...')
model = Sequential()
model.add(Embedding(input_dim=max_features, output_dim= 2, input_length=maxlen ))
model.add(LSTM(units= ???? ))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['accuracy'])