引言Introduction
TensorFlow Text提供了一组与TensorFlow 2.0共同使用的文本相关类和操作。这个库可以基于文本模型,定期执行预处理,以及核心TensorFlow不提供的序列建模的功能。
在文本预处理中使用这些操作的好处是它们在TensorFlow Graph中完成,因此无需担心训练中的标记化与推测的标记化或管理预处理脚本不同。
安装 Installation
pip install -U tensorflow-text
Eager Execution
TensorFlow Text兼容TensorFlow eager模式和graph模式。
import tensorflow as tf
import tensorflow_text as text
tf.enable_eager_execution()
编码 Unicode
大多数操作所期望的字符串编码方式都是UTF-8。 如果使用了不同的编码方式,则可以使用核心tensorflow的转码操作将字符串转码为UTF-8。如果输入的结构无效,也可以使用相同的操作将字符串强制转换为结构有效的UTF-8。
docs = tf.constant([u'Everything not saved will be lost.'.encode('UTF-16-BE'),
u'Sad☹'.encode('UTF-16-BE')])
utf8_docs = tf.strings.unicode_transcode(docs, input_encoding='UTF-16-BE',
output_encoding='UTF-8')
规范化 Normalization
在处理不同的文本来源时,最重要的是不同来源的相同单词能被识别为相同。 Unicode中不区分大小写匹配的常用技术是大小写折叠(类似于下框)。 (请注意,案例折叠在内部应用NFKC标准化。)
我们还提供Unicode规范化操作,用于将字符串转换为字符的规范表示,其中规范化形式KC是默认值(NFKC&#