用于噪声文本的字符串匹配算法

时间:2014-11-02 01:21:38

标签: string substring ocr

我使用OCR(光学字符识别)从图像中获取文本。图像包含书籍封面。由于图像太嘈杂,一些字符被误识别,或者一些噪声被识别为字符。

示例:

  1. “w计算机Nnwonxs i I”(Compuer Networks)
  2. “s.ll NEURAL NETWORKS C”(神经网络)
  3. “1llllll INFRODUCIION ro PROBABILITY ti iitiiili My”(概率介绍)
  4. 我用单词构建了一个字典,但我想以某种方式将识别的文本与字典相匹配。我尝试过LCS(Longest Common subsequence),但效果不是很好。

    针对此类问题的最佳字符串匹配算法是什么? (所以字符串的一部分只是噪音,但字符串的重要部分也可能有一些误识别的字符)

2 个答案:

答案 0 :(得分:0)

这真是个大问题。以下是我所知道的。有关详细信息,请阅读相关文章。

对于单个单词,使用汉明距离来计算OCR识别的单词与字典中单词之间的相似度;

此步骤用于纠正已被OCR识别但不存在的单词。

例如:     如果OCR的结果是字典中不存在的INFRODUCIION,你可以发现单词'INTRODUCTION'的汉明距离是2.所以它可能被错误识别为'INFRODUCIION'。 但是,同一个单词可能被识别为具有相同汉明距离的不同单词。

例如:如果OCR的结果是CAY,您可能会发现CAR和CAT的汉明距离都是1,因此会混淆。

在这种情况下,可以使用几种方法进行分析:

  1. 对于单个单词,CAT和CAY之间的图像不同于CAR和CAY。因此,CAT似乎是一个更有可能的正确单词。

  2. 然后让我们以上下文来计算另一个概率。如果说的是“我今天早上驾驶我的新CAY”,那么人们通常驾驶CAR而不是CAT,我们有更好的机会将CAY这个词视为CAR而不是CAT。

  3. 对于类似文章中使用的单词的频率,请使用TF-TDF。

答案 1 :(得分:0)

你是说你有一本字典来定义所有可以接受的单词吗?

如果是这样,那么在每个单词中找到最接近的匹配词应该是相当直接的。设置匹配阈值,如果未达到阈值,则丢弃该字词。

我会尝试使用Levenshtein Distance algorithmreverse