Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.keras.layers.experimental.preprocessing.TextVectorization

Слой векторизации текста.

Наследуется от: TextVectorization, PreprocessingLayer, Layer, Module

tf.compat.v1.keras.layers.experimental.preprocessing.TextVectorization(
    max_tokens=None, standardize=text_vectorization.LOWER_AND_STRIP_PUNCTUATION,
    split=text_vectorization.SPLIT_ON_WHITESPACE, ngrams=None,
    output_mode=text_vectorization.INT, output_sequence_length=None,
    pad_to_max_tokens=True, **kwargs
)

Этот слой предоставляет базовые возможности управления текстом в модели Keras. Он преобразует пакет строк (один образец = одна строка) либо в список индексов токенов (один образец = 1D тензор целочисленных индексов токенов), либо в плотное представление (один образец = 1D тензор вещественных значений, представляющих данные о токенах образца).

Обработка каждого образца включает следующие шаги:

1) стандартизация каждого образца (обычно приведение к нижнему регистру + удаление знаков препинания) 2) разделение каждого образца на подстроки (обычно слова) 3) объединение подстрок в токены (обычно n-граммы) 4) индексация токенов (присвоение уникального целочисленного значения каждому токену) 5) преобразование каждого образца с использованием этого индекса, либо в вектор целых чисел, либо в плотный вектор с плавающей точкой.

Атрибуты
max_tokens Максимальный размер словаря для этого слоя. Если None, размер словаря не ограничен.
standardize Необязательное задание стандартизации, применяемой к входному тексту. Значения могут быть None (без стандартизации), LOWER_AND_STRIP_PUNCTUATION (приведение к нижнему регистру и удаление знаков препинания) или вызываемый объект.
split Необязательное задание разбиения входного текста. Значения могут быть None (без разбиения), SPLIT_ON_WHITESPACE (разбиение по пробелам ASCII), или вызываемый объект.
ngrams Необязательное задание n-грамм для создания из входного текста, который возможно был разделен. Значения могут быть None, целое число или кортеж целых чисел; передача целого числа создаст n-граммы до этого целого числа, а передача кортежа целых чисел создаст n-граммы для указанных значений в кортеже. Передача None означает, что n-граммы не будут созданы.
output_mode Необязательное задание вывода слоя. Значения могут быть INT, BINARY, COUNT или TFIDF, которые управляют выводом следующим образом: INT: Выводит целочисленные индексы, один целочисленный индекс на токен разделенной строки. BINARY: Выводит один целочисленный массив на пакет размера vocab_size или max_tokens, содержащий 1s во всех элементах, где токен, сопоставленный с этим индексом, встречается по крайней мере один раз в элементе пакета. COUNT: Как BINARY, но целочисленный массив содержит количество раз, которое токен в этом индексе появлялся в элементе пакета. TFIDF: Как BINARY, но к токенам применяется алгоритм TF-IDF для нахождения значения в каждом слоте токена.
output_sequence_length Необязательная длина выходного тензора. Если задано, выход будет дополнен или усечен до этого значения в режиме INT.
pad_to_max_tokens Если True, режимы BINARY, COUNT и TFIDF будут дополнять свой вывод до max_tokens, даже если количество уникальных токенов в словаре меньше max_tokens.

Методы

adapt

Просмотреть исходный код

adapt(
    data, reset_state=True
)

Подгоняет состояние слоя предобработки к набору данных.

Переопределяет метод adapt по умолчанию, чтобы применить соответствующую предобработку к входам перед передачей в комбинирующий блок.

Аргументы
data Данные для обучения. Их можно передать в виде объекта tf.data Dataset, массива NumPy, тензора строк или списка текстов.
reset_state Необязательный аргумент, указывающий, следует ли очищать состояние слоя в начале вызова adapt. Это должно быть True для данного слоя, который не поддерживает повторные вызовы adapt.

get_vocabulary

Просмотреть исходный код

get_vocabulary()

set_vocabulary

Просмотреть исходный код

set_vocabulary(
    vocab, df_data=None, oov_df_value=None
)

Устанавливает данные словаря (и необязательно частоты документов) для этого слоя.

Этот метод напрямую устанавливает данные словаря и частоты документов для данного слоя вместо анализа набора данных через 'adapt'. Он должен использоваться всякий раз, когда информация о словаре (и, необязательно, частотах документов) уже известна. Если данные словаря уже присутствуют в слое, этот метод их заменит.

Аргументы
vocab Массив строковых токенов.
df_data Массив данных частоты документов. Необходим только если режим вывода слоя TFIDF.
oov_df_value Частота документов токена OOV. Необходим только если режим вывода TFIDF.
Исключения
ValueError Если слишком много входов, входы не соответствуют или отсутствуют входные данные.
RuntimeError Если словарь не может быть установлен при вызове этой функции. Это происходит, когда режимы "binary", "count" и "tfidf", если "pad_to_max_tokens" равно False, а сам слой уже был вызван.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/compat/v1/keras/layers/experimental/preprocessing/TextVectorization

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API