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 Sample
zurück. -
nlp cluster('Cluster Sample')
verarbeitet jedesCluster 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 FeldSummary
zurü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
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:

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'

