Como es evidente por la bibliografía revisada, la respuesta al mejor algoritmo es
divergente, esta investigación pretende aportar a la resolución de esa pregunta.
En este sentido, se utiliza la red social de Twitter como caso de estudio, consolidándose
esta como uno de los medios más grandes para expresar opiniones, en enero del año
2021 cuenta con 353 millones de usuarios activos al mes (Mejía Llano, 2021), lo cual la
transforma en una fuente confiable para análisis de datos, minería de opiniones. Twitter
se ha ido adaptando a las necesidades de sus usuarios empresariales y favoreciendo la
investigación, liberando los datos con pequeñas limitaciones.
Twitter trabaja con proyectos, permite organizar el trabajo para tener acceso de forma
efectiva al monitor de datos (Twitter, 2021). También permite crear aplicaciones
externas a proyectos, para esta investigación se utilizará un proyecto, donde, con tokens
proporcionados por Twitter, permiten la descarga del contenido.
Según varias encuestas y análisis, los dos lenguajes más utilizados para el análisis de
datos son: R seguido de Python (Universidad de Alcalá, s.f). La principal ventaja que
ofrece Python es la versatilidad, permite realizar todas las etapas del análisis, desde la
obtención de los tuits, depuración y análisis de información, de forma accesible y
priorizando la velocidad de ejecución.
1.1 Análisis de sentimientos
Existen varios tipos de algoritmos que se pueden aplicar, los supervisados y no
supervisados. Los algoritmos supervisados, también llamado machine learning,
necesitan un conjunto de datos previamente clasificado, están basados en relaciones
matemáticas formadas entre los elementos en el entrenamiento, generando un modelo
estadístico que luego se compara con el texto a determinar para caracterizar el grupo al
que pertenece, en general, se dividen en dos grandes grupos: regresión y clasificación, la
diferencia radica en el resultado, los primeros retornan un valor numérico y los otros, un
identificador de grupo al que pertenecen, ambos sirven para realizar el análisis de
sentimiento. Por otro lado, los algoritmos de aprendizaje no supervisado permiten
determinar patrones y anomalías en conjuntos de datos.
La librería NLTK (Natural Languaje Toolkit) calcula el sentimiento a partir de reglas
creadas con anterioridad, por ejemplo, contar la cantidad de apariciones de una
determinada palabra o analizar la estructura de la oración. Para aplicar este algoritmo, se
utiliza NLTK, con su implementación Vader (Valence Aware Dictionary and sEntiment
Reasoner), modelo que posee aproximadamente 7520 elementos (Hutto & Gilbert,
2014).
TextBlob utiliza el algoritmo Naive Bayes de aprendizaje supervisado que se basa en el
teorema de Bayes sobre la probabilidad condicional en la que se quiere calcular la
probabilidad (Figura 1) de que ocurra un evento C, sabiendo que ha ocurrido X (Pauli,
2019). Toma cada clase como variable independiente y predice la probabilidad de que
pertenezca a un grupo, sea este positivo, negativo o neutro.
Para aplicar el análisis de sentimientos con este algoritmo, se utiliza la librería
TextBlob, devuelve una dupla de la forma (Sentimiento, clasificación, porcentaje
positivo, porcentaje negativo).