Возможности !SEMTools

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

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

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

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

Для чего нужна лемматизация

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

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

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

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

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

PhpMorphy

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

PyMorphy2

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

MyStem

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

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

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

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

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

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

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

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

Пример лемматизации поисковых запросов в SEO / контекстной рекламе

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

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

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

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

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

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

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

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

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

С лемматизацией тесно связаны удаление стоп-слов и упорядочивание слов по алфавиту внутри ячейки для удаления неявных дублей. В примере выше видно, что все 4 фразы по сути идентичны, разница лишь в словоформах, порядке слов и наличии предлога «в» в половине фраз. Все эти процедуры также выполнимы в Excel с помощью моей надстройки.

Нужно преобразовать слова в их изначальную форму?
!SEMTools поможет решить задачу за пару кликов!