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.
Python
   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.
Python
   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.
Python
   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.
Python
   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