Ejemplos de clusters semánticos
El comando nlp
se puede utilizar para extraer palabras clave de un campo de cadena o para los registros de cluster según estas palabras clave extraídas. La extracción por palabra clave se puede controlar mediante un diccionario NLP personalizado. Si no se proporciona ningún diccionario, se utiliza el diccionario definido por Oracle por defecto.
Temas:
Para obtener más información sobre los clusters semánticos, consulte Clusters semánticos.
Errores de núcleo de cluster en logs de Syslog de Linux
La siguiente consulta agrupa en clusters los mensajes del núcleo en los logs de Syslog de 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'
En la consulta anterior:
-
link cluster()
ejecuta el cluster tradicional y devuelve un campoCluster Sample
. -
nlp cluster('Cluster Sample')
procesa cadaCluster Sample
y asigna un ID de cluster. Los mensajes con un significado similar obtendrían el mismo ID de cluster. -
keywords('Cluster Sample')
extrae las palabras clave utilizadas en los clusters. Se devuelve en el campoSummary
.
En la siguiente imagen se muestran los resultados de link devueltos:

-
La primera y la segunda filas no son similares y, por lo tanto, obtienen diferentes ID de cluster.
-
Las filas tercera y cuarta tienen similitud en el ejemplo de cluster. Esto se puede ver en el solapamiento de palabras clave extraídas en el campo
Summary
. -
Por defecto, se necesita un solapamiento del 70 % para formar un cluster. Esto se puede sustituir mediante el parámetro
similarity
para formar el cluster. -
El ID de cluster generado es determinista. Por lo tanto, el ID de cluster se puede utilizar como método abreviado para la lista de palabras clave mostradas en la columna Resumen.
Uso de similarity
para controlar el número de clusters
La ejecución del cluster con el diccionario por defecto y un umbral de similitud inferior producirían menos 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'
De esta forma se han fusionado algunas de las filas en los clusters existentes y también se ha reducido el número de clusters:

Agrupación en clusters de los logs de alertas de base de datos
En la siguiente consulta se muestra un ejemplo de agrupación en clusters semánticamente de logs de alertas de base de datos:
'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'

