Mi az a tokenizálás?
A tokenizálás az a folyamat, amelynek során nagy mennyiségű szöveget osztanak kisebb részekre, úgynevezett tokeneknek. Ezek a tokenek nagyon hasznosak a minták megtalálásához, és a származtatás és a lemmatizálás alapvető lépésének tekinthetők. A tokenizálás segít abban is, hogy az érzékeny adatelemeket nem érzékeny adatokkal helyettesítsék.
A természetes nyelvi feldolgozást olyan alkalmazások fejlesztésére használják, mint a szöveg osztályozása, az intelligens chatbot, az érzelmi elemzés, a nyelvfordítás stb. A fent említett cél elérése érdekében elengedhetetlenné válik a szöveg mintájának megértése.
Egyelőre ne aggódjon a szedés és a lemmatizálás miatt, hanem kezelje őket a szöveges adatok tisztításának lépései az NLP (természetes nyelv feldolgozása) segítségével. A stemminget és a lemmatizálást később az oktatóanyagban tárgyaljuk. Az olyan feladatok, mint a szöveges osztályozás vagy a spamszűrés, az NLP-t használja olyan mély tanulási könyvtárakkal együtt, mint a Keras és a Tensorflow.
A Természetes Nyelv eszközkészlet nagyon fontos modulja az NLTK, amely tokenizálja a mondatokat, amelyek további részmodulokat tartalmaznak
- szó tokenize
- mondat tokenize
A szavak tokenizálása
A word_tokenize () metódust használjuk egy mondat szavakra bontására . A szó tokenizálás kimenete konvertálható Data Frame formátumba a gépi tanulási alkalmazások jobb szövegértése érdekében. Bevitelként további szövegtisztítási lépésekhez is alkalmazható, például írásjelek eltávolításához, numerikus karaktereltávolításhoz vagy szúráshoz. A gépi tanulási modelleknek számszerű adatokra van szükségük ahhoz, hogy betaníthassák őket, és előrejelzést tehessenek. A szó tokenizálása a szöveg (karakterlánc) kulcsfontosságú részévé válik a numerikus adatkonvertáláshoz. Kérjük, olvassa el a Bag of Words vagy a CountVectorizer alkalmazást. Az elmélet jobb megértése érdekében kérjük, olvassa el az NLTK példáján szereplő tokenize szót.
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', '.']
Kód Magyarázat
- A word_tokenize modult az NLTK könyvtárból importálják.
- A változó "szöveget" két mondattal inicializálják.
- A szövegváltozó átkerül a word_tokenize modulba, és kinyomtatja az eredményt. Ez a modul minden szót elválasztó szavakkal bont, amelyeket a kimenetben láthat.
A mondatok tokenizálása
A fentiekhez elérhető almodul send_tokenize. Nyilvánvaló kérdés, hogy miért van szükség mondat tokenizálásra, amikor lehetőségünk van szó tokenizálásra . Képzelje el, hogy mondatonként átlag szavakat kell számolnia, hogyan fogja kiszámítani? Egy ilyen feladat végrehajtásához mind az NLTK mondatjelzőre, mind az NLTK szójelzőre szükség van az arány kiszámításához. Az ilyen kimenet fontos jellemzője a gépi képzésnek, mivel a válasz numerikus lenne.
Ellenőrizze az alábbi NLTK tokenizer példát, hogy megtudja, miben különbözik a mondat tokenizáció és a szavak 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 ']
Jelenleg 12 szavak és a két mondat az azonos bemeneti.
A program magyarázata:
- Az előző programhoz hasonló sorban importálta a sent_tokenize modult.
- Ugyanezt a mondatot tettük. Az NLTK modul további mondatjelzője elemezte ezeket a mondatokat és megmutatta a kimenetet. Világos, hogy ez a funkció megszakítja az egyes mondatokat.
A szójelző fölött a Python példák jó beállításkövek a szó és a mondat tokenizálás mechanikájának megértéséhez.
Összegzés
- A tokenizálás az NLP-ben az a folyamat, amelynek során nagy mennyiségű szöveget osztanak kisebb részekre, úgynevezett tokeneknek.
- A természetes nyelv feldolgozását olyan alkalmazások építésére használják, mint a szöveges osztályozás, az intelligens chatbot, az érzelmi elemzés, a nyelvfordítás stb.
- A Natural Language eszközkészletnek nagyon fontos modulja van az NLTK, amely tokenize mondatot tartalmaz, amely további részmodulokat tartalmaz
- A word_tokenize () metódust használjuk egy mondat szavakra bontására. Az NLTK-ban a word tokenizer kimenete konvertálható Data Frame-be a gépi tanulási alkalmazások jobb szövegértése érdekében.
- A fentiekhez elérhető almodul send_tokenize. A Python NLTK mondatjelzője fontos jellemzője a gépi képzésnek.