Лемматизация — это одна из концепций обработки естественного языка (NLP).
Давайте начнем с рассмотрения английской игры слов. Мы можем использовать одно и то же слово в разных формах, например, играть, играть, играть в зависимости от ситуации. Но основная форма этих слов — игра. Похожа концепция лемматизации, которая извлекает базовую форму таких слов.
Мы будем использовать лемматизацию с POS-тегом. POS означает Части речи, и мы рассматриваем 4 типа POS в этом понятии,
- Существительное
- Глагол
- Прилагательное
- Наречие
Эти 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.
Давайте выполним несколько примеров:
Интересно посмотреть, как наши английские концепции адаптировались к миру программирования.
Ваши отзывы приветствуются…
Удачного обучения!!!