<?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>1692-3324</journal-id>
<journal-title><![CDATA[Revista Ingenierías Universidad de Medellín]]></journal-title>
<abbrev-journal-title><![CDATA[Rev. ing. univ. Medellín]]></abbrev-journal-title>
<issn>1692-3324</issn>
<publisher>
<publisher-name><![CDATA[Universidad de Medellín]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1692-33242012000100011</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[ALGORITMO FONÉTICO PARA DETECCIÓN DE CADENAS DE TEXTO DUPLICADAS EN EL IDIOMA ESPAÑOL]]></article-title>
<article-title xml:lang="en"><![CDATA[PHONETIC ALGORITHM TO DETECT DUPLICATE TEXT STRINGS IN SPANISH]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Amón]]></surname>
<given-names><![CDATA[Iván]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Moreno]]></surname>
<given-names><![CDATA[Francisco]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Echeverri]]></surname>
<given-names><![CDATA[Jaime]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Pontificia Bolivariana Facultad de Ingeniería Informática y Telecomunicaciones ]]></institution>
<addr-line><![CDATA[Medellín ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Nacional de Colombia  ]]></institution>
<addr-line><![CDATA[Medellín ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A03">
<institution><![CDATA[,Universidad de Medellín Facultad de Ingeniería ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2012</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2012</year>
</pub-date>
<volume>11</volume>
<numero>20</numero>
<fpage>127</fpage>
<lpage>138</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S1692-33242012000100011&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S1692-33242012000100011&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S1692-33242012000100011&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Con frecuencia datos que deberían estar escritos de forma idéntica no lo están debido a errores ortográficos y tipográficos, variaciones en el orden de las palabras, uso de prefijos y sufijos, entre otros. Las técnicas fonéticas para detección de duplicados no están orientadas al idioma español, lo que dificulta la identificación y corrección de problemas como errores ortográficos en textos escritos en este idioma. En este artículo de investigación se propone un algoritmo denominado PhoneticSpanish para la detección de cadenas de texto duplicadas el cual considera la presencia de errores ortográficos en el idioma español. El algoritmo propuesto se comparó con nueve técnicas para la detección de duplicados. Los resultados del algoritmo fueron satisfactorios ya que se obtuvieron mejores resultados que las otras técnicas y evidencian oportunidades para mejorar el análisis de información en el idioma español.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Often data that should be written so they are not identical due to misspellings and typos, variations in word order, use of prefixes and suffixes, among others. Phonetic techniques for duplicate detection are not geared toward the Spanish language, which makes the identification and correction of problems such as spelling errors in texts written in this language. In this paper we propose an algorithm called PhoneticSpanish to detect duplicate text strings which considers the presence of spelling errors in Spanish. The proposed algorithm was compared with nine techniques to detect duplicates. The results were satisfactory and the algorithm that performed better than the other techniques and demonstrate opportunities for improved analysis of information in Spanish.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Limpieza de datos]]></kwd>
<kwd lng="es"><![CDATA[calidad de datos]]></kwd>
<kwd lng="es"><![CDATA[detección de duplicados]]></kwd>
<kwd lng="es"><![CDATA[funciones de similitud]]></kwd>
<kwd lng="es"><![CDATA[algoritmos fonéticos]]></kwd>
<kwd lng="en"><![CDATA[Data cleansing]]></kwd>
<kwd lng="en"><![CDATA[data quality]]></kwd>
<kwd lng="en"><![CDATA[detection of duplicates]]></kwd>
<kwd lng="en"><![CDATA[similarity functions]]></kwd>
<kwd lng="en"><![CDATA[phonetic algorithms]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  <font size="2" face="Verdana, Arial, Helvetica, sans-serif">     <p align="right"><b>ART&Iacute;CULOS</b></p>     <p align="right">&nbsp;</p>     <p align="center"><font face="Verdana" size="4"><b>ALGORITMO FON&Eacute;TICO PARA DETECCI&Oacute;N DE CADENAS DE TEXTO DUPLICADAS EN EL IDIOMA ESPA&Ntilde;OL </b></font></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="3"><b>PHONETIC ALGORITHM TO DETECT DUPLICATE TEXT STRINGS IN SPANISH </b></font></p>     <p align="center">&nbsp;</p>     <p>&nbsp;</p>     <p><b> Iv&aacute;n Am&oacute;n<a href="#topo1"><sup>*</sup></a>; Francisco Moreno<a href="#topo2"><sup>**</sup></a>; Jaime Echeverri<a href="#topo3"><sup>***</sup></a></b></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><a name="#topo1">*</a> Facultad de Ingenier&iacute;a Inform&aacute;tica y Telecomunicaciones; Grupo de Investigaci&oacute;n GIDATI; Universidad Pontificia Bolivariana&#8211;Medell&iacute;n Colombia; MSc Ingeniero de Sistemas, docente titular UPB. E-mail: <a href="mailto:ivan.amon@upb.edu.co">ivan.amon@upb.edu.co</a>.    <BR> <a name="#topo2">**</a> Escuela de Sistemas; Universidad Nacional de Colombia&#8211;Medell&iacute;n; PhD Ingeniero de sistemas, docente investigador, UN. E-mail: <a href="mailto:fjmoreno@unal.edu.co">fjmoreno@unal.edu.co</a>.    <BR> <a name="#topo3">***</a> Facultad de Ingenier&iacute;a; Ingenier&iacute;a de Sistemas, Universidad de Medell&iacute;n; PhD( c ) Ingenier&iacute;a de Sistemas, docente investigador, UN. E-mail: <a href="mailto:jaecheverri@udem.edu.co">jaecheverri@udem.edu.co</a>.</p>     <p>&nbsp;</p>     <p><b>Recibido</b>: 31/08/2011    <br>   <b> Aceptado:</b>: 24/05/2012</p>     <p>&nbsp;</p>     <p>&nbsp;</p> <hr size="1" noshade>     <p><b>RESUMEN</b></p>     <p> Con frecuencia datos que deber&iacute;an estar escritos de forma id&eacute;ntica no lo est&aacute;n debido a errores ortogr&aacute;ficos y tipogr&aacute;ficos, variaciones en el orden de las palabras, uso de prefijos y sufijos, entre otros. Las t&eacute;cnicas fon&eacute;ticas para detecci&oacute;n de duplicados no est&aacute;n orientadas al idioma espa&ntilde;ol, lo que dificulta la identificaci&oacute;n y correcci&oacute;n de problemas como errores ortogr&aacute;ficos en textos escritos en este idioma. En este art&iacute;culo  de investigaci&oacute;n se propone un algoritmo denominado <I>PhoneticSpanish</I> para la detecci&oacute;n de cadenas de texto duplicadas el cual considera la presencia de errores ortogr&aacute;ficos en el idioma espa&ntilde;ol. El algoritmo propuesto se compar&oacute; con nueve t&eacute;cnicas para la detecci&oacute;n de duplicados. Los resultados del algoritmo fueron satisfactorios ya que se obtuvieron mejores resultados que las otras t&eacute;cnicas y evidencian oportunidades para mejorar el an&aacute;lisis de informaci&oacute;n en el idioma espa&ntilde;ol.</p>     ]]></body>
<body><![CDATA[<p><b>PALABRAS CLAVE</b></p>     <p> Limpieza de datos, calidad de datos, detecci&oacute;n de duplicados, funciones de similitud, algoritmos fon&eacute;ticos. </p> <hr size="1" noshade>     <p><b>ABSTRACT</b></p>     <p> Often data that should be written so they are not identical due to misspellings and typos, variations in word order, use of prefixes and suffixes, among others. Phonetic techniques for duplicate detection are not geared toward the Spanish language, which makes the identification and correction of problems such as spelling errors in texts written in this language. In this paper we propose an algorithm called PhoneticSpanish to detect duplicate text strings which considers the presence of spelling errors in Spanish. The proposed algorithm was compared with nine techniques to detect duplicates. The results were satisfactory and the algorithm that performed better than the other techniques and demonstrate opportunities for improved analysis of information in Spanish.</p>     <p><b>KEY WORDS</b></p>     <p> Data cleansing, data quality, detection of duplicates, similarity functions, phonetic algorithms.</p> <hr size="1" noshade>     <p>&nbsp;</p>     <p>&nbsp;</p>    <p><font size="3"><b>INTRODUCCI&Oacute;N</B></FONT></p>     <p>Actualmente las organizaciones acumulan grandes vol&uacute;menes de datos, que sirven de base para generar informaci&oacute;n y conocimiento. Los datos incorrectos pueden llevar a tomar decisiones equivocadas con la consiguiente p&eacute;rdida de tiempo, dinero y credibilidad. Uno de los inconvenientes que se pueden presentar en los datos almacenados se da cuando una misma entidad del mundo real se almacena m&aacute;s de una vez de diferentes formas. El proceso para detectar este tipo de problemas se conoce como <I>record linkage</I> en el &aacute;rea de la estad&iacute;stica; <I>database hardening</I> en el &aacute;rea de la inteligencia artificial; <I>merge</I>-<I>purge</I>, <I>data deduplication</I> o <I>instance identification</I> en el &aacute;rea de las bases de datos; otros nombres como <I>coreference resolution</I> y <I>duplicate record detection</I> tambi&eacute;n se usan con frecuencia. </p>     ]]></body>
<body><![CDATA[<p>Este proceso fue identificado inicialmente por &#91;1&#93;. Algunos fundamentos probabil&iacute;sticos fueron desarrollados posteriormente por &#91;2&#93;, y formalizados por &#91;3&#93;, como una regla de decisi&oacute;n probabil&iacute;stica. Algunas mejoras de este modelo han sido propuestas por &#91;4&#93;. Esencialmente, el proceso es como sigue: dado un conjunto <I>R</I> de registros: i) se define un umbral en el intervalo cerrado &#91;0,1&#93;, ii) se compara cada registro con los dem&aacute;s registros y iii) si la <I>similitud</I> entre una pareja de registros es mayor o igual que el umbral, se supone que son duplicados y se considera que son representaciones de una misma entidad del mundo real.</p>     <p>Para ilustrar esta situaci&oacute;n, sup&oacute;ngase que en un sistema de salud, cada vez que un paciente ingresa en un hospital se registran sus datos; de esta forma, su nombre se podr&iacute;a ingresar de diferentes formas debido a errores ortogr&aacute;ficos o tipogr&aacute;ficos, uso de abreviaturas o debido a palabras faltantes.</p>     <p>Se han desarrollado funciones de similitud para la detecci&oacute;n de duplicados; algunas de ellas son de tipo fon&eacute;tico como Soundex &#91;5&#93;, Metaphone &#91;6&#93; Double Metaphone &#91;7&#93; Onca &#91;8&#93; Nysiis &#91;9&#93;. Estas t&eacute;cnicas, se basan en la forma como se pronuncian las palabras en un idioma en particular y no est&aacute;n orientadas al idioma espa&ntilde;ol. Otro tipo de funciones de similitud se basa en emparejamiento de patrones. En esta &uacute;ltima categor&iacute;a, se encuentran t&eacute;cnicas como Levenshtein, Brecha Af&iacute;n, Smith-Waterman, Jaro, Jaro-Winkler, <I>Bi</I>-<I>grams</I>, <I>Tri</I>-<I>grams</I>, Monge-Elkan y SoftTF-IDF. En este art&iacute;culo se propone un algoritmo que considera las particularidades del idioma espa&ntilde;ol y compara sus resultados con los de estas t&eacute;cnicas. </p>     <p>Para la concepci&oacute;n del algoritmo, se caracterizaron las t&eacute;cnicas mencionadas, con el fin de evaluar sus fortalezas y debilidades en cuanto a la detecci&oacute;n de errores ortogr&aacute;ficos en el idioma espa&ntilde;ol. El algoritmo se compar&oacute; contra las nueve t&eacute;cnicas de emparejamiento de patrones mediante varios conjuntos de datos de prueba. El resto del art&iacute;culo est&aacute; organizado as&iacute;: en la secci&oacute;n 2 se describen las nueve funciones de similitud sobre cadenas de texto con las cuales se compara el algoritmo propuesto. En la secci&oacute;n 3 se describe el algoritmo propuesto <I>PhoneticSpanish</I>. En la secci&oacute;n 4 se describe la m&eacute;trica usada para la evaluaci&oacute;n de las funciones de similitud. En la secci&oacute;n 5 se describe el dise&ntilde;o de los experimentos realizados para evaluar la eficacia de las funciones. En la secci&oacute;n 6 se muestran los resultados obtenidos. Por &uacute;ltimo, en la secci&oacute;n 7 se presentan las conclusiones y posibles trabajos futuros.</p>     <p>&nbsp;</p>     <p><font size="3"><b>1 FUNCIONES DE SIMILITUD SOBRE CADENAS DE TEXTO </B></FONT></p>     <p>Se considera la siguiente notaci&oacute;n: &Sigma; denota alg&uacute;n conjunto finito ordenado de caracteres y &Sigma;* el conjunto de cadenas formadas por la concatenaci&oacute;n de cero o m&aacute;s caracteres de &Sigma;. <I>A</I> y <I>B</I> denotan dos cadenas de texto de longitud <I>n</I> y <I>m</I> definidas sobre &Sigma;*, donde <I>n &#8805; m</I>. <I>a<SUB>i</SUB></I> representa alg&uacute;n car&aacute;cter de <I>A</I> para 1 &#8804; <I>i &#8804; n</I> y <I>b<SUB>j</SUB></I> es an&aacute;logo respecto a <I>B</I>. Los t&eacute;rminos distancia y similitud entre dos cadenas se relacionan as&iacute;: una distancia <I>d</I> &epsilon; &#91;0,1&#93;, <I>d</I> &epsilon; R donde 0 indica que ambas cadenas son id&eacute;nticas y 1 que no tienen caracteres en com&uacute;n, equivale a una similitud <I>s</I> = 1 &#8211; <I>d</I>, lo que indica que a mayor distancia menor es la similitud y viceversa.</p>     <p>&nbsp;</p>     <p><FONT SIZE="3" FACE="Verdana"><B>1.1 Funciones de similitud basadas en caracteres</B></FONT></p>     <p>Estas funciones consideran cada cadena de caracteres como una secuencia ininterrumpida de caracteres. En esta secci&oacute;n se consideraron cinco de las m&aacute;s conocidas.</p>     ]]></body>
<body><![CDATA[<p><FONT SIZE="2" FACE="Verdana"><B><I>Distancia de edici&oacute;n</I></B></FONT></p>     <p>La distancia de edici&oacute;n entre dos cadenas de texto <I>A</I> y <I>B</I> se basa en el conjunto m&iacute;nimo de operaciones de edici&oacute;n necesarias para transformar <I>A</I> en <I>B</I> (o viceversa). Las operaciones de edici&oacute;n permitidas son eliminaci&oacute;n, inserci&oacute;n y sustituci&oacute;n de un car&aacute;cter.</p>     <p>En el modelo original &#91;10&#93; cada operaci&oacute;n de edici&oacute;n tiene costo unitario. En &#91;11&#93; modificaron este modelo con operaciones de edici&oacute;n de distinto costo, lo que permite modelar errores ortogr&aacute;ficos y tipogr&aacute;ficos comunes. En los modelos anteriores la distancia entre dos cadenas carece de alg&uacute;n tipo de normalizaci&oacute;n, lo que se considera una gran desventaja. Por ejemplo, tres errores son m&aacute;s significativos entre dos cadenas de texto de longitud cuatro que entre dos cadenas de longitud veinte. Como consecuencia, se han propuesto varias t&eacute;cnicas de normalizaci&oacute;n. Las m&aacute;s simples normalizan dividiendo por la longitud de la cadena m&aacute;s larga &#91;12&#93; o por la suma de la longitud de ambas cadenas &#91;13&#93;. M&aacute;s recientemente, en &#91;14&#93; desarrollaron una t&eacute;cnica de normalizaci&oacute;n que satisface la desigualdad triangular. Estas t&eacute;cnicas var&iacute;an de <I>O(nm)</I> a <I>O(n</I><SUP>2</SUP><I>m)</I>.</p>     <p><FONT SIZE="2" FACE="Verdana"><B><I>Distancia de brecha af&iacute;n</I></B></FONT></p>     <p>La distancia de edici&oacute;n y otras funciones de similitud tienden a fallar cuando van a identificar cadenas equivalentes que han sido demasiado ''truncadas'', ya sea mediante el uso de abreviaturas o la omisi&oacute;n de <I>tokens</I>. La distancia de brecha af&iacute;n ofrece una soluci&oacute;n al penalizar la inserci&oacute;n/eliminaci&oacute;n de <I>k</I> caracteres consecutivos (brecha) con bajo costo, mediante una funci&oacute;n af&iacute;n R<I>(k) = g + h</I> &#183; <I>(k</I>&#8211;1), donde <I>g</I> es el costo de iniciar una brecha, <I>h</I> el costo de extenderla un car&aacute;cter y <I>h &lt;&lt;  g.</I> En &#91;15&#93; se describe un modelo para entrenar autom&aacute;ticamente esta funci&oacute;n de similitud a partir de un conjunto de datos. </p>     <p><FONT SIZE="2" FACE="Verdana"><B><I>Similitud Smith</I>-<I>Waterman</I></B></FONT></p>     <p>La similitud Smith-Waterman &#91;16&#93; entre dos cadenas <I>A</I> y <I>B</I> es la m&aacute;xima similitud entre una pareja (<I>A'</I>, <I>B'),</I> sobre todas las posibles, tal que <I>A'</I> es subcadena de <I>A</I> y <I>B'</I> es subcadena de <I>B</I>. El modelo original define las mismas operaciones de la distancia de edici&oacute;n y, adem&aacute;s, permite omitir cualquier n&uacute;mero de caracteres al principio o al final de ambas cadenas. Este aspecto permite identificar cadenas equivalentes con prefijos/sufijos que, al no tener valor sem&aacute;ntico, pueden ser descartados. Es posible normalizar la similitud de &#91;16&#93; con base en la longitud de la cadena de mayor longitud, la de menor longitud o la longitud media de ambas cadenas &#91;12&#93; que corresponden a los coeficientes de Jaccar, Overlap y Dice. La similitud Smith-Waterman se puede calcular en <I>O(nm)</I> mediante el algoritmo propuesto en &#91;16&#93;. En 1992 &#91;17&#93; presentan un algoritmo de orden <I>O(n)</I> para verificar si la similitud Smith-Waterman entre dos cadenas es menor que cierta constante <I>k</I>.</p>     <p><FONT SIZE="2" FACE="Verdana"><B><I>Similitud de Jaro</I></B></FONT></p>     <p>Jaro desarroll&oacute; una funci&oacute;n de similitud que define la trasposici&oacute;n de dos caracteres como la &uacute;nica operaci&oacute;n de edici&oacute;n permitida. Los caracteres no necesitan ser adyacentes y pueden estar alejados cierta distancia <I>d</I> que depende de la longitud de ambas cadenas &#91;18&#93;. En 1993 &#91;4&#93; propone una variante que asigna puntajes de similitud mayores a cadenas que comparten alg&uacute;n prefijo, bas&aacute;ndose en un estudio realizado por &#91;19&#93;. En &#91;20&#93; se propone un modelo basado en distribuciones gaussianas. </p>     <p><FONT SIZE="2" FACE="Verdana"><B><I>Similitud de q</I>-<I>grams</I></B></FONT></p>     ]]></body>
<body><![CDATA[<p>Un <I>q</I>-<I>gram</I>, tambi&eacute;n llamado <I>n</I>-<I>gram,</I> es una subcadena de longitud <I>q</I> &#91;21&#93;. El principio tras esta funci&oacute;n de similitud es que, cuando dos cadenas son muy similares tienen muchos <I>q</I>-<I>grams</I> en com&uacute;n. Es com&uacute;n usar <I>uni</I>-<I>grams</I> (<I>q</I> = 1)<I>, bi</I>-<I>grams</I> o <I>di</I>-<I>grams</I> (<I>q</I> = 2) y <I>tri</I>-<I>grams</I> (<I>q</I> = 3). Es posible agregar <I>q</I> &#8211; 1 ocurrencias de un car&aacute;cter especial (no definido en el alfabeto &Sigma; original) al principio y final de ambas cadenas. Esto llevar&aacute; a un puntaje de similitud mayor entre cadenas que compartan alg&uacute;n prefijo o sufijo, aunque presenten diferencias en el medio. Por ejemplo, la cadena ''Peter'' contiene los <I>bi</I>-<I>grams</I> ''Pe'', ''et'', ''te'', ''er'' y los <I>1</I>-<I>skip</I>-<I>2</I>-<I>grams</I> ''Pt'', ''ee'', ''tr''. La similitud de <I>q</I>-<I>grams</I> se puede calcular en <I>O(n)</I> &#91;22&#93;. En &#91;23&#93; se presenta un algoritmo alternativo para q-grams basado en aut&oacute;matas de sufijos que tambi&eacute;n tiene un orden<I> O(n)</I>.</p>     <p><FONT SIZE="3" FACE="Verdana"><B>1.2 Funciones de similitud basadas en tokens</B></FONT></p>     <p>Estas funciones consideran cada cadena como un conjunto de subcadenas separadas por caracteres especiales, espacios en blanco, puntos y comas, como un conjunto de <I>tokens</I>, y calculan la similitud entre cada pareja de <I>tokens</I> mediante alguna funci&oacute;n de similitud basada en caracteres. En esta secci&oacute;n se consideran dos de las funciones basadas en <I>tokens</I> m&aacute;s conocidas.</p>     <p><FONT SIZE="2" FACE="Verdana"><B><I>Similitud de Monge-Elkan</I></B></FONT></p>     <p>Dadas dos cadenas <I>A</I> y <I>B</I>, sean &#945;<SUB>1</SUB>, &#945;<SUB>2</SUB> ... a<SUB><I>K</I></SUB> y &#946;<SUB>1</SUB>, &#946;<SUB>2</SUB> ... b<SUB><I>L</I></SUB> sus <I>tokens</I> respectivamente. Para cada token &#945;<SUB><I>i</I></SUB> existe alg&uacute;n &#946;<SUB><I>i</I> </SUB>de m&aacute;xima similitud. Entonces la similitud de Monge-Elkan entre <I>A</I> y <I>B</I> y es la similitud m&aacute;xima promedio entre una pareja (a<I>,</I> &#946;<SUB><I>i</I></SUB>). El algoritmo para la similitud de Monge-Elkan tiene un orden computacional <I>O(nm)</I> &#91;20&#93;.</p>     <p><FONT SIZE="2" FACE="Verdana"><B><I>Similitud coseno TF-IDF</I></B></FONT></p>     <p>Dadas dos cadenas <I>A</I> y <I>B</I>, sean &#945;<SUB>1</SUB>, &#945;<SUB>2</SUB> ... a<SUB><I>K</I></SUB> y &#946;<SUB>1</SUB>, &#946;<SUB>2</SUB> ... b<SUB><I>L</I></SUB> sus <I>tokens</I> respectivamente, que se pueden ver como dos vectores <I>V<SUB>A</SUB></I> y <I>V<SUB>B</SUB></I> y de <I>K</I> y <I>L</I> componentes. En &#91;20&#93; se propone una funci&oacute;n que mide la similitud entre <I>A</I> y <I>B</I> como el coseno del &aacute;ngulo que forman sus respectivos vectores. </p> </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La similitud coseno TF-IDF no es eficaz cuando se presentan variaciones a nivel de caracteres, como errores ortogr&aacute;ficos o variaciones en el orden de los <I>tokens</I>. Por ejemplo, las cadenas ''Jorge-Rodr&iacute;guez L&oacute;pez'' y ''L&oacute;pez Jorge Eduardo'' tendr&iacute;an similitud cero. Cohen et al. proponen en &#91;20&#93; una variante llamada SoftTF-IDF para solucionar este problema, que considera parejas de <I>tokens</I> (a<I>,</I> &#946;<SUB><I>i</I></SUB>)cuya similitud es mayor que cierto umbral (mediante alguna funci&oacute;n de similitud basada en caracteres).</font></p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">    <p>&nbsp;</p>     <p><font size="3"><b>2 ALGORITMO PROPUESTO </B></FONT></p>     ]]></body>
<body><![CDATA[<p>El algoritmo propuesto, usa un sistema de codificaci&oacute;n similar al del algoritmo Soundex. Soundex es un algoritmo de codificaci&oacute;n fon&eacute;tica, que convierte una palabra en un c&oacute;digo &#91;24&#93;. El c&oacute;digo Soundex consiste en sustituir las consonantes de la palabra afectada por un n&uacute;mero; si es necesario se agregan ceros al final del c&oacute;digo para conformar un c&oacute;digo de 4 d&iacute;gitos. Soundex elige la clasificaci&oacute;n de los caracteres con base en el lugar de articulaci&oacute;n de la lengua inglesa. La <a href="#t1">tabla 1</a> presenta las equivalencias usadas por Soundex </p>     <p align="center"><a name="t1"></a><img src="/img/revistas/rium/v11n20/v11n20a11t1.jpg"></p>     <p align="center">&nbsp;</p>     <p>Debido a que en el idioma ingl&eacute;s, las letras A, E, I, O, U, H, W y Y no hacen diferenciaci&oacute;n fon&eacute;tica, son descartadas. Adicionalmente existen otras reglas complementarias para la codificaci&oacute;n de las letras dobles (si el texto tiene letras dobles, estas se deben tratar como una sola) y para letras a lado y lado con el mismo c&oacute;digo (si el texto tiene diferentes letras lado a lado que tienen el mismo n&uacute;mero en la gu&iacute;a de codificaci&oacute;n Soundex, estas se deben tratar como una sola letra), entre otras.</p>     <p>Por ejemplo: Giraldo se codifica G643 (G, 6 por la R, 4 por la L, 3 por la D, las otras letras se descartan). Juan se codifica J500 (J, 5 por la N, las otras letras se descartan, y se agregan dos ceros).</p>     <p>Las limitaciones del algoritmo Soundex han sido ampliamente documentadas &#91;25, 26&#93; y han dado lugar a varias mejoras, pero ninguna orientada hacia el idioma espa&ntilde;ol. Es claro, que Soundex no est&aacute; orientado al espa&ntilde;ol ya que ni siquiera contempla el juego de caracteres (''&ntilde;'', ''ll''). Asimismo, la dependencia de la letra inicial, la agrupaci&oacute;n por punto de articulaci&oacute;n del idioma ingl&eacute;s y el estar limitado a cuatro caracteres implica que no es eficiente para detectar errores ortogr&aacute;ficos comunes en el idioma espa&ntilde;ol. En la <a href="#t2">tabla 2</a> se presentan ejemplos de problemas ortogr&aacute;ficos que se mantienen con esta codificaci&oacute;n.</p>     <p align="center"><a name="t2"></a><img src="/img/revistas/rium/v11n20/v11n20a11t2.jpg"></p>     <p align="center">&nbsp;</p>     <p>En &#91;27&#93; se realiza un estudio seg&uacute;n el cual el 90% de los errores que se presentan en la escritura de la lengua espa&ntilde;ola son errores simples (un solo error por palabra). Este estudio incluye las palabras hom&oacute;fonas, las cuales se presentan cuando el escritor hace una sustituci&oacute;n de un car&aacute;cter que es fon&eacute;ticamente correcto, pero ortogr&aacute;ficamente incorrecto y se presentan por problemas cognitivos (errores en pares fon&eacute;ticamente similares como, b-v, s-x, c-s, ll-y como en Jiraldo-Giraldo, estenci&oacute;n-extensi&oacute;n, llendo-yendo). Este tipo de errores son comunes tanto en errores simples, como en errores m&uacute;ltiples (m&aacute;s de un error por palabra), y junto con el problema de las tildes y las may&uacute;sculas alcanzan un 63% de los errores en el idioma espa&ntilde;ol. A este porcentaje se dirige la nueva codificaci&oacute;n propuesta en este art&iacute;culo.</p>     <p>En &#91;28&#93; se aporta la informaci&oacute;n necesaria para construir el nuevo algoritmo. La <a href="#t3">tabla 3</a>, tomada literalmente de dicho trabajo (se excluyen algunas columnas para reducir su tama&ntilde;o), corresponde a la frecuencia con que una letra se usa en lugar de otra en el idioma espa&ntilde;ol. <I>X</I> representa a la letra correcta e <I>Y</I> la incorrecta que es colocada por error en su lugar. Con excepci&oacute;n de las vocales, las frecuencias m&aacute;s altas (enmarcadas en rect&aacute;ngulos), pertenecen a las variaciones de las letras s-c-x-z, v-b, j-g, m-n-&ntilde;.</p>     ]]></body>
<body><![CDATA[<p>La <a href="#t4">tabla 4</a> presenta la codificaci&oacute;n para el algoritmo propuesto <I>PhoneticSpanish</I>, en la cual los grupos se arman con base en los problemas ortogr&aacute;ficos frecuentes en el idioma espa&ntilde;ol y contemplando caracteres de este idioma como la ''&ntilde;'' y la ''ll''. La ''y'', fuente de m&uacute;ltiples errores ortogr&aacute;ficos en espa&ntilde;ol al confundirla con la ''ll'', no se descarta sino que incluye en el mismo grupo.</p>     <p align="center"><a name="t3"></a><img src="/img/revistas/rium/v11n20/v11n20a11t3.jpg"></p>     <p align="center"><a name="t4"></a><img src="/img/revistas/rium/v11n20/v11n20a11t4.jpg"></p>     <p align="center">&nbsp;</p>     <p>La <a href="#t5">tabla 5</a> presenta ejemplos usando este sistema de codificaci&oacute;n. Puede observarse que el c&oacute;digo arrojado es el mismo, a pesar de no ser textos id&eacute;nticos debido a los errores ortogr&aacute;ficos cometidos.</p>     <p align="center"><a name="t5"></a><img src="/img/revistas/rium/v11n20/v11n20a11t5.jpg"></p>     <p>&nbsp;</p>     <p><FONT SIZE="3" FACE="Verdana"><B>2.1 Algoritmo</B></FONT></p>     <p>Paso 1. Escribir todas las letras en may&uacute;scula y descartar todos los signos de puntuaci&oacute;n. Rellenar la palabra con espacios en blanco cuando sea necesario durante todos los pasos del procedimiento.</p>     <p>Paso 2. Eliminar las siguientes letras: 'A', E', 'I', 'O', 'U', 'H', 'W'</p>     ]]></body>
<body><![CDATA[<p>Paso 3. Cambiar las letras de los siguientes conjuntos por el d&iacute;gito correspondiente: 0 = 'P', 1 = 'B', 'V', 2 = 'F', 'H', 3 = 'T', 'D', 4 = 'S', 'Z', 'C', 'X', 5 = 'Y', 'LL', 'L', 6= 'N', '&Ntilde;', 'M', 7= 'Q', 'K', 8= 'G', 'J', 9= 'R', 'RR'</p>     <p>&nbsp;</p>     <p><font size="3"><b>3 EVALUACI&Oacute;N DE FUNCIONES DE SIMILITUD SOBRE CADENAS DE TEXTO</B></FONT></p>     <p>Las curvas de precisi&oacute;n y de memoria se usan para evaluar las funciones de similitud sobre cadenas de texto. Dichas curvas se obtienen a partir de un tipo especial de consultas conocidas como <I>top</I>-<I>k queries</I>, en las cuales se retornan las <I>k</I> instancias m&aacute;s similares a la cadena buscada. Para una funci&oacute;n de similitud particular, su curva de precisi&oacute;n y de memoria mide la capacidad que tiene para ubicar las cadenas similares a la buscada dentro de los primeros <I>k</I> resultados &#91;29&#93;. En este contexto, una t&eacute;cnica de evaluaci&oacute;n acertada debe considerar: </p>     <p>- Si la funci&oacute;n de similitud consigue separar correctamente cadenas relevantes de irrelevantes, asignando puntajes superiores al umbral a las primeras e inferiores al umbral a las &uacute;ltimas.</p>     <p>- El grado de separaci&oacute;n entre cadenas relevantes e irrelevantes. Una buena funci&oacute;n de similitud no solo debe distinguir entre unas y otras, sino ubicarlas dentro de una distancia razonable de forma que queden clasificadas en dos conjuntos distintos.</p>     <p>- La variaci&oacute;n del umbral <I>t</I> seleccionado, pues la distribuci&oacute;n de valores de similitud puede variar de un conjunto de datos a otro.</p>     <p>Las curvas de precisi&oacute;n y de memoria solo consideran el primer aspecto. Por esta raz&oacute;n, en el presente trabajo se usa una m&eacute;trica de evaluaci&oacute;n propuesta por &#91;30&#93;, llamada <I>funci&oacute;n de discernibilidad</I>.</p>     <p><FONT SIZE="3" FACE="Verdana"><B>3.1 Funci&oacute;n de discernibilidad</B></FONT></p>     <p>La discernibilidad es una m&eacute;trica que ha sido usada en trabajos comparativos como es el caso de la herramienta SimEval &#91;29&#93; para determinar cu&aacute;n eficaces son las funciones de similitud identificando las entradas que realmente corresponden a un mismo objeto. Esta m&eacute;trica intr&iacute;nsecamente incorpora los cuatro elementos tradicionales de una tabla de contingencia o matriz de confusi&oacute;n de 2*2: aciertos, desaciertos, falsos positivos y falsos negativos.</p>     ]]></body>
<body><![CDATA[<p>La discernibilidad de una funci&oacute;n de similitud se calcula as&iacute; &#91;30&#93;:</p>     <p align="center"><img src="/img/revistas/rium/v11n20/v11n20a11e1.jpg"> </p>     <p>El rango   <img src="/img/revistas/rium/v11n20/v11n20a11e2.jpg" align="absmiddle"> determina el intervalo de umbrales que mejor separa las cadenas relevantes de las irrelevantes, ya que act&uacute;a como indicador de la distancia entre estas (as&iacute;, entre mayor sea, mejor), y se puede calcular por cualquiera de los dos algoritmos propuestos en &#91;30&#93;. El t&eacute;rmino <img src="/img/revistas/rium/v11n20/v11n20a11e3.jpg" align="absmiddle"> indica el porcentaje logrado de separaciones correctas. Los coeficientes <I>c</I><SUB>1</SUB> y <I>c</I><SUB>2</SUB> permiten controlar la importancia de cada uno de los dos aspectos anteriores. Independientemente de los valores dados a <I>c</I><SUB>1</SUB> y<I> c</I><SUB>2</SUB>, los valores de discernibilidad siempre estar&aacute;n en el intervalo &#91;-1,1&#93;: -1 en el peor caso, y 1 en el caso de la funci&oacute;n de similitud ideal, que logra separar correctamente todas las cadenas relevantes de las irrelevantes a la distancia m&aacute;xima posible. </p>     <p>&nbsp;</p>     <p><font size="3"><b>4 DISE&Ntilde;O DEL EXPERIMENTO PARA LA COMPARACI&Oacute;N DE LAS T&Eacute;CNICAS</B></FONT></p>     <p>Usando la funci&oacute;n de discernibilidad, se compararon nueve funciones de similitud sobre cadenas bajo la situaci&oacute;n problem&aacute;tica propuesta (errores ortogr&aacute;ficos) contra el algoritmo propuesto. Para las pruebas realizadas se defini&oacute; <I>c</I><SUB>1</SUB> = 3 y <I>c</I><SUB>2</SUB> = 7 en la ecuaci&oacute;n (1), de forma que el intervalo &oacute;ptimo contribuya en 30% al valor de discernibilidad y <I>F<SUB>max</SUB></I> / 2|<I>Q</I>| en 70%. Al dar igual importancia a ambos factores (<I>c</I><SUB>1</SUB> = 1 y<I> c</I><SUB>2</SUB> = 1), una funci&oacute;n de similitud podr&iacute;a obtener un valor de discernibilidad considerablemente alto con un intervalo &oacute;ptimo ancho de umbrales que logren un porcentaje de separaciones correctas bajo, lo cual no tiene sentido.</p>     <p>Mediante la herramienta <I>Web Fake Name Generator</I> se generaron aleatoriamente conjuntos de datos compuestos por registros con atributos como nombre, apellidos, direcci&oacute;n, ocupaci&oacute;n y correo electr&oacute;nico. A partir de estos, se derivaron otros con nuevas cadenas a las cuales se les introdujeron errores de ortograf&iacute;a cambiando unas letras por otras (<I>g</I> por <I>j</I>, <I>v</I> por <I>b</I>, <I>c</I> por <I>s</I>, <I>y</I> por <I>ll</I>, entre otras). </p>     <p>Se generaron diez conjuntos de datos de prueba con las respectivas variaciones ortogr&aacute;ficas. Cada conjunto de datos con 400 cadenas de texto representando 200 entidades (dos cadenas por entidad). Se compar&oacute; la eficacia en la detecci&oacute;n de los duplicados para las siguientes funciones de similitud: distancia de Levenshtein, distancia de brecha af&iacute;n, similitud Smith-Waterman, similitud de Jaro y Jaro-Winkler, similitud de bi-grams y tri-grams, similitud de Monge-Elkan y similitud SoftTF-IDF contra el algoritmo propuesto.</p>     <p>&nbsp;</p>     <p><font size="3"><b>5 RESULTADOS</B></FONT></p>     ]]></body>
<body><![CDATA[<p>La <a href="#t6">tabla 6</a> muestra los resultados de la discernibilidad al aplicar las nueve funciones de similitud m&aacute;s el algoritmo propio (llamado <I>PhoneticSpanish</I>) sobre los diez conjuntos de datos. El promedio m&aacute;s alto (0,8863) de la discernibilidad lo obtuvo el algoritmo propuesto seguido por la funci&oacute;n de brecha af&iacute;n (0,7168<B>).</B> </p>     <p align="center"><a name="t6"></a><img src="/img/revistas/rium/v11n20/v11n20a11t6.jpg"></p>     <p align="center">&nbsp;</p>     <p>Debido a que estos promedios no permiten llegar a conclusiones definitivas, se pretendi&oacute; efectuar un an&aacute;lisis de varianza (ANOVA) con el fin de determinar si las diferencias encontradas con las distintas t&eacute;cnicas eran estad&iacute;sticamente significativas, seg&uacute;n el &iacute;ndice de discernibilidad, pero luego de realizar la prueba de Kolmogorov-Smirnov se determin&oacute; que el supuesto de normalidad no se cumple. Por ello, en su lugar se aplic&oacute; la prueba no param&eacute;trica de Kruskal-Wallis, la cual no requiere que se cumplan los supuestos de normalidad y homoscedasticidad &#91;31&#93;. Esta prueba permite verificar la hip&oacute;tesis nula de igualdad de las medianas del grado de discernibilidad para las diez funciones de similitud. La <a href="#t7">tabla 7</a> presenta los resultados.</p>     <p>La prueba de Kruskal-Wallis arroj&oacute; como resultado para todas las situaciones problem&aacute;ticas un valor <I>p</I> inferior a 0,05; por ello se puede afirmar que hay diferencias estad&iacute;sticamente significativas entre las medianas, con un nivel de confianza del 95%. La columna de la derecha corresponde al rango promedio y al ordenar por su valor se puede establecer que tan exitosas son las funciones de similitud en cuanto a la discernibilidad.</p>     <p align="center"><a name="t7"></a><img src="/img/revistas/rium/v11n20/v11n20a11t7.jpg"></p>     <p align="center">&nbsp;</p>     <p>Asimismo, se construy&oacute; un Gr&aacute;fico de Cajas y Bigotes, como ayuda para la visualizaci&oacute;n de las medianas significativamente diferentes, v&eacute;ase la <a href="#f1">figura 1</a>. </p>     <p>Una vez comprobado que las diferencias existentes entre las t&eacute;cnicas son estad&iacute;sticamente significativas, se puede concluir que el algoritmo propuesto, realiz&oacute; un mejor trabajo que las otras nueve funciones de similitud con las que se compar&oacute; en cuanto a detecci&oacute;n de cadenas de texto duplicadas con errores ortogr&aacute;ficos para el idioma espa&ntilde;ol sobre los datos de prueba.</p>     <p align="center"><a name="f1"></a><img src="/img/revistas/rium/v11n20/v11n20a11f1.jpg"></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3"><b>6 CONCLUSIONES Y TRABAJOS FUTUROS</B></FONT></p>     <p>Existen diversas funciones de similitud sobre cadenas de texto pero no consideran las particularidades del idioma espa&ntilde;ol, lo que las hace inapropiadas en tareas de detecci&oacute;n de duplicados originadas por errores ortogr&aacute;ficos en este idioma. En este trabajo se plante&oacute; una nueva t&eacute;cnica por medio de un algoritmo con principios fon&eacute;ticos considerando las caracter&iacute;sticas propias de la lengua espa&ntilde;ola.</p>     <p>La comparaci&oacute;n con nueve t&eacute;cnicas convencionales para la detecci&oacute;n de duplicados arroj&oacute; mejores resultados en cuanto a la discernibilidad, el algoritmo propuesto fue m&aacute;s eficaz al ser aplicado sobre el caso de prueba dise&ntilde;ado.</p>     <p>Como trabajo futuro se planea implementar en el algoritmo, t&eacute;cnicas de emparejamiento de patrones que permitan un mejor comportamiento en otras situaciones como abreviaturas, palabras en desorden, presencia de sufijos y prefijos, entre otras.</p>     <p>&nbsp;</p>     <p><font size="3"><b>REFERENCIAS</B></FONT></p>     <!-- ref --><p>&#91;1&#93; Dunn, H. L. 1946. Record Linkage, Americal Journal of Public Health, 36, 12, 1412-1416.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000120&pid=S1692-3324201200010001100001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;2&#93; Newcombe, H. y Kennedy, J. 1962. Record Linkage: Making Maximum Use of the Discriminating Power of Identifying Information, Communications of the ACM, 5, 11, 563- 566.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000121&pid=S1692-3324201200010001100002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;3&#93; Fellegi, I. P. y Sunter, A. B. 1969. A Theory for Record Linkage, Journal of the American Statistical Association, 64, 328, 1183-1210.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000122&pid=S1692-3324201200010001100003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;4&#93; Winkler, W. E. 1993. Improved Decision Rules in the Felligi-Sunter Model of Record Linkage. En Proceedings of the Section on Survey Research Methods, 274-279.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000123&pid=S1692-3324201200010001100004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;5&#93; Reghavan, H. y Allan, J. (2004). Using Soundex Codes for Indexing Names in ASR documents.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000124&pid=S1692-3324201200010001100005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;6&#93; Philips, L. 1990. Hanging on the Metaphone, Computer Language Magazine, 7(12), 39-44, Diciembre, 1990.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000125&pid=S1692-3324201200010001100006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;7&#93; Philips, L. 2000. The Double Metaphone Search Algorithm,'' C/C++ Users J., 18(5), Junio, 2000.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000126&pid=S1692-3324201200010001100007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;8&#93; Gill, L. E. 1997. OX-LINK: The Oxford Medical Record Linkage System. En: Proceedings of International Record Linkage Workshop and Exposition, (Arlington, Estados Unidos, marzo 20-21, 15-33.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000127&pid=S1692-3324201200010001100008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;9&#93; Taft, R. L. 1970. Name Search Techniques. Technical Report Special Report No. 1, Nueva York State Identification and Intelligence System, Albany, N. Y., febrero, 1970.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000128&pid=S1692-3324201200010001100009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;10&#93; Levenshtein, V. I. 1966. Binary Codes Capable of Correcting Deletions, Insertions, and Reversals. Soviet Physics Doklady, 10, 8, 707-710.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000129&pid=S1692-3324201200010001100010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;11&#93; Needleman, S.B. y Wunsh, C. D. 1970. A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins, J Mol Biol, 48, 3, 443&#8211;453.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000130&pid=S1692-3324201200010001100011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;12&#93; Christen, P. 2006. A Comparison of Personal Name Matching: Techniques and Practical Issues. En Sixth IEEE International Conference on Data Mining, 290-294.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000131&pid=S1692-3324201200010001100012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;13&#93; Weigel, A. y Fein, F. 1994. Normalizing the Weighted Edit Distance. Proceedings of the 12th IAPR International Conference on Pattern Recognition, 399-402.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000132&pid=S1692-3324201200010001100013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;14&#93; Yujian, L. y Bo, L. 2007. A Normalized Levenshtein Distance Metric, IEEE Transactions on Pattern Analysis and Machine Intelligence, 29, 6, 1091-1095.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000133&pid=S1692-3324201200010001100014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;15&#93; Gotoh, O. 1982. An Improved Algorithm for Matching Biological Sequences, Journal of Molecular Biology, 162, 3, 705-708.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000134&pid=S1692-3324201200010001100015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;16&#93; Smith, T. F. y Waterman, M. S. 1981. Identification of Common Molecular Subsequences, Journal of Molecular Biology, 147, 1, 195-197.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000135&pid=S1692-3324201200010001100016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;17&#93; Baeza-Yates, R., y Gonnet, G. H. 1992. A new approach to Text Searching. Communications of the ACM. 35, 10, 74-82.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000136&pid=S1692-3324201200010001100017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;18&#93; Jaro, M. A. 1976. Unimatch: A Record Linkage System User's Manual, technical report, Washington, D. C.: US Bureau of the Census.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000137&pid=S1692-3324201200010001100018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;19&#93; Pollock, J. J. y Zamora, A. 1984. Automatic Spelling Correction in Scientific and Scholarly Text, Communications of the ACM, 27, 4, 358-368.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000138&pid=S1692-3324201200010001100019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;20&#93; Cohen, W. W., Ravikumarand, P. Fienberg, S. E. 2003. A Comparison of String Distance Metrics for Name-Matching Tasks. En International Joint Conference on Artificial Intelligence, 73-78.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000139&pid=S1692-3324201200010001100020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;21&#93; Yancey, W. E. 2006. Evaluating String Comparator Performance for Record Linkage. En Proceedings of the Fifth Australasian Conference on Data mining and Analytics, 23-21.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000140&pid=S1692-3324201200010001100021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;22&#93; Ukkonen, E. 1992. Aproximate String-Matching With Q-grams and Maximal Matches, Theoretical Computer Science, 92, 1, 191-211.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000141&pid=S1692-3324201200010001100022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;23&#93; Cohen, J. D. 1997. Recursive Hashing Functions for n-Grams, ACM Transactions on Information Systems. 15, 3, 291-320.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000142&pid=S1692-3324201200010001100023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;24&#93; Else, Willis I. 2002. <I>The Complete Soundex Guide: Discovering the rules Used by the Census Bureau and the Inmigration and Naturalization Service When These organization Indexed Federal Records.</I> Apollo, PA: Closon Press.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000143&pid=S1692-3324201200010001100024&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;25&#93; Stanier, Alan. 1990. How accurate is Soundex matching. CIG Vol. 3, n.&#176; 7, 286-288.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000144&pid=S1692-3324201200010001100025&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;26&#93; Patman, F., and Shaefer, L. 2003 Is Soundex Good Enough for You? On the Hidden Risks of Soundex-Based Name Searching <I>&copy; 2001</I>-<I>2003 Language Analysis Systems, Inc</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000145&pid=S1692-3324201200010001100026&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;27&#93; Ram&iacute;rez, F., Arnaiz, A., Gin&eacute;s, M. 2005. A Spell Checker for a World Language: The New Microsoft's Spanish Spell Checker.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000146&pid=S1692-3324201200010001100027&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;28&#93; Ram&iacute;rez, F, L&oacute;pez, E. 2006. Spelling Error Patterns in Spanish for Word Processing Applications.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000147&pid=S1692-3324201200010001100028&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;29&#93; Heusser, C. A., Krieser, F. N. y Orengo, V.M. 2007. SimEval-A Tool for Evaluating the Quality of Similarity Functions. En Tutorials, posters, panels and industrial contributions at the 26th International Conference on Conceptual Modeling, 71-76.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000148&pid=S1692-3324201200010001100029&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;30&#93; Da Silva, R., Stasiu, R., Orengo, V. M. y Heuser, C. A. 2007. Measuring Quality of Similarity Functions in Approximate Data Matching, Journal of Informetrics. 1, 1, 35-46.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000149&pid=S1692-3324201200010001100030&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;31&#93; &Aacute;lvarez R. 2007. Estad&iacute;stica aplicada a las ciencias de la salud. Ed. D&iacute;az de Santos. 1030p.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000150&pid=S1692-3324201200010001100031&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<label>[1]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dunn]]></surname>
<given-names><![CDATA[H. L]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Record Linkage]]></article-title>
<source><![CDATA[Americal Journal of Public Health]]></source>
<year>1946</year>
<volume>36</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>1412-1416</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>[2]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Newcombe]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Kennedy]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Record Linkage: Making Maximum Use of the Discriminating Power of Identifying Information]]></article-title>
<source><![CDATA[Communications of the ACM]]></source>
<year>1962</year>
<volume>5</volume>
<numero>11</numero>
<issue>11</issue>
<page-range>563- 566</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>[3]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fellegi]]></surname>
<given-names><![CDATA[I. P.]]></given-names>
</name>
<name>
<surname><![CDATA[Sunter]]></surname>
<given-names><![CDATA[A. B.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Theory for Record Linkage]]></article-title>
<source><![CDATA[Journal of the American Statistical Association]]></source>
<year>1969</year>
<volume>64</volume>
<numero>328</numero>
<issue>328</issue>
<page-range>1183-1210</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>[4]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Winkler]]></surname>
<given-names><![CDATA[W. E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Improved Decision Rules in the Felligi-Sunter Model of Record Linkage]]></article-title>
<source><![CDATA[Proceedings of the Section on Survey Research Methods]]></source>
<year>1993</year>
<page-range>274-279</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>[5]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Reghavan]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Allan]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Using Soundex Codes for Indexing Names in ASR documents]]></source>
<year>2004</year>
</nlm-citation>
</ref>
<ref id="B6">
<label>[6]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Philips]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Hanging on the Metaphone]]></article-title>
<source><![CDATA[Computer Language Magazine]]></source>
<year>1990</year>
<month>Di</month>
<day>ci</day>
<volume>7</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>39-44</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>[7]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Philips]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<source><![CDATA[The Double Metaphone Search Algorithm,'' C/C++ Users J.]]></source>
<year>2000</year>
</nlm-citation>
</ref>
<ref id="B8">
<label>[8]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gill]]></surname>
<given-names><![CDATA[L. E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[OX-LINK: The Oxford Medical Record Linkage System]]></article-title>
<source><![CDATA[Proceedings of International Record Linkage Workshop and Exposition]]></source>
<year>1997</year>
<page-range>15-33</page-range><publisher-loc><![CDATA[Arlington ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B9">
<label>[9]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Taft]]></surname>
<given-names><![CDATA[R. L.]]></given-names>
</name>
</person-group>
<source><![CDATA[Name Search Techniques. Technical Report Special Report No. 1]]></source>
<year>1970</year>
<publisher-loc><![CDATA[Albany^eN. Y. N. Y.]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B10">
<label>[10]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Levenshtein]]></surname>
<given-names><![CDATA[V. I]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Binary Codes Capable of Correcting Deletions, Insertions, and Reversals]]></article-title>
<source><![CDATA[Soviet Physics Doklady]]></source>
<year>1966</year>
<volume>10</volume>
<numero>8</numero>
<issue>8</issue>
<page-range>707-710</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>[11]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Needleman]]></surname>
<given-names><![CDATA[S.B.]]></given-names>
</name>
<name>
<surname><![CDATA[Wunsh]]></surname>
<given-names><![CDATA[C. D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins]]></article-title>
<source><![CDATA[J Mol Biol]]></source>
<year>1970</year>
<volume>48</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>443-453</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>[12]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Christen]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Comparison of Personal Name Matching: Techniques and Practical Issues]]></article-title>
<source><![CDATA[Sixth IEEE International Conference on Data Mining]]></source>
<year>2006</year>
<page-range>290-294</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>[13]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Weigel]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Fein]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<source><![CDATA[Normalizing the Weighted Edit Distance]]></source>
<year>1994</year>
<page-range>399-402</page-range></nlm-citation>
</ref>
<ref id="B14">
<label>[14]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Yujian]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Bo]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Normalized Levenshtein Distance Metric]]></article-title>
<source><![CDATA[IEEE Transactions on Pattern Analysis and Machine Intelligence]]></source>
<year>2007</year>
<volume>29</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>1091-1095</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>[15]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gotoh]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An Improved Algorithm for Matching Biological Sequences]]></article-title>
<source><![CDATA[Journal of Molecular Biology]]></source>
<year>1982</year>
<volume>162</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>705-708</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>[16]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Smith]]></surname>
<given-names><![CDATA[T. F.]]></given-names>
</name>
<name>
<surname><![CDATA[Waterman]]></surname>
<given-names><![CDATA[M. S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Identification of Common Molecular Subsequences]]></article-title>
<source><![CDATA[Journal of Molecular Biology]]></source>
<year>1981</year>
<volume>147</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>195-197</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>[17]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Baeza-Yates]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Gonnet,]]></surname>
<given-names><![CDATA[G. H.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A new approach to Text Searching]]></article-title>
<source><![CDATA[Communications of the ACM]]></source>
<year>1992</year>
<volume>35</volume>
<numero>10</numero>
<issue>10</issue>
<page-range>74-82</page-range></nlm-citation>
</ref>
<ref id="B18">
<label>[18]</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jaro]]></surname>
<given-names><![CDATA[M. A.]]></given-names>
</name>
</person-group>
<source><![CDATA[Unimatch: A Record Linkage System User's Manual, technical report]]></source>
<year>1976</year>
<publisher-loc><![CDATA[Washington^eD. C. D. C.]]></publisher-loc>
<publisher-name><![CDATA[US Bureau of the Census]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B19">
<label>[19]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Pollock]]></surname>
<given-names><![CDATA[J. J.]]></given-names>
</name>
<name>
<surname><![CDATA[Zamora]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Automatic Spelling Correction in Scientific and Scholarly Text]]></article-title>
<source><![CDATA[Communications of the ACM]]></source>
<year>1984</year>
<volume>27</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>358-368</page-range></nlm-citation>
</ref>
<ref id="B20">
<label>[20]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cohen]]></surname>
<given-names><![CDATA[W. W.]]></given-names>
</name>
<name>
<surname><![CDATA[Ravikumarand]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Fienberg]]></surname>
<given-names><![CDATA[S. E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Comparison of String Distance Metrics for Name-Matching Tasks]]></article-title>
<source><![CDATA[International Joint Conference on Artificial Intelligence]]></source>
<year>2003</year>
<page-range>73-78</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>[21]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Yancey]]></surname>
<given-names><![CDATA[W. E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Evaluating String Comparator Performance for Record Linkage]]></article-title>
<source><![CDATA[Proceedings of the Fifth Australasian Conference on Data mining and Analytics]]></source>
<year>2006</year>
<page-range>23-21</page-range></nlm-citation>
</ref>
<ref id="B22">
<label>[22]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ukkonen]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Aproximate String-Matching With Q-grams and Maximal Matches]]></article-title>
<source><![CDATA[Theoretical Computer Science]]></source>
<year>1992</year>
<volume>92</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>191-211</page-range></nlm-citation>
</ref>
<ref id="B23">
<label>[23]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cohen]]></surname>
<given-names><![CDATA[J. D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Recursive Hashing Functions for n-Grams]]></article-title>
<source><![CDATA[ACM Transactions on Information Systems]]></source>
<year>1997</year>
<volume>15</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>291-320</page-range></nlm-citation>
</ref>
<ref id="B24">
<label>[24]</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Else]]></surname>
<given-names><![CDATA[Willis I]]></given-names>
</name>
</person-group>
<source><![CDATA[The Complete Soundex Guide: Discovering the rules Used by the Census Bureau and the Inmigration and Naturalization Service When These organization Indexed Federal Records]]></source>
<year>2002</year>
<publisher-loc><![CDATA[Apollo^ePA PA]]></publisher-loc>
<publisher-name><![CDATA[Closon Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B25">
<label>[25]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Stanier]]></surname>
<given-names><![CDATA[Alan]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[How accurate is Soundex matching]]></article-title>
<source><![CDATA[CIG]]></source>
<year>1990</year>
<volume>3</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>286-288</page-range></nlm-citation>
</ref>
<ref id="B26">
<label>[26]</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Patman]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Shaefer]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<source><![CDATA[Is Soundex Good Enough for You? On the Hidden Risks of Soundex-Based Name Searching © 2001-2003]]></source>
<year>2003</year>
<publisher-name><![CDATA[Language Analysis Systems, Inc]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B27">
<label>[27]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ramírez]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Arnaiz]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Ginés]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[A Spell Checker for a World Language: The New Microsoft's Spanish Spell Checker]]></source>
<year>2005</year>
</nlm-citation>
</ref>
<ref id="B28">
<label>[28]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ramírez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[López]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<source><![CDATA[Spelling Error Patterns in Spanish for Word Processing Applications]]></source>
<year>2006</year>
</nlm-citation>
</ref>
<ref id="B29">
<label>[29]</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Heusser]]></surname>
<given-names><![CDATA[C. A.]]></given-names>
</name>
<name>
<surname><![CDATA[Krieser]]></surname>
<given-names><![CDATA[F. N.]]></given-names>
</name>
<name>
<surname><![CDATA[Orengo]]></surname>
<given-names><![CDATA[V.M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[SimEval-A Tool for Evaluating the Quality of Similarity Functions]]></article-title>
<source><![CDATA[Tutorials, posters, panels and industrial contributions at the 26th International Conference on Conceptual Modeling]]></source>
<year>2007</year>
<page-range>71-76</page-range></nlm-citation>
</ref>
<ref id="B30">
<label>[30]</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Da Silva]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Stasiu]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Orengo]]></surname>
<given-names><![CDATA[V. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Heuser]]></surname>
<given-names><![CDATA[C. A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Measuring Quality of Similarity Functions in Approximate Data Matching]]></article-title>
<source><![CDATA[Journal of Informetrics]]></source>
<year>2007</year>
<volume>1</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>35-46</page-range></nlm-citation>
</ref>
<ref id="B31">
<label>[31]</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Álvarez]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Estadística aplicada a las ciencias de la salud]]></source>
<year>2007</year>
<page-range>1030</page-range><publisher-name><![CDATA[Ed. Díaz de Santos]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
