Я пытаюсь написать программу в JAVA, которая хранит словарь в хэш-карте (каждое слово под другим ключом) и сравнивает данное слово со словами в словаре и придумывает предложение о правописании, если оно не найдено в словаре - в основном программа проверки орфографии.Сравнение слова с целенаправленными словами в словаре
Я уже придумал алгоритм сравнения (например, Needleman-Wunsch then Levenshtein distance) и т. Д., Но застрял, когда выяснилось, какие слова в словаре-hashmap сравнить слово с i.e. «hellooo».
Я не могу сравнить «ohelloo» [следует исправить «привет» каждому слову в словаре b/c, который займет слишком много времени, и я не могу сравнить его со всеми словами в словаре, начиная с «o» b/c он должен быть «привет».
Любые идеи?
Вы можете сравнить все сдвиги данного слова и выбрать наилучшее соответствие. Например: «ohelloo», «hellooo», «elloooh», ... – piotrekg2
в порядке, но тогда как бы выбрать подмножество слов в словаре для сравнения слова? – Rolf
Я не думаю, что хэш-карта является хорошей структурой данных для решения этой проблемы. Используя дерево trie/suffix, вы сможете быстро найти все слова с заданным префиксом. – piotrekg2