Exemples de création de cluster sémantique

La commande nlp peut être utilisée pour extraire des mots-clés d'un champ de chaîne ou pour créer des clusters d'enregistrements selon ces mots-clés extraits. L'extraction des mots-clés peut être contrôlée à l'aide d'un dictionnaire de traitement du langage naturel personnalisé. Si aucun dictionnaire n'est fourni, le dictionnaire défini par Oracle par défaut est utilisé.

Création de clusters d'erreurs de noyau dans les journaux syslog Linux

La requête suivante crée des clusters de 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 la requête ci-dessus :

  • link cluster() exécute le cluster traditionnel et renvoie un champ Cluster Sample.

  • nlp cluster('Cluster Sample') traite chaque élément Cluster Sample et affecte un ID de cluster. Les messages à la signification similaire obtiennent le même ID de cluster.

  • keywords('Cluster Sample') extrait les mots-clés utilisés dans la création des clusters. Ils sont renvoyés dans le champ Summary.

L'image suivante présente les résultats de lien renvoyés :


création de clusters sémantiques de journaux syslog Linux pour les erreurs de noyau

  • Les première et deuxième lignes ne sont pas similaires, et obtiennent donc des ID de cluster différents.

  • Les troisième et quatrième lignes présentent une similitude dans Cluster Sample. Elle se retrouve dans le chevauchement des mots-clés extraits dans le champ Summary.

  • Par défaut, un chevauchement de 70 % est nécessaire pour former un cluster. Cette valeur peut être remplacée dans le paramètre similarity de création des clusters.

  • L'ID de cluster généré est déterministe. Par conséquent, l'ID de cluster peut être utilisé comme raccourci pour la liste des mots-clés affichée dans la colonne Récapitulatif.

Utilisation de similarity pour contrôler le nombre de clusters

L'exécution de la commande cluster à l'aide du dictionnaire par défaut et d'un seuil de similarité inférieur génère moins de clusters :

'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 lignes ont été fusionnées dans les clusters existants et le nombre de clusters a diminué :


création de clusters sémantiques de journaux syslog Linux pour les erreurs de noyau après réduction du nombre de clusters en fonction de la similarité

Création de clusters de journaux d'alertes de base de données

La requête suivante présente un exemple de création de clusters sémantiques de journaux d'alertes 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'

création de clusters sémantiques de journaux de base de données pour l'ID de cluster 1188814328


création de clusters sémantiques de journaux de base de données pour l'ID de cluster sélectionné et le récapitulatif adjacent des mots-clés