Beispiele für semantisches Clustering

Mit dem nlp-Befehl können Sie Schlüsselwörter aus einem Zeichenfolgenfeld extrahieren oder Datensätze basierend auf diesen extrahierten Schlüsselwörtern clustern. Die Schlüsselwortextraktion kann mit einem benutzerdefinierten NLP-Dictionary gesteuert werden. Wenn kein Dictionary angegeben ist, wird das von Oracle definierte Standard-Dictionary verwendet.

Themen:

Weitere Informationen zum semantischen Clustering finden Sie unter Semantisches Clustering.

Kernelfehler in Linux-Syslog-Logs clustern

Die folgende Abfrage clustert Kernelmeldungen in Linux-Syslog-Logs:

'Log Source' = 'Linux Syslog Logs' and kernel
| link cluster()
| where 'Potential Issue' = '1'
| nlp table = 'iSCSI Errors' cluster('Cluster Sample') as 'Cluster ID',
              keywords('Cluster Sample') as Summary
| sort 'Cluster ID'

In der obigen Abfrage gilt Folgendes:

  • link cluster() führt das traditionelle Clustering aus und gibt das Feld Cluster Sample zurück.

  • nlp cluster('Cluster Sample') verarbeitet jedes Cluster Sample und weist eine Cluster-ID zu. Meldungen mit ähnlicher Bedeutung erhalten dieselbe Cluster-ID.

  • keywords('Cluster Sample') extrahiert die beim Clustering verwendeten Schlüsselwörter. Diese werden im Feld Summary zurückgegeben.

Die folgende Abbildung zeigt die zurückgegebenen Linkergebnisse:


Semantisches Clustering der Linux-Syslog-Logs für die Kernelfehler

  • Die erste und zweite Zeile sind nicht ähnlich und erhalten daher unterschiedliche Cluster-IDs.

  • Die dritte und vierte Zeile weisen eine Ähnlichkeit im Clusterbeispiel auf. Diese zeigt sich in der Überschneidung der im Feld Summary extrahierten Schlüsselwörter.

  • Standardmäßig ist eine Überschneidung von 70 % erforderlich, um ein Cluster zu bilden. Diese Einstellung kann mit dem Parameter similarity für das Cluster außer Kraft gesetzt werden.

  • Die generierte Cluster-ID ist deterministisch. Daher kann die Cluster-ID als Shortcut für die Liste der Schlüsselwörter verwendet werden, die in der Spalte Übersicht angezeigt werden.

Verwenden Sie similarity, um die Anzahl der Cluster zu steuern

Die Ausführung des Clusters mit dem Standard-Dictionary und einem niedrigeren Ähnlichkeitsschwellenwert erzeugt weniger Cluster:

'Log Source' = 'Linux Syslog Logs' and kernel
| link cluster()
| where 'Potential Issue' = '1'
| nlp similarity=0.2 cluster('Cluster Sample') as 'Cluster ID',
                     keywords('Cluster Sample') as Summary
| sort 'Cluster ID'

Dadurch wurden einige der Zeilen in den vorhandenen Clustern zusammengeführt und die Anzahl der Cluster reduziert:


Semantisches Clustering der Linux-Syslog-Logs für die Kernelfehler nach Reduzierung der Anzahl der Cluster basierend auf Ähnlichkeit

Datenbankalertlogs clustern

Die folgende Abfrage zeigt ein Beispiel für das semantische Clustering von Datenbankalertlogs:

'Log Source' = 'Database Alert Logs'
| link cluster()
| nlp cluster('Cluster Sample') as 'Cluster ID',
      keywords('Cluster Sample') as Summary
| where Summary != null
| classify 'Start Time', Summary, 'Cluster ID' as 'Database Messages'

Semantisches Clustering der Datenbanklogs für die Cluster-ID 1188814328


Semantisches Clustering der Datenbanklogs für die ausgewählte Cluster-ID und angrenzende Übersicht über die Schlüsselwörter