Metin verileri üzerinde bir model eğitebilmeniz için öncelikle metni işlemeniz (veya ön işleme tabi tutmanız) gerekir. Çoğu durumda, metnin bir modele aktarılabilmesi için belirteçlere ayrılması ve vektörleştirilmesi gerekir ve bazı durumlarda metin, normalleştirme ve özellik seçimi gibi ek ön işleme adımları gerektirir.
Metin uygun bir formata işlendikten sonra, metin sınıflandırması, metin oluşturma, özetleme ve çeviri gibi doğal dil işleme (NLP) iş akışlarında kullanabilirsiniz.
TensorFlow, metin ve doğal dil işleme için iki kütüphane sağlar: KerasNLP ( GitHub ) ve TensorFlow Text ( GitHub ).
KerasNLP, en yeni dönüştürücü tabanlı modellerin yanı sıra alt seviye belirteçleme yardımcı programlarını da içeren üst düzey bir NLP modelleme kütüphanesidir. Çoğu NLP kullanım durumu için önerilen çözümdür. TensorFlow Text üzerine kurulu KerasNLP, alt seviye metin işleme işlemlerini kullanım kolaylığı için tasarlanmış bir API'ye özetler. Ancak Keras API ile çalışmayı tercih etmiyorsanız veya alt seviye metin işleme işlemlerine erişmeniz gerekiyorsa, doğrudan TensorFlow Text'i kullanabilirsiniz.
KerasNLP
TensorFlow'da metin işlemeye başlamanın en kolay yolu KerasNLP kullanmaktır. KerasNLP, en son teknolojiye sahip önceden ayarlanmış ağırlıklara ve mimarilere sahip modüler bileşenlerden oluşturulmuş iş akışlarını destekleyen bir doğal dil işleme kütüphanesidir. 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 hesaplama sağladığından, TensorFlow ekosistemini kullanarak kolay üretime geçiş bekleyebilirsiniz.
KerasNLP, BERT ve FNet gibi popüler model mimarilerinin uçtan uca uygulamalarını içerir. KerasNLP modellerini, katmanlarını ve belirteçleyicilerini kullanarak makine çevirisi , metin oluşturma , metin sınıflandırması ve dönüştürücü model eğitimi dahil olmak üzere birçok son teknoloji NLP iş akışını tamamlayabilirsiniz.
KerasNLP, temel Keras API'sinin bir uzantısıdır ve her üst düzey KerasNLP modülü bir Layer
veya Model
. Keras'a aşinaysanız, KerasNLP'nin çoğunu zaten anlamışsınızdır.
TensorFlow Metni
KerasNLP, katman veya model olarak kullanılabilen üst düzey metin işleme modülleri sunar. Daha düşük düzeyli araçlara ihtiyacınız varsa, TensorFlow Text'i kullanabilirsiniz. TensorFlow Text, ham metin dizeleri ve belgelerle çalışmanıza yardımcı olacak işlemler ve kütüphaneler sağlar. TensorFlow Text, metin tabanlı modellerin düzenli olarak ihtiyaç duyduğu ön işlemeyi gerçekleştirebilir ve ayrıca dizi modelleme için yararlı diğer özellikleri de içerir.
TensorFlow Text'i kullanarak şunları yapabilirsiniz:
- Dizeyi boşluklara göre bölebilen, kelimeleri ve noktalama işaretlerini ayırabilen ve bayt kaydırmalarını belirteçlerle döndürebilen, özellik açısından zengin belirteç ayırıcıları uygulayın; böylece bir dizenin kaynak metinde nerede bulunabileceğini bilirsiniz.
- Bir belirtecin belirtilen bir dize düzeniyle eşleşip eşleşmediğini kontrol edin. Büyük harf kullanımı, noktalama işaretleri, sayısal veriler ve diğer belirteç özelliklerini kontrol edebilirsiniz.
- Jetonları n-gramlara birleştirin.
- TensorFlow grafiğindeki metni işleyin, böylece eğitim sırasındaki belirteçleme, çıkarım sırasındaki belirteçlemeyle eşleşsin.
Nereden başlamalı?
Aşağıdaki kaynaklar TensorFlow metin işlemeye başlamanıza yardımcı olacaktır:
- TensorFlow Metni : TensorFlow Metni ve KerasNLP kullanarak metinleri işlemenize yardımcı olacak eğitimler, kılavuzlar ve diğer kaynaklar.
- KerasNLP : KerasNLP için dokümantasyon ve kaynaklar.
- TensorFlow eğitimleri : Temel TensorFlow belgeleri (bu kılavuz) çeşitli metin işleme eğitimlerini içerir.
- Google Makine Öğrenimi: Metin Sınıflandırma Kılavuzu : Metin sınıflandırmasına adım adım giriş. Makine öğrenimine yeni başlıyorsanız, başlamak için iyi bir yer.