| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Как убрать окончания в словах? |
| Автор: Suppir 24.10.2011, 10:49 | ||
| Добрый день! Нужен алгоритм, который убирает окончания в словах русского языка: собака -> собак администрацию -> администрац лестницой -> лестниц модулей -> модул Это нужно сделать на "голом" Perl, без словарей и дополнительных модулей. Пока что придумал такой примитивный алгоритм:
Можете предложить что-то получше? |
| Автор: alezzz 24.10.2011, 11:06 |
| лучшего не предложу, но с вашим вариантом далеко не все гладко, слово 'чай' обрезает до буквы 'ч'. и имена переменный не совпадают в строках 1,2 и 3 |
| Автор: Suppir 24.10.2011, 11:09 |
| Да, в том и проблема, но нормально далеко не у всех слов обрезает... Например: климатических -> ничего не обрежет климатического -> климатическог а должно обрезать до "климатическ". Переменные поправил. Может быть у кого есть наработки или идеи? |
| Автор: newbee 24.10.2011, 11:18 |
| Правильно заданный вопрос - половина ответа. Правильный запрос в гугл: "программирование морфологический анализ". |
| Автор: Pfailed 24.10.2011, 11:51 |
| Алгоритм "Стеммер Портера", вам его уже рекомендовали в одной из прошлых тем. |