Я пытаюсь использовать Расстояние Левенштейна, чтобы найти нечеткие ключевые слова (статический текст) в OCR. page.
Для этого я хочу указать процент допустимых ошибок (скажем, 15%).
string Keyword = "past due electric service";
Поскольку ключевое слово имеет длину 25 символов, я хочу допустить 4 ошибки (25 * .15 с округлением вверх)
Мне нужно иметь возможность сравнить его с...
string Entire_OCR_Page = "previous bill amount payment received on 12/26/13 thank
you! current electric service total balances unpaid 7
days after the total due date are subject to a late
charge of 7.5% of the amount due or $2.00, whichever/5
greater. "
Вот как я это делаю сейчас...
int LevenshteinDistance = LevenshteinAlgorithm(Keyword, Entire_OCR_Page); // = 202
int NumberOfErrorsAllowed = 4;
int Allowance = (Entire_OCR_Page.Length() - Keyword.Length()) + NumberOfErrorsAllowed; // = 205
Ясно, что Keyword
не найдено в OCR_Text
(чего быть не должно). Но, используя расстояние Левенштейна, количество ошибок меньше, чем запас в 15% (поэтому моя логика говорит, что оно найдено).
Кто-нибудь знает лучший способ сделать это?