РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
592 of 824 menu

Класс TextVectorization

Класс TextVectorization преобразует сырой текст в числовые тензоры, пригодные для подачи в нейронную сеть. Слой выполняет стандартизацию текста, разбиение на токены и преобразование токенов в целочисленные индексы словаря. Первым параметром передается размер словаря max_tokens, вторым - тип выходных последовательностей output_mode, третьим - функция стандартизации standardize. По умолчанию слой работает в режиме int и выдает последовательности целых чисел.

Синтаксис

tf.keras.layers.TextVectorization( max_tokens=None, standardize='lower_and_strip_punctuation', split='whitespace', output_mode='int', output_sequence_length=None )

Пример

Давайте создадим слой TextVectorization и обучим его на небольшом корпусе текстов:

import tensorflow as tf layer = tf.keras.layers.TextVectorization(max_tokens=10) layer.adapt(['abcde model.keras', 'abcde tensorflow']) print(layer.get_vocabulary())

Результат выполнения кода:

['', '[UNK]', 'abcde', 'model.keras', 'tensorflow']

Пример

Давайте применим слой к текстовым данным и получим числовые последовательности:

import tensorflow as tf layer = tf.keras.layers.TextVectorization(max_tokens=10) layer.adapt(['abcde model.keras', 'abcde tensorflow']) res = layer(['abcde model.keras']) print(res)

Результат выполнения кода:

tf.Tensor([[2 3]], shape=(1, 2), dtype=int64)

Пример

Давайте установим фиксированную длину выходной последовательности с помощью параметра output_sequence_length:

import tensorflow as tf layer = tf.keras.layers.TextVectorization( max_tokens=10, output_sequence_length=4 ) layer.adapt(['abcde model.keras', 'abcde tensorflow']) res = layer(['abcde model.keras']) print(res)

Результат выполнения кода:

tf.Tensor([[2 3 0 0]], shape=(1, 4), dtype=int64)

Пример

Давайте используем режим output_mode='multi_hot' для получения бинарного представления текста:

import tensorflow as tf layer = tf.keras.layers.TextVectorization( max_tokens=10, output_mode='multi_hot' ) layer.adapt(['abcde model.keras', 'abcde tensorflow']) res = layer(['abcde model.keras']) print(res)

Результат выполнения кода:

tf.Tensor([[0. 0. 1. 1. 0.]], shape=(1, 5), dtype=float32)

Смотрите также

  • класс TextVectorization,
    который преобразует текст в числовые последовательности
  • метод adapt,
    который обучает слой на текстовом корпусе
  • метод get_vocabulary,
    который возвращает словарь токенов
  • метод set_vocabulary,
    который устанавливает словарь вручную
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить