

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

# カスタムエンティティ検出ジョブの開始 (API)
<a name="detecting-cer-async-api"></a>

API を使用して、カスタムエンティティ認識の非同期分析ジョブを開始・監視できます。

[StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEntitiesDetectionJob.html) オペレーションを使用してカスタムエンティティ検出ジョブを開始するには、EntityRecognizerARN を指定します。EntityRecognizerARN はトレーニング済みモデルの Amazon リソースネーム (ARN) です。この ARN は [CreateEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEntityRecognizer.html) オペレーションに対するレスポンスでに含まれています。

**Topics**
+ [を使用したカスタムエンティティの検出 AWS Command Line Interface](#detecting-cer-async-api-cli)
+ [を使用したカスタムエンティティの検出 AWS SDK for Java](#detecting-cer-async-api-java)
+ [を使用したカスタムエンティティの検出 AWS SDK for Python (Boto3)](#detecting-cer-async-api-python)
+ [PDF ファイルに対する API アクションのオーバーライド](#detecting-cer-api-pdf)

## を使用したカスタムエンティティの検出 AWS Command Line Interface
<a name="detecting-cer-async-api-cli"></a>

次の例は、Unix、Linux および macOS 環境向けです。Windows の場合は、各行末のバックスラッシュ (\\) Unix 連結文字をキャレット (^) に置き換えてください。ドキュメントセットにあるカスタムエンティティを検出するには、以下のリクエスト構文を使用します。

```
aws comprehend start-entities-detection-job \
     --entity-recognizer-arn "arn:aws:comprehend:{{region}}:{{account number}}:entity-recognizer/test-6" \
     --job-name infer-1 \
     --data-access-role-arn "arn:aws:iam::{{account number}}:role/service-role/AmazonComprehendServiceRole-role" \
     --language-code en \
     --input-data-config "S3Uri=s3://{{Bucket Name}}/{{Bucket Path}}" \
     --output-data-config "S3Uri=s3://{{Bucket Name}}/{{Bucket Path}}/" \
     --region {{region}}
```

Amazon Comprehendは、応答として `JobID` および `JobStatus` を返すと共に、リクエストで指定された S3 バケット内のジョブの出力を返します。

## を使用したカスタムエンティティの検出 AWS SDK for Java
<a name="detecting-cer-async-api-java"></a>

Java を使用した Amazon Comprehend の例については、「[Amazon Comprehend の Java の例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/comprehend)」を参照してください。

## を使用したカスタムエンティティの検出 AWS SDK for Python (Boto3)
<a name="detecting-cer-async-api-python"></a>

この例では、カスタムエンティティレコグナイザーを作成して、モデルをトレーニングしてから、 AWS SDK for Python (Boto3)を使用してエンティティレコグナイザジョブで実行します。

SDK 用 Python のインスタンスを作成します。

```
import boto3
import uuid
comprehend = boto3.client("comprehend", region_name="{{region}}")
```

エンティティレコグナイザーを作成する: 

```
response = comprehend.create_entity_recognizer(
    RecognizerName="Recognizer-Name-Goes-Here-{}".format(str(uuid.uuid4())),
    LanguageCode="en",
    DataAccessRoleArn="{{Role ARN}}",
    InputDataConfig={
        "EntityTypes": [
            {
                "Type": "{{ENTITY_TYPE}}"
            }
        ],
        "Documents": {
            "S3Uri": "s3://{{Bucket Name}}/{{Bucket Path}}/documents"
        },
        "Annotations": {
            "S3Uri": "s3://{{Bucket Name}}/{{Bucket Path}}/annotations"
        }
    }
)
recognizer_arn = response["EntityRecognizerArn"]
```

すべてのレコグナイザーを一覧表示する: 

```
response = comprehend.list_entity_recognizers()
```

エンティティレコグナイザーが TRAINED ステータスになるのを待つ。

```
while True:
    response = comprehend.describe_entity_recognizer(
        EntityRecognizerArn=recognizer_arn
    )

    status = response["EntityRecognizerProperties"]["Status"]
    if "IN_ERROR" == status:
        sys.exit(1)
    if "TRAINED" == status:
        break

    time.sleep(10)
```

カスタムエンティティ検出ジョブを開始する: 

```
response = comprehend.start_entities_detection_job(
    EntityRecognizerArn=recognizer_arn,
    JobName="Detection-Job-Name-{}".format(str(uuid.uuid4())),
    LanguageCode="en",
    DataAccessRoleArn="{{Role ARN}}",
    InputDataConfig={
        "InputFormat": "ONE_DOC_PER_LINE",
        "S3Uri": "s3://{{Bucket Name}}/{{Bucket Path}}/documents"
    },
    OutputDataConfig={
        "S3Uri": "s3://{{Bucket Name}}/{{Bucket Path}}/output"
    }
)
```

## PDF ファイルに対する API アクションのオーバーライド
<a name="detecting-cer-api-pdf"></a>

画像ファイルおよび PDF ファイルの場合は、`InputDataConfig` で `DocumentReaderConfig` パラメータを使用してデフォルトのテキスト抽出アクションをオーバーライドできます。

次の例では、myInputDataConfig.json という JSON ファイルを定義して、`InputDataConfig` 値を設定します。すべての PDF ファイルに対して Amazon Textract `DetectDocumentText` API を使用するように `DocumentReadConfig` を設定します。

**Example**  

```
"InputDataConfig": {
  "S3Uri": s3://{{Bucket Name}}/{{Bucket Path}}",
  "InputFormat": "ONE_DOC_PER_FILE",
  "DocumentReaderConfig": {
      "DocumentReadAction": "TEXTRACT_DETECT_DOCUMENT_TEXT",
      "DocumentReadMode": "FORCE_DOCUMENT_READ_ACTION"
  }
}
```

`StartEntitiesDetectionJob` オペレーションでは、`InputDataConfig` パラメータとして myInputDataConfig.json ファイルを指定します。

```
  --input-data-config file://myInputDataConfig.json  
```

`DocumentReaderConfig` パラメータの詳細については、「 [テキスト抽出オプションの設定](idp-set-textract-options.md)」を参照してください。