Workato：IDP by Workatoでドキュメントを自動で仕分ける

# IDP by Workatoとは
「IDP (Inteligent Document Processing) by Workato」は、画像やPDFからデータを抽出し、自動化ワークフローに組み込むための強力な**AI OCR**機能を備えたコネクターです。
定型・非定型を問わず、請求書や領収書のほか、任意のドキュメントから必要な情報を効率的に取得し、業務プロセスを最適化できます。

# IDPの「読み取り」機能：指定した形式でデータを抽出
ファイル内容を読み取るには「**Process a document using IDP by Workato**」というアクションを使用します。

「Document type」で指定した書類の種類と、「Fields to identify」で設定した抽出フィールドに基づいて、必要な情報をピンポイントで読み取ってくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/01f30d04-66ff-4519-8f93-bb8c360e1d8c.png)


これは、例えば「このファイルは請求書だから、発行日と合計金額を取ってきて！」と具体的に指示するイメージです。

より具体的な設定方法や読み取り精度に関する検証は、以下の記事で解説しています。

https://qiita.com/tabimoba/items/e1cdc12256dfad7e5da0

https://qiita.com/tabimoba/items/54ffc285cd3cddd9e55c

# IDPの「仕分け」機能：書類の種類を自動で判別
この他に、「**Classify a document using IDP by Workato**」というアクションも存在します。
こちらは、事前に定義したカテゴリー（例：請求書、領収書、契約書など）のいずれかに、AIが自動でドキュメントを振り分けてくれる機能です。
本記事では、この機能をシンプルに**仕分けアクション**と呼びます。

## 仕分けの重要性
「読み取り」アクションは、事前に定義したスキーマに基づいて動作します。そのため、レシピの入り口で 『このファイルは〇〇（特定の書類）だ！』と**種類を特定できる** ことが前提でした。これは、運用においては少し制約になる場合があります。
（例えば、ファイルの種類ごとに専用の格納場所を用意したり、ファイル名やメタデータに種類を示す厳密なルールを設ける必要があったりします）

そこで、「仕分け」アクションを手前に置くことで、対象ドキュメントの種類をAIが動的に識別し、その後の処理を分岐させることが可能になります。結果として、幅広い種類のドキュメントを一元的に受け入れ、それぞれに最適な自動化ワークフローへ繋げられるようになります。

## 活用イメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/7a96586f-7dcc-4a88-b008-4df1af716cca.png)

## こんな時に助かる
具体的には、こんな場面で役立ちます。
- 複数の異なる種類のドキュメントが、同じ場所に保管されている可能性がある
- ファイル名に一定のルールはあるものの、徹底されておらず、誤った命名のファイルが混在している
- 処理すべきドキュメントの量が膨大で、手動での仕分けが困難である


# 仕分けアクションの使い方
## 設定方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/6b90acab-57ea-4d9d-a970-9ea6bbf9887c.png)

## 実行結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/f512d6df-efd1-47c7-807e-dd09817408bf.png)

# 仕分けの精度を検証してみる
この「仕分け」アクションが実際にどの程度の精度でドキュメントを識別できるのか、具体的な検証を通して確認していきます。
ここからは、実際の業務で想定されるパターンを3つに分け、それぞれの状況におけるAIの仕分け能力を検証していきます。


## 検証１. 異なるフォーマットの書類は確実に仕分けられるか？
まず、見た目も構造も大きく異なる一般的なビジネス文書が、正しく識別されるかを確認します。
対象：**請求書、領収書**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/d0b8e9d8-3703-4522-ac99-a084a1d5a915.png)

### 仕分けアクションの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/5836b5c7-1148-41aa-b386-cf41e4ebcbbb.png)

### 仕分け結果
仕分けに成功しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/a3b0f782-4d38-43cc-9077-e566cca0db32.png)

## 検証２. 類似するビジネス文書を仕分けられるか？
次に、構成要素や記載項目が似通っている書類の判別能力を試します。
実際の業務では、似たようなフォームが多いため、この識別精度が実用性を大きく左右します。
対象：**注文書、注文請書**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/4306bede-04a2-4ced-88aa-3673623aa241.png)

### 仕分けアクションの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/613bfd5d-2024-4b57-8b9d-6b04b974a6a6.png)

### 仕分け結果
仕分けに成功しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/4061e703-b754-4378-9ecc-d34273316924.png)

実は、カテゴリー名(Category)の設定だけでは、どちらも「発注書」に仕分けられてしまいました。
そこで、**カテゴリーの説明(Description)** を設定したところ、期待した通りに仕分けされました。

## 検証３. 同じ目的で異なる表現を持つファイルの仕分けは？
最後に、同じ「アンケート」というカテゴリに属しながらも、フォーマットや表現方法が異なる文書の仕分けに挑戦します。特に、自由記述の割合や評価尺度の有無といった「表現のバリエーション」にAIがどれだけ対応できるかを探ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/dd072a70-6c19-4627-b709-c69e17d65bf8.png)

### 仕分けアクションの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/55acd83f-fa3c-439d-ba3e-d44000a3ef69.png)

### 仕分け結果
仕分けに成功しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3778017/eb361ba0-feee-40e9-b78e-95f991195fbb.png)

# まとめ
IDP by Workatoの「仕分け」アクションを使えば、ドキュメントの種類を自動で判別できます。
- ある程度はカテゴリー名(Category)のみで仕分け可能
- 精度を高めたいなら、カテゴリーの説明(Description)を設定する

もし独自の帳票を使う場合は、ヘッダーやフッターに帳票番号などを印字しておくことをおすすめします。そうすることで、同じ帳票番号をセットした「Description」を補助情報として活用でき、仕分け精度のさらなる向上が期待できます。

## 参考リンク

本記事の検証では、以下のリンク先の書類テンプレートを使用しました。

https://www.freee.co.jp/kb/template/

https://www.robotpayment.co.jp/service/mikata/template/invoice/10.html