Spec-Zone.ru › TensorFlow 2.3

tf.strings.ngrams

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

Создаёт тензор n-грамм на основе data.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.strings.ngrams

tf.strings.ngrams(
    data, ngram_width, separator=' ', pad_values=None, padding_width=None,
    preserve_short_sequences=False, name=None
)

Создаёт тензор n-грамм на основе data. N-граммы создаются путём объединения окон из width смежных строк из внутреннего осей data с помощью separator.

Входные данные могут быть дополнены как с начала, так и с конца последовательности, если необходимо, с помощью аргумента pad_values. Если задано, pad_values должно содержать либо кортеж строк, либо одну строку; 0-й элемент кортежа будет использоваться для заполнения левой части последовательности, а 1-й элемент кортежа — для заполнения правой части последовательности. Аргумент padding_width управляет тем, сколько значений заполнения добавляется с каждой стороны; по умолчанию он равен ngram_width-1.

Если этот оператор настроен так, чтобы не добавлять заполнения, или если он настроен на добавление заполнения с padding_width меньше, чем ngram_width-1, то возможно, что последовательность или последовательность с заполнением меньше, чем ширина ngram. В этом случае для этой последовательности не будет сгенерировано никаких n-грамм. Это можно предотвратить, задав preserve_short_sequences, что приведет к тому, что оператор всегда будет генерировать по крайней мере одну n-грамму на каждую непустую последовательность.

Примеры:

tf.strings.ngrams(["A", "B", "C", "D"], 2).numpy()
array([b'A B', b'B C', b'C D'], dtype=object)
tf.strings.ngrams(["TF", "and", "keras"], 1).numpy()
array([b'TF', b'and', b'keras'], dtype=object)
Аргументы
data Тензор или RaggedTensor, содержащий исходные данные для n-грамм.
ngram_width Ширина(ы) n-грамм для создания. Если это список или кортеж, оператор вернёт n-граммы всех указанных арностей в порядке списка. Значения должны быть целочисленными, отличными от тензора, и больше нуля.
separator Строка-разделитель, используемая между элементами n-граммы. Должна быть строковой константой, а не тензором.
pad_values Кортеж (left_pad_value, right_pad_value), одна строка или None. Если None, заполнение не будет добавлено; если одна строка, то эта строка будет использоваться для заполнения слева и справа. Значения должны быть строками Python.
padding_width Если установлено, padding_width значения заполнения будут добавлены к обеим сторонам каждой последовательности. По умолчанию равно ngram_width-1. Должно быть больше
  1. (Обратите внимание, что 1-граммы никогда не дополняются, независимо от этого значения.)
preserve_short_sequences Если True, тогда гарантируется, что для каждой входной последовательности будет сгенерирована хотя бы одна n-грамма. В частности, если входная последовательность короче min(ngram_width) + 2*pad_width, тогда генерируется одна n-грамма, содержащая всю последовательность. Если False, то для этих коротких входных последовательностей n-граммы не генерируются.
name Имя оператора.
Возвращаемое значение
RaggedTensor из n-грамм. Если data.shape=[D1...DN, S], то output.shape=[D1...DN, NUM_NGRAMS], где NUM_NGRAMS=S-ngram_width+1+2*padding_width.
Исключения
TypeError если pad_values задано неверного типа.
ValueError если pad_values, padding_width, или ngram_width задано неверного значения.

© 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/strings/ngrams

Spec-Zone.ru

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