Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 1

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

разделение на слоги

эвристического

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

Corpus основе

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

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

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

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

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

О переносе

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

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

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

Ответ 2

  Я ищу полностью точную формулировку алгоритма для подсчета слоги в словах

Там нет ни одного. Период. Какой бы алгоритм вы ни изобрели, я обещаю найти контрпример. В некоторых языках (армянский и русский приходят на ум) алгоритм довольно прост - посчитайте количество гласных. В других языках, таких как немецкий, это не так просто, но все же выполнимо. Боюсь, что в английском языке преобразование букв и звуков абсолютно нерегулярно.

Например,

Совпадение. oi считается двумя слогами. Но в кипении это только один слог. Кроме того, не считая окончательный гласный не всегда точно. Вспомните имя Пенелопа или Гермиона. Или банан

Еще один любопытный случай, когда слог существует без печатного гласного. Например, таблица - это слово из двух слов, но второй слог генерируется невидимым звуком между b и l. Кроме того, не забывайте о словах, происходящих из греческого языка, который может иметь много последовательных гласных. Например. звукоподражания.

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

Ответ 3

Старый вопрос, но все же люди, вероятно, читают его время от времени, и это открытый вопрос.

Слова не построены из дискретных, четко определенных, согласованных слогов - вы стараетесь изо всех сил разделить язык на слоги, а то, как вы это делаете, зависит от цели - некоторые из них более фонетичны, другие больше полагаются на правописание,

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

То, чему учат в школах (если школа вообще беспокоит), часто представляет собой смесь орфографических и фонетических правил, призванных помочь заклинаниям детей. Они стараются иметь несколько запоминающихся правил, которые работают много времени, они не должны быть на 100% правильными или исчерпывающими.

С помощью какого-либо конкретного метода вы, скорее всего, найдете то, что не подходит вам.

Теперь ответ: для показателя удобочитаемости не имеет значения, какой метод используется. Даже подсчет букв в словах (или гласных) также может работать. Если вы пытаетесь сопоставить другие результаты, вам необходимо знать их метод.

Ответ 4

Вам нужен словарь для сопоставления регулярного написания английских слов с их Международным фонетическим алфавитом. Это имеет более точное представление слогов в словах. Исходя из этого, вы можете сделать более точный подсчет слогов. Но это не учитывает различия в произношении.