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.

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

  • nlp cluster('Cluster Sample') procesa cada Cluster 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 campo Summary.

En la siguiente imagen se muestran los resultados de link devueltos:


clusters semánticos de los logs syslog de linux para los errores del núcleo

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


clusters semánticos de los logs syslog de linux para los errores del núcleo después de reducir el número de clusters según la similitud

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'

clusters semánticos de los logs de base de datos para el ID de cluster 1188814328


clusters semánticos de los logs de base de datos para el ID de cluster seleccionado y el resumen adyacente de las palabras clave