Tokenizace NLTK: Tokenizer slov a vět s příkladem

Obsah:

Anonim

Co je tokenizace?

Tokenizace je proces, při kterém je velké množství textu rozděleno na menší části zvané tokeny. Tyto tokeny jsou velmi užitečné pro hledání vzorů a jsou považovány za základní krok pro stopování 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, překlad jazyka atd. Pro dosažení výše uvedeného účelu je důležité porozumět vzoru v textu.

Prozatím se nemusíte starat o stopování a lemmatizaci, ale považujte je za kroky čištění textových dat pomocí NLP (zpracování přirozeného jazyka). Později budeme v kurzu diskutovat o stopování a lemmatizaci. Úkoly, jako je klasifikace textu nebo filtrování spamu, využívají NLP spolu s knihovnami hlubokého učení, jako jsou Keras a Tensorflow.

Sada nástrojů pro přirozený jazyk má velmi důležitý modul NLTK pro tokenizaci vět, který dále obsahuje dílčí moduly

  1. slovo tokenizovat
  2. věta tokenizovat

Tokenizace slov

K rozdělení věty na slova používáme metodu word_tokenize () . Výstup tokenizace slov lze převést na datový rámec 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 vyplnění. Modely strojového učení vyžadují numerická data, která mají být proškolena a předpovědi. Tokenizace slov se stává klíčovou součástí převodu textu (řetězce) na numerická data. Přečtěte si o Bag of Words nebo CountVectorizer. Chcete-li teorii lépe pochopit, přečtěte si níže uvedený příklad tokenizace slov NLTK.

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

Vysvětlení kódu

  1. modul word_tokenize je importován z knihovny NLTK.
  2. Proměnný "text" je inicializován dvěma větami.
  3. Proměnná textu je předána v modulu word_tokenize a vytištěna výsledek. Tento modul rozděluje každé slovo s interpunkcí, kterou vidíte na výstupu.

Tokenizace vět

Sub-modul k dispozici pro výše uvedené je sent_tokenize. Zjevnou otázkou ve vaší mysli by bylo, proč je potřeba tokenizace vět, když máme možnost tokenizace slov . Představte si, že musíte počítat průměrná slova na větu, jak budete počítat? Pro splnění takového úkolu potřebujete k výpočtu poměru tokenizátor vět NLTK i tokenizátor slov NLTK. Takový výstup slouží jako důležitá funkce pro trénink strojů, protože odpověď by byla číselná.

Podívejte se na níže uvedený příklad tokenizátoru NLTK a zjistěte, jak se tokenizace vět liší od tokenizace 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 ']

Máme 12 slov a dvě věty pro stejný vstup.

Vysvětlení programu:

  1. V řádku jako předchozí program importoval modul sent_tokenize.
  2. Přijali jsme stejnou větu. Další tokenizer věty v modulu NLTK tyto věty analyzoval a zobrazil výstup. Je jasné, že tato funkce rozbíjí každou větu.

Nad tokenizátorem slov Příklady Pythonu jsou dobré kameny pro nastavení mechaniky tokenizace slov a vět.

souhrn

  • Tokenizace v NLP je proces, při kterém je velké množství textu rozděleno na menší části zvané tokeny.
  • Zpracování přirozeného jazyka se používá pro vytváření aplikací, jako je klasifikace textu, inteligentní chatbot, sentimentální analýza, překlad jazyka atd.
  • Sada nástrojů pro přirozený jazyk má velmi důležitou větu NLTK pro tokenizaci, která dále obsahuje dílčí moduly
  • K rozdělení věty na slova používáme metodu word_tokenize (). Výstup slovního tokenu v NLTK lze převést na datový rámec pro lepší porozumění textu v aplikacích strojového učení.
  • Sub-modul k dispozici pro výše uvedené je sent_tokenize. Tokenizer věty v Pythonu NLTK je důležitou funkcí pro trénink strojů.