tensorflow/text
Making text a first-class citizen in TensorFlow.
解决的问题
TensorFlow Text 提供了一组可直接集成到 TensorFlow 图中的文本处理工具。这确保了在训练和推理过程中,预处理步骤(如分词和归一化)保持一致,无需管理独立的预处理脚本,也避免了两个阶段之间出现不一致的风险。
工作原理
该库将文本操作实现为 TensorFlow 操作。它支持 UTF-8 字符串,并提供以下工具:
- 归一化:应用大小写折叠和 Unicode 归一化(例如 NFKC),以确保字符表示的一致性。
- 分词:使用多种方法将字符串拆分为标记,例如
WhitespaceTokenizer(基于 ICU 空白字符拆分)和UnicodeScriptTokenizer(基于 Unicode 脚本边界拆分)。 - 偏移追踪:使用
TokenizerWithOffsets跟踪标记相对于原始字符串的精确字节位置。 - 特征提取:使用
Wordshape通过正则表达式识别大写、数值或标点等模式。 - 序列生成:使用滑动窗口方法生成 N-gram。
适用人群
在 TensorFlow 中构建文本模型的开发者和机器学习工程师,需要稳健且与图集成的预处理流水线。
主要亮点
- 图集成:预处理是 TensorFlow 图的一部分,确保训练和推理之间的一致性。
- Unicode 支持:全面支持 UTF-8 和 Unicode 归一化。
- Ragged Tensors:原生支持 Ragged Tensors,无需手动填充即可处理可变长度序列。
- Keras 集成:包含
ToDense层,可轻松将 Ragged 数据集成到 Keras 模型中。
相关
- 项目
- 项目
- 项目
- 项目
- 项目