Читать нас в Telegram

Что такое лемматизация?

Лемматизация (англ. lemmatization) — это процесс приведения слова к его базовой, начальной форме, или лемме. Лемматизация является важным этапом в обработке естественного языка, поскольку она помогает компьютеру «‎понимать» различные грамматические формы слова как одно и то же слово. Например, слова «‎бегу», «‎бежит» будут приведены к лемме «‎бежать», а «‎малиновую» и «‎малиновее» — к лемме «малиновый».

Как производится лемматизация?

Чтобы хорошо лемматизировать текст, лучше учитывать контекст слова, чтобы снять возможную грамматическую омонимию: «ели» может быть как множественным числом существительного ель, так и глаголом «есть» в прошедшем времени, третьем лице и множественном числе. Грамматика языка подсказывает, к какой части речи принадлежит слово и в какой грамматической форме оно находится. Лемму можно получить из словаря лемм, в котором содержится информация о лемме слов и их формах (обычно это списки слов во всевозможных падежах, временах, числах и т. д. с указанием начальной формы), хотя в последнее время всё чаще применяют методы машинного обучения.

Автоматизировать лемматизацию можно с помощью различных библиотек, таких как NLTK для английского языка или pymorphy2 (об этой библиотеке мы уже рассказывали в нашей статье про морфологический анализ) и natasha для русского языка. Более мощный инструмент, в котором поддерживаются русский, английский и множество других языков, — библиотека spaCy.

Пример лемматизации русского текста при помощи библиотеки spaCy (в среде Google Colab)

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

Где используется лемматизация?

Лемматизация применяется в самых разных областях:

  • в поисковых системах для повышения точности поиска;
  • при текстовом анализе в NLP и DH;
  • при предобработке данных для обучения моделей машинного обучения.

Например, в этом материале можно ознакомиться с тем, как лемматизация помогает при выделении тем в новостных статьях.

Источники

  1. Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.
  2. Bird, S., Klein, E., & Loper, E. (2009). Natural Language Processing with Python. O’Reilly Media.
  3. Korobov, M. (2015). Morphological Analyzer and Generator for Russian and Ukrainian Languages. Dialogue Conference.
  4. Natasha: NLP library for Russian language. [Электронный ресурс]. URL: https://natasha.github.io/ (дата обращения: 06.02.2024).
  5. Natural Language Toolkit (NLTK). [Электронный ресурс]. URL:  Retrieved from https://www.nltk.org/ (дата обращения: 06.02.2024).