Kas ir tokenizācija?
Tokenizācija ir process, kurā liels teksta daudzums tiek sadalīts mazākās daļās, ko sauc par žetoniem. Šie marķieri ir ļoti noderīgi, lai atrastu modeļus, un tiek uzskatīti par pamata soli stemming un lemmatization. Tokenizācija arī palīdz sensitīvos datu elementus aizstāt ar sensitīviem datu elementiem.
Dabas valodas apstrāde tiek izmantota tādu lietojumprogrammu kā teksta klasifikācija, inteliģenta tērzēšana, sentimentāla analīze, valodas tulkošana utt. Veidošanai. Lai sasniegtu iepriekš minēto mērķi, ir svarīgi saprast teksta modeli.
Pagaidām neuztraucieties par atvasināšanu un lemmatizāciju, bet uzskatiet tos par teksta datu tīrīšanas soļiem, izmantojot NLP (dabiskās valodas apstrāde). Apmācīsim stemming un lemmatization vēlāk apmācībā. Tādos uzdevumos kā teksta klasifikācija vai surogātpasta filtrēšana tiek izmantota NLP kopā ar dziļu mācību bibliotēkām, piemēram, Keras un Tensorflow.
Natural Language rīkkopa ir ļoti svarīgi modulis NLTK tokenize teikumus, kas vēl sastāv no apakšmoduļiem
- vārds tokenize
- teikums tokenize
Vārdu marķēšana
Mēs izmantojam metodi word_tokenize (), lai teikumu sadalītu vārdos. Vārdu tokenizācijas izvadi var pārveidot par Data Frame, lai labāk izprastu tekstu mašīnmācīšanās lietojumprogrammās. To var arī izmantot kā ievadi turpmākajām teksta tīrīšanas darbībām, piemēram, pieturzīmju noņemšanai, ciparu rakstzīmju noņemšanai vai atdalīšanai. Mašīnmācīšanās modeļiem ir nepieciešami skaitliski dati, lai tos apmācītu un izdarītu prognozi. Vārdu marķēšana kļūst par būtisku teksta (virknes) daļu ciparu datu konvertēšanai. Lūdzu, izlasiet par Words Bag vai CountVectorizer. Lūdzu, skatiet zemāk esošo vārdu tokenize NLTK piemēru, lai labāk izprastu teoriju.
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', '.']
Kods Paskaidrojums
- modulis word_tokenize tiek importēts no NLTK bibliotēkas.
- Mainīgais "teksts" tiek inicializēts ar diviem teikumiem.
- Teksta mainīgais tiek nodots modulī word_tokenize un tiek izdrukāts rezultāts. Šis modulis sadala katru vārdu ar pieturzīmēm, kuras var redzēt izvadē.
Teikumu tokenizācija
Iepriekš minētajam pieejamais apakšmodulis ir sent_tokenize. Acīmredzams jautājums jūsu prātā būtu, kāpēc ir nepieciešama teikuma tokenizācija, ja mums ir iespēja vārda tokenizāciju . Iedomājieties, ka jums jāsaskaita vidējie vārdi vienā teikumā, kā jūs aprēķināsiet? Lai veiktu šādu uzdevumu, attiecības aprēķināšanai ir nepieciešams gan NLTK teikuma tokenizer, gan NLTK vārdu tokenizer. Šāda produkcija kalpo kā svarīga mašīnu apmācības iezīme, jo atbilde būtu skaitliska.
Pārbaudiet zemāk redzamo NLTK tokenizer piemēru, lai uzzinātu, kā teikumu tokenization atšķiras no vārdu tokenization.
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 ']
Mums ir 12 vārdi un divi teikumi vienai un tai pašai ievadei.
Programmas skaidrojums:
- Tādā rindā kā iepriekšējā programma importēja moduli sent_tokenize.
- Mēs esam pieņēmuši to pašu teikumu. Nākamais teikuma marķieris NLTK modulī parsēja šos teikumus un parādīja izvadi. Ir skaidrs, ka šī funkcija izjauc katru teikumu.
Virs vārda marķiera Python piemēri ir labi iestatījumu akmeņi, lai izprastu vārda un teikuma tokenizācijas mehāniku.
Kopsavilkums
- Tokenizācija NLP ir process, kurā liels teksta daudzums tiek sadalīts mazākās daļās, ko sauc par marķieriem.
- Dabiskās valodas apstrāde tiek izmantota tādu lietojumprogrammu veidošanai kā teksta klasifikācija, inteliģents tērzēšanas robots, sentimentāla analīze, valodas tulkošana utt.
- Dabiskās valodas rīkkomplektā ir ļoti svarīgs NLTK modulis, kas apzīmē teikumu, kas papildus sastāv no apakšmoduļiem
- Mēs izmantojam metodi word_tokenize (), lai teikumu sadalītu vārdos. Vārda marķiera izvadi NLTK var pārveidot par Data Frame, lai labāk izprastu tekstu mašīnmācīšanās lietojumprogrammās.
- Iepriekš minētajam pieejamais apakšmodulis ir sent_tokenize. Teikuma marķieris Python NLTK ir svarīga mašīnu apmācības funkcija.