Em um aplicativo de mineração de texto, uma abordagem simples é usar a heurística para criar vetores como representações esparsas compactas dos documentos. Isso é bom para a configuração do lote, onde o corpus inteiro é conhecido a priori, pois o i d f requer o corpus inteiro
onde é um termo, d é um documento, D é o corpus do documento e T (não mostrado) é o dicionário.
No entanto, normalmente novos documentos são recebidos ao longo do tempo. Uma opção é continuar usando o existente até que tenham sido recebidos de um certo número de novos documentos, ea recalcular-lo. No entanto, isso parece bastante ineficiente. Alguém sabe de um esquema de atualização incremental que (possivelmente aproximadamente) converge para o valor se todos os dados foram vistos com antecedência? Ou, alternativamente, existe outra medida que captura a mesma noção, mas pode ser calculada de maneira incremental?
Há também uma questão relacionada se o permanece uma boa medida ao longo do tempo. Como o idf captura a noção de frequência das palavras de corpus, é concebível que documentos mais antigos do corpus (digamos, por exemplo, que meu corpus inclua mais de 100 anos de artigos de periódicos), à medida que as frequências de palavras diferentes mudem ao longo do tempo. Nesse caso, pode ser sensato descartar documentos mais antigos quando novos forem recebidos, com efeito usando uma janela deslizante i d f . É concebível que também se possa armazenar todos os vetores i d f anteriores à medida que novos são calculados e, se quisermos recuperar documentos, digamos 1920-1930, podemos usar os i d fcalculado a partir de documentos nesse período. Essa abordagem faz sentido?
Edit: Não é uma questão separada, mas relacionada sobre o dicionário . À medida que o tempo evolui, haverá novos termos de dicionário que não apareceram antes, então | T | precisará crescer e, portanto, o comprimento do vetor i d f . Parece que isso não seria um problema, pois os zeros poderiam ser anexados aos antigos vetores i d f .