El análisis de sentimientos es una herramienta dentro del “Machine Learning” para medir respuestas emocionales acerca de un texto.

Las 8 emociones son: * Ira * Anticipación * Asco * Miedo * Alegría * Tristeza * Sorpresa * Confianza

Las 2 tendencias de las emociones son: Positiva o Negativa

Instalar paquetes y llamar librerias

#install.packages("readtext")
library(readtext)
## Warning: package 'readtext' was built under R version 4.3.3
#install.packages("syuzhet")
library(syuzhet)
## Warning: package 'syuzhet' was built under R version 4.3.3
#install.packages("RColorBrewer")
library(RColorBrewer)
#install.packages("wordcloud")
library(wordcloud)
## Warning: package 'wordcloud' was built under R version 4.3.3
#install.packages("tm")
library(tm)
## Warning: package 'tm' was built under R version 4.3.3
## Loading required package: NLP

Importar la base de datos

#file.choose()
texto <- readtext("C:\\Users\\HP\\OneDrive - FEMSA Comercio\\Escritorio\\Inteligencia de Negocios\\7mo Semestre\\M2\\BDD\\himno.txt")
texto_palabras <- get_tokens(texto) # el texto lo separa en palabras
emociones_df <- get_nrc_sentiment(texto_palabras, language = "spanish") #nrc es como un diccionario con palabras y sus emociones
barplot(colSums(prop.table(emociones_df[, 1:8])))

sentimientos <- (emociones_df$negative*-1) + emociones_df$positive
simple_plot(sentimientos)

# wordcloud(words=texto_palabras, min.freq = 1)

Conclusión

Este código se utiliza para entender las emociones que se pueden obtener de un texto, en este caso se utilizo para el himno nacional, donde se pudo obtener un insight de que transmite lo que dice.

LS0tDQp0aXRsZTogIkFuYWxpc2lzIGRlIFNlbnRpbWllbnRvIC0gRWplbXBsbzogSGltbm8gTmFjaW9uYWwgTcOpeGljbyINCmF1dGhvcjogIlhpbWVuYSBNZWzDqW5kZXogLSBBMDE3MjA1NjkiDQpkYXRlOiAiMjAyNC0wOC0xMyINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6IA0KICAgIHRvYzogdHJ1ZQ0KICAgIHRvY19mbG9hdDogdHJ1ZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0aGVtZTogY29zbW8NCi0tLQ0KDQohW10oQzpcXFVzZXJzXFxIUFxcT25lRHJpdmUgLSBGRU1TQSBDb21lcmNpb1xcRXNjcml0b3Jpb1xcSW50ZWxpZ2VuY2lhIGRlIE5lZ29jaW9zXFw3bW8gU2VtZXN0cmVcXE0yXFxGb3Rvc1xcaGltbm9mb3RvLmpwZykNCg0KRWwgYW7DoWxpc2lzIGRlIHNlbnRpbWllbnRvcyBlcyB1bmEgaGVycmFtaWVudGEgZGVudHJvIGRlbCAiTWFjaGluZSBMZWFybmluZyIgcGFyYSBtZWRpciByZXNwdWVzdGFzIGVtb2Npb25hbGVzIGFjZXJjYSBkZSB1biB0ZXh0by4NCg0KTGFzIDggZW1vY2lvbmVzIHNvbjoNCiogSXJhDQoqIEFudGljaXBhY2nDs24NCiogQXNjbw0KKiBNaWVkbw0KKiBBbGVncsOtYQ0KKiBUcmlzdGV6YQ0KKiBTb3JwcmVzYQ0KKiBDb25maWFuemENCg0KTGFzIDIgdGVuZGVuY2lhcyBkZSBsYXMgZW1vY2lvbmVzIHNvbjogUG9zaXRpdmEgbyBOZWdhdGl2YQ0KDQojIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcmlhcw0KYGBge3J9DQojaW5zdGFsbC5wYWNrYWdlcygicmVhZHRleHQiKQ0KbGlicmFyeShyZWFkdGV4dCkNCiNpbnN0YWxsLnBhY2thZ2VzKCJzeXV6aGV0IikNCmxpYnJhcnkoc3l1emhldCkNCiNpbnN0YWxsLnBhY2thZ2VzKCJSQ29sb3JCcmV3ZXIiKQ0KbGlicmFyeShSQ29sb3JCcmV3ZXIpDQojaW5zdGFsbC5wYWNrYWdlcygid29yZGNsb3VkIikNCmxpYnJhcnkod29yZGNsb3VkKQ0KI2luc3RhbGwucGFja2FnZXMoInRtIikNCmxpYnJhcnkodG0pDQpgYGANCg0KIyBJbXBvcnRhciBsYSBiYXNlIGRlIGRhdG9zDQpgYGB7cn0NCiNmaWxlLmNob29zZSgpDQp0ZXh0byA8LSByZWFkdGV4dCgiQzpcXFVzZXJzXFxIUFxcT25lRHJpdmUgLSBGRU1TQSBDb21lcmNpb1xcRXNjcml0b3Jpb1xcSW50ZWxpZ2VuY2lhIGRlIE5lZ29jaW9zXFw3bW8gU2VtZXN0cmVcXE0yXFxCRERcXGhpbW5vLnR4dCIpDQp0ZXh0b19wYWxhYnJhcyA8LSBnZXRfdG9rZW5zKHRleHRvKSAjIGVsIHRleHRvIGxvIHNlcGFyYSBlbiBwYWxhYnJhcw0KZW1vY2lvbmVzX2RmIDwtIGdldF9ucmNfc2VudGltZW50KHRleHRvX3BhbGFicmFzLCBsYW5ndWFnZSA9ICJzcGFuaXNoIikgI25yYyBlcyBjb21vIHVuIGRpY2Npb25hcmlvIGNvbiBwYWxhYnJhcyB5IHN1cyBlbW9jaW9uZXMNCmJhcnBsb3QoY29sU3Vtcyhwcm9wLnRhYmxlKGVtb2Npb25lc19kZlssIDE6OF0pKSkNCg0Kc2VudGltaWVudG9zIDwtIChlbW9jaW9uZXNfZGYkbmVnYXRpdmUqLTEpICsgZW1vY2lvbmVzX2RmJHBvc2l0aXZlDQpzaW1wbGVfcGxvdChzZW50aW1pZW50b3MpDQojIHdvcmRjbG91ZCh3b3Jkcz10ZXh0b19wYWxhYnJhcywgbWluLmZyZXEgPSAxKQ0KYGBgDQojIENvbmNsdXNpw7NuDQpFc3RlIGPDs2RpZ28gc2UgdXRpbGl6YSBwYXJhIGVudGVuZGVyIGxhcyBlbW9jaW9uZXMgcXVlIHNlIHB1ZWRlbiBvYnRlbmVyIGRlIHVuIHRleHRvLCBlbiBlc3RlIGNhc28gc2UgdXRpbGl6byBwYXJhIGVsIGhpbW5vIG5hY2lvbmFsLCBkb25kZSBzZSBwdWRvIG9idGVuZXIgdW4gaW5zaWdodCBkZSBxdWUgdHJhbnNtaXRlIGxvIHF1ZSBkaWNlLiANCg==