Лемматизация — это одна из концепций обработки естественного языка (NLP).

Давайте начнем с рассмотрения английской игры слов. Мы можем использовать одно и то же слово в разных формах, например, играть, играть, играть в зависимости от ситуации. Но основная форма этих слов — игра. Похожа концепция лемматизации, которая извлекает базовую форму таких слов.

Мы будем использовать лемматизацию с POS-тегом. POS означает Части речи, и мы рассматриваем 4 типа POS в этом понятии,

  1. Существительное
  2. Глагол
  3. Прилагательное
  4. Наречие

Эти POS-теги будут присвоены словам. Дополнительные сведения о POS см. в статье «Java Stanford NLP: часть речевых меток? - Переполнение стека"

Давайте перейдем к части кода

1. Прежде всего загрузите следующие пакеты с nltk.

punkt : см. Что такое NLTK PUNKT? — AskPython
medium_perceptron_tagger : используется для обозначения слов их частями речи.
wordnet : база данных на английском языке, разработанная для НЛП.

2.Далее импортируйте pos_tag, word_tokenize и WordNetLemmatizer

word_tokenize — создает токены предложения, т. е. разбивает предложение на слова.

WordNetLemmatizer — учитывает тег POS и дает базовую форму слова. Если тег не указан, он будет считаться существительным.

3. Далее разделите предложение на токены и получите его pos_tag. Прокрутите маркеры и получите базовую форму с помощью WordNetLemmatizer.

Давайте выполним несколько примеров:

Интересно посмотреть, как наши английские концепции адаптировались к миру программирования.

Ваши отзывы приветствуются…

Удачного обучения!!!