TensorFlow için metin işleme araçları

TensorFlow, metin ve doğal dil işleme için iki kitaplık sağlar: KerasNLP ve TensorFlow Text. KerasNLP, modern trafo tabanlı modellerin yanı sıra alt düzey simgeleştirme yardımcı programlarını içeren üst düzey bir doğal dil işleme (NLP) kitaplığıdır. Çoğu NLP kullanım durumu için önerilen çözümdür. TensorFlow Metin üzerine inşa edilen KerasNLP, düşük seviyeli metin işleme işlemlerini kullanım kolaylığı için tasarlanmış bir API'ye soyutlar. Ancak Keras API ile çalışmayı tercih etmiyorsanız veya alt düzey metin işleme işlemlerine erişmeniz gerekiyorsa, doğrudan TensorFlow Text'i kullanabilirsiniz.

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."])
GitHub'daki hızlı başlangıca bakın.

TensorFlow'da metin işlemeye başlamanın en kolay yolu KerasNLP kullanmaktır. KerasNLP, son teknoloji önceden ayarlanmış ağırlıklara ve mimarilere sahip modüler bileşenlerden oluşturulmuş iş akışlarını destekleyen doğal bir dil işleme kitaplığıdır. KerasNLP bileşenlerini kullanıma hazır yapılandırmalarıyla kullanabilirsiniz. Daha fazla kontrole ihtiyacınız varsa bileşenleri kolayca özelleştirebilirsiniz. KerasNLP, tüm iş akışları için grafik içi hesaplamayı vurgular, böylece TensorFlow ekosistemini kullanarak kolay üretim bekleyebilirsiniz.

KerasNLP, çekirdek Keras API'sinin bir uzantısıdır ve tüm üst düzey KerasNLP modülleri, Katmanlar veya Modellerdir. Keras'a aşina iseniz, KerasNLP'nin çoğunu zaten anlamışsınızdır.

Daha fazla bilgi edinmek için bkz . KerasNLP .

TensorFlow Metni

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, katmanlar veya modeller olarak kullanılabilen üst düzey metin işleme modülleri sağlar. Alt düzey araçlara erişmeniz gerekiyorsa TensorFlow Text'i kullanabilirsiniz. TensorFlow Text, ham metin dizeleri veya belgeler gibi metin biçimindeki girdilerle çalışmanıza yardımcı olacak zengin bir işlem ve kitaplık koleksiyonu sağlar. Bu kitaplıklar, metin tabanlı modellerin gerektirdiği ön işlemeyi düzenli olarak gerçekleştirebilir ve dizi modelleme için yararlı olan diğer özellikleri içerebilir.

Sinir ağınıza girdi olarak TensorFlow grafiğinin içinden güçlü sözdizimsel ve anlamsal metin özelliklerini çıkarabilirsiniz.

Ön işlemeyi TensorFlow grafiğiyle entegre etmek aşağıdaki avantajları sağlar:

  • Metinle çalışmak için geniş bir araç setini kolaylaştırır
  • Problem tanımından eğitime, değerlendirmeye ve lansmana kadar projeleri desteklemek için geniş bir TensorFlow araçları paketiyle entegrasyona izin verir
  • Sunum zamanındaki karmaşıklığı azaltır ve eğitim-sunum çarpıklığını önler

Yukarıdakilere ek olarak, çıkarımda belirteçleştirmeden farklı olan eğitimdeki simgeleştirme veya ön işleme betiklerini yönetme konusunda endişelenmenize gerek yoktur.

Model Mimarileri
Metin üzerinde uçtan uca BERT ön işlemenin nasıl gerçekleştirileceğini öğrenin.
Metinden alt kelime sözcük dağarcığının nasıl oluşturulacağını öğrenin.
BERT modeliyle metni nasıl sınıflandıracağınızı öğrenin.
Tekrarlayan Sinir Ağlarını kullanarak metni sınıflandırın.
Metni çevirmek için Transformer modellerini kullanın.
Sıradan diziye modellerle metni nasıl çevireceğinizi öğrenin.