Čo je tokenizácia?
Tokenizácia je proces, ktorým sa veľké množstvo textu rozdelí na menšie časti, ktoré sa nazývajú tokeny. Tieto tokeny sú veľmi užitočné pri hľadaní vzorov a považujú sa za základný krok pre ukončenie a lemmatizáciu. Tokenizácia tiež pomáha nahradiť citlivé dátové prvky necitlivými dátovými prvkami.
Spracovanie prirodzeného jazyka sa používa na vytváranie aplikácií, ako je klasifikácia textu, inteligentný chatbot, sentimentálna analýza, jazykový preklad atď. Pre dosiahnutie vyššie uvedeného účelu je nevyhnutné porozumieť vzoru v texte.
Zatiaľ si nerobte starosti s kmeňmi a lemmatizáciou, ale považujte ich za kroky čistenia textových údajov pomocou NLP (spracovanie prirodzeného jazyka). Neskôr sa v rámci tutoriálu budeme zaoberať problematikou stemming a lemmatizácie. Úlohy ako klasifikácia textu alebo filtrovanie nevyžiadanej pošty využívajú NLP spolu s knižnicami hlbokého učenia, ako sú Keras a Tensorflow.
Natural Language toolkit má veľmi dôležitý modul NLTK tokenize vety, ktoré ďalej zahŕňa čiastkových modulov
- slovo tokenizovať
- veta tokenizovať
Tokenizácia slov
Na rozdelenie vety na slová používame metódu word_tokenize () . Výstup tokenizácie slov je možné previesť na dátový rámec, aby sa lepšie porozumelo textu v aplikáciách strojového učenia. Môže byť tiež poskytnutá ako vstup pre ďalšie kroky čistenia textu, ako je odstránenie interpunkcie, odstránenie číselných znakov alebo odstránenie textu. Aby mohli modely strojového učenia trénovať a predvídať, musia byť trénované číselné údaje. Tokenizácia slov sa stáva dôležitou súčasťou prevodu textu (reťazca) na číselné údaje. Prečítajte si informácie o Bag of Words alebo CountVectorizer. Pre lepšie pochopenie teórie si pozrite príklad NLTK, ktorý tokenizuje ďalej.
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', '.']
Vysvetlenie kódu
- modul word_tokenize sa importuje z knižnice NLTK.
- Premenný „text“ je inicializovaný dvoma vetami.
- Textová premenná je odovzdaná v module word_tokenize a vytlačený výsledok. Tento modul rozdeľuje každé slovo s interpunkciou, ktorú môžete vidieť na výstupe.
Tokenizácia viet
Submodul dostupný pre vyššie uvedené je sent_tokenize. Zjavnou otázkou by vám malo byť, prečo je potrebné tokenizáciu viet, keď máme možnosť tokenizácie slov . Predstavte si, že musíte počítať priemerný počet slov na vetu, ako budete počítať? Na splnenie takejto úlohy potrebujete na výpočet pomeru tokenizátor viet NLTK aj tokenizátor slov NLTK. Takýto výstup slúži ako dôležitá vlastnosť pre výcvik strojov, pretože odpoveď by bola číselná.
V nasledujúcom príklade tokenizátora NLTK sa dozviete, ako sa tokenizácia viet líši od tokenizácie slov.
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 ']
Pre rovnaký vstup máme 12 slov a dve vety .
Vysvetlenie programu:
- V riadku ako predchádzajúci program sa importoval modul sent_tokenize.
- Zobrali sme rovnakú vetu. Ďalší tokenizer viet v module NLTK tieto vety analyzoval a ukázal výstup. Je zrejmé, že táto funkcia rozbíja každú vetu.
Tokenizér nad slovom Príkladom v Pythone sú kamene dobrého nastavenia na pochopenie mechaniky tokenizácie slov a viet.
Zhrnutie
- Tokenizácia v NLP je proces, pri ktorom sa veľké množstvo textu rozdelí na menšie časti, ktoré sa nazývajú tokeny.
- Spracovanie prirodzeného jazyka sa používa na vytváranie aplikácií, ako je klasifikácia textu, inteligentný chatbot, sentimentálna analýza, jazykový preklad atď.
- Sada nástrojov pre prirodzený jazyk obsahuje veľmi dôležitý modul vety NLTK pre tokenizáciu, ktorý ďalej obsahuje podmoduly
- Na rozdelenie vety na slová používame metódu word_tokenize (). Výstup tokenizátora slov v NLTK je možné previesť na dátový rámec, aby sa lepšie porozumelo textu v aplikáciách strojového učenia.
- Submodul dostupný pre vyššie uvedené je sent_tokenize. Tokenizátor vety v Pythone NLTK je dôležitou funkciou strojového tréningu.