WinActorには、OCRを使える機能があるのをご存じでしょうか?
マッチング機能のひとつ「OCRマッチング」と「WinActorEye」にOCR機能が使われています。
本コラムでは、主にOCRマッチングについてご紹介していきます。
「機能の使い方や読取精度」「業務で活用できるのか?」など、
OCRの機能に興味がある方や、実際に使ってみたい方はぜひ最後までご覧ください。
目次
WinActorには業務プロセスを自動化するためのさまざまな機能が搭載されていますが、OCR機能は具体的にどのようなものでしょうか?
そもそもOCRって聞いたことはあるけど分からない……と疑問をお持ちの方もいると思うので、改めてOCRについても解説いたします。
OCR(Optical Character Recognition)は、日本語では「光学文字認識」といいます。
印刷文字や手書き文字などを光学的に文字を認識し、デジタルデータとして変換する技術です。
近年、企業でのDXが進んでおり、請求書など様々な紙帳票をデジタルデータ化することでデータ入力作業の大幅削減に繋がるため、注目を集めています。
WinActorに搭載されているOCR機能は、画像やスキャンされた文書の文字をテキストに変換し、その情報を利用して自動化プロセスを実行することが可能です。
このOCR機能はWinActor独自のOCRではなく、Microsoft OSに搭載されているMicrosoft OCRを利用しています。そのため、文字の抽出精度などはMicrosoft OCRに依存しています。
WinActorには、3つのマッチング機能が用意されています。
具体的には、OCRマッチング、画像マッチング、輪郭マッチングの3つです。
「OCRマッチング」は、画像マッチングや輪郭マッチングとどのような違いがあるのでしょうか?
ここでは各マッチング機能について解説していきます。
それぞれの特徴を理解し、活用していきましょう。
恐らく最初に一番よく耳にする、画像マッチングから解説します。
画像マッチングは、ウィンドウに表示されている内容を画像として認識し、その画像に対して状況確認やクリックなどのマウス操作ができるノードになります。
クリックやエミュレーションライブラリが使えない時に活用すると便利ですが、異なるPCでシナリオを 動かすなどした場合に解像度やウィンドウの大きさが違うと認識されないというデメリットもあります。
輪郭マッチングは、Ver.6から登場した機能です。
異なるサイズ・解像度の画像でも認識が可能なため、拡大されたWEBページに対して画像マッチングを 実行することもできます。マッチング対象が変わりやすい時におすすめですが、色違いを誤認識したり、ウィンドウ内に同じ文字があったりするとシナリオがうまく 実行できないケースがあります。
OCRマッチングは、デジタル文字ではないものを文字として認識し、文字列に対して判定ができるノードです。
取り込んだ画面の画像データから文字を認識し、ユーザーが指定した文字列とマッチングした位置に対してクリックなどの操作を実行することができます。
画像マッチングと異なり、「文字列」で判定するため文字の色や大きさが変わっても認識できます。
OCRマッチングについてご紹介してきましたが、どのようにして使うのでしょうか?
ここからは実際にOCRマッチングの使い方を解説していきます。
OCRマッチングは、画像マッチングと同じような操作で、直感的に使うことができます。
ぜひ、ご自身のPCでも一緒に試して使ってみてください。
まず、ノード一覧から「OCRマッチング」をドラッグアンドドロップで配置しましょう。
OCRマッチングのプロパティ画面は下記のようになっています。
ここでマッチング対象への操作など設定をしていきます。
1 | 名前 | シナリオ上で表示する名前を入力します。 分かりやすい名前にしましょう。 |
2 | コメント | シナリオ作成時のメモをコメントに残すことができます。 |
3 | マッチング画像指定 | マッチング対象の「イメージ画像」「ウィンドウ識別名」を ターゲット選択ボタンまたは画像を選択して指定します。 |
4 | 取得タイミング | 「イメージ画像」のターゲット選択ボタンで、対象ウィンドウを指定した時のキャプチャ取得までの時間を設定できます。 指定できる取得時間:即時、3秒後、10秒後、30秒後 |
5 | マッチング文字列 | マッチングさせたい文字列を指定します。 |
6 | テスト実行 | シナリオを実行する前にマッチング文字列を検索してテスト結果を表示できます。 |
7 | 条件指定 | マッチングの条件を設定します。 |
今回はブラウザ検索で当社のホームページからOCRマッチングを設定してみたいと思います。
マッチング対象の設定は、プロパティ画面の「イメージ画像」「ウィンドウ識別名」から行います。
画像マッチングと同じ様にターゲット選択ボタンをクリックしてウィンドウを選択して対象のイメージ 画像を設定しましょう。
対象となるウィンドウを指定した際のキャプチャ取得時間を指定できます。
指定できる取得時間:即時、3秒後、10秒後、30秒後
ウィンドウにカーソルを合わせないと表示されないものなどを設定する場合は即時ではなく、秒数を指定すると良いでしょう。
マッチングさせたい文字列を入力しましょう。
\設定した実際の動画はこちら/
【WinActor】OCRマッチングを試してみた!/設定~結果表示
OCRマッチングには、テスト実行できる機能があります。
マッチング文字列と一致した場合は、該当箇所を赤枠で表示し、一致しなかった場合はエラーメッセージが表示されます。
OCRによって検出している文字を分かりやすく確認でき、マッチング文字列の調整を行いやすくなります。シナリオを実行しなくてもマッチングの判定が確認できるため、マッチング設定が完了したらテスト実行で試してみましょう。
今回は、ホームページ内にある「企業のDX推進」を文字列に設定してテスト実行してみました。
指定した文字列「企業のDXを推進」は認識できました。
しかし、表示されたダイアログ内の文章はHPの内容と一部異なる部分があるようです……。
先ほどのテスト実行では、OCRマッチングに成功したものの認識された文章に一部誤りがありました。
読取精度はどれくらいのものなのでしょうか?
今回の結果から実際にシナリオ作成で活用できるのかも確認していきましょう。
テスト実行ではなく、実際に読み取って結果を確認してみましょう。
ここではホームページ内の当社ヒューマンリソシアのロゴである「Human」を文字列に指定してみました。果たしてどのような結果になるのでしょうか?
「Human」を文字列に指定したところ、「マッチング文字列が見つかりませんでした。」と表示されて しまいました。
ダイアログを確認したところ、「a」が「0」になっているようです。
他にも「ヒューマンリソシア」が「ユーマンリソシア」になるなど、一部で読取が上手くいっていない 箇所がありました。
今回試してみた結果はこのようになりました。
読取内容 | 結果 |
企業のDXを推進 | 〇 読取成功 |
Human | × 読取失敗 Hum0n |
他にも実際の文章とは異なる部分があったので、読取精度としてはそこまで高くはないようです……。
また、手書き文字となると、さらに識字率が低く読み取ることは難しいでしょう。
「テキストが少ない」「文字が大きめ」「特殊なフォントでない」など対象のマッチング画像・文字列によっては活用できるかもしれません。
ですが、シナリオを安定して稼働させる点から考えると、どうでしょうか。
ブラウザ操作ならライブラリ、ExcelだったらExcelライブラリなどを活用した方が安定してシナリオを 動かせる可能性が高そうです。
OCRマッチングはあくまでも選択肢の一つとして状況に合わせて活用することをおすすめします。
ここでは、番外編としてWinActorEyeのOCR機能について簡単にご紹介します。
「WinActorEye(ウインアクターアイ)」は、WinActor Ver6.3から追加された画像認識機能です。
通常のマッチング機能の他に複数のマッチングやOCR機能を使用できます。
ただし、WinActorEyeの利用はやや難易度が高い傾向にあります。
本コラムでは、読取結果に焦点を当ててご紹介いたします。
具体的な使用方法については、WinActor関連マニュアルなどを参照してください。
※WinActor関連マニュアルは、Ver7.4.4以降のものとなります。
先に紹介したOCRマッチングと同じくWinActorEyeのOCR機能についてもMicrosoft OSに搭載されているMicrosoft OCRを利用しています。そのため、文字の抽出精度などはOCRマッチングと大きく変わりません。
実際にWinActorEyeのOCR機能で試してみましょう。
今回はサンプルとして下記を画像にしたものを3点を用意しました。
上記の画像ファイルを読み込み、結果を表示させるシナリオで確認していきます。
まずは、PDFファイル(画像にしたもの)を読み込んでみましょう。
当社のサンプル給与振込申込書を用意しました。手書き文字も含まれていますが、どのような結果になるでしょうか?
結果は下記のようになりました。
全体的に誤字や脱字が多く、手書き文字は全く認識されませんでした。
\設定した実際の動画はこちら/
【WinActorEye】OCR機能でPDFを読み取ってみた!
当社のホームページのQRコード(画像ファイル)を読み取ってみました。
こちらは正確に当社HPのURLが表示されました。
QRコードは比較的精度が高いようです。
\設定した実際の動画はこちら/
【WinActorEye】OCR機能でQRコードを読み取ってみた!
※バーコードの読み取りも同様の手順で行っています。
サンプルで用意したバーコード(画像)を読み取ってみました。
こちらも正確にバーコードの数字が表示されました。
QRコードやバーコードについては、比較的読み取り精度が高く活用できるシーンがありそうです。
WinActorのOCR機能はいかがでしたでしょうか。
OCRマッチングは「文字列」で判定するため、文字の色や大きさが変わっても認識できるというメリットがありますが、識字率はそれほど高くないようです。
OCRマッチング、画像マッチング、輪郭マッチングそれぞれの特徴を理解した上で、状況に合わせて使い分けることをおすすめします。
色々試してみたけどシナリオの作成がうまくいかない……という場合は、技術サポートを活用するのも一つの手です。
経験豊富なプロにシナリオの作成を支援してもらうことで効率的・効果的なWinActor活用を実現します。
WinActorのシナリオ作成に係る負担を減らしたい方やシナリオを安定稼働させたいとお考えの方はぜひ検討してみてはいかがでしょうか。
【このような方におすすめ】
・シナリオ作成に時間がかかるのでコツを教えてほしい。
・効率的なシナリオの作り方がわからないので技術支援をしてほしい。
・既存シナリオのメンテナンス、運用ができていない。
\RPA導入から運用におけるまで寄り添った技術サポート/
訪問またはオンラインにて様々なお悩みを解決します!
本コラム内容について
各コラムの内容は、執筆時点での情報を元にしています。
製品バージョンアップなどにより、最新ではない場合がありますので、最新の情報は、NTTアドバンステクノロジ株式会社や株式会社NTTデータの公式WinActorウェブサイトなどを参考にすることをおすすめいたします。
各ブログの内容は、利用することによって生じたあらゆる不利益または損害に対して、
弊社では一切責任を負いかねます。
一つの参考としていただき、利用いただく際は、各社のルール・状況等に則りご活用いただけますと幸いです。
※「WinActor®」は、NTTアドバンステクノロジ株式会社の登録商標です。
※Microsoft は、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。