- Documentos de la API
- Introducción
- Uso de la API
- Tutorial de la API
- Resumen
- Fuentes
- Conjuntos de datos
- Comentarios
- Archivos adjuntos
- Predictions
- Crear una transmisión
- Actualizar una transmisión
- Obtener una transmisión por nombre
- Obtener todas las transmisiones
- Eliminar una transmisión
- Obtener resultados de la transmisión
- Obtener comentarios de una transmisión (heredado)
- Avanzar una transmisión
- Restablecer una transmisión
- Etiquetar una excepción
- Desetiquetar una excepción
- Eventos de auditoría
- Obtener todos los usuarios
- CLI
- Guías de integración
- Integración de Exchange con el usuario del servicio de Azure
- Integración de Exchange con la autenticación de aplicaciones de Azure
- Automatización en tiempo real
- Obtener datos para Tableau con Python
- Integración de Elasticsearch
- Integración de EWS autohospedado
- Marco de automatización de UiPath
- Actividades de UiPath Marketplace
- Actividades oficiales de UiPath
- Blog
- Cómo aprenden las máquinas a entender palabras: una guía para las incrustaciones en PNL
- Aprendizaje basado en solicitudes con Transformers
- Efficient Transformers II: destilación de conocimientos y ajuste
- Transformadores eficientes I: mecanismos de atención
- Modelado de intenciones jerárquico profundo no supervisado: obtener valor sin datos de entrenamiento
- Corrección del sesgo de anotación con Communications Mining
- Aprendizaje activo: mejores modelos ML en menos tiempo
- Todo está en los números: evaluar el rendimiento del modelo con métricas
- Por qué es importante la validación del modelo
- Comparación de Communications Mining y Google AutoML para la inteligencia de datos conversacional
Guía para desarrolladores de Communications Mining
Corrección del sesgo de anotación con Communications Mining
Communications Mining utiliza modelos de aprendizaje automático para identificar patrones en datos de comunicaciones como correos electrónicos, chats y llamadas. Los modelos extrapolan estos patrones para hacer predicciones para datos similares en el futuro, impulsando procesos posteriores como automatizaciones y análisis.
Para que este enfoque funcione, los datos utilizados para entrenar un modelo deben ser representativos de las comunicaciones sobre las que hará predicciones. Cuando este no es el caso, los modelos cometerán errores que pueden afectar seriamente al rendimiento de los sistemas que dependen de predicciones precisas.
Para ayudar a los usuarios a crear modelos sólidos y de buen rendimiento, hemos creado una herramienta para garantizar que los datos utilizados para el entrenamiento siempre coincidan con la tarea de destino del usuario. En esta publicación de blog analizamos cómo funciona esta herramienta y algunos de los problemas que abordamos durante su desarrollo.
¿Qué es el sesgo de anotación?
Los modelos en Communications Mining se entrenan con datos revisados por los usuarios. Los usuarios crean etiquetas para los temas que les interesan y luego anotan los ejemplos con las etiquetas correspondientes. A continuación, se entrena automáticamente un modelo con estos datos revisados para predecir qué etiquetas se aplican.
Anotar datos es difícil y requiere mucho tiempo. Communications Mining aprovecha el aprendizaje activo para acelerar el proceso, ayudando a los usuarios a anotar los puntos de datos más informativos en el menor tiempo posible.
Dado que el aprendizaje activo selecciona puntos de datos específicos, tiende a centrarse solo en un subconjunto de los datos subyacentes. Además, cambiar entre conceptos conlleva una sobrecarga cognitiva. Se anima a los usuarios a anotar grupos de ejemplos de temas similares al mismo tiempo, en lugar de cambiar constantemente entre temas.
Esto puede hacer que algunos temas aparezcan con más o menos frecuencia en los datos revisados que en el conjunto de datos en su conjunto. A esto lo llamamos sesgo de anotación, porque los datos anotados por los usuarios ya no representan los datos subyacentes.
¿Por qué debería importarte?
Communications Mining utiliza los datos revisados durante la validación para evaluar el rendimiento del modelo. Si estos datos están sesgados hacia ciertos temas, los resultados de la validación pueden ser engañosos.
Considere un buzón compartido para un banco multinacional que contenga correos electrónicos de toda EMEA. Los modelos multilingües de Communications Mining pueden comprender los datos de las comunicaciones en una combinación de idiomas. Sin embargo, si un usuario solo etiqueta los correos electrónicos de un solo idioma, el modelo puede aprender a centrarse en características específicas de ese idioma.
En este caso, las puntuaciones de validación serían buenas para ese modelo, ya que funciona bien en todos los ejemplos anotados. Por otro lado, el rendimiento de los correos electrónicos en otros idiomas puede ser peor. El usuario no lo sabría porque no hay ejemplos para resaltar esto en los datos revisados. Esto podría dar lugar a ineficiencias en cualquier proceso que dependa del modelo para realizar predicciones precisas.
Las matemáticas detrás del sesgo de etiquetado
Cada uno de estos componentes se estima a partir de algunos o todos los conjuntos de datos durante el entrenamiento.
- P(Documento∣Etiqueta) Modela el rango de documentos para un tema determinado. El modelo aprende a estimar esto a partir de los datos anotados, extrapolando utilizando su conocimiento del idioma y del mundo.
- P(Documento) Modela los diferentes tipos de documentos en el conjunto de datos y sus frecuencias relativas. Esto es independiente de las etiquetas y puede estimarse a partir de todos los ejemplos (tanto revisados como no revisados).
- P(Etiqueta) Modela la frecuencia de diferentes temas. Esto solo puede estimarse a partir de los datos anotados, ya que es específico de cada caso de uso.
Las tres partes son necesarias para encontrar P(Etiqueta∣Documento). Sin embargo, tanto P(Etiqueta) como P(Documento∣Etiqueta) dependen en gran medida de los datos anotados. Cuando hay un sesgo de anotación, estas estimaciones pueden no coincidir con las distribuciones reales, lo que da lugar a imprecisiones en P(Etiqueta∣Documento).
Dado el papel vital que desempeñan los datos revisados en el entrenamiento y la validación de modelos, debemos detectar el sesgo de anotación y advertir a los usuarios cuando sus datos no son representativos.
En el nivel más simple, el sesgo de anotación es una discrepancia entre los ejemplos que han sido revisados por los usuarios y los que no. Imagina que se le pide a una persona que compruebe si hay sesgos de anotación en un conjunto de datos. Esta persona podría ver los temas comunes que aparecen en los datos revisados y luego comprobar con qué frecuencia ocurren en los datos no revisados.
Si la persona encuentra una regla fiable para diferenciar entre estos dos grupos, podemos estar seguros de que hay un desequilibrio. Por otro lado, en un conjunto de datos sin sesgo de anotación, una persona no podría predecir con precisión si los ejemplos se revisan o no. El rendimiento predictivo de esta persona mide cuánto sesgo de anotación está presente en el conjunto de datos.
Utilizamos esta idea como punto de partida para nuestro modelo de sesgo de anotación.
La tarea de comparación puede automatizarse con un modelo de aprendizaje automático. Este modelo es diferente al modelo básico de Communications Mining, que predice qué etiquetas o campos generales se aplican a un documento. En su lugar, el modelo está entrenado para identificar los puntos de datos revisados.
Las puntuaciones de validación del modelo muestran la facilidad con la que el modelo puede distinguir entre ejemplos revisados y no revisados y, por lo tanto, cuánto sesgo de anotación está presente en el conjunto de datos.
Clasificación de ejemplos revisados
Un modelo de clasificador simple entrenado en el conjunto de datos sintético tiene una precisión media superior al 80 %. Si el conjunto de datos no estuviera sesgado, esperaríamos que el modelo no funcionara mejor que el azar, que coincide con el sesgo que podemos ver en los datos revisados.
Modelos de clasificadores ingenuos similares entrenados en conjuntos de datos reales también podrían detectar de forma fiable los ejemplos revisados. Esto sugiere que el sesgo de anotación estaba presente en estos conjuntos de datos, pero se desconocía la fuente exacta.
Para el conjunto de datos sintéticos, es fácil ver el efecto de anotar el sesgo en los datos trazados. Este no es el caso de un conjunto de datos real, donde los datos se encuentran en más de 2 dimensiones y los patrones suelen ser mucho más complejos.
En su lugar, podemos buscar patrones en ejemplos que el modelo confía en que no han sido revisados. Este enfoque mostró que los correos electrónicos predichos con confianza como no revisados a menudo contenían archivos adjuntos sin texto. Cuando estos correos electrónicos estaban presentes en los datos, generalmente estaban subrepresentados en los ejemplos revisados.
Esto constituye un claro sesgo de anotación y muestra la promesa de un modelo clasificador.
El modelo de sesgo de anotación está entrenado para distinguir entre datos revisados y no revisados. En esta configuración, el modelo intenta atrapar al usuario identificando patrones en sus datos anotados. Este enfoque contradictorio es una forma poderosa de inspeccionar los datos revisados, pero también plantea dos problemas interesantes.
Diferencias triviales
Las diferencias en los datos revisados y no revisados recogidos por el modelo deberían tener sentido para los usuarios. Sin embargo, cuando proporcionamos al modelo de sesgo ingenuo con entradas detalladas, encontramos que el modelo a veces se centraba en patrones insignificantes.
.jpg
con GOCR
en el nombre se predijeron con confianza como no revisados. No había ejemplos de este tipo en el conjunto revisado, pero sí 160 en el conjunto no revisado, lo que representa un pequeño sesgo de anotación.
GOCR
en los nombres de archivo, y estos ejemplos eran solo un subconjunto de correos electrónicos de solo archivos adjuntos en el conjunto de datos. De hecho, todos estos correos electrónicos tenían predicciones seguras y correctas para la etiqueta Auto-Generated
del conjunto de datos, lo que significa que estas características tampoco tenían importancia para el modelo de anotación de Communications Mining. Sin embargo, el modelo de sesgo utilizaba estas características para hacer predicciones.
Los usuarios no deberían tener que etiquetar todas las combinaciones de características sin sentido para obtener una buena puntuación de sesgo de anotación. Para casi todos los conceptos, no necesitamos miles de ejemplos para capturar completamente el rango de posibles puntos de datos. En su lugar, el modelo de sesgo de anotación solo debe centrarse en las diferencias que realmente afectan a las predicciones de anotación.
Temas sin importancia
Los conjuntos de datos pueden contener puntos de datos que los usuarios nunca anotan porque son irrelevantes para su tarea de destino.
Volviendo a nuestro ejemplo de banca multinacional, los equipos podrían utilizar Communications Mining para impulsar casos de uso específicos de cada país. Cada equipo crearía un modelo personalizado para su tarea de destino, y todos los modelos utilizarían correos electrónicos del buzón compartido.
Es probable que estos casos de uso difieran entre equipos. Los países europeos pueden desear realizar un seguimiento del efecto del Brexit en sus operaciones y crearían un conjunto de etiquetas para este propósito. Por otro lado, es posible que los equipos de Oriente Medio y África no utilicen los correos electrónicos relacionados con el Brexit y los ignoren en su modelo.
No anotar los correos electrónicos relacionados con el Brexit es un ejemplo de sesgo de anotación. Sin embargo, este es un sesgo que no es importante para los usuarios de Oriente Medio y África. El modelo de sesgo debe tener esto en cuenta y solo buscar el sesgo de anotación en los correos electrónicos que el equipo considere útiles.
Necesitamos hacer que sea más difícil para el etiquetador centrarse en características pequeñas, pero guiar esto por lo que el usuario define como útil. Para ello, podemos modificar las entradas que pasamos a nuestro modelo de sesgo de anotación.
ENTRADAS DEL MODELO
Las entradas de nuestro modelo de anotación central contienen una gran cantidad de información del texto de entrada. Esto permite que el modelo aprenda relaciones complejas que influyen en las predicciones de las etiquetas. Sin embargo, para el modelo de sesgo de anotación, esto también permite que el modelo se centre en diferencias pequeñas y sin sentido en características como los nombres de archivo.
La reducción de la dimensionalidad es una forma de filtrar la información manteniendo las propiedades significativas de las entradas originales. El uso de entradas reducidas evita que el modelo de sesgo se centre en características pequeñas al tiempo que conserva la información que es importante en un conjunto de datos.
Los usuarios solo crean etiquetas para los temas de los que quieren realizar un seguimiento, por lo que incluir etiquetas durante la reducción de la dimensionalidad significa que mantenemos las características de entrada más importantes. Con este enfoque, nuestro modelo de sesgo de anotación ya no se centra en las características pequeñas y tiene en cuenta las etiquetas al estimar el sesgo.
Utilizamos nuestro modelo de sesgo de anotación para dos tareas principales en Communications Mining.
Puntuaciones de equilibrio
Detectar y abordar el sesgo de anotación es vital para obtener puntuaciones de validación de modelos fiables. Por ello, mostramos el rendimiento del modelo de sesgo de anotación en la calificación del modelo.
Esto es en forma de una medida de similitud entre los datos revisados y no revisados. Una puntuación de similitud baja indica una gran diferencia entre los datos revisados y los no revisados, lo que pone de manifiesto el sesgo de anotación en el conjunto de datos.
Reequilibrar
La mejor manera de crear un conjunto imparcial de datos revisados es anotar una selección aleatoria de ejemplos. De esta manera, las etiquetas revisadas siempre coincidirán con la distribución subyacente. Sin embargo, anotar de esta manera es ineficiente, especialmente para conceptos raros.
En su lugar, Communications Mining utiliza el aprendizaje activo para acelerar el proceso de anotación centrándose en los ejemplos más útiles. Estos ejemplos específicos no siempre coinciden con la distribución de datos subyacente, lo que significa que los sesgos de anotación pueden desarrollarse gradualmente con el tiempo.
No se garantiza que el aprendizaje activo produzca un conjunto imparcial de ejemplos revisados. Sin embargo, cuando se detecta un sesgo de anotación, podemos utilizar el modelo de sesgo de anotación para abordar cualquier desequilibrio. De esta manera, nos beneficiamos del tiempo de entrenamiento reducido del aprendizaje activo y del bajo sesgo de anotación del muestreo aleatorio.
Rebalance
, que muestra los puntos de datos que el modelo de sesgo confía en que no se han revisado y, por lo tanto, están insuficientemente representados en el conjunto de datos. Anotar estos ejemplos proporciona una forma rápida de abordar el sesgo de anotación en un conjunto de datos.
Para demostrar cómo el reequilibrio mejora el rendimiento de Communications Mining, simulamos ejemplos de usuarios que anotan siguiendo tres estrategias de aprendizaje activo.
- Aleatorio. Anota una selección aleatoria de los ejemplos no revisados.
- Estándar Anota los ejemplos de los que Communications Mining no está seguro, o aquellos con la entropía de predicción más alta. Este es un enfoque común para el aprendizaje activo, y es equivalente a utilizar solo la vista
Teach
en Communications Mining. - Minería de comunicaciones. Sigue la estrategia de aprendizaje activo de Communications Mining, que sugiere las principales acciones de entrenamiento para mejorar el modelo actual. Esto incluye la vista
Rebalance
.
Ejecutamos estas simulaciones en el conjunto de datos de Reuters de código abierto proporcionado por NLTK que contiene artículos de noticias etiquetados con una o más de 90 etiquetas. Para cada ejecución, se utilizó el mismo conjunto inicial de 100 ejemplos seleccionados aleatoriamente. Para cada paso de la simulación, modelamos a los usuarios anotando 50 ejemplos seleccionados por la estrategia de aprendizaje activa. Communications Mining vuelve a entrenar y el proceso se repite.
El siguiente diagrama muestra el rendimiento del modelo de anotación de Communications Mining en la tarea de Reuters a medida que se anotan más ejemplos. También se muestra la puntuación de equilibrio, que representa la cantidad de sesgo de anotación presente en el conjunto de datos.
La estrategia de aprendizaje activo de Communications Mining produce puntuaciones de equilibrio similares a las del muestreo aleatorio, pero requiere menos ejemplos para producir el mismo rendimiento del modelo. Esto significa que el aprendizaje activo con Rebalance ofrece lo mejor tanto del aprendizaje activo estándar como del muestreo aleatorio: ejemplos imparciales revisados y buen rendimiento del modelo en menos tiempo.
- Para obtener puntuaciones precisas de validación del modelo, los datos anotados deben ser representativos del conjunto de datos en su conjunto.
- El modelo de sesgo de anotación de Communications Mining compara los datos revisados y no revisados para detectar temas que están infrarrepresentados en el conjunto de datos.
- La vista
Rebalance
se puede utilizar para abordar rápidamente el sesgo de anotación en un conjunto de datos. - El aprendizaje activo de Communications Mining conduce a un menor sesgo de anotación que los enfoques estándar, y funciona mejor que el muestreo aleatorio solo.