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é.
Rubriques :
Pour plus d'informations sur le regroupement sémantique, voir Regroupement sémantique.
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 champCluster Sample
. -
nlp cluster('Cluster Sample')
traite chaqueCluster 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 champSummary
.
L'illustration suivante présente les résultats Link retournés :

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

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'

