

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

# ステップ 3: エンティティ分析出力を Amazon Kendra メタデータとして書式設定する
<a name="tutorial-search-metadata-format-output"></a>

Amazon Comprehend によって抽出されたエンティティを Amazon Kendra インデックスに必要なメタデータ形式に変換するには、Python 3 スクリプトを実行します。変換の結果は、Amazon S3 バケット内の `metadata` フォルダに保存されます。

Amazon Kendra メタデータの形式と構造の詳細については、[S3 ドキュメントメタデータ](https://docs.aws.amazon.com/kendra/latest/dg/s3-metadata.html)を参照してください。

**Topics**
+ [Amazon Comprehend の出力をダウンロードして抽出する](#tutorial-search-metadata-format-output-download-extract)
+ [S3 バケットに出力をアップロードする](#tutorial-search-metadata-format-output-upload)
+ [Amazon Kendra メタデータ形式への出力変換](#tutorial-search-metadata-format-output-script)
+ [Amazon S3 バケットをクリーンアップする](#tutorial-search-metadata-format-output-cleanup)

## Amazon Comprehend の出力をダウンロードして抽出する
<a name="tutorial-search-metadata-format-output-download-extract"></a>

Amazon Comprehend エンティティ分析出力を書式設定するには、まず Amazon Comprehend エンティティ分析 `output.tar.gz` アーカイブをダウンロードして、エンティティ分析ファイルを抽出する必要があります。

### 出力ファイルをダウンロードして抽出するには (コンソール)
<a name="tutorial-search-metadata-download-extract-console"></a>

1. Amazon Comprehend コンソールのナビゲーションペインで、**[Analysis jobs]** (分析ジョブ) に移動します。

1. エンティティ分析ジョブ `data-entities-analysis` を選択します。

1. **[Output]** (出力) で、**[Output data location]** (出力データの場所) の隣に表示されるリンクをクリックします。これにより、S3 バケットの `output.tar.gz` アーカイブにリダイレクトします。

1. **[Overview]** (概要) タブで、**[Download]** (ダウンロード) を選択します。
**ヒント**  
すべての Amazon Comprehend 分析ジョブの出力は同じ名前になります。アーカイブの名前を変更すると、アーカイブの追跡が容易になります。

1. ダウンロードした Amazon Comprehend ファイルを解凍してデバイスに抽出します。

### 出力ファイルをダウンロードして抽出するには (AWS CLI)
<a name="tutorial-search-metadata-download-extract-cli"></a>

1. エンティティ分析ジョブの結果を含む S3 バケット内の Amazon Comprehend 自動生成フォルダの名前にアクセスするには、[[describe-entities-detection-job]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/comprehend/describe-entities-detection-job.html) コマンドを使用します。

------
#### [ Linux ]

   ```
   aws comprehend describe-entities-detection-job \
             --job-id entities-job-id \
             --region aws-region
   ```

   コードの説明は以下のとおりです。
   + *entities-job-id* は、[ステップ 2: Amazon Comprehend でエンティティ分析ジョブを実行する](tutorial-search-metadata-entities-analysis.md) から保存した `comprehend-job-id`、
   + *aws-region* はお客様の AWS リージョンです。

------
#### [ macOS ]

   ```
   aws comprehend describe-entities-detection-job \
             --job-id entities-job-id \
             --region aws-region
   ```

   コードの説明は以下のとおりです。
   + *entities-job-id* は、[ステップ 2: Amazon Comprehend でエンティティ分析ジョブを実行する](tutorial-search-metadata-entities-analysis.md) から保存した `comprehend-job-id`、
   + *aws-region* はお客様の AWS リージョンです。

------
#### [ Windows ]

   ```
   aws comprehend describe-entities-detection-job ^
             --job-id entities-job-id ^
             --region aws-region
   ```

   コードの説明は以下のとおりです。
   + *entities-job-id* は、[ステップ 2: Amazon Comprehend でエンティティ分析ジョブを実行する](tutorial-search-metadata-entities-analysis.md) から保存した `comprehend-job-id`、
   + *aws-region* はお客様の AWS リージョンです。

------

1. エンティティのジョブの説明の `OutputDataConfig` オブジェクトから、テキストエディタで `comprehend-S3uri` としての `S3Uri` 値をコピーおよび保存します。
**注記**  
`S3Uri` 値は、*s3://amzn-s3-demo-bucket/.../output/output.tar.gz* のような形式になります。

1. エンティティ出力アーカイブをダウンロードするには、[[copy]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html) コマンドを使用します。

------
#### [ Linux ]

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/.../output/output.tar.gz path/output.tar.gz
   ```

   コードの説明は以下のとおりです。
   + *s3://amzn-s3-demo-bucket/.../output/output.tar.gz* は、`comprehend-S3uri` として保存した `S3Uri` 値です。
   + *path/* は、出力を保存するローカルディレクトリです。

------
#### [ macOS ]

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/.../output/output.tar.gz path/output.tar.gz
   ```

   コードの説明は以下のとおりです。
   + *s3://amzn-s3-demo-bucket/.../output/output.tar.gz* は、`comprehend-S3uri` として保存した `S3Uri` 値です。
   + *path/* は、出力を保存するローカルディレクトリです。

------
#### [ Windows ]

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/.../output/output.tar.gz path/output.tar.gz
   ```

   コードの説明は以下のとおりです。
   + *s3://amzn-s3-demo-bucket/.../output/output.tar.gz* は、`comprehend-S3uri` として保存した `S3Uri` 値です。
   + *path/* は、出力を保存するローカルディレクトリです。

------

1. エンティティ出力を抽出するには、ターミナルウィンドウを開き、以下のコマンドを実行します。

------
#### [ Linux ]

   ```
   tar -xf path/output.tar.gz -C path/
   ```

   コードの説明は以下のとおりです。
   + *path/* は、ローカルデバイス上にダウンロードした `output.tar.gz` アーカイブへのファイルパスです。

------
#### [ macOS ]

   ```
   tar -xf path/output.tar.gz -C path/
   ```

   コードの説明は以下のとおりです。
   + *path/* は、ローカルデバイス上にダウンロードした `output.tar.gz` アーカイブへのファイルパスです。

------
#### [ Windows ]

   ```
   tar -xf path/output.tar.gz -C path/
   ```

   コードの説明は以下のとおりです。
   + *path/* は、ローカルデバイス上にダウンロードした `output.tar.gz` アーカイブへのファイルパスです。

------

このステップを完了すると、`output` というファイルと Amazon Comprehend 識別エンティティのリストがデバイス上に作成されます。

## S3 バケットに出力をアップロードする
<a name="tutorial-search-metadata-format-output-upload"></a>

Amazon Comprehend エンティティ分析ファイルをダウンロードして抽出した後、抽出した `output` ファイルを Amazon S3 バケットにファイルへアップロードします。

### 抽出された Amazon Comprehend 出力ファイルをアップロードするには (コンソール)
<a name="tutorial-search-metadata-upload-output-console"></a>

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. **[Buckets]** (バケット) で、バケットの名前をクリックし、その後 **[Upload]** (アップロード) をクリックします。

1. **[Files and folders]** (ファイルとフォルダ) で、**[Add files]** (ファイルを追加) を選択します。

1. ダイアログボックスで、デバイスの抽出した `output` ファイルに移動して選択し、**[Open]** (開く) をクリックします。

1. **[Destination]** (送信先)、**[Permissions]** (アクセス許可)、および **[Properties]** (プロパティ) はデフォルト設定のままにしておきます。

1. **[Upload]** (アップロード) を選択します。

### 抽出された Amazon Comprehend 出力ファイルをアップロードするには (AWS CLI)
<a name="tutorial-search-metadata-upload-output-cli"></a>

1. 抽出した`output` ファイルをバケットにアップロードするには、[[copy]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html) コマンドを使用します。

------
#### [ Linux ]

   ```
   aws s3 cp path/output s3://amzn-s3-demo-bucket/output
   ```

   コードの説明は以下のとおりです。
   + *path/* は、抽出した `output` ファイルへのローカルファイルパス、
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------
#### [ macOS ]

   ```
   aws s3 cp path/output s3://amzn-s3-demo-bucket/output
   ```

   コードの説明は以下のとおりです。
   + *path/* は、抽出した `output` ファイルへのローカルファイルパス、
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------
#### [ Windows ]

   ```
   aws s3 cp path/output s3://amzn-s3-demo-bucket/output
   ```

   コードの説明は以下のとおりです。
   + *path/* は、抽出した `output` ファイルへのローカルファイルパス、
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------

1. `output` ファイルが S3 バケットに正常にアップロードされたことを確認するには、[[list]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/ls.html) コマンドを使用してその内容をチェックします。

------
#### [ Linux ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------
#### [ macOS ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------
#### [ Windows ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------

## Amazon Kendra メタデータ形式への出力変換
<a name="tutorial-search-metadata-format-output-script"></a>

Amazon Comprehend 出力を Amazon Kendra メタデータに変換するには、Python 3 スクリプトを実行します。コンソールを使用している場合は、このステップ AWS CloudShell で を使用します。

### Python 3 スクリプトを実行するには (コンソール)
<a name="tutorial-search-metadata-format-output-console"></a>

1. デバイス上の [converter.py.zip](https://docs.aws.amazon.com/kendra/latest/dg/samples/converter.py.zip) 圧縮ファイルをダウンロードします。

1. Python 3 ファイル `converter.py` を抽出します。

1. [AWS マネジメントコンソール](https://aws.amazon.com/console/)にサインインし、 AWS リージョンが S3 バケットおよび Amazon Comprehend 分析ジョブと同じリージョンに設定されていることを確認します。

1. **[AWS CloudShell アイコン]** を選択するか、上部のナビゲーションバーの **[検索]** ボックスに「**AWS CloudShell**」と入力して環境を起動します。
**注記**  
が新しいブラウザウィンドウで初めて AWS CloudShell 起動すると、ウェルカムパネルが表示され、主要な機能が一覧表示されます。このパネルを閉じて、コマンドプロンプトが表示されると、シェルが対話できる状態になります。

1. ターミナルの準備が完了したら、ナビゲーションペインで **[Actions]** (アクション) を選択し、メニューから **[Upload file]** (ファイルをアップロードする) を選択します。

1. 開いたダイアログボックスで、**[Select file]** (ファイルを選択) をクリックし、お使いのデバイスからダウンロードした Python 3 ファイル `converter.py` を選択します。**アップロード** を選択します。

1.  AWS CloudShell 環境で、次のコマンドを入力します。

   ```
   python3 converter.py
   ```

1. シェルインターフェイスが **[S3 バケットの名前を入力する]** プロンプトを表示したら、S3 バケットの名前を入力し、[Enter] キーを押します。

1. シェルインターフェイスが **[Enter the full filepath to your Comprehend output file]** (Comprehend 出力ファイルへの完全なファイルパスを入力する) プロンプトを表示したら、**output** と入力し、[Enter] キーを押します。

1. シェルインターフェイスが **[Enter the full filepath to your metadata folder]** (メタデータフォルダへの完全なファイルパスを入力する) プロンプトを表示したら、**metadata/** と入力し、[Enter] キーを押します。

**重要**  
メタデータを正しく書式設定するには、ステップ 8～10 の入力値が正確である必要があります。

### Python 3 スクリプトを実行するには (AWS CLI)
<a name="tutorial-search-metadata-format-output-cli"></a>

1. Python 3 ファイル `converter.py` をダウンロードするには、ターミナルウィンドウを開き、以下のコマンドを実行します。

------
#### [ Linux ]

   ```
   curl -o path/converter.py.zip https://docs.aws.amazon.com/kendra/latest/dg/samples/converter.py.zip
   ```

   コードの説明は以下のとおりです。
   + *path/* は、圧縮フォルダを保存する場所へのファイルパスです。

------
#### [ macOS ]

   ```
   curl -o path/converter.py.zip https://docs.aws.amazon.com/kendra/latest/dg/samples/converter.py.zip
   ```

   コードの説明は以下のとおりです。
   + *path/* は、圧縮フォルダを保存する場所へのファイルパスです。

------
#### [ Windows ]

   ```
   curl -o path/converter.py.zip https://docs.aws.amazon.com/kendra/latest/dg/samples/converter.py.zip
   ```

   コードの説明は以下のとおりです。
   + *path/* は、圧縮フォルダを保存する場所へのファイルパスです。

------

1. Python 3 ファイル を抽出するには、ターミナルウィンドウを開き、以下のコマンドを実行します。

------
#### [ Linux ]

   ```
   unzip path/converter.py.zip -d path/
   ```

   コードの説明は以下のとおりです。
   + *path/* は、保存した `converter.py.zip` へのファイルパスです。

------
#### [ macOS ]

   ```
   unzip path/converter.py.zip -d path/
   ```

   コードの説明は以下のとおりです。
   + *path/* は、保存した `converter.py.zip` へのファイルパスです。

------
#### [ Windows ]

   ```
   tar -xf path/converter.py.zip -C path/
   ```

   コードの説明は以下のとおりです。
   + *path/* は、保存した `converter.py.zip` へのファイルパスです。

------

1. 次のコマンドを実行して、Boto3 がお使いのデバイスにインストールされていることを確認します。

------
#### [ Linux ]

   ```
   pip3 show boto3
   ```

------
#### [ macOS ]

   ```
   pip3 show boto3
   ```

------
#### [ Windows ]

   ```
   pip3 show boto3
   ```

------
**注記**  
Boto3 がインストールされていない場合は、`pip3 install boto3` を実行してインストールしてください。

1. Python 3 スクリプトを実行して `output` ファイルを変換し、次のコマンドを実行します。

------
#### [ Linux ]

   ```
   python path/converter.py
   ```

   コードの説明は以下のとおりです。
   + *path/* は、保存した `converter.py.zip` へのファイルパスです。

------
#### [ macOS ]

   ```
   python path/converter.py
   ```

   コードの説明は以下のとおりです。
   + *path/* は、保存した `converter.py.zip` へのファイルパスです。

------
#### [ Windows ]

   ```
   python path/converter.py
   ```

   コードの説明は以下のとおりです。
   + *path/* は、保存した `converter.py.zip` へのファイルパスです。

------

1. プロンプト AWS CLI が表示されたら`Enter the name of your S3 bucket`、S3 バケットの名前を入力し、Enter キーを押します。

1. プロンプト AWS CLI が表示されたら`Enter the full filepath to your Comprehend output file`、「」と入力**output**し、Enter キーを押します。

1. プロンプト AWS CLI が表示されたら`Enter the full filepath to your metadata folder`、「」と入力**metadata/**し、Enter キーを押します。

**重要**  
メタデータを正しく書式設定するには、ステップ 5～7 の入力値が正確である必要があります。

このステップが完了すると、書式設定されたメタデータは S3 バケット内の `metadata` フォルダ内に置かれます。

## Amazon S3 バケットをクリーンアップする
<a name="tutorial-search-metadata-format-output-cleanup"></a>

Amazon Kendra インデックスはバケットに保存されているすべてのファイルを同期するため、検索結果の重複を防ぐため、Amazon S3 バケットをクリーンアップすることをお勧めします。

### Amazon S3 バケットをクリックアップするには (コンソール)
<a name="tutorial-search-metadata-cleanup-bucket-console"></a>

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. **[Buckets]** (バケット) で、バケットを選択し、Amazon Comprehend エンティティ分析出力フォルダ、Amazon Comprehend エンティティ分析 `.temp` ファイル、および抽出された Amazon Comprehend `output` ファイルを選択します。

1. **[Overview]** (概要) タブから **[Delete]** (削除) を選択します。

1. **[Delete objects]** (オブジェクトの削除) で、**[Permanently delete objects?]** (オブジェクトを完全に削除しますか) を選択し、テキスト入力フィールドに **permanently delete** を入力します。

1. **[Delete objects]** (オブジェクトの削除) を選択します。

### Amazon S3 バケットをクリーンアップするには (AWS CLI)
<a name="tutorial-search-metadata-cleanup-bucket-cli"></a>

1. S3 バケット内の `data` ファイルと `metadata` フォルダをすべて削除するには、 AWS CLIで [[remove]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/rm.html) コマンドを使用します。

------
#### [ Linux ]

   ```
   aws s3 rm s3://amzn-s3-demo-bucket/ --recursive --exclude "data/*" --exclude "metadata/*"
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------
#### [ macOS ]

   ```
   aws s3 rm s3://amzn-s3-demo-bucket/ --recursive --exclude "data/*" --exclude "metadata/*"
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------
#### [ Windows ]

   ```
   aws s3 rm s3://amzn-s3-demo-bucket/ --recursive --exclude "data/*" --exclude "metadata/*"
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------

1. オブジェクトが S3 バケットから正常に削除されたことを確認するには、[[list]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/ls.html) コマンドを使用してその内容をチェックします。

------
#### [ Linux ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------
#### [ macOS ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------
#### [ Windows ]

   ```
   aws s3 ls s3://amzn-s3-demo-bucket/
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。

------

このステップが完了すると、Amazon Comprehend エンティティ分析出力が Amazon Kendra メタデータに変換されます。これで、Amazon Kendra インデックスを作成する準備ができました。