2014-11-02 83 views
0

我已经使用OCR(光学字符识别)从图像中获取文本。图像包含书籍封面。由于图像太吵,某些字符被误识别,或者某些噪声被识别为字符。嘈杂文本的字符串匹配算法

实例:

  1. “瓦特COMPUTER Nnwonxs I I”(Compuer网络)
  2. “s.ll神经网络C”(神经网络)
  3. “1llllll INFRODUCIION RO概率TI iitiiili我” (概率介绍)

我建立了一个字典词典,但我想以某种方式匹配识别的文本与字典。我尝试了LCS(最长的公共子序列),但它不那么有效。

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

+0

也许Levenshtein距离将用于匹配您的字典中的“小破”字? – 2014-11-02 01:25:22

+0

什么语言? – 2015-11-11 19:50:51

回答

0

这真的是一个很大的问题。以下是我所知道的。欲了解更多详情,你可以阅读一些相关的论文。

对于单个单词,使用Hamming Distance来计算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。

0

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

如果是这样,那么应该相当直接地采取每个单词,并找到您的字典中最接近的匹配。设置匹配阈值,如果没有达到阈值,则丢弃该词。

我会试验Soundex and Metaphone algorithmsLevenshtein Distance algorithm