De acordo com a documentação da removeSparseTerms
função do tm
pacote, é isso que a escarsidade implica:
A term-document matrix where those terms from x are removed which have at least a sparse percentage of empty (i.e., terms occurring 0 times in a document) elements. I.e., the resulting matrix contains only terms with a sparse factor of less than sparse.
Então, é uma interpretação correta disso para dizer se sparse
é igual a 0,99, então estamos removendo termos que aparecem apenas em no máximo 1% dos dados?
r
text-mining
natural-language
zthomas.nc
fonte
fonte
Respostas:
Sim , embora sua confusão aqui seja compreensível, já que o termo "esparsidade" é difícil de definir claramente nesse contexto.
No sentido do
sparse
argumento pararemoveSparseTerms()
, esparsidade refere-se ao limite da frequência relativa do documento para um termo, acima do qual o termo será removido. A frequência relativa de documentos aqui significa uma proporção. Como declara a página de ajuda do comando (embora não seja muito clara), a escarsidade é menor à medida que se aproxima da versão 1.0. (Observe que a dispersão não pode aceitar valores de 0 ou 1,0, apenas valores entre eles.)Portanto, sua interpretação está correta, poisj dfj> N∗ ( 1 - 0,99 ) N
sparse = 0.99
removerá apenas termos mais esparsos que 0,99. A interpretação exata parasparse = 0.99
é que, para o termo , você manterá todos os termos para os quais , onde é o número de documentos - nesse caso, provavelmente todos os termos serão mantidos (veja o exemplo abaixo) .Perto do outro extremo, se
sparse = .01
, somente os termos que aparecem em (quase) todos os documentos serão mantidos. (Obviamente, isso depende do número de termos e do número de documentos e, em linguagem natural, palavras comuns como "o" provavelmente ocorrerão em todos os documentos e, portanto, nunca serão "esparsas".)Um exemplo do limite de escassez de 0,99, em que um termo que ocorre no máximo em (primeiro exemplo) menos de 0,01 documentos e (segundo exemplo) pouco mais de 0,01 documentos:
Aqui estão alguns exemplos adicionais com texto e termos reais:
No último exemplo de
sparse = 0.34
, apenas os termos que ocorrem em dois terços dos documentos foram mantidos.Uma abordagem alternativa para aparar termos de matrizes de termo de documento com base na frequência de um documento é o pacote de análise de texto quanteda . A mesma funcionalidade aqui se refere não à escarsidade, mas diretamente à frequência dos termos do documento (como em tf-idf ).
Esse uso parece muito mais direto para mim.
fonte