NLTK Tokenize: Слова і речення Tokenizer з прикладом

Зміст:

Anonim

Що таке токенізація?

Токенізація - це процес, за допомогою якого велика кількість тексту ділиться на менші частини, які називаються лексемами. Ці лексеми дуже корисні для пошуку закономірностей і розглядаються як базовий крок для обґрунтування та лематизації. Токенізація також допомагає замінити елементи конфіденційних даних нечутливими елементами даних.

Обробка природної мови використовується для побудови таких програм, як класифікація тексту, інтелектуальний чат-бот, сентиментальний аналіз, переклад мови тощо. Для досягнення вищезазначеної мети стає життєво важливим зрозуміти шаблон у тексті.

На даний момент не турбуйтеся про стемінг та лематизацію, а розглядайте їх як кроки для очищення текстових даних за допомогою NLP (обробка природними мовами). Ми будемо обговорювати стемінг та лематизацію пізніше у підручнику. Такі завдання, як класифікація тексту або фільтрація спаму, використовують NLP разом із бібліотеками глибокого навчання, такими як Keras і Tensorflow.

Набір інструментів "Природна мова" має дуже важливий модуль NLTK для позначення речень, який додатково складається з підмодулів

  1. слово токенізувати
  2. речення токенізувати

Токенізація слів

Ми використовуємо метод word_tokenize (), щоб розділити речення на слова. Результат токенізації слів можна перетворити на Data Frame для кращого розуміння тексту в програмах машинного навчання. Він також може бути наданий як вхід для подальших етапів очищення тексту, таких як видалення розділових знаків, видалення цифрових символів або закінчення. Моделі машинного навчання потребують числових даних, щоб їх навчити та зробити прогноз. Токенізація слів стає важливою частиною перетворення тексту (рядка) у числові дані. Будь ласка, прочитайте про пакет слів або CountVectorizer. Будь ласка, зверніться до прикладеного нижче слова для означення 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', '.']

Пояснення коду

  1. модуль word_tokenize імпортується з бібліотеки NLTK.
  2. Змінна "текст" ініціалізується двома реченнями.
  3. Текстова змінна передається в модуль word_tokenize і друкується результат. Цей модуль розбиває кожне слово з розділовими знаками, які ви можете побачити на виході.

Токенізація речень

Підмодуль, доступний для вищезазначеного, sent_tokenize. Очевидним запитанням у вашій думці було б, навіщо потрібна токенізація речень, коли ми маємо можливість лексеми слова . Уявіть, що вам потрібно порахувати середні слова на речення, як ви будете обчислювати? Щоб виконати таке завдання, для обчислення співвідношення вам потрібен як маркер речень NLTK, так і маркер слова NLTK. Такі результати служать важливою характеристикою машинного навчання, оскільки відповідь буде числовою.

Перевірте наведений нижче приклад токенізатора NLTK, щоб дізнатись, чим токенізація речень відрізняється від токенізації слів.

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

У нас є 12 слів і два речення для одного введення.

Пояснення програми:

  1. У рядок, подібний до попередньої програми, імпортовано модуль sent_tokenize.
  2. Ми взяли те саме речення. Подальший маркер речень у модулі NLTK проаналізував ці речення та показав вихідні дані. Зрозуміло, що ця функція розбиває кожне речення.

Наведені вище приклади токенізера Python - це хороші камені налаштування, щоб зрозуміти механіку токенізації слова та речення.

Резюме

  • Токенізація в НЛП - це процес, за допомогою якого велика кількість тексту ділиться на менші частини, які називаються лексемами.
  • Обробка природної мови використовується для побудови таких програм, як класифікація тексту, інтелектуальний чат-бот, сентиментальний аналіз, переклад мови тощо.
  • Набір інструментів "Природна мова" має дуже важливий модуль NLTK для позначення речення, який додатково складається з підмодулів
  • Ми використовуємо метод word_tokenize (), щоб розділити речення на слова. Вихід маркера слів у NLTK можна перетворити на Data Frame для кращого розуміння тексту в програмах машинного навчання.
  • Підмодуль, доступний для вищезазначеного, sent_tokenize. Токенізатор речення в Python NLTK є важливою функцією для машинного навчання.