NLTK Tokenize: Ord og sætninger Tokenizer med eksempel

⚡ Smart opsummering

NLTK Tokenize opdeler stor tekst i mindre enheder kaldet tokens, et grundlæggende trin i naturlig sprogbehandling. Værktøjssættet indeholder word_tokenize til at opdele sætninger i ord og sent_tokenize til at opdele tekst i individuelle sætninger.

  • ✂️ Tokenisering: Opdeler stor tekst i mindre enheder kaldet tokens til analyse.
  • 🧠 NLP Foundation: Fungerer som et grundlæggende trin for stemming, lemmatisering og tekst-til-numerisk konvertering.
  • 🔤 word_tokenize(): Opdeler en sætning i individuelle ord og adskiller tegnsætning.
  • 📝 sendt_tokenize(): Opdeler en passage i separate sætninger.
  • 📊 Brug Case: Ved at kombinere begge kan du beregne funktioner som gennemsnittet af ord pr. sætning til maskinlæring.

NLTK-tokenisering

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

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

Ofte Stillede Spørgsmål

Ordtokenisering opdeler tekst i individuelle ord og tegnsætning ved hjælp af word_tokenize(), mens sætningstokenisering opdeler tekst i separate sætninger ved hjælp af sent_tokenize(). Begge kombineres ofte for at udlede funktioner som ord pr. sætning.

Tokenisering er det første trin, der omdanner rå tekst til håndterbare enheder, hvilket muliggør mønsterdetektion, stemming, lemmatisering og konvertering til numeriske funktioner, som maskinlæringsmodeller kræver til opgaver som klassificering og oversættelse.

Ja. NLTK understøtter flere sprog ved at indlæse den relevante Punkt-model, for eksempel sent_tokenize(text, language='french'). Understøttelsen varierer fra sprog til sprog, og nogle scripts kan kræve specialiserede tokenizers.

Store sprogmodeller konverterer tekst til tokens, ofte underord, før behandling. Modellen forudsiger det næste token baseret på de foregående, så tokenisering påvirker direkte kontekstlængde, omkostninger og outputkvalitet.

Ja. Moderne AI-tokenizere bruger underordsmetoder som Byte Pair Encoding eller WordPiece, der opdeler sjældne ord i mindre dele. Dette holder ordforrådet kompakt, samtidig med at det stadig repræsenterer ukendte eller sammensatte ord.

Opsummer dette indlæg med: