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 FeldCluster Samplezurück. -
nlp cluster('Cluster Sample')verarbeitet jedesCluster Sampleund 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 FeldSummaryzurückgegeben.
Die folgende Abbildung zeigt die zurückgegebenen Linkergebnisse:

-
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
Summaryextrahierten Schlüsselwörter. -
Standardmäßig ist eine Überschneidung von 70 % erforderlich, um ein Cluster zu bilden. Diese Einstellung kann mit dem Parameter
similarityfü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:

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'
