ベスト プラクティス: ラベル付きデータセットの生成

このコンテンツの適用対象:checkmark v4.0 (プレビュー) | 以前のバージョン: 青のチェックマーク v3.1 (GA) 青のチェックマーク v3.0 (GA)

重要

ラベル付きデータセットの生成に関するベスト プラクティスは、カスタム テンプレートとカスタム ニューラル モデルにのみ適用されます。カスタム生成については、カスタム生成に関する記事を参照してください

カスタム モデル (テンプレートとニューラル) でモデルをトレーニングするには、少なくとも 5 つのドキュメントからなるラベル付けされたデータセットが必要です。 ラベル付けされたデータセットの品質は、トレーニング済みモデルの精度に影響します。 このガイドでは、多様なデータセットを集めて精度の高いモデルを生成する方法について詳しく説明し、ドキュメントのラベル付けに関するベスト プラクティスを示します。

ラベル付けされたデータセットの構成要素を理解する

ラベル付けされたデータセットは、いくつかのファイルで構成されます。

  • サンプル ドキュメント (通常は PDF または画像) のセットを自分で用意します。 モデルをトレーニングするには、少なくとも 5 つのドキュメントが必要です。

  • さらに、ラベル付けプロセスによって次のファイルが生成されます。

    • fields.json ファイルは、最初のフィールドが追加されたときに作成されます。 fields.json ファイルはトレーニング データセット全体に対して 1 つ存在し、フィールド リストにはフィールド名および関連するサブ フィールドと型が含まれています。

    • 各ドキュメントは Studio で Layout API を使用して実行されます。 データセット内の各サンプル ファイルのレイアウト応答が {file}.ocr.json として追加されます。 レイアウト応答は、特定のテキスト範囲がラベル付けされたときに、フィールド ラベルを生成するために使用されます。

    • {file}.labels.json ファイルは、ドキュメント内のフィールドがラベル付けされたときに作成または更新されます。 ラベル ファイルには、テキストの範囲と、ユーザーが特定のフィールドの値として追加する各テキスト範囲のレイアウト出力からの関連するポリゴンが含まれます。

ビデオ: カスタム ラベルのヒントとポインター

  • 次の動画は、高い精度でカスタム モデルを構築する上で役立つ 2 つのプレゼンテーションの 1 つ目です (2 つ目のプレゼンテーションでは、ドキュメントのラベル付けベスト プラクティスを確認します)。

  • バランスの取れたデータ セットを作成し、ラベル付けに適したドキュメントを選択する方法を確認します。 このプロセスを経ると、高品質のモデルを構築できるようになります。

バランスの取れたデータセットを作成する

ラベル付けを開始する前に、ドキュメントのいくつかの異なるサンプルを参照して、ラベル付けされたデータセットで使用するサンプルを特定することをお勧めします。 バランスの取れたデータセットは、ドキュメントに出現すると予想されるすべての典型的なバリエーションを表しています。 バランスの取れたデータセットを作成すると、可能な限り高い精度のモデルが作成されます。 考慮すべきいくつかの例を次に示します。

  • ドキュメント形式: デジタルおよびスキャン済みの両方のドキュメントを分析する場合は、種類ごとにいくつかの例をトレーニング データセットに追加します。

  • バリエーション (テンプレート モデル): データセットをフォルダーに分割し、バリエーションごとにモデルをトレーニングすることを検討してください。 構造またはレイアウトを含むバリエーションは、異なるモデルに分割する必要があります。 そのうえで、個々のモデルから 1 つの構成済みモデルを作成できます。

  • バリエーション (ニューラル モデル): データセットに管理可能なバリエーションのセット (約 15 個以下) がある場合は、さまざまなバリエーションごとにいくつかのサンプルを含む 1 つのデータセットを作成し、1 つのモデルをトレーニングします。 テンプレート バリエーションの数が 15 を超える場合は、複数のモデルをトレーニングし、それらを一緒に構成します。

  • テーブル: 行数が可変のテーブルを含むドキュメントの場合は、トレーニング データセットも行数が異なるドキュメントを表していることを確認します。

  • 複数ページ テーブル: テーブルが複数のページにまたがる場合は、1 つのテーブルにラベルを付けます。 予想されるバリエーションが表現されたトレーニング データセットにドキュメントを追加します。つまり、1 ページのみのテーブルを含むドキュメントと、すべての行がラベル付けされた 2 ページ以上にまたがるテーブルを含むドキュメントです。

  • 省略可能なフィールド: データセットに省略可能なフィールドを含むドキュメントが含まれている場合は、オプションが表現されたいくつかのドキュメントがトレーニング データセットに含まれていることを検証します。

最初にフィールドを識別する

時間を取って、データセットでラベル付けする予定の各フィールドを特定します。 省略可能なフィールドに注意してください。 サポートされている型に最も一致するラベルを使用してフィールドを定義します。

フィールドを定義するには、次のガイドラインを使用します。

  • カスタム ニューラル モデルの場合は、意味的に関連がある名前をフィールドに使用します。 たとえば、抽出される値が Effective Date の場合は、date1 のような汎用的な名前ではなく、effective_date または EffectiveDate と名前を付けます。

  • 理想的には、Pascal またはキャメル ケースを使ってフィールドに名前を付けます。

  • 値が視覚的に繰り返される構造の一部であり、1 つの値のみが必要な場合は、テーブルとしてラベルを付け、後処理中に必要な値を抽出します。

  • 複数のページにまたがる表形式フィールドの場合は、フィールドを 1 つのテーブルとして定義し、ラベルを付けます。

注意

カスタム ニューラル モデルは、カスタム テンプレート モデルと同じラベル付けの形式と方針を共有します。 現在、カスタム ニューラル モデルでは、カスタム テンプレート モデルでサポートされているフィールドの種類の一部のみがサポートされています。

モデルの機能

現在、カスタム ニューラル モデルでは、キーと値のペア、構造化フィールド (テーブル)、選択マークのみがサポートされています。

モデルの種類 フォーム フィールド 選択マーク 表形式フィールド 署名 リージョン 重複するフィールド
カスタム ニューラル ✔️サポート対象 ✔️サポート対象 ✔️サポート対象 サポートされていない ✔️サポート対象1 ✔️サポート対象2
カスタム テンプレート ✔️サポート対象 ✔️サポート対象 ✔️サポート対象 ✔️サポート対象 ✔️サポート対象 サポートされていない

1 領域ラベル付けの実装は、テンプレートとニューラルのモデルによって異なります。 テンプレート モデルの場合、トレーニング プロセスでは、ラベル付けされた領域にテキストが見つからない場合、トレーニング時に合成データが挿入されます。 ニューラル モデルでは、合成テキストは挿入されず、認識されたテキストはそのまま使用されます。
2 重複するフィールドは、API バージョン 2024-02-29-preview 以降でサポートされています。 重複するフィールドには、いくつかの制限があります。 詳しくは、「重複するフィールド」をご覧ください。

表形式フィールド

表形式フィールド (テーブル) は、API バージョン 2022-06-30-preview 以降のカスタム ニューラル モデルでサポートされています。 API バージョン 2022-06-30-preview 以降でトレーニングされたモデルでは、表形式フィールド ラベルが受け入れられます。API バージョン 2022-06-30-preview 以降のモデルで分析されたドキュメントの場合は、analyzeResult オブジェクトの結果の documents セクション内での出力において、表形式フィールドが生成されます。

表形式フィールドでは、既定でページ間テーブルがサポートされます。 複数のページにまたがるテーブルにラベルを付ける場合は、1 つのテーブル内のさまざまなページでそのテーブルの各行にラベルを付けます。 ベスト プラクティスとして、データセットに予想されるバリエーションのサンプルがいくつか含まれていることを確認します。 たとえば、テーブル全体が 1 つのページ上にあるサンプルと、2 ページ以上にまたがるテーブルのサンプルの両方を含めます。

表形式フィールドは、テーブルとして認識されないドキュメント内で繰り返し情報を抽出する場合にも便利です。 たとえば、履歴書の実務経験の繰り返しセクションにラベルを付け、表形式フィールドとして抽出できます。

Note

テーブル フィールドがラベル付けされると、応答の documents セクションの一部として抽出されます。 応答には、レイアウト モデルによってドキュメントから抽出されたテーブルを含む tables セクションも含まれます。 フィールドにテーブルとしてラベルを付けた場合は、応答のドキュメント セクションでフィールドを探します。

ラベル付けのガイドライン

  • 値にラベルを付ける必要があります。 周囲のテキストは含めないでください。 たとえば、チェックボックスにラベルを付けるときは、ドキュメント内で yes または no のテキストにラベルを付けるのではなく、selectionYesselectionNo のように、チェックボックスの選択を示すようにフィールドに名前を付けます。

  • インターリーブ フィールド値を指定しないでください。 1 つのフィールドの単語または領域の値、またはその両方は、自然な読み取り順序の連続したシーケンスである必要があります。

  • 一貫性のあるラベル付け。 ドキュメント内の複数のコンテキストに値が表示される場合は、ドキュメント間で一貫して同じコンテキストを選択して値にラベルを付けます。

  • 視覚的に繰り返されるデータ。 明示的なテーブルだけでなく、視覚的に繰り返される情報のグループがテーブルでサポートされます。 明示的なテーブルは、分析されたドキュメントのテーブル セクションでレイアウト出力の一部として識別され、テーブルとしてラベル付けする必要はありません。 情報が視覚的に繰り返され、レイアウト応答の一部としてのテーブルとして識別されない場合にのみ、テーブル フィールドにラベルを付けます。 例として、繰り返される履歴書の職歴セクションがあります。

  • 領域のラベル付け (カスタム テンプレート)。 特定の領域にラベルを付けると、値が存在しない場合に定義することができます。 値が省略可能な場合は、領域にラベル付けしていないサンプル ドキュメントをいくつか残しておきます。 領域にラベルを付けるときは、周囲のテキストをラベルに含めないでください。

  • 重複するフィールド (カスタム ニューラル)。 領域のラベル付けを使用して、フィールドに重複するラベルを付けます。 トレーニング データセット内でフィールドを重複させる方法を説明するサンプルが少なくとも 1 つ用意されていることを確認します。

次のステップ