AI Builderで作ったドキュメント処理モデル(OCR)のカスタムモデルを作成し、Power Automateから呼び出してみたので、方法をメモ。
ドキュメント処理モデル
AI Builderのドキュメント処理モデルを使用すると、PDFやPNGなどのドキュメントからテキストや数字、日付といった情報を抽出できる。
今回はこのドキュメント処理モデルを使って、請求書の情報を読み取り、その情報をPower Automateから使ってみる。
対象とする請求書
今回はこの形式の請求書のみを読み取れる(固定フォーマット)モデルを作成。


ここから「請求金額」「支払期日」「商品(複数)」を抽出して、Power Automateで使用する。
カスタムモデルの構築
まずは請求書を読み取るカスタムモデルを以下の手順で構築。
- ドキュメントの種類の選択
- 抽出する情報を指定
- サンプルドキュメントのアップロード
- サンプルドキュメントと抽出する情報を紐づけ
- トレーニングと公開
ドキュメントの種類の選択
[AIハブ]の[AI モデル]から、


[ドキュメントからカスタム情報を抽出する]を選択し、


[カスタムモデルを作成する]を押す。


今回は「固定テンプレート」を選択。


抽出する情報を指定
続いて抽出する情報を追加していく。


「請求金額」を読み取る数値フィールドと、




「支払期日」を読み取る日付フィールを追加。




最後に「商品(複数あり)」を抽出するための「テーブル」を追加し、


列の追加から「商品名(テキスト)」、


「数量(数値)」、


「単価(数値)」「金額(数値)」を追加し、完了。


サンプルドキュメントのアップロード
そしたらサンプルの請求書を追加していく。[新しいコレクション]から[ドキュメントの追加]を選び、


サンプルの請求書(最低5つ)をアップロードする(SharePointとかから選ぶことも可)。


サンプルドキュメントと抽出する情報を紐づけ
最後に追加したサンプル請求書に対し、抽出する情報をタグ付けしていく。
まずは「請求金額」の数字をクリックして、


この数字は「請求金額」であることをタグ付け。


続いて「支払期日」。日本語の日付は自動で読み取ってはくれないので、日付部分を範囲選択し、


この部分が「支払期日」であることをタグ付けする。


最後に「商品」。商品が記載されている範囲をヘッダ含めて選択し(ヘッダを含めずに選択する方法もあるけど割愛)、


「商品」とタグをつける。


すると商品と列を一つずつ指定(分割)できる画面になるので、


こんな感じでヘッダと各商品、各列を分割する(縦線はCtrl + クリックで引ける)。


最後に各列に一つずつ「商品名」や「数量」といったタグをつけて、


すべての列にタグをつけたら[最初の行を無視]をオンにして、完了。


このタグ付け作業をアップロードしたすべてのドキュメントに実施する。


トレーニングと公開
すべての設定が完了したら、トレーニングを実施。


トレーニングが完了して必要な精度が出たら、モデルに適当な名前を付けて、


[公開]したらモデルの作成は完了。


Power Automateから呼び出す
最後にPower Automateから作成したカスタムモデルを呼び出す。
SharePointとかに請求書を置いて、


この請求書のファイルコンテンツを取得、


[ドキュメントを処理する]アクションから、


作成したAIモデルを選択し、[フォーム]に取得したファイルコンテンツを指定する。


すると構築したモデルが請求書から情報を抽出してくれるので、


あとは後続のアクションで抽出した情報を使用するだけ。


ということで、非常に簡単にOCRをPower Automateに組み込むことができた。
AzureのDocument Intelligenceを使用してもいいけど、こんなに簡単に使えるのはAI Builderの強みかと。
コメント