Calculadora de similitud de Jaccard para texto | Palabras y n-gramas
Convierte dos textos en conjuntos y calcula el índice de Jaccard J = |A ∩ B| / |A ∪ B| y su distancia 1 − J. Cambia entre tokenización por palabra, 2-grama y 3-grama y el trato de mayúsculas al instante.
💡 Qué mide y por qué ignora el orden
Para entender la similitud de Jaccard conviene empezar por la idea de conjunto. Un texto se descompone en elementos (palabras o secuencias de caracteres) y se eliminan los duplicados: queda un conjunto. El índice de Jaccard divide los elementos compartidos entre el total de elementos distintos, es decir, intersección sobre unión. Como solo importa si un elemento está o no está, el orden de las palabras se descarta, y por eso una copia que solo reordena frases sigue puntuando alto. Esta propiedad lo hace preciso para detectar coincidencias exactas o casi exactas, aunque apenas reacciona ante un texto parafraseado.
La herramienta ofrece tres formas de construir el conjunto. El modo palabra divide por espacios y signos de puntuación y conserva letras, dígitos y caracteres CJK según sus categorías Unicode. Los modos 2-grama y 3-grama recorren los caracteres de dos en dos o de tres en tres, así que mantienen sentido en textos breves o en escrituras sin espacios como el chino, el japonés o el coreano. Probar el mismo par en los tres modos te deja ver cómo cambia el solapamiento del nivel de palabra al nivel de carácter.
🧐 Preguntas frecuentes
¿En qué se diferencia de la similitud del coseno? Jaccard se basa en conjuntos y solo mira si un elemento aparece, lo que le da precisión y pocos falsos positivos en coincidencias casi exactas. El coseno vectoriza la frecuencia de los términos y mide el ángulo entre documentos, por lo que capta el parafraseo. En la práctica: Jaccard cuando buscas precisión, coseno cuando necesitas cobertura frente a reformulaciones.
¿Por qué el modo palabra me da 1 elemento en un texto en chino o japonés? El modo palabra divide por espacios y puntuación, y un idioma sin espacios se reduce a un solo elemento. Para CJK elige 2-grama o 3-grama: el conjunto se construye carácter a carácter y el valor vuelve a tener sentido.
¿Qué significa la distancia de Jaccard? La distancia es 1 − índice y expresa cuán distintos son los dos textos en una escala de 0 a 1. Un índice mayor indica más parecido; una distancia mayor, más diferencia. Cuando ambos conjuntos están vacíos, el índice se define como 0.
¿Conviene 2-grama o 3-grama? En textos cortos o comparaciones de una o dos palabras, el 2-grama genera más elementos y revela diferencias pequeñas. En textos largos, el 3-grama reduce ruido y resulta más estable. Lo seguro es probar ambos y observar cómo se mueve el índice.
📚 Del campo a la minería de textos
El coeficiente lo ideó el botánico suizo Paul Jaccard para medir la proporción de especies vegetales que dos regiones comparten. Aquella herramienta ecológica que preguntaba cuánto se parecen las floras de dos lugares funciona igual con texto en cuanto tratas un pasaje como un conjunto de palabras o n-gramas. Que un mismo cociente de "compartido entre total" aparezca lo mismo al comparar secuencias del genoma que al cruzar gustos de usuarios en sistemas de recomendación se debe justo a esa sencillez: no le importa qué son los elementos, solo cuántos coinciden.