<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992014000500005</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Optimizaciones al Algoritmo de Agrupamiento Compacto Jerárquico Dinámico]]></article-title>
<article-title xml:lang="en"><![CDATA[Optimizations for the Dynamic Compact Hierarchical Clustering Algorithm]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Lora Domínguez]]></surname>
<given-names><![CDATA[Yenisleidi]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Artigas Fuentes]]></surname>
<given-names><![CDATA[Fernando]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Fonseca Bruzón]]></surname>
<given-names><![CDATA[Adrian]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Ortega Bueno]]></surname>
<given-names><![CDATA[Reynier]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad de Oriente  ]]></institution>
<addr-line><![CDATA[Patricio Lumumba S/N Santiago de Cuba]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Centro de Estudio de Reconocimiento de Patrones y Minería de Datos  ]]></institution>
<addr-line><![CDATA[Patricio Lumumba S/N Santiago de Cuba]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2014</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2014</year>
</pub-date>
<volume>8</volume>
<fpage>52</fpage>
<lpage>65</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992014000500005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992014000500005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992014000500005&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este artículo proponemos dos optimizaciones a un algoritmo de agrupamiento compacto jerárquico dinámico, este es aplicado a un conjunto de documentos con el objetivo de agruparlos por temáticas. La primera optimización que proponemos es una estructura compacta basada en grafos que posibilita un uso eficiente de la memoria principal; y la segunda una heurística de poda, que permite que los documentos se procesen en un tiempo menor que el usado por una implementación anterior. Los resultados obtenidos en los experimentos demuestran que con estas optimizaciones se logra agrupar un mayor número de documentos en menor tiempo.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[In this paper we propose two optimizations for the compact dynamic hierarchical clustering algorithm. This algorithm is applied to a set of documents in order to discover the structure of topics that they describe. The first one is a condense graph data structure that enables efficient use of main memory; and the second a prune graph heuristic, which allows documents to be processed in a shorter time than those used by a previous implementation. The results obtained in the experiments demonstrate that these optimizations allow processing more objects in less time.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[agrupamiento jerárquico dinámico]]></kwd>
<kwd lng="es"><![CDATA[colección de documentos]]></kwd>
<kwd lng="es"><![CDATA[estructura de dato eficiente]]></kwd>
<kwd lng="es"><![CDATA[optimización]]></kwd>
<kwd lng="en"><![CDATA[document collection]]></kwd>
<kwd lng="en"><![CDATA[dynamic hierarchical clustering]]></kwd>
<kwd lng="en"><![CDATA[efficient data structure]]></kwd>
<kwd lng="en"><![CDATA[optimization]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ART&Iacute;CULO    ORIGINAL</B></font></p>     <p>&nbsp;</p>     <p><font size="4"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Optimizaciones  al Algoritmo de Agrupamiento Compacto Jer&aacute;rquico Din&aacute;mico</font></strong></font></p>     <p>&nbsp;</p>     <p><font size="3"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Optimizations for the Dynamic  Compact Hierarchical Clustering Algorithm</font></strong></font></p>     <p>&nbsp;</p>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Yenisleidi Lora Dom&iacute;nguez<strong><strong><strong><sup>1*</sup></strong></strong></strong>,  Fernando Artigas Fuentes</strong><strong><strong><strong><strong><sup>1</sup></strong></strong></strong>, Adrian Fonseca Bruz&oacute;n<strong><strong><strong><sup>2</sup></strong></strong></strong>, Reynier Ortega Bueno</strong><strong><strong><strong><strong><sup>2</sup></strong></strong></strong></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup>1 </sup>Departamento de Computaci&oacute;n. Facultad Matem&aacute;tica Computaci&oacute;n, Universidad de Oriente, Patricio  Lumumba S/N. Santiago de Cuba, Cuba. CP.: 90500. Correo-e: yeni@csd.uo.edu.cu    <br>     <sup>2 </sup>CERPAMID. Centro de Estudio de Reconocimiento de Patrones y Miner&iacute;a de  Datos. Patricio Lumumba S/N. Santiago de Cuba, Cuba. CP.: 90500. Correo-e: {adrian,  reynier.ortega}@cerpamid.co.cu     </font></p>     <P><font face="Verdana, Arial, Helvetica, sans-serif"><span class="class"><font size="2">*Autor para la correspondencia: </font></span><font size="2"><a href="mailto:artigas@csd.uo.edu.cu">artigas@csd.uo.edu.cu</a></font></font>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p>&nbsp;</p> <hr>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN</b> </font>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este art&iacute;culo proponemos dos optimizaciones a un  algoritmo de agrupamiento compacto jer&aacute;rquico din&aacute;mico, este es aplicado a un  conjunto de documentos con el objetivo de agruparlos por tem&aacute;ticas. La primera optimizaci&oacute;n  que proponemos es una estructura compacta basada en grafos que posibilita un  uso eficiente de la memoria principal; y la segunda una heur&iacute;stica de poda, que  permite que los documentos se procesen en un tiempo menor que el usado por una  implementaci&oacute;n anterior. Los resultados obtenidos en los experimentos demuestran  que con estas optimizaciones se logra agrupar un mayor n&uacute;mero de documentos en  menor tiempo. </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Palabras clave: </span></b>agrupamiento jer&aacute;rquico din&aacute;mico, colecci&oacute;n de documentos,  estructura de dato eficiente, optimizaci&oacute;n.</font></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>ABSTRACT</span></b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In this paper we propose two  optimizations for the compact dynamic hierarchical clustering algorithm. This  algorithm is applied to a set of documents in order to discover the structure  of topics that they describe. The first one is a condense graph data structure  that enables efficient use of main memory; and the second a prune graph  heuristic, which allows documents to be processed in a shorter time than those  used by a previous implementation. The results obtained in the experiments  demonstrate that these optimizations allow processing more objects in less  time.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Key words: </span></b>document collection, dynamic  hierarchical clustering, efficient data structure, optimization.</font></p> <hr>     <p>&nbsp;</p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>INTRODUCCI&Oacute;N</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El adelanto  tecnol&oacute;gico actual propicia que se genere continuamente y a gran velocidad una  enorme cantidad de informaci&oacute;n. Por lo que cada vez se hace m&aacute;s necesaria la  existencia de herramientas que permitan procesar y extraer la informaci&oacute;n m&aacute;s  relevante de inter&eacute;s para los usuarios. Se han propuesto numerosos m&eacute;todos para  darle soluci&oacute;n a este problema, entre ellos se encuentra el agrupamiento de  documentos (Ruiz <em>et al, </em>1999; Gil, 2005), que permite estructurar la informaci&oacute;n en grupos de forma tal  que en un grupo se encuentren los documentos m&aacute;s parecidos entre s&iacute; y  diferentes a los pertenecientes a otros grupos. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la  actualidad la informaci&oacute;n cambia con el transcurso del tiempo, ya sea porque se  actualiza, deja de ser de inter&eacute;s o surge nueva informaci&oacute;n. Por eso  generalmente se requieren algoritmos din&aacute;micos, que actualicen el agrupamiento  a medida que cambia el conjunto de datos, que sean capaces de agregar nuevos  objetos al agrupamiento o eliminar aquellos que ya no existen, sin necesidad de  empezar desde el principio cada vez que ocurra un cambio. Otro aspecto que  resulta de inter&eacute;s en varias aplicaciones es poder proporcionar vistas de los  datos a diferentes niveles de abstracci&oacute;n, lo que facilita la visualizaci&oacute;n de  los mismos, para ello se ha trabajado en el desarrollo de algoritmos  jer&aacute;rquicos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cuando los  datos a agrupar son documentos el problema es a&uacute;n m&aacute;s complejo. Los documentos  imponen un reto adicional a los algoritmos de agrupamiento, pues estos se  caracterizan por su elevada dimensionalidad, debido a que cada palabra distinta  que aparece en una colecci&oacute;n es considerada una dimensi&oacute;n (AlSumait, 2008). A&uacute;n  cuando esta contenga pocos documentos la cantidad de palabras diferentes es  elevada. Esta caracter&iacute;stica incrementa el costo de la funci&oacute;n utilizada para  comparar documentos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la  literatura se encuentran reportados varios algoritmos de agrupamientos, entre  ellos se encuentra el Algoritmo de Agrupamiento Compacto Jer&aacute;rquico Din&aacute;mico  (ACJD) (Gil <em>et al</em>., 2010) basado en un  marco general (Gil <em>et al</em>., 2006).  Este comienza considerando que cada grupo est&aacute; formado por un solo objeto, se  parte de n grupos unitarios y se construye un grafo de &szlig;0-semejanza.  En este grafo los v&eacute;rtices se corresponden con los grupos y existir&aacute; una arista  de un grupo a otro si su semejanza, calculada mediante una medida de semejanza  entre grupos, supera un umbral de semejanza m&iacute;nima permitida &szlig;0.  Luego, se construye un subgrafo de m&aacute;xima &szlig;0-semejanza a partir del  grafo de &szlig;0-semejanza, en &eacute;l existir&aacute; un arco de un grupo &sigma;i a un  grupo &sigma;j si se cumple que &sigma;j es el grupo m&aacute;s &beta;0-semejante a &sigma;i. A  este subgrafo se le aplica un algoritmo de cubrimiento para obtener los grupos  del siguiente nivel de la jerarqu&iacute;a. Este proceso se repite hasta que el grafo  de &szlig;0-semejanza sea completamente inconexo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Aunque con este algoritmo se  obtienen buenos resultados, cuando es aplicado en colecciones con una gran  cantidad de objetos, tiene un elevado consumo de memoria, debido a que almacena  varias estructuras de datos, esto provoca que se reduzca la cantidad m&aacute;xima  posible de objetos a agrupar. Es por ello que nuestra contribuci&oacute;n se encuentra  enmarcada en proponer una estructura compacta que mejore la eficiencia del m&eacute;todo  as&iacute; como una heur&iacute;stica de poda de los grafos con la finalidad de reducir la  informaci&oacute;n. </font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">MATERIALES Y M&Eacute;TODOS </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el  algoritmo ACJD los grafos de &szlig;<sub>0</sub>-semejanza, m&aacute;xima &szlig;<sub>0</sub>-semejanza,  el cubrimiento y la jerarqu&iacute;a, son representados en estructuras de datos  independientes, lo que significa que hay informaci&oacute;n redundante (se duplica  informaci&oacute;n de los v&eacute;rtices y de las aristas). Debido a esta deficiencia  proponemos una estructura de datos compacta capaz de representar  simult&aacute;neamente todas las estructuras anteriores.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adem&aacute;s, el  grafo de &szlig;0-semejanza se caracteriza por ser un grafo denso lo que  provoca un alto consumo de memoria. Es por ello que se propone una heur&iacute;stica  de poda de este grafo con el objetivo de almacenar solo aquellas aristas que  tengan una mayor posibilidad de ser usadas en el agrupamiento.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>A. Estructura de datos compacta  multi-grafo </strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La estructura  propuesta contiene varios grafos, uno por cada nivel de la jerarqu&iacute;a, en donde  la informaci&oacute;n de cada objeto o grupo aparece una sola vez. En la <a href="#f01">figura 1</a> se  muestra un esquema general de la misma. Aunque el algoritmo no requiere que se  obtenga una estructura en forma de &aacute;rbol, por comodidad y para facilitar la  navegabilidad por la jerarqu&iacute;a se adicion&oacute; una ra&iacute;z ficticia, denotada por R. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La informaci&oacute;n  almacenada en cada nodo es la siguiente:    <br>       <br> &bull; Un identificador. El cual debe ser generado de forma incremental cada vez  que se adiciona un nuevo nodo.    <br> &bull; Un objeto asociado a ese nodo. El cual contiene la representaci&oacute;n del  objeto.    <br> &bull; Un apuntador al nodo que le sigue en el nivel. En caso de ser el &uacute;ltimo  este valor es Nulo.    <br> &bull; Un apuntador a cada uno de sus hijos en el nivel inmediato inferior.    <br> &bull; Un apuntador al padre que se encuentra en el nivel inmediato superior.    <br> &bull; Las aristas del grafo de &szlig;0-semejanza que se forma con los  nodos de su nivel.</font></p>     ]]></body>
<body><![CDATA[<p align="center"><a name="f01"></a><img src="/img/revistas/rcci/v8s1/f0105514.jpg" width="507" height="439"></p>     <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La estructura  cuenta adem&aacute;s con una lista enlazada que permite acceder a cada uno de los  niveles que forman parte de la estructura. En la <a href="#f01">figura 1</a> esta lista enlazada est&aacute;  etiquetada con la palabra &ldquo;Niveles&rdquo;.    <br>       <br>   Cada arista en  el grafo, que va desde el nodo 1 al nodo 2, contiene (se asume que el  identificador del nodo 1 es menor que el de 2):    <br>     <br>   &bull; Valor de semejanza entre los objetos de 1 y 2.    <br>   &bull; Una etiqueta I que identifica la orientaci&oacute;n de los&nbsp; arcos en el multi-grafo:    <br>       <br>   I = 00: Esta arista solo forma parte del grafo de &szlig;<sub>0</sub>-semejanzas,  no hay un arco que una a los nodos 1 y 2 en el grafo de m&aacute;xima &szlig;<sub>0</sub>-semejanzas.    <br>   I = 01: Existe un arco en el grafo de m&aacute;xima &szlig;<sub>0</sub>-semejanza que va  del nodo 1 al nodo 2.    ]]></body>
<body><![CDATA[<br>   I = 10: Existe un arco en el grafo de m&aacute;xima &szlig;<sub>0</sub>-semejanza que va  del nodo 2 al nodo 1.    <br>   I = 11: Este valor indica que existen ambos arcos entre 1 y 2. Uno va desde  1 hasta 2 y el otro de 2 hasta 1.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#f01">figura  1</a>, para facilitar la compresi&oacute;n, las aristas que solamente forman parte del  grafo de &szlig;<sub>0</sub>-semejanza se encuentran dibujadas en color Azul. En  color Rojo y con las saetas en correspondencia con las etiquetas I asociadas  est&aacute;n representados los arcos que forman el grafo de m&aacute;xima &szlig;<sub>0</sub>-semejanza. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un aspecto  importante a tener en cuenta, es que los nodos aislados de un determinado nivel  no tienen padre en el nivel inmediato superior. En tal caso pasan a ser hijos  de la ra&iacute;z. Esto se hace para no tener que repetir informaci&oacute;n en los niveles  superiores. Este es el caso del nodo 9 en el nivel N1 y del nodo 12 en el nivel  N2 en el grafo de la <a href="#f01">figura 1</a>. Con esta estructura compacta se solapan los  grafos de &szlig;<sub>0</sub>-semejanza y m&aacute;xima &szlig;<sub>0</sub>-semejanza en uno a  trav&eacute;s de las etiquetas de las aristas, y la informaci&oacute;n del cubrimiento y la  jerarqu&iacute;a a trav&eacute;s de la relaci&oacute;n padre-hijo.</font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">B. Heur&iacute;stica de poda </font></strong><font face="Verdana, Arial, Helvetica, sans-serif">    <br>       <br> Luego de  realizar un an&aacute;lisis del consumo de memoria de esta propuesta, y teniendo en  cuenta que implementaciones anteriores reduc&iacute;an este consumo mediante la  estrategia de no almacenar el grafo de &szlig;</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sub>0</sub></font><font face="Verdana, Arial, Helvetica, sans-serif">-semejanza, con la  necesidad de calcular constantemente el mismo, se dise&ntilde;&oacute; una estrategia  intermedia para garantizar un equilibrio entre el consumo de memoria y el  tiempo de ejecuci&oacute;n, basada en las ideas de los trabajos propuestos en (Pons,  2005; Gil and Pons, 2006). </font></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta  estrategia consiste en establecer un par&aacute;metro, denotado como &alpha;, para podar el  grafo de &szlig;<sub>0</sub>-semejanza, manteniendo en este solamente aquellas  aristas con mayor probabilidad de ser seleccionadas para formar parte del grafo  de m&aacute;xima &szlig;<sub>0</sub>-semejanza.    <br>       <br>   Concretamente  se seleccionan aquellas aristas cuyo valor de semejanza entre los objetos que  enlaza sea mayor que el par&aacute;metro &szlig;<sub>0</sub> y adem&aacute;s est&eacute;n en el rango del  m&aacute;ximo valor de semejanza menos el valor de &alpha; (ver <a href="#f02">figura 2</a>). Con el uso de un  valor de &alpha; peque&ntilde;o se ahorra en memoria pero se necesita m&aacute;s tiempo para  actualizar el multi-grafo. En caso contrario usando un valor de &alpha; mayor, se  gana en tiempo pero se necesita m&aacute;s memoria, ya que se almacena un mayor n&uacute;mero  de aristas del multi-grafo. </font></p>     ]]></body>
<body><![CDATA[<p align="center"><a name="f02"></a><img src="/img/revistas/rcci/v8s1/f0205514.jpg" width="256" height="228"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Este valor de  &alpha; debe estar en el rango de [0,1], donde un valor de 1 implica almacenar todas  las aristas del multi-grafo y un valor de 0 significa almacenar solamente las  aristas que pertenecen al grafo de m&aacute;xima &szlig;<sub>0</sub>-semejanza.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>C. Algoritmo de agrupamiento  compacto jer&aacute;rquico din&aacute;mico </strong>    <br>       <br>   En esta  secci&oacute;n mostraremos el funcionamiento del algoritmo ACJD adaptado a las  optimizaciones propuestas. Los pasos b&aacute;sicos del m&eacute;todo se muestran en el&nbsp; Algoritmo 1.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Algoritmo 1. ACJD</strong></font></p>     <blockquote>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">1. Dados los objetos a adicionar y/o a eliminar. </font>    <br>     <font size="2" face="Verdana, Arial, Helvetica, sans-serif">2. Se crean nuevos nodos en el multi-grafo con los objetos a adicionar.</font>    <br>       <font size="2" face="Verdana, Arial, Helvetica, sans-serif">3. nivel = 0.</font>    ]]></body>
<body><![CDATA[<br>       <font size="2" face="Verdana, Arial, Helvetica, sans-serif">4. Actualizar en el multi-grafo, el grafo de <em>&szlig;</em><sub><em>0</em></sub>&ndash;semejanza (<em>G&szlig;nivel</em>)    y el subgrafo de m&aacute;xima <em>&szlig;</em><sub><em>0</em></sub>&ndash;semejanza&nbsp; (<em>GMnivel</em>).</font>    <br>       <font size="2" face="Verdana, Arial, Helvetica, sans-serif">5. Mientras <em>G&szlig;nivel</em> no sea    completamente inconexo:</font></p>       <blockquote>         <p>       <font size="2" face="Verdana, Arial, Helvetica, sans-serif">a. Actualizar el cubrimiento asociado al <em>GMnivel</em> (<em>Cnivel</em>).</font>    <br>       <font size="2" face="Verdana, Arial, Helvetica, sans-serif">b. nivel = nivel+1.</font>    <br>     <font size="2" face="Verdana, Arial, Helvetica, sans-serif">c. Actualizar en el multi-grafo <em>G&szlig;nivel</em> y <em>GMnivel.</em></font></p>   </blockquote>       <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">6. Si existen niveles mayores que el &uacute;ltimo nivel alcanzado, eliminarlos y    adicionar los v&eacute;rtices del &uacute;ltimo nivel a la ra&iacute;z ficticia. </font></p> </blockquote>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los pasos b&aacute;sicos del proceso de  actualizaci&oacute;n din&aacute;mica del grafo de &szlig;0-semejanza y el subgrafo se  muestran en Algoritmo 2.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Algoritmo 2. Actualizaci&oacute;n de <em>G&szlig;nivel</em> y <em>GMnivel</em>.</strong></font></p> <ol>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sea <em>N</em> el conjunto de v&eacute;rtices a agregar y <em>R</em> el conjunto de v&eacute;rtices a eliminar.</font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sea <em>M</em> conjunto de v&eacute;rtices cuyos v&eacute;rtices m&aacute;s <em>&szlig;<sub><em>0</em></sub></em>-semejantes pertenecen a <em>R</em>, <em>RC</em> lista de  componentes conexas y <em>NE</em> conjunto de  aristas.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Eliminar los v&eacute;rtices de <em>R</em>, insertar en <em>RC</em> todos los v&eacute;rtices que tienen como hijo a un v&eacute;rtice en <em>R</em>. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se adicionan los nuevos  v&eacute;rtices como hijos de la ra&iacute;z ficticia.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Calcular los valores de <em>&szlig;<sub><em>0</em></sub>-</em>semejanza entre los  v&eacute;rtices de <em>N</em> y el resto de los  v&eacute;rtices del nivel y adicionar las aristas que superen el umbral <em>&szlig;<sub><em>0</em></sub></em> y est&eacute;n en el rango del  m&aacute;ximo valor de semejanza menos <em>&alpha;</em> (Aristas con atributo I=00).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Obtener los v&eacute;rtices m&aacute;s <em>&szlig;<sub><em>0</em></sub>-</em>semejantes  a los v&eacute;rtices de <em>M</em> y <em>N,</em> actualizar las aristas en el  multi-grafo (pertenecen a <em>GMnivel</em>), y  almacenarlas en la lista <em>NE</em>.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Buscar los v&eacute;rtices para los cuales un elemento de <em>N</em> es su m&aacute;s <em>&szlig;<sub><em>0</em></sub>-</em>semejante  y luego actualizar las aristas (pertenecen a <em>GMnivel</em>) y adicionarlas a la lista <em>NE</em>.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adicionar a <em>RC</em> las componentes a  las que en el paso anterior se les elimin&oacute; alguna arista.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Retornar el conjunto de  componentes <em>RC</em> y el conjunto de  aristas adicionadas <em>NE</em>.</font></li>     </ol>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cada vez que se elimina una arista del  subgrafo, los objetos del grupo (conjunto compacto) al que pertenecen los  v&eacute;rtices de esta arista pueden perder la propiedad de conexidad. Por tanto,  este grupo debe ser reconstruido. Por el contrario, cada vez que se agrega una  arista al subgrafo, los grupos de sus v&eacute;rtices se unen si son diferentes. La  actualizaci&oacute;n de las componentes conexas provoca que aparezcan nuevos grupos y  que se eliminen otros en el nivel superior (ver Algoritmo 3).</font></p>     ]]></body>
<body><![CDATA[<p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Algoritmo 3. Actualizaci&oacute;n de Cnivel</font></strong></font></p> <ol>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sea <em>N</em> el conjunto de v&eacute;rtices adicionados, <em>RC</em> conjunto de las componentes conexas y <em>NE</em> conjunto de aristas adicionadas.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sea <em>Q</em> una lista que contendr&aacute; todos los v&eacute;rtices que son necesarios  procesar para la reconstrucci&oacute;n de las componentes conexas.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adicionar a <em>Q</em> todos los v&eacute;rtices que tienen como  padre a alg&uacute;n v&eacute;rtice de <em>RC</em> y los  v&eacute;rtices de <em>N</em>.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Construir las componentes  conexas existentes entre los v&eacute;rtices de <em>Q</em>.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para cada arista en <em>NE</em>, unir las  componentes conexas a los que pertenecen sus v&eacute;rtices si son componentes  diferentes.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Construir para cada componente un nuevo v&eacute;rtice y adicionarlo a una lista <em>NC</em>.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Retornar <em>NC</em> y <em>RC</em> (que representan  los nuevos objetos a insertar y eliminar en el pr&oacute;ximo nivel).</font></li>     </ol>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">RESULTADOS Y DISCUSI&Oacute;N </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para demostrar  la eficiencia de la estructura compacta multi-grafo con respecto a mantener los  distintos grafos (m&aacute;xima &szlig;<sub>0</sub>-semejanza, &szlig;<sub>0</sub>-semejanza) y  otras estructuras (cubrimiento y la jerarqu&iacute;a) por separado, se muestra la  comparaci&oacute;n de los resultados temporales y costo de memoria con respecto a una  implementaci&oacute;n del ACJD, que mantiene estructuras separadas pero no almacena el  grafo de &szlig;<sub>0</sub>-semejanza, el cual es calculado cada vez que es  necesario. Esto implica un costo temporal adicional.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los documentos  se representaron usando el modelo de espacio vectorial tradicional &nbsp;(Raghavan <em>et  al</em>., 1986; Aggarwal <em>et al</em>., 2012;  Hern&aacute;ndez <em>et al</em>., 2004). En  este modelo los t&eacute;rminos representan los lemas de las palabras que aparecen en  los textos correspondientes. Las palabras de parada fueron eliminadas y los  pesos de cada t&eacute;rmino fueron calculados mediante el TF (Salton, 1889), que es  la cantidad de veces que aparece el t&eacute;rmino en el documento. Para comparar a  los grupos se emple&oacute; la medida de semejanza del coseno (Sebastiani, 2002). Y  para evaluar la calidad del algoritmo de agrupamiento propuesto se utiliz&oacute; la  colecci&oacute;n de documentos Reuter 2000 RCV1 (Lewis, 2004).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Todos los  experimentos fueron realizados sobre una computadora personal con cuatro  procesadores Genuine Intel Intel(R) Core 2 Quad CPU Q9300 @ 2.50GHz y memoria  cach&eacute; de 3072 KB. Con un total de 4 GB de memoria RAM. El sistema operativo  usado fue el Linux Ubuntu 12.4&nbsp; con una  arquitectura de 64 bits. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para realizar  los experimentos se fij&oacute; un valor de &szlig;<sub>0</sub> de 0.15 y uno de &alpha; de 0.1. Y  se verific&oacute; mediante los mismos que los resultados obtenidos por nuestra  variante del algoritmo ACJD y una implementaci&oacute;n anterior existente fueran  iguales.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#t01">tabla 1</a>  se muestran la cantidad de v&eacute;rtices del multi-grafo y cantidad de aristas de  los grafos &beta;<sub>0</sub>-semejanza y del grafo de m&aacute;xima &beta;<sub>0</sub>-semejanza  (max-S). Como se aprecia la cantidad de aristas del grafo de &beta;<sub>0</sub>-semejanza  es mucho mayor que las que forman parte del grafo de m&aacute;xima &beta;<sub>0</sub>-semejanza  que son las que se usan realmente para construir el agrupamiento final. Es por  ello que es posible reducir la cantidad total de aristas almacenadas en el  grafo de &beta;<sub>0</sub>-semejanza realizando una poda, teniendo en cuenta el  valor de &alpha;. En la <a href="#t02">tabla 2</a> se puede apreciar &nbsp;la disminuci&oacute;n en el n&uacute;mero de aristas  almacenadas para el grafo de &beta;<sub>0</sub>-semejanza al usar un valor de &alpha; =  0.1.</font></p>     <p align="center"><a name="t01"></a><img src="/img/revistas/rcci/v8s1/t0105514.jpg" width="320" height="257"></p>     <p align="center"><a name="t02"></a><img src="/img/revistas/rcci/v8s1/t0205514.jpg" width="295" height="254"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se realiz&oacute; un  &uacute;nico experimento para medir todas las caracter&iacute;sticas del algoritmo propuesto.  Esto fue posible debido a la naturaleza din&aacute;mica del mismo, lo que permite  obtener los resultados asociados a un conjunto creciente de datos en una sola  corrida.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por cada  conjunto de datos procesados se obtuvo una jerarqu&iacute;a independiente y se generaron  los valores de memoria consumida y tiempo de procesamiento. La corrida se  realiz&oacute; partiendo de un conjunto de 5,000 objetos e increment&aacute;ndolo en pasos de  5,000 objetos.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La comparaci&oacute;n  del costo temporal es mostrada en la <a href="#f03">figura 3</a>. Como se aprecia, este costo es  siempre menor para la implementaci&oacute;n que se propone. Por ejemplo, a&uacute;n para un  bloque de 5,000 objetos el costo de usar el multi-grafo es de 195 segundos,  mientras que usando grafos separados este costo es de 290 segundos. Esta  diferencia se incrementa a medida que aumenta el n&uacute;mero de objetos insertados,  llegando a tomar valores de 42 y 86 horas respectivamente para 120,000 objetos.</font></p>     <p align="center"><a name="f03"></a><img src="/img/revistas/rcci/v8s1/f0305514.jpg" width="572" height="297"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="/img/revistas/rcci/v8s1/f0405514.jpg" target="_blank">figura 4</a>  se muestra la comparaci&oacute;n del consumo de memoria para ambas implementaciones.  Como se aprecia, con el uso del multi-grafo m&aacute;s el valor de &alpha;=0.1 se logra una  disminuci&oacute;n considerable del costo espacial. Esto se debe a que las distintas  estructuras y grafos son solapadas en una sola estructura, y debido a que el  grafo de &szlig;<sub>0</sub>-semejanza es podado eliminando a las aristas menos  probables de ser usadas en al algoritmo. Por ejemplo, para un bloque de 120,000  objetos se consume con el multi-grafo aproximadamente 2 GB, mientras que con  los grafos separados 3,3 GB. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adem&aacute;s se logr&oacute; agrupar un n&uacute;mero mayor de objetos con la nueva propuesta  pues esta gener&oacute; una jerarqu&iacute;a con 195,000 objetos, mientras que la versi&oacute;n  anterior solamente logr&oacute; agrupar 120,000. En la <a href="/img/revistas/rcci/v8s1/f0505514.jpg" target="_blank">figura 5</a> se muestran las interpolaciones  de los resultados de la variante original (en la que se asuma la disponibilidad  de tanta memoria adicional como sea posible), con el objetivo de realizar una  comparaci&oacute;n entre el consumo temporal real de la nueva variante (optimizaciones  realizadas al ACJD) y el consumo temporal estimado de la variante original para  las colecciones de mayor tama&ntilde;o que la nueva variante fue capaz de procesar. Como se puede apreciar &nbsp;la cantidad de tiempo que la variante original  necesitar&iacute;a para procesar las colecciones de 195,000 objetos ser&iacute;a  aproximadamente 250 horas mientras que con las optimaciones 114 horas.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="/img/revistas/rcci/v8s1/f0605514.jpg" target="_blank">figura 6</a> de manera an&aacute;loga al caso anterior, se estima la  cantidad de memoria que la variante original necesitar&iacute;a para procesar las  colecciones de igual tama&ntilde;o que la nueva propuesta fue capaz de procesar. En este caso el algoritmo ACJD necesitar&iacute;a 5.5GB de memoria principal mientras  que nuestra propuesta 3.6GB.</font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><strong>CONCLUSIONES</strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este  trabajo se presentaron dos optimizaciones al algoritmo de agrupamiento ACJD,  con el objetivo de agrupar un n&uacute;mero mayor de documentos sobre un solo  procesador, manteniendo la calidad de los resultados. Esto se logr&oacute; siguiendo  dos estrategias fundamentales. La primera consisti&oacute; en el uso de una estructura  de datos compacta, que permite eliminar la redundancia de los datos  almacenados, aprovechando de forma &oacute;ptima los recursos de memoria principal de  una computadora. La segunda estrategia consisti&oacute; en mantener en determinadas  estructuras de datos solamente aquella informaci&oacute;n que eran mayores candidatas  a ser usadas en etapas posteriores del algoritmo. Esto &uacute;ltimo se logr&oacute; con el  uso de una estrategia de poda que redujo grandemente el volumen de datos  almacenados en estas estructuras.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con la  combinaci&oacute;n de ambas estrategias se logr&oacute; una reducci&oacute;n significativa en el  tiempo de procesamiento y en la cantidad de memoria principal necesaria para el  proceso. Se obtuvo un algoritmo que permite procesar un n&uacute;mero mayor de  documentos en un tiempo menor que con implementaciones anteriores. La utilidad  pr&aacute;ctica de este trabajo est&aacute; dada en que el algoritmo forma parte de  herramientas de manejo de datos m&aacute;s generales, y con esta nueva versi&oacute;n se  benefician todas estas herramientas que a su vez van a poder obtener  agrupamientos de m&aacute;s datos en menos tiempo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como trabajo  futuro se propone el dise&ntilde;o de un algoritmo paralelo y distribuido, con  estrategias de distribuci&oacute;n inteligentes de los objetos, con el objetivo de que  el multi-grafo sea lo m&aacute;s compacto posible en cada procesador, minimizando as&iacute;  el n&uacute;mero de comunicaciones y disminuyendo el costo temporal total del  agrupamiento. Adem&aacute;s &nbsp;integrar el uso de  mecanismos de virtualizaci&oacute;n de memoria principal sobre memoria secundaria,  para mejorar las prestaciones en cuanto a cantidad de objetos a agrupar.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><strong>REFERENCIAS    BIBLIOGR&Aacute;FICAS</strong></font>    <br>       <!-- ref --><br>   <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Aggarwal, C., <em>et  al.</em> Mining Text Data. Springer US, 2012.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ALSUMAIT, L, Text Clustering with Local Semantic Kernels.  Survey of Text Mining II. Springer London. Berry, MichaelW. and Castellanos,  Malu (Eds). pp. 87-105. 2008. ISBN: 978-1-84800-045-2.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GIL, R. Algoritmos de Agrupamiento sobre Grafos y su  Paralelizaci&oacute;n. Tesis doctoral en Ciencia de la Computaci&oacute;n,&nbsp; Universidad Jaume I, Espa&ntilde;a, 2005.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GIL, R, <em>et al.</em> A General Framework for Agglomerative  Hierarchical Clustering Algorithms<em>. </em>2006. pp. 569 - 572. Vol. 2.  ISBN: 0-7695-2521-0, ISSN: 1051-4651.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GIL, R., and PONS A. Improving the Dynamic Hierarchical  Compact Clustering Algorithm by Using Feature Selection, In Proceedings of the  XV Iberoamerican Congress on Pattern Recognition (CIARP2010),&nbsp; 2010, LNCS 6419, p. 302&ndash;310.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GIL, R., and PONS A. A New Nearest Neighbor Rule For Text  Categorization. Lecture Notes on Computer Sciences.&nbsp; pp. 814 - 823.&nbsp; November, 2006.    &nbsp;&nbsp;&nbsp; </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Hern&aacute;ndez, O., <em>et al.</em> Introducci&oacute;n a la Miner&iacute;a de  Datos. Madrid:  PEARSON Prentice Hall, 2004.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Lewis D. RCV1: A New Benchmark Collection  for Text Categorization Research. Journal of Machine Learning Research, 2004, 5:361-397. </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Raghavan, V., <em>et al.</em> A critical analysis of Vector Space Model for Information  Retrieval, Journal of the American Society on Information Science, 1986, Vol.  37, pp 279-287.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ruiz, S.,&nbsp; <em>et al. </em>Enfoque  l&oacute;gico combinatorio al reconocimiento de patrones. M&eacute;xico, 1999. ISBN: 970-18-2059-2.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">PONS A., <em>et al</em>. An  Incremental Clustering Algorithm based on Compact Sets with Radius alpha.  Progress&nbsp; in Pattern&nbsp; Recognition, Image Analysis and Applications,  Lecture&nbsp; Notes on Computer&nbsp; Sciences, Vol. 3773.&nbsp; Alberto Sanfeliu, Manuel Lazo (Eds).&nbsp; pp. 302 - 310. November, 2005.&nbsp; ISSN: 0302-9743. ISBN: 3-540-29850-9.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SALTON, G. &ldquo;Automatic Text Processing: The Transformation,  Analysis and Retrieval of Information by Computer&rdquo;, Addison-Wesley, 1989.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SEBASTIANI, F. Machine learning in automated text  categorization. ACM computing surveys (CSUR), 34(1), 1-47. 2002.    </font></p>     <p>&nbsp;</p>     <p><strong>&nbsp;</strong></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 7/05/2014          <br> Aceptado: 21/05/2014</font></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Aggarwal]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<source><![CDATA[Mining Text Data]]></source>
<year>2012</year>
<publisher-name><![CDATA[Springer US]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ALSUMAIT]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Text Clustering with Local Semantic Kernels.]]></source>
<year>2008</year>
<page-range>87-105</page-range><publisher-name><![CDATA[Survey of Text Mining II. Springer London. Berry, MichaelW. and Castellanos, Malu (Eds).]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GIL]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Algoritmos de Agrupamiento sobre Grafos y su Paralelización.]]></source>
<year>2005</year>
<publisher-name><![CDATA[Tesis doctoral en Ciencia de la Computación, Universidad Jaume I]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GIL]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A General Framework for Agglomerative Hierarchical Clustering Algorithms]]></article-title>
<source><![CDATA[]]></source>
<year>2006</year>
<volume>2</volume>
<page-range>569 - 572</page-range></nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GIL]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[PONS]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Improving the Dynamic Hierarchical Compact Clustering Algorithm by Using Feature Selection]]></source>
<year>2010</year>
<page-range>302-310</page-range><publisher-name><![CDATA[In Proceedings of the XV Iberoamerican Congress on Pattern Recognition (CIARP2010), , LNCS 6419]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GIL]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[PONS]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[A New Nearest Neighbor Rule For Text Categorization.]]></source>
<year>Nove</year>
<month>mb</month>
<day>er</day>
<page-range>814 - 823</page-range><publisher-name><![CDATA[Lecture Notes on Computer Sciences.]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hernández]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<source><![CDATA[Introducción a la Minería de Datos]]></source>
<year>2004</year>
<publisher-name><![CDATA[PEARSON Prentice Hall]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lewis]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[RCV1: A New Benchmark Collection for Text Categorization Research]]></source>
<year>2004</year>
<page-range>361-397</page-range><publisher-name><![CDATA[Journal of Machine Learning Research]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Raghavan]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A critical analysis of Vector Space Model for Information Retrieval]]></article-title>
<source><![CDATA[]]></source>
<year>1986</year>
<volume>37</volume>
<page-range>279-287</page-range></nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ruiz]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Enfoque lógico combinatorio al reconocimiento de patrones.]]></source>
<year>1999</year>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[PONS]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An Incremental Clustering Algorithm based on Compact Sets with Radius alpha. Progress in Pattern Recognition, Image Analysis and Applications]]></article-title>
<source><![CDATA[]]></source>
<year>Nove</year>
<month>mb</month>
<day>er</day>
<volume>3773</volume>
<page-range>302 - 310</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SALTON]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[&#8220;Automatic Text Processing: The Transformation, Analysis and Retrieval of Information by Computer&#8221;]]></source>
<year>1989</year>
<publisher-name><![CDATA[Addison-Wesley]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SEBASTIANI]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Machine learning in automated text categorization.]]></article-title>
<source><![CDATA[]]></source>
<year>2002</year>
<volume>34</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>1-47</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
