tf.strings.unicode_split_with_offsets
Разделяет каждую строку на последовательность кодовых точек с начальными смещениями.
tf.strings.unicode_split_with_offsets(
input,
input_encoding,
errors='replace',
replacement_char=65533,
name=None
)
Этот оператор похож на tf.strings.decode(...), но он также возвращает начальное смещение каждого символа в соответствующей строке. Эта информация может использоваться для выравнивания символов с исходной последовательностью байтов.
Возвращает кортеж (chars, start_offsets), где:
-
chars[i1...iN, j]— это подстрокаinput[i1...iN], которая кодирует еёj-й символ при декодировании с использованиемinput_encoding. -
start_offsets[i1...iN, j]— это начальное байтовое смещение дляj-го символа вinput[i1...iN]при декодировании с использованиемinput_encoding.
| Аргументы | |
|---|---|
input | Многомерный потенциально разрозненный тензор string со формой [D1...DN]. N должен быть статически известен. |
input_encoding | Имя строки для кодирования Unicode, которое должно использоваться для декодирования каждой строки. |
errors | Указывает реакцию, когда входная строка не может быть преобразована с помощью указанного кодирования. Один из:
|
replacement_char | Кодовый символ замены, используемый вместо некорректных подстрок в input, когда errors='replace'. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Кортеж тензоров N+1 размерности (codepoints, start_offsets).
Возвращаемые тензоры являются |
Пример:
input = [s.encode('utf8') for s in (u'G\xf6\xf6dnight', u'\U0001f60a')]
result = tf.strings.unicode_split_with_offsets(input, 'UTF-8')
result[0].to_list() # character substrings
[[b'G', b'\xc3\xb6', b'\xc3\xb6', b'd', b'n', b'i', b'g', b'h', b't'],
[b'\xf0\x9f\x98\x8a']]
result[1].to_list() # offsets
[[0, 1, 3, 5, 6, 7, 8, 9, 10], [0]]
© 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/unicode_split_with_offsets