はじめに
Form RecognizerやAI Builderを使いPower Appsで名刺読み取りアプリを作成したので、記事にまとめました。
Power AppsでForm Recognizerのコネクタを利用する詳しい方法は以下の記事に記載しています。
実装に必要なリソース
- Cognitive Services または Form Recognizer リソース(Azure)
Form RecognizerのコネクタをPower Appsで利用
フローの作成
フローを作成しPower Appsで実行します。
1. 作成のアクションでBase64の文字列をBinaryへ変換します。
入力の式を次の値に設定します(base64Stringはbase64文字列の変数などへ置き換えてください)。
base64ToBinary(triggerBody()['base64String'])
2. Form Recognizerのコネクタから"事前ビルドまたはカスタムモデル用のドキュメント分析(v3.0 API)"を追加し以下の設定をします。
- モデル識別子: "prebuilt-businessCard" ※名刺の事前構築モデル
- ドキュメント/画像のファイルコンテンツ: 1の出力
3. 2の結果を利用したい形へ変形し、"Power AppまたはFlowへ応答する"を追加します。
※2の結果の後続処理の内容はここでは割愛しています。
Power Appsでフローを実行する
※名刺の画像はマイクロソフトのForm Recognizer Studioのサンプル画像です。
Analyzeのボタンで作成したフローを実行し、画像の名刺をForm Recognizerで分析するように設定します。
ボタンのOnActionに次の値を入力します。フロー名は先ほど作成したものに置き換えます。
Set(result, 'フロー名'.Run(imgString.Result));
読み取り結果の修正や、CSVファイルへ出力の機能を追加することも可能です。
AI Builderで名刺を読み取る
Power PlatformのAI Builderを利用することで、容易にPower AppsでAIの機能を利用することが可能です。
AI Builderを利用するには別途ライセンスを購入する必要はありますが、Form Recognizerとは異なりフローなどを作成することなくAI Builderのコンポーネントを配置するだけで機能を使うことができます。
読み取り精度はForm Recognizerと変わらないので、フローの作成や分析結果のカスタマイズなどが必要ない場合は、AI Builderも利用可能です。
AI Builderのライセンスに関して:AI Builder のライセンス - AI Builder | Microsoft Learn
最後に
名刺によって読み取り精度に多少違いはありましたが、特殊なフォーマットの名刺でない限り事前構築モデルで精度よく読み取れていました。
また、縦書きの名刺でも読み取れるものもありました。
Power Appsで名刺読み取りなどの機能を利用する場合は、Form RecognizerとAI Builderの選択肢があるので、価格や開発コスト、カスタマイズの柔軟性などを比べながら選ぶのがよいかと思っています。