Python'da NLTK kullanarak metni tokenize edin
Metin tokenizasyonu temel bir Doğal Dil İşleme (NLP) tekniğidir ve bu tekniklerden biri Tokenizasyon. Metni daha küçük bileşenlere veya belirteçlere bölme işlemidir. Bunlar şunlar olabilir:
- Kelimeler: NLP'yi seviyorum → ['I' 'love' 'NLP']
- Cümleler: NLP'yi seviyorum. Python harikadır. → ['NLP'yi seviyorum.' 'Python harika.']
Python’un popüler kütüphanesi ile NLTK (Doğal Dil Araç Takımı) metni anlamlı birimlere bölmek hem basit hem de son derece etkili hale gelir.
Temel Uygulama
Python'da NLTK kullanarak Tokenizasyon uygulamasını görelim
1. Adım: Kurulum ve Kurulum
Şunu yükleyin: nokta Cümle ve kelime tokenizasyonu için gerekli tokenizer modelleri.
Python ! pip install nltk import nltk nltk . download ( 'punkt' )
Adım 2: Cümleleri Simgeleştirin
sent_tokenize() bir dizeyi noktalama işaretlerini ve kısaltmaları işleyen cümleler listesine böler.
Python from nltk.tokenize import sent_tokenize text = 'NLTK is a great NLP toolkit. It makes processing text easy!' sentences = sent_tokenize ( text ) print ( sentences )
Çıkış:
['NLTK harika bir NLP araç takımıdır.' 'Metin işlemeyi kolaylaştırıyor!']
Adım 3: Kelimeleri Simgeleştirin
- word_tokenize() bir cümleyi ayrı belirteçler halinde kelimelere ve noktalama işaretlerine böler.
- Kasılmaları, noktalama işaretlerini, sayıları ve daha fazlasını yönetir.
from nltk.tokenize import word_tokenize sentence = 'Tokenization is easy with NLTK's word_tokenize.' words = word_tokenize ( sentence ) print ( words )
Çıkış:
['Tokenleştirme' '''NLTK'' '''''word_tokenize''' ile''kolay''dır.']
Biraz daha örnek görelim
1. WordPunctTokenizer
BT Metni alfabetik ve alfabetik olmayan karakterlere böler
- Tüm sözcük karakterleri ve noktalama işaretlerini belirteçlere ayırır.
- Özellikle kasılmaları böler (Don't,Don't'a dönüşür).
- E-postaları E-postalara böler.
from nltk.tokenize import WordPunctTokenizer tokenizer = WordPunctTokenizer () tokens = tokenizer . tokenize ( 'Don't split contractions. E-mails: [email protected]!' ) print ( tokens )
Çıkış:
['Yap' ''' 't' 'bölünme' 'kasılmaları' '.' 'E' '-' 'postalar' ':' 'merhaba' '@' 'örnek' '.' 'com' '!']
2. Ağaç BankasıKelime Belirleyici
Noktalama işaretlerini ve kısaltmaları ele alarak dil analizine uygundur.
- NLP dil analizi için yaygın olarak kullanılan Penn Treebank tarzı tokenizasyonu taklit eder.
- Belirli İngilizce gramer yapılarını daha akıllıca ele alır.
from nltk.tokenize import TreebankWordTokenizer tokenizer = TreebankWordTokenizer () tokens = tokenizer . tokenize ( 'Have a look at NLTK's tokenizers.' ) print ( tokens )
Çıkış:
[''NLTK'' ''''''tokenizer''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''`````````````````````````````NLK`````````` hoşlanıyor``şi`` tokenizer`lerden)``] alabilir.]
3. Normal İfade Belirleyici
Desen tabanlı bölmeyi kişiselleştirir.
- Düzenli ifade modelini temel alarak simgeleştirir.
- w+, noktalama işaretlerini tamamen ortadan kaldıran kelimeleri ve sayıları eşleştirir.
from nltk.tokenize import RegexpTokenizer tokenizer = RegexpTokenizer ( r 'w+' ) tokens = tokenizer . tokenize ( 'Custom rule: keep only words & numbers drop punctuation!' ) print ( tokens )
Çıkış:
['Özel' 'kural' 'tut' 'yalnızca' 'kelimeler' 'sayılar' 'bırak' 'noktalama işaretleri']
NLTK, temel kelime ve cümle bölmeden gelişmiş özel kalıplara kadar çeşitli simgeleştirme ihtiyaçlarını destekleyen, Python'da metni simgeleştirmek için kullanışlı ve kullanıcı dostu bir araç seti sağlar.
Test Oluştur