ixp
latest
false
UiPath logo, featuring letters U and I in white

Guía del usuario de Communications Mining

Última actualización 7 de oct. de 2025

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. El siguiente es un ejemplo de un comentario sin formato proporcionado por la API de Communications Mining.
Note: You may notice different metadata fields depending on how your data was ingested into Communications Mining. To learn more about comment object fields, check Comments.
{
  "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
      }
    }
  ]
}
The schema of the raw comments returned by the Communications Mining API is inconvenient for filtering and querying this data in Elasticsearch, so you should change the schema before ingesting the data into Elasticsearch. The following is an example flattened schema you can use. You should add all fields that you need for your use-case.
{
  "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

In order to fetch the data, we recommend using the . For an overview of all available data download methods, check Downloading data. When creating a Stream, you should set the thresholds for each label so that labels with confidence scores below the threshold are discarded. This is easiest to do from the Communications Mining™ UI by going to the "Streams" page of a dataset. Having used the confidence scores to determine whether a label applies, you can then import just the label names into Elasticsearch. For a discussion on when we recommend dropping or keeping label confidence scores, check Labels for Analytics.

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 luego actualizar tu código para utilizar la nueva transmisión. (Por esta razón, 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 de 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 principales direcciones de correo electrónico de los remitentes en el conjunto de datos. Las direcciones de correo electrónico del remitente y el 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
Confianza y seguridad
© 2005-2025 UiPath. Todos los derechos reservados.