¿Qué es la calculadora TF-IDF?
El TF-IDF (del inglés Term Frequency–Inverse Document Frequency, es decir, frecuencia de término por frecuencia inversa de documento) es una medida numérica que se utiliza en la recuperación de información, los motores de búsqueda y la minería de textos para cuantificar la importancia de una palabra dentro de un documento concreto, tomando como referencia una colección de documentos más amplia (conocida como corpus). Con esta calculadora puedes introducir un documento, el término que te interesa, el número total de documentos de tu corpus y cuántos de ellos contienen ese término. A partir de ahí, calcula la frecuencia de término (TF), la frecuencia inversa de documento (IDF) y la puntuación TF-IDF combinada.
Cómo usarla
- Documento: pega el texto del documento que quieres analizar.
- Término: escribe la palabra o expresión concreta que deseas puntuar.
- Tamaño del corpus: el número total de documentos de tu colección (\(N\)).
- Documentos con el término: cuántos documentos contienen el término al menos una vez.
La calculadora cuenta cuántas veces aparece el término en tu documento y lo divide entre el total de palabras; después combina ese valor con la rareza del término en el conjunto del corpus.
La fórmula al detalle
La fórmula estándar del TF-IDF es la siguiente:
$$\begin{gathered} \text{TF-IDF} = \text{TF} \times \text{IDF} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{TF} &= \dfrac{\text{count of }\text{Term}\text{ in }\text{Document}}{\text{total words in }\text{Document}} \\[0.6em] \text{IDF} &= \ln\!\left(1 + \dfrac{\text{Corpus Size}}{\text{Docs with Term} + 1}\right) \end{aligned} \right. \end{gathered}$$- TF = (número de veces que aparece el término en el documento) ÷ (total de palabras del documento)
- IDF = log(\(N\) ÷ número de documentos que contienen el término)
- TF-IDF = \(\text{TF} \times \text{IDF}\)
Una puntuación TF-IDF alta indica que el término aparece con frecuencia en tu documento, pero es poco habitual en el resto del corpus: una señal clara de que esa palabra es distintiva y relevante para ese documento en particular.
Ejemplo resuelto
Imagina que tu documento tiene 100 palabras y que el término «marketing» aparece 5 veces. Tu corpus contiene 1.000 documentos y 100 de ellos mencionan «marketing».
- $$\text{TF} = 5 \div 100 = 0{,}05$$
- $$\text{IDF} = \log(1000 \div 100) = \log(10) = 1 \text{ (base 10)}$$
- $$\text{TF-IDF} = 0{,}05 \times 1 = 0{,}05$$
Si «marketing» apareciera solo en 10 documentos, la IDF subiría hasta \(\log(100) = 2\), lo que duplicaría la puntuación hasta 0,10: una forma de premiar los términos más raros y distintivos.
Preguntas frecuentes
¿Por qué se usa un logaritmo en la IDF? El logaritmo suaviza el efecto de los términos extremadamente raros, de modo que una sola aparición no domine la puntuación y los resultados se mantengan equilibrados.
¿Qué base de logaritmo debo usar? Tanto la base 10 como el logaritmo natural (\(\ln\)) son habituales. La base solo escala los resultados de forma uniforme, así que las comparaciones dentro de un mismo corpus siguen siendo válidas.
¿Qué significa una puntuación de cero? Si un término aparece en todos los documentos (\(N\) = documentos con el término), la IDF se convierte en \(\log(1) = 0\), lo que deja la puntuación TF-IDF en cero: la palabra no aporta ningún valor diferenciador.