MuleSoft IDPってなに?OCRを超えるAIドキュメント処理!



こんにちは! エンジニアの虫明です。

最近、AIの勢いがすごいですよね!
お仕事でも、AIが当たり前に浸透してきているのを感じます。
ただ、ChatGPTとかClaudeとかは使い方のイメージがつきやすいですが、それ以外に業務で活用できるAIって...?
ってなると意外と思いつかなかったりもするのではないでしょうか?

そこで今日は事務作業の効率化にピッタリなMuleSoft製品、
MuleSoft IDP(インテリジェントドキュメント処理)についてご紹介します。

そもそも、MuleSoft IDPってなに?

MuleSoft IDPでできることを、大きく分けて2つご紹介します。

非構造化ドキュメントの読み取り・抽出

請求書、注文書、その他独自に定義したドキュメント内容を読み取り、
非構造化データを構造化することができる
PDFだけでなく、PNG・JPG・TIFF形式の画像で処理を行うことができる

請求書、注文書、履歴書、アンケートなどなど
文書としてもらった資料を、手入力でデータ化したり.....
量が多すぎる!とか、間違えてないかな?とか、どこ見てたんだっけ?とか....
人間が作業するには時間と集中力が必要で大変ですよね。

IDPにPDFや画像を渡せばどんなフォーマットの文書でも、すぐに内容を読み取ってデータ化することができます。

ドキュメント内容の分析・絞り込み

AIを使用して読み取ったデータの分析・絞り込みが可能
ドキュメント内容に対する自然言語での質問への回答や、ドキュメントの値そのもの以外にも、
値を使用した計算など、複雑な独自に定義した値を返却するようにプロンプトで指示することができる

ドキュメントの中で、 小計・税・合計が計算上合ってるかチェックしたい!とか
この請求書は支払期限を過ぎてる?とか
リスクになりそうな条項を抜き出してほしい!とか
契約書のフォーマットのページだけ内容抜き出してほしい!とか...

人が見て判断したり計算したり抜き出していたものを、AIが代わりにやってくれます。

実践!AIを使ってドキュメントを読んでみよう

IDPが何をしてくれるのかお話ししたところで....
実際の画面でサンプルドキュメントを使って、実際にやってみましょう!
※検証の内容は2025/12時点の内容です

作成画面

IDPを使って、DocumentActionというものを作成します。
DocumentActionが、ドキュメントを読み取るために動く機能になります。
読み取りたい項目やAIへのプロンプトを指定し、ドキュメントから読み取る内容を定義することができます。

★ポイント★ DocumentAction作成時にLLMを選択できるようになっています。
日本語の読み取りを行う場合、使用するLLMはGeminiに限定されています。
※2025/12時点


PDFの請求書

まずはPDFの請求書をIDPで読み込んだ場合です。

※本記事のスクリーンショットはすべて架空のサンプルデータを使用しています

1ページの中の単一データは「Fields」タブで定義します。
この各項目は対象となるドキュメントに合わせて、独自に定義することもできます。
わかりやすい項目であれば、項目名だけでも読み取りが可能ですが、
各項目に対してAIへのプロンプトを指定して、フォーマットの変換なども可能です。

★ポイント★ AIが解析してくれるので、自然言語でプロンプトまたは項目名を書くだけで意図した結果を取得してくれます。
厳密な記載ルールや記載位置を指定せずとも、AIが文脈から判断して返してくれるため、
設定に時間がかかりすぎる....ということもありません。


※本記事のスクリーンショットはすべて架空のサンプルデータを使用しています

1ページの中の表形式のデータなど、
同一項目が複数ある場合には「Tables」タブで定義します。
表が複数ある場合でも定義可能です。

手書きの納品書

次に手書きの納品書をスマホで撮影し、IDPで読み込んだ場合です。

※本記事のスクリーンショットはすべて架空のサンプルデータを使用しています

手書きならではの「000」「¥」が崩れた書き方や、
二重線で取り消して書き直した内容も正しく読み取っています。

★ポイント★ AIの読み取り結果には、値ごとに信頼度スコアがあります。
信頼度が閾値を下回る場合、ヒューマンレビューに回すことが可能です。
AIが自信のない部分は人が代わりに確認する仕組みが備わっているため、不正な値がそのまま使われてしまうことがなくて安心です。


特定の値の抽出

最後にPDFの中の特定のデータをIDPを使って取得してみましょう。

※本記事のスクリーンショットはすべて架空のサンプルデータを使用しています

全ての請求商品の中で最も単価が高いアイテムを特定し、その商品名と単価を返却してください。

という指示に対して、請求書内の注文一覧表から該当のアイテムの商品名、単価を抽出してくれています。
今回は自動でカンマ区切りになっていますが、フォーマットの指定も可能です。

MuleSoftを使ってもっと効率化


実際の画面で、簡単にドキュメントから値を抽出・構造化・分析ができることをお伝えしたところで....
でも他のシステムに保存とかもしたいし...他のシステムにあるドキュメントを使いたいし....など、もっと実業務寄りで活用したいですよね。

そんな時にはDocumentActionをAPI化して、MuleアプリケーションでIDPと外部システムを繋いでみましょう!
簡単なデモをご紹介します。
※デモの内容は2025/12時点の内容です

★ポイント★ DocumentActionは、ExchangeにPublishを行うことでAPIとして利用可能になります。
Muleアプリケーションだけでなく、RPA、Salesforce Flowなどからも呼び出し可能で、再利用可能であることが嬉しいポイントです。

デモ構成図




今回のデモの構成図です。
FAXで見積書を受領し、PDFとしてAWS S3に格納します。
MuleSoftからS3の見積書を取得し、IDPへ受け渡し見積書内容を取得、取得した内容をSalesforceに格納します。

AWSからドキュメント取得

MuleSoftを使って、AWS S3からドキュメントを取得します。



S3に見積書PDFが格納されていますね。



MuleアプリケーションからAWS S3のファイル内容を取得するためのGetFileContentsを使って、 見積書の中身を取得します。

IDPでドキュメント内容取得

AWS S3から取得したドキュメントをIDPへ渡し、ドキュメント内容を取得します。



作成済のDocumentActionに対して、まずはpostDocumentActionExecutionでドキュメントの内容を渡します。

このデモでは3社分のDocumentActionが定義されている為、取得したファイルごとに分岐しています。
それぞれのDocumentActionでは、異なるフォーマットの見積書を同じ形のJSONで返してくれるように指定をしています。



IDPでの解析内容をgetDocumentActionExecutionで取得します。
非同期で解析されているのがポイントです。
JSON形式でドキュメントの内容が構造化されて返却されています。

Salesforceにデータを格納

取得したドキュメント内容を、Salesforceに格納します。



取得したJSONを使って、Salesforceの見積書オブジェクトに格納します。
IDPから取得した時点で年月日などのフォーマットは揃えてくれているので、3社分の変換は不要で済みます。



無事、Salesforceにファイルの内容を格納することができました!

最後に

今回はMuleSoft IDPについてご紹介しました。
AIで業務効率の改善、というと難しそうで複雑そう.....に感じますが、
サービスの活用・組み合わせることで簡単に作業の効率化が可能です。

興味を持っていただけましたら幸いです♪
最後までお読みいただき、ありがとうございました!