NLTK Tokenize: Tokenizér slov a vět s příkladem
Co je tokenizace?
Tokenizace je proces, při kterém je velké množství textu rozděleno na menší části nazývané tokeny. Tyto tokeny jsou velmi užitečné pro hledání vzorů a jsou považovány za základní krok pro stemming a lemmatizaci. Tokenizace také pomáhá nahradit citlivé datové prvky necitlivými datovými prvky.
Zpracování přirozeného jazyka se používá pro vytváření aplikací, jako je klasifikace textu, inteligentní chatbot, sentimentální analýza, jazykový překlad atd. K dosažení výše uvedeného účelu se stává životně důležité porozumět vzoru v textu.
Prozatím se nestarejte o stemming a lemmatizaci, ale berte je jako kroky pro čištění textových dat pomocí NLP (zpracování přirozeného jazyka). Stemming a lemmatizaci probereme později v tutoriálu. Úkoly jako např Klasifikace textu nebo filtrování spamu využívá NLP spolu s knihovnami hlubokého učení, jako je Keras a tenzorový tok.
Sada nástrojů přirozeného jazyka má velmi důležitý modul NLTK tokenize vět, která se dále skládá z dílčích modulů
- slovo tokenizovat
- věta tokenizovat
Tokenizace slov
Používáme metodu word_tokenize() rozdělit větu na slova. Výstup tokenizace slov lze převést do datového rámce pro lepší porozumění textu v aplikacích strojového učení. Může být také poskytnut jako vstup pro další kroky čištění textu, jako je odstranění interpunkce, odstranění číselných znaků nebo odvození. Modely strojového učení potřebují k trénování číselných dat a k předpovědi. Tokenizace slov se stává klíčovou součástí převodu textu (řetězce) na číselná data. Přečtěte si prosím o Bag of Words nebo CountVectorizer. Podívejte se prosím na níže uvedený příklad slovního tokenizace NLTK, abyste lépe porozuměli teorii.
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', '.']
Vysvětlení kódu
- modul word_tokenize je importován z knihovny NLTK.
- Proměnná „text“ je inicializována dvěma větami.
- Textová proměnná se předá v modulu word_tokenize a vytiskne výsledek. Tento modul rozdělí každé slovo interpunkcí, kterou můžete vidět ve výstupu.
Tokenizace vět
Sub-modul dostupný pro výše uvedené je send_tokenize. Zřejmá otázka ve vaší mysli by byla proč je potřeba tokenizace vět, když máme možnost tokenizace slov. Představte si, že potřebujete spočítat průměrná slova na větu, jak budete počítat? Pro splnění takového úkolu potřebujete jak NLTK tokenizer vět, tak NLTK tokenizer slov pro výpočet poměru. Takový výstup slouží jako důležitá vlastnost pro strojový trénink, protože odpověď by byla číselná.
Podívejte se na níže uvedený příklad tokenizeru NLTK a zjistěte, jak se tokenizace vět liší od tokenizace slov.
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 ']
My máme 12 slova a dvě věty pro stejný vstup.
Vysvětlení programu
- V řádku jako předchozí program byl importován modul send_tokenize.
- Vzali jsme stejnou větu. Další tokenizér vět v modulu NLTK analyzoval tyto věty a zobrazil výstup. Je jasné, že tato funkce přeruší každou větu.
Tokenizer nad slovem Python příklady jsou dobré nastavovací kameny pro pochopení mechaniky tokenizace slov a vět.
Shrnutí
- Tokenizace v NLP je proces, při kterém je velké množství textu rozděleno na menší části nazývané tokeny.
- Zpracování přirozeného jazyka se používá pro vytváření aplikací, jako je klasifikace textu, inteligentní chatbot, sentimentální analýza, jazykový překlad atd.
- Sada nástrojů přirozeného jazyka má velmi důležitý modul NLTK tokenizace věty, který se dále skládá z dílčích modulů
- K rozdělení věty na slova používáme metodu word_tokenize(). Výstup tokenizeru slov v NLTK lze převést do datového rámce pro lepší porozumění textu v aplikacích strojového učení.
- Sub-modul dostupný pro výše uvedené je send_tokenize. Tokenizer vět v Python NLTK je důležitá funkce pro strojový trénink.