Libraries
library(syuzhet)
## Warning: package 'syuzhet' was built under R version 3.5.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.5.3
library(pdftools)
## Warning: package 'pdftools' was built under R version 3.5.3
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 3.5.3
## Loading required package: magrittr
## Warning: package 'magrittr' was built under R version 3.5.3
library(jpeg)
Let us take an example of a story familiar to all of us,
** LION KING **
Lion King
Code
lionking<-get_text_as_string("Script-lion king.txt")
Getting sentences
lk<-get_sentences(lionking)
The script starts from 153 line so, ends at 6 before last
lk<-lk[153:length(lk)-6]
Get sentiment
sentiment_lion_king<-get_sentiment(lk,method = "syuzhet")
sentiment_pct_val<-get_percentage_values(sentiment_lion_king)
dct_transform<-get_transformed_values(sentiment_lion_king,low_pass_size = 3,scale_vals = F,scale_range = F)
## Warning in get_transformed_values(sentiment_lion_king, low_pass_size
## = 3, : This function is maintained for legacy purposes. Consider using
## get_dct_transform() instead.
Visualization
img<-readJPEG("lk.jpg")
The detailed curve
dct<-data.frame(index=1:length(sentiment_pct_val),value=sentiment_pct_val)
g<-ggplot(data=dct)+background_image(img)
g<-g+geom_line(color="grey",aes(x=dct$index,y=dct$value,colour="blue"))
g<-g+xlab("Nattative time")+ylab("Emotinal valence")+theme(legend.position = "none")
g

Smooth Curve
dct<-data.frame(index=1:length(dct_transform),value=dct_transform)
g<-ggplot(data=dct)+background_image(img)
g<-g+geom_line(color="grey",aes(x=dct$index,y=dct$value))
g<-g+xlab("Nattative time")+ylab("Emotinal valence")+theme(legend.position = "none")
g

Aladin
code
aladin<-get_text_as_string("Script-Aladin.txt")
## Warning in readLines(path_to_file): incomplete final line found on 'Script-
## Aladin.txt'
Getting sentences
al<-get_sentences(aladin)
The script starts from 153 line so, ends at 6 before last
al<-al[2:length(al)-2]
Get sentiment
sentiment_aladin<-get_sentiment(al,method = "syuzhet")
sentiment_pct_val_al<-get_percentage_values(sentiment_aladin)
dct_transform_al<-get_transformed_values(sentiment_aladin,low_pass_size = 3,scale_vals = F,scale_range = F)
## Warning in get_transformed_values(sentiment_aladin, low_pass_size = 3,
## scale_vals = F, : This function is maintained for legacy purposes. Consider
## using get_dct_transform() instead.
Visualization
img_al<-readJPEG("aladin.jpg")
The detailed curve
dct_al<-data.frame(index=1:length(sentiment_pct_val_al),value=sentiment_pct_val_al)
g<-ggplot(data=dct_al)+background_image(img_al)
g<-g+geom_line(color="grey",aes(x=dct_al$index,y=dct_al$value))
g<-g+xlab("Nattative time")+ylab("Emotinal valence")+theme(legend.position = "none")
g

Smooth Curve
dct_al<-data.frame(index=1:length(dct_transform_al),value=dct_transform_al)
g<-ggplot(data=dct_al)+background_image(img_al)
g<-g+geom_line(color="grey",aes(x=dct_al$index,y=dct_al$value,size=.5))
g<-g+xlab("Nattative time")+ylab("Emotinal valence")+theme(legend.position = "none")
g

LS0tDQp0aXRsZTogIlNoYXBlIG9mIHN0b3JpZXMiDQphdXRob3I6ICJTaGFzaHdhdCINCmRhdGU6ICJBdWd1c3QgMjUsIDIwMTkiDQpvdXRwdXQ6IA0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICAgIHRvY19mbG9hdDogdHJ1ZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBrZWVwX21kOiB0cnVlDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoDQogIGZpZy5wYXRoID0gIlJlYWRtZS9maWdfIg0KKQ0KYGBgDQoNCiAgTGlicmFyaWVzDQpgYGB7cn0NCmxpYnJhcnkoc3l1emhldCkNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkocGRmdG9vbHMpDQpsaWJyYXJ5KGdncHVicikNCmxpYnJhcnkoanBlZykNCmBgYA0KDQogIExldCB1cyB0YWtlIGFuIGV4YW1wbGUgb2YgYSBzdG9yeSBmYW1pbGlhciB0byBhbGwgb2YgdXMsDQogIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqIExJT04gS0lORyAqKg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KIyBMaW9uIEtpbmcNCiMjIENvZGUNCg0KYGBge1J9DQpsaW9ua2luZzwtZ2V0X3RleHRfYXNfc3RyaW5nKCJTY3JpcHQtbGlvbiBraW5nLnR4dCIpDQpgYGANCg0KICBHZXR0aW5nIHNlbnRlbmNlcw0KYGBge3J9DQpsazwtZ2V0X3NlbnRlbmNlcyhsaW9ua2luZykNCmBgYA0KDQogIFRoZSBzY3JpcHQgc3RhcnRzIGZyb20gMTUzIGxpbmUgc28sIGVuZHMgYXQgNiBiZWZvcmUgbGFzdA0KYGBge3J9DQpsazwtbGtbMTUzOmxlbmd0aChsayktNl0NCmBgYA0KDQogIEdldCBzZW50aW1lbnQNCmBgYHtyfQ0Kc2VudGltZW50X2xpb25fa2luZzwtZ2V0X3NlbnRpbWVudChsayxtZXRob2QgPSAic3l1emhldCIpDQpzZW50aW1lbnRfcGN0X3ZhbDwtZ2V0X3BlcmNlbnRhZ2VfdmFsdWVzKHNlbnRpbWVudF9saW9uX2tpbmcpDQpkY3RfdHJhbnNmb3JtPC1nZXRfdHJhbnNmb3JtZWRfdmFsdWVzKHNlbnRpbWVudF9saW9uX2tpbmcsbG93X3Bhc3Nfc2l6ZSA9IDMsc2NhbGVfdmFscyA9IEYsc2NhbGVfcmFuZ2UgPSBGKQ0KYGBgDQoNCiMjIFZpc3VhbGl6YXRpb24gIA0KYGBge3J9DQppbWc8LXJlYWRKUEVHKCJsay5qcGciKQ0KYGBgDQogDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBkZXRhaWxlZCBjdXJ2ZQ0KYGBge3J9DQpkY3Q8LWRhdGEuZnJhbWUoaW5kZXg9MTpsZW5ndGgoc2VudGltZW50X3BjdF92YWwpLHZhbHVlPXNlbnRpbWVudF9wY3RfdmFsKQ0KZzwtZ2dwbG90KGRhdGE9ZGN0KStiYWNrZ3JvdW5kX2ltYWdlKGltZykNCmc8LWcrZ2VvbV9saW5lKGNvbG9yPSJncmV5IixhZXMoeD1kY3QkaW5kZXgseT1kY3QkdmFsdWUsY29sb3VyPSJibHVlIikpDQpnPC1nK3hsYWIoIk5hdHRhdGl2ZSB0aW1lIikreWxhYigiRW1vdGluYWwgdmFsZW5jZSIpK3RoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIikNCmcNCmBgYA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNtb290aCBDdXJ2ZQ0KYGBge3J9DQpkY3Q8LWRhdGEuZnJhbWUoaW5kZXg9MTpsZW5ndGgoZGN0X3RyYW5zZm9ybSksdmFsdWU9ZGN0X3RyYW5zZm9ybSkNCmc8LWdncGxvdChkYXRhPWRjdCkrYmFja2dyb3VuZF9pbWFnZShpbWcpDQpnPC1nK2dlb21fbGluZShjb2xvcj0iZ3JleSIsYWVzKHg9ZGN0JGluZGV4LHk9ZGN0JHZhbHVlKSkNCmc8LWcreGxhYigiTmF0dGF0aXZlIHRpbWUiKSt5bGFiKCJFbW90aW5hbCB2YWxlbmNlIikrdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiKQ0KZw0KYGBgICAgICAgICAgICAgICAgIA0KDQoNCiMgQWxhZGluDQoNCiMjIGNvZGUNCmBgYHtyfQ0KYWxhZGluPC1nZXRfdGV4dF9hc19zdHJpbmcoIlNjcmlwdC1BbGFkaW4udHh0IikNCmBgYA0KDQogIEdldHRpbmcgc2VudGVuY2VzDQpgYGB7cn0NCmFsPC1nZXRfc2VudGVuY2VzKGFsYWRpbikNCmBgYA0KDQogIFRoZSBzY3JpcHQgc3RhcnRzIGZyb20gMTUzIGxpbmUgc28sIGVuZHMgYXQgNiBiZWZvcmUgbGFzdA0KYGBge3J9DQphbDwtYWxbMjpsZW5ndGgoYWwpLTJdDQpgYGANCg0KICBHZXQgc2VudGltZW50DQpgYGB7cn0NCnNlbnRpbWVudF9hbGFkaW48LWdldF9zZW50aW1lbnQoYWwsbWV0aG9kID0gInN5dXpoZXQiKQ0Kc2VudGltZW50X3BjdF92YWxfYWw8LWdldF9wZXJjZW50YWdlX3ZhbHVlcyhzZW50aW1lbnRfYWxhZGluKQ0KZGN0X3RyYW5zZm9ybV9hbDwtZ2V0X3RyYW5zZm9ybWVkX3ZhbHVlcyhzZW50aW1lbnRfYWxhZGluLGxvd19wYXNzX3NpemUgPSAzLHNjYWxlX3ZhbHMgPSBGLHNjYWxlX3JhbmdlID0gRikNCmBgYA0KDQojIyBWaXN1YWxpemF0aW9uICANCmBgYHtyfQ0KaW1nX2FsPC1yZWFkSlBFRygiYWxhZGluLmpwZyIpDQpgYGANCiANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGRldGFpbGVkIGN1cnZlDQpgYGB7cn0NCmRjdF9hbDwtZGF0YS5mcmFtZShpbmRleD0xOmxlbmd0aChzZW50aW1lbnRfcGN0X3ZhbF9hbCksdmFsdWU9c2VudGltZW50X3BjdF92YWxfYWwpDQpnPC1nZ3Bsb3QoZGF0YT1kY3RfYWwpK2JhY2tncm91bmRfaW1hZ2UoaW1nX2FsKQ0KZzwtZytnZW9tX2xpbmUoY29sb3I9ImdyZXkiLGFlcyh4PWRjdF9hbCRpbmRleCx5PWRjdF9hbCR2YWx1ZSkpDQpnPC1nK3hsYWIoIk5hdHRhdGl2ZSB0aW1lIikreWxhYigiRW1vdGluYWwgdmFsZW5jZSIpK3RoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIikNCmcNCmBgYA0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNtb290aCBDdXJ2ZQ0KYGBge3J9DQpkY3RfYWw8LWRhdGEuZnJhbWUoaW5kZXg9MTpsZW5ndGgoZGN0X3RyYW5zZm9ybV9hbCksdmFsdWU9ZGN0X3RyYW5zZm9ybV9hbCkNCmc8LWdncGxvdChkYXRhPWRjdF9hbCkrYmFja2dyb3VuZF9pbWFnZShpbWdfYWwpDQpnPC1nK2dlb21fbGluZShjb2xvcj0iZ3JleSIsYWVzKHg9ZGN0X2FsJGluZGV4LHk9ZGN0X2FsJHZhbHVlLHNpemU9LjUpKQ0KZzwtZyt4bGFiKCJOYXR0YXRpdmUgdGltZSIpK3lsYWIoIkVtb3RpbmFsIHZhbGVuY2UiKSt0aGVtZShsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpDQpnDQpgYGAgICAgICAgICAgICAgICAgDQo=