光学文字認識
白黒の斑点を除去して輪郭を平滑化する。
手書き文字や筆記体のテキストを対象とする。一度に 1 つのグリフまたは文字を入力する。機械学習の技術を用いることが多い。
多言語文書では、スクリプトは単語のレベルで変更される可能性があるため、特定のスクリプトを処理するために適切な OCR を呼び出す前にスクリプトの識別が必要となる。
単語と文字の図形のベースラインを確立し、必要に応じて単語を区切る。
出力結果の中にレキシコン(文書で使用されている単語リスト)で定義されている単語しかないことが分かっている場合、OCR の精度を高めることができる。単語リストには、例えば、英語のすべての単語、または特定の分野のより技術的な語彙を定義しておくことができる。この手法は、文書に語彙にない単語(固有名詞など)が含まれている場合は利用に課題が生じる。Tesseract は、自前の辞書を使って、文字をセグメンテーションするステップの精度を向上させている。
基本的な出力結果はプレーンテキストであるが、より高度な OCR システムでは、ページの元のレイアウトを保持し、ページの元の画像と検索可能なテキスト表現の両方を含む注釈付きの PDF が生成される。
"近傍分析" は、特定の単語が一緒に使われる性質を利用して、エラーを修正する。例えば、英語では「Washington, D.C.」の組み合わせは、「Washington DOC」よりもるかに一般的である。
たとえば、単語が動詞か名詞かなど、スキャンされる言語の文法に関する知識を実装することで、より高い精度を可能にする。
レーベンシュタイン距離アルゴリズムは、OCR API からの結果をさらに最適化するために OCR の事後処理でも使用されている。