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 模型中。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目