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

Communications Mining-Benutzerhandbuch

Letzte Aktualisierung 7. Okt. 2025

Elasticsearch-Integration

Communications Mining™ bietet eine Vielzahl integrierter Analysetools. Manchmal ist es jedoch erforderlich, die Vorhersagen aus Communications Mining mit Daten zu verbinden, die nicht als Teil von Communications Mining-Kommentaren hochgeladen werden können. In diesen Fällen besteht eine gängige Lösung darin, die Vorhersagen von Communications Mining und alle zusätzlichen Daten in Elasticsearch zu indizieren und ein Tool wie Kibana zu verwenden, um die Analyse zu ermöglichen. In diesem Tutorial wird beschrieben, wie Communications Mining-Daten in Elasticsearch importiert und in Kibana visualisiert werden.

Die Daten, die in den Beispielen in diesem Tutorial verwendet werden, sind generierte Dummy-E-Mails aus der Versicherungsdomäne.

Speichern von Daten in Elasticsearch

First, let's define the data that we want to import into Elasticsearch. Communications Mining™ API provides the comment text, comment metadata, predicted labels and predicted general fields in a nested JSON object. The following is an example of a raw comment provided by the Communications Mining API.
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"]
  }
}
Beachten Sie, dass ein Kommentar null, eine oder mehrere Beschriftungen haben kann, deshalb muss das Feld labels ein Array sein. Wenn ein oder mehrere allgemeine Feldtypen für das Dataset konfiguriert wurden, enthält ein Kommentar außerdem null, ein oder mehrere allgemeine Felder jedes allgemeinen Feldtyps. Die hierarchischen Bezeichnungsnamen in der unformatierten API-Antwort sind selbst Arrays (["Admin", "Change of address"]) und sollten in Strings konvertiert werden ("Admin > Change of address").

Abrufen von Daten

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.

Allgemeine Felder haben keine Konfidenzbewertungen, daher ist keine spezielle Behandlung erforderlich.

Hinweis:

Verwalten der Modelländerungen

Beim Erstellen eines Streams geben Sie eine Modellversion an. Diese Modellversion wird verwendet, um Vorhersagen beim Abrufen von Kommentaren aus dem Stream bereitzustellen. Auch wenn Benutzer neue Modellversionen in der Plattform weiter trainieren, verwendet Ihr Stream die von Ihnen angegebene Modellversion, was Ihnen determinierte Ergebnisse liefert.

Um auf eine neue Modellversion zu aktualisieren, müssen Sie einen neuen Stream erstellen, der diese Modellversion verwendet, und dann Ihren Code aktualisieren, um den neuen Stream zu verwenden. (Aus diesem Grund empfehlen wir, dass Sie den Streamnamen in Ihrem Code konfigurierbar machen.) Um sicherzustellen, dass Analysen mit Vorhersagen konsistent bleiben, sollten Sie Vorhersagen für historische Daten mithilfe der aktualisierten Modellversion erneut erfassen. Das ist möglich, indem Sie zum Zeitstempel vor Ihrem ältesten Kommentar streamen und die Daten von Anfang an erneut erfassen.

Visualisieren von Daten in Kibana

Sobald Sie die Daten in Elasticsearch indiziert haben, können Sie mit dem Erstellen von Visualisierungen beginnen. Dieser Abschnitt enthält einfache Beispiele für eine Reihe gängiger Visualisierungstools in Kibana.

Timeout

Sie können den folgenden Ausdruck verwenden, um ein Diagramm der fünf gängigsten Beschriftungen im Zeitverlauf zu erstellen. Beachten Sie, dass hier sowohl Kategorie- als auch Unterkategoriebeschriftungen der obersten Ebene angezeigt werden.

.es(index=example-data,split=labels:5,timefield=@timestamp)
    .label("$1", "^.* > labels:(.+) > .*").es(index=example-data,split=labels:5,timefield=@timestamp)
    .label("$1", "^.* > labels:(.+) > .*")
Abbildung 1. Top 5 der Beschriftungen in einem Dataset, das im Laufe der Zeit aufgezeichnet wurde.

Balkendiagramm

This bar chart shows the top 20 sender email addresses in the dataset. Sender and recipient email addresses are part of comment metadata in email-based datasets.
Abbildung 2. Top 20 der E-Mail-Adressen der Absender.

Kreisdiagramm

Dieses Kreisdiagramm zeigt Unterkategoriebezeichnungen unter der übergeordneten Beschriftung „Anspruch“ an. Die Bezeichnungskategorien werden vom Benutzer definiert, der das Modell trainiert.
Abbildung 3. Unterkategorien des Labels Anspruch.

  • Speichern von Daten in Elasticsearch
  • Abrufen von Daten
  • Visualisieren von Daten in Kibana

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo
Vertrauen und Sicherheit
© 2005–2025 UiPath. Alle Rechte vorbehalten