5.4 Evaluación
5.4.3 Evaluación de la agrupación
5.4.3.1 Algoritmos utilizados en el proceso de evaluación de agrupación
En esta sección son descritos los algoritmos de agrupamiento que se analizaron para evaluar el algoritmo de clustering BestStartBP, propuesto en esta tesis, el cual fue implementado en la herramienta MultiSearchBP para el proceso de evaluación. Entre los algoritmos se encuentran: Lingo [104] y STC (Sufix Tree Clustering) [105], algoritmos para agrupación de documentos web, K-means [106], algoritmo para la agrupación de datos y Stars, Cliques, FullStart [91], algoritmos basados en teoría de grafos. Adicionalmente estos algoritmos fueron adaptados para realizar agrupamiento de BP con base en los resultados entregados por el modelo de búsqueda multimodal previamente explicado.
STC
Toma cada BP y extrae el texto de todos sus componentes, y crea una secuencia sintáctica ordenada de términos textuales para generar el agrupamiento de los BP basado en la información extraída. Este algoritmo consta de dos pasos:
o Paso 1: identificar grupos base. En este paso el algoritmo crea un árbol de sufijos a partir del vector que contiene todos los componentes textuales de
Capítulo 5. Prototipo y experimentación 75 __________________________________________________________________
los BP. A partir de este vector detecta una raíz de tal manera que se garantiza que cada nodo contiene al menos dos hijos internos (un par). Luego, las aristas entre nodos se etiquetan con una parte del texto resumen con el propósito de formar la etiqueta de dicho nodo.
o Paso 2: combinar grupos base. En este paso el algoritmo asigna una clasificación a cada grupo base, teniendo en cuenta el número de BP que el grupo contiene y que están relacionados con una serie de elementos textuales. Para esto se usa una función de grupo base (s(B)), en la cual está contemplado un grupo B con elementos P así: s(B) = |B| * f(|P|) , donde |B| es el número de BP en el grupo base B; |P| es el número de elementos en P que no tienen calificación 0 (es decir que estén conectados a, al menos, algún nodo del árbol de sufijos); f es una función que penaliza los P de un solo elemento.
LINGO
Este algoritmo, construye un resumen (Snippet) con los términos textuales contenidos en cada componente de los BP retornados por una consulta. El algoritmo consta de cuatro pasos principales.
o Paso 1: la extracción de características. Aquí se identifican frases o términos que pueden ser candidatos para etiquetas de grupo. Esto se realiza calculando el número de veces que los términos o frases identificadas aparecen en los BP contenidos en la lista de resultados generados en una consulta.
o Paso 2: inducción de etiquetas de grupo. Este paso forma descripciones significativas de los grupos tomando la información de la matriz de términos por cada BP.
o Paso 3: identificación de los BP pertenecientes a cada grupo. Compara fragmentos de texto con todas y cada una de las etiquetas de grupo. Para esto se forma una matriz Q en la que cada etiqueta de grupo se representa como un vector columna. De forma que C=QTA, donde A es el termino original de la matriz de término BP. De esta manera, el elemento ci,j de la
matriz C indica el peso de adhesión del BP j en el grupo i.
o Paso 4: formación final de grupos de BP. En este paso se calcula la ponderación de la etiqueta dependiendo del número de veces que los
términos de la etiqueta aparecen en cada uno de los BP asignados al grupo identificado por dicha etiqueta.
K-Means
En este algoritmo se debe especificar de antemano el número de grupos de BP (k- clusters) a formar. Para ello, se seleccionan k BP aleatoriamente, que representarán el centroide o media de cada grupo de BP. Posteriormente cada uno de los BP existentes en la lista de resultados, es asignado al centroide del grupo más cercano de acuerdo con una función de distancia (la más utilizada es la euclidiana). Para cada uno de los grupos formados se calcula el centroide de todas sus BP. Estos centroides son tomados como los nuevos centros de sus respectivos grupos. A continuación se describe el algoritmo K-Means:
o Paso 1: elegir k BP que actúan como centroides (k determina el número de grupos de BP a formar).
o Paso 2: cada BP, es añadido al grupo con mayor similitud o cercano.
o Paso 3: calcular el centroide de cada grupo de BP, con el propósito de convertirse en los nuevos centroides.
o Paso 4: si no se llega a un criterio de convergencia (por ejemplo, dos iteraciones no cambian las clasificaciones de los grupos de BP), se vuelve al paso 2).
Stars
El algoritmo es ejecutado iterativamente, en cada iteración selecciona un BP de la lista de resultados para formar un nuevo grupo, seguidamente evalúa todos los BP restantes para encontrar los más similares (el algoritmo considera que un BP es similar a otro cuando su nivel de similitud es mayor o igual a un umbral mínimo de aceptación previamente definido) para adicionarlos al grupo creado. De esta forma, en cada iteración ejecutada el grupo formado es representado como un grafo, en el cual el BP inicial referencia el nodo principal (central) y los BP que conforman el grupo, están conectados al nodo principal por medio de aristas, formando una figura muy similar a una estrella (de ahí el nombre de estrellas). El algoritmo ejecuta los siguientes pasos:
o Paso 1: seleccionar un BP que no es parte de ningún grupo y crear un nuevo Grupo.
Capítulo 5. Prototipo y experimentación 77 __________________________________________________________________
o Paso 2: Introducir en el grupo creado todos los BP con mayor similitud posible.
o Paso 3: Si todavía existen BP sin asignar a un grupo, repite los pasos 1 y 2.
Clique
Este algoritmo es ejecutado de forma iterativa, en cada iteración todos los BP recuperados se comparan entre sí, con el propósito de asignarlos a un mismo grupo dependiendo de la similitud entre ellos. Un BP es similar a otro, si el grado de similitud es mayor que o igual al factor de aceptación mínimo definido (umbral) previamente. Los pasos del algoritmo son:
o Paso 1: selecciona un BP que no es parte de ningún grupo y crea un nuevo grupo.
o Paso 2: selecciona un nuevo BP y lo compara con el BP del paso anterior.
o Paso 3: si el BP seleccionado es mayor o similar a todos los BP del grupo actual, se añade a ese grupo.
o Paso 4: si el BP seleccionado, ya está asignado en algún grupo, vuelve al paso 2.
o Paso 5: mientras existan BP sin asignar a un grupo, vuelve al paso 1
FullStart
En la agrupación, este algoritmo, considera los BP que ya están agrupados, y asigna los BP a todos los grupos donde la similitud es mayor o igual con el umbral establecido, sin sacarlos de los grupos donde ya hacen parte. Este algoritmo ejecuta los siguientes pasos.
o Paso 1: selecciona un BP que no es parte de ningún grupo y lo añade a un nuevo grupo.
o Paso 2: selecciona un nuevo BP y lo agrega a todos los grupos con los cuales es mayor o similar.
o Paso 3: realiza los pasos 1 y 2 hasta que se asignan todos los BP en al menos un grupo.
5.4.3.2 Evaluación interna
La evaluación interna determina cuáles grupos son mejores que otros, haciendo énfasis en la separación entre grupos y la cercanía o similitud de los elementos
pertenecientes a cada grupo. Además, la evaluación interna mide densidad, distancias entre los objetos en los mismos grupos (si son más pequeñas, los grupos son más compactos) y separación entre los grupos (distancias más grandes indican mayor separación, que se considera mejor) [107].
Como punto importante en la validación de la tesis, se realizó un estudio de la calidad de la solución, aplicando algunas métricas de análisis interno para agrupaciones que no requieren intervención humana. Las métricas utilizadas son descritas a continuación.
Cohesión: expresa el promedio de similitud entre los elementos de un grupo, cuanto mayor sea el grado de similitud el grupo será más cohesionado. (Ecuación 10).
𝐜𝐨𝐡𝐞𝐬𝐢𝐨𝐧(𝐜) = ∑𝐢>𝐣𝐦(𝐦−𝟏)𝐬𝐢𝐦(𝐜𝐢,𝐜𝐣) 𝟐
(10)
Donde sim (ci,cj) es el grado de similitud entre los elementos ci y cj existentes en el grupo C, y m es el número de elementos existentes en el grupo.
Acoplamiento: se utiliza para expresar la similitud media entre todos los pares de elementos, donde un elemento pertenece al grupo C y el otro no. Idealmente, el acoplamiento debe ser bajo, ya que este valor comprueba qué tan cercanos están los elementos dentro de cada grupo. (Ecuación 11).
𝒄𝒐𝒖𝒑𝒍𝒊𝒏𝒈(𝒄) = ∑𝑖,𝑗𝑠𝑖𝑚(𝑐𝑖,𝑞𝑗)
𝑚∗𝑛 (11) Donde sim (ci, qj) es la similitud entre el elemento ci del grupo C y el elemento qj de otro grupo; m es el número de elementos en C y n es el número de elementos externos a C.
Silueta: se deriva de la cohesión y el acoplamiento, muestra cuáles elementos están bien ubicados dentro del grupo y cuáles tienen una posición intermedia entre el grupo al que fueron asignados y los otros grupos, cuanto mayor sea el grado de silueta mejor será la distribución de los grupos, es decir, los grupos tendrán mayor separación entre sí. (Ecuación 12).
𝒔𝒊𝒍𝒉𝒐𝒖𝒆𝒕𝒕𝒆(𝒊) = 𝑏𝑖−𝑎𝑖
max(𝑎𝑖,𝑏𝑖)
Capítulo 5. Prototipo y experimentación 79 __________________________________________________________________ Donde ai es la disimilitud promedio (es decir, la distancia) entre el ith elemento del grupo y los otros objetos del mismo grupo, y bi es la disimilitud promedio mínimo entre el ith elemento de cualquier grupo que no contiene el elemento.
Suma de cuadrados entre grupos “Sum of squares between clusters” (SSB):
permite medir la separación entre grupos, donde k es el número de grupos, nj es el número de elementos en el grupo j, cj es el centroide del grupo j y x es la media del repositorio (data set). (Ecuación 13).
𝑺𝑺𝑩 = ∑𝑘𝑖=1𝑛𝑗 𝑑𝑖𝑠𝑡2(𝑐𝑗− 𝑥̅) (13)
Suma de cuadrados dentro de grupo “Sum-of-squares within cluster” (SSW): mide internamente la cohesión de los grupos formados, con base en el nivel de similitud entre los elementos existentes en cada grupo. (Ecuación 14). 𝐒𝐒𝐖 = ∑ ∑ 𝐝𝐢𝐬𝐭𝟐(𝐦
𝐢, 𝐱) 𝐱 ∊𝐜𝐢
𝐤
𝐢=𝟏 (14) Donde k es el número de grupos, x un punto del grupo ci, y mi es el centroide del grupo ci.
Índice Davies-Bouldin (DB): Mide la dispersión de los elementos dentro de los grupos formados y la separación entre ellos. Valores pequeños para el índice DB indican grupos compactos, cuyos centros están bien separados los unos de los otros. Consecuentemente, la agrupación con menor valor de índice DB se toma como la óptima. (Ecuación 15).
𝑫𝑩 =1 𝑘 ∑ 𝑚𝑎𝑥 ( 𝜎𝑖+𝜎𝑗 𝑑(𝑐𝑖,𝑐𝑗)) 𝑘 𝑖=1,𝑖 ≠𝑗 (15) En la ecuación anterior, k es el número de grupos, 𝜎i es la distancia promedio entre cada elemento del grupo i con el centroide del grupo i, 𝜎𝑗 es la distancia promedio entre cada elemento del grupo j con el centroide del grupo j, y (𝑐𝑖,j) es la distancia entre los centroides de los dos grupos.