2015-02-06 2 views
0

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

Например, если пользователь узнает «ангел», то мне нужен алгоритм, чтобы произвести некоторые подобные слова, такие как «угол» и «под углом»

Другой пример, если пользователь учится «бухгалтер», то Мне нужен алгоритм для создания некоторых похожих слов, таких как «accounttant» и «acountant», «acounttant»

+4

Я хотел бы помочь, но я не могу понять, что вы здесь задаете. Редактировать, чтобы уточнить, было бы хорошо. – shuttle87

+0

Так вы пытаетесь создать «настоящие» слова, похожие или просто вставляющие случайные символы? Ваши два примера показывают две возможности. –

ответ

2

Вы можете вычислить Levenshtein Distance со стартового слова на каждое слово в своем словаре и выбрать 2 или 3 самых коротких.

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

Смежные вопросы