適用於 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 模型來翻譯文字。
瞭解如何使用序列至序列模型翻譯文字。