3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

株式会社ネオシステムAdvent Calendar 2024

Day 22

【Power Apps】カスタムプロンプトとOCRを使ってデータ入力を簡単にする方法

Last updated at Posted at 2024-12-20

Power Apps でカスタムプロンプトが使えるようになりました。
そこで今回は、以前から使用できるOCR機能と組み合わせて、データ入力を簡単にする方法をご紹介します。
データの入力項目が多い場合は役立つ方法ですので、最後まで見てもらえると嬉しいです!

目次

  1. 事前準備
  2. OCRアプリ作成
  3. カスタムプロンプト作成
  4. カスタムプロンプトをアプリで使用
  5. 動作確認
  6. 参考資料

事前準備

今回は、食べ物の商品の裏面から、栄養素を自動で入力するアプリを作成します。

まずは、データを入力するためのテーブルをDataverseに用意します。
Copilotを使ってテーブルを自動生成してもらいました。
Copilotで作った場合、サンプルデータも自動で用意してくれるのがありがたいですよね!

image.png

Copilotを使ったテーブル生成方法は以下を参考にしてください。

OCRアプリ作成

さっそくアプリを作っていきましょう。
OCR機能を使ったアプリ作成は、AIモデルから選ぶと簡単に作成することができます。

image.png

OCRの詳細は以下を参考にしてください。

「写真やPDFドキュメントからすべてのテキストを抽出する(OCR)」を選択し、「事前構築済みモデルを利用する」の「アプリ内で使う」を選択すると、アプリ開発画面へ遷移します。

image.png

試しに使用する画像を用意しておきます。
普段よく食べるタブレットを写真を撮影しました。

DSC_002290.JPG

アプリ開発画面では既に写真をアップロードするためのコンポーネントが用意されているはずです。
そこでプレビュー画面を開き、先ほど撮影した写真を入れてみましょう。

その後にテキストラベルを用意し、Textに「TextRecognizer1.FullText」と入力するとOCRで読み取った全てのテキストが出力されます。

image.png

このフルテキストはカスタムプロンプトで使用するのでコピーしておきましょう。

カスタムプロンプト作成

アプリ開発画面とは別にPower Apps画面を立ち上げます。

プロンプト作成方法はこちらを参考にしました。

今度はAIプロンプトから「独自のプロンプトを作成する」を選択します。

image.png

右側にあるアイコンの中から一番上を選択すると入力データを追加できます。
名前を「OCRデータ」にします。
サンプルデータは先ほどコピーしたOCRデータをペーストしておきます。

image.png

入力データはプロンプトで「/」を入力すると選択可能です。

image.png

プロンプトの結果はアプリ内で使用するためJSON形式にします。
右側の上から3つ目のアイコンで出力形式を変えられます。

image.png

プロンプトは以下のように設定しました。
出力するJSONのキーは英語をおすすめします。

/OCRデータ から、商品名、エネルギー(kcal)、タンパク質(g)、脂質(g)、炭水化物(g)を正確に抜き出してJSON形式で出力してください。

(例)
{
"name": "おにぎり"
"energy": 200,
"protein": 10,
"lipid": 10,
"carbohydrate": 10
}

テストをすると期待通りの結果が得られました。

image.png

最後に名前をつけてカスタムプロンプトを保存します。

カスタムプロンプトをアプリで使用

OCRアプリに戻ります。
左にあるアイコンの「データ」から「データの追加」を選択します。
AIモデルから、先ほど作成したカスタムプロンプトを選択します。

image.png

出てこない場合は、AIモデル横の三点から「最新の情報に更新」を押してからもう一度探してみましょう!

image.png

TextRecognizer1のOnchengeで図のように変数をセットします。
ここでカスタムプロンプトを呼び出し、構造化された出力データを受け取っています。
この状態でプレビュー画面を開き、もう一度画像をアップロードしてみます。

image.png

OCRDataという変数の中身を見ると、カスタムプロンプトの結果をレコード形式でキャッチできているのがわかるかと思います。

image.png

最後にこの変数をフォームの中にセットします。
フォームを追加して各入力項目のDefault値をOCRDataのいずれかの値に設定します。

image.png

image.png

動作確認

アプリを動かしてみましょう。
今回はこちらの写真を使ってみます。

DSC_0165.JPG

パッケージがよれていてOCR機能が正常に動くか怪しいですが、
正常に読み込めました。

image.png

たんぱく質の表記が漢字になっていましたが、生成AIがフォローしてくれるので多少の表記ゆれにも対応できそうな気がしています!
今回はフード商品の一括表示を題材にしましたが、幅広いシーンで応用が利くのではないでしょうか?
ローコードでOCRを使ったアプリができる点もおすすめポイントです!
皆さんも試しに使ってみてください!

参考資料

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?