NLTK märgistus: sõnade ja lausete märgistus koos näitega

⚡ Nutikas kokkuvõte

NLTK Tokenize jagab suure teksti väiksemateks ühikuteks, mida nimetatakse tokeniteks, mis on loomuliku keele töötlemise alustala. Tööriistakomplekt pakub word_tokenize'i lausete sõnadeks jagamiseks ja sent_tokenize'i teksti üksikuteks lauseteks jagamiseks.

  • ✂️ Tokeniseerimine: Jagab suure teksti väiksemateks ühikuteks, mida nimetatakse analüüsimiseks tokeniteks.
  • 🧠 NLP Foundation: Toimib baasetapina tüve moodustamiseks, lemmatiseerimiseks ja tekstist numbriliseks teisendamiseks.
  • 🔤 sõna_tokenize(): Jagab lause üksikuteks sõnadeks, eraldades kirjavahemärke.
  • 📝 sent_tokenize(): Jaotab lõigu eraldi lauseteks.
  • 📊 Kasutusjuhtum: Mõlema kombineerimine võimaldab teil masinõppe jaoks arvutada selliseid funktsioone nagu keskmine sõnade arv lauses.

NLTK Tokenize

Mis on tokeniseerimine?

Tokeniseerimine on protsess, mille käigus jagatakse suur hulk teksti väiksemateks osadeks, mida nimetatakse märgideks. Need märgid on mustrite leidmiseks väga kasulikud ja neid peetakse tüvest ja lemmatiseerimiseks aluseks. Tokeniseerimine aitab ka tundlikke andmeelemente asendada mittetundlike andmeelementidega.

Loomuliku keele töötlemist kasutatakse selliste rakenduste ehitamiseks nagu teksti klassifikatsioon, intelligentne vestlusbot, sentimentaalne analüüs, keele tõlge jne. Ülalnimetatud eesmärgi saavutamiseks muutub ülioluliseks teksti mustri mõistmine.

Esialgu ärge muretsege tüvede ja lemmatiseerimise pärast, vaid käsitlege neid tekstiliste andmete puhastamise etappidena, kasutades NLP-d (loomuliku keele töötlemine). Tüvest ja lemmatiseerimist käsitleme hiljem õpetuses. Ülesanded nagu Teksti klassifikatsioon või rämpsposti filtreerimine kasutab NLP-d koos süvaõppe raamatukogudega, nagu Keras ja Tensorivoog.

Loomuliku keele tööriistakomplektil on väga oluline moodul NLTK märkima laused, mis koosnevad lisaks alammoodulitest

  1. sõna märgistamiseks
  2. lause märgistamiseks

Sõnade märgistamine

Me kasutame meetodit word_tokenize() lause sõnadeks jaotamiseks. Sõna tokeniseerimise väljundi saab masinõpperakendustes teksti paremaks mõistmiseks teisendada andmeraamiks. Seda saab kasutada ka sisendina edasisteks tekstipuhastustoiminguteks, nagu kirjavahemärkide eemaldamine, numbrimärkide eemaldamine või tüve moodustamine. Masinõppemudelid vajavad koolitamiseks ja ennustuste tegemiseks arvandmeid. Sõna tokeniseerimine muutub teksti (stringi) numbrilisteks andmeteks teisendamiseks oluliseks osaks. Palun lugege Sõnade kott või CountVectorizer. Teooria paremaks mõistmiseks vaadake allolevat sõna tokenize NLTK näidet.

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', '.']

Sõnade märgistamine

Code Selgitus

  1. Word_tokenize moodul imporditakse NLTK teegist.
  2. Muutuja "tekst" initsialiseeritakse kahe lausega.
  3. Tekstimuutuja edastatakse moodulis word_tokenize ja tulemus trükitakse. See moodul katkestab iga sõna kirjavahemärkidega, mida näete väljundis.

Lausete märgistamine

Ülaltoodud alammoodul on send_tokenize. Ilmselge küsimus teie peas oleks miks on vaja lause märgistamist, kui meil on sõna märgistamise võimalus. Kujutage ette, et peate arvestama keskmised sõnad lause kohta, kuidas arvutate? Sellise ülesande täitmiseks vajate suhte arvutamiseks nii NLTK lausemärki kui ka NLTK sõnamärki. Selline väljund on masinatreeningu oluliseks tunnuseks, kuna vastus oleks numbriline.

Vaadake allolevat NLTK märgiseanduri näidet, et saada teada, kuidas lause märgistamine erineb sõnade tokeniseerimisest.

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 ']

Meil on 12 sõnad ja kaks lauset sama sisendi jaoks.

Lausete märgistamine

Programmi selgitus

  1. Sarnaselt eelmisele programmile imporditi moodul send_tokenize.
  2. Oleme võtnud sama lause. Täiendav NLTK mooduli lause tokenisaator sõelus need laused ja näitab väljundit. On selge, et see funktsioon katkestab iga lause.

Sõna tokeniseerija kohal Python näited on head seadistuskivid, et mõista sõna ja lause märgistamise mehaanikat.

KKK

Sõnade tokeniseerimine jagab teksti üksikuteks sõnadeks ja kirjavahemärkideks, kasutades funktsiooni word_tokenize(), samas kui lausete tokeniseerimine jagab teksti eraldi lauseteks, kasutades funktsiooni sent_tokenize(). Mõlemat kombineeritakse sageli, et tuletada selliseid tunnuseid nagu sõnade arv lauses.

Tokeniseerimine on esimene samm, mis muudab toorteksti hallatavateks ühikuteks, võimaldades mustrite tuvastamist, tüvede eraldamist, lemmatiseerimist ja teisendamist numbrilisteks funktsioonideks, mida masinõppe mudelid vajavad selliste ülesannete jaoks nagu klassifitseerimine ja tõlkimine.

Jah. NLTK toetab mitut keelt, laadides sobiva Punkt mudeli, näiteks sent_tokenize(text, language='french'). Tugi varieerub keeleti ja mõned skriptid võivad vajada spetsiaalseid tokeniseerijaid.

Suured keelemudelid teisendavad teksti enne töötlemist tokeniteks, sageli alamsõnadeks. Mudel ennustab järgmise tokeni eelmiste põhjal, seega mõjutab tokeniseerimine otseselt konteksti pikkust, maksumust ja väljundkvaliteeti.

Jah. Kaasaegsed tehisintellekti tokenisaatorid kasutavad alamsõnameetodeid, näiteks baitipaaride kodeerimist või WordPiece'i, jagades haruldased sõnad väiksemateks osadeks. See hoiab sõnavara kompaktsena, esindades samal ajal tundmatuid või liitsõnu.

Võta see postitus kokku järgmiselt: