Лемматизация — что это

Лемматизация — это преобразование слова в его начальную форму (лемму).

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

лемматизация текста
Лемматизация текста

Лемматизация применяется во множестве известных областей (список не исчерпывающий):

  • Поисковые системы используют лемматизацию, чтобы связывать поисковый запрос пользователя и контент страниц в интернете.
  • Веб-мастера используют лемматизацию, чтобы пользователь находил все страницы, связанные с запросом пользователя, а не только содержащие слова в тех же самых словоформах.
  • Социологи лемматизируют транскрипты важных речей политиков (например, послание президента к федеральному собранию), чтобы наиболее качественно посчитать тональность текста и встречаемость важных терминов.
  • Инструменты статистики поисковых запросов (например, Вордстат) группируют поисковые запросы пользователей по лемматизированным словам, чтобы при проработке ключевых слов рекламодатель не пропустил важные для его бизнеса ключевые слова.
  • Специалисты по контекстной рекламе лемматизируют семантическое ядро перед тем, как составить его частотный словарь, чтобы быстро проанализировать самые встречаемые понятия в тексте и подобрать релевантные посадочные страницы.

Морфологические библиотеки

Помимо лемматизации, морфологические библиотеки позволяют производить другие операции со словоформами:

  • Получение всех форм слова
  • Получение грамматической информации для слова (часть речи, падеж, спряжение и т.д.)
  • Изменение формы слова в соответствии с заданными грамматическими характеристиками

PhpMorphy

phpMorphy — библиотека морфологического анализа, реализованная на php

PyMorphy2

pymorphy2 — Аналогичная по сути библиотека для языка Python. Проект использует регулярно обновляемый открытый корпус и словарь OpenCorpora.

MyStem

Первая версия mystem была создана при активном участии одного из основателей Яндекса Ильи Сегаловича в 1996 году. Алгоритм лемматизации был внедрен в поисковый движок и стала одним из ключевых факторов коммерческого успеха Яндекса. Проект продолжает развитие, есть версии для нескольких языков и консольная утилита для Windows.

!SEMTools дает возможность использовать утилиту прямо в Excel:

Использование mystem
Лемматизация в Excel необходимости использования консоли с помощью EXE-файла mystem.exe и надстройки для Excel !SEMTools

Лемматизация в Excel

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

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

Так родился сначала инструмент-лемматизатор в надстройке !SEMTools. С ним можно в пару кликов произвести лемматизацию семантического ядра любого размера.

Для лемматизации в !SEMTools используется готовый словарь популярных пар слово-лемма. Словарь составлен автором и регулярно пополняется новыми парами. Поскольку словарь довольно увесистый (10 Мб), он не вшит в саму надстройку, а скачивается с этого сайта при запуске процесса, если уже не открыт.

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

Функция работает очень быстро, обрабатывая десятки тысяч строк текста в секунду. Это позволяет не беспокоиться и обрабатывать огромные семантические ядра даже на не самых мощных ПК.

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

Лемматизация в Excel
Лемматизация в Excel при помощи !SEMTools

Если не скачивается словарь лемм

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

В таких случаях рекомендуется скачать его самостоятельно (не меняя название), открыть файл параллельно в фоне и уже после этого производить процедуру лемматизации.

Скачать словарь: http://semtools.guru/dl/ru/lemms.xlsb