Meu livro lista o idf como em que
- : Número de documentos
- : Número de documentos que contêm o termo
A Wikipedia lista essa fórmula como uma versão real . Aquele que eu entendo: varia de a que parece intuitivo.
Mas passa de para que parece tão estranho ...
Eu sei um pouco sobre como suavizar a modelagem de linguagem, mas você adicionaria algo no numerador bem como no denominador, porque você está preocupado com a massa de probabilidade. Mas apenas adicionar não faz sentido para mim. O que estamos tentando realizar aqui?
text-mining
natural-language
smoothing
user2740
fonte
fonte
Respostas:
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,1 s →∞ 1+nt=1 N→∞
fonte