Мне нужно найти довольно эффективный способ обнаружения слогов в слове. Например.
Невидимый → in-vi-sib-le
Существуют правила силлабификации, которые можно использовать:
V резюме VC CVC ККТ CCCV CVCC
*, где V - гласный, а C - согласный. Например,
Произношение (5 Pro-nun-ci-an-tion; CV-CVC-CV-V-CVC)
Я пробовал несколько методов, среди которых использовалось регулярное выражение (которое помогает только в том случае, если вы хотите считать слоги) или определение жесткого кодированного правила (подход грубой силы, который оказывается очень неэффективным) и, наконец, использование автоматов с конечным состоянием (что не привело ни к чему полезному).
Цель моего приложения - создать словарь всех слогов на определенном языке. Этот словарь позже будет использоваться для приложений проверки орфографии (с использованием байесовских классификаторов) и синтеза текста в речь.
Я был бы признателен, если бы мог дать мне советы по альтернативному решению этой проблемы, кроме моих предыдущих подходов.
Я работаю на Java, но любой совет в C/С++, С#, Python, Perl... будет работать для меня.