Подсчет слогов в слове

Я ищу полностью точное изложение алгоритма подсчета слогов в словах. То, что я обнаруживаю, когда я исследую, противоречивы, или то, что я знаю, дает неверные результаты. Есть ли у кого-нибудь предложения, как это сделать? Спасибо.

Алгоритм, который я использую сейчас:

  1. Подсчитайте количество гласных в слове.
  2. Не считайте двойные гласные («дождь» состоит из 2 гласных, но состоит только из 1 слога)
  3. Если последняя буква в слове является гласной, не учитываются («сторона» - 1 слог)

Есть ли еще правила мне не хватает? Я пытаюсь определить при тестировании своих неверных результатов, неправильный ли алгоритм, который я использую, или моя его реализация.

23
задан durron597 15 July 2015 в 15:24
поделиться

1 ответ

Неоднозначность - огромная проблема в обработке естественного языка, но некоторые задачи могут справиться с неоднозначностью с хорошей точностью. Оказывается, слоговая часть - одна из них, поэтому не слушайте другие ответы. :)

Силлабификация

Эвристика

Вы можете придумать алгоритмы , обеспечивающие правильную слоговость практически во всем словаре английского языка , но это кажется сложным для запрограммируйте правильно.

Корпус на основе

Как всегда, когда ручные алгоритмы не слишком помогают, исследователи Natural Language Processing используют помеченные вручную корпуса, содержащие правильные ответы для заданных слов. Затем используются алгоритмы обучения, которые часто обеспечивают большую точность. Вы можете использовать слоговое описание LingPipe (см. «Английское слоговое выражение») , которое следует этому подходу.

Исчерпывающий список

В английском только столько слов, как мы придумали словари. Такие словари часто содержат правильные слоги. Вы можете поцарапать reference.com. Например, в волнистой записи содержится «un · du · late», и этого достаточно, чтобы знать, что есть три слога.

К другим подобным словарям относятся ответов. , Свободный словарь , Мерриам-Вебстер и т. Д. Ознакомьтесь с Условиями, автоматический поиск может быть запрещен. И разные словари не всегда согласуются друг с другом.

Это не поможет с новыми словами или именами собственными, но я бы сказал, что это будет самый точный метод.

О переносе слов

Еще одна связанная с этим проблема получила гораздо большее распространение: переносы. Но не используйте это! Он используется в программах для набора текста , таких как LaTeX , но нацелен только на то, чтобы предоставить несколько правильных дефисов, даже не предоставляя неправильных (высокая точность, низкая отзыв). Интересно отметить, что есть только 14 исключений, например. проект, который имеет различные переносы в зависимости от части речи (глагол или существительное).

Программы переноса слов

Если вы решите, что этого достаточно для ваших нужд, обратите внимание, что существует несколько реализаций алгоритма переноса TeX в других языках, таких как Python, Perl или Ruby .

24
ответ дан 29 November 2019 в 02:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: