Однокоренные слова в Python
Мне нужно получать однокоренные слова с указанием части речи. Как я понимаю, для английского языка такое решение есть. Но для русского не нашла ничего подходящего
Например:
энергетический + сущ -> энергетика
московский + сущ -> москва
молодежь + прил -> молодежный
Мне это нужно для улучшения качества поисковой системы по документам 1с, которые я передаю в opensearch в виде json-ов.
| Правильное наименование | Для него запрос пользователя |
|---|---|
| "департамент образования города москвы " | "московский департамент образования" |
| "департамент финансов" | "финансовый департамент" |
| "агентство энергетической эффективности мурманской области" | "агентство энергетики мурманск" |
Pymorphy2, как я понимаю, нормализует только до той же части речи
Использование нечеткого (fuzzy) поиска мне не очень нравится, хотелось бы иметь возможность именно переходить от одной части речи к другой с тем же корнем
Ответы (1 шт):
Как вариант, Вам здесь может помочь эта библиотека: https://github.com/DedInc/ruslingua. Ресурс работает с сайтом https://razbiraem-slovo.ru/.
В противном случае, Вы можете сначала воспользоваться дистрибутивной семантикой, найти в ней по вектору вашего слова наиболее подходящих кандидатов, и наконец отфильтровать их с помощью нечёткого поиска.
Удачи! :)