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."])
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.