Не может понять keras.datasets.imdb - PullRequest
0 голосов
/ 31 октября 2019

У меня две проблемы:

  1. Во-первых, документация для tf.keras.datasets.imdb.get_word_index говорит

Извлекает словарные индексы, отображающие индексы слов обратно в слова.

Хотя на самом деле все наоборот,

print(tf.keras.datasets.imdb.get_word_index())

{'палевый': 34701, 'цукино': 52006, 'женский монастырь':52007

Я пытался запустить это в TensorFlow 2.0

(train_data_raw, train_labels), (test_data_raw, test_labels) = keras.datasets.imdb.load_data()
words2idx = tf.keras.datasets.imdb.get_word_index()
idx2words = {idx:word for word, idx in words2idx.items()}
i = 0
train_ex = [idx2words[x] for x in train_data_raw[0]]
train_ex = ' '.join(train_ex)
print(train_ex)

Это приводит к бессмысленной строке

как вы сами без себямощный позволяет любит их [...]

Разве я не должен получить действительный обзор фильма?

1 Ответ

1 голос
/ 31 октября 2019

Я немного покопался и обнаружил, что в обработке есть несколько «смещений», которые необходимо отменить, чтобы получить разумный язык обзора. Я изменил вашу строку, чтобы вычесть 3 из индекса, который появляется в необработанной последовательности (так как по умолчанию это начало реальных слов с индексом = 3), а также первый символ - фиктивный маркер (установлен в 1), поэтому реальный текстначинается с позиции 2 (или индекса 1 в python).

train_ex = [idx2words[x-3] for x in train_data_raw[0][1:]]

Использование вышеуказанной модификации дает мне следующее для обзора, который вы первоначально выбрали:

this film was just brilliant casting location scenery story direction everyone's really suited the part they played ...

Кажется, что некоторые знаки препинанияи капитализация удалена и т. д., но это, кажется, возвращает разумные отзывы.

Я надеюсь, что это помогает.

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