このページは Cloud Translation API によって翻訳されました。
Switch to English

tf.strings.unicode_decode_with_offsets

TensorFlow 1つのバージョン GitHubの上のソースを表示

開始オフセットを持つコードポイントのシーケンスに各文字列をデコードします。

ノートPCで使用されます

チュートリアルで使用されます

このオペアンプは、に似てtf.strings.decode(...)が、それはまた、それぞれの文字列の各文字の開始オフセットを返します。この情報は、元のバイト列と文字を整列させるために使用することができます。

戻り値のタプル(codepoints, start_offsets)

  • codepoints[i1...iN, j]のUnicodeコードポイントであるj中の文字目のinput[i1...iN]使用して復号化する場合、 input_encoding
  • start_offsets[i1...iN, j]のために開始オフセットバイトであるj中で番目の文字をinput[i1...iN]使用して復号化する場合、 input_encoding

input AN N次元の潜在的に不規則なstring状のテンソル[D1...DN] N静的に知られなければなりません。
input_encoding 各文字列をデコードするために使用する必要がありますUnicodeエンコーディングのString名。
errors 入力文字列が示されたエンコーディングを使用して変換することができない応答を指定します。の一つ:

  • 'strict' :違法なストリングの例外を上げます。
  • 'replace' :で違法なサブストリングを置き換えreplacement_char
  • 'ignore' :違法な部分文字列をスキップします。
replacement_char で無効なストリングの代わりに使用するための交換用のコードポイントinput時にerrors='replace' 。そして、でC0制御文字の代わりにinputするときreplace_control_characters=True
replace_control_characters C0制御文字置換するかどうか(U+0000 - U+001F)replacement_char
name 操作の名前(オプション)。

タプルN+1次元テンソル(codepoints, start_offsets)

  • codepointsあるint32形状テンソル[D1...DN, (num_chars)]
  • offsetsされint64形状テンソル[D1...DN, (num_chars)]

返されたテンソルはtf.Tensor場合のinputスカラーであるか、またはtf.RaggedTensorそうでなければです。

例:

input = [s.encode('utf8') for s in (u'G\xf6\xf6dnight', u'\U0001f60a')]
result = tf.strings.unicode_decode_with_offsets(input, 'UTF-8')
result[0].to_list()  # codepoints
[[71, 246, 246, 100, 110, 105, 103, 104, 116], [128522]]
result[1].to_list()  # offsets
[[0, 1, 3, 5, 6, 7, 8, 9, 10], [0]]