Alat pemrosesan teks untuk TensorFlow

TensorFlow menyediakan dua pustaka untuk pemrosesan teks dan bahasa alami: KerasNLP dan Teks TensorFlow. KerasNLP adalah pustaka pemrosesan bahasa alami (NLP) tingkat tinggi yang mencakup model berbasis transformator modern serta utilitas tokenisasi tingkat rendah. Ini adalah solusi yang disarankan untuk sebagian besar kasus penggunaan NLP. Dibangun di Teks TensorFlow, KerasNLP mengabstraksi operasi pemrosesan teks tingkat rendah menjadi API yang dirancang untuk kemudahan penggunaan. Namun jika Anda memilih untuk tidak bekerja dengan Keras API, atau Anda memerlukan akses ke operasi pemrosesan teks tingkat rendah, Anda dapat menggunakan Teks TensorFlow secara langsung.

KerasNLP

import keras_nlp
import tensorflow_datasets as tfds

imdb_train, imdb_test = tfds.load(
  "imdb_reviews",
  split=["train", "test"],
  as_supervised=True,
  batch_size=16,
)
# Load a BERT model.
classifier = keras_nlp.models.BertClassifier.from_preset("bert_base_en_uncased")
# Fine-tune on IMDb movie reviews.
classifier.fit(imdb_train, validation_data=imdb_test)
# Predict two new examples.
classifier.predict(["What an amazing movie!", "A total waste of my time."])
Lihat quickstart di GitHub.

Cara termudah untuk mulai memproses teks di TensorFlow adalah dengan menggunakan KerasNLP. KerasNLP adalah pustaka pemrosesan bahasa alami yang mendukung alur kerja yang dibangun dari komponen modular yang memiliki bobot dan arsitektur prasetel yang canggih. Anda dapat menggunakan komponen KerasNLP dengan konfigurasi out-of-the-box mereka. Jika Anda membutuhkan lebih banyak kontrol, Anda dapat dengan mudah menyesuaikan komponen. KerasNLP menekankan komputasi dalam grafik untuk semua alur kerja sehingga Anda dapat mengharapkan produksi yang mudah menggunakan ekosistem TensorFlow.

KerasNLP adalah perpanjangan dari inti Keras API, dan semua modul KerasNLP tingkat tinggi adalah Lapisan atau Model. Jika Anda sudah familiar dengan Keras, Anda sudah memahami sebagian besar KerasNLP.

Untuk mempelajari lebih lanjut, lihat KerasNLP .

Teks TensorFlow

import tensorflow as tf
import tensorflow_text as tf_text

def preprocess(vocab_lookup_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(
       vocab_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

KerasNLP menyediakan modul pemrosesan teks tingkat tinggi yang tersedia sebagai lapisan atau model. Jika memerlukan akses ke alat tingkat rendah, Anda dapat menggunakan Teks TensorFlow. TensorFlow Text memberi Anda banyak koleksi operasi dan pustaka untuk membantu Anda bekerja dengan input dalam bentuk teks seperti string teks mentah atau dokumen. Pustaka ini dapat melakukan preprocessing secara teratur yang diperlukan oleh model berbasis teks, dan menyertakan fitur lain yang berguna untuk pemodelan urutan.

Anda dapat mengekstrak fitur teks sintaksis dan semantik yang kuat dari dalam grafik TensorFlow sebagai input ke jaringan saraf Anda.

Mengintegrasikan prapemrosesan dengan grafik TensorFlow memberikan manfaat berikut:

  • Memfasilitasi toolkit besar untuk bekerja dengan teks
  • Mengizinkan integrasi dengan rangkaian besar alat TensorFlow untuk mendukung proyek mulai dari definisi masalah hingga pelatihan, evaluasi, dan peluncuran
  • Mengurangi kerumitan waktu penyajian dan mencegah kemiringan penyajian pelatihan

Selain hal di atas, Anda tidak perlu khawatir tentang tokenisasi dalam pelatihan yang berbeda dari tokenisasi pada inferensi, atau mengelola skrip prapemrosesan.

Model Arsitektur
Pelajari cara melakukan pra-pemrosesan BERT end-to-end pada teks.
Pelajari cara menghasilkan kosakata subkata dari teks.
Pelajari cara mengklasifikasikan teks dengan model BERT.
Mengklasifikasikan teks menggunakan Recurrent Neural Networks.
Gunakan model Transformer untuk menerjemahkan teks.
Pelajari cara menerjemahkan teks dengan model sequence-to-sequence.