0

特定の文字範囲 (たとえば 20 文字など) に 8 文字のうち 5 文字が順番に存在することを保証する正規表現を作成する方法はありますか?

私は恐ろしいOCR /スキャンを扱っていますが、誤検知に耐えることができます.

これを行う方法はありますか?

更新:たとえば「mshpeln」をmisspelling. 私はOCRをしたくありません。OCR ジョブは実行されましたが、不十分に実行されました (つまり、最初は と表示されていましたが、OCR されたmisspellingコピーは "mshpeln" を読み取ります)。照合する必要があるテキストが何であるかはわかりません (つまり、それが「mshpeln」であるかどうか、「mispel」またはその他の組み合わせである可能性があるかどうかはわかりません)。

これをスペル チェッカーとして使用しようとしているのではなく、単にキャプチャ グループの最後を見つけようとしているだけです。余談ですが、現在all.cssファイルの取得に問題が発生しているため、一時的にコメントできません。

4

4 に答える 4

0

これは正規表現では実行できませんが、カスタム アルゴリズムでは実行できます。

たとえば、テキストの本文で「スペルミス」のような単語を見つけるには、次のようにします。

1) 前処理。Setスペルミスのあるすべての一意の文字を使用して (数学的な意味で、一意の要素であることが保証されている のコレクション) を作成します-{e, i, g, l, m, n, p, s}

2) テキストの本文を単語に分割します。

3) 単語ごとSetに、一意の文字をすべて使用して a を作成します。次に、このセットと、一致する単語のセットに対してセット交差の操作を実行します。これにより、両方のセットに含まれる文字が取得されます。このセットに 5 文字以上残っている場合は、ここで一致する可能性があります。

OCR が誤ったスペースを追加できる場合は、1 つの単語ではなく、一度に 2 つの単語を検討してください。あなたの要件が何であるかに基づいてなど。

于 2013-06-04T04:16:13.410 に答える
0

正直なところ、このようなプロジェクトはコンピューターではなく、実際の人間が行う方がよいと思います。プロジェクトが大きすぎて 1 人または 2 人で簡単に行うことができない場合は、Amazon の Mechanical Turk のようなものを調べて、ソリューションごとにペニーで作業をアウトソーシングすることをお勧めします。

于 2013-06-04T04:06:28.847 に答える
0

この問題の解決策はありません。実際、これは正反対です。

次の 2 つの理由により、OCR エラーをプログラムで修正することはできません。

  1. OCR アルゴリズムによって発生したエラーは、0 から 100% の間になる可能性があるため、定量化できません。

  2. 補正を適用するには、許容レベルを設定するために、最大誤差がどの程度かを知る必要があります。

nello worldを「hello world」の最初の推測としましょう。これは非常によく似ています。次に、「痛々しい」黄色か何かで書かれた別のフォントで、2 番目の推測は同じ表現のnoiio verioです。この単語がより適切に認識されていれば、この単語が類似していたであろうことを、コンピューターはどのように認識できるでしょうか?

それ以外の場合、所定のエラーが与えられた場合、私の意見では mvp のソリューションが最良のようです。


アップデート:

少し掘り下げた後、関連する可能性のある参照を見つけました:文字列の類似性測定

于 2013-06-04T04:41:54.757 に答える