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 campo Cluster Sample.

  • nlp cluster('Cluster Sample') elabora ogni Cluster Sample e 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 campo Summary.

L'immagine seguente mostra i risultati del collegamento restituiti:


clustering semantico dei log syslog linux per gli errori del kernel

  • 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 similarity in 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:


clustering semantico dei log syslog linux per gli errori del kernel dopo aver ridotto il numero di cluster in base alla somiglianza

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'

clustering semantico dei log di database per l'ID cluster 1188814328


clustering semantico dei log di database per l'ID cluster selezionato e il riepilogo adiacente delle parole chiave