光学式文字認識(OCR)

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

サーフェスオートメーションによる固有の文字認識

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サイトの公式ドキュメントを参照してください。