Hvad er tokenisering?
Tokenisering er den proces, hvor 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. Tokenization hjælper også med at erstatte følsomme dataelementer med ikke-følsomme dataelementer.
Naturlig sprogbehandling bruges til bygningsapplikationer som tekstklassificering, intelligent chatbot, sentimental analyse, sprogoversættelse osv. Det bliver vigtigt at forstå mønsteret i teksten for at nå det ovennævnte formål.
I øjeblikket skal du ikke bekymre dig om stemming og lemmatisering, men behandl dem som trin til rengøring af tekstdata ved hjælp af NLP (Natural language processing). Vi diskuterer stemming og lemmatisering senere i vejledningen. Opgaver såsom tekstklassificering eller spamfiltrering gør brug af NLP sammen med dyb læringsbiblioteker som Keras og Tensorflow.
Natural Language toolkit har meget vigtigt modul NLTK tokenize sætninger, som yderligere består af undermoduler
- ord tokenize
- sætning tokenize
Tokenisering af ord
Vi bruger metoden word_tokenize () til at opdele en sætning i ord. Outputtet af word tokenization kan konverteres til Data Frame for bedre tekstforståelse i maskinindlæringsapplikationer. Det kan også leveres som input til yderligere tekstrensningstrin, såsom fjernelse af tegnsætning, fjernelse af numerisk tegn eller stemming. Maskinindlæringsmodeller har brug for numeriske data for at blive trænet og forudsige. Word tokenization bliver en vigtig del af teksten (streng) til numerisk datakonvertering. Læs om Bag of Words eller CountVectorizer. Se nedenstående ord tokenize NLTK eksempel for at 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
- word_tokenize-modulet importeres fra NLTK-biblioteket.
- En variabel "tekst" initialiseres med to sætninger.
- Tekstvariablen sendes i word_tokenize-modulet og udskriver resultatet. Dette modul bryder hvert ord med tegnsætning, som du kan se i output.
Tokenisering af sætninger
Undermodul til ovenstående er sent_tokenize. Et åbenlyst 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 beregner du? For at udføre en sådan opgave har du brug for både NLTK-sætning tokenizer såvel som NLTK ord tokenizer for at beregne forholdet. Sådan output fungerer som et vigtigt træk ved maskintræning, da svaret ville være numerisk.
Tjek nedenstående NLTK tokenizer-eksempel for at lære, hvordan sætningstokenisering er forskellig 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 sætninger til samme input.
Forklaring af programmet:
- I en linje som det foregående program importerede sent_tokenize-modulet.
- Vi har taget den samme sætning. Yderligere sætningstokener i NLTK-modulet parsede disse sætninger og viser output. Det er klart, at denne funktion bryder hver sætning.
Ovenfor word tokenizer Python-eksempler er gode indstillingssten til at forstå ordets mekanik og sætningstokenisering.
Resumé
- Tokenisering i NLP er den proces, hvor en stor mængde tekst opdeles i mindre dele kaldet tokens.
- Naturlig sprogbehandling bruges til bygningsapplikationer såsom tekstklassificering, intelligent chatbot, sentimental analyse, sprogoversættelse osv.
- Natural Language toolkit har 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 fra word tokenizer i NLTK kan konverteres til Data Frame for bedre tekstforståelse i maskinindlæringsapplikationer.
- Undermodul til ovenstående er sent_tokenize. Sentence tokenizer i Python NLTK er en vigtig funktion til maskinuddannelse.