光学式文字認識(OCR)

Blue Prismは、画面上のテキストに複数のOCR機能を提供します。

サーフェスオートメーションの使用

サーフェスオートメーションの使用

Blue Prism アプリケーションモデラーを直接使用してアプリケーション要素を特定できない場合、サーフェスオートメーションと呼ばれる技術を使用してアプリケーション画面の画像をキャプチャし、その上の主要要素の位置をマッピングできます。これらのアプリケーションは、画面領域、画像一致、文字認識を使用してモデル化できます。この手法は、Blue Prism Enterpriseと同じマシンで実行されていないアプリケーションのスパイや、他のスパイモードが利用できない場合に便利です。

以前にキャプチャしたアプリケーションモデラー領域に対して使用する場合、フォントの一致に基づく固有の文字認識は、読み取りステージの[テキストを認識]アクションを通して利用されます。これにより、領域からテキストデータが抽出され、データアイテムに保存されます。[テキストを認識]アクションの入力パラメーターは、フォント、前景色、背景色です。

固有の文字認識を使用するには、フォントを生成する必要があります。詳細は「フォント」を参照してください。

OCR Plusの使用

OCR Plusは、以下の機能によって精度と堅牢性を向上させ、文字認識を強化します。

  • 前景色と背景色を自動的に識別。

  • 一見同じように見える文字(文字Oと数字0など)を区別し、正規表現(RegEx)パターンで曖昧さを解消。

  • フォント一致アルゴリズムを改善。

これは、読み取りステージの[テキストを認識(OCR Plus)]アクションを通して利用されます。入力パラメーターはフォントとオプションのRegExです。入力パラメーターが指定されていない場合でも、システムはフォントを認識し、単語をできるだけ一致させます。ただし、曖昧な点がある場合は、以下の単語パターンのいずれかを受け入れるデフォルトのRegExが使用されます。

  • 大文字のあとに小文字
  • 大文字または小文字のみ
  • 数字のみ

典型的なRegEx式の例:

  • 数値:“[0-9]+”
  • 大文字のあとに小文字の単語:“[A-Z][a-z]*”
  • 大文字と数字の文字列:“[0-9A-Z]+”

固有の文字認識とOCR Plusの両方を使用するには、使用前にフォントを生成する必要があります。これに対応するオプションは、[システム - フォント]画面からアクセスする[フォントジェネレーター]ダイアログと、[Blue Prism領域エディター]画面からアクセスする[Blue Prismフォントを生成]ダイアログで使用できます。詳細については、「フォント」を参照してください。

Tesseract OCR

固有の文字認識エンジンを使用して画面上のテキストを扱うことが適切でない状況(たとえば、平滑化されたテキストが強制される場合、またはスキャンされたり複製が制限された電子文章を扱ったりする場合)では、Blue Prismは埋め込みTesseract OCRエンジンを使用して、パターン一致と複雑な言語ベースのテキスト認識を使用してテキストを認識できます。

テキスト認識効果を最大限に引き出すには、最低で300ドット/インチ(dpi)が必要です。画面上のテキストなど、dpiがこれより低い画像の場合は、エンジンに渡す前にキャプチャした領域のサイズを[縮尺]パラメーターにより意図的に拡大します。通常、縮尺の倍率を4または5に設定するとよい結果が得られます。

Tesseract OCRエンジンは、以前にキャプチャされたアプリケーションモデラー領域に対して使われる読み取りステージの「OCRでテキストを読み取る」アクションを通して利用され、テキスト、リスト、グリッドを読み取るためのオプションが用意されています。選択された領域に対して使われた縮尺が妥当であるかを検証できるようにするために、事前処理された画像を特定の診断場所に出力することもできます。

言語パック

Tesseractで使用する言語パックはインターネットで入手できます。Blue PrismはTesseractバージョン4.0.0で動作し、一緒に適切なメジャーバージョンの言語ファイルを使用することが不可欠です。現在、バージョン4.0.0の言語ファイルがTesseract Webサイトからダウンロードできます。

別の言語のサポートを追加するには、それに合ったファイルをダウンロードしてTesseract\tessdataフォルダー(通常は C:\Program Files\Blue Prism Limited\Blue Prism Automate\Tesseract\tessdata)にコピーします。

言語ファイルの先頭には、fra(フランス語)、deu(ドイツ語)、jpn(日本語)、chi-tra(繁体字中国語)というような言語コードが付いています。必要な各デバイスにインストールした後に、必要なパックを使用するようにエンジンに指示するには、このコードを読み取りステージ内の[OCRでテキストを読み取る]アクションの言語パラメーターで指定します。

ページ分割モード

読み取り ステージ内の[OCRでテキストを読み取る]アクションにはオプションのテキストパラメーター[ページ分割モード]があり、これによりTesseractで定義された値を指定できるようになります。このパラメーターに入力可能な値と、そのアクションの簡単な説明を以下に示します。

[ページ分割モード]に値が入力されていない場合は、デフォルト値の[Auto]が使用されます。

パラメーター

説明

OSD

Orientation and script detection (OSD) only(向きとスクリプトの検出(OSD)のみ)

AutoWithOSD

OSDと自動ページ分割。

AutoNoOCR

自動ページ分割、ただしOSDまたはOCRなし。

Auto

Fully automatic page segmentation, but no OSD(完全自動ページ分割、OSDなし。デフォルト)

Assume a single column of text of variable sizes(可変サイズの1つのテキスト列として認識)

VerticalBlock

Assume a single uniform block of vertically aligned text(縦書きテキストの単一のブロックとして認識)

ブロック

Assume a single uniform block of text(単一ブロックとして認識)

Line

Treat the image as a single text line(画像を単一のテキスト行として処理)

Word

Treat the image as a single word(画像を1単語として処理)

CircledWord

Treat the image as a single word in a circle(画像を円で囲まれた1単語として処理)

Character

Treat the image as a single character(画像を1文字として処理)

SparseText

順不同でできるだけ多くのテキストを検出。

SparseTextWithOSD

OSDを使用したスパーステキスト。

RawLine

Tesseract固有の回避策を省略して、画像を1行のテキストとして処理。

分割モードの詳細については、TesseractのWebサイトの公式ドキュメントを参照してください。