Usando associação de palavras
Outra forma de pensar sobre relacionamentos entre palavras é com a função findAssocs() do pacote tm. Para qualquer palavra, findAssocs() calcula sua correlação com todas as outras palavras em um TDM ou DTM. As pontuações variam de 0 a 1. Uma pontuação de 1 significa que duas palavras sempre aparecem juntas nos documentos, enquanto uma pontuação próxima de 0 significa que os termos raramente aparecem no mesmo documento.
Lembre-se de que o cálculo do findAssocs() é feito no nível do documento. Então, para cada documento que contém a palavra em questão, os outros termos nesses documentos específicos são associados. Documentos sem o termo pesquisado são ignorados.
Para usar findAssocs(), passe um TDM ou DTM, o termo de busca e uma correlação mínima. A função retornará uma lista de todos os outros termos que atendem ou superam o limite mínimo.
findAssocs(tdm, "word", 0.25)
Os valores mínimos de correlação costumam ser relativamente baixos por causa da diversidade de palavras. Não se surpreenda se 0.10 indicar uma associação forte entre dois termos.
Os tweets sobre café foram limpos e organizados em tweets_tdm para o exercício. Você vai buscar uma associação de termos, manipular os resultados com list_vect2df() do qdap e depois criar um gráfico com o código do ggplot2 no script de exemplo.
Este exercício faz parte do curso
Mineração de Texto com Bag-of-Words em R
Instruções do exercício
- Crie
associationsusandofindAssocs()emtweets_tdmpara encontrar termos associados a "venti" que atendam a um limite mínimo de0.2. - Veja os termos associados a "venti" imprimindo
associationsno console. - Crie
associations_dfchamandolist_vect2df(), passandoassociations, e depois definindocol2como"word"ecol3como"score". - Execute o código do
ggplot2para fazer um gráfico de pontos com os valores de associação.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Create associations
___ <- ___(___, ___, ___)
# View the venti associations
___
# Create associations_df
___ <- ___(___, ___, ___)
# Plot the associations_df values
ggplot(associations_df, aes(score, word)) +
geom_point(size = 3) +
theme_gdocs()