Saya sedang membangun model LSTM untuk mengklasifikasikan beberapa data ulasan menggunakan Keras. Outputnya hanya 1 atau 0.
Saya menambahkan lapisan penyematan kata sebelum memasukkan data teks ke lapisan lstm. Bagian dari kode saya ditunjukkan di bawah ini. Ini max_feature adalah ukuran kosakata. Ukuran vektor kata adalah 2. Ukuran setiap dokumen maksimal. Semua dokumen sudah diisi dengan panjang yang sama.
Namun saya selalu bingung dengan panjang lapisan LSTM. Apakah panjangnya harus sama dengan panjang dokumen saya (maxlen)? Masukkan semua kata di setiap dokumen, dan dapatkan hasilnya?.....
Ada cukup banyak sumber online yang menjelaskan LSTM. Namun dari segi implementasinya, saya rasa belum banyak yang memberikan penjelasan yang jelas...
Sangat menghargai jika seseorang dapat menjelaskan hal ini.
# 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'])