Exemples de regroupement sémantique

La commande nlp peut être utilisée pour extraire des mots clés d'un champ de chaîne ou pour regrouper des enregistrements en fonction de ces mots clés extraits. L'extraction des mots clés peut être contrôlée à l'aide d'un dictionnaire TLN personnalisé. Si aucun dictionnaire n'est fourni, le dictionnaire défini par Oracle par défaut est utilisé.

Regrouper les erreurs de noyau dans les journaux Syslog Linux

L'interrogation suivante regroupe les messages de noyau dans les journaux 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'

Dans l'interrogation ci-dessus :

  • link cluster() exécute le processus de regroupement traditionnel et retourne un champ Cluster Sample.

  • nlp cluster('Cluster Sample') traite chaque Cluster Sample et affecte un ID regroupement. Les messages ayant une signification similaire obtiennent le même ID regroupement.

  • keywords('Cluster Sample') extrait les mots clés utilisés dans le regroupement. Ceux-ci sont retournés dans le champ Summary.

L'illustration suivante présente les résultats Link retournés :


regroupement sémantique des journaux syslog linux pour les erreurs de noyau

  • La première et la deuxième rangées ne sont pas similaires et obtiennent donc des ID regroupement différents.

  • La troisième et la quatrième rangées présentent une similarité dans l'exemple de regroupement. Cela est visible dans le chevauchement des mots clés extraits dans le champ Summary.

  • Par défaut, un chevauchement de 70 % est requis pour former un regroupement. Cette valeur peut être remplacée à l'aide du paramètre similarity du regroupement.

  • L'ID regroupement généré est déterministe. Ainsi, l'ID regroupement peut être utilisé comme raccourci pour la liste des mots clés affichée dans la colonne Sommaire.

Utiliser le paramètre similarity pour contrôler le nombre de regroupements

L'exécution de cluster à l'aide du dictionnaire par défaut et d'un seuil de similarité inférieur produirait moins de regroupements :

'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'

Certaines rangées des regroupements existants ont été fusionnées et le nombre de regroupements a été réduit :


regroupement sémantique des journaux syslog linux pour les erreurs de noyau après réduction du nombre de regroupements en fonction de la similarité

Regrouper les journaux d'alertes de base de données

L'interrogation suivante présente un exemple de regroupement sémantique des journaux d'alerte de base de données :

'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'

regroupement sémantique des journaux de base de données pour l'ID regroupement 1188814328


regroupement sémantique des journaux de base de données pour l'ID regroupement sélectionné et sommaire adjacent des mots clés