カスタム ドキュメント モデル

この記事の適用対象:Form Recognizer v2.1 チェックマークForm Recognizer v3.0Form Recognizer v2.1 チェックマークForm Recognizer v2.1

Form Recognizer では、高度な機械学習テクノロジを使用して、フォームとドキュメントから情報を検出および抽出し、抽出したデータを構造化 JSON 出力で返します。 Form Recognizer を使用すると、事前構築済みまたは事前トレーニング済みのモデルを使用したり、スタンドアロンのカスタム モデルをトレーニングすることができます。 カスタム モデルを使って、フォームとドキュメントからビジネス固有のデータとユース ケースを抽出し、分析します。 スタンドアロンのカスタム モデルを組み合わせて、作成済みモデルを作成できます。

カスタム モデルを作成するには、抽出する値を持つドキュメントのデータセットにラベルを付け、ラベル付けされたデータセットに対してモデルをトレーニングします。 始めるために必要な同じフォームまたはドキュメントの種類の例は 5 つのみです。

カスタム ドキュメント モデルの種類

カスタム ドキュメント モデルには、カスタム テンプレートまたはカスタム フォームと、カスタム ニューラルまたはカスタム ドキュメント モデルの 2 種類があります。 両方のモデルのラベル付けとトレーニングのプロセスは同じですが、モデルは次のように異なります。

カスタム テンプレート モデル (v3.0)

カスタム テンプレート モデルまたはカスタム フォーム モデルは、ラベル付けされたデータを抽出するために一貫性のあるビジュアル テンプレートに依存します。 モデルの正確性は、ドキュメントの視覚的構造の差異の影響を受けます。 アンケートやアプリケーションなどの構造化されたフォームは、一貫したビジュアル テンプレートの例です。

トレーニング セットは、書式設定とレイアウトが静的で、1 つのドキュメント インスタンスから次のインスタンスに固定されている構造化ドキュメントで構成されます。 カスタム テンプレート モデルでは、キーと値のペア、選択マーク、テーブル、署名フィールド、リージョンがサポートされます。 テンプレート モデルは、いずれかのサポートされている言語のドキュメントでトレーニングできます。 詳細については、カスタム テンプレート モデルに関するページを参照してください。

ヒント

トレーニング ドキュメントによって一貫性のあるビジュアル テンプレートが表示されることを確認するには、セット内の各フォームからユーザーが入力したデータをすべて削除します。 空白のフォームの外観が同じである場合は、一貫性のあるビジュアル テンプレートを表します。

詳細については、「カスタム モデルの正確性スコアと信頼度スコアの解釈と改善」を参照してください。

カスタム ニューラル モデル (v3.0)

カスタム ニューラル (カスタム ドキュメント) モデルでは、ディープ ラーニング モデルと、ドキュメントの大規模なコレクションでトレーニングされたベース モデルを使用します。 このモデルは、ラベル付けされたデータセットを使用してモデルをトレーニングするときに、データに合わせて微調整または調整されます。 カスタム ニューラル モデルでは、構造化、半構造化、および非構造化ドキュメントをサポートして、フィールドを抽出します。 カスタム ニューラル モデルでは、現在、英語のドキュメントをサポートしています。 2 つのモデルの種類から選択する場合は、まずニューラル モデルで、それが機能的なニーズを満たすかどうかを判断してください。 カスタム ドキュメント モデルの詳細については、ニューラル モデルに関するページを参照してください。

ビルド モード

カスタム モデルのビルド操作で、テンプレートニューラル カスタム モデルのサポートが追加されました。 以前のバージョンの REST API と SDK では、テンプレート モードと呼ばれる 1 つのビルド モードのみがサポートされていました。

  • テンプレート モデルでは、同じ基本ページ構造を持つ (一貫した外観の) ドキュメント、またはドキュメント内の要素の相対的位置が同じドキュメントのみが受け入れられました。

  • ニューラル モデルでは、同じ情報を含んでいても、ページ構造が異なるドキュメントがサポートされます。 これらのドキュメントの例には、同じ情報を共有しているが、会社によって外観が変化する可能性のある米国 W2 フォームが含まれます。 現在、ニューラル モデルは英語のテキストのみをサポートしています。

次の表に、GitHub のビルド モード プログラミング言語 SDK リファレンスとコード サンプルへのリンクを示します。

プログラミング言語 SDK リファレンス コード サンプル
C#/.NET DocumentBuildMode 構造体 Sample_BuildCustomModelAsync.cs
Java DocumentBuildMode クラス BuildModel.java
JavaScript DocumentBuildMode タイプ buildModel.js
Python DocumentBuildMode 列挙型 sample_build_model.py

モデルの特徴を比較する

次の表は、カスタム テンプレートとカスタム ニューラル機能を比較しています。

機能 カスタム テンプレート (フォーム) カスタム ニューラル (ドキュメント)
ドキュメントの構造 テンプレート、フォーム、構造化 構造化、半構造化、非構造化
トレーニング時間 1 分から 5 分 20 分から 1 時間
データの抽出 キーと値のペア、テーブル、選択マーク、座標、署名 キーと値のペア、選択マーク、テーブル
ドキュメントのバリエーション バリエーションごとにモデルが必要 すべてのバリエーションで 1 つのモデルを使用する
言語のサポート 複数の言語サポート 米国英語 (en-US) の言語サポート

カスタム モデル ツール

Azure Form Recognizer v3.0 では、次のツールがサポートされています。

機能 リソース モデル ID
カスタム モデル custom-model-id

Azure Form Recognizer v2.1 では、次のツールがサポートされています。

機能 リソース モデル ID
カスタム モデル custom-model-id

カスタム モデルの構築を試す

カスタム モデルを使用して、特定のドキュメントまたは一意のドキュメントからデータの抽出を試みます。 以下のリソースが必要です。

  • Azure サブスクリプション。 無料で作成できます

  • Azure portal の Form Recognizer インスタンス。 Free 価格レベル (F0) を利用して、サービスを試用できます。 リソースがデプロイされたら、[リソースに移動] を選択してキーとエンドポイントを取得します。

    Azure portal でのキーとエンドポイントの場所を示すスクリーンショット。

Form Recognizer Studio

Note

Form Recognizer Studio は、v3.0 API で使用できます。

  1. Form Recognizer Studio のホーム ページで、[Custom form](カスタム フォーム) を選択します。

  2. [マイ プロジェクト] で、[Create a project](プロジェクトの作成) を選択します。

  3. プロジェクトの詳細を指定するフィールドに値を入力します。

  4. [Connect your training data source](トレーニング データ ソースを接続) に、Storage アカウント BLOB コンテナーを追加して、サービス リソースを構成します。

  5. プロジェクトを確認して作成します。

  6. サンプル ドキュメントを使用して、カスタム モデルをビルドしてテストします。

カスタム モデル抽出の概要

次の表は、サポートされているデータ抽出領域を比較しています。

モデル フォーム フィールド 選択マーク 構造化フィールド (テーブル) 署名 領域のラベル付け
カスタム テンプレート
カスタム ニューラル 該当なし 該当なし

表の記号: ✔ - サポートされています、**該当なし - 現在使用できません

ヒント

2 つのモデルの種類から選択する場合、それが機能的なニーズを満たす場合は、カスタム ニューラル モデルから開始します。 カスタム ニューラル モデルの詳細については、カスタム ニューラルに関するページを参照してください。

カスタム モデル開発オプション

次の表では、関連付けられているツールと SDK で使用できる機能について説明します。 ベスト プラクティスとして、ここに記載されている互換性のあるツールを使用することをお勧めします。

ドキュメントの種類 REST API SDK モデルのラベル付けとテスト
カスタム フォーム 2.1 Form Recognizer 2.1 GA API Form Recognizer SDK サンプル ラベル付けツール
カスタム テンプレート 3.0 Form Recognizer 3.0 Form Recognizer SDK Form Recognizer Studio
カスタム ニューラル Form Recognizer 3.0 Form Recognizer SDK Form Recognizer Studio

Note

3.0 API でトレーニングされたカスタム テンプレート モデルでは、OCR エンジンの機能強化による 2.1 API のいくつかの改善点があります。 2.1 API を使用してカスタム テンプレート モデルをトレーニングするために使用されるデータセットは、3.0 API を使用して新しいモデルをトレーニングするために引き続き使用できます。

  • 最適な結果を得るには、ドキュメントごとに 1 つの鮮明な写真または高品質のスキャンを提供してください。

  • サポートされているファイル形式は、JPEG/JPG、PNG、BMP、TIFF、および PDF (テキスト埋め込みまたはスキャン済み) です。 文字の抽出と位置に関するエラーが発生する可能性を排除するには、テキストが埋め込まれている PDF が最適です。

  • PDF ファイルと TIFF ファイルの場合は、最大 2,000 ページを処理できます。 Free レベルのサブスクリプションでは、最初の 2 ページだけが処理されます。

  • ファイル サイズは、有料 (S0) レベルでは 500 MB 未満、Free (F0) レベルでは 4 MB 未満である必要があります。

  • 画像の寸法は、50 x 50 ピクセルから 10,000 x 10,000 ピクセルの間である必要があります。

  • PDF の寸法は、17 x 17 インチまでで、Legal または A3 サイズ以下の用紙に対応します。

  • トレーニング データの合計サイズは、500 ページ以下です。

  • PDF がパスワードでロックされている場合は、送信前にロックを解除する必要があります。

    ヒント

    トレーニング データ:

    • 可能であれば、画像ベースのドキュメントではなく、テキストベースの PDF ドキュメントを使用します。 スキャンした PDF は画像として処理されます。
    • 文書ごとにフォームのインスタンスを 1 つだけ指定してください。
    • 入力フォームの場合は、すべてのフィールドに入力されている例を使用します。
    • 各フィールドに異なる値が含まれたフォームを使用します。
    • フォーム イメージの品質が低い場合は、より大きなデータセットを使用します。 たとえば、10 ~ 15 のイメージを使用します。

サンプル ラベル付けツールでは、BMP ファイル形式はサポートされていません。 これは、Form Recognizer サービスではなく、ツールの制限です。

サポートされている言語とロケール

Note

ロケールを指定する必要はありません。 これは省略可能なパラメーターです。 Form Recognizer のディープラーニング技術によって、画像内のテキストの言語が自動的に検出されます。

Form Recognizer v3.0 バージョンでは、カスタム モデルに追加の言語サポートが導入されています。 サポートされている手書き文字と印刷テキストの一覧については、言語サポートをご覧ください。

Form Recognizer v3.0

Form Recognizer v3.0 では、次のいくつかの新機能が導入されています。

  • カスタム モデル API (v3.0): このバージョンでは、カスタム フォームの署名の検出がサポートされています。 カスタム モデルをトレーニングするときに、特定のフィールドを署名として指定できます。 カスタム モデルでドキュメントが分析されるときに、署名が検出されたかどうかが示されます。
  • Form Recognizer v3.0 への移行ガイド: このガイドでは、アプリケーションとワークフローで v3.0 バージョンを使用する方法を示します。
  • REST API: この API は、v3.0 バージョンと新機能の詳細について説明します。

署名の検出を試す

  1. トレーニング データセットを作成します。

  2. Form Recognizer Studio に移動します。 [カスタム モデル] で、[カスタム フォーム] を選択します。

    Form Recognizer Studio の [カスタム フォーム] ページを示すスクリーンショット。

  3. ワークフローに従って、新しいプロジェクトを作成します。

    1. カスタム モデルの入力要件に従います。

    2. ドキュメントにラベルを付けます。 署名フィールドの場合、精度を向上させるため領域ラベル付けを使用します。

      ラベル署名フィールドを示すスクリーンショット。

トレーニング セットにラベルを付けた後は、カスタム モデルをトレーニングし、それを使用してドキュメントを分析できます。 署名フィールドで、署名が検出されたかどうかが指定されます。

次の手順

Form Recognizer のクイックスタートと REST API について説明します。

クイックスタート REST API
v3.0 Studio クイックスタート Form Recognizer v3.0 API 2022-08-31
v2.1 クイックスタート Form Recognizer API v2.1