Amazon Comprehend para crear un reconocedor de entidad personalizado

Amazon Comprehend es un servicio de procesamiento de lenguaje natural que puede extraer frases clave, lugares, nombres, organizaciones, eventos e incluso sentimientos de texto no estructurado, y más.

Los clientes generalmente desean agregar sus propios tipos de entidad exclusivos para su negocio, como códigos de partes patentados o términos específicos de la industria.

En noviembre de 2018 las mejoras en Amazon Comprehend agregaron la capacidad de extender los tipos de entidad predeterminados a entidades personalizadas. Además, una función de clasificación personalizada le permite agrupar documentos en categorías con nombre. Por ejemplo, ahora puede agrupar correos electrónicos de soporte por departamento, publicaciones en redes sociales por producto e informes de analistas por unidad de negocio.

Descripción general

En esta publicación, cubro cómo crear un reconocedor de entidad personalizado. No se requieren conocimientos previos de aprendizaje automático. Demuestro un ejemplo que requiere que discuta, filtre y limpie los datos antes de poder entrenar al reconocedor de entidad personalizado . De lo contrario, puede seguir las siguientes instrucciones paso a paso. Estas instrucciones comienzan con el conjunto de datos ya preparado.

En este ejemplo, utilizo el siguiente conjunto de datos: Atención al cliente en Twitter alojado en Kaggle. El conjunto de datos se compone principalmente de expresiones cortas. Esta es una ilustración típica y común de conversaciones de chat entre un cliente y un representante de soporte. Aquí hay algunos ejemplos de expresiones del conjunto de datos de Twitter:

@AppleSupport, lo que hace que la respuesta no se tenga en cuenta y se abre la notificación pulsada debajo del teclado  😡  😡  😡

@SpotifyCares ¡Gracias! Versión 8.4.22.857 armv7 en un altavoz bluetooth anker en Samsung Galaxy Tab A (2016) Modelo SM-T280 ¿Importa la distancia del altavoz?

Filtré los datos y guardé solo los tweets que contienen “TMobileHelp” y “sprintcare” para que puedes enfocarte en un dominio y contexto en particular. Descargue y descomprima el conjunto de datos en su computadora desde el archivo comprenda_blog_data.zip .

Tutorial

En este ejemplo, crea un reconocedor de entidad personalizado para extraer información sobre iPhone y teléfonos Samsung Galaxy. Actualmente, Amazon Comprehend reconoce ambos dispositivos como “artículos comerciales”. En este caso de uso, debe ser más específico.

Debido a que debe poder extraer dispositivos de teléfonos inteligentes en particular, sería contraproducente limitar los datos extraídos a genéricos artículos comerciales Con esta capacidad, un proveedor de servicios puede extraer fácilmente la información del dispositivo de un tweet y enrutar el problema al equipo de soporte técnico relevante.

En la consola Amazon Comprehend cree un reconocedor de entidad personalizado para los dispositivos. Elija Train Recognizer .

Proporcione un nombre y una etiqueta Tipo de entidad como DISPOSITIVO.

Para entrenar un modelo de reconocimiento de entidad personalizado, puede elegir una de dos formas de proporcionar datos a Amazon Comprehend:
  • Anotaciones : utiliza una lista de anotaciones, que proporciona la ubicación de sus entidades dentro de un Gran cantidad de documentos. Amazon Comprehend puede capacitarse tanto desde la propia entidad como desde su contexto.
  • Listas de entidades : proporciona solo un contexto limitado. Solo usa una selección de la lista de entidades específicas para que Amazon Comprehend pueda capacitarse en la identificación de la entidad personalizada.

Para simplificar, use el método de lista de entidades. El método de anotación a menudo puede conducir a resultados más refinados.

Proporcione una lista de entidades únicas que tengan al menos 1000 coincidencias dentro de un conjunto de datos de entrenamiento.

Aquí hay una lista de dispositivos incluidos en el archivo entity_list.csv:
 Texto, tipo
iPhone X, DISPOSITIVO
iPhoneX, DISPOSITIVO
iphoneX, DISPOSITIVO
Samsung Galaxy, DISPOSITIVO
Samsung Note, DISPOSITIVO
iphone, DISPOSITIVO
iPhone, DISPOSITIVO
dispositivo Android
Android, DISPOSITIVO 

Dividir el conjunto de datos inicial y guardar alrededor de 1000 registros para fines de prueba. Esta muestra de registros se utiliza para probar el modelo en un paso posterior.

El resto de los datos constituye el conjunto de datos de entrenamiento ( raw_txt.csv ). Como regla general, debe incluir tantos datos relevantes como sea posible. Cuantos más datos agregue, más contexto podrá tener el modelo sobre el cual entrenarse.

Cargue los archivos entity_list.csv y raw_txt.csv en un depósito S3 y proporcione la ruta para la lista de entidades y las ubicaciones del conjunto de datos de capacitación.

Para otorgar permisos a Amazon Comprehend para acceder a su bucket S3, cree un rol vinculado al servicio IAM, como se muestra en la captura de pantalla a continuación. Utilice AmazonComprehendServiceRole-role .

Elija Tren . Este comando le permite enviar su reconocedor de entidad personalizado, recorrer varios modelos, ajustar su hiperparámetro y verificar la validación cruzada para asegurarse de que su modelo sea robusto. Estas son todas las actividades que realizan los científicos de datos para garantizar que sus modelos sean robustos.

Pruebe su modelo

A continuación, cree un trabajo y pruebe su modelo, como se muestra en la captura de pantalla siguiente.

Proporcione una carpeta de salida donde Amazon Comprehend guarde los resultados.

Seleccione el rol de IAM que creó en el paso anterior y elija Crear trabajo .

Cuando se completa el análisis de su trabajo, tiene archivos JSON en su ruta de bucket de salida S3.

Ahora, para crear un esquema y consultar sus datos, use AWS Glue y Amazon Athena respectivamente.

Siga los pasos, proporcione la ruta de salida de sus resultados y cree una base de datos en AWS Glue. Mi rastreador de AWS Glue se muestra en la siguiente captura de pantalla.

A continuación, ejecute algunas consultas en Athena y vea qué entidades recoge su anotador personalizado.

 SELECCIONE col3, cuente (col3)
DE "comprender - dispositivo". "202860692096_ner_e4f07c65cc5d7f1ca0c2a46ccd3e408c"
group by col3; 

Ahora puede notar que Amazon Comprehend ha recogido palabras adicionales con ortografía variable, que es algo que se puede esperar al analizar datos de redes sociales, que tienen errores tipográficos y ortografía abreviada.

Conclusión

En esta publicación, demostré cómo construir un modelo de reconocimiento de entidad personalizado, ejecutar alguna validación y consultar los resultados. Puede seguir esta publicación sin que tenga que conocer ninguno de los procedimientos complejos e intrincados que deben dominarse para construir un modelo de PNL.

En un escenario de la vida real, un proveedor de servicios que supervise estos tweets podría aprovechar las capacidades de reconocimiento de entidades personalizadas de Amazon Comprehend para extraer información sobre los tipos de dispositivos mencionados en el tweet. También pueden extraer y evaluar el tono o el sentimiento del tweet utilizando la API de análisis de sentimientos incorporada de Amazon Comprehend.

Esta aplicación de aprendizaje automático puede proporcionar un contexto importante y una evaluación de la intención del cliente, lo que luego permite a Amazon Comprehend realizar un enrutamiento inteligente y decisiones de remediación. En general, este proceso mejora el servicio y aumenta la satisfacción del cliente.

Pruebe las entidades personalizadas ahora desde la consola Amazon Comprehend y obtenga instrucciones detalladas en la documentación de Amazon Comprehend . Esta solución está disponible en todas las regiones donde está disponible Amazon Comprehend. Para obtener más información, consulte la Tabla de regiones de AWS .

Dejá un comentario