Installere NLTK i Linux
For å installere NLTK i Ubuntu, kjør kommandoen nedenfor:
$ sudo apt install python3-nltk
NLTK -pakker er tilgjengelige i alle større Linux -distribusjoner. Søk etter nøkkelordet “NLTK” i Package Manager for å installere pakkene. Hvis ikke av en eller annen grunn er NLTK ikke tilgjengelig i depotene for distribusjonen din, kan du installere den fra PIP -pakkebehandleren ved å kjøre kommandoen nedenfor:
$ pip install -bruker -u nltk
Merk at du først må installere PIP fra pakkebehandleren for kommandoen ovenfor for å fungere. På noen distribusjoner kan det kalles PIP3. Du kan også følge detaljerte installasjonsinstruksjoner tilgjengelig på den offisielle nettstedet til NLTK.
Trekke ut setninger fra et avsnitt ved hjelp av NLTK
For avsnitt uten komplekse punkteringer og avstand, kan du bruke den innebygde NLTK-setningstokenizer, kalt “Punkt Tokenizer,” som følger med en forhåndsutdannet modell. Du kan også bruke dine egne trente datamodeller for å tokenisere tekst til setninger. Tilpassede datamodeller er utenfor omfanget av denne artikkelen, så koden nedenfor vil bruke den innebygde Punkt English Tokenizer. For å laste ned Punkt Resource -filen, kjør følgende tre kommandoer etter hverandre, og vent til nedlastingen skal fullføre:
$ python3
$ Import NLTK
$ nltk.Last ned ('Punkt')
Et avsnitt fra "Alice's Adventures in Wonderland" vil bli brukt i kodeprøven nedenfor:
Importer NLTKÅ kjøre ovennevnte kode vil gi deg følgende utdata:
Den innebygde Punkt-setningstokenisatoren fungerer bra hvis du vil tokenisere enkle avsnitt. Etter å ha importert NLTK -modulen, er alt du trenger å gjøre å bruke “Sent_tokenize ()” -metoden på et stort tekstkorpus. Imidlertid kan det hende at PUNKT -setningstokenisatoren ikke oppdager setninger riktig når det er et komplekst avsnitt som inneholder mange tegnsettingsmerker, utropstegn, forkortelser eller repeterende symboler. Det er ikke mulig å definere en standard måte å overvinne disse problemene på. Du må skrive tilpasset kode for å takle disse problemene ved hjelp av regex, strengmanipulering eller ved å trene din egen datamodell i stedet for å bruke den innebygde PUNKT-datamodellen.
Du kan også prøve å finpusse den eksisterende PUNKT -modellen for å fikse feil tokenisering ved å bruke noen ekstra parametere. For å gjøre det, følg den offisielle dokumentasjonen for Punkt Tokenization tilgjengelig her. For å bruke dine egne tilpassede justeringer, kreves det en liten endring i koden:
Fra NLTK.tokenize.Punkt Import PunktSentencetokenizer, punktparametreKoden over gjør den samme jobben som “Sent_tokenize ()” -metoden. Du kan imidlertid nå definere dine egne regler ved å bruke innebygde metoder og gi dem som argumenter, som beskrevet i dokumentasjonen. For eksempel er noen forkortelser blitt lagt til i koden ovenfor. Hvis disse forkortelsene blir fulgt av tegnsetting, vil de ikke bli brutt i en ny setning. Den normale oppførselen er å bruke en prikk eller periode som en indikasjon på slutten av en setning.
Konklusjon
NLTK og dens tokeniseringsmetoder er ganske effektive til tokenisering og behandling av tekstdata. Imidlertid fungerer de forhåndsutdannede modellene kanskje ikke 100% med forskjellige typer tekster. Det kan hende du må forbedre de eksisterende modellene, trene og levere din egen eller skrive din egen kode for å fikse anomalier.