

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ドキュメント処理モード
<a name="concepts-processing-modes"></a>

Amazon Comprehend は 3 つのドキュメント処理モードをサポートしています。どのモードを選択するかは、処理の必要があるドキュメントの数と、結果をどれだけ早く表示する必要があるかによって異なります。
+ **単一ドキュメント同期** — 単一のドキュメントで Amazon Comprehend を呼び出し、アプリケーション (またはコンソール) にすぐに配信される同期レスポンスを受け取ります。
+ **マルチドキュメント同期** — 最大 25 個のドキュメントのコレクションを使用して Amazon Comprehend API を呼び出し、同期レスポンスを受け取ります。
+ **非同期バッチ** — 大量のドキュメントの場合は、ドキュメントを Amazon S3 バケットに入れ、(コンソールまたは API オペレーションを使用して) 非同期ジョブを開始してドキュメントを分析します。Amazon Comprehend は、リクエストで指定した S3 バケット/フォルダで分析結果を保存します。

**Topics**
+ [単一ドキュメント処理](#how-single)
+ [複数ドキュメントの同期処理](#how-batch)
+ [非同期バッチ処理](#how-async)

## 単一ドキュメント処理
<a name="how-single"></a>

同期オペレーション: 単一のドキュメントで分析を実行でき、分析結果をアプリケーションに直接返します。単一ドキュメントオペレーションは、一度に 1 つのドキュメントで動作するインタラクティブなアプリケーションを作成するときに使用します。

同期 API オペレーションの詳細については、[組み込みモデルを使用したリアルタイム分析](realtime-console-analysis.md) (コンソール用) と [API を使用したリアルタイムの分析](using-api-sync.md) を参照してください。

## 複数ドキュメントの同期処理
<a name="how-batch"></a>

処理するドキュメントが複数ある場合は、`Batch*` API オペレーションを使用して一度に複数のドキュメントを Amazon Comprehend に送信できます。リクエストごとに最大 25 件のドキュメントを送信できます。Amazon Comprehend は、リクエスト内のドキュメントごとに 1 つずつ、レスポンスのリストを返します。これらの操作で行われるリクエストは同期的に行われます。アプリケーションはこの操作を呼び出し、サービスのレスポンスを待ちます。

`Batch*` 操作を使用することは、リクエスト内の各ドキュメントに対して単一ドキュメント API を呼び出すことと同じです。これらの API を使用すると、アプリケーションのパフォーマンスが向上します。

各 API への入力は、処理するドキュメントを含む JSON 構造体です。`BatchDetectDominantLanguage` 以外のすべての操作では、入力言語を設定する必要があります。リクエストごとに入力言語を 1 つのみ設定できます。たとえば、以下は `BatchDetectEntities` 操作への入力です。これには 2 つのドキュメントが含まれており、英語で書かれています。

```
{
   "LanguageCode": "en",
   "TextList": [
      "I have been living in Seattle for almost 4 years",
      "It is raining today in Seattle"
   ]
}
```

`Batch*` 操作からの応答には、`ResultList` と `ErrorList` の 2 つのリストが含まれます。`ResultList` には、正常に処理されたドキュメントごとに 1 つのレコードが含まれます。リクエスト内の各ドキュメントの結果は、そのドキュメントに対して 1 つのドキュメント操作を実行した場合に得られる結果と同じです。各ドキュメントの結果には、入力ファイル内のドキュメントの順序に基づいてインデックスが割り当てられます。`BatchDetectEntities` オペレーションからのレスポンスは次のようになります。

```
{
   "ResultList"  : [
      {
         "Index": 0,
         "Entities": [
            {
               "Text": "Seattle", 
               "Score": 0.95, 
               "Type": "LOCATION", 
               "BeginOffset": 22, 
               "EndOffset": 29
            },
            {
               "Text": "almost 4 years", 
               "Score": 0.89, 
               "Type": "QUANTITY", 
               "BeginOffset": 34, 
               "EndOffset": 48
            }
         ]
      },
      {
         "Index": 1,
         "Entities": [
            {
              "Text": "today",
              "Score": 0.87,
              "Type": "DATE",
              "BeginOffset": 14,
              "EndOffset": 19
            },
            {
               "Text": "Seattle",
               "Score": 0.96,
               "Type": "LOCATION",
               "BeginOffset": 23,
               "EndOffset": 30
            }
         ]
      }
   ],
   "ErrorList": []
}
```

リクエストでエラーが発生した場合、レスポンスにはエラーを含むドキュメントを識別する`ErrorList` が含まれます。ドキュメントは入力リスト内のインデックスによって識別されます。たとえば、`BatchDetectLanguage` 操作の次の入力には処理できないドキュメントが含まれています。

```
{
   "TextList": [
     "hello friend", 
     "$$$$$$",
     "hola amigo"
   ]       
}
```

Amazon Comprehend からのレスポンスには、エラーを含むドキュメントを識別するエラーリストが含まれています。

```
{
    "ResultList": [
        {
          "Index": 0,
          "Languages":[
            {
              "LanguageCode":"en",
              "Score": 0.99
            }
          ]
        },
        {
          "Index": 2
          "Languages":[
            {
              "LanguageCode":"es",
              "Score": 0.82
            }
          ]
        }
    ],
    "ErrorList": [
      {
        "Index": 1,
        "ErrorCode": "InternalServerException",
        "ErrorMessage": "Unexpected Server Error. Please try again."
      }
    ]
}
```

使用できる API オペレーションの詳細については、「[リアルタイムバッチ API](using-api-sync.md#get-started-batch)」を参照してください。

## 非同期バッチ処理
<a name="how-async"></a>

大量のドキュメントや大量のドキュメントコレクションを分析するには、Amazon Comprehend の非同期オペレーションを使用します。

ドキュメントのコレクションを分析するには、通常、以下のステップを実行します。

1. ドキュメントを Amazon S3 バケットに保存します。

1. 1 つ以上の分析ジョブを開始してドキュメントを分析します。

1. 分析ジョブの進行状況をモニタリングします。

1. ジョブが完了したら、S3 バケットから分析結果を取得します。

同期 API オペレーションの使用に関する詳細は、[コンソールを使用した分析ジョブの実行](analysis-jobs.md) (コンソール用) と [API を使用した非同期分析ジョブ](api-async.md) を参照してください。