Usare le associazioni tra parole
Un altro modo di ragionare sulle relazioni tra parole è usare la funzione findAssocs() del pacchetto tm. Per una parola data, findAssocs() calcola la sua correlazione con ogni altra parola in una TDM o DTM. I punteggi vanno da 0 a 1. Un punteggio di 1 significa che due parole compaiono sempre insieme nei documenti, mentre un punteggio vicino a 0 significa che i termini raramente appaiono nello stesso documento.
Ricorda che il calcolo di findAssocs() avviene a livello di documento. Quindi, per ogni documento che contiene la parola in questione, gli altri termini presenti in quei documenti specifici vengono associati. I documenti senza il termine cercato vengono ignorati.
Per usare findAssocs() passa una TDM o DTM, il termine di ricerca e una correlazione minima. La funzione restituirà un elenco di tutti gli altri termini che raggiungono o superano la soglia minima.
findAssocs(tdm, "word", 0.25)
I valori minimi di correlazione sono spesso relativamente bassi a causa della varietà delle parole. Non sorprenderti se 0.10 evidenzia una forte associazione a coppie tra termini.
I tweet sul caffè sono stati puliti e organizzati in tweets_tdm per l'esercizio. Cercherai un'associazione di termini, manipolerai i risultati con list_vect2df() da qdap e poi creerai un grafico con il codice ggplot2 nello script di esempio.
Questo esercizio fa parte del corso
Text mining con Bag-of-Words in R
Istruzioni dell'esercizio
- Crea
associationsusandofindAssocs()sutweets_tdmper trovare i termini associati a "venti" che raggiungono una soglia minima di0.2. - Visualizza i termini associati a "venti" stampando
associationsin console. - Crea
associations_dfchiamandolist_vect2df(), passandoassociations, poi impostandocol2a"word"ecol3a"score". - Esegui il codice
ggplot2per creare un dot plot dei valori di associazione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()