NLTK Tokenize: Örnekle Kelimeler ve Cümleler Tokenizer
Tokenizasyon nedir?
dizgeciklere büyük miktarda metnin belirteç adı verilen daha küçük parçalara bölünmesi işlemidir. Bu belirteçler kalıp bulmak için çok faydalıdır ve kök çıkarma ve lemmatizasyon için temel adım olarak kabul edilir. Tokenizasyon ayrıca hassas veri öğelerinin hassas olmayan veri öğeleriyle değiştirilmesine de yardımcı olur.
Doğal dil işleme, Metin sınıflandırma gibi uygulamalar oluşturmak için kullanılır. akıllı sohbet robotu, duygusal analiz, dil çevirisi vb. Yukarıda belirtilen amaca ulaşmak için metindeki kalıbı anlamak hayati hale gelir.
Şimdilik, köklendirme ve kökleştirme hakkında endişelenmeyin, ancak bunları NLP (Doğal dil işleme) kullanarak metinsel veri temizleme adımları olarak ele alın. Köklendirme ve kökleştirmeyi eğitimde daha sonra ele alacağız. Şu gibi görevler: Metin sınıflandırması veya spam filtreleme Keras ve gibi derin öğrenme kütüphanelerinin yanı sıra NLP'den de yararlanır. tensör akışı.
Doğal Dil araç seti çok önemli bir NLTK modülüne sahiptir tokenize ayrıca alt modüllerden oluşan cümleler
- kelime simgeleştirme
- cümleyi simgeleştirmek
Kelimelerin simgeleştirilmesi
Yöntemi kullanıyoruz word_tokenize() bir cümleyi kelimelere bölmek. Kelime tokenizasyonunun çıktısı, makine öğrenimi uygulamalarında metnin daha iyi anlaşılması için Veri Çerçevesine dönüştürülebilir. Ayrıca noktalama işaretlerinin kaldırılması, sayısal karakterlerin kaldırılması veya köklere ayırma gibi diğer metin temizleme adımları için de girdi olarak sağlanabilir. Makine öğrenimi modellerinin eğitilmesi ve tahmin yapılabilmesi için sayısal verilere ihtiyacı vardır. Kelime tokenizasyonu, sayısal veri dönüşümünde metnin (dizgenin) önemli bir parçası haline gelir. Lütfen okuyun Kelime Torbası veya CountVectorizer. Teoriyi daha iyi anlamak için lütfen aşağıdaki NLTK kelime tokenleştirme örneğine bakın.
from nltk.tokenize import word_tokenize text = "God is Great! I won a lottery." print(word_tokenize(text)) Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']
Kod Açıklama
- word_tokenize modülü NLTK kütüphanesinden içe aktarılmıştır.
- Bir değişken “metin” iki cümleyle başlatılır.
- Metin değişkeni word_tokenize modülüne iletilir ve sonuç yazdırılır. Bu modül, çıktıda görebileceğiniz her kelimeyi noktalama işaretiyle keser.
Cümlelerin Simgeleştirilmesi
Yukarıdakiler için kullanılabilen alt modül sent_tokenize'dir. Aklınızda bariz bir soru olurdu Kelime tokenizasyonu seçeneğimiz varken neden cümle tokenizasyonuna ihtiyaç duyuluyor?. Cümle başına ortalama kelimeleri saymanız gerektiğini düşünün, nasıl hesaplayacaksınız? Böyle bir görevi gerçekleştirmek için, oranı hesaplamak amacıyla hem NLTK cümle belirteci hem de NLTK kelime belirteci gerekir. Bu çıktı, cevap sayısal olacağından makine eğitimi için önemli bir özellik olarak hizmet eder.
Cümle tokenizasyonunun kelime tokenizasyonundan ne kadar farklı olduğunu öğrenmek için aşağıdaki NLTK tokenizer örneğini kontrol edin.
from nltk.tokenize import sent_tokenize text = "God is Great! I won a lottery." print(sent_tokenize(text)) Output: ['God is Great!', 'I won a lottery ']
Sahibiz 12 kelimeler ve iki cümle aynı giriş için.
Programın açıklaması
- Önceki programdaki gibi bir satırda sent_tokenize modülünü içe aktarın.
- Aynı cümleyi biz de aldık. NLTK modülündeki daha fazla cümle belirteci bu cümleleri ayrıştırdı ve çıktıyı gösterdi. Bu fonksiyonun her cümleyi bozduğu açıktır.
Kelime belirtecinin üstünde Python örnekler, kelime ve cümle tokenizasyonunun mekaniğini anlamak için iyi ayar taşlarıdır.
ÖZET
- Tokenizasyon NLP büyük miktarda metnin belirteç adı verilen daha küçük parçalara bölünmesi işlemidir.
- Doğal dil işleme, Metin sınıflandırması, akıllı sohbet robotu, duygu analizi, dil çevirisi vb. gibi uygulamaların oluşturulmasında kullanılır.
- Doğal Dil araç seti, ayrıca alt modüllerden oluşan çok önemli NLTK simgeleştirme cümlesine sahiptir.
- Bir cümleyi kelimelere bölmek için word_tokenize() yöntemini kullanırız. NLTK'deki kelime belirteci çıktısı, makine öğrenimi uygulamalarında metnin daha iyi anlaşılması için Veri Çerçevesine dönüştürülebilir.
- Yukarıdakiler için kullanılabilen alt modül sent_tokenize'dir. Cümle belirteci Python NLTK, makine eğitimi için önemli bir özelliktir.