Amazon Comprehend anuncia límites de anotación más bajos para el reconocimiento de entidades personalizadas PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Amazon Comprehend anuncia límites de anotación más bajos para el reconocimiento de entidades personalizadas

Amazon Comprehend es un servicio de procesamiento de lenguaje natural (NLP) que puede usar para extraer automáticamente entidades, frases clave, idioma, opiniones y otros conocimientos de los documentos. Por ejemplo, puede comenzar inmediatamente a detectar entidades como personas, lugares, artículos comerciales, fechas y cantidades mediante el Consola Amazon Comprehend, Interfaz de línea de comandos de AWSo API de Amazon Comprehend. Además, si necesita extraer entidades que no forman parte del Tipos de entidades integradas de Amazon Comprehend, puede crear un modelo de reconocimiento de entidad personalizado (también conocido como entidad personalizada reconocedor) para extraer términos que sean más relevantes para su caso de uso específico, como nombres de elementos de un catálogo de productos, identificadores específicos de dominio, etc. Crear un reconocedor de entidades preciso por su cuenta utilizando bibliotecas y marcos de aprendizaje automático puede ser un proceso complejo y lento. Amazon Comprehend simplifica significativamente su trabajo de entrenamiento de modelos. Todo lo que necesita hacer es cargar su conjunto de datos de documentos y anotaciones, y usar la consola de Amazon Comprehend, la CLI de AWS o las API para crear el modelo.

Para entrenar un reconocedor de entidades personalizado, puede proporcionar datos de entrenamiento a Amazon Comprehend como anotaciones o listas de entidades. En el primer caso, proporciona una colección de documentos y un archivo con anotaciones que especifican la ubicación donde se encuentran las entidades dentro del conjunto de documentos. Como alternativa, con las listas de entidades, proporciona una lista de entidades con su etiqueta de tipo de entidad correspondiente y un conjunto de documentos sin anotaciones en los que espera que estén presentes sus entidades. Ambos enfoques se pueden usar para entrenar un modelo de reconocimiento de entidad personalizado exitoso; sin embargo, hay situaciones en las que un método puede ser una mejor opción. Por ejemplo, cuando el significado de entidades específicas podría ser ambiguo y depender del contexto, se recomienda proporcionar anotaciones porque esto podría ayudarlo a crear un modelo de Amazon Comprehend que sea capaz de utilizar mejor el contexto al extraer entidades.

Anotar documentos puede requerir mucho esfuerzo y tiempo, especialmente si considera que tanto la calidad como la cantidad de anotaciones tienen un impacto en el modelo de reconocimiento de entidades resultante. Las anotaciones imprecisas o muy pocas pueden generar resultados deficientes. Para ayudarlo a configurar un proceso para adquirir anotaciones, proporcionamos herramientas como Verdad fundamental de Amazon SageMaker, que puede utilizar para anotar sus documentos más rápidamente y generar un archivo de anotaciones de manifiesto aumentado. Sin embargo, incluso si usa Ground Truth, aún debe asegurarse de que su conjunto de datos de entrenamiento sea lo suficientemente grande para construir con éxito su reconocedor de entidades.

Hasta hoy, para comenzar a entrenar un reconocedor de entidades personalizado de Amazon Comprehend, tenía que proporcionar una colección de al menos 250 documentos y un mínimo de 100 anotaciones por tipo de entidad. Hoy, anunciamos que, gracias a las mejoras recientes en los modelos subyacentes de Amazon Comprehend, hemos reducido los requisitos mínimos para entrenar un reconocedor con archivos de anotación CSV de texto sin formato. Ahora puede crear un modelo de reconocimiento de entidades personalizado con tan solo tres documentos y 25 anotaciones por tipo de entidad. Puede encontrar más detalles sobre los nuevos límites de servicio en Directrices y cuotas.

Para mostrar cómo esta reducción puede ayudarlo a comenzar con la creación de un reconocedor de entidades personalizado, realizamos algunas pruebas en algunos conjuntos de datos de código abierto y recopilamos métricas de rendimiento. En esta publicación, lo guiamos a través del proceso de evaluación comparativa y los resultados que obtuvimos mientras trabajábamos en conjuntos de datos submuestreados.

Preparación del conjunto de datos

En esta publicación, explicamos cómo entrenamos un reconocedor de entidades personalizado de Amazon Comprehend utilizando documentos anotados. En general, las anotaciones se pueden proporcionar como un archivo CSV, un archivo de manifiesto aumentado generado por Ground Truth, o una archivo PDF. Nuestro enfoque está en las anotaciones de texto sin formato CSV, porque este es el tipo de anotación afectada por los nuevos requisitos mínimos. Los archivos CSV deben tener la siguiente estructura:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 0, 13, ENTITY_TYPE_1
documents.txt, 1, 0, 7, ENTITY_TYPE_2

Los campos relevantes son los siguientes:

  • Archive – El nombre del archivo que contiene los documentos.
  • línea – El número de la línea que contiene la entidad, comenzando con la línea 0
  • Comenzar Compensación – El desplazamiento del carácter en el texto de entrada (relativo al comienzo de la línea) que muestra dónde comienza la entidad, considerando que el primer carácter está en la posición 0
  • Desplazamiento final – El desplazamiento de caracteres en el texto de entrada que muestra dónde termina la entidad
  • Tipo de Propiedad – El nombre del tipo de entidad que desea definir

Además, al usar este enfoque, debe proporcionar una colección de documentos de capacitación como archivos .txt con un documento por línea o un documento por archivo.

Para nuestras pruebas, utilizamos el Punto de referencia de comprensión del lenguaje natural de SNIPS, un conjunto de datos de expresiones de colaboración colectiva distribuidas entre siete intentos de usuario (AddToPlaylist, BookRestaurant, GetWeather, PlayMusic, RateBook, SearchCreativeWork, SearchScreeningEvent). El conjunto de datos se publicó en 2018 en el contexto del artículo. Snips Voice Platform: un sistema integrado de comprensión del lenguaje hablado para interfaces de voz de diseño privado por Couke, et al.

El conjunto de datos SNIPS está compuesto por una colección de archivos JSON que condensan anotaciones y archivos de texto sin formato. El siguiente es un fragmento del conjunto de datos:

{
   "annotations":{
      "named_entity":[
         {
            "start":16,
            "end":36,
            "extent":"within the same area",
            "tag":"spatial_relation"
         },
         {
            "start":40,
            "end":51,
            "extent":"Lawrence St",
            "tag":"poi"
         },
         {
            "start":67,
            "end":70,
            "extent":"one",
            "tag":"party_size_number"
         }
      ],
      "intent":"BookRestaurant"
   },
   "raw_text":"I'd like to eat within the same area of Lawrence St for a party of one"
}

Antes de crear nuestro reconocedor de entidades, transformamos las anotaciones SNIPS y los archivos de texto sin procesar en un archivo de anotaciones CSV y un archivo de documentos .txt.

El siguiente es un extracto de nuestro annotations.csv archivo:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 16, 36, spatial_relation
documents.txt, 0, 40, 51, poi
documents.txt, 0, 67, 70, party_size_number

El siguiente es un extracto de nuestro documents.txt archivo:

I'd like to eat within the same area of Lawrence St for a party of one
Please book me a table for three at an american gastropub 
I would like to book a restaurant in Niagara Falls for 8 on June nineteenth
Can you book a table for a party of 6 close to DeKalb Av

Configuración de muestreo y proceso de evaluación comparativa

Para nuestros experimentos, nos enfocamos en un subconjunto de tipos de entidades del conjunto de datos SNIPS:

  • LibroRestaurante – Tipos de entidades: spatial_relation, poi, party_size_number, restaurant_name, city, timeRange, restaurant_type, served_dish, party_size_description, country, facility, state, sort, cuisine
  • ObtenerTiempo – Tipos de entidades: condition_temperature, current_location, geographic_poi, timeRange, state, spatial_relation, condition_description, city, country
  • Reproducir música – Tipos de entidades: track, artist, music_item, service, genre, sort, playlist, album, year

Además, submuestreamos cada conjunto de datos para obtener diferentes configuraciones en términos de número de documentos muestreados para entrenamiento y número de anotaciones por entidad (también conocido como disparos). Esto se hizo mediante el uso de un script personalizado diseñado para crear conjuntos de datos submuestreados en los que cada tipo de entidad aparece al menos k veces, en un mínimo de n documentos.

Cada modelo se entrenó utilizando una submuestra específica de los conjuntos de datos de entrenamiento; las nueve configuraciones del modelo se ilustran en la siguiente tabla.

Nombre del conjunto de datos submuestreados Número de documentos muestreados para capacitación Número de documentos muestreados para la prueba Número promedio de anotaciones por tipo de entidad (disparos)
snips-BookRestaurant-subsample-A 132 17 33
snips-BookRestaurant-subsample-B 257 33 64
snips-BookRestaurant-subsample-C 508 64 128
snips-GetWeather-subsample-A 91 12 25
snips-GetWeather-subsample-B 185 24 49
snips-GetWeather-subsample-C 361 46 95
snips-PlayMusic-subsample-A 130 17 30
snips-PlayMusic-subsample-B 254 32 60
snips-PlayMusic-subsample-C 505 64 119

Para medir la precisión de nuestros modelos, recopilamos métricas de evaluación que Amazon Comprehend calcula automáticamente al entrenar un reconocedor de entidades:

  • Precisión – Indica la fracción de entidades detectadas por el reconocedor que están correctamente identificadas y etiquetadas. Desde una perspectiva diferente, la precisión se puede definir como tp / (tp + fp), Donde tp es el número de verdaderos positivos (identificaciones correctas) y fp es el número de falsos positivos (identificaciones incorrectas).
  • Recordar – Indica la fracción de entidades presentes en los documentos que están correctamente identificadas y rotuladas. se calcula como tp / (tp + fn), Donde tp es el número de verdaderos positivos y fn es el número de falsos negativos (identificaciones perdidas).
  • Puntuación F1 – Esta es una combinación de las métricas de precisión y recuperación, que mide la precisión general del modelo. La puntuación F1 es la media armónica de las métricas de precisión y recuperación, y se calcula como 2 * Precisión * Recuperación / (Precisión + Recuperación).

Para comparar el rendimiento de nuestros reconocedores de entidades, nos centramos en las puntuaciones de F1.

Teniendo en cuenta que, dado un conjunto de datos y un tamaño de submuestra (en términos de número de documentos y tomas), puede generar diferentes submuestras, generamos 10 submuestras para cada una de las nueve configuraciones, entrenamos los modelos de reconocimiento de entidades, recopilamos métricas de rendimiento y promediarlos usando micro-promedio. Esto nos permitió obtener resultados más estables, especialmente para submuestras de pocos disparos.

Resultados

La siguiente tabla muestra las puntuaciones F1 promediadas a nivel micro calculadas en las métricas de rendimiento devueltas por Amazon Comprehend después de entrenar cada reconocedor de entidades.

Nombre del conjunto de datos submuestreados Puntuación F1 micropromediada del reconocedor de entidades (%)
snips-BookRestaurant-subsample-A 86.89
snips-BookRestaurant-subsample-B 90.18
snips-BookRestaurant-subsample-C 92.84
snips-GetWeather-subsample-A 84.73
snips-GetWeather-subsample-B 93.27
snips-GetWeather-subsample-C 93.43
snips-PlayMusic-subsample-A 80.61
snips-PlayMusic-subsample-B 81.80
snips-PlayMusic-subsample-C 85.04

El siguiente gráfico de columnas muestra la distribución de las puntuaciones de F1 para las nueve configuraciones que entrenamos como se describe en la sección anterior.

Podemos observar que pudimos entrenar con éxito modelos de reconocimiento de entidades personalizados incluso con tan solo 25 anotaciones por tipo de entidad. Si nos enfocamos en los tres conjuntos de datos submuestreados más pequeños (snips-BookRestaurant-subsample-A, snips-GetWeather-subsample-Ay snips-PlayMusic-subsample-A), vemos que, en promedio, pudimos lograr una puntuación F1 del 84 %, lo que es un resultado bastante bueno teniendo en cuenta la cantidad limitada de documentos y anotaciones que usamos. Si queremos mejorar el rendimiento de nuestro modelo, podemos recopilar documentos y anotaciones adicionales y entrenar un nuevo modelo con más datos. Por ejemplo, con submuestras medianas (snips-BookRestaurant-subsample-B, snips-GetWeather-subsample-By snips-PlayMusic-subsample-B), que contienen el doble de documentos y anotaciones, obtuvimos en promedio un puntaje F1 de 88% (5% de mejora con respecto a subsample-A conjuntos de datos). Finalmente, conjuntos de datos submuestreados más grandes (snips-BookRestaurant-subsample-C, snips-GetWeather-subsample-Cy snips-PlayMusic-subsample-C), que contienen aún más datos anotados (aproximadamente cuatro veces el número de documentos y anotaciones utilizados para subsample-A conjuntos de datos), proporcionó una mejora adicional del 2%, elevando el puntaje promedio de F1 al 90%.

Conclusión

En esta publicación, anunciamos una reducción de los requisitos mínimos para entrenar un reconocedor de entidades personalizado con Amazon Comprehend y ejecutamos algunos puntos de referencia en conjuntos de datos de código abierto para mostrar cómo esta reducción puede ayudarlo a comenzar. A partir de hoy, puede crear un modelo de reconocimiento de entidades con tan solo 25 anotaciones por tipo de entidad (en lugar de 100) y al menos tres documentos (en lugar de 250). Con este anuncio, estamos reduciendo la barrera de entrada para los usuarios interesados ​​en utilizar la tecnología de reconocimiento de entidades personalizadas de Amazon Comprehend. Ahora puede comenzar a ejecutar sus experimentos con una colección muy pequeña de documentos anotados, analizar resultados preliminares e iterar al incluir anotaciones y documentos adicionales si necesita un modelo de reconocimiento de entidades más preciso para su caso de uso.

Para obtener más información y comenzar con un reconocedor de entidades personalizado, consulte Reconocimiento de entidades personalizadas.

Un agradecimiento especial a mis colegas Jyoti Bansal y Jie Ma por su valiosa ayuda con la preparación de datos y la evaluación comparativa.


Acerca del autor.

Amazon Comprehend anuncia límites de anotación más bajos para el reconocimiento de entidades personalizadas PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.luca guida es arquitecto de soluciones en AWS; tiene su sede en Milán y apoya a los ISV italianos en su viaje a la nube. Con una formación académica en informática e ingeniería, comenzó a desarrollar su pasión por la IA/ML en la universidad. Como miembro de la comunidad de procesamiento de lenguaje natural (NLP) dentro de AWS, Luca ayuda a los clientes a tener éxito al adoptar servicios de IA/ML.

Sello de tiempo:

Mas de Aprendizaje automático de AWS