<?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-18992016000100001</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[KSAS. Algoritmo para la búsqueda por palabras clave en documentos XML]]></article-title>
<article-title xml:lang="en"><![CDATA[KSAS. Algorithm for keyword search in XML documents]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Méndez-Hernández]]></surname>
<given-names><![CDATA[Beatriz M]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Moreno-Rodríguez]]></surname>
<given-names><![CDATA[Rosendo]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Martínez-Jiménez]]></surname>
<given-names><![CDATA[Yailen]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Central Marta Abreu de Las Villas  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>01</day>
<month>03</month>
<year>2016</year>
</pub-date>
<pub-date pub-type="epub">
<day>01</day>
<month>03</month>
<year>2016</year>
</pub-date>
<volume>10</volume>
<numero>1</numero>
<fpage>1</fpage>
<lpage>12</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992016000100001&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992016000100001&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992016000100001&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[La búsqueda por palabras clave en documentos XML es muy útil y ampliamente usada como forma de recuperación de información. Existen diferentes algoritmos que permiten realizar esta búsqueda y otros que permiten identificar nodos significativos en documentos XML. En este artículo se explican los algoritmos más eficientes para realizar la búsqueda por palabras clave, se plantea un modelo matemático que soluciona problemas de este tipo. También se presenta un estudio de la metaheurística Optimización basada en Colonias de Hormigas y en especial del algoritmo Sistema de Hormigas. A continuación, se propone un algoritmo basado en el algoritmo Sistema de Hormigas y para finalizar se realizan pruebas estadísticas para tratar de demostrar la superioridad del algoritmo propuesto en cuanto a tiempo de ejecución sin que por ello se degrade la calidad de la solución.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The keyword search in XML documents is very useful and widely used as a method of information retrieval. There are different algorithms to perform this search and others to identify significant nodes in XML documents. This article explains the most efficient algorithms for keyword searching; a mathematical model is proposed to solve such problems. It also presents a study of the Ant Colony Optimization metaheuristic, especially the Ant System algorithm. A heuristic based on the Ant System algorithm is proposed and finally statistical tests are performed in order to demonstrate the superiority of the algorithm proposed in terms of computational time without degrading the quality of the solutions.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[búsqueda por palabras clave]]></kwd>
<kwd lng="es"><![CDATA[XML]]></kwd>
<kwd lng="es"><![CDATA[Sistema de Hormigas]]></kwd>
<kwd lng="es"><![CDATA[KSAS]]></kwd>
<kwd lng="en"><![CDATA[keyword search]]></kwd>
<kwd lng="en"><![CDATA[XML]]></kwd>
<kwd lng="en"><![CDATA[Ant System]]></kwd>
<kwd lng="en"><![CDATA[KSAS]]></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">KSAS.  Algoritmo para la b&uacute;squeda por palabras clave en documentos XML</font></strong></font></p>     <p>&nbsp;</p>     <p><font size="3"><strong><em><font face="Verdana, Arial, Helvetica, sans-serif">KSAS. Algorithm for keyword  search in XML documents</font></em></strong></font></p>     <p>&nbsp;</p>     <p>&nbsp;</p>     <P><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Beatriz M. M&eacute;ndez-Hern&aacute;ndez<strong><sup>1*</sup></strong>, Rosendo Moreno-Rodr&iacute;guez<strong><sup>1</sup></strong>, Yailen Mart&iacute;nez-Jim&eacute;nez</font></strong><font face="Verdana, Arial, Helvetica, sans-serif"><strong><sup>1</sup></strong></font></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup>1</sup> Universidad Central &ldquo;Marta Abreu&rdquo; de Las Villas, Carretera a Camajuan&iacute;  km. 5 &frac12;, Villa Clara. Tel&eacute;fono: 42-281515</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">    <br> </font></p>     ]]></body>
<body><![CDATA[<P><font face="Verdana, Arial, Helvetica, sans-serif"><span class="class"><font size="2">*Autor para la correspondencia: </font></span><a href="mailto:bmendez@uclv.edu.cu"><font size="2">bmendez@uclv.edu.cu</font></a></font>     <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">La b&uacute;squeda por palabras clave en documentos XML es muy &uacute;til y  ampliamente usada como forma de recuperaci&oacute;n de informaci&oacute;n. Existen diferentes  algoritmos que permiten realizar esta b&uacute;squeda y otros que permiten identificar  nodos significativos en documentos XML. En este art&iacute;culo se explican los  algoritmos m&aacute;s eficientes para realizar la b&uacute;squeda por palabras clave, se  plantea un modelo matem&aacute;tico que soluciona problemas de este tipo. Tambi&eacute;n se  presenta un estudio de la metaheur&iacute;stica Optimizaci&oacute;n basada en Colonias de  Hormigas y en especial del algoritmo Sistema de Hormigas. A continuaci&oacute;n, se  propone un algoritmo basado en el algoritmo Sistema de Hormigas y para  finalizar se realizan pruebas estad&iacute;sticas para tratar de demostrar la  superioridad del algoritmo propuesto en cuanto a tiempo de ejecuci&oacute;n sin que  por ello se degrade la calidad de la soluci&oacute;n. </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Palabras clave:</span></b> b&uacute;squeda por palabras clave, XML, Sistema de Hormigas, KSAS</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"><font face="Verdana, Arial, Helvetica, sans-serif">The keyword search in XML  documents is very useful and widely used as a method of information retrieval.  There are different algorithms to perform this search and others to identify  significant nodes in XML documents. This article explains the most efficient  algorithms for keyword searching; a mathematical model is proposed to solve  such problems. It also presents a study of the Ant Colony Optimization metaheuristic,  especially the Ant System algorithm. A heuristic based on the Ant System algorithm  is proposed and finally statistical tests are performed in order to demonstrate  the superiority of the algorithm proposed in terms of computational time  without degrading the quality of the solutions.</font></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Key words: </span></b>keyword search, XML, Ant  System, KSAS</font></p> <hr>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <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">Los documentos XML han llegado a convertirse en el est&aacute;ndar para la  representaci&oacute;n de datos y el intercambio de informaci&oacute;n en Internet. Debido a  su flexibilidad estructural y su heterogeneidad resulta muy dif&iacute;cil para los  usuarios hacer una consulta estructurada que exprese lo que el usuario necesita.&nbsp; Actualmente, la b&uacute;squeda por palabras clave  en documentos XML se ha convertido en un popular paradigma para la recuperaci&oacute;n  de informaci&oacute;n en documentos XML (Hristidis V., 2003; Li et al., 2007; Liu and Chen, 2007; Sun et al., 2007; Bao et al., 2009). La  b&uacute;squeda por palabras clave en documentos XML resulta significativa por su  simplicidad, ya que los usuarios no necesitan aprender un complejo lenguaje de  consulta (XPath) o conocer la estructura de los datos subyacentes. Sin embargo,  este tipo de consulta puede ser imprecisa o retornar un gran n&uacute;mero de nodos  que no son de inter&eacute;s para el usuario, algunos son simplemente nodos que  enlazan las palabras clave que el usuario necesita.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por esto, la efectividad en cuanto a la relevancia del resultado es la  parte m&aacute;s crucial de la b&uacute;squeda por palabras clave en documentos XML y puede  resumirse en tres problemas esenciales. 1) Se debe poder identificar  eficazmente el tipo de nodo o nodos que se intentan encontrar con esta  consulta. 2) Se debe poder inferir eficazmente los tipos de nodos que se  quieren encontrar con esta consulta. 3) Se debe evaluar cada resultado de la  consulta en consideraci&oacute;n con los dos problemas anteriores (Bao et al., 2009).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La mayor&iacute;a de los algoritmos que se han desarrollado para realizar este  tipo de b&uacute;squeda la realizan de forma exhaustiva en el XML y se basan en  diferentes sem&aacute;nticas como Ancestro Com&uacute;n m&aacute;s Cercano, Menor Ancestro Com&uacute;n m&aacute;s  Cercano, Exclusivo Ancestro Com&uacute;n m&aacute;s Cercano y Ancestro Com&uacute;n m&aacute;s Cercano  Compacto (LCA, SLCA, ELCA y CLCA respectivamente, por sus siglas en ingl&eacute;s),  siendo la segunda sem&aacute;ntica la que mejores resultados ha generado (Xu Yu, 2010).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El primer objetivo de este trabajo es plantear la b&uacute;squeda por palabras  clave en documentos XML como un modelo matem&aacute;tico. El segundo objetivo es  proponer un algoritmo que realice la b&uacute;squeda por palabras clave basado en la  metaheur&iacute;stica Optimizaci&oacute;n por Colonias de Hormigas (OCH), espec&iacute;ficamente en  el algoritmo Sistema de Hormigas (SH), evit&aacute;ndose as&iacute; una b&uacute;squeda exhaustiva  en el &aacute;rbol. Y, por &uacute;ltimo, evaluar el nuevo algoritmo compar&aacute;ndolo con uno de  los algoritmos exhaustivos en cuanto al tiempo en que realiza la b&uacute;squeda y  calidad de la soluci&oacute;n.</font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Algoritmos basados en SLCA </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La mayor&iacute;a de los algoritmos que realizan la b&uacute;squeda por palabras clave  son exhaustivos y est&aacute;n basados en las diferentes sem&aacute;nticas de &aacute;rboles que  existen. De todos estos algoritmos seg&uacute;n la literatura, los que act&uacute;an de  manera m&aacute;s eficiente son los basados en la sem&aacute;ntica SLCA.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo <em>Stack</em> (Guo et al., 2003) no es m&aacute;s que una variante  del algoritmo de mezcla ordenada que utiliza una pila para procesar todos los  SLCAs. La idea general del mismo es el uso de una pila para simular el  recorrido postorden de un &aacute;rbol XML virtual formado por la uni&oacute;n de los caminos  de la ra&iacute;z a cada nodo <em>S1, &hellip;,  Sl</em>, mientras que los nodos son le&iacute;dos en preorden. Cuando una  entrada est&aacute; en el tope de la pila, lo cual significa que todos sus  descendientes en <em>S1, &hellip;, Sl</em> han sido visitados, se sabe si la palabra clave aparece o no en el sub&aacute;rbol. Este  algoritmo hace una lista de todas las palabras clave y procesa el prefijo com&uacute;n  m&aacute;s largo del nodo que mejor ID tenga.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo comienza creando una pila vac&iacute;a y se tiene una lista de ID de  los nodos que no han sido visitados, se lee el pr&oacute;ximo nodo con el ID m&aacute;s  peque&ntilde;o y se realizan las operaciones necesarias. En esencia, el orden con que  son le&iacute;dos estos nodos es equivalente a un preorden de un &aacute;rbol XML ignorando  los nodos irrelevantes.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo <em>Stack </em>trata todos  los conjuntos de entrada <em>S1,  &hellip;, Sl</em> como si fueran iguales pero algunas veces la cantidad de  elementos de estas listas var&iacute;a dr&aacute;sticamente. Por esto se crea el algoritmo <em>Indexed Lookup Eager</em> (ILE) (Xu and Papakonstantinou, 2005), que trata el caso en que |S1|  es muy diferente del |S|. La complejidad temporal de este algoritmo es O</font> <img src="/img/revistas/rcci/v10n1/fo0101116.jpg" alt="01" width="398" height="42"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo <em>Scan Eager</em> (SE)  modifica al algoritmo ILE porque utiliza un escaneo lineal para encontrar <em>lm ()</em> y <em>rm ()</em>. Es decir, se aprovecha de que los accesos a  cualquier lista de palabras clave son estrictamente en orden creciente en al  algoritmo ILE.</font> </p>     <p><font size="2"><em><font face="Verdana, Arial, Helvetica, sans-serif">SE </font></em><font face="Verdana, Arial, Helvetica, sans-serif">mantiene un puntero para cada  lista de palabras clave y el cursor avanza de <em>S2</em> hasta encontrar el nodo que est&aacute; m&aacute;s cerca de <em>v</em> ya sea por la derecha o por la  izquierda. Para asegurar el buen funcionamiento de este algoritmo n&oacute;tese que <em>p</em> tiene que ser no m&aacute;s peque&ntilde;o que <em>|S1|</em>. La complejidad temporal  de SE es un O</font></font> <img src="/img/revistas/rcci/v10n1/fo0201116.jpg" alt="02" width="214" height="39"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> (Xu and  Papakonstantinou, 2005). Como puede verse la complejidad temporal de SE es la misma que la del  algoritmo ILE.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para concluir con algoritmos que realizan la b&uacute;squeda basados en la  sem&aacute;ntica SLCA se describe el algoritmo <em>Multiway-SLCA</em> (Sun et al., 2007) que mejora la actuaci&oacute;n del  algoritmo ILE pero mantiene la misma complejidad temporal para el peor caso (Xu and Papakonstantinou, 2005). De este algoritmo existen  dos variantes, <em>Basic Multiway-SLCA</em> (BMS) e <em>Incremental Multiway-SLCA</em> (IMS)  propuestas por (Sun et al., 2007), el pseudoc&oacute;digo del segundo  se muestra en la <a href="#f01">figura 1</a>. El algoritmo IMS introduce adem&aacute;s una optimizaci&oacute;n  con el objetivo de reducir el n&uacute;mero de computaciones de <em>lca</em> que realiza el algoritmo BMS. BMS necesita recuperar los nodos  en orden desde un conjunto no ordenado y esto trae consigo un gasto de tiempo  extra. Por lo que de estas dos variantes analizaremos la variante optimizada,  IMS. El algoritmo tiene como entrada una lista de palabras clave <em>(S1, &hellip;, Sl)</em> y la  salida son todos los SLCAs.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/rcci/v10n1/f0101116.jpg" alt="f01" width="395" height="492"><a name="f01"></a></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Este algoritmo computa SLCA iterativamente, en cada iteraci&oacute;n se  selecciona un nodo &uml;ancla&uml; <em>vm</em> que se almacena al igual que su &iacute;ndice <em>m</em>.  IMS se optimiza b&aacute;sicamente en las l&iacute;neas 7-8. N&oacute;tese que cada llamada a la funci&oacute;n <em>closest </em>requiere dos computaciones  LCA. IMS reduce el n&uacute;mero de computaciones LCA a un m&aacute;ximo de L, es decir como  m&aacute;ximo una por cada lista de palabras clave. BMS e IMS dan como salida todos los  nodos SLCA en un tiempo O (<img src="/img/revistas/rcci/v10n1/fo0301116.jpg" alt="03" width="97" height="20">).</font> </p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Optimizaci&oacute;n basada en  Colonias de Hormigas</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los algoritmos de Optimizaci&oacute;n basada en Colonias de Hormigas (OCH) (Dorigo and Di  Caro, 1999, Dorigo et al.,  1999, Dorigo and  St&uuml;tzle, 2003, Dorigo and  Birattari, 2010) se  inspiran directamente en el comportamiento de las colonias reales de hormigas  para solucionar problemas de optimizaci&oacute;n combinatoria. Se basan en una colonia  de hormigas artificiales; es decir, agentes computacionales simples que  trabajan de manera cooperativa y se comunican mediante rastros artificiales de  feromona. Los algoritmos de OCH son esencialmente m&eacute;todos constructivos: en  cada iteraci&oacute;n del algoritmo, cada hormiga construye una soluci&oacute;n al problema  recorriendo un grafo de construcci&oacute;n <em>G1</em>.  La informaci&oacute;n heur&iacute;stica, mide la preferencia heur&iacute;stica de moverse desde el  nodo <em>r</em> hasta el nodo <em>s</em>; es decir, la propensi&oacute;n a recorrer la  arista <em>a<sub><font size="1">rs</font></sub></em> y se denota por <em>&eta;<sub><font size="1">rs</font></sub></em>. Las hormigas no modifican  esta informaci&oacute;n durante la ejecuci&oacute;n del algoritmo. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La informaci&oacute;n de los rastros artificiales de feromona, mide la  &ldquo;deseabilidad aprendida&rdquo; del movimiento de <em>r</em> a <em>s</em>. Imita de forma num&eacute;rica a la  feromona real que depositan las hormigas naturales. Esta informaci&oacute;n se  modifica durante la ejecuci&oacute;n del algoritmo dependiendo de las soluciones  encontradas por las hormigas y se denota por &tau;<sub><font size="1">rs</font></sub>.</font> </p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo Sistema de Hormigas (Dorigo M., 1996, Heinonen and Pettersson, 2007), fue el primer algoritmo de  OCH. Su versi&oacute;n actual (<em>Ant Cycle</em>)  apareci&oacute; conjuntamente con otras variantes de &eacute;ste. El SH se caracteriza por el  hecho de que, la actualizaci&oacute;n de feromona se realiza una vez que todas las  hormigas han completado sus soluciones, y se lleva a cabo como sigue: primero,  todos los rastros de feromona se reducen en un factor constante, implement&aacute;ndose  la evaporaci&oacute;n de feromona seg&uacute;n la siguiente ecuaci&oacute;n:</font></p>     ]]></body>
<body><![CDATA[<p align="center"><img src="/img/revistas/rcci/v10n1/fo0401116.jpg" alt="04" width="173" height="26"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">donde &rho; se conoce como constante de evaporaci&oacute;n y es la encargada de  reducir los rastros de feromona para evitar el estancamiento de las soluciones  y <em>t<sub>ij</sub></em> es la cantidad de  feromona asociada al arco <em>a<sub>ij</sub></em>.</font> </p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A continuaci&oacute;n, cada hormiga de la colonia deposita una cantidad de  feromona en funci&oacute;n de la calidad de su soluci&oacute;n, seg&uacute;n la ecuaci&oacute;n:</font></p>     <p align="center"><img src="/img/revistas/rcci/v10n1/fo0501116.jpg" alt="05" width="161" height="27"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">donde</font> <img src="/img/revistas/rcci/v10n1/fo0601116.jpg" alt="06" width="107" height="30"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">representa la cantidad de feromona a depositar por la hormiga <em>k</em> en cada arco <em>a<sub>ij</sub></em>&nbsp;de su soluci&oacute;n encontrada (S<font size="1"><sup>k</sup></font>). Este valor depende de la calidad de dicha soluci&oacute;n (C(S<font size="1"><sup>k</sup></font>)).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las soluciones en el SH se construyen como sigue: en cada paso de  construcci&oacute;n, una hormiga <em>k</em> escoge ir  al siguiente nodo con una probabilidad que se calcula como:</font></p>     <p align="center"><img src="/img/revistas/rcci/v10n1/fo0701116.jpg" alt="07" width="243" height="66"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">donde</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="/img/revistas/rcci/v10n1/fo0801116.jpg" alt="08" width="25" height="26"></font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">es el vecindario alcanzable por la hormiga <em>k</em> cuando se encuentra en el nodo <em>i</em>. Los par&aacute;metros alfa <em>(&alpha;)</em> y beta <em>(&beta;)</em> controlan el proceso de  b&uacute;squeda. Para &alpha;=0 se tiene una b&uacute;squeda heur&iacute;stica estoc&aacute;stica cl&aacute;sica,  mientras que para <em>&beta;=0</em> s&oacute;lo el valor  de la feromona tiene efecto. Un valor de <em>&alpha;&lt;1</em> lleva a una r&aacute;pida situaci&oacute;n  de convergencia (<em>stagnation</em>) (Dorigo et al., 1999). El vector</font> <img src="/img/revistas/rcci/v10n1/fo0901116.jpg" alt="09" width="22" height="24"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">contiene las probabilidades de movimiento calculadas para los nodos de  la vecindad</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">(<img src="/img/revistas/rcci/v10n1/fo0801116.jpg" alt="08" width="25" height="26">) de la hormiga <em>k</em>. El valor <img src="/img/revistas/rcci/v10n1/fo1001116.jpg" alt="10" width="19" height="26">&nbsp;representa el elemento <em>(i, j)</em> en la matriz de feromona y <img src="/img/revistas/rcci/v10n1/fo1101116.jpg" alt="11" width="21" height="26">&nbsp;se denomina funci&oacute;n de  visibilidad o funci&oacute;n heur&iacute;stica y mide la calidad de un estado <em>j</em> a partir del <em>i</em>.</font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Modelo Matem&aacute;tico</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La literatura recomienda que la recuperaci&oacute;n de informaci&oacute;n estructurada,  como es la informaci&oacute;n que nos brindan los     ]]></body>
<body><![CDATA[<br>   XML, se debe regir por el principio de recuperaci&oacute;n de informaci&oacute;n  estructurada: &ldquo;Un sistema de recuperaci&oacute;n de informaci&oacute;n deber&aacute; siempre  recuperar la parte m&aacute;s espec&iacute;fica del documento que d&eacute; respuesta a la consulta&rdquo;  (Manning et al., 2008).    <br>   Este principio se considera muy dif&iacute;cil de implementar algor&iacute;tmicamente, ya  que puede presentar cierta ambig&uuml;edad debido a que dos nodos pueden tener la  misma etiqueta y representar dos cosas totalmente diferentes. Por ejemplo, un  creador y el producto que este cre&oacute; pueden tener el mismo nombre y ambas ser&iacute;an  buenas respuestas para el usuario. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para dar soluci&oacute;n a esto para  documentos XML existe una f&oacute;rmula que permite calcular el peso de cada sub&aacute;rbol  de acuerdo a las palabras clave de entrada y as&iacute; evaluar todos los posibles  resultados. Esta f&oacute;rmula es conocida como funci&oacute;n <em>context resemblance</em>(C<sub><font size="1">R</font></sub>) (Manning et al., 2008):</font></p>     <p align="center"><img src="/img/revistas/rcci/v10n1/fo1201116.jpg" alt="12" width="270" height="73"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">donde <em>|C<sub><font size="1">q</font></sub>|</em> representa  el n&uacute;mero de nodos que est&aacute;n en la consulta y <em>|C<sub><font size="1">d</font></sub>|</em> el n&uacute;mero de nodos del documento. El valor de C<sub><font size="1">R</font></sub> es 1 si y solo si la  cantidad de palabras clave coincide con el n&uacute;mero de nodos del documento XML,  la cual se considerar&iacute;a la respuesta perfecta.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A continuaci&oacute;n, se plantea un problema usando como base el principio de  recuperaci&oacute;n de informaci&oacute;n estructurada y la funci&oacute;n vista anteriormente.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Dado un documento XML <em>V</em>, con <em>n</em> elementos (nodos), donde <em>V</em><em><sub><font size="1">i</font></sub></em> son los fragmentos (sub&aacute;rboles)  del documento que contienen todas las palabras clave o palabras de entrada, <em>|C<sub><font size="1">q</font></sub>|</em> es la cantidad de palabras  de entrada y <em>|C<sub><font size="1">di</font></sub>|</em> la  cantidad de nodos del fragmento (sub&aacute;rbol) <em>i</em>,  el problema nos quedar&iacute;a de la siguiente manera:</font></p>     <p align="center"><img src="/img/revistas/rcci/v10n1/fo1301116.jpg" alt="13" width="161" height="26"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Despu&eacute;s de que esto se garantice, el problema a resolver no ser&iacute;a m&aacute;s que: </font></p>     <p align="center"><img src="/img/revistas/rcci/v10n1/fo1401116.jpg" alt="14" width="149" height="76"></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De esta forma se garantiza que se escoja el sub&aacute;rbol que contenga todas  las palabras clave y al mismo tiempo el que menor cantidad de nodos tenga.</font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">KSAS</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La esencia del algoritmo KSAS es la b&uacute;squeda de palabras clave en  documentos XML usando el algoritmo SH de la metaheur&iacute;stica OCH.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo SH realiza una b&uacute;squeda en un determinado ambiente,  generalmente sobre grafos no dirigidos y completos, estos grafos son su espacio  de b&uacute;squeda que van explotando hasta encontrar la mejor soluci&oacute;n o al menos una  bastante buena.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para la aplicaci&oacute;n de este algoritmo a nuestro problema se hizo  necesario realizar una serie de modificaciones debido a que el espacio de  b&uacute;squeda donde se ejecuta la explotaci&oacute;n es la informaci&oacute;n del documento XML,  la cual se representa en forma de &aacute;rbol como fue descrito en el planteamiento  del problema. A continuaci&oacute;n, se muestra en la <a href="#f02">figura 2</a> un documento XML y el  &aacute;rbol que lo representa</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">. </font></p>     <p align="center"><img src="/img/revistas/rcci/v10n1/f0201116.jpg" alt="02" width="568" height="380"><a name="f02"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo KSAS fue implementado en Java y para trabajar con los  documentos XML se utiliz&oacute; la biblioteca JDOM, la cual facilita el manejo de la  informaci&oacute;n del documento. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El proceso comienza posicionando cada una de las hormigas de la colonia  en un elemento del documento XML escogido aleatoriamente, cada hormiga empieza  a moverse por el &aacute;rbol seg&uacute;n las funciones de proporcionalidad utilizadas  usualmente por el algoritmo SH, para resolver este problema la funci&oacute;n  heur&iacute;stica es la funci&oacute;n objetivo del problema de optimizaci&oacute;n planteado  anteriormente, la vecindad del nodo <em>i</em> son todos los hijos de este nodo y su padre, ya que estos son los &uacute;nicos  elementos relacionados con el nodo <em>i</em>,  por tanto es adonde &uacute;nico puede moverse la hormiga. Luego de ser elegido el  nodo al cual va a moverse la hormiga se introduce en el recorrido de la misma,  si es que este nodo no ha sido visitado, en caso contrario, se inserta este  nodo en una variable temporal, luego se procede a incrementar los valores de  feromona con una actualizaci&oacute;n en l&iacute;nea, este proceso lo desarrollan todas las  hormigas de la colonia. Cada hormiga termina cuando tiene en su recorrido todas  las palabras clave que se buscaban o visit&oacute; todos los estados (nodos) sin  encontrar todas las palabras clave. Siempre que se obtengan soluciones estas  son evaluadas para tener almacenada la mejor soluci&oacute;n, es decir, la menor  cantidad de nodos que contengan todas las palabras clave (mejor soluci&oacute;n  global). Cuando cada hormiga de la colonia encontr&oacute; su soluci&oacute;n, se pasa a la  evaporaci&oacute;n de los rastros de feromona pertenecientes a la mejor soluci&oacute;n  encontrada hasta el momento, adem&aacute;s se realiza una actualizaci&oacute;n de los rastros  de la feromona asociados a esta soluci&oacute;n.</font></p>     <p align="center"><img src="/img/revistas/rcci/v10n1/f0301116.jpg" alt="03" width="492" height="446"></p>     <p align="center">&nbsp;</p>     ]]></body>
<body><![CDATA[<p><strong><font size="3" face="Verdana, Arial, Helvetica, sans-serif">RESULTADOS EXPERIMENTALES</font></strong></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para validar el algoritmo se utilizaron 60 XML de la colecci&oacute;n de INEX.  El algoritmo se ejecut&oacute; en una computadora con procesador i5 a 3.30 GHz, con 4  GB de memoria RAM y sistema operativo Linux.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para ver si el algoritmo KSAS funciona mejor que el algoritmo IMS se  tratar&aacute; de demostrar que el algoritmo KSAS mejora de forma significativa el  tiempo de ejecuci&oacute;n del algoritmo IMS pero que al mismo tiempo la calidad de la  soluci&oacute;n no experimente cambios significativos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para esto se les aplic&oacute; a los algoritmos la prueba de Wilcoxon para  comparaci&oacute;n de dos poblaciones, los resultados obtenidos se muestran a continuaci&oacute;n.  Estas pruebas se hicieron para tres dimensiones de arreglos de palabras clave a  buscar (2, 3 y 10).</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="/img/revistas/rcci/v10n1/t0101116.jpg" target="_blank">Ver tabla 1</a> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como puede verse en cuanto a la calidad de soluci&oacute;n no se encontraron  diferencias significativas, ya que en todos los casos el algoritmo propuesto  fue capaz de encontrar la soluci&oacute;n &oacute;ptima, por lo tanto, se puede decir que el  comportamiento de los dos algoritmos en cuanto a este punto es similar. En  cuanto al costo computacional, si se encontraron diferencias significativas,  mejorando el algoritmo propuesto al IMS en todos los casos analizados pues como  puede observarse en la <a href="/img/revistas/rcci/v10n1/t0101116.jpg" target="_blank">tabla</a> en todos los casos el tiempo computacional del  algoritmo IMS es mayor que el tiempo del algoritmo KSAS.</font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>CONCLUSIONES</B></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se dise&ntilde;&oacute; un modelo matem&aacute;tico para resolver la b&uacute;squeda de palabras  clave en documentos XML, a partir de este modelo se implement&oacute; el algoritmo  KSAS utilizando el comportamiento del algoritmo SH que realiza esta b&uacute;squeda teniendo  como funci&oacute;n heur&iacute;stica la funci&oacute;n objetivo del modelo matem&aacute;tico dise&ntilde;ado; y  por &uacute;ltimo se demostr&oacute; que el algoritmo KSAS soluciona este problema de forma  &oacute;ptima ya que no muestra diferencias significativas en la calidad de las  soluciones, lo cual quiere decir que es capaz de encontrar en la mayor&iacute;a de los  casos el sub&aacute;rbol &oacute;ptimo, y si existen diferencias significativas en el costo  computacional, donde para el total de los casos el algoritmo propuesto muestra  un menor costo que el algoritmo IMS.</font></p>     <p>&nbsp;</p>     <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>REFERENCIAS  BIBLIOGR&Aacute;FICAS</B></font>     ]]></body>
<body><![CDATA[<!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">BAO, Z., LING, T. W., CHEN, B. & LU, J. 2009. Effective XML Keyword Search with Relevance  Oriented Ranking. <em>Proceedings of the 2009 IEEE International Conference on Data Engineering. </em>IEEE Computer Society.    </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">DORIGO, M. 1992. Optimization, learning and natural algorithms. <em>Ph. D. Thesis, Politecnico di Milano,</em> <em>Italy</em>.    </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">DORIGO, M. & BIRATTARI, M. 2010. Ant colony optimization. <em>Encyclopedia of Machine Learning.</em> Springer.    </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">DORIGO, M. & DI CARO, G. Ant colony optimization: a new meta-heuristic. Evolutionary Computation,  1999. CEC 99. Proceedings of the 1999 Congress on, 1999. IEEE.    </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">DORIGO, M., DI CARO, G. & GAMBARDELLA, L. M. 1999. Ant algorithms for discrete optimization. <em>Artificial life, </em>5<strong>, </strong>137-172.     </font>     ]]></body>
<body><![CDATA[<!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">DORIGO, M. & ST&Uuml;TZLE, T. 2003. The ant colony optimization metaheuristic: Algorithms, applications,  and advances. <em>Handbook of metaheuristics. </em>Springer.     </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">DORIGO M., M. V. A. C. A. 1996. Ant system: optimization by a colony of cooperating agents <em>Systems,</em> <em>Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, </em>26<strong>, </strong>29-41.    </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">GUO, L., SHAO, F., BOTEV, C. & SHANMUGASUNDARAM, J. 2003. XRANK: ranked keyword search  over XML documents. <em>Proceedings of the 2003 ACM SIGMOD international conference on Management of</em> <em>data. </em>San Diego, California: ACM.       </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">HEINONEN, J. & PETTERSSON, F. 2007. Hybrid ant colony optimization and visibility studies applied to  a job-shop scheduling problem. <em>Applied Mathematics and Computation, </em>187<strong>, </strong>989-998.     </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">HRISTIDIS V., P. Y. A. B., A. 2003. Keyword proximity search on XML graphs <em>Proceedings. 19th</em> <em>International Conference on Data Engineering. </em>IEEE.    </font>     ]]></body>
<body><![CDATA[<!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">LI, Y., CHAUDHURI, I., YANG, H., SINGH, S. & JAGADISH, H. DaNaLIX: a domain-adaptive natural  language interface for querying XML. Proceedings of the 2007 ACM SIGMOD international conference on  Management of data, 2007. ACM, 1165-1168.    </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">LIU, Z. & CHEN, Y. Identifying meaningful return information for XML keyword search. Proceedings of  the 2007 ACM SIGMOD international conference on Management of data, 2007. ACM, 329-340.     </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">MANNING, C. D., RAGHAVAN, P. & SCHTZE, H. 2008. <em>Introduction to Information Retrieval</em>,  Cambridge University Press.     </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">SUN, C., CHAN, C.-Y. & GOENKA, A. K. 2007. Multiway SLCA-based keyword search in XML data. <em>Proceedings of the 16th international conference on World Wide Web. </em>Banff, Alberta, Canada: ACM.    </font>     <!-- ref --><p align="left"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">XU, Y. & PAPAKONSTANTINOU, Y. 2005. Efficient keyword search for smallest LCAs in XML  databases. <em>Proceedings of the 2005 ACM SIGMOD international conference on Management of data.</em> Baltimore, Maryland: ACM.     </font>     ]]></body>
<body><![CDATA[<!-- ref --><p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">XU YU, J., QIN L. AND CHANG L. 2010. <em>Keyword Search in Databases</em>, Morgan & Claypool.    </font>     <p>&nbsp;</p>     <p>&nbsp;</p>     <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 14/07/2015     <br>   Aceptado:    02/11/2015   </font>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BAO]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[LING]]></surname>
<given-names><![CDATA[T. W]]></given-names>
</name>
<name>
<surname><![CDATA[CHEN]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[LU]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Effective XML Keyword Search with Relevance Oriented Ranking.]]></source>
<year>2009</year>
<publisher-name><![CDATA[Proceedings of the 2009 IEEE International Conference on Data Engineering. IEEE Computer Society.]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DORIGO]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Optimization, learning and natural algorithms.]]></source>
<year>1992</year>
<publisher-name><![CDATA[Politecnico di Milano]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DORIGO]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[BIRATTARI]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Ant colony optimization. Encyclopedia of Machine Learning]]></source>
<year>2010</year>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DORIGO]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[DI CARO]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[Ant colony optimization: a new meta-heuristic.]]></source>
<year>1999</year>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DORIGO]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[DI CARO]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[GAMBARDELLA]]></surname>
<given-names><![CDATA[L. M]]></given-names>
</name>
</person-group>
<source><![CDATA[Ant algorithms for discrete optimization]]></source>
<year>1999</year>
<volume>5</volume>
<page-range>137-172</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DORIGO]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[STÜTZLE]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[The ant colony optimization metaheuristic: Algorithms, applications, and advances]]></source>
<year>2003</year>
<publisher-name><![CDATA[Handbook of metaheuristics. Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DORIGO]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Ant system: optimization by a colony of cooperating agents Systems, Man, and Cybernetics, Part B: Cybernetics]]></source>
<year>1996</year>
<volume>26</volume>
<page-range>29-41</page-range></nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GUO]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[SHAO]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[BOTEV]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[SHANMUGASUNDARAM]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[XRANK: ranked keyword search over XML documents. Proceedings of the 2003 ACM SIGMOD international conference on Management of data.]]></source>
<year>2003</year>
<publisher-loc><![CDATA[^eSan Diego, California San Diego, California]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HEINONEN]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[PETTERSSON]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Hybrid ant colony optimization and visibility studies applied to a job-shop scheduling problem]]></source>
<year>2007</year>
<volume>187</volume>
<page-range>989-998</page-range></nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HRISTIDIS]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<name>
<surname><![CDATA[P. Y. A. B]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Keyword proximity search on XML graphs Proceedings.]]></source>
<year>2003</year>
<publisher-name><![CDATA[19th International Conference on Data Engineering. IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LI]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[CHAUDHURI]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[YANG]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[SINGH]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[JAGADISH]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<source><![CDATA[DaNaLIX:: a domain-adaptive natural language interface for querying XML.]]></source>
<year>2007</year>
<page-range>1165-1168</page-range><publisher-name><![CDATA[Proceedings of the 2007 ACM SIGMOD international conference on Management of data]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LIU]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[CHEN]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
</person-group>
<source><![CDATA[Identifying meaningful return information for XML keyword search.]]></source>
<year>2007</year>
<page-range>329-340</page-range></nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MANNING]]></surname>
<given-names><![CDATA[C. D]]></given-names>
</name>
<name>
<surname><![CDATA[RAGHAVAN]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[SCHTZE]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<source><![CDATA[Introduction to Information Retrieval]]></source>
<year>2008</year>
<publisher-name><![CDATA[Cambridge University Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SUNC]]></surname>
<given-names><![CDATA[CHAN]]></given-names>
</name>
<name>
<surname><![CDATA[Y]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[GOENKA]]></surname>
<given-names><![CDATA[A. K]]></given-names>
</name>
</person-group>
<source><![CDATA[Multiway SLCA-based keyword search in XML data]]></source>
<year>2007</year>
<publisher-loc><![CDATA[Banff^eAlberta Alberta]]></publisher-loc>
<publisher-name><![CDATA[Proceedings of the 16th international conference on World Wide Web]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[XU]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[PAPAKONSTANTINOU]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
</person-group>
<source><![CDATA[Efficient keyword search for smallest LCAs in XML databases.]]></source>
<year>2005</year>
<publisher-loc><![CDATA[Maryland^eBaltimore Baltimore]]></publisher-loc>
<publisher-name><![CDATA[Proceedings of the 2005 ACM SIGMOD international conference on Management of data]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[XU YU]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[L]]></surname>
<given-names><![CDATA[QIN]]></given-names>
</name>
<name>
<surname><![CDATA[CHANG]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Keyword Search in Databases, Morgan & Claypool]]></source>
<year>2010</year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
