NLTK Tokenize: токенизатор слов и предложений с примером

Содержание:

Anonim

Что такое токенизация?

Токенизация - это процесс, при котором большое количество текста делится на более мелкие части, называемые токенами. Эти токены очень полезны для поиска шаблонов и рассматриваются как базовый шаг для стемминга и лемматизации. Токенизация также помогает заменять элементы конфиденциальных данных неконфиденциальными элементами данных.

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

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

В инструментарии естественного языка есть очень важный модуль NLTK tokenize предложений, который дополнительно состоит из подмодулей.

  1. слово tokenize
  2. токенизировать предложение

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

Мы используем метод word_tokenize (), чтобы разбить предложение на слова. Выходные данные токенизации слов можно преобразовать во фрейм данных для лучшего понимания текста в приложениях машинного обучения. Его также можно использовать в качестве входных данных для дальнейших шагов очистки текста, таких как удаление знаков препинания, удаление числовых символов или выделение корней. Модели машинного обучения нуждаются в числовых данных для обучения и составления прогнозов. Токенизация слов становится важной частью преобразования текста (строки) в числовые данные. Пожалуйста, прочтите о Мешке слов или CountVectorizer. Пожалуйста, обратитесь к приведенному ниже примеру word tokenize 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 tokenize offer, который дополнительно состоит из подмодулей.
  • Мы используем метод word_tokenize (), чтобы разбить предложение на слова. Выходные данные токенизатора слов в NLTK можно преобразовать во фрейм данных для лучшего понимания текста в приложениях машинного обучения.
  • Подмодуль, доступный для вышеуказанного, - sent_tokenize. Токенизатор предложений в Python NLTK - важная функция для машинного обучения.