communications-mining
latest
false
Wichtig :
Dieser Inhalt wurde maschinell übersetzt.
UiPath logo, featuring letters U and I in white

Communications Mining-Entwicklerhandbuch

Letzte Aktualisierung 26. Nov. 2024

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-Kommentare hochgeladen werden können. In diesen Fällen besteht eine gängige Lösung darin, die Communications Mining-Vorhersagen und alle zusätzlichen Daten in Elasticsearch zu indizieren und ein Tool wie Kibana zu verwenden, um die Analyse voranzutreiben. 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

Definieren wir zunächst die Daten, die wir in Elasticsearch importieren möchten. Die Communications Mining-API stellt den Kommentartext, die Kommentarmetadaten, die vorhergesagten Beschriftungen und die vorhergesagten allgemeinen Felder in einem verschachtelten JSON-Objekt bereit. Nachfolgend finden Sie ein Beispiel für einen unformatierten Kommentar, der von der Communications Mining API bereitgestellt wird. (Beachten Sie, dass Sie unterschiedliche Metadatenfelder sehen können, je nachdem, wie Ihre Daten in Communications Mining aufgenommen wurden.) Weitere Informationen zu Kommentarobjektfeldern finden Sie hier.

{
  "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
      }
    }
  ]
}

Das Schema der unformatierten Kommentare, die von der Communications Mining-API zurückgegeben werden, ist unpraktisch zum Filtern und Abfragen dieser Daten in Elasticsearch. Daher sollten Sie das Schema ändern, bevor Sie die Daten in Elasticsearch aufnehmen. Im Folgenden finden Sie ein Beispiel für ein abgeflachtes Schema, das Sie verwenden können. Sie sollten alle Felder hinzufügen, die Sie für Ihren Anwendungsfall benötigen.

{
  "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

Zum Abrufen der Daten empfehlen wir die Verwendung des . ( Hier finden Sie eine Übersicht über alle verfügbaren Methoden zum Herunterladen von Daten.) Beim Erstellen eines Streams sollten Sie die Schwellenwerte für jede Beschriftung festlegen, sodass Beschriftungen mit Konfidenzwerten unter dem Schwellenwert verworfen werden. Am einfachsten ist dies über die Communications Mining-UI, indem Sie zur Seite „Streams“ eines Datasets wechseln. Nachdem Sie die Konfidenzbewertungen verwendet haben, um zu bestimmen, ob eine Beschriftung zutrifft, können Sie dann nur die Beschriftungsnamen in Elasticsearch importieren. (Im Abschnitt Beschriftungen für Analytics finden Sie eine Diskussion darüber, wann wir empfehlen, die Konfidenzwerte für Beschriftungen wegzulassen oder beizubehalten.)

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

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, den Streamnamen in Ihrem Code konfigurierbar zu machen.) Um sicherzustellen, dass Analysen, die Vorhersagen verwenden, konsistent bleiben, sollten Sie Vorhersagen für historische Daten mit der aktualisierten Modellversion erneut erfassen. Dies ist möglich, indem Sie bis 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

Dieses Balkendiagramm zeigt die 20 wichtigsten E-Mail-Adressen der Absender im Dataset. E-Mail-Adressen von Absendern und Empfängern sind Teil von Kommentarmetadaten in E-Mail-basierten 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.

War diese Seite hilfreich?

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