Лемматизация запросов в mystem

Лемматизация запросов в mystem

Лемматиза́ция — процесс приведения словоформы к лемме — её нормальной (словарной) форме.

Программа MyStem производит морфологический анализ текста на русском языке. Программа разработана компанией Yandex. работает на Windows, Linux, MacOS.

Пример, глагол «работали» имеет первоначальный вид «работать».

Кому нужна лемматизация?

В первую очередь лемматизация нужна SEO специалистам и тем, кто занимается контекстной рекламой.

SEO специалисты, при анализе страниц конкурентов, учитывают сколько раз каждое слово употребляется на странице. Каждое слово употребляется в разных формах и подсчет становится неточным. Многие сервисы все это учитывают, но не все и не всегда точно! А иногда, попросту, не хватает функционала (сервисы часто рассматривают страницу целиком, а мне нужно анализировать блоки по отдельности). Поэтому, многие создают свои наработки, в том числе и я.

Контекстная реклама. Тут немного другой алгоритм. Лемматизация позволяет найти дубли, что положительно сказывается на ускорении работы с проектом.

Пример использования программы на Windows 10

Скачиваем программу

Заходим на сайт https://yandex.ru/dev/mystem/ выбираем версию для windows.

* На момент написания этого материала, самая последняя версия программы была версия 3.1

Как установить mystem

Устанавливать ничего не надо. Достаточно распаковать архив в нужной категории. Для этого на диске D: я создал папку «lemma» и распаковал архив туда.

Теперь нам нужно создать два файла в формате тхт. Один это файл с исходником текста, второй с результатом.

Первый назовем ishod.txt, второй result.txt.

Запускаем mystem

1. Заполните файл ishod.txt необходимым текстом.

* Внимание: файлы должны быть в кодировке utf-8. Иначе вы увидите ошибку вида: «failed to decode UTF-8 string at pos 0 in string».

Перекодировать можно программой notepad++

2. Запускаем консоль. Для этого вам достаточно нажать «Win + R», в появившемся окне набрать «cmd» и нажать ок или кнопку «enter»

3. Откроется консоль

4. В консоли указываем папку, в которой у нас лежат все, нужные нам, файлы. Напомню, я положил все файлы на диск «D» в папку «lemma».

Для этого мы пишем команду cd /D d:/lemma/

Консоль должна сменить C:\Users\marketolog> на d:\lemma>

5. Прописываем команду mystem.exe ishod.txt result.txt -c -l -s

Если команда отработала правильно, то не будет никаких ошибок.

* Если сразу прописать приложение с нужными ключами (например перетягиванием), то приложение может не сработать. Поэтому я прописал полный алгоритм.

6. Открываем result.txt

В нем вы увидите полученный результат.

Варианты ключей, которые я использую

Было дано

SEO специалисты, при анализе страниц конкурентов, учитывают сколько раз каждое слово употребляется на странице.

mystem.exe ishod.txt result.txt -c -l -s

Слова заменяются на исходные

{SEO??} {специалист}, {при|пря} {анализ} {страница} {конкурент}, {учитывать} {сколько|скольким} {раз} {каждый} {слово} {употребляться} {на} {страница}.

mystem.exe ishod.txt result.txt -nl

Каждое слово с новой строчки

SEO??
специалист
при|пря
анализ
страница
конкурент
учитывать
сколько|скольким
раз
каждый
слово
употребляться
на
страница

Те слова, которые не знает лемматизатор он помечает символами «??»

Те слова, которые имеют несколько основных форм разделяются вертикальной чертой «|».

Пишем исполняемый файл .bat

Тут все просто.

Создаем текстовый документ. Прописываем в него, меняя на свои значения:

cd /D d:/lemma/

mystem.exe ishod.txt result.txt -nl

Дальше переименовываем файл меняя «.txt» на «.bat». Теперь все можно запускать одним кликом.

Использование MyStem

Тут все просто. Лично я использую данную наработку совместно с ZennoPoster. Но это уже другая история, и если будет время, то опишу алгоритм…

А что же Google?

Google использует другие библиотеки, а точнее phpMorphy

Пример использования http://phpmorphy.sourceforge.net/dokuwiki/demo

Как использовать phpMorphy, читайте тут http://phpmorphy.sourceforge.net/dokuwiki/manual