基于 data
创建一个 n-grams 的张量。
用法
tf.strings.ngrams(
data, ngram_width, separator=' ', pad_values=None, padding_width=None,
preserve_short_sequences=False, name=None
)
参数
-
data
包含 ngram 的源数据的张量或 RaggedTensor。 -
ngram_width
要创建的 ngram 的宽度。如果这是一个列表或元组,则 op 将按列表顺序返回所有指定元组的 ngram。值必须是大于 0 的非张量整数。 -
separator
ngram 元素之间使用的分隔符字符串。必须是字符串常量,而不是张量。 -
pad_values
(left_pad_value、right_pad_value) 的元组、单个字符串或无。如果为 None,则不会添加任何填充;如果是单个字符串,则该字符串将用于左右填充。值必须是 Python 字符串。 -
padding_width
如果设置,padding_width
填充值将添加到每个序列的两侧。默认为ngram_width
-1。必须大于- (请注意,无论该值如何,都不会填充 1-gram。)
-
preserve_short_sequences
如果为真,则确保为每个输入序列生成至少一个 ngram。特别是,如果输入序列比min(ngram_width) + 2*pad_width
短,则生成包含整个序列的单个 ngram。如果为 false,则不会为这些短输入序列生成 ngram。 -
name
操作名称。
返回
-
ngram 的 RaggedTensor。如果
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
设置为无效值。
基于 data
创建一个 n-grams 的张量。 n-grams 是通过使用 separator
从 data
的内轴连接 width
相邻字符串的窗口来创建的。
如果需要,可以使用pad_values
参数在序列的开始和结束处填充输入数据。如果设置,pad_values
应该包含字符串元组或单个字符串;元组的第 0 个元素将用于填充序列的左侧,元组的第一个元素将用于填充序列的右侧。 padding_width
参数控制每边添加多少填充值;它默认为 ngram_width-1
。
如果此操作被配置为没有填充,或者如果它被配置为添加填充且 padding_width
设置为小于 ngram_width-1,则序列或序列加填充可能小于 ngram宽度。在这种情况下,不会为该序列生成任何 ngram。这可以通过设置 preserve_short_sequences
来防止,这将导致操作始终为每个非空序列生成至少一个 ngram。
例子:
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)
相关用法
- Python tf.strings.substr用法及代码示例
- Python tf.strings.reduce_join用法及代码示例
- Python tf.strings.regex_full_match用法及代码示例
- Python tf.strings.regex_replace用法及代码示例
- Python tf.strings.length用法及代码示例
- Python tf.strings.bytes_split用法及代码示例
- Python tf.strings.as_string用法及代码示例
- Python tf.strings.unsorted_segment_join用法及代码示例
- Python tf.strings.lower用法及代码示例
- Python tf.strings.split用法及代码示例
- Python tf.strings.upper用法及代码示例
- Python tf.strings.unicode_decode_with_offsets用法及代码示例
- Python tf.strings.join用法及代码示例
- Python tf.strings.to_hash_bucket用法及代码示例
- Python tf.strings.to_hash_bucket_strong用法及代码示例
- Python tf.strings.unicode_decode用法及代码示例
- Python tf.strings.unicode_encode用法及代码示例
- Python tf.strings.format用法及代码示例
- Python tf.strings.to_hash_bucket_fast用法及代码示例
- Python tf.strings.to_number用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.strings.ngrams。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。