Славянские языки очень неформальны .Наиболее точным и быстрым подходом будет сочетание правил и больших отображений / словарей.
Работа выполнена, но она была отложена. Хорватский морфологический лексикон поможет, но за медленным API.Между боснийским, сербским и хорватским языками можно найти больше работы, чем только хорватским.
Большие сопоставления не всегда удобны (и можно эффективно создать лучший преобразователь правил из картографии / словарей / корпуса).1009 *
Реализация с использованием Hunspell и аффиксных файлов может быть отличным способом получить поддержку сообщества и Java.Например. Поиск в Google: hr_hr.aff
Не проверено: нужно уметь переворачивать все слова, строить три конечных символа, обходить по некоторым правилам (например, LCS) и создаватьточный статистический преобразователь, использующий текст корпуса.
Лучшее, что я могу сделать, это какой-нибудь питон:
import hunspell
hs = hunspell.HunSpell(
'/usr/share/myspell/hr_HR.dic',
'/usr/share/myspell/hr_HR.aff')
# The following should return ['hrvatska']:
print hs.stem('hrvatski')