Algorithm OCR中的字距算法

Algorithm OCR中的字距算法,algorithm,ocr,levenshtein-distance,hamming-distance,Algorithm,Ocr,Levenshtein Distance,Hamming Distance,我正在使用OCR输出,并在其中搜索特殊单词 由于输出不干净,我根据低于特定阈值的字距查找与输入匹配的元素 然而,我觉得Levenshtein距离或Hamming距离不是最好的方法,因为OCR似乎总是犯同样的错误:I代表1,0代表O,Q代表O。。。例如,这些“经典”错误似乎没有“A代表K”那么重要。因此,这些距离不考虑字符外观的差异量(低/高) 有没有专门为OCR设计的单词距离算法可以更好地适合我的情况?或者我应该根据字符的视觉差异经验地实现自定义单词距离吗?Levenshtein距离允许您为每个

我正在使用OCR输出,并在其中搜索特殊单词

由于输出不干净,我根据低于特定阈值的字距查找与输入匹配的元素

然而,我觉得Levenshtein距离或Hamming距离不是最好的方法,因为OCR似乎总是犯同样的错误:I代表1,0代表O,Q代表O。。。例如,这些“经典”错误似乎没有“A代表K”那么重要。因此,这些距离不考虑字符外观的差异量(低/高)


有没有专门为OCR设计的单词距离算法可以更好地适合我的情况?或者我应该根据字符的视觉差异经验地实现自定义单词距离吗?

Levenshtein距离允许您为每个替换对(,第五项)指定不同的成本。因此,您可以通过或多或少地强调常见错误来调整它以适应您的需要。

如果您想要一个用于字母不匹配的自定义成本函数,您可以查看Needleman–Wunsch算法(NW)

  • 维基百科
  • 与NW算法相关的OCR论文

如果您曾经阅读过tesseract源代码,您会看到它特别处理了很多情况。您在64位JVM上使用tesseract ocr吗?@manu No,我使用ABBYY FineReader。然后您正在进行试用version@manu不,这不是审判。为什么要问?付费版本中有什么隐藏的东西我应该知道吗?这是一本很好的读物。使用Needleman Wunsch在具有两个不同OCR输出的第一个过程中查找分类名称。然后使用这些名称在所有文档的第二遍中查找这些硬词。它可以工作。我将尝试这样做,根据char值,两个字符串之间的每个levenshtein操作的成本在0到1之间。这应该给我一个双倍的距离。你解决这个问题了吗?让我知道你没有。我为ABBYY工作,随时准备帮助你。