Woordenassociaties gebruiken
Een andere manier om naar woordrelaties te kijken is met de functie findAssocs() in het pakket tm. Voor een gegeven woord berekent findAssocs() de correlatie met elk ander woord in een TDM of DTM. Scores lopen van 0 tot 1. Een score van 1 betekent dat twee woorden altijd samen in documenten voorkomen, terwijl een score die richting 0 gaat betekent dat de termen zelden in hetzelfde document voorkomen.
Houd er rekening mee dat de berekening voor findAssocs() op documentniveau gebeurt. Voor elk document dat het betreffende woord bevat, worden de andere termen in die specifieke documenten geassocieerd. Documenten zonder de zoekterm worden genegeerd.
Om findAssocs() te gebruiken, geef je een TDM of DTM mee, de zoekterm en een minimale correlatie. De functie retourneert een lijst met alle andere termen die voldoen aan of hoger zijn dan de minimale drempel.
findAssocs(tdm, "word", 0.25)
Minimale correlatiewaarden zijn vaak relatief laag vanwege de diversiteit aan woorden. Het is dus niet vreemd als 0.10 een sterke paargewijze termassociatie laat zien.
De coffee tweets zijn opgeschoond en samengebracht in tweets_tdm voor deze oefening. Je gaat zoeken naar een termassociatie, de resultaten bewerken met list_vect2df() uit qdap en daarna een plot maken met de ggplot2-code in het voorbeeldscript.
Deze oefening maakt deel uit van de cursus
Text mining met bag-of-words in R
Oefeninstructies
- Maak
associationsmetfindAssocs()optweets_tdmom termen te vinden die geassocieerd zijn met "venti" en voldoen aan een minimale drempel van0.2. - Bekijk de termen die met "venti" geassocieerd zijn door
associationsnaar de console te printen. - Maak
associations_dfdoorlist_vect2df()aan te roepen, metassociationsals argument, en stel vervolgenscol2in op"word"encol3op"score". - Voer de
ggplot2-code uit om een dotplot van de associatiewaarden te maken.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()