

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：使用 Amazon Kendra 建置中繼資料豐富的智慧型搜尋解決方案
<a name="tutorial-search-metadata"></a>

本教學課程說明如何使用 [Amazon Kendra](https://aws.amazon.com/kendra/)、Amazon [Amazon Comprehend](https://aws.amazon.com/comprehend/)、[Amazon Simple Storage Service](https://aws.amazon.com/s3/) (S3) 和 為您的企業資料建置中繼資料豐富的自然語言型智慧型搜尋解決方案[AWS CloudShell](https://aws.amazon.com/cloudshell/)。

Amazon Kendra 是一種智慧型搜尋服務，可為您的非結構化自然語言資料儲存庫建立搜尋索引。若要讓客戶更輕鬆地尋找和篩選相關答案，您可以使用 Amazon Comprehend 從資料擷取中繼資料，並將其擷取至 Amazon Kendra 搜尋索引。

Amazon Comprehend 是一種可以識別實體的自然語言處理 (NLP) 服務。實體是對資料中人員、位置、位置、組織和物件的參考。

本教學課程使用新聞文章的範例資料集來擷取實體、將其轉換為中繼資料，並將它們擷取到您的 Amazon Kendra 索引以執行搜尋。新增的中繼資料可讓您使用這些實體的任何子集篩選搜尋結果，並改善搜尋準確性。遵循本教學課程，您將了解如何為企業資料建立搜尋解決方案，而不需要任何專門的機器學習知識。

**本教學課程說明如何使用下列步驟建置您的搜尋解決方案：**

1. 在 Amazon S3 中存放新聞文章的範例資料集。

1. 使用 Amazon Comprehend 從資料中擷取實體。

1. 執行 Python 3 指令碼，將實體轉換為 Amazon Kendra 索引中繼資料格式，並將此中繼資料儲存在 S3 中。

1. 建立 Amazon Kendra 搜尋索引並擷取資料和中繼資料。

1. 查詢搜尋索引。

**下圖顯示工作流程：**

![\[教學課程中程序的工作流程圖。\]](http://docs.aws.amazon.com/zh_tw/kendra/latest/dg/images/tutorial-workflow.png)


**完成本教學課程的預估時間：**1 小時

**預估成本：**本教學課程中的一些動作會在 AWS 您的帳戶產生費用。如需每個服務成本的詳細資訊，請參閱 [Amazon S3](https://aws.amazon.com/s3/pricing/)、[Amazon Comprehend](https://aws.amazon.com/comprehend/pricing/)[AWS CloudShell](https://aws.amazon.com/cloudshell/pricing/)、 和 [Amazon Kendra](https://aws.amazon.com/kendra/pricing/) 的價格頁面。

**Topics**
+ [先決條件](#tutorial-search-metadata-prereqs)
+ [步驟 1：將文件新增至 Amazon S3](tutorial-search-metadata-add-documents.md)
+ [步驟 2：在 Amazon Comprehend 上執行實體分析任務](tutorial-search-metadata-entities-analysis.md)
+ [步驟 3：將實體分析輸出格式化為 Amazon Kendra 中繼資料](tutorial-search-metadata-format-output.md)
+ [步驟 4：建立 Amazon Kendra 索引並擷取中繼資料](tutorial-search-metadata-create-index-ingest.md)
+ [步驟 5：查詢 Amazon Kendra 索引](tutorial-search-metadata-query-kendra.md)
+ [步驟 6：清除](tutorial-search-metadata-cleanup.md)

## 先決條件
<a name="tutorial-search-metadata-prereqs"></a>

若要完成本教學課程，您需要下列資源：
+  AWS 帳戶。如果您沒有 AWS 帳戶，請依照[設定 Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/setup.html#aws-kendra-set-up-aws-account) 中的步驟設定 AWS 您的帳戶。
+ 執行 Windows、macOS 或 Linux 的 AWS 開發電腦，用於存取 管理主控台。如需詳細資訊，請參閱[設定 AWS 管理主控台](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/working-with-console.html)。
+ [AWS Identity and Access Management](https://aws.amazon.com/iam/) (IAM) 使用者。若要了解如何為您的帳戶設定 IAM 使用者和群組，請參閱《*IAM 使用者指南*[》中的入門](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)一節。

  如果您使用的是 AWS Command Line Interface，則還需要將下列政策連接至您的 IAM 使用者，以授予其完成本教學課程所需的基本許可。

  

  

### (AWS CLI 僅限 ) IAM 許可政策
<a name="permissions-policy"></a>

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "iam:GetUserPolicy",
          "iam:DeletePolicy",
          "iam:CreateRole",
          "iam:AttachRolePolicy",
          "iam:DetachRolePolicy",
          "iam:AttachUserPolicy",
          "iam:DeleteRole",
          "iam:CreatePolicy",
          "iam:GetRolePolicy",
          "s3:CreateBucket",
          "s3:ListBucket",
          "s3:DeleteObject",
          "s3:DeleteBucket",
          "s3:PutObject",
          "s3:GetObject",
          "s3:ListAllMyBuckets",
          "comprehend:StartEntitiesDetectionJob",
          "comprehend:BatchDetectEntities",
          "comprehend:ListEntitiesDetectionJobs",
          "comprehend:DescribeEntitiesDetectionJob",
          "comprehend:StopEntitiesDetectionJob",
          "comprehend:DetectEntities",
          "kendra:Query",
          "kendra:StopDataSourceSyncJob",
          "kendra:CreateDataSource",
          "kendra:BatchPutDocument",
          "kendra:DeleteIndex",
          "kendra:StartDataSourceSyncJob",
          "kendra:CreateIndex",
          "kendra:ListDataSources",
          "kendra:UpdateIndex",
          "kendra:DescribeIndex",
          "kendra:DeleteDataSource",
          "kendra:ListIndices",
          "kendra:ListDataSourceSyncJobs",
          "kendra:DescribeDataSource",
          "kendra:BatchDeleteDocument"
        ],
        "Resource": "*"
      },
      {
        "Sid": "iamPassRole",
        "Effect": "Allow",
        "Action": "iam:PassRole",
        "Resource": "*",
        "Condition": {
          "StringEquals": {
            "iam:PassedToService": [
              "s3.amazonaws.com",
              "comprehend.amazonaws.com",
              "kendra.amazonaws.com"
            ]
          }
        }
      }
    ]
  }
  ```

------

  如需詳細資訊，請參閱[建立 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)與[新增和移除 IAM 身分許可。](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)
+ [AWS 區域服務清單](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。若要減少延遲，您應該選擇 AWS 最接近 Amazon Comprehend 和 Amazon Kendra 所支援地理位置的區域。
+ （選用） [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)。雖然本教學課程不使用加密，但您可能想要針對特定使用案例使用加密最佳實務。
+ （選用） [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。雖然本教學課程不使用 VPC，但您可能想要使用 VPC 最佳實務來確保特定使用案例的資料安全性。