NLTK Tokenize: Ord og setninger Tokenizer med eksempel

โšก Smart oppsummering

NLTK Tokenize deler stor tekst inn i mindre enheter kalt tokens, et grunnleggende trinn i naturlig sprรฅkbehandling. Verktรธysettet inneholder word_tokenize for รฅ dele setninger inn i ord og sent_tokenize for รฅ dele tekst inn i individuelle setninger.

  • โœ‚๏ธ Tokenisering: Deler stor tekst inn i mindre enheter kalt tokens for analyse.
  • ๐Ÿง  NLP Foundation: Fungerer som et grunnleggende trinn for stemming, lemmatisering og konvertering fra tekst til numerisk.
  • ๐Ÿ”ค ord_tokenisere(): Deler en setning inn i individuelle ord, og skiller tegnsetting.
  • ๐Ÿ“ sendt_tokenisere(): Deler opp en tekst i separate setninger.
  • ๐Ÿ“Š Bruk sak: Ved รฅ kombinere begge deler kan du beregne funksjoner som gjennomsnittlig antall ord per setning for maskinlรฆring.

NLTK-tokenisering

Hva er tokenisering?

tokenization er prosessen der en stor mengde tekst deles inn i mindre deler kalt tokens. Disse tokenene er svรฆrt nyttige for รฅ finne mรธnstre og betraktes som et basistrinn for stemming og lemmatisering. Tokenisering bidrar 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.

Forelรธpig ikke bekymre deg for stemming og lemmatisering, men behandle dem som trinn for rensing av tekstdata ved hjelp av NLP (Natural Language Processing). Vi vil diskutere stemming og lemmatisering senere i opplรฆringen. Oppgaver som f.eks Tekstklassifisering eller spamfiltrering bruker NLP sammen med dyplรฆringsbiblioteker som Keras og tensorflow.

Natural Language Toolkit har en svรฆrt viktig modul NLTK symbolisere setninger som videre bestรฅr av undermoduler

  1. ord tokenize
  2. setning tokenize

Tokenisering av ord

Vi bruker metoden word_tokenize() รฅ dele en setning i ord. Utdataene fra ordtokenisering kan konverteres til Data Frame for bedre tekstforstรฅelse i maskinlรฆringsapplikasjoner. Den kan ogsรฅ gis som input for ytterligere tekstrensetrinn, for eksempel fjerning av tegnsetting, fjerning av numeriske tegn eller stemming. Maskinlรฆringsmodeller trenger numeriske data for รฅ trenes opp og gi en prediksjon. Ordtokenisering blir en avgjรธrende del av teksten (strengen) til konvertering av numeriske data. Vennligst les om Bag of Words eller CountVectorizer. Vennligst referer til ordet tokenize NLTK-eksemplet nedenfor for รฅ 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 av ord

Code Forklaring

  1. word_tokenize-modulen er importert fra NLTK-biblioteket.
  2. En variabel "tekst" initialiseres med to setninger.
  3. Tekstvariabel 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

Undermodulen 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 trenger รฅ telle gjennomsnittlige ord per setning, hvordan vil du beregne det? For รฅ utfรธre en slik oppgave trenger du bรฅde NLTK setningstokenizer sรฅ vel som NLTK ordtokenizer for รฅ beregne forholdet. Slik utgang fungerer som en viktig funksjon for maskinopplรฆring, da svaret ville vรฆre numerisk.

Sjekk eksemplet under NLTK-tokenizer for รฅ lรฆre hvordan setningstokenisering er forskjellig fra ordtokenisering.

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 setninger for samme inngang.

Tokenisering av setninger

Forklaring av programmet

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

Overordet tokenizer Python eksempler er gode settingsteiner for รฅ forstรฅ mekanikken i ordet og setningstokenisering.

Spรธrsmรฅl og svar

Ordtokenisering deler tekst inn i individuelle ord og tegnsetting ved hjelp av word_tokenize(), mens setningstokenisering deler tekst inn i separate setninger ved hjelp av sent_tokenize(). Begge kombineres ofte for รฅ utlede funksjoner som ord per setning.

Tokenisering er det fรธrste trinnet som gjรธr rรฅtekst om til hรฅndterbare enheter, noe som muliggjรธr mรธnsterdeteksjon, stemming, lemmatisering og konvertering til numeriske funksjoner som maskinlรฆringsmodeller krever for oppgaver som klassifisering og oversettelse.

Ja. NLTK stรธtter flere sprรฅk ved รฅ laste inn riktig Punkt-modell, for eksempel sent_tokenize(text, language='french'). Stรธtten varierer fra sprรฅk til sprรฅk, og noen skript kan trenge spesialiserte tokeniserere.

Store sprรฅkmodeller konverterer tekst til tokener, ofte underord, fรธr behandling. Modellen forutsier neste token basert pรฅ tidligere, sรฅ tokenisering pรฅvirker direkte kontekstlengde, kostnad og utdatakvalitet.

Ja. Moderne AI-tokeniserere bruker underordsmetoder som Byte Pair Encoding eller WordPiece, som deler sjeldne ord opp i mindre deler. Dette holder vokabularene kompakte samtidig som de representerer ukjente eller sammensatte ord.

Oppsummer dette innlegget med: