NLTK Tokenize: Tokenizer for ord og setninger med eksempel

Innholdsfortegnelse:

Anonim

Hva er tokenisering?

Tokenisering er prosessen der en stor mengde tekst blir delt inn i mindre deler kalt tokens. Disse tokens er veldig nyttige for å finne mønstre og betraktes som et grunnlag for stemming og lemmatisering. Tokenization hjelper også til å erstatte sensitive dataelementer med ikke-sensitive dataelementer.

Naturlig språkbehandling brukes til å bygge applikasjoner som tekstklassifisering, intelligent chatbot, sentimental analyse, språkoversettelse, etc. Det blir viktig å forstå mønsteret i teksten for å oppnå det ovennevnte formålet.

For øyeblikket, ikke bekymre deg for stemming og lemmatisering, men behandle dem som trinn for rengjøring av tekstdata ved hjelp av NLP (Natural language processing). Vi vil diskutere stemming og lemmatisering senere i opplæringen. Oppgaver som tekstklassifisering eller spamfiltrering bruker NLP sammen med dype læringsbiblioteker som Keras og Tensorflow.

Natural Language toolkit har veldig viktig modul NLTK tokenize setninger som videre består av undermoduler

  1. ord tokenize
  2. setning tokenize

Tokenisering av ord

Vi bruker metoden word_tokenize () for å dele en setning i ord. Resultatet av word tokenization kan konverteres til Data Frame for bedre tekstforståelse i maskinlæringsapplikasjoner. Det kan også leveres som inngang for ytterligere tekstrengjøringstrinn, for eksempel fjerning av tegnsetting, fjerning av numerisk tegn eller stemming. Maskinlæringsmodeller trenger numeriske data for å bli trent og forutsi. Word tokenization blir en viktig del av teksten (strengen) til numerisk datakonvertering. Les om Bag of Words eller CountVectorizer. Se nedenfor ord tokenize NLTK eksempel for å forstå teorien bedre.

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

Kode Forklaring

  1. word_tokenize-modulen importeres fra NLTK-biblioteket.
  2. En variabel "tekst" initialiseres med to setninger.
  3. Tekstvariabelen sendes i word_tokenize-modulen og skrives ut resultatet. Denne modulen bryter hvert ord med tegnsetting som du kan se i utdataene.

Tokenisering av setninger

Undermodul tilgjengelig for ovennevnte er sent_tokenize. Et åpenbart spørsmål i tankene dine ville være hvorfor setningstokenisering er nødvendig når vi har muligheten til ordtokenisering . Tenk deg at du må telle gjennomsnittlige ord per setning, hvordan vil du beregne? For å utføre en slik oppgave, trenger du både NLTK setning tokenizer samt NLTK ord tokenizer for å beregne forholdet. Slike resultater fungerer som en viktig funksjon for maskinopplæring, ettersom svaret ville være numerisk.

Sjekk eksemplet på NLTK tokenizer nedenfor for å lære hvordan setningstokenisering er forskjellig fra ordtokenisering.

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

Vi har 12 ord og to setninger for samme inngang.

Forklaring av programmet:

  1. I en linje som forrige program, importerte sent_tokenize-modulen.
  2. Vi har tatt samme setning. Videre setningstokenizer i NLTK-modulen analyserte setningene og viser utdata. Det er tydelig at denne funksjonen bryter hver setning.

Over word tokenizer Python-eksempler er gode innstillingsstener for å forstå ordets mekanikk og setningstokenisering.

Sammendrag

  • Tokenization i NLP er prosessen der en stor mengde tekst blir delt inn i mindre deler kalt tokens.
  • Naturlig språkbehandling brukes til å bygge applikasjoner som tekstklassifisering, intelligent chatbot, sentimental analyse, språkoversettelse, etc.
  • Natural Language toolkit har veldig viktig modul NLTK tokenize setning som videre består av undermoduler
  • Vi bruker metoden word_tokenize () for å dele en setning i ord. Utdataene fra word tokenizer i NLTK kan konverteres til Data Frame for bedre tekstforståelse i maskinlæringsapplikasjoner.
  • Undermodul tilgjengelig for ovennevnte er sent_tokenize. Sentence tokenizer i Python NLTK er en viktig funksjon for maskinopplæring.