Есть ли алгоритм генерации гомофонов?
Ввод "кипарис", вывод = {cipress, cipres, cypres, sipress, sypress}
Я сделал один. Исходный код здесь: https://github.com/evanshort73/homophone
Попробуйте в своем браузере на http://evanshort.name/homophone/
Основная идея: загрузите словарь произношения CMU и создайте файл разрешенных замен фонем и их стоимости. Выполняйте поиск в глубине каждой возможной замены, возвращая назад, когда частичный результат не является началом какого-либо словарного слова.
Soundex является противоположностью этого - отображение гомофонов на одно и то же значение.Если вы проиндексировали каждое слово в словаре по значению Soundex, вы можете выполнить поиск, чтобы найти все гомофоны данного слова.
Здесь есть (и я цитирую ..) гомофонер ( застывший хихикань ) здесь: http://homophoner.yacomink.com/
Кажется, он использует YUI
Проект Гутенберга имеет словарь Вебстера , доступный для загрузки.Вы можете использовать произношение в словаре в качестве ключа.Хотя простой анализ словаря был бы проектом сам по себе.
Возможно, вам лучше загрузить список гомофонов с веб-сайта.Быстрый поиск в Google по «списку гомофонов» дает несколько интересных сайтов, включая http://www.homophone.com.