Наименьшее расстояние Ливенштейна в банке данныхC#

Место общения программистов C#
Ответить
Anonymous
 Наименьшее расстояние Ливенштейна в банке данных

Сообщение Anonymous »

Я пытаюсь найти алгоритм, который очень быстро вычисляет минимальное расстояние Левенштейна в банке данных и выполняет как можно больше работы, прежде чем я узнаю входную строку.
У меня есть алгоритм, который читает строки с помощью алгоритма OCR. Этот алгоритм допускает много ошибок. У меня есть банк данных, состоящий из строк, которые я пытаюсь найти с помощью алгоритма OCR. Этот банк данных постоянно растет. Вполне возможно и вполне вероятно, что прочитанная строка не является частью этого банка данных, даже если она прекрасно читается алгоритмом OCR. В большинстве случаев строка с наименьшим расстоянием Левенштейна приведет к наиболее вероятному совпадению в банке данных. Итак, до сих пор я рассчитывал расстояние Левенштейна считываемой строки для каждой отдельной записи в банке данных, используя алгоритм Вагнера-Фишера. К сожалению, это единственная критичная по времени часть приложения, и она занимает некоторое время. Поэтому мне было интересно, могу ли я ускорить эту часть, предварительно заказав банк данных определенным образом, чтобы я мог быстрее вычислить наименьшее расстояние Левенштейна в банке данных. Конечно, такая предварительная структуризация сама по себе займет некоторое время, но наиболее важной частью является время между чтением строки и поиском ближайшего совпадения в банке данных.
Пока я пытаюсь найти алгоритм для предварительной структуризации данных банка данных таким образом, чтобы мне приходилось обрабатывать минимальное количество записей.
Чтобы внести ясность: я в основном спрашиваю о хороший способ быстро исключить большую часть неправильных ответов с заранее рассчитанной информацией из банка данных, а не для самого алгоритма сравнения. Это тоже было бы неплохо оптимизировать, но в основном я пытаюсь найти хороший алгоритм для эффективной фильтрации набора данных.

Подробнее здесь: https://stackoverflow.com/questions/781 ... a-databank
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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