NLTK Tokenize: Tokenizer de cuvinte și propoziții cu exemplu

Cuprins:

Anonim

Ce este tokenizarea?

Tokenizarea este procesul prin care o cantitate mare de text este împărțită în părți mai mici numite jetoane. Aceste jetoane sunt foarte utile pentru găsirea tiparelor și sunt considerate ca un pas de bază pentru stemming și lematizare. Tokenizarea ajută, de asemenea, la înlocuirea elementelor de date sensibile cu elemente de date nesensibile.

Procesarea limbajului natural este utilizată pentru construirea de aplicații precum clasificarea textului, chatbot inteligent, analiza sentimentală, traducerea limbii etc. Devine vital să înțelegem modelul din text pentru a atinge scopul menționat mai sus.

Deocamdată, nu vă faceți griji cu privire la derivație și lematizare, ci tratați-le ca pași pentru curățarea datelor textuale utilizând NLP (Prelucrarea limbajului natural). Vom discuta despre stemming și lematizare mai târziu în tutorial. Sarcini precum clasificarea textului sau filtrarea spamului utilizează NLP împreună cu biblioteci de învățare profundă precum Keras și Tensorflow.

Setul de instrumente de limbaj natural are un modul foarte important NLTK tokenize propoziții care cuprinde în continuare sub-module

  1. cuvânt tokenize
  2. propoziție tokenize

Tokenizarea cuvintelor

Folosim metoda word_tokenize () pentru a împărți o propoziție în cuvinte. Ieșirea tokenizării cuvintelor poate fi convertită în cadru de date pentru o mai bună înțelegere a textului în aplicațiile de învățare automată. Poate fi, de asemenea, furnizat ca intrare pentru mai mulți pași de curățare a textului, cum ar fi eliminarea punctuației, eliminarea caracterelor numerice sau stemming. Modelele de învățare automată au nevoie de date numerice pentru a fi instruite și pentru a face o predicție. Tokenizarea cuvântului devine o parte crucială a conversiei textului (șirului) către date numerice. Vă rugăm să citiți despre Bag of Words sau CountVectorizer. Vă rugăm să consultați exemplul de mai jos pentru a înțelege mai bine teoria.

from nltk.tokenize import word_tokenizetext = "God is Great! I won a lottery."print(word_tokenize(text))Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

Explicarea codului

  1. modulul word_tokenize este importat din biblioteca NLTK.
  2. Un „text” variabil este inițializat cu două propoziții.
  3. Variabila text este transmisă în modulul word_tokenize și imprimat rezultatul. Acest modul rupe fiecare cuvânt cu punctuație pe care îl puteți vedea în ieșire.

Tokenizarea frazelor

Sub-modulul disponibil pentru cele de mai sus este send_tokenize. O întrebare evidentă în mintea dvs. ar fi de ce este necesară tokenizarea frazelor atunci când avem opțiunea de tokenizare a cuvântului . Imaginați-vă că trebuie să numărați cuvintele medii pe propoziție, cum veți calcula? Pentru realizarea unei astfel de sarcini, aveți nevoie atât de tokenizer de propoziții NLTK, cât și de tokenizer de cuvinte NLTK pentru a calcula raportul. O astfel de ieșire servește ca o caracteristică importantă pentru antrenamentul mașinilor, deoarece răspunsul ar fi numeric.

Consultați exemplul de tokenizator NLTK de mai jos pentru a afla cum diferă tokenizarea frazelor de tokenizarea cuvintelor.

from nltk.tokenize import sent_tokenizetext = "God is Great! I won a lottery."print(sent_tokenize(text))Output: ['God is Great!', 'I won a lottery ']

Avem 12 cuvinte și două propoziții pentru aceeași intrare.

Explicația programului:

  1. Într-o linie ca programul anterior, a importat modulul sent_tokenize.
  2. Am luat aceeași sentință. Un alt tokenizator de propoziții din modulul NLTK a analizat acele propoziții și arată rezultatul. Este clar că această funcție rupe fiecare propoziție.

Deasupra cuvintelor tokenizer Exemplele Python sunt setări bune pentru a înțelege mecanica tokenizării cuvântului și a propoziției.

rezumat

  • Tokenizarea în NLP este procesul prin care o cantitate mare de text este împărțită în părți mai mici numite jetoane.
  • Procesarea limbajului natural este utilizată pentru construirea de aplicații precum clasificarea textului, chatbot inteligent, analiză sentimentală, traducere a limbii etc.
  • Setul de instrumente de limbaj natural are un modul foarte important NLTK tokenize propoziție care cuprinde în continuare sub-module
  • Folosim metoda word_tokenize () pentru a împărți o propoziție în cuvinte. Ieșirea de tokenizer de cuvinte în NLTK poate fi convertită în Data Frame pentru o mai bună înțelegere a textului în aplicațiile de învățare automată.
  • Sub-modulul disponibil pentru cele de mai sus este send_tokenize. Tokenizerul de propoziții în Python NLTK este o caracteristică importantă pentru instruirea mașinilor.