Текст должен быть сначала преобразован в числовые значения. Keras предоставляет токенизатор и два метода fit_on_texts и text_to_sequence для работы с текстовыми данными.
См. Эту документацию keras здесь
Tokenizer: это помогает в векторизации текстового корпуса, поворачивая каждый
текст в любой последовательности целых чисел (каждое целое число является индексом
токена в словаре) или в вектор, где коэффициент
для каждого токена может быть двоичным, на основе количества слов
fit_on_texts: создает словарный индекс, основанный на частоте слов.
text_to_sequence: преобразует каждый текст в текстах в последовательность целых чисел.
from keras.preprocessing import text, sequence
s = ["this", "is", "a", "book", "of my choice"]
tokenizer = text.Tokenizer(num_words=100,lower=True)
tokenizer.fit_on_texts(s)
seq_token = tokenizer.texts_to_sequences(s)
g = sequence.pad_sequences(seq_token, maxlen=10)
g
выход
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 2],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 3],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 4],
[0, 0, 0, 0, 0, 0, 0, 5, 6, 7]], dtype=int32)