Создание прогноза после обучения и подгонка последовательной модели RNN - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь получить прогнозы из моих моделей анализа настроений, которые классифицируют 500 статей в новостях.Потери при валидации моделей и потери при обучении примерно одинаковы, а их оценки относительно высоки.Однако когда я пытаюсь делать с ними прогнозы, я получаю одинаковый результат классификации во всех из них, независимо от ввода текста.Я считаю, что проблема может заключаться в том, как я пытаюсь сделать прогноз (я дополняю свою строку разделенными символами).Я надеялся, что кто-то здесь может пролить свет на эту проблему (мой код ниже).Спасибо за вашу помощь

comment = 'SAMPLE TEXT STRING'
for i in range(300-len(comment.split(' '))):
    apad += ' A'
comment = comment + apad
tok.fit_on_texts([comment])
X = tokenizer.texts_to_sequences([comment])
X = preprocessing.sequence.pad_sequences(X)
yhat = b.predict_classes(X)
print(yhat)
prediction = b.predict(X, batch_size=None, verbose=0, steps=None)
print(prediction)

Вывод этого скрипта ниже.И классы прогноза, и прогнозируемые классы независимо от ввода текста всегда по какой-то причине всегда равны 0:

[[0]] [[0,00645966]]

1 Ответ

0 голосов
/ 29 ноября 2018

Кажется, проблема в токенизаторе.

Вы не можете снова fit токенизатор, потому что у вас будут разные токены для каждого слова.Вы должны установить токенизатор только один раз перед тренировкой и затем сохранить токены, которые будут использоваться со всем новым текстом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...