Como você verá em outro lugar, que tf-idf é discutido, não existe uma fórmula única universalmente acordada para calcular tf-idf ou mesmo (como em sua pergunta) idf . O objetivo do é alcançar um dos dois objetivos: a) evitar a divisão por zero , como quando um termo não aparece em nenhum documento, mesmo que isso não aconteça em uma abordagem estritamente de "saco de palavras", ou b) definir um limite inferior para evitar que um termo receba peso zero apenas porque apareceu em todos os documentos.+1
Na verdade, nunca vi o da formulação , embora você mencione um livro. Mas o objetivo seria definir um limite inferior do vez de zero, conforme você interpreta corretamente. Eu já vi 1 + , que define um limite inferior de 1. O cálculo mais comumente parece ser , como em Manning, Christopher D, Prabhakar Raghavan e Hinrich Schütze (2008) Introdução à Recuperação de Informação , Cambridge University Press, p118 ou Wikipedia (com base em fontes semelhantes).log(1+Nnt)log(2)log(Nnt)log(Nnt)
Não é diretamente relevante para sua consulta, mas o limite superior não é , mas sim que dependendo da sua formulação de suavização. Isso acontece para termos que aparecem em documentos 0 ou 1 (novamente, depende se você suaviza com para defini-lo para termos com frequência zero de documento - caso contrário, o valor máximo ocorre para termos que aparecem em apenas um documento). IDF quando e .∞k+log(N/s)k,s∈0,1s→∞1+nt=1N→∞