TF-IDF (frequência do termo - frequência inversa do documento) é uma estatística numérica que visa refletir quão importante uma palavra é para um documento em uma coleção ou corpus. É um produto de dois componentes: frequência do termo (TF), que mede com que frequência um termo aparece em um documento, e frequência inversa do documento (IDF), que reduz o peso de termos que aparecem com frequência em muitos documentos. A técnica foi desenvolvida na década de 1970 e tornou-se um método fundamental em recuperação de informação, classificação de texto, e ranqueamento de motores de busca antes do surgimento de abordagens baseadas em aprendizado de máquina e redes neurais.
A intuição central por trás do TF-IDF é que um termo que ocorre com frequência em um único documento, mas raramente no restante do corpus, provavelmente é altamente descritivo do conteúdo desse documento. Por outro lado, palavras comuns como "o" ou "e" aparecem em quase todos os documentos e, portanto, carregam pouco poder discriminativo. Ao combinar frequência local com raridade global, o TF-IDF atribui a cada par termo-documento um peso que pode ser usado para representar documentos como vetores em um espaço de alta dimensão, possibilitando cálculos de similaridade e agrupamento.
Desenvolvimento Histórico
O conceito de ponderar termos por sua frequência no documento tem raízes nas décadas de 1950 e 1960, com trabalhos iniciais de Hans Peter Luhn na Xerox PARC e outros. A formulação moderna do TF-IDF é frequentemente atribuída a Karen Spärck Jones, que publicou um artigo seminal em 1972 intitulado "A Statistical Interpretation of Term Specificity and Its Application in Retrieval." Seu trabalho estabeleceu o componente de frequência inversa do documento como um fator de escala logarítmica. Refinamentos subsequentes de Gerard Salton e seus colegas na Universidade de Cornell integraram o TF-IDF ao sistema de recuperação de informação SMART, que se tornou uma plataforma de pesquisa padrão.
Formulação Matemática
Para um termo \( t \) em um documento \( d \), a frequência do termo \( tf(t,d) \) é tipicamente a contagem bruta de ocorrências, embora variantes usem escala logarítmica ou presença binária. A frequência inversa do documento é definida como:
\[ idf(t) = \log \frac{N}{df(t)} \]
onde \( N \) é o número total de documentos no corpus e \( df(t) \) é o número de documentos que contêm o termo. O peso TF-IDF é então:
\[ tfidf(t,d) = tf(t,d) \times idf(t) \]
Na prática, suavização é frequentemente adicionada para evitar divisão por zero para termos ausentes do corpus, e normalização (como normalização L2) é aplicada aos vetores de documento para mitigar viés de comprimento.
Aplicações em Recuperação de Informação
Em sistemas clássicos de recuperação de informação, pesos TF-IDF são usados para ranquear documentos contra uma consulta do usuário. A consulta é representada como um vetor de pesos TF-IDF, e documentos são ranqueados por similaridade de cosseno entre o vetor da consulta e cada vetor de documento. Esse modelo de espaço vetorial, popularizado por Salton, foi a abordagem dominante para motores de busca nas décadas de 1980 e 1990. TF-IDF também sustenta muitas tarefas de mineração de texto, incluindo agrupamento de documentos, extração de palavras-chave, e sumarização automática.
Limitações e Contexto Moderno
TF-IDF tem várias limitações conhecidas. Ele trata termos como independentes, ignorando relações semânticas e ordem das palavras. Também tem desempenho ruim em documentos ou consultas curtos devido a sobreposição esparsa de termos. Com o advento de grandes modelos de linguagem e arquiteturas baseadas em transformadores, embeddings densos de vetores substituíram amplamente o TF-IDF para muitas tarefas, pois capturam significado contextual. No entanto, TF-IDF permanece amplamente usado como uma linha de base, um recurso para modelos tradicionais de aprendizado de máquina, e em domínios com recursos computacionais limitados. Também é um componente comum em sistemas híbridos de recuperação que combinam sinais esparsos e densos.
Variantes e Extensões
Existem várias variantes do TF-IDF, incluindo BM25 (Best Matching 25), que introduz saturação de frequência do termo e normalização de comprimento de documento, e é frequentemente preferido em sistemas de busca modernos. Outras extensões incorporam etiquetagem de classes gramaticais ou usam escala TF sublinear. A função de ranqueamento Okapi BM25, desenvolvida na década de 1990 por Stephen Robertson e Karen Spärck Jones, permanece um padrão em recuperação de informação e é usada em muitos motores de busca de código aberto como Elasticsearch.
Ver Também
- Recuperação de informação
- Aprendizado de máquina
- Processamento de linguagem natural
- Modelo de espaço vetorial