Tutorial: Creación de una solución de búsqueda inteligente y enriquecida con metadatos con Amazon Kendra - Amazon Kendra

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Creación de una solución de búsqueda inteligente y enriquecida con metadatos con Amazon Kendra

Este tutorial le muestra cómo crear una solución de búsqueda inteligente enriquecida con metadatos y basada en lenguaje natural para los datos de su empresa mediante Amazon Kendra, Amazon Comprehend, Amazon Simple Storage Service (S3), y AWS CloudShell.

Amazon Kendra es un servicio de búsqueda inteligente que puede crear un índice de búsqueda para sus repositorios de datos no estructurados en lenguaje natural. Para facilitar a sus clientes la búsqueda y el filtrado de las respuestas relevantes, puede utilizar Amazon Comprehend para extraer metadatos de sus datos e incorporarlos a su índice de búsqueda de Amazon Kendra.

Amazon Comprehend es un servicio de procesamiento de lenguaje natural (NLP) que puede identificar entidades. Las entidades son referencias a personas, lugares, ubicaciones, organizaciones y objetos en sus datos.

En este tutorial, se utiliza un conjunto de datos de muestra de artículos de noticias para extraer entidades, convertirlas en metadatos e incorporarlas al índice de Amazon Kendra para realizar búsquedas. Los metadatos agregados le permiten filtrar los resultados de la búsqueda utilizando cualquier subconjunto de estas entidades y mejoran la precisión de la búsqueda. Al seguir este tutorial, aprenderá a crear una solución de búsqueda para los datos de su empresa sin necesidad de conocimientos especializados en machine learning.

En este tutorial, se muestra cómo crear una solución de búsqueda mediante los siguientes pasos:

  1. Almacenamiento de un conjunto de datos de muestra de artículos de noticias en Amazon S3.

  2. Uso de Amazon Comprehend para extraer entidades de sus datos.

  3. Ejecutar un script de Python 3 para convertir las entidades al formato de metadatos de índice de Amazon Kendra y almacenar estos metadatos en S3.

  4. Crear un índice de búsqueda de Amazon Kendra e ingerir los datos y los metadatos.

  5. Consulta del índice de búsqueda.

El siguiente diagrama muestra el flujo de trabajo:


      Diagrama de flujo de trabajo de los procedimientos del tutorial.

Tiempo estimado para completar este tutorial: 1 hora

Coste estimado: algunas de las acciones de este tutorial conllevan cargos en su cuenta de AWS. Para obtener más información sobre el coste de cada servicio, consulte las páginas de precios de Amazon S3, Amazon Comprehend, AWS CloudShell y Amazon Kendra.

Requisitos previos

Para completar este tutorial, necesita los siguientes recursos:

  • Una cuenta de AWS. Si no tienes una cuenta de AWS, siga los pasos que se indican en Configuración de Amazon Kendra para configurarla. AWS

  • Un ordenador de desarrollo con Windows, macOS o Linux, para acceder a la consola de gestión de AWS. Para más información, consulte Configuración de la consola de administración de AWS.

  • Un usuario de AWS Identity and Access Management (IAM). Para obtener información sobre cómo configurar un usuario y un grupo de IAM para su cuenta, consulte la sección Primeros pasos de la Guía del usuario de IAM.

    Si está utilizando la AWS Command Line Interface, también deberá adjuntar la siguiente política a su usuario IAM para concederle los permisos básicos necesarios para completar este tutorial.

    { "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" ] } } } ] }

    Para más información, consulte Creación de políticas de IAM y Adición y eliminación de permisos de identidad de IAM.

  • La lista de servicios regionales de AWS. Para reducir la latencia, debe elegir la región de AWS más cercana a su ubicación geográfica que sea compatible con Amazon Comprehend y Amazon Kendra.

  • (Opcional) Un AWS Key Management Service. Si bien este tutorial no utiliza el cifrado, es posible que desee utilizar las mejores prácticas de cifrado para su caso de uso específico.

  • (Opcional) Una Amazon Virtual Private Cloud. Aunque este tutorial no utiliza una VPC, es posible que desee utilizar las mejores prácticas de VPC para garantizar la seguridad de los datos para su caso de uso específico.