Я делаю модель для классификации названий веб-страниц на один из 101 класса, относящихся к еде (большинство названий относятся к рецептам). Средняя длина моих последовательностей составляет 42. Я очистил текст (плохие слова, изменил на строчные буквы и т. Д. c) и токенизировал его, используя токенизатор. Я поместил слой LSTM в мою модель, и я получил 83% точности на тестовом наборе. Я уверен, что это можно улучшить, внеся некоторые изменения в сеть. У вас есть предложения? Заранее спасибо! Это моя модель:
model = Sequential()
model.add(Embedding(MAX_NB_WORDS, EMBEDDING_DIM, input_length=x_train.shape[1]))
model.add(SpatialDropout1D(0.2))
model.add(LSTM(100, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(101, activation='softmax'))
opt = optimizers.Adam(learning_rate=0.01, beta_1=0.9, beta_2=0.999, amsgrad=False)
model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])