メインコンテンツへスキップ
API または web UI でドキュメントを処理すると、Vantage は抽出されたfieldの値、信頼度スコア、検証フラグを含む構造化データを返します。このページでは、その出力の見方を説明します。

結果の構造の概要

すべての結果は同じ階層構造になっています。
ExtractedDataTransaction
├── SkillName, SkillId
├── Documents[]
│   ├── ExtractedData
│   │   ├── DocumentDefinition    ← fieldスキーマ(抽出可能な項目)
│   │   └── RootObject            ← field値(抽出された内容)
│   │       └── Fields[]
│   │           ├── Name
│   │           └── List[]
│   │               ├── Value
│   │               ├── Annotation (Confidence, RawValue, ...)
│   │               ├── NeedVerification
│   │               └── isVerified
│   └── ClassificationResult      ← ドキュメントタイプ(分類が適用された場合)
└── SourceFiles[]
ほとんどのユースケースでは、抽出された値にアクセスするには Documents[0].ExtractedData.RootObject.Fields をたどるだけで十分です。

抽出されたフィールドの見方

以下は、ABBYY Invoice Skill で処理した請求書の簡略化した例です。
{
  "SkillName": "ABBYY Invoice",
  "SkillId": "a1b2c3d4-...",
  "Documents": [
    {
      "ExtractedData": {
        "RootObject": {
          "Fields": [
            {
              "Name": "InvoiceNumber",
              "List": [
                {
                  "Value": "INV-2024-0042",
                  "Annotation": {
                    "Confidence": 97,
                    "RawValue": "INV-2024-0042",
                    "Source": "Text"
                  },
                  "NeedVerification": false,
                  "isVerified": false
                }
              ]
            },
            {
              "Name": "InvoiceDate",
              "List": [
                {
                  "Value": "2024-03-15",
                  "Annotation": {
                    "Confidence": 94,
                    "RawValue": "March 15, 2024",
                    "Source": "Text"
                  },
                  "NeedVerification": false,
                  "isVerified": false
                }
              ]
            },
            {
              "Name": "TotalAmount",
              "List": [
                {
                  "Value": "1,250.00",
                  "Annotation": {
                    "Confidence": 62,
                    "RawValue": "1.250,00",
                    "Source": "Image"
                  },
                  "NeedVerification": true,
                  "isVerified": false
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
各fieldsには、次のプロパティが含まれます。
Property意味
NameSkillで定義されたfield名 (例: “InvoiceNumber”、“VendorName”)
Value正規化後の抽出値 — 日付はISO形式に変換され、数値は標準化されます
Annotation.Confidence抽出結果に対するVantageの確信度を示す、0~100の整数
Annotation.RawValue正規化前の、OCRで認識された元のテキスト
Annotation.Source値の取得元がドキュメントの Text レイヤーか、Image からの読み取りかを示します
NeedVerificationfieldが人による確認対象としてフラグ付けされている場合は true (例: 確信度が低い、または検証ルールに失敗した場合)
isVerified手動確認でオペレーターがすでにその値を確認済みの場合は true
上の TotalAmountConfidence: 62NeedVerification: true になっている点に注目してください。生の値 1.250,00 (欧州形式) は 1,250.00 に正規化されていますが、確信度が低いため、VantageはOCR結果に完全な確信を持てていなかったことがわかります。これはまさに、人による確認が必要な種類のfieldです。

テーブル fields (明細)

請求書の明細のようなテーブルを抽出するSkillでは、それらは繰り返しグループを含むfieldsとして表されます。各行は、そのfieldの List 配列内の ExtractedObject として表され、それぞれ独自のサブfieldを持ちます。
{
  "Name": "LineItems",
  "List": [
    {
      "Fields": [
        { "Name": "Description", "List": [{ "Value": "Consulting services", ... }] },
        { "Name": "Quantity",    "List": [{ "Value": "10", ... }] },
        { "Name": "UnitPrice",   "List": [{ "Value": "100.00", ... }] },
        { "Name": "Amount",      "List": [{ "Value": "1,000.00", ... }] }
      ]
    },
    {
      "Fields": [
        { "Name": "Description", "List": [{ "Value": "Travel expenses", ... }] },
        { "Name": "Quantity",    "List": [{ "Value": "1", ... }] },
        { "Name": "UnitPrice",   "List": [{ "Value": "250.00", ... }] },
        { "Name": "Amount",      "List": [{ "Value": "250.00", ... }] }
      ]
    }
  ]
}
各行は同じfield構造を持つため、コード内で繰り返し処理しやすくなっています。

実際の運用における信頼度スコア

信頼度スコアは、抽出された値に対して Vantage がどの程度確信を持っているかを示します。信頼度には、いくつかの要因が影響します。
  • 文書品質 — 不鮮明なスキャン、低解像度の画像、または手書き文字はスコアを低下させます
  • レイアウトの複雑さ — 特殊な表レイアウトや重なり合ったフィールドは、精度を低下させる可能性があります
  • トレーニングデータとの一致度 — Skill のトレーニング時に学習したパターンによく一致する値ほど、高いスコアになります
信頼度をプログラムで利用する方法:
  • 高信頼度 (90–100) — 値を自動的に受け入れます
  • 中信頼度 (70–89) — 注意して受け入れるか、重要なフィールドは確認に回します
  • 低信頼度 (70 未満) — 人による確認のために手動確認に回します
NeedVerification: true のfieldsは、Skill で設定された信頼度のしきい値とバリデーションルールに基づいて、Vantage によってすでにフラグ付けされています。

Skill別の一般的なfield名

各Skillでは、それぞれ独自のfield名セットが定義されています。以下は、よく使われるSkillで一般的なfieldsです。
Skill主要項目
InvoiceInvoiceNumber, InvoiceDate, VendorName, TotalAmount, TaxAmount, LineItems
ReceiptReceiptNumber, Date, VendorName, Total, Tax, PaymentMethod, LineItems
購買注文書PONumber, OrderDate, BuyerName, SupplierName, TotalAmount, LineItems
ID文書FirstName, LastName, DateOfBirth, DocumentNumber, ExpirationDate, Nationality
これらは代表的なfieldsです。各Skillには、このほかのfieldが含まれる場合があります。任意のSkillの完全なfield一覧を確認するには、Skill Catalogをご覧ください。

次のステップ

完全なJSONスキーマ

JSON 出力内のすべてのオブジェクトとプロパティの完全なリファレンスです。

XML出力

同じ抽出データを XML 構造で提供する別の出力形式です。

手動確認

抽出されたfieldsに対する人手による検証を設定します。

次に学ぶこと

目的に応じて、Vantage ドキュメントの読み進め方を選択します。