TensorFlow 的文本处理工具

import tensorflow as tf
import tensorflow_text as tf_text

def preprocess(vocab_table, example_text):

  # Normalize text
  tf_text.normalize_utf8(example_text)

  # Tokenize into words
  word_tokenizer = tf_text.WhitespaceTokenizer()
  tokens = word_tokenizer.tokenize(example_text)

  # Tokenize into subwords
  subword_tokenizer = tf_text.WordpieceTokenizer(
       lookup_table, token_out_type=tf.int64)
  subtokens = subword_tokenizer.tokenize(tokens).merge_dims(1, -1)

  # Apply padding
  padded_inputs = tf_text.pad_model_inputs(subtokens, max_seq_length=16)
  return padded_inputs

TensorFlow 为您提供一系列丰富的操作和库,帮助您处理文本形式的输入,例如原始文本字符串或文档。这些库可以执行基于文本的模型经常需要进行的预处理,并且包含对序列建模非常有用的其他功能。

您可以从 TensorFlow 图内部提取强大的语法和语义文本特征,并将这些特征作为神经网络的输入。

将预处理与 TensorFlow 图集成在一起可提供以下优势:

  • 有助于使用大型工具包处理文本
  • 允许与一套丰富的 TensorFlow 工具集成,以便为项目提供支持,包括问题定义、训练、评估和发布等
  • 降低应用模型时的复杂性,并防止出现训练-应用偏差

除上述各项外,您无需担心训练中的分词化与推断时的分词化不同,也无需担心如何管理脚本的预处理。

模型架构
了解如何对文本进行端到端 BERT 预处理。
了解如何从文本生成子词词汇表。
了解如何使用 BERT 模型进行文本分类。
使用循环神经网络进行文本分类。
使用 Transformer 模型翻译文本。
了解如何使用序列到序列模型翻译文本。