2012-01-25 6 views
5

В настоящее время я работаю над проектом, для которого я думаю, что придумать фонетические представления слов на разных языках было бы очень полезно. Я знаю, что Aspell делает это довольно хорошо, но я не думаю, что есть очень простой способ получить их фонетические представления, поэтому я спрашиваю: есть ли еще какой-то хороший пакет для получения фонетического представления слова с учетом слова и языка/диалект/акцент/независимо от того, из чего он идет?Что такое хороший пакет для фонетического представления для разных человеческих языков?

Это не должно быть на каком-либо конкретном языке, но если бы это был Perl, это было бы лучше.

Я уже пробовал Soundex, Metaphone, DoubleMetaphone и все остальное в Text::Phonetic, и ни один из этих материалов не был очень хорош - определенно нигде не было так хорошо, как материал в Aspell.

+0

Производит ли фонетическое произношение конечной цели или средства к другому концу? – Schwern

+0

Средства на другом конце. В конечном счете, цель состоит в том, чтобы использовать это в реализации алгоритма нечеткого автозаполнения. – Eli

+0

О, дорогая, это сложно. Не в последнюю очередь из-за того, что частичные слова могут звучать совсем по-другому. «t», «th», «thro», «throu», «throug», «through». Я подозреваю, что потребуется много обучения ИИ для вероятностей, а не для использования фонетики. Возможно, вам захочется найти сервис, который предоставляет это. – Schwern

ответ

1

Первое, что приходит на ум - Soundex. Конечно, есть модуль Perl Soundex. Хотя это предназначено для генерации звукового «ключа» из ввода, может оказаться полезным при сопоставлении разных вариантов с общим ключом.

+0

Извините, я должен был упомянуть, я уже пробовал все в Text :: Phonetic, включая Soundex Ничего из этого не очень хорошо. – Eli

+4

Как автор Text :: Metaphone, я могу сказать, что это не очень хорошее представление о том, как вещи произносятся. Soundex еще хуже: они больше подходят для другого, от прослушивания произношения до loo король, какое слово это может быть. – Schwern

1

Существует пакет Текст :: Aspell в CPAN. Может быть полезно.

+0

Я заметил это раньше, но не могу понять, как напрямую взаимодействовать с представлениями фонетики Аспелла через него: - \ – Eli

0

Я пытаюсь создать систему подсказок/исправлений в стиле Google, она основана не только на фонетике или искусственном интеллекте, но и на огромном количестве пользовательского ввода. Когда пользователь выполняет поиск и не щелкает по какой-либо ссылке, но исправляет ввод и выполняет поиск снова, он дает google множество данных о «правильной» записи, чем тест фонетики или сопоставление слов. Основная проблема заключается в самом человеческом языке, это не то, что люди говорят или пишут детерминированным способом, не говоря уже о нескольких языках. Конечно, я могу ошибаться, но если вам нужна библиотека, которая позволяет вам сделать это:

getLanguage(string); 

Я хочу видеть, что работа, на самом деле.

+0

Yup. Также важно иметь много пользовательских данных. У меня уже есть это, и это важная часть системы. Фонетическое представление также является важной частью, и это та часть, которой у меня нет сейчас. – Eli

+0

Ну, вы настроены на хорошее начало, идя наоборот, просто больно. – AlfredoVR