NLTK Tokenize: Токенізатор слів і речень із прикладом

⚡ Розумний підсумок

NLTK Tokenize розділяє великий текст на менші одиниці, які називаються токенами, що є фундаментальним кроком в обробці природної мови. Інструментарій надає word_tokenize для розбиття речень на слова та sent_tokenize для розділення тексту на окремі речення.

  • ✂️ Токенізація: Розділяє великий текст на менші одиниці, які називаються токенами, для аналізу.
  • 🧠 НЛП Foundation: Служить базовим кроком для стеммінгу, лематизації та перетворення тексту в число.
  • 🔤 word_tokenize(): Розбиває речення на окремі слова, розділяючи розділові знаки.
  • ???? sent_tokenize(): Розбиває уривок на окремі речення.
  • 📊 Корпус: Поєднання обох дозволяє обчислювати такі характеристики, як середня кількість слів у реченні, для машинного навчання.

Токенізація NLTK

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

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

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

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

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

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

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

Використовуємо метод word_tokenize() поділити речення на слова. Результат токенізації слів можна перетворити на Data Frame для кращого розуміння тексту в програмах машинного навчання. Його також можна надати як вхідні дані для подальших кроків очищення тексту, таких як видалення знаків пунктуації, видалення цифрових символів або основ. Моделі машинного навчання потребують числових даних для навчання та прогнозування. Токенізація слів стає важливою частиною перетворення тексту (рядка) у числові дані. Будь ласка, прочитайте про Сумка слів або CountVectorizer. Будь ласка, зверніться до прикладу слова tokenize NLTK нижче, щоб краще зрозуміти теорію.

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

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

Code Пояснення

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

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

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

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

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

Ми маємо 12 слова і два речення для того самого входу.

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

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

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

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

Поширені запитання

Токенізація слів розділяє текст на окремі слова та пунктуацію за допомогою word_tokenize(), тоді як токенізація речень розділяє текст на окремі речення за допомогою sent_tokenize(). Обидва методи часто поєднуються для отримання таких ознак, як кількість слів у реченні.

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

Так. NLTK підтримує кілька мов, завантажуючи відповідну модель Punkt, наприклад sent_tokenize(text, language='french'). Підтримка залежить від мови, і деякі скрипти можуть потребувати спеціалізованих токенізаторів.

Моделі великих мов перетворюють текст на токени, часто частини підслів, перед обробкою. Модель передбачає наступний токен на основі попередніх, тому токенізація безпосередньо впливає на довжину контексту, вартість та якість виводу.

Так. Сучасні токенаізатори зі штучним інтелектом використовують методи підслів, такі як Byte Pair Encoding або WordPiece, розділяючи рідкісні слова на менші частини. Це дозволяє зберігати словниковий запас компактним, водночас представляючи незнайомі або складні слова.

Підсумуйте цей пост за допомогою: