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

Векторизация текста в TensorFlow

Чтобы подать фразу в модель, её разбивают на слова и заменяют каждое слово целым номером. Слой TextVectorization хранит такой список и умеет кодировать новые строки в таблицу целых чисел.

Перед первым использованием слой нужно настроить на примерах: метод adapt просматривает переданные фразы и собирает словарь. После этого тот же слой переводит любую строку из того же языка в номера слов.

Зададим режим вывода с целыми номерами, обучим слой на коротких английских фразах и закодируем одну новую строку:

import tensorflow as tf layer = tf.keras.layers.TextVectorization( max_tokens=10, output_mode='int' ) layer.adapt(["red hat", "red coat", "blue hat"]) encoded = layer(tf.constant(["red hat"])) print(encoded.numpy()) # выведет [[2 3]]

Слой принимает и одну строку, и несколько фраз сразу. Каждая строка превращается в ряд целых номеров той же длины, что и число слов во фразе:

import tensorflow as tf layer = tf.keras.layers.TextVectorization( max_tokens=8, output_mode='int' ) layer.adapt(["cat sat", "dog ran"]) batch = layer(tf.constant(["cat sat", "dog ran"])) print(batch.numpy()) # выведет [[5 2] [4 3]]

Обучите слой векторизации на фразах "a b", "a c" и "b c" с лимитом словаря 10. Закодируйте "a b" и выведите таблицу целых номеров.

Настройте слой на двух английских фразах "one two" и "two three". Подайте партию из строк "one two" и "three one" и выведите две строки целых индексов.

Соберите слой с режимом целых номеров и лимитом 6. Обучите его на "go now" и "go fast", затем закодируйте "go now" и выведите длину второй оси в форме результата.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить