Android, Java - Исправьте слово -эд в действительное слово английского словаря в режиме реального времениJAVA

Программисты JAVA общаются здесь
Anonymous
Android, Java - Исправьте слово -эд в действительное слово английского словаря в режиме реального времени

Сообщение Anonymous »

Мое приложение включает в себя сканирование через камеру телефона и обнаружение текста. Единственные слова, с которыми связано мое приложение, - это действительные английские слова.
У меня есть список из ~ 354 000 действительных английских слов, которые я могу сравнить свое сканированное слово с. < /P>

< P> Поскольку мое приложение непрерывно обнаруживает текст, мне нужно, чтобы эта функция была очень очень быстрой. Я применил технику расстояния Levenshtein. Для каждого слова я: < /p>


[*] Сохраните содержимое текстового файла в ArrayList < /code> с использованием сканера < /код >
[*] Рассчитайте расстояние от слова Levenshtein с каждым из 354K слов
[*] вернуть слово, соответствующее минимальному значению расстояния
< /ol>

Проблема в том, что она очень очень медленная. Не применяя это, моему приложению удается OCR более 20 слов примерно в 70-100 миллисекунд. Когда я включаю эту процедуру исправления, мое приложение занимает больше 1 полную минуту (60000 мс) для одного слова. случай. Если нет, с каким еще протестированным способом мне следует пойти? Любая помощь будет очень оценена. Я знаю, что это возможно, глядя на то, как клавиатуры Android могут мгновенно исправить наши неправильно напечатанные слова. />
  • Расстояние Джаро. (аналогично)
  • Android Internal Spellchersession служба. (не соответствует моему случаю. Квитанция о результате с помощью вызовов - проблема)


Подробнее здесь: https://stackoverflow.com/questions/383 ... in-real-ti

Вернуться в «JAVA»