DataCamp SentimentAnalysisinR
Let'stalkaboutourfeelings
SENTIMENTANALYSISINR
TedKwartlerDataDude
DataCamp SentimentAnalysisinR
Definition:SentimentAnalysis
Sentimentanalysisistheprocessofextractinganauthor’semotionalintentfromtext
DataCamp SentimentAnalysisinR
Whyissentimentanalysisimportant?
DataCamp SentimentAnalysisinR
DataFormatsinthisCourse
BagofWordsDTM&TDM
TidyTribble...errr..Tibble
DataCamp SentimentAnalysisinR
Chapter1:qdap'sPolarityFunction>library(qdap)
>polarity(text$column)
>polarity(text$column,text$factor_or_author_grouping)
DataCamp SentimentAnalysisinR
Chapter2:tidytextinnerjoins>library(tidytext)
>inner_join(sentiment_words,some_text_to_be_analyzed)
DataCamp SentimentAnalysisinR
Chapter3:VisualizingSentiment
radarchart ggplot2linecharthtmlwidget.org
DataCamp SentimentAnalysisinR
Chapter4:CaseStudyonPropertyRentals
DataCamp SentimentAnalysisinR
Let'spractice!
SENTIMENTANALYSISINR
DataCamp SentimentAnalysisinR
HowmanywordsdoYOUknow?Subjectivitylexicons,Zipf'sLaw&
LeastEffort
SENTIMENTANALYSISINR
TedKwartlerDataDude
DataCamp SentimentAnalysisinR
SubjectivityLexicon
Returnsa"polarity"objectwithpositiveandnegativescores.
Asubjectivitylexiconisapredefinedlistofwordsassociatedwithemotionalcontextsuchaspositive/negative,orspecificemotionslike"frustration"or"joy"
>library(qdap)>library(magrittr)
>text_df%$%polarity(text)
DataCamp SentimentAnalysisinR
Wheretogetsubjectivitylexicons?
qdap'spolarity()functionusesalexiconfromhash_sentiment_huliu
tidytexthasasentimentstibblewith
NRC-Wordsaccordingto8emotionslike"angry"or"joy"andPos/NegBing-WordslabeledpositiveornegativeAFINN-Wordsscoredfrom-5to5
DataCamp SentimentAnalysisinR
library(lexicon)Name Description
dodds_sentiment MechanicalTurkSentimentWords
hash_emoticons Translationsofbasicpunctuationemoticons:)
hash_sentiment_huliu UofIL@CHIPolarity(+/-)wordresearch
hash_sentiment_jockers Alexiconinheritedfromlibrary(syuzhet)
hash_sentiment_nrc 5468wordscrowdsourcedscoringbetween-1&1
DataCamp SentimentAnalysisinR
Noway!Toofewwords.Zipf'sLawPrincipleofLeastEffort
DataCamp SentimentAnalysisinR
Zipf'sLawinActionRank City 2010CensusPopulation Actual% Zipf'sExpected%
1 NewYork 8,175,133 100% ...
2 LA 3,792,621 46% 50%
3 Chicago 2,695,598 33% 33%
4 Houston 2,100,263 26% 25%
5 Philadelphia 1,526,006 19% 20%
DataCamp SentimentAnalysisinR
PrincipleofLeastEffort
Ifthereareseveralwaysofachievingthesamegoal,peoplewillchoosetheleastdemandingcourseofaction
DataCamp SentimentAnalysisinR
UpNext...
DataCamp SentimentAnalysisinR
Let'spractice!
SENTIMENTANALYSISINR
DataCamp SentimentAnalysisinR
Exploreqdap'spolarity&built-inlexicon
SENTIMENTANALYSISINR
TedKwartlerDataDude
DataCamp SentimentAnalysisinR
polarity()
Anexamplesubjectivitylexicon
Word Polarity
Amazing Positive
Bad Negative
Good Positive
... ...
Wonderful Positive
DataCamp SentimentAnalysisinR
ContextCluster
ExampleContextClusterTheDataCampsentimentcourseisveryGOODforlearning.
DataCamp SentimentAnalysisinR
ContextCluster,continued
ExampleContextClusterTheDataCampsentimentcourseisveryGOODforlearning.
Term Class WordCount
Very Amplifier 1
Good PolarizedTerm/Positive 1
Allotherwords Neutral 7
DataCamp SentimentAnalysisinR
ContextClusterGlossaryPolarizedTerm-wordsassociatedwithpositive/negativeNeutralTerm-noemotionalcontextNegator-wordsthatinvertpolarizedmeaninge.g."notgood"
ValenceShifters-wordsthateffecttheemotionalcontext
Amplifiers-wordsthatincreaseemotionalintentDe-Amplifiers-wordsthatdecreaseemotionalintent
DataCamp SentimentAnalysisinR
ContextClusterScoringTerm Class WordCount PolarityValue
Very Amplifier 1 0.8
Good PolarizedTerm/Positive 1 1
Allotherwords Neutral 7 0
ExampleContextClusterTheDataCampsentimentcourseisveryGOODforlearning.
DataCamp SentimentAnalysisinR
PolarityCalculationClass Word
CountPolarityValue
Amplifier 1 0.8
PolarizedTerm/Positive
1 1
Neutral 7 0
Sum 9 1.8
ExampleContextClusterTheDataCampsentimentcourseisveryGOODforlearning.
1. 1+0.8=1.82. 1+1+7=93.
Answer:0.6
√91.8
DataCamp SentimentAnalysisinR
Let'spractice!
SENTIMENTANALYSISINR