Snel de basispolarity verkennen
Wanneer je een sentimentanalyse start, kan een snelle polarity() je helpen om verwachtingen te vormen of het probleem te begrijpen. In deze oefening (om tijd te besparen) pas je polarity() toe op een deel van de comments-vector, terwijl het grotere polarity-object op de achtergrond wordt ingeladen.
Met een kernel-dichtheidsplot zou je moeten opmerken dat de reviews zich juist níet rond 0 centreren. Vaak zijn er twee oorzaken voor deze sentiment-"cijferinflatie". Ten eerste kunnen sociale normen ertoe leiden dat respondenten vriendelijk in plaats van neutraal reageren. Dit is uiteraard kanaalspecifiek. Vooral snedige kanalen zoals e-sports of socialmediaberichten kunnen negatief doorslaan, wat leidt tot "deflatie". Deze kanalen hebben andere verwachtingen. Een tweede mogelijke reden is "feature-based sentiment". In sommige reviews schrijft een auteur bijvoorbeeld: "het bed was comfortabel en fijn, maar de keuken was vies en smerig." Het sentiment van dit soort reviews omvat meerdere kenmerken tegelijk en kan daardoor een gemiddeldoordeel vertekenen.
In een volgende oefening pas je deze "cijferinflatie" aan, maar hier verken je de reviews zonder iets te veranderen.
Deze oefening maakt deel uit van de cursus
Sentimentanalyse in R
Oefeninstructies
- Maak
practice_polmetpolarity()op de eerste zes reviews zoals inbos_reviews$comments[1:6]. - Bekijk het geretourneerde polarity-object door
practice_polaan te roepen. - Roep
summary()aan oppractice_pol$all$polarity— dit geeft de algemene polarity voor alle 6 comments. - We hebben ook een groter polarity-object voor alle 1000 comments geladen. Dit nieuwe object heet
bos_pol. Pas nusummary()toe op het juiste listelement dat alle polarity-scores vanbos_polteruggeeft. - De voorbeeldcode heeft een staafdiagram en kernel-dichtheidsplot bijna klaar om te printen. Je moet nog de data frame invullen die alle scores bevat. Tip: in de vorige stap is
polarityeen kolom van deze data frame.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Practice apply polarity to first 6 reviews
practice_pol <- ___
# Review the object
___
# Check out the practice polarity
___
# Summary for all reviews
___
# Plot Boston polarity all element
ggplot(___, aes(x = polarity, y = ..density..)) +
geom_histogram(binwidth = 0.25, fill = "#bada55", colour = "grey60") +
geom_density(size = 0.75) +
theme_gdocs()