コラム 「RPAの気になる話」

Power Automate Desktopで新幹線領収書をOCR処理してみました

2021.09.06

前回のコラムではWinActorEyeで新幹線領収書をOCRで読み取る検証をしてみました。「Microsoft Power Automate Desktopではどうなの?」という質問をいただいたので、同じように試してみました。

 

検証で使ったのは前回と同じ新幹線領収書。ここからOCRで金額・出発地・到着地等を取得し、結果をExcelに出力してみます。

  1. OCRの選択とインストール
  2. 読み取り前の準備
  3. Power Automate Desktopワークフローの作成
  4. 使ってみた所感

の順で説明していきます。

 

1. OCRの選択とインストール

Power Automate Desktopで用意されているOCRエンジンは

  • Tesseract OCR
  • MODI OCR

2つ。このどちらかをOCRエンジンとして定義してから「OCRを使ってテキストを抽出」というアクションで文字列を取り出します。

 今回はTesseract OCR を選択。Tesseractは、オープンソースで開発されてるOCRエンジンで、今回の検証では現時点で最新版のv5.0を使っています。日本語の読み取りを可能にするには、インストールの中で日本語関連コンポーネントをチェック(選択)します。インストール手順はスライドでご覧ください。

ちなみに、MODI OCRを利用するにはOffice 2007に含まれていたMicrosoft Office Document Imagingが必要になります。

 

2. 読取前の準備

領収書はPDFなので、これをPNGに変換します。ペイント系アプリにPDFを読み込んで、PNGに保存します。OCRエンジンによってPDFが読める・読めない、利用できる画像フォーマットが限られるということがあるので、注意したいポイントです。

 

3. Power Automate Desktopワークフローの作成

OCRに関連する部分だけ抜粋して説明します。

 ステップ1:アクション「Tesseract OCRエンジンを作成」を配置

それぞれのパラメータは次のようにセットします。

  • 「他の言語を使う」をONにする
  • 「言語の省略形」は「jpn」と入力する
  • 「言語データパス」にはインストールしたTesseract OCRのデータが入っているパス(これの例では C:\Proguram Files\Tessadata)を入力する 

ステップ2:アクション「OCRを使ってテキストを抽出」を配置

文字列の領域の左上(X1, Y1)、右下(X2, Y2)の座標を指定します。

 下図の例で座標の取り方を説明します。例えば、ターゲットになる金額「\14,250」の左上に選択カーソルを置くと、下にカーソルの座標ピクセル値が表示されるので、これを(X1, Y1)とします。同じように金額「\14,250」の右下に選択カーソルを置いて(X2, Y2)とします。

 

ステップ3:アクション「Excelワークシートに書き込み」で取得したTextを出力

この例だと取得したTextの変数名は「OcrText_BoardingDate」になっており、これをExcelB列に設定しています。

 

ワークフロー全体

ワークフロー全体は右のようになります(画像をクリックすると別タブで大きく表示できます)。

  1. 領収書JPEG画像の入っているフォルダを指定
  2. OCRエンジンを作成
  3. テンプレートExcelを起動
  4. 記載する最初の行を取得する
  5. JPEG画像があるだけ以下を繰り返す
    1. JPEG画像からOCRにてテキストを取得する
    2. Excelに1件分を記載する
    3. 行カウンタを1UPする
  6. 現在日付を取得する
  7. 日付の形式をテキストに変換する
  8. 保存するExcelファイルの名前を生成する
  9. 名前を付けてExcelファイルを保存して閉じる


(クリックで拡大)

4. 使ってみた所感

OCRエンジンのインストールや、PDFから画像への変換など、OCRを利用できるようになるまでに、やや手間取りました。

各項目(今回の検証では金額や出発地、到着地など)を読み取るために1項目ずつ座標設定するということは、読み取り座標に変更がないという前提で使うことになり、使い処が限定されるかもしれません。帳票や領収書のレイアウトに関係なく、日付や金額の位置を自動判別するOCRエンジンが主流になりつつあるので、OCRエンジンの選択時に考慮したほうがいいでしょう。

文字列が正しく読み取れるかどうかという基本性能も重要です。今回の検証では読み取り間違いがいくつかありましたが、手書きがあるかどうか、英語や中国語が混在するかどうか、スマホ撮影の画像かどうかなど、ちょっとした変化で読み取り精度は変わってきます。「読み取り精度 ○○パーセント」という表示に惑わされることなく、自社のシステム環境や扱う伝票・領収書で試してみて正しく読みとれるかどうかを事前検証することが必要でしょう。

 

**

この検証は4月末のものですが、Power Automate、Power Automate Desktopはアップデートが頻繁に行われています。最新情報はブログで公開されているので、これからも注視していきたいと思います。

7月のアップデート Power Automate Desktop July 2021 update

8月のアップデート Power Automate Desktop August 2021 update

 

このコラムの執筆者

株式会社シーエーシー
アドバンスドテクノロジー本部
佐藤 栄恵

長らく汎用系(メインフレーム)でCOBOL、PL-I、Delphiなどの開発を担当してましたが、いきなりの方向転換でRPAチームに参加しました。現在は顧客の管理管掌部門での業務改善の一環としてWinActor、Amazon WorkSpaces、WinActor Manager On Cloud(MoC)周りの設定・管理を行いつつ、ユーザ研修からシナリオ作成、MoCでのスケジュール実施のお手伝いをしております。

RPA技術レポート無料ダウンロード

UiPath・WinActor製品比較表
UiPath・WinActor製品比較表
ダウンロード ダウンロード
RPAワンストップサービス 導入事例ブック
RPAワンストップサービス 導入事例ブック
ダウンロード ダウンロード
RPAセミナー動画アーカイブ(URLとアクセスコード)
RPAセミナー動画アーカイブ(URLとアクセスコード)
ダウンロード ダウンロード

CAC RPAセミナー

水曜お昼30分、オンライン・無料で開催。RPAで業務自動化・改善を進めるためのヒントをお届けします。

RPAオンラインセミナー

よくある質問(FAQ)

Q どんなセミナーがあるか教えてください。
A

9月は「もう止まらせない!UiPathワークフローの作り方」「RPA組織論:全社で業務改善するならCoE導入という選択肢」「RPAに向く業務・向かない業務別 業務自動化攻略法」の3つのセミナーを週替わりで行っています。

Q セミナー受講後、個別に相談はできますか?
A

はい、できます。こちらのフォームから打ち合わせ時間をご予約下さい。担当者からご連絡させていただきます。

セミナーに申し込む