Неоднозначность - огромная проблема в обработке естественного языка, но некоторые задачи могут справиться с неоднозначностью с хорошей точностью.Оказывается, слоговая часть - одна из них, поэтому не слушайте другие ответы.:)
Силлабификация
Эвристический
Вы могли бы придумать алгоритмы для достижения правильной слоговости практически во всем словаре английского языка , но это кажется сложным длязапрограммируйте правильно.
Корпус
Как всегда, когда ручные алгоритмы не слишком помогают, исследователи Natural Language Processing используют помеченные вручную корпуса, содержащие правильные ответы для заданных слов.Затем используются алгоритмы обучения, которые часто обеспечивают большую точность.Вы можете использовать слоговая система LingPipe (см. «Английская слоговая система») , которая следует этому подходу.
Исчерпывающий список
В английском только столько слов, как мы и придумалисо словарями.Такие словари часто содержат правильные слоги.Вы можете поцарапать reference.com.Например, волнообразная запись содержит «un · du · late», что достаточно, чтобы знать, что есть три слога.
Другие такие словари включают Answers.com Свободный словарь , Мерриам-Вебстер и т. Д.Ознакомьтесь с Условиями, автоматический поиск может быть запрещен.И разные словари не всегда соглашаются друг с другом.
Это не поможет с новыми словами или именами собственными, но я бы сказал, чтобудь самым точным методом.
О переносах
Еще одна связанная с этим проблема получила гораздо большее распространение: переносы.Но не используйте это!Он используется в программах набора текста , таких как LaTeX , но нацелен только на предоставление некоторых правильных дефисов, без предоставления неверного (высокая точность, низкий отзыв).Интересно отметить, что есть только 14 исключений, например.Проект, который имеет разные переносы в зависимости от части речи (глагол или существительное).
Программы переноса слов
Если вы решите, что этого достаточно для ваших нужд, обратите внимание, что Несколько реализаций алгоритма переноса TeX существуют в других языках, таких как Python, Perl или Ruby .