Мне нужно взять абзац текста и извлечь из него список "тегов". Большая часть этого довольно прямолинейна. Однако мне нужна некоторая помощь, которая теперь приводит к появлению списка слов, чтобы избежать дублирования. Пример: Сообщество/Сообщества
Я использовал реализацию алгоритма Porter Stemmer (кстати, я пишу на PHP):
http://tartarus.org/~martin/PorterStemmer/php.txt
Это работает, вплоть до точки, но не возвращает "настоящих" слов. Приведенный выше пример связан с "общением".
Я пробовал "Снежок" (предлагается в другом потоке).
http://snowball.tartarus.org/demo.php
В моем примере (сообщество/сообщества) Snowball проистекает из "сообщества".
Вопрос
Есть ли какие-нибудь другие алгоритмы, которые будут делать это? Кто-нибудь еще решил эту проблему?
Мое настоящее мышление заключается в том, что я мог бы использовать алгоритм извлечения, чтобы избежать дубликатов, а затем выбрать кратчайшее слово, которое я встречаю, чтобы быть фактическим словом для отображения.