communications-mining
latest
false
Importante :
Este contenido se ha traducido mediante traducción automática.
UiPath logo, featuring letters U and I in white

Guía para desarrolladores de Communications Mining

Última actualización 20 de dic. de 2024

Integración de Elasticsearch

Communications Mining ofrece un amplio conjunto de herramientas de análisis integradas. Sin embargo, a veces es necesario unir las predicciones de Communications Mining con datos que no se pueden cargar como parte de los comentarios de Communications Mining. En estos casos, una solución común es indexar las predicciones de Communications Mining y cualquier dato adicional en Elasticsearch y utilizar una herramienta como Kibana para impulsar el análisis. Este tutorial describe cómo importar datos de Communications Mining en Elasticsearch y visualizarlos en Kibana.

Los datos utilizados en los ejemplos de este tutorial se generan en correos electrónicos ficticios desde el dominio del seguro.

Almacenar datos en Elasticsearch

Primero, definamos los datos que queremos importar a Elasticsearch. La API de Communications Mining proporciona el texto del comentario, los metadatos del comentario, las etiquetas previstas y los campos generales previstos en un objeto JSON anidado. A continuación se muestra un ejemplo de un comentario sin procesar proporcionado por la API de Communications Mining. (Ten en cuenta que puedes ver diferentes campos de metadatos en función de cómo se ingirieron tus datos en Communications Mining. Puedes obtener más información sobre los campos de objeto de comentario aquí.)

{
  "comment": {
    "id": "c7a1c529-3f57-4be6-9102-c9f892b81ae51",
    "uid": "49ba2c56a945386c.c7a1c529-3f57-4be6-9102-c9f892b81ae51",
    "timestamp": "2021-03-29T08:36:25.607Z",
    "messages": [
      {
        "body": {
          "text": "The policyholder has changed their address to the new address: 19 Essex Gardens, SW17 2UL"
        },
        "subject": {
          "text": "Change of address - Policy SFG48807871"
        },
        "from": "CPX8460080@broker.com",
        "to": ["underwriter@insurer.com"],
        "sent_at": "2021-03-29T08:36:25.607Z"
      }
    ]
    // (... more properties ...)
  },
  "labels": [
    {
      "name": ["Admin"],
      "probability": 0.9995054006576538
    },
    {
      "name": ["Admin", "Change of address"],
      "probability": 0.9995054006576538
    }
  ],
  "entities": [
    {
      "name": "address-line-1",
      "formatted_value": "19 Essex Gardens",
      "span": {
        "content_part": "body",
        "message_index": 0,
        "char_start": 63,
        "char_end": 79,
        "utf16_byte_start": 126,
        "utf16_byte_end": 158
      }
    },
    {
      "name": "post-code",
      "formatted_value": "SW17 2UL",
      "span": {
        "content_part": "body",
        "message_index": 0,
        "char_start": 81,
        "char_end": 89,
        "utf16_byte_start": 162,
        "utf16_byte_end": 178
      }
    },
    {
      "name": "policy-number",
      "formatted_value": "SFG48807871",
      "span": {
        "content_part": "subject",
        "message_index": 0,
        "char_start": 27,
        "char_end": 38,
        "utf16_byte_start": 54,
        "utf16_byte_end": 76
      }
    }
  ]
}{
  "comment": {
    "id": "c7a1c529-3f57-4be6-9102-c9f892b81ae51",
    "uid": "49ba2c56a945386c.c7a1c529-3f57-4be6-9102-c9f892b81ae51",
    "timestamp": "2021-03-29T08:36:25.607Z",
    "messages": [
      {
        "body": {
          "text": "The policyholder has changed their address to the new address: 19 Essex Gardens, SW17 2UL"
        },
        "subject": {
          "text": "Change of address - Policy SFG48807871"
        },
        "from": "CPX8460080@broker.com",
        "to": ["underwriter@insurer.com"],
        "sent_at": "2021-03-29T08:36:25.607Z"
      }
    ]
    // (... more properties ...)
  },
  "labels": [
    {
      "name": ["Admin"],
      "probability": 0.9995054006576538
    },
    {
      "name": ["Admin", "Change of address"],
      "probability": 0.9995054006576538
    }
  ],
  "entities": [
    {
      "name": "address-line-1",
      "formatted_value": "19 Essex Gardens",
      "span": {
        "content_part": "body",
        "message_index": 0,
        "char_start": 63,
        "char_end": 79,
        "utf16_byte_start": 126,
        "utf16_byte_end": 158
      }
    },
    {
      "name": "post-code",
      "formatted_value": "SW17 2UL",
      "span": {
        "content_part": "body",
        "message_index": 0,
        "char_start": 81,
        "char_end": 89,
        "utf16_byte_start": 162,
        "utf16_byte_end": 178
      }
    },
    {
      "name": "policy-number",
      "formatted_value": "SFG48807871",
      "span": {
        "content_part": "subject",
        "message_index": 0,
        "char_start": 27,
        "char_end": 38,
        "utf16_byte_start": 54,
        "utf16_byte_end": 76
      }
    }
  ]
}

El esquema de los comentarios sin procesar devueltos por la API de Communications Mining es un inconveniente para filtrar y consultar estos datos en Elasticsearch, por lo que debes cambiar el esquema antes de introducir los datos en Elasticsearch. A continuación se muestra un ejemplo de esquema plano que puedes utilizar. Debes añadir todos los campos que necesites para tu caso de uso.

{
  "id": "c7a1c529-3f57-4be6-9102-c9f892b81ae51",
  "uid": "49ba2c56a945386c.c7a1c529-3f57-4be6-9102-c9f892b81ae51",
  "timestamp": "2021-03-29T08:36:25.607Z",
  "subject": "Change of address - Policy SFG48807871",
  "body": "The policyholder has changed their address to the new address: 19 Essex Gardens, SW17 2UL",
  // (... more fields ...)
  "labels": ["Admin", "Admin > Change of address"],
  "entities": {
    "policy_number": ["SFG48807871"],
    "address-line-1": ["19 Essex Gardens"],
    "post-code": ["SW17 2UL"]
  }
}{
  "id": "c7a1c529-3f57-4be6-9102-c9f892b81ae51",
  "uid": "49ba2c56a945386c.c7a1c529-3f57-4be6-9102-c9f892b81ae51",
  "timestamp": "2021-03-29T08:36:25.607Z",
  "subject": "Change of address - Policy SFG48807871",
  "body": "The policyholder has changed their address to the new address: 19 Essex Gardens, SW17 2UL",
  // (... more fields ...)
  "labels": ["Admin", "Admin > Change of address"],
  "entities": {
    "policy_number": ["SFG48807871"],
    "address-line-1": ["19 Essex Gardens"],
    "post-code": ["SW17 2UL"]
  }
}
Ten en cuenta que un comentario puede tener cero, una o varias etiquetas, por lo que el campo labels debe ser una matriz. Además, si se han configurado uno o más tipos de campos generales para el conjunto de datos, un comentario tendrá cero, uno o más campos generales de cada tipo de campo general. Los nombres de las etiquetas jerárquicas en la respuesta API sin formato son matrices (["Admin", "Change of address"]) y deben convertirse en cadenas ("Admin > Change of address").

Obtener datos

Para recuperar los datos, recomendamos utilizar el archivo . (Consulta aquí para obtener una descripción general de todos los métodos de descarga de datos disponibles). Al crear una transmisión, debes establecer los umbrales para cada etiqueta de modo que se descarten las etiquetas con puntuaciones de confianza por debajo del umbral. Esto es más fácil de hacer desde la interfaz de usuario de Communications Mining yendo a la página "Transmisiones" de un conjunto de datos. Habiendo utilizado las puntuaciones de confianza para determinar si se aplica una etiqueta, puedes importar solo los nombres de las etiquetas en Elasticsearch. (Consulta la sección Etiquetas para análisis para ver una discusión sobre cuándo recomendamos eliminar o mantener las puntuaciones de confianza de las etiquetas).

Los campos generales no tienen puntuaciones de confianza, por lo que no se requiere un tratamiento especial.

Nota:

GESTIÓN DE CAMBIOS DE MODELO

Al crear una secuencia, se especifica una versión del modelo. Esta versión del modelo se utiliza para proporcionar predicciones al obtener comentarios de la secuencia. Aunque los usuarios sigan entrenando nuevas versiones del modelo en la plataforma, tu secuencia utilizará la versión del modelo que hayas especificado, proporcionándote resultados deterministas.

Para actualizar a una nueva versión del modelo, debes crear una nueva transmisión que utilice esa versión del modelo y, a continuación, actualizar tu código para utilizar la nueva transmisión. (Por este motivo, te recomendamos que configures el nombre de la transmisión en tu código). Para garantizar que los análisis que utilizan predicciones sean coherentes, debes volver a incorporar las predicciones para los datos históricos utilizando la versión actualizada del modelo. Puedes hacerlo mediante la transmisión a la marca de tiempo anterior a tu comentario más antiguo y volviendo a incorporar los datos desde el principio.

Visualizar datos en Kibana

Una vez indexados los datos en Elasticsearch, puedes empezar a crear visualizaciones. Esta sección proporciona ejemplos sencillos de una serie de herramientas de visualización comunes en Kibana.

Timelion

Puedes utilizar la siguiente expresión para producir un gráfico de las 5 etiquetas más comunes a lo largo del tiempo. Ten en cuenta que esto muestra tanto las etiquetas de categoría de nivel superior como las de subcategoría.

.es(index=example-data,split=labels:5,timefield=@timestamp)
    .label("$1", "^.* > labels:(.+) > .*").es(index=example-data,split=labels:5,timefield=@timestamp)
    .label("$1", "^.* > labels:(.+) > .*")
Figura 1. Las 5 etiquetas principales de un conjunto de datos trazadas a lo largo del tiempo.

Gráfico de barras

Este gráfico de barras muestra las 20 direcciones de correo electrónico de los principales remitentes en el conjunto de datos. Las direcciones de correo electrónico del remitente y del destinatario forman parte de los metadatos de los comentarios en los conjuntos de datos basados en correo electrónico.
Figura 2. Las 20 direcciones de correo electrónico de los principales remitentes.

Gráfico circular

Este gráfico circular muestra las etiquetas de las subcategorías bajo la etiqueta "Reclamación" de nivel superior. Las categorías de etiquetas las define el usuario que entrena el modelo.
Figura 3. Subcategorías de la etiqueta Reclamación.

  • Almacenar datos en Elasticsearch
  • Obtener datos
  • Visualizar datos en Kibana

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.