我正在处理OCR输出,并在其中搜索特定的单词。
由于输出内容不干净,因此我寻找与我的输入相匹配的元素,其单词距离低于特定阈值。
然而,我觉得Levenshtein距离或汉明距离并不是最好的方法,因为OCR似乎总是犯同样的错误:I写成1,0写成O,Q写成O等等。这些“经典”错误似乎比“A替换成K”等更不重要。因此,这些距离并不关心字符外观的差异程度(低/高)。
是否有任何针对OCR特别制定的单词距离算法可以使用,更适合我的情况?还是应该根据字符的视觉差异经验性地实现自定义单词距离?
我正在处理OCR输出,并在其中搜索特定的单词。
由于输出内容不干净,因此我寻找与我的输入相匹配的元素,其单词距离低于特定阈值。
然而,我觉得Levenshtein距离或汉明距离并不是最好的方法,因为OCR似乎总是犯同样的错误:I写成1,0写成O,Q写成O等等。这些“经典”错误似乎比“A替换成K”等更不重要。因此,这些距离并不关心字符外观的差异程度(低/高)。
是否有任何针对OCR特别制定的单词距离算法可以使用,更适合我的情况?还是应该根据字符的视觉差异经验性地实现自定义单词距离?
Levenshtein距离允许您为每个替换对指定不同的成本(http://en.wikipedia.org/wiki/Levenshtein_distance#Possible_modifications,第五项)。因此,您可以通过更多或更少地强调常见错误来根据自己的需求进行调整。