Sentiment analysis (or opinion mining) is a natural language processing technique used to determine whether data is positive, negative or neutral. Sentiment analysis is often performed on textual data to help businesses monitor brand and product sentiment in customer feedback, and understand customer needs. https://monkeylearn.com/sentiment-analysis/
Social media are interactive digitally mediated technologies that facilitate the creation or sharing/exchange of information, ideas, career interests, and other forms of expression via virtual communities and networks.
It has User-generated content—such as text posts or comments, digital photos or videos, and data generated through all online interactions—is the lifeblood of social media https://en.wikipedia.org/wiki/Social_media
YouTube is an American online video-sharing platform. It allows users to upload, view, rate, share, add to playlists, report, comment on videos, and subscribe to other users. https://en.wikipedia.org/wiki/YouTube
OBJECTIVE In this case study, we will be conducting a sentiment analysis to one of the videos in the social media giant - Youtube. It has rich diversity of opinion through the comment section where people can express their opinion and overall we will attempt to identify the mood of that video.
DATA RETRIEVAL AND STRUCTURE
We will need to plug in our youtube api for authentication.
ytauth <- Authenticate("youtube", apiKey = ytapi)
note:I have hidden my personal api key as it is at the same time my overall google api
My choice of video is a Movie video. Check it out. Title: SPACE JAM 2 Official Trailer (2021) Uploaded: April 3, 2021 link: https://www.youtube.com/watch?v=RM6rwlI1a4Y
video <- "https://www.youtube.com/watch?v=RM6rwlI1a4Y"
id_video <- GetYoutubeVideoIDs(video)
Extracted 1 video ids.
id_video
[1] "RM6rwlI1a4Y"
We will then be collecting Data from the Comments (user input) to find out the sentiment of the viewers
data_yt <- ytauth %>% Collect(id_video)
Collecting comment threads for youtube videos...
Video 1 of 1
---------------------------------------------------------------
** video Id: RM6rwlI1a4Y
** Collected threads: 660
** Collecting replies for 83 threads with replies. Please be patient.
...................................................................................
** Collected replies: 292
** Total video comments: 952
---------------------------------------------------------------
** Total comments collected for all videos 952.
(Estimated API unit cost: 187)
Done.
comment_yt <- data_yt$Comment
str(comment_yt)
chr [1:952] "VAGNER BROS." ...
We have a total of 952 comments to analyze, let’s find out how they feel about the upcoming movie.
Sentiment Analysis function
senti <- get_nrc_sentiment(comment_yt)
Let’s combined the sentiment map to the comments on tabulated view (optional)
senti_comment <- cbind(comment_yt,senti)
head(senti_comment)
It would be best if we chart it to see the overall summary opinion.
barplot(colSums(senti),col=rainbow(10),
ylab="sentiment score",
main="Viewers Sentiment on Space Jam 2")

Overall, we have a POSITIVE feedback from the viewers of about 500 however we see a fair share of anger, disgust and fear. The original Space Jam really was a box office with Micheal Jordan as the primary character. This time, they will showcase Lebron James. So, perhaps its too early to tell wether the new legacy will pull this through.
Prepared by Dodgecarl Incila
LS0tDQp0aXRsZTogIlNvY2lhbCBNZWRpYTogU2VudGltZW50IEFuYWx5c2lzIG9uIFlvdXR1YmUiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCmVkaXRvcl9vcHRpb25zOiANCiAgbWFya2Rvd246IA0KICAgIHdyYXA6IDcyDQotLS0NCg0KU2VudGltZW50IGFuYWx5c2lzIChvciBvcGluaW9uIG1pbmluZykgaXMgYSBuYXR1cmFsIGxhbmd1YWdlIHByb2Nlc3NpbmcNCnRlY2huaXF1ZSB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIGRhdGEgaXMgcG9zaXRpdmUsIG5lZ2F0aXZlIG9yDQpuZXV0cmFsLiBTZW50aW1lbnQgYW5hbHlzaXMgaXMgb2Z0ZW4gcGVyZm9ybWVkIG9uIHRleHR1YWwgZGF0YSB0byBoZWxwDQpidXNpbmVzc2VzIG1vbml0b3IgYnJhbmQgYW5kIHByb2R1Y3Qgc2VudGltZW50IGluIGN1c3RvbWVyIGZlZWRiYWNrLCBhbmQNCnVuZGVyc3RhbmQgY3VzdG9tZXIgbmVlZHMuIDxodHRwczovL21vbmtleWxlYXJuLmNvbS9zZW50aW1lbnQtYW5hbHlzaXMvPg0KDQpTb2NpYWwgbWVkaWEgYXJlIGludGVyYWN0aXZlIGRpZ2l0YWxseSBtZWRpYXRlZCB0ZWNobm9sb2dpZXMgdGhhdA0KZmFjaWxpdGF0ZSB0aGUgY3JlYXRpb24gb3Igc2hhcmluZy9leGNoYW5nZSBvZiBpbmZvcm1hdGlvbiwgaWRlYXMsDQpjYXJlZXIgaW50ZXJlc3RzLCBhbmQgb3RoZXIgZm9ybXMgb2YgZXhwcmVzc2lvbiB2aWEgdmlydHVhbCBjb21tdW5pdGllcw0KYW5kIG5ldHdvcmtzLg0KDQpJdCBoYXMgVXNlci1nZW5lcmF0ZWQgY29udGVudC0tLXN1Y2ggYXMgdGV4dCBwb3N0cyBvciBjb21tZW50cywgZGlnaXRhbA0KcGhvdG9zIG9yIHZpZGVvcywgYW5kIGRhdGEgZ2VuZXJhdGVkIHRocm91Z2ggYWxsIG9ubGluZQ0KaW50ZXJhY3Rpb25zLS0taXMgdGhlIGxpZmVibG9vZCBvZiBzb2NpYWwgbWVkaWENCjxodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Tb2NpYWxfbWVkaWE+DQoNCllvdVR1YmUgaXMgYW4gQW1lcmljYW4gb25saW5lIHZpZGVvLXNoYXJpbmcgcGxhdGZvcm0uIEl0IGFsbG93cyB1c2VycyB0bw0KdXBsb2FkLCB2aWV3LCByYXRlLCBzaGFyZSwgYWRkIHRvIHBsYXlsaXN0cywgcmVwb3J0LCBjb21tZW50IG9uIHZpZGVvcywNCmFuZCBzdWJzY3JpYmUgdG8gb3RoZXIgdXNlcnMuIDxodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Zb3VUdWJlPg0KDQpPQkpFQ1RJVkUgSW4gdGhpcyBjYXNlIHN0dWR5LCB3ZSB3aWxsIGJlIGNvbmR1Y3RpbmcgYSBzZW50aW1lbnQgYW5hbHlzaXMNCnRvIG9uZSBvZiB0aGUgdmlkZW9zIGluIHRoZSBzb2NpYWwgbWVkaWEgZ2lhbnQgLSBZb3V0dWJlLiBJdCBoYXMgcmljaA0KZGl2ZXJzaXR5IG9mIG9waW5pb24gdGhyb3VnaCB0aGUgY29tbWVudCBzZWN0aW9uIHdoZXJlIHBlb3BsZSBjYW4NCmV4cHJlc3MgdGhlaXIgb3BpbmlvbiBhbmQgb3ZlcmFsbCB3ZSB3aWxsIGF0dGVtcHQgdG8gaWRlbnRpZnkgdGhlIG1vb2QNCm9mIHRoYXQgdmlkZW8uDQoNCkRBVEEgUkVUUklFVkFMIEFORCBTVFJVQ1RVUkUNCg0KV2Ugd2lsbCBuZWVkIHRvIHBsdWcgaW4gb3VyIHlvdXR1YmUgYXBpIGZvciBhdXRoZW50aWNhdGlvbi4NCg0KYGBge3J9DQp5dGF1dGggPC0gQXV0aGVudGljYXRlKCJ5b3V0dWJlIiwgYXBpS2V5ID0geXRhcGkpDQpgYGANCg0Kbm90ZTpJIGhhdmUgaGlkZGVuIG15IHBlcnNvbmFsIGFwaSBrZXkgYXMgaXQgaXMgYXQgdGhlIHNhbWUgdGltZSBteQ0Kb3ZlcmFsbCBnb29nbGUgYXBpDQoNCk15IGNob2ljZSBvZiB2aWRlbyBpcyBhIE1vdmllIHZpZGVvLiBDaGVjayBpdCBvdXQuIFRpdGxlOiBTUEFDRSBKQU0gMg0KT2ZmaWNpYWwgVHJhaWxlciAoMjAyMSkgVXBsb2FkZWQ6IEFwcmlsIDMsIDIwMjEgbGluazoNCjxodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVJNNnJ3bEkxYTRZPg0KDQpgYGB7cn0NCnZpZGVvIDwtICJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVJNNnJ3bEkxYTRZIg0KaWRfdmlkZW8gPC0gR2V0WW91dHViZVZpZGVvSURzKHZpZGVvKQ0KaWRfdmlkZW8NCmBgYA0KDQpXZSB3aWxsIHRoZW4gYmUgY29sbGVjdGluZyBEYXRhIGZyb20gdGhlIENvbW1lbnRzICh1c2VyIGlucHV0KSB0byBmaW5kDQpvdXQgdGhlIHNlbnRpbWVudCBvZiB0aGUgdmlld2Vycw0KDQpgYGB7cn0NCmRhdGFfeXQgPC0geXRhdXRoICU+JSBDb2xsZWN0KGlkX3ZpZGVvKQ0KY29tbWVudF95dCA8LSBkYXRhX3l0JENvbW1lbnQNCnN0cihjb21tZW50X3l0KSANCmBgYA0KDQpXZSBoYXZlIGEgdG90YWwgb2YgOTUyIGNvbW1lbnRzIHRvIGFuYWx5emUsIGxldCdzIGZpbmQgb3V0IGhvdyB0aGV5IGZlZWwNCmFib3V0IHRoZSB1cGNvbWluZyBtb3ZpZS4NCg0KU2VudGltZW50IEFuYWx5c2lzIGZ1bmN0aW9uDQoNCmBgYHtyfQ0Kc2VudGkgPC0gZ2V0X25yY19zZW50aW1lbnQoY29tbWVudF95dCkNCmBgYA0KDQpMZXQncyBjb21iaW5lZCB0aGUgc2VudGltZW50IG1hcCB0byB0aGUgY29tbWVudHMgb24gdGFidWxhdGVkIHZpZXcNCihvcHRpb25hbCkNCg0KYGBge3J9DQpzZW50aV9jb21tZW50IDwtIGNiaW5kKGNvbW1lbnRfeXQsc2VudGkpDQpoZWFkKHNlbnRpX2NvbW1lbnQpDQpgYGANCg0KSXQgd291bGQgYmUgYmVzdCBpZiB3ZSBjaGFydCBpdCB0byBzZWUgdGhlIG92ZXJhbGwgc3VtbWFyeSBvcGluaW9uLg0KDQpgYGB7cn0NCmJhcnBsb3QoY29sU3VtcyhzZW50aSksY29sPXJhaW5ib3coMTApLA0KICAgICAgICB5bGFiPSJzZW50aW1lbnQgc2NvcmUiLA0KICAgICAgICBtYWluPSJWaWV3ZXJzIFNlbnRpbWVudCBvbiBTcGFjZSBKYW0gMiIpDQpgYGANCg0KT3ZlcmFsbCwgd2UgaGF2ZSBhIFBPU0lUSVZFIGZlZWRiYWNrIGZyb20gdGhlIHZpZXdlcnMgb2YgYWJvdXQgNTAwDQpob3dldmVyIHdlIHNlZSBhIGZhaXIgc2hhcmUgb2YgYW5nZXIsIGRpc2d1c3QgYW5kIGZlYXIuIFRoZSBvcmlnaW5hbA0KU3BhY2UgSmFtIHJlYWxseSB3YXMgYSBib3ggb2ZmaWNlIHdpdGggTWljaGVhbCBKb3JkYW4gYXMgdGhlIHByaW1hcnkNCmNoYXJhY3Rlci4gVGhpcyB0aW1lLCB0aGV5IHdpbGwgc2hvd2Nhc2UgTGVicm9uIEphbWVzLiBTbywgcGVyaGFwcyBpdHMNCnRvbyBlYXJseSB0byB0ZWxsIHdldGhlciB0aGUgbmV3IGxlZ2FjeSB3aWxsIHB1bGwgdGhpcyB0aHJvdWdoLg0KDQpQcmVwYXJlZCBieSBEb2RnZWNhcmwgSW5jaWxhDQo=