Мне нужно отсканировать документы и проверить, содержат ли они конкретные данные.
Проще говоря, предположим, что мне нужно найти, содержит ли отсканированный счет конкретный адрес.
Указанный адрес для поиска может быть написан по-разному, по сравнению с тем, как он написан в документе, например ::100100
адрес для поиска (итальянский адрес): "Piazza Santa Rita 43, 10390, Турин (TO)
адрес в отсканированном документе может быть таким:
"Турин, P.zza S.Rita 43, 10390, Турин"
или же
"Пицца С.Рита 43, 10390, Турин"
и так далее
Я ищу способ найти "сходство" между данными для поиска, чтобы, если я найду текст, близкий, скажем, к 80%, я считаю его действительным документом
Помимо способа ввода адреса, возникает еще одна проблема: отсканированный документ может быть (в большинстве случаев будет) низкого качества, поэтому механизм распознавания может неверно истолковать какой-либо символ, давая плохие результаты (например, ' c 'стал' o ',' 3 'стал' B 'и т. д., поэтому я тоже хочу принять это во внимание
например. отсканированный документ может привести к "" Plzza S.Rita 4B, 1O390, Tcrinc "
Любой совет, как решить эту проблему?
На самом деле я разрабатываю это на Android, используя OpenCV для настольного изображения документа и Google Firebase ML-KIT для сканирования документа на устройстве (я не могу полагаться на внешние сервисы, я должен решить его на устройстве), так что Я должен решить эту проблему, используя Java и взглянув на текст, найденный в ml-kit ocr, но даже если у вас есть совет, который реализует это на других языках / платформах, подойдет для справки.