Esempi di clustering semantico
Il comando nlp può essere utilizzato per estrarre parole chiave da un campo stringa o per raggruppare i record in base a queste parole chiave estratte. L'estrazione delle parole chiave può essere controllata utilizzando un dizionario NLP personalizzato. Se non viene fornito alcun dizionario, viene utilizzato il dizionario predefinito definito da Oracle.
Argomenti:
Per ulteriori informazioni sul clustering semantico, vedere Clustering semantico.
Errori kernel cluster nei log syslog Linux
I seguenti messaggi kernel dei cluster di query nei log di syslog Linux:
'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'Nella query precedente:
-
link cluster()esegue il cluster tradizionale e restituisce un campoCluster Sample. -
nlp cluster('Cluster Sample')elabora ogniCluster Samplee assegna un ID cluster. I messaggi con significato simile otterranno lo stesso ID cluster. -
keywords('Cluster Sample')estrae le parole chiave utilizzate nel clustering. Viene restituito nel campoSummary.
L'immagine seguente mostra i risultati del collegamento restituiti:

-
La prima e la seconda riga non sono simili e quindi ottengono ID cluster diversi.
-
La terza e la quarta riga hanno somiglianza nel campione cluster. Questo può essere visto nella sovrapposizione di parole chiave estratte nel campo
Summary. -
Per impostazione predefinita, è necessaria una sovrapposizione del 70% per formare un cluster. È possibile eseguire l'override utilizzando il parametro
similarityin cluster. -
L'ID cluster generato è deterministico. Pertanto, l'ID cluster può essere utilizzato come collegamento per la lista delle parole chiave mostrate nella colonna Riepilogo.
Utilizzare similarity per controllare il numero di cluster
L'esecuzione del cluster utilizzando il dizionario predefinito e una soglia di somiglianza inferiore produrrebbe un numero inferiore di 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'
Ciò ha unito alcune delle righe nei cluster esistenti e ha ridotto il numero di cluster:

Clusterare i log degli avvisi del database
La query riportata di seguito mostra un esempio di clustering semantico di Database Alert Log.
'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'
