Предварительная обработка текстовых данных в целочисленные индексы (например, набор данных imdb в примере классификации текста tenorFlow) - PullRequest
0 голосов
/ 30 июня 2019

Я следую учебному пособию по классификации текста TensorFlow (https://www.tensorflow.org/tutorials/keras/basic_text_classification),, классифицирующему обзоры IMDB. Данные IMDB являются частью дистрибутива keras и загружаются предварительно обработанными. Я хотел бы поэкспериментировать с моимсобственные тексты. Есть ли эффективный способ предварительной обработки моих собственных текстов в представление word-> int? Я пытался использовать словари, кортежи и сортировку, но это очень неэффективно. У меня есть ощущение, что есть более эффективный способсделай это.

Спасибо
Майкл

Я отсканировал инструменты предварительной обработки nltk и keras, но, возможно, что-то там пропустил.

1 Ответ

1 голос
/ 30 июня 2019

Для простого преобразования текстовых последовательностей в целочисленные последовательности мы можем использовать модуль keras.preprocessing.text.Tokenizer.

Tokenizer назначает индекс (не ноль) каждому слову, присутствующему в корпусе. Используя этот словарь, тексты токенизируются.

Предположим, тексты - это список предложений, которые у вас есть. Тогда,

tokenizer = keras.preprocessing.text.Tokenizer()
tokenizer.fit_on_texts( texts )
tokenized_messages = tokenizer.texts_to_sequences( texts )
padded_messages = keras.preprocessing.sequence.pad_sequences( tokenized_messages , maxlen )

Где maxlen - максимальная длина, к которой будет добавлено токенизированное сообщение (в основном путем добавления нулей).

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