NLTK Tokenize: Ord og sætninger Tokenizer med eksempel

Hvad er tokenisering?

tokenization er den proces, hvorved en stor mængde tekst opdeles i mindre dele kaldet tokens. Disse tokens er meget nyttige til at finde mønstre og betragtes som et basistrin til stemming og lemmatisering. Tokenisering hjælper også med at erstatte følsomme dataelementer med ikke-følsomme dataelementer.

Naturlig sprogbehandling bruges til at bygge applikationer såsom tekstklassificering, intelligent chatbot, sentimental analyse, sprogoversættelse osv. Det bliver afgørende at forstå mønsteret i teksten for at opnå det ovennævnte formål.

Foreløbig skal du ikke bekymre dig om stemming og lemmatisering, men behandle dem som trin til rensning af tekstdata ved hjælp af NLP (Natural Language Processing). Vi vil diskutere stemming og lemmatisering senere i selvstudiet. Opgaver som f.eks Tekstklassificering eller spamfiltrering gør brug af NLP sammen med deep learning biblioteker som Keras og Tensorflow.

Natural Language toolkit har et meget vigtigt modul NLTK tokenisere sætninger, som yderligere består af undermoduler

  1. ord tokenize
  2. sætning tokenize

Tokenisering af ord

Vi bruger metoden word_tokenize() at dele en sætning op i ord. Outputtet af ordtokenisering kan konverteres til Data Frame for bedre tekstforståelse i maskinlæringsapplikationer. Den kan også leveres som input til yderligere tekstrensningstrin, såsom fjernelse af tegnsætning, fjernelse af numeriske tegn eller stemming. Maskinlæringsmodeller har brug for numeriske data for at blive trænet og foretage en forudsigelse. Ordtokenisering bliver en afgørende del af teksten (strengen) til konvertering af numeriske data. Læs venligst om Pose med ord eller CountVectorizer. Se venligst nedenstående ord tokenize NLTK eksempel for at forstå teorien bedre.

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', '.']

Tokenisering af ord

Kode Forklaring

  1. word_tokenize-modulet importeres fra NLTK-biblioteket.
  2. En variabel "tekst" initialiseres med to sætninger.
  3. Tekstvariabel sendes i word_tokenize-modulet og udskrives resultatet. Dette modul bryder hvert ord med tegnsætning, som du kan se i outputtet.

Tokenisering af sætninger

Det tilgængelige undermodul til ovenstående er sent_tokenize. Et oplagt spørgsmål i dit sind ville være hvorfor sætningstokenisering er nødvendig, når vi har mulighed for ordtokenisering. Forestil dig, at du skal tælle gennemsnitlige ord pr. sætning, hvordan vil du beregne det? For at udføre en sådan opgave skal du bruge både NLTK-sætningstokenizer såvel som NLTK-ordtokenizer for at beregne forholdet. Sådanne output tjener som en vigtig funktion til maskintræning, da svaret ville være numerisk.

Tjek nedenstående NLTK-tokenizer-eksempel for at lære, hvordan sætningstokenisering er forskellig fra ord-tokenisering.

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 ']

Vi har 12 ord og to sætninger for samme input.

Tokenisering af sætninger

Forklaring af programmet

  1. I en linje som det forrige program, importerede sent_tokenize-modulet.
  2. Vi har taget samme sætning. Yderligere sætningstokenizer i NLTK-modulet analyserede disse sætninger og viser output. Det er tydeligt, at denne funktion bryder hver sætning.

Ovenstående ord tokenizer Python eksempler er gode sætningsstene til at forstå mekanikken i ordet og sætningstokenisering.

Resumé

  • Tokenisering ind NLP er den proces, hvorved en stor mængde tekst opdeles i mindre dele kaldet tokens.
  • Naturlig sprogbehandling bruges til at bygge applikationer som tekstklassificering, intelligent chatbot, sentimental analyse, sprogoversættelse osv.
  • Natural Language toolkit har et meget vigtigt modul NLTK tokenize sætning, som yderligere består af undermoduler
  • Vi bruger metoden word_tokenize() til at opdele en sætning i ord. Outputtet af ordtokenizer i NLTK kan konverteres til Data Frame for bedre tekstforståelse i maskinlæringsapplikationer.
  • Det tilgængelige undermodul til ovenstående er sent_tokenize. Sætningstokenizer ind Python NLTK er en vigtig funktion til maskintræning.

Opsummer dette indlæg med: