Spec-Zone.ru › TensorFlow 2.3

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

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

Наследуется от: TextVectorization

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

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

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

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, содержащего 1 в всех элементах, где токен, сопоставленный с этим индексом, встречается хотя бы один раз в элементе пакета. 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
)

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

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

Аргументы
vocab Массив строковых токенов.
df_data Массив данных частоты документов. Необходим только если режим output_mode слоя равен TFIDF.
oov_df_value Частота документа для токена OOV. Необходима только если output_mode равен 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.3/api_docs/python/tf/compat/v1/keras/layers/experimental/preprocessing/TextVectorization

Spec-Zone.ru

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