はじめに
- 本記事は、レシートの読み取り記事の続きです。
- 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
- 製品仕様や参考画像は 24.10 バージョンのもので構成しています。
抽出編
まず、先回の確認結果からOCRでデジタル化する部分では十分な精度が出ることはわかっています。
今回は、抽出をどのアクティビティ(またはソリューション)でやっていくのがよいのか確認していきます。
抽出器毎の考察:
- フォーム抽出器 → × (レシート自体が性質上定型でないため)
- マシンラーニング抽出器(特化型モデル抽出) → △ (後段に書きますが、いまいま用意されている事前学習済みモデルだと明細は抽出しますが、標準フィールドは電話番号しか抽出されなかった。 つまり、どのくらい改善するか不明ですがモデルのトレーニングが必須です。)
- 生成AI抽出器 → ○ (そもそも非定型用の抽出器なので相性が良く、簡単なプロンプト指示だけで欲しい情報が取得できた。)
特化型モデル(事前学習済みモデル)による予測結果
明細情報と電話番号のみ抽出できています。明細の品名については、存在しないはずの縦罫線でもあるのか?、品名の文字列の途中までしか抽出されません。
生成AI抽出による予測結果
抽出対象に設定したフィールドのうち、実際に存在しないものを除いてすべて抽出できています!品名も正確に抽出できています。
生成AI抽出器で実装してみた↓↓
今回は次の項目を抽出してみます。
- レシートの発行者
- 支払金額
- 税額
- 明細
まずは標準フィールドを「生成AI抽出器」で取得してみます。
レシート上、税率8%と10%で税額は2行になっているのですが、税額として足し合わせた数字を抽出してくれました!
次に明細フィールドを「GenAI」の「コンテンツ生成」アクティビティで抽出します。
※「生成AI抽出器」は表データのプロンプト設定ができないためです。
最初の説明文が不要なのと、ヘッダーがないとわかりづらいため、次の様にプロンプトを修正します。
"次のレシートのテキストデータの中から、明細データをカンマ区切りで出力してください。出力はヘッダーと明細データのみでお願いします。→"+ドキュメントテキスト
バッチリですね!!
さいごに
いかがでしたでしょうか。
生成AI抽出をもちいることで、デジタル化>コンテンツ生成の2つのアクティビティだけで値抽出を実現できます!
レシートに限らず様々なドキュメントで簡単に応用できるとおもいますので、興味が沸いた方は是非是非お試しください。
最後までお読みいただきありがとうございます(・ω・)ノ