NLTK Tokenize: Ord och meningar Tokenizer med exempel

โšก Smart sammanfattning

NLTK Tokenize delar upp stor text i mindre enheter som kallas tokens, ett grundlรคggande steg i naturlig sprรฅkbehandling. Verktygslรฅdan tillhandahรฅller word_tokenize fรถr att dela upp meningar i ord och sent_tokenize fรถr att dela upp text i enskilda meningar.

  • โœ‚๏ธ tokenization: Delar upp stor text i mindre enheter som kallas tokens fรถr analys.
  • ๐Ÿง  NLP Foundation: Fungerar som ett grundsteg fรถr avstรคmmning, lemmatisering och konvertering frรฅn text till numerisk.
  • ๐Ÿ”ค word_tokenize(): Delar upp en mening i enskilda ord och separerar interpunktion.
  • ๐Ÿ“ skickade_tokenisera(): Delar upp ett stycke i separata meningar.
  • ๐Ÿ“Š Anvรคndningsfall: Genom att kombinera bรฅda kan du berรคkna funktioner som genomsnittet av ord per mening fรถr maskininlรคrning.

NLTK-tokenisering

Vad รคr Tokenization?

tokenization รคr den process genom vilken en stor mรคngd text delas upp i mindre delar som kallas tokens. Dessa tokens รคr mycket anvรคndbara fรถr att hitta mรถnster och anses vara ett bassteg fรถr stemming och lemmatisering. Tokenisering hjรคlper ocksรฅ till att ersรคtta kรคnsliga dataelement med icke-kรคnsliga dataelement.

Naturlig sprรฅkbehandling anvรคnds fรถr att bygga applikationer som textklassificering, intelligent chatbot, sentimental analys, sprรฅkรถversรคttning, etc. Det blir viktigt att fรถrstรฅ mรถnstret i texten fรถr att uppnรฅ det ovan angivna syftet.

Fรถr nรคrvarande, oroa dig inte fรถr hรคrdning och lemmatisering utan behandla dem som steg fรถr textdatarensning med hjรคlp av NLP (Natural language processing). Vi kommer att diskutera hรคrdning och lemmatisering senare i handledningen. Arbetsuppgifter som t.ex Textklassificering eller skrรคppostfiltrering anvรคnder sig av NLP tillsammans med djupinlรคrningsbibliotek som Keras och Tensorflรถde.

Natural Language Toolkit har en mycket viktig modul NLTK symbolisera meningar som vidare bestรฅr av undermoduler

  1. ord tokenisera
  2. meningen tokenisera

Tokenisering av ord

Vi anvรคnder metoden word_tokenize() att dela upp en mening i ord. Utdata frรฅn ordtokenisering kan konverteras till Data Frame fรถr bรคttre textfรถrstรฅelse i maskininlรคrningsapplikationer. Den kan ocksรฅ tillhandahรฅllas som indata fรถr ytterligare textrensningssteg sรฅsom borttagning av skiljetecken, borttagning av numeriska tecken eller stemming. Maskininlรคrningsmodeller behรถver numeriska data fรถr att trรคnas och gรถra en fรถrutsรคgelse. Ordtokenisering blir en avgรถrande del av texten (strรคngen) till numerisk datakonvertering. Lรคs gรคrna om Pรฅse med ord eller CountVectorizer. Se nedanstรฅende ordtokenize NLTK-exempel fรถr att fรถrstรฅ teorin bรคttre.

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 Fรถrklaring

  1. word_tokenize-modulen importeras frรฅn NLTK-biblioteket.
  2. En variabel "text" initieras med tvรฅ meningar.
  3. Textvariabel skickas i word_tokenize-modulen och skrivs ut resultatet. Denna modul bryter varje ord med skiljetecken som du kan se i utdata.

Tokenisering av meningar

Undermodulen tillgรคnglig fรถr ovanstรฅende รคr sent_tokenize. En uppenbar frรฅga i ditt sinne skulle vara varfรถr meningstokenisering behรถvs nรคr vi har mรถjlighet till ordtokenisering. Fรถrestรคll dig att du behรถver rรคkna genomsnittliga ord per mening, hur kommer du att rรคkna? Fรถr att utfรถra en sรฅdan uppgift behรถver du bรฅde NLTK-satstokenizer och NLTK-ordtokenizer fรถr att berรคkna fรถrhรฅllandet. Sรฅdan utdata fungerar som en viktig funktion fรถr maskintrรคning eftersom svaret skulle vara numeriskt.

Kontrollera nedanstรฅende NLTK-tokenizer-exempel fรถr att lรคra dig hur meningstokenisering skiljer sig frรฅn 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 och tvรฅ meningar fรถr samma ingรฅng.

Tokenisering av meningar

Fรถrklaring av programmet

  1. I en rad som det fรถregรฅende programmet, importerade modulen sent_tokenize.
  2. Vi har tagit samma mening. Ytterligare meningstokenizer i NLTK-modulen analyserade dessa meningar och visar utdata. Det รคr tydligt att denna funktion bryter varje mening.

Ovanfรถr ordet tokenizer Python exempel รคr bra sรคttningsstenar fรถr att fรถrstรฅ mekaniken i ordet och meningstokenisering.

Vanliga frรฅgor

Ordtokenisering delar upp text i enskilda ord och interpunktion med hjรคlp av word_tokenize(), medan meningstokenisering delar upp text i separata meningar med hjรคlp av sent_tokenize(). Bรฅda kombineras ofta fรถr att hรคrleda funktioner som ord per mening.

Tokenisering รคr det fรถrsta steget som omvandlar rรฅtext till hanterbara enheter, vilket mรถjliggรถr mรถnsterdetektering, avstamning, lemmatisering och konvertering till numeriska funktioner som maskininlรคrningsmodeller krรคver fรถr uppgifter som klassificering och รถversรคttning.

Ja. NLTK stรถder flera sprรฅk genom att lรคsa in lรคmplig Punkt-modell, till exempel sent_tokenize(text, language='french'). Stรถdet varierar beroende pรฅ sprรฅk, och vissa skript kan behรถva specialiserade tokeniserare.

Stora sprรฅkmodeller konverterar text till tokens, ofta delord, innan bearbetning. Modellen fรถrutsรคger nรคsta token baserat pรฅ tidigare, sรฅ tokenisering pรฅverkar direkt kontextlรคngd, kostnad och utdatakvalitet.

Ja. Moderna AI-tokeniserare anvรคnder underordsmetoder som Byte Pair Encoding eller WordPiece, vilket delar upp ovanliga ord i mindre delar. Detta hรฅller ordfรถrrรฅdet kompakt samtidigt som det fortfarande representerar okรคnda eller sammansatta ord.

Sammanfatta detta inlรคgg med: