Spec-Zone.ru › TensorFlow

tf.strings.ngrams

Создает тензор 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 должен содержать либо кортеж строк, либо одну строку; нулевой элемент кортежа будет использоваться для дополнения левой стороны последовательности, а первый элемент кортежа — для дополнения правой стороны последовательности. Аргумент padding_width задает количество добавляемых с каждой стороны значений дополнения; по умолчанию используется ngram_width-1.

Если эта операция настроена без дополнения или если задано дополнение, а значение padding_width меньше ngram_width-1, последовательность либо последовательность вместе с дополнением может быть короче ширины n-граммы. В этом случае для такой последовательности 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-граммы всех указанных размеров в порядке, заданном списком. Значения должны быть целыми числами больше 0 и не быть тензорами.
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 задано недопустимое значение.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/strings/ngrams

Spec-Zone.ru

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