ドキュメント インテリジェンスのカスタム分類モデル
重要
- Document Intelligence パブリック プレビュー リリースは、開発中の機能への早期アクセスを提供します。 機能、アプローチ、およびプロセスは、一般提供 (GA) の前に、ユーザーからのフィードバックに基づいて変更される可能性があります。
- Document Intelligence クライアント ライブラリのパブリック プレビュー バージョンは、REST API バージョン 2024-07-31-preview にデフォルトで設定されています。
- パブリック プレビュー バージョン 2024-07-31-preview は、現在、次の Azure リージョンでのみ使用できます。 AI Studio のカスタム生成 (ドキュメント フィールド抽出) モデルは、米国中北部リージョンでのみ使用できます。
- 米国東部
- 米国西部 2
- "西ヨーロッパ"
- 米国中北部
このコンテンツの適用対象: v4.0 (プレビュー) | 以前のバージョン: v3.1 (GA)
このコンテンツの適用対象: v3.1 (GA) | 最新バージョン: v4.0 (プレビュー)
重要
2024-07-31-preview
API、カスタム分類モデルでは、既定では分析プロセス中にドキュメントは分割されません。- 以前のリリースのビヘイビアーを保持するには、
splitMode
プロパティを auto に明示的に設定する必要があります。splitMode
の規定値はnone
です。 - 入力ファイルに複数のドキュメントが含まれている場合は、
splitMode
をauto
に設定して分割を有効にする必要があります。
Azure AI Document Intelligence は、クラウドベースの Azure AI サービスで、インテリジェントなドキュメント処理ソリューションの構築を可能とします。 Document Intelligence API は、画像、PDF、その他のドキュメント ファイルを分析して、さまざまなコンテンツ、レイアウト、スタイル、セマンティック要素を抽出および検出します。
カスタム分類モデルは、レイアウト機能と言語機能を組み合わせて、アプリケーション内で処理するドキュメントを正確に検出して識別するディープ ラーニング モデル型です。 カスタム分類モデルは、入力ファイル内の各ページを分類してその中のドキュメントを識別し、入力ファイル内の複数のドキュメントまたは 1 つのドキュメントの複数のインスタンスを識別することもできます。
モデル機能
Note
2024-02-29-preview
API 以降、カスタム分類モデルでは増分トレーニングがサポートされています。 新しいサンプルを既存のクラスに追加したり、既存の分類子を参照して新しいクラスを追加したりできます。
カスタム分類モデルでは、単一ファイルまたは複数ファイルのドキュメントを分析して、トレーニング済みのドキュメントの種類のいずれかが入力ファイル内に含まれているかどうかを識別できます。 現在サポートされているシナリオを次に示します。
融資申込みフォームなどの、1 つのドキュメントの種類を含む 1 つのファイル。
複数のドキュメントの種類を含む 1 つのファイル。 たとえば、融資申込みフォーム、給与明細、口座取引明細書を含む融資申込みパッケージ。
同じドキュメントの複数のインスタンスを含む 1 つのファイル。 たとえば、スキャンされた請求書のコレクションです。
✔️ カスタム分類子をトレーニングするには、少なくとも two
個別のクラスと、クラスごとに最小限の five
のドキュメント サンプルが必要です。 モデル応答には、識別されたドキュメントの各クラスのページ範囲が含まれます。
✔️ 許容されるクラスの最大数は 500
です。 クラスあたりのドキュメント サンプルの最大数は 100
です。
特に指定がない限り、モデルは、入力ドキュメントの各ページを、ラベル付きデータセット内のいずれかのクラスに分類します。 入力ドキュメントで分析するページ番号を指定することもできます。 アプリケーションのしきい値を設定するには、応答の信頼度スコアを使用します。
増分トレーニング
カスタム モデルでは、分類子を既存のクラスの新しいサンプルで更新したり、新しいクラスを追加したりするには、トレーニング データセットへのアクセスを維持する必要があります。 分類子モデルでは、既存の分類子を参照して既存のクラスに新しいサンプルを追加したり、サンプルを含む新しいクラスを追加したりできる増分トレーニングがサポートされるようになりました。 増分トレーニングを使用すると、データ保持が困難かつ変化するビジネス ニーズに合わせて分類子を更新する必要があるシナリオへの対応が可能になります。 増分トレーニングは、API バージョン 2024-02-29-preview
以降でトレーニングされたモデルでサポートされます。
重要
増分トレーニングは、同じ API バージョンでトレーニングされたモデルでのみサポートされます。 モデルを拡張しようとしている場合は、元のモデルがトレーニングされた API バージョンを使用してモデルを拡張してください。 増分トレーニングは、API バージョン 2024-07-31-preview 以降でのみサポートされます。
増分トレーニングでは、元のモデル ID を baseClassifierId
として指定する必要があります。 増分トレーニングの使用方法の詳細については、「増分トレーニング」を参照してください。
Office ドキュメントの種類のサポート
PDF、画像、Word、PowerPoint、Excel などのさまざまな形式のドキュメントの種類を認識するように分類子をトレーニングできるようになりました。 トレーニング データセットを組み立てるときに、サポートされている任意の種類のドキュメントを追加できます。 分類子では、特定の型に明示的にラベルを付ける必要はありません。 ベスト プラクティスとして、モデルの全体的な精度を向上させるために、トレーニング データセットに各形式のサンプルが少なくとも 1 つ含まれるようにします。
カスタム分類モデルと作成済みモデルを比較する
カスタム分類モデルは、一部のシナリオで作成済みモデルに取って代わることができますが、注意すべき違いがいくつかあります。
機能 | カスタム分類子プロセス | 構成済みモデル プロセス |
---|---|---|
抽出モデル処理用にトレーニングされたいずれかの型に属する不明な型の 1 つのドキュメントを分析します。 | ● 複数の呼び出しが必要です。 ● ドキュメント クラスに基づいて分類モデルを呼び出します。 この手順では、抽出モデル分析を呼び出す前に信頼度ベースのチェックを行うことができます。 ● 抽出モデルを呼び出します。 |
● 入力ドキュメント タイプに対応するモデルを含む構成済みモデルを 1 回呼び出す必要があります。 |
抽出モデル処理用にトレーニングされたいくつかの型に属する不明な型の 1 つのドキュメントを分析します。 | ● 複数の呼び出しが必要です。 ● 抽出のために指定された種類と一致しないドキュメントを無視する分類子を呼び出します。 ● 抽出モデルを呼び出します。 |
● 構成済みモデルを 1 回呼び出す必要があります。 このサービスは、構成済みモデル内で一致が最も高いカスタム モデルを選択します。 ● 構成済みモデルはドキュメントを無視できません。 |
抽出モデル処理用にトレーニングされたいずれかの種類に属する既知または不明の種類の複数のドキュメントを含むファイルを分析します。 | ● 複数の呼び出しが必要です。 ● 入力ファイル内の識別されたドキュメントごとに抽出モデルを呼び出します。 ● 抽出モデルを呼び出します。 |
● 構成済みモデルを 1 回呼び出す必要があります。 ● 構成されたモデルは、ドキュメントの最初のインスタンスでコンポーネント モデルを 1 回呼び出します。 ● 残りのドキュメントは無視されます。 |
言語のサポート
分類モデルでは、現在、英語のドキュメントのみをサポートしています。
分類モデルは、さまざまな言語のドキュメントでトレーニングできるようになりました。 完全な一覧が必要な場合、サポートされている言語に関するページを参照してください。
入力の要件
サポートされているファイル形式:
モデル | イメージ:jpeg/jpg 、png 、bmp 、tiff 、heif |
Microsoft Office: Word (docx)、Excel (xlxs)、PowerPoint (pptx) |
|
---|---|---|---|
読み込み | ✔ | ✔ | ✔ |
Layout | ✔ | ✔ | ✔ (2024-02-29-preview、2023-10-31-preview、およびそれ以降) |
一般的なドキュメント | ✔ | ✔ | |
事前構築済み | ✔ | ✔ | |
カスタム抽出 | ✔ | ✔ | |
カスタム分類 | ✔ | ✔ | ✔ |
最適な結果を得るには、ドキュメントの種類ごとに 5 つの鮮明な写真または高品質のスキャンを提供してください。
PDF および TIFF の場合、最大 2,000 ページを処理できます (Free レベルのサブスクリプションでは、最初の 2 ページのみが処理されます)。
ドキュメントを分析するためのファイル サイズは、有料 (S0) レベルでは 500 MB、無料 (F0) レベルでは 4 MB です。
画像のディメンションは、50 x 50 ピクセルから 10,000 x 10,000 ピクセルの間である必要があります。
PDF がパスワードでロックされている場合は、送信前にロックを解除する必要があります。
抽出するテキストの最小の高さは、1024 x 768 ピクセルのイメージの場合は 12 ピクセルです。 このディメンションは、1 インチあたり 150 ドット (
DPI
) で約8
ポイントのテキストに相当します。カスタム モデル トレーニングにおけるトレーニング データの最大ページ数は、カスタム テンプレート モデルの場合は 500、カスタム ニューラル モデルの場合は 50,000 です。
カスタム抽出モデル トレーニングにおけるトレーニング データの合計サイズは、テンプレート モデルの場合は 50 MB、ニューラル モデルの場合は 1GB です。
カスタム分類モデル トレーニングの場合、トレーニング データの合計サイズは 1 GB で、最大 10,000 ページです。
サブドキュメントの分割
ファイルに複数のドキュメントがある場合、分類子は入力ファイルに含まれるさまざまなドキュメントの種類を識別できます。 分類子の応答には、ファイル内に含まれる識別されたドキュメントの種類ごとにページ範囲が含まれます。 この応答には、同じドキュメントの種類のインスタンスを複数含めることができます。
analyze
操作に、分割動作をきめ細かく制御できる splitMode
プロパティが含まれるようになりました。
- 入力ファイル全体を分類用の単一のドキュメントとして扱うには、splitMode を
none
に設定します。 その場合、サービスは入力ファイル全体に対して 1 つのクラスのみを返します。 - 入力ファイルの各ページを分類するには、splitMode を
perPage
に設定します。 サービスは、各ページを個別のドキュメントとして分類しようとします。 - splitMode を
auto
に設定すると、サービスはドキュメントと関連するページ範囲を識別します。
ベスト プラクティス
カスタム分類モデルでは、トレーニングするためにクラスごとに最低 5 つのサンプルが必要です。 クラスが似ている場合は、追加のトレーニング サンプルを追加すると、モデルの精度が向上します。
分類子は、各ドキュメントをいずれかのクラスに割り当てようとします。トレーニング データセットの一部であるクラスに含まれていないドキュメントの種類がモデルに表示される場合は、分類スコアのしきい値を設定するか、ドキュメントの種類のいくつかの代表的なサンプルを "other"
クラスに追加することを計画する必要があります。 "other"
クラスを追加すると、不要なドキュメントが分類子の品質に影響を与えなくなります。
Training a model
カスタム分類モデルは、v4.0: 2024-02-29-preview、2024-07-31-preview および v3.1: 2023-07-31 (GA) API でサポートされています。 Document Intelligence Studio には、カスタム分類子を対話形式でトレーニングするためのコードなしのユーザー インターフェイスが用意されています。 開始するには、攻略ガイドに従ってください。
REST API を使用する場合、ドキュメントをフォルダー別に整理する場合は、要求の azureBlobSource
プロパティを使用して分類モデルをトレーニングできます。
https://{endpoint}/documentintelligence/documentClassifiers:build?api-version=2024-02-29-preview
{
"classifierId": "demo2.1",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/car-maint/"
}
},
"cc-auth": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/cc-auth/"
}
},
"deed-of-trust": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/deed-of-trust/"
}
}
}
}
https://{endpoint}/formrecognizer/documentClassifiers:build?api-version=2023-07-31
{
"classifierId": "demo2.1",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/car-maint/"
}
},
"cc-auth": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/cc-auth/"
}
},
"deed-of-trust": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/deed-of-trust/"
}
}
}
}
または、ファイルのフラット リストがある場合、または各フォルダー内で選択したファイルをいくつか使用してモデルをトレーニングするだけの場合は、azureBlobFileListSource
プロパティを使用してモデルをトレーニングできます。 この手順では、JSON Lines 形式の file list
が必要です。 クラスごとに、トレーニング用に送信するファイルの一覧を含む新しいファイルを追加します。
{
"classifierId": "demo2",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/car-maint.jsonl"
}
},
"cc-auth": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/cc-auth.jsonl"
}
},
"deed-of-trust": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/deed-of-trust.jsonl"
}
}
}
}
たとえば、ファイルの一覧 car-maint.jsonl
には、次のファイルが含まれています。
{"file":"classifier/car-maint/Commercial Motor Vehicle - Adatum.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Fincher.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Lamna.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Liberty.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Trey.pdf"}
モデルの上書き
Note
2024-07-31-preview
API 以降、カスタム分類モデルでは、モデルのインプレース上書きがサポートされています。
これで、カスタム分類をインプレースで更新できるようになりました。 モデルを直接上書きすると、既存モデルの置き換えを決定する前にモデルの品質を比較する機能が失われます。 モデルの上書きは、allowOverwrite
プロパティが要求本文で明示的に指定されている場合に許可されます。 このアクションが実行されると、上書きされた元のモデルを復旧することはできません。
{
"classifierId": "existingClassifierName",
"allowOverwrite": true, // Default=false
...
}
モデルをコピーする
Note
2024-07-31-preview
API 以降、カスタム分類モデルでは、次のいずれかのリージョンとの間でのモデルのコピーがサポートされています。
- 米国東部
- 米国西部 2
- "西ヨーロッパ"
モデルを別のリージョンにコピーするには、REST API または Document Intelligence Studio を使用します。
コピー承認要求を生成する
次の HTTP 要求では、ターゲット リソースからコピー承認を取得します。 ご自分のターゲット リソースのエンドポイントとキーをヘッダーとして入力する必要があります。
POST https://myendpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers:authorizeCopy?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}
要求本文
{
"classifierId": "targetClassifier",
"description": "Target classifier description"
}
コピーを開始するために必要な JSON ペイロードを含む応答本文が追加された 200
応答コードを受信します。
{
"targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
"targetResourceRegion": "targetResourceRegion",
"targetClassifierId": "targetClassifier",
"targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
"accessToken": "accessToken",
"expirationDateTime": "timestamp"
}
コピー操作を開始する
次の HTTP 要求を実行すると、ソース リソースのコピー操作が開始されます。 ご自分のソース リソースのエンドポイントとキーを URL とヘッダーとして入力する必要があります。 コピーするソース分類子の分類子 ID が要求 URL に含まれていることに注目してください。
POST {endpoint}/documentintelligence/documentClassifiers/{classifierId}:copyTo?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}
要求の本文は、前の手順の応答です。
{
"targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
"targetResourceRegion": "targetResourceRegion",
"targetClassifierId": "targetClassifier",
"targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
"accessToken": "accessToken",
"expirationDateTime": "timestamp"
}
モデルの応答
ドキュメント分類モデルを使用して入力ファイルを分析します。
https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview
2024-07-31-preview
API 以降、要求の pages
クエリ パラメーターを使用して、入力ドキュメントから分析するページを指定できます。
https://{service-endpoint}/formrecognizer/documentClassifiers/{classifier}:analyze?api-version=2023-07-31
応答には、応答のドキュメント セクションに関連付けられたページ範囲を持つ識別されたドキュメントが含まれます。
{
...
"documents": [
{
"docType": "formA",
"boundingRegions": [
{ "pageNumber": 1, "polygon": [...] },
{ "pageNumber": 2, "polygon": [...] }
],
"confidence": 0.97,
"spans": []
},
{
"docType": "formB",
"boundingRegions": [
{ "pageNumber": 3, "polygon": [...] }
],
"confidence": 0.97,
"spans": []
}, ...
]
}
次のステップ
カスタム分類モデルの作成方法: