2 Revisión del estado del problema El presente capítulo de revisión del estado del problema se pre-
2.14 Originalmente eran
palabras: subcadenas di- vididas por un símbolo separador.
Se basa en dividir las cadenas 𝑠1 y 𝑠2 en listas de campos14
o subcadenas (𝑆1 y 𝑆2), y comparar cada campo de uno con el
campo más similar del otro. dmonge(𝑆1,𝑆2) = 1 |𝑆1| |𝑆1| ∑ 𝑖 |𝑆2| mín 𝑗 d(𝑆1,𝑖,𝑆2,𝑗) (2.32)
donde la función mín representa la máxima similaridad que en la práctica será un máximo o un mínimo numérico en función de que la métrica de la que se parte esté en la forma de distancia o de similaridad.
Originalmente, la propuesta inicial Monge Elkan era si dos descripciones referenciaban un mismo objeto (por ejemplo, dos direcciones postales) y usaba como métrica base Gotoh.
Lamentablemente, el cálculo de esta distancia implica compa-
rar todas los campos de 𝑆1 con los de 𝑆2por lo que no es muy
eficiente.
Otras comparaciones entre cadenas que no son métricas
Existen otros algoritmos de comparación de cadenas que no de- vuelven un valor numérico de distancia o similitud sino que sim- plemente devuelven un valor biestado («similares» o «distintas») que no entra a determinar un grado de similitud entre cadenas. Este tipo de comparadores se emplean en el ya mencionado pro- blema de enlace de registros (record linkage).
Este tipo de comparadores pueden construirse a partir de una métrica sin más que asignar un valor umbral y determinar si la similitud es o no superior a dicho umbral. En cualquier caso, existen métodos específicos de comparación como son Soundex
(Pinto, et al., 2012) o Phonix (Gadd, 1990) centrados en determi-
Ambos sistemas funcionan gracias a un preprocesado antes de efectuar la comparación. El preprocesado consiste en la aplica- ción de distintas reglas sobre cada texto hasta llegar a una forma normalizada o firma (en el caso de Soundex es una letra seguida de 3 cifras). Si la forma normalizada de ambas cadenas coinci- de, ambas cadenas se consideran equivalentes o similares, si no coinciden se consideran distintas.
Dada la poca granularidad de las comparaciones, estas técni- cas se utilizan en casos muy concretos como son similitud foné- tica de nombres o apellidos.
2.1.3 Técnicas de Agrupación
El clustering es un proceso no supervisado de etiquetado de pun- tos en un espacio métrico. Los puntos muy cercanos (o relacio- nados) en dicho espacio compartirán más etiquetas que puntos menos relacionados entre sí. Esta operación presenta dos fina-
lidades (Tan, Steinbach, & Kumar, 2013): ayuda a comprender
mejor los datos que se disponen asociando aquellos elementos con propiedades similares, y facilita posteriores etapas de pro- cesado al proporcionar una reducción de información (de datos en crudo a etiquetas). Dada la naturaleza genérica de los algo- ritmos de clustering, las propiedades asignables a cada etiqueta
Figura 2.2: Agrupación por partición
dependerá fundamentalmente de la métrica escogida.
Figura 2.3: Agrupación je- rárquica
Dentro de las técnicas de agrupación, existen dos enfoques clá-
sicos (Berkhin, 2006;Xu & Tian, 2015) de etiquetar los elementos.
Partición El proceso de agrupación por partición reparte el es-
pacio en politopos y considera que dos puntos del espacio pertenecen al mismo grupo si están contenidos en el mismo
subespacio (ejemplo en lafigura 2.2).
Este procedimiento asigna una y solo una etiqueta a cada ca- dena.
clustering𝑝𝑎𝑟𝑡𝑖𝑐𝑖ó𝑛:: [𝐶𝑎𝑑𝑒𝑛𝑎]𝑛→ [𝑇𝑎𝑔]𝑛
(TIPO 2.33)
Jerárquico (Ejemplo en lafigura 2.3) El procedimiento jerár- quico construye una estructura recursiva en árbol en el que cada grupo puede estar compuesto por puntos del espacio métrico y por subgrupos. A diferencia de la partición, cada punto recibe tantas etiquetas como a grupos pertenezca.
clustering𝑗𝑒𝑟á𝑟𝑞𝑢𝑖𝑐𝑜:: [𝐶𝑎𝑑𝑒𝑛𝑎]𝑛→ [[𝑇𝑎𝑔]]𝑛
(TIPO 2.34) El etiquetado de las distintas cadenas nos permite establecer, tras la agrupación, una función de relación o similitud entre ca- denas que tenga menos sensibilidad que una métrica aplicada directamente. Dado que la función de etiquetado devuelve para cada cadena un conjunto de etiquetas, es posible determinar la similitud entre cadenas empleando cualquier métrica basada en conjuntos.
La mencionada función de relación tendría el tipo relacion :: [[𝑇𝑎𝑔]] → [[𝑇𝑎𝑔]] → 𝐹𝑙𝑜𝑎𝑡 ∈ [0,1]
(TIPO 2.35)
y una posible implementación sería usar el coeficiente Dice (ecua-
ción 2.25): 6 4 5 2 1 3 3 2 4 5 1
(a) Group average clustering.
Figura 2.4: Figura 8.18(a) to- mada de (Tan, Steinbach, &
Kumar, 2013) 0.2 0.25 0.1 0 0.15 0.05 3 6 4 2 5 1
(b) Group average dendrogram.
Figura 2.5: Figura 8.18(b) to-
relacion(𝑥,𝑦) = 2 ⋅ |tags(𝑥) ∩ tags(𝑦)|
|tags(𝑥)| + |tags(𝑦)| (2.36)
Los valores posibles en la imagen de la función dependen del ti- po de agrupación efectuada. En el caso de una partición, dos ca- denas pueden compartir la etiqueta (dado que cada cadena solo se le asigna una etiqueta) o no. En cuyo caso, la relación entre ellas será total (1) o nula (0) sin posibilidad de valores interme- dios.
Distinto es el caso de una agrupación jerárquica en el que la re- lación determinada entre dos cadenas puede contener distintos valores entre 0 y 1 en función del número de etiquetas comunes y etiquetas asignadas.
La relación entre cadenas es una estimación cualitativa de gru- pos en común que no entra en consideración de diferencias o similitudes entre los grupos. La agrupación jerárquica provee, además, de una medida cuantitativa que expresa cómo de pare- cidos son todos los elementos con un ancestro común.
En lafigura 2.4se muestra una serie de puntos que han sido
agrupados de forma jerárquica. Esta agrupación puede verse, de
forma simplificada, en lafigura 2.5en un gráfico denominado
«dendograma». En el dendograma se organizan los puntos en el eje de las abscisas. Las líneas verticales representan distancias y las líneas horizontales identifican los «clados» (elementos que
tienen un ancestro común). La altura de la línea de clado indi- ca la diferencia entre los miembros de este. Un clado muy bajo, indica elementos muy parecidos entre sí y un clado alto, indica elementos poco relacionados.
En las figuras empleadas como ejemplo, los puntos 3 y 6 for- man un grupo cuya diferencia entre sus elementos es de 0,1 y los puntos 3, 6 y 4 presentan una diferencia de casi 0,2. De todos los puntos mostrados, el punto 1 es el más alejado del resto.
En cualquier caso, tanto la relación entre elementos como la diferencia del clado hay que interpretarlas como una medida de distancia en un orden superior a la mera distancia entre elemen- tos.
Clustering por partición
Existen diversos criterios de división del espacio basados en dis-
tribuciones de probabilidad (McLachlan & Basford, 1988), cer-
canía a puntos singulares (Hartigan & Wong, 1979;Kaufman &
Rousseeuw, 2009), densidad de puntos (Miller & Han, 2001) o
por partición del espacio (Schikuta & Erhart, 1997). En general
funcionan por refinamiento progresivo en el que se parte de una solución tomada al azar y en sucesivas iteraciones va convergien- do a una solución estable.
Salvo el enfoque de partición del espacio, los otros procedi- mientos enunciados se basan en etiquetar los puntos considera- dos. Si se deseara tener una partición real y completa del espa- cio es necesario definir una distancia al cluster (veremos distin- tas técnicas cuando se hable de las agrupaciones jerárquicas) y a partir de ella hacer un mapa de Voronoi del espacio.
A continuación, se describirán brevemente los principios en los que se basan.
Modelos Probabilísticos
Este enfoque considera que cada categoría tiene asociada una distribución de probabilidad en el espacio y considera todo el espacio como la suma de las distribuciones de todas las catego- rías. Se impone que cada punto analizado pertenece a una y solo una categoría y se considera como un muestreo sobre la mezcla de distribuciones.
El agrupamiento probabilístico busca encontrar las distribu- ciones que mejor ajusten con la distribución de puntos que se analizan, por lo que convierte el problema de agrupamiento en
un problema de optimización cuya función objetivo es el loga- ritmo de la función verosimilitud cuyo valor es:
L(𝑋|𝐶) = ∏ 𝑖=1:𝑁
∑ 𝑗=1:𝑘
𝜏𝑗Pr(𝑥𝑖|𝐶𝑗) (2.37)
donde 𝑁 es el número de puntos analizados, 𝑘 es el número de
grupos que construir, 𝜏𝑗la probabilidad asociada a que un punto
se muestree del modelo 𝑗 y Pr(𝑥𝑖|𝐶𝑗)la probabilidad de que el
punto 𝑥𝑖pertenezca a la categoría 𝑗.
Basados en un punto singular: 𝑘-mean, 𝑘-medoid
El procedimiento 𝑘-mean es uno de los más usados en la indus-
tria (Berkhin, 2006) (dada su simplicidad) y el principio del que
parte es la representación de cada grupo por un único punto. El algoritmo 2.1muestra los pasos generales de cálculo del
𝑘-mean según el algoritmo de Lloyd (Faber, 1994).
Seleccionar 𝑘 puntos como centroides iniciales.
repeat
Asignar cada punto al centroide más cercano. Recalcular el centroide de cada cluster.
until los centroides calculados no varíen.
Algoritmo 2.1: 𝑘-mean. Formulación de Lloyd
El algoritmo de 𝑘-means presenta algunos inconvenientes que dificulta su uso directo. Problemas que se agravan, sobre todo, en espacios de altas dimensiones: