FreeToGenerate.com

Muestra la regla que decidió cada letra, no solo los cuatro caracteres finales, incluido el único caso que las reglas publicadas señalan para decir cuál no es la respuesta. No se sube nada.

Cada letra aparece junto a la regla que la decidió, así que puedes ver por qué se descartó una letra en lugar de fiarte del resultado.

Prueba uno:

Código Soundex

A-261

Letra por letra

La primera letra se conserva tal cual. Las demás se codifican como dígito, se ignoran por ser vocales, o se descartan por alguna de las reglas indicadas.

LetraResultadoReglaMismo código que
AASe conserva como letra del código
s2Codificada
hH o W, ignorada
cMismo número, separadas solo por una H o una WS
r6Codificada
aVocal, ignorada
f1Codificada
tEl código ya tiene tres dígitos

Otros códigos bajo los que podría estar archivado

Si la H y la W separasen letras

La lectura rechazada: A-226

No lo hacen. Los Archivos Nacionales estadounidenses enuncian la regla y acto seguido nombran la respuesta que rechazan, algo poco habitual y que conviene citar: Ashcraft es A-261, y no es A-226. Una implementación que se salte esta regla devuelve la segunda.

Todo funciona en tu navegador. No se sube nada, y al recargar la página se olvida lo que escribiste.

También disponible en: English · Português · Français · العربية

Calculadora Soundex: cada letra y la regla que la decidió

Codifica cualquier apellido, comprueba por qué se conservó o se descartó cada letra y averigua qué variantes se archivan juntas.

¿Qué es un código Soundex?

Un código Soundex es una clave de índice de cuatro caracteres para un apellido: la primera letra y tres dígitos que representan las consonantes siguientes. Washington es W-252 y Lee es L-000. La idea es que los apellidos que suenan igual pero se escriben distinto caigan en el mismo código y quedaran archivados juntos, que es como se localiza a un antepasado cuyo nombre un censista anotó de oído hace un siglo.

La codificación en sí son unas pocas reglas. Seis dígitos cubren las consonantes —1 para B, F, P y V; 2 para C, G, J, K, Q, S, X y Z; 3 para D y T; 4 para L; 5 para M y N; 6 para R— y se ignoran las letras A, E, I, O, U, H, W e Y. Los ceros completan un código corto hasta tres dígitos, y todo lo que pase del tercero se descarta.

Lo que ese resumen oculta es que hay otras cuatro reglas que deciden cuándo una consonante no se codifica en absoluto, y ahí es donde las implementaciones divergen. Esta página muestra la regla que actuó sobre cada letra, de modo que un código con el que no estés de acuerdo se puede discutir en lugar de solo dudarlo.

Cómo usarla

  1. Escribe el apellido. El código aparece al instante, con el guion tras la letra tal como lo escriben los archivos. Cada botón de ejemplo ilustra una regla distinta, incluidos los dos casos que las implementaciones ingenuas resuelven mal.
  2. Lee la tabla de letras. Cada carácter tiene su fila: codificado como dígito, ignorado por ser vocal, o descartado con el nombre de la regla que lo descartó. Cuando una letra choca con otra anterior, la tabla indica con cuál.
  3. Cambia al modo de comparar. Pega una lista de variantes, una por línea, y comprueba cuáles se archivan juntas. Para eso sirve el índice, y los agrupamientos rara vez son los que uno esperaría.

La regla que casi todos se saltan

No existe un estándar Soundex. No hay número ISO, ni RFC, ni comité: el algoritmo circuló como convención de archivo mucho antes de que nadie intentara ponerlo por escrito, y lo que sobrevive como referencia es la página de los Archivos Nacionales de Estados Unidos que describe las reglas del Soundex del censo, la variante que todo el mundo entiende por Soundex americano. Es una página web gubernamental, no una especificación, y conviene ser precisos porque eso cambia hasta dónde se la puede apoyar.

Lo que la hace utilizable de todos modos es que publica nueve ejemplos resueltos, y en el más difícil hace algo que las especificaciones casi nunca hacen: nombra la respuesta que rechaza. Si una H o una W separan dos consonantes que comparten código, la segunda no se codifica. Ashcraft se codifica A-261, y la página afirma sin rodeos que no es A-226. Que te digan cuál es la respuesta equivocada resulta mucho más útil que que te digan cuál es la correcta, porque puedes contrastarla.

Y vale la pena hacer esa prueba. Para esta página se comprobaron tres implementaciones publicadas contra los nueve ejemplos: dos reproducen todos, y la tercera devuelve exactamente A-226 para Ashcraft, el valor que los archivos deletrean precisamente para rechazarlo. Así que la afirmación popular de que todo el mundo se equivoca con Soundex es falsa, y la versión verdadera es más estrecha y más interesante: la única regla para la que una autoridad sintió la necesidad de publicar una corrección es la que se sigue omitiendo.

Importa menos de lo que uno temería. Sobre una lista inglesa de 168.551 palabras, las dos lecturas discrepan en 211, alrededor de una de cada ochocientas, porque solo 293 contienen el patrón. Pero la discrepancia no es aleatoria: hace falta una H o una W entre dos consonantes de la misma clase, que es justo lo que ocurre en Ashcraft, y en dishcloths, beachcombs o highchairs. Cuando la regla se aplica, casi siempre cambia el resultado.

La segunda regla que atrapa a la gente es aún más sutil. La primera letra se conserva como letra, pero su número sigue activo, de modo que una consonante posterior que comparta ese número se descarta. Pfister es P-236 y no P-123, porque la F es muda exactamente en el sentido que le importa a la codificación: comparte el número de la P. Una versión que empiece a codificar solo desde la segunda letra falla siempre aquí.

Lo que un código Soundex no puede decirte

No puede decirte que dos apellidos estén emparentados, solo que colisionan. Schmidt y Smith son ambos S-530, que es el sistema funcionando exactamente como se diseñó sobre las variantes de apellidos de inmigrantes para las que se creó: la C, la H y la D desaparecen por el camino. Pero Sanders, Saunders, Schneider y Snyder también son todos S-536, y no son el mismo apellido. Un código compartido es un motivo para mirar, nunca una prueba.

También se le escapan apellidos que parecería que debería captar. Añade una sílaba y el código se mueve: Smithers es S-536, archivado lejos de Smith. Todo lo que pasa del tercer dígito se descarta, así que los apellidos largos se comparan solo por su comienzo, y dos apellidos completamente distintos que compartan cuatro consonantes iniciales resultan indistinguibles.

La regla de los prefijos es una convención de archivo más que un algoritmo, y aplicarla mecánicamente falla con los propios ejemplos de los archivos. Un apellido que empiece por Van, Con, De, Di, La o Le debería codificarse de las dos formas, ya que pudo archivarse bajo cualquiera; pero Deusen, que es el ejemplo publicado de un apellido con el prefijo ya retirado, empieza a su vez por De, y Lee empieza por Le. Ninguna tabla de consulta distingue un prefijo de una primera sílaba. Esta página ofrece el segundo código como un segundo sitio donde buscar y dice lo que es, en lugar de aplicarlo en silencio.

Una regla queda genuinamente indefinida. La Y figura entre las letras que se ignoran, pero las dos reglas sobre qué separa dos consonantes del mismo número mencionan solo las vocales A, E, I, O y U por un lado, y solo la H y la W por otro. La Y no está en ninguna lista, así que las reglas publicadas no dicen cómo se comporta, y eso cambia resultados: Pyfer es P-160 si la Y separa y P-600 si no. Todas las implementaciones consultadas la tratan como separador, y esta también, pero es una convención asentada por el ecosistema, no algo que los archivos afirmen.

Por último, todo el esquema presupone patrones consonánticos ingleses y un alfabeto latino. No tiene nada que decir sobre el tono, sobre alfabetos que no sabe leer, ni sobre las muchas maneras de oír mal un apellido que no impliquen las clases de consonantes que conoce. Si lo que buscas es cuántas ediciones separan dos cadenas y no si suenan parecido, esa es otra pregunta con otra respuesta, y la herramienta de similitud de textos de este sitio la mide.

¿Por qué es gratis?

Codificar un apellido son unas pocas decenas de líneas de aritmética, y se ejecutan en tu navegador. No hay servidor de por medio, así que no hay nada que facturar ni cuenta que crear.

No se sube nada. Los apellidos que escribes no salen de la pestaña, algo que aquí importa más de lo habitual, porque el motivo para usar una herramienta Soundex casi siempre es que estás investigando a una familia real.