Analisis de Datos Con API Twiter
Analisis de Datos Con API Twiter
PROYECTO DE TITULACIÓN
Previa a la obtención del Título de:
AUTOR:
Edinson Andrés Jiménez Cárdenas
TUTOR:
Ing. Jorge Avilés Monroy, M.Sc.
GUAYAQUIL – ECUADOR
2019
REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA
FICHA DE REGISTRO DE TESIS
TÍTULO: “ANÁLISIS DE LA RED SOCIAL TWITTER PARA LA IDENTIFICACIÓN DE
PATRONES QUE GENERAN OPORTUNIDADES DE NEGOCIO EN LA CIUDAD DE
GUAYAQUIL UTILIZANDO EL ENTORNO DE TRABAJO JUPYTER NOTEBOOK Y EL
LENGUAJE DE PROGRAMACIÓN PYTHON”
AUTOR: TUTOR:
Ing. Jorge Avilés Monroy, M.Sc.
Jiménez Cárdenas Edinson Andrés REVISORES:
Ing. Segundo Delgado Menoscal, PhD.
INSTITUCIÓN: Universidad de Guayaquil FACULTAD: Ciencias Matemáticas y
Físicas
CARRERA: Ingeniería en Sistemas Computacionales
FECHA DE PUBLICACIÓN: No DE PAGINAS: 158
ÁREA DE LA TEMÁTICA: Desarrollo local y emprendimiento socio económico
sostenible y sustentable.
PALABRAS CLAVE: Análisis de datos, red social Twitter, algoritmos de aprendizaje
automático, procesamiento del lenguaje natural, análisis de sentimientos.
RESUMEN: El presente proyecto fue enfocado en la extracción y análisis de los datos
que genera la red social Twitter para contribuir a la toma de decisiones, mediante el
uso de análisis de sentimiento en español y algoritmos de aprendizaje automático,
generando información útil de apoyo en la toma de decisiones a los emprendedores
de la ciudad de Guayaquil con base a la problemática planteada al inicio de sus
actividades, o al momento de re-direccionar su negocio, la cual consiste en identificar
si existe una audiencia para un determinado producto o servicio y examinar que tipo
de sectores e industrias acaparan la mayor cantidad de internautas, la cual ayudaría
en el proceso de toma de decisiones en los emprendimientos suscitados en esta
ciudad. Una de las metodologías utilizadas en el presente proyecto fue la investigación
diagnostica, entre las principales herramientas que posee esta metodología para la
recolección de datos y su posterior análisis es la encuesta. Entre los algoritmos a
utilizar destacan, algoritmo de clasificación Bayesiano y el uso de una red neuronal
para clasificar los tweets por sectores e industrias. El desarrollo de este proyecto fue
realizado en Python, en el entorno de desarrollo de Jupyter el cual provee facilidades
de uso e implementación de librerías y algoritmos de aprendizaje automático.
Nº DE REGISTRO (en No DE CLASIFICACIÓN:
la base de datos):
DIRECCIÓN URL(tesis en la web):
ADJUNTO PDF SI (X ) NO ( )
Teléfono: E-Mail:
CONTACTO AUTOR: 0979589563 [email protected]
[email protected]
CONTACTO DE LA
Nombre: Ab. Juan Chávez Atocha
INSTITUCIÓN:
Universidad de Guayaquil Teléfono: 2307729
APROBACIÓN DEL TUTOR
Atentamente
________________________________
Ing. Jorge Avilés Monroy, M.Sc.
TUTOR
III
DEDICATORIA
Se la dedico de manera
especial a Dios, a mi familia
dado que de ellos aprendí la
perseverancia, y han sido el
pilar fundamental, en toda mi
educación, tanto académica,
como en la vida. Este trabajo
ha sido posible gracias a ellos.
IV
AGRADECIMIENTO
V
TRIBUNAL PROYECTO DE TITULACIÓN
Ing. Fausto Cabrera Montes, M.Sc. Ing. Gary Reyes Zambrano, Mgs.
DECANO DE LA FACULTAD DIRECTOR DE LA CARRERA DE
CIENCIAS MATEMÁTICAS Y INGENIERÍA EN SISTEMAS
FÍSICAS COMPUTACIONALES
Ing. Jorge Avilés Monroy, M.Sc. Ing. Segundo Delgado Menoscal, PhD.
PROFESOR TUTOR DEL PROFESOR REVISOR DEL
PROYECTO PROYECTO
DE TITULACIÓN DE TITULACIÓN
VI
DECLARACIÓN EXPRESA
______________________________________
C.C. 0929377950
VII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
Proyecto de Titulación que se presenta como requisito para optar por el título
C.C. 0929377950
VIII
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
CERTIFICO:
Presentado por:
IX
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Autorización para Publicación de Proyecto de Titulación en Formato Digital
1. Identificación del Proyecto de Titulación
Título del Proyecto de titulación: Análisis de la red social Twitter para la identificación de patrones que generan
oportunidades de negocio en la ciudad de Guayaquil utilizando el entorno de trabajo Jupyter notebook y el lenguaje
de programación Python
Tema del Proyecto de Titulación: Análisis de tweets públicos emitidos en la ciudad de Guayaquil, aplicando
algoritmos de aprendizaje automático para obtener información que brinde apoyo en la toma de decisiones de
emprendedores y dueños de negocios.
A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas
y Físicas a publicar la versión electrónica de este Proyecto de titulación.
Publicación electrónica:
Inmediata X Después de 1 año
Firma Alumno:
_____________________________
C.I. 0929377950
3. Forma de envío:
El texto del proyecto de titulación debe ser enviado en formato Word, como archivo .Doc. O .RTF y .Puf para PC. Las
DVDROM CDROM X
X
ÍNDICE GENERAL
XI
Localizaciones ....................................................................................................... 29
Formato de salida JSON ........................................................................................ 31
Limitaciones de Twitter en su API ........................................................................ 32
Procesamiento del Lenguaje Natural (NLP) ......................................................... 32
Análisis de sentimientos ........................................................................................ 33
Minería de datos (Data Mining) ............................................................................ 36
Extracción de datos ............................................................................................... 38
Inteligencia artificial (IA)...................................................................................... 39
Aprendizaje supervisado ....................................................................................... 43
Aprendizaje no supervisado .................................................................................. 48
Bolsa de palabras (Bag of Words)......................................................................... 49
Open Source .......................................................................................................... 50
Entorno de desarrollo: Jupyter Notebook.............................................................. 51
Librería NumPy ..................................................................................................... 55
Twython ................................................................................................................ 55
Tweepy .................................................................................................................. 56
Librería Pandas ...................................................................................................... 57
DataFrame ............................................................................................................. 57
Visualización de información para la ayuda a la toma de decisiones ................... 58
FUNDAMENTACIÓN LEGAL ........................................................................... 59
LEY DE PROPIEDAD INTELECTUAL ............................................................. 59
Objeto del derecho de autor .................................................................................. 60
LOTAIP (Ley Orgánica de Transparencia y Acceso a la Información Pública). . 64
Ley sobre el acuerdo de software libre en el Ecuador ........................................... 65
Preguntas científicas a contestarse ........................................................................ 65
Definiciones conceptuales ..................................................................................... 66
CAPÍTULO III - PROPUESTA TECNOLÓGICA ......................................... 69
Metodología de investigación ............................................................................... 75
Población y muestra .............................................................................................. 77
Encuesta N. 1......................................................................................................... 80
Encuesta N. 2......................................................................................................... 90
XII
Metodología CRISP-DM..................................................................................... 101
Descripción de fases de CRISP–DM .................................................................. 103
Aplicación de la metodología propuesta ............................................................. 106
Fase I. Comprensión del negocio ........................................................................ 106
Fase II. Comprensión de los Datos...................................................................... 107
Fase III. Preparación de los datos........................................................................ 116
Fase IV. Modelado .............................................................................................. 122
Construcción del modelo ..................................................................................... 126
Fase V. Evaluación .............................................................................................. 128
Presentación de resultados .................................................................................. 134
Entregables del proyecto ..................................................................................... 145
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA ................................... 146
Procesamiento y análisis ..................................................................................... 147
Criterios generales ............................................................................................... 147
Criterios de validación de notebooks .................................................................. 148
CAPÍTULO IV - CRITERIOS DE ACEPTACIÓN DEL PRODUCTO ..... 150
Privacidad de los datos ........................................................................................ 156
Conclusiones ....................................................................................................... 158
Recomendaciones ................................................................................................ 160
BIBLIOGRAFÍA ............................................................................................... 161
ANEXO 1. CRONOGRAMA DE ACTIVIDADES ........................................... 172
ANEXO 2. ENCUESTAS ................................................................................... 173
ANEXO 3. CRITERIOS DE VALIDACIÓN DE LA PROPUESTA ................ 179
ANEXO 4. CRITERIOS DE ACEPTACIÓN DEL PRODUCTO ..................... 185
ANEXO 5. MANUAL DE USUARIO ................................................................... 1
ANEXO 6. MANUAL TÉCNICO .......................................................................... 1
XIII
ABREVIATURAS
XIV
SIMBOLOGÍA
N Tamaño de la población
n Tamaño de la muestra
E Margen de error
K Nivel de confianza
P Probabilidad de éxito
Q probabilidad de fracaso
XV
ÍNDICE DE CUADROS
XVI
ÍNDICE DE GRÁFICOS
Pág.
TWITTER?............................................................................................................. 82
TWITTER?............................................................................................................. 83
XVII
GRÁFICO N. 14 PREGUNTA 7. ¿CUÁNDO USTED ADQUIERE, CONSUME O UTILIZA ALGÚN
EMPRESARIAL Y DE EMPRENDIMIENTO?................................................................ 89
GRÁFICO N. 17 PREGUNTA 10. ¿ESTÁ USTED DE ACUERDO QUE SUS TWEETS PÚBLICOS
GUAYAQUIL? ....................................................................................................... 90
CLIENTES? ............................................................................................................ 94
XVIII
GRÁFICO N. 23 PREGUNTA 6. EN CASO DE USAR TWITTER, INDIQUE LA FRECUENCIA
XIX
GRÁFICO N. 33 OBJETO JSON OBTENIDO DE TWEEPY CONSTA APROXIMADAMENTE DE
GRÁFICO N. 34 VISUALIZACIÓN DE ARCHIVO CSV QUE ALMACENA LOS TWEETS. .... 114
........................................................................................................................... 133
XX
GRÁFICO N. 51 VALORACIÓN POR SENTIMIENTOS DE UN PRODUCTO O SERVICIO CON
XXI
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Palabras clave: Análisis de datos, red social Twitter, algoritmos de aprendizaje automático,
procesamiento del lenguaje natural, análisis de sentimientos.
XXII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Abstract
The present project was focused on the extraction and analysis of the data generated by the
social network Twitter to contribute to decision making, through the use of sentiment analysis
in Spanish and automatic learning algorithms, generating useful information to support
decision making to entrepreneurs in the city of Guayaquil based on the issues raised at the
beginning of their activities, or at the moment of redirecting your business, which consists of
identifying if there is an audience for a certain product or service and examining what type of
sectors and industries capture the largest number of Internet users, which would help in the
decision-making process in the ventures raised in this city. One of the methodologies used in
this project was diagnostic research, among the main tools that this methodology has for data
collection and subsequent analysis is the survey. Among the algorithms to use stand out,
Bayesian classification algorithm and the use of a neural network to classify tweets by sectors
and industries. The development of this project was carried out in Python, in Jupyter's
development environment which provides ease of use and implementation of libraries and
automatic learning algorithms.
Keywords: Data analysis, social network Twitter, automatic learning algorithms, natural
language processing, sentiment analysis
XXIII
INTRODUCCIÓN
1
Para llegar a un nivel óptimo de predicción estos algoritmos fueron entrenados
con datos extraídos en la presente ciudad, para una mayor precisión en la
comprensión semántica y clasificación realizada por los algoritmos utilizados.
2
En el capítulo IV, se presentan los criterios de aceptación del presente
proyecto, las conclusiones obtenidas durante el transcurso del desarrollo de
los notebooks del presente proyecto y las respectivas recomendaciones para
futuras versiones y nuevos enfoques basados en la experimentación realizada
este trabajo de titulación.
3
CAPÍTULO I
EL PROBLEMA
4
Situación Conflicto Nudos Críticos
Por eso es de suma importancia realizar este proyecto para brindar apoyo en
la toma de decisiones a los emprendedores en la selección de un sector
comercial, que potencie sus negocios o emprendimientos suscitados en esta
ciudad, presentando información relevante que ayude a fomentar el
emprendimiento.
5
Causas y consecuencias del problema
CAUSAS CONSECUENCIAS
Poco conocimiento acerca de la
Pérdida de información muy útil que
obtención de información relevante a
brinde apoyo en la toma de decisiones.
través de datos públicos.
6
Delimitación del problema
OBJETIVOS
OBJETIVO GENERAL
9
OBJETIVOS ESPECÍFICOS
10
Las delimitaciones del proyecto serán las siguientes:
JUSTIFICACIÓN E IMPORTANCIA
Según (GEM Ecuador, 2014, pág. 23) afirma que: “Ecuador es considerado
uno de los países más emprendedores de América Latina, pero la falta de la
11
calidad en los emprendimientos, poca retroalimentación de parte de los
emprendedores y las estrategias no adecuadas dan como resultado que los
negocios no sean viables y rentables, aspecto que genera un reto para el país
lo cual conlleva a buscar correctas estrategias que produzcan un
emprendimiento de alta calidad”.
En la investigación desarrollada por (Cabrera & Reyes, 2017, pág. 12) nos da
un indicio del uso de herramientas y diferentes usos de la información
generada en redes sociales:
“Muchas de las PYMES en Guayaquil, no cuentan, desconocen o se niegan a
la utilización de herramientas que les permitan conocer los gustos y
preferencias de los usuarios, mucha de esa importante información es
expresada mediante las redes sociales”.
Las redes sociales son medios valiosos de comunicación, en las que se genera
información de diferente índole, como información personal, gustos,
pensamientos y sentimientos de sus usuarios, etc. Esto genera un amplio
bagaje de información que puede ser utilizada para realizar diferentes
estudios.
Además, los resultados permitirán visualizar cuales son las tendencias que
tienen una correlación con los tweets emitidos que poseen una valoración
positiva. Generando para los emprendedores que utilicen el código fuente,
información que aporte valor al momento de la toma de decisiones en los
emprendimientos, en vías de minimizar el riesgo o fracaso al iniciar un
negocio, sea este pequeño o mediano.
Además, reconocer las oportunidades que el mercado ofrece puede ser muy
complejo si se desea hacer sin el uso de la tecnología. Pero con la realización
13
de este proyecto esa barrera que tienen los emprendimientos y ventaja que
poseen las grandes empresas se ve reducida, otorgando una igualdad de
competencia a todos los que deseen formar parte del sector comercial de la
ciudad de Guayaquil.
1. Metodología de desarrollo
14
2. Supuestos y restricciones
Supuestos
Dentro de los supuestos están todos los factores que proporcionarán que
el proyecto se logre concretar en las fechas y plazos establecidos.
La programación del código se realizó en el lenguaje Python, en la
plataforma Jupyter Notebook.
Uso de las librerías: pandas, numpy, matplotlib.
Utilización de archivos en formato csv.
Uso de algoritmos que en base al aprendizaje permitan detectar
patrones comerciales y ayudar en la toma decisiones.
El resultado que proporcionarán estos algoritmos en la plataforma
Jupyter Notebook están orientados a mejor la toma de decisiones al
momento de emprender en el sector comercial.
Restricciones
15
3. Plan de calidad (Pruebas a realizar)
16
CAPÍTULO II
MARCO TEÓRICO
17
Uno de los servicios utilizados para comunicarse por Internet es micro blog,
siendo uno de sus propulsores Twitter, el cual permite a sus usuarios enviar
texto plano de corta longitud, con un máximo de 280 caracteres, con el tema
que el estime. Las temáticas pueden ir desde conversaciones, noticias,
retweets o spam, propagandas, avisos, advertencias y otros más. Esta suerte
de publicación y seguidor es lo que se denomina hoy en día una comunidad,
en donde existen intercambios de opiniones respecto al tema en cuestión
(Alfaro Arancibia, 2016).
De hecho, (Asensio, 2015, pág. 10) indica: “En muchos campos, el estudio de
redes sociales como herramientas de obtención de datos, ha supuesto un gran
avance. Twitter ha abierto nuevas oportunidades de investigación y de
negocio. Uno de los temas más interesantes es el análisis de sentimiento y de
opinión, donde se obtienen si los textos de los tweets contienen un sentimiento
positivo, neutro o negativo”.
18
La red social Twitter además de permitir la publicación de contenido y la
comunicación entre sus usuarios, genera grandes cantidades de datos que
pocos emprendedores o dueños de negocios saben utilizar para beneficio de
su emprendimiento o negocio. Por lo tanto se considera que la red social
Twitter ha abierto nuevas oportunidades de investigación y de negocio. Y con
negocio hacemos hincapié en la utilidad de sus datos públicos como ayuda en
la toma de decisiones, en base a los datos comerciales generados por los
usuarios y existencia de audiencia para un determinado producto o servicio,
en el presente caso para la ciudad de Guayaquil.
Para (Acosta & Cruz, 2017, pág. 33), hace referencia a las oportunidades de
negocio, en su investigación de los factores de éxito para emprendimientos:
“Una de las fuentes de desarrollo humano es aprovechar las oportunidades.
En este contexto, oportunidad de negocio es el conjunto de circunstancias
propicias asociadas a una idea de negocio que contenga un mercado provisor
y posea clientes. Por ende la función principal de un emprendedor es detectar,
reconocer y generar oportunidades y ejecutarlas”.
FUNDAMENTACIÓN TEÓRICA
21
Gráfico N. 2 Audiencia de redes en Ecuador.
Twitter es una aplicación web gratuita de microblogging que reúne las ventajas
de un blog, redes sociales y la mensajería instantánea. Es una forma de
comunicación que permite al usuario estar en contacto en tiempo real con
personas de su interés a través de mensajes, publicaciones de tipo textos y
contenido, de no más de 280 caracteres los cuales se denominan tweets. Su
funcionamiento es similar a cualquier otra red social, en Twitter los usuarios
envían y reciben tweets vía web, smartphone, mensajería instantánea o a
22
través de correo electrónico e incluso desde aplicaciones de terceros
(Fernández, 2018).
Términos de Twitter
Las API’s provistas por Twitter permite extraer diversos datos de cada
publicación, a continuación se hace una pequeña descripción de los datos que
se extraen de cada tweet.
23
¿When? (¿Cuándo?): Fecha y hora de la publicación.
¿Where? (¿Dónde?): Esta información no aparece en todas las
publicaciones, es opcional. Dado a que la red social Twitter tiene opciones de
privacidad, cada usuario decide si desea mostrar su ubicación o no. En caso
de mostrar la ubicación podemos obtener las coordenadas geográficas desde
dónde se ha publicado el tweet.
API Twitter
24
Twitter ofrece tres APIs: Streaming API, REST API y SEARCH API cada una
aplicable a diferentes necesidades (Twitter developer documentation, 2018).
25
Los campos de seguimiento, seguimiento y ubicaciones deben considerarse
como combinados con un operador OR. track = foo & follow = 1234 devuelve
tweets que coinciden con "foo" o creado por el usuario 1234 (Twitter I. , 2019).
Debido a que el presente proyecto hace uso de cuadros de ubicación con
coordenadas de la ciudad de Guayaquil, no se procederá a usar el campo track
para especificar una o varias palabras de búsqueda, evitando obtener
redundancia en la búsqueda de tweets y porque la documentación Oficial del
API de Twitter lo recomienda.
26
Cuadro N. 3 Opciones para transmitir tweets en tiempo real.
Número de Operadores
API Categoría Gestión de reglas
filtros de filtrado
Una regla de filtro en
400 palabras
una conexión
clave, 5,000
Operadores permitida,
Statuses/filter Estándar usuarios y 25
estándar desconexión
cajas de
requerida para
ubicación.
ajustar la regla.
Hasta Miles de reglas en
250,000 una sola conexión,
filtros por no se necesita
Operadores
PowerTrack Empresa flujo, hasta desconexión para
premium
2,048 agregar / eliminar
caracteres reglas usando las
cada uno. API de reglas.
Elaboración: Jiménez Cárdenas Edinson Andrés.
Fuente: (Developer, 2019).
27
Los parámetros que se pueden utilizar en la solicitud estados / filtro son:
Datos geolocalizados
Según (Asensio, 2015, pág. 20), se dispone de tres maneras diferentes para
clasificar los tweets geográficamente, denotando la siguiente clasificación:
1. Lugar del mensaje: tweets que están marcados con la localización
exacta. Puede ser la localización exacta o el ‘Twitter Place’.
Localización exacta con coordenadas latitud/longitud: Por ejemplo: -
85.7629, 38.2267. El Twitter Place es un metadato que marca un lugar,
Por ejemplo: “Louisville Central”, y cuatro pares de coordenadas
latitud/longitud para definir el área indicada.
2. Lugar del perfil: Uno de los datos que puede indicar el usuario es la
localidad donde vive, esta aparece en su perfil de manera pública.
28
3. Localización mencionada en el mensaje: Mención de un lugar en el
texto del tweet. Por ejemplo: “La lluvia en Sevilla es una maravilla”.
Dada su exactitud, obtener los tweets del primer caso será prioritario, sin
embargo sólo un 2% de los tweets publicados globalmente poseen este dato.
Dado estos sucesos la extracción de datos se basará en la función de caja
delimitadora, la cual solo extrae tweets que sean emitidos entre las
coordenadas indicadas y concuerden con la etiqueta ‘Twitter Place’. Se
descarta rotundamente almacenar datos sobre la localización mencionada en
el texto, pues no es un indicador específico de que el usuario escribe desde
ese lugar.
Localizaciones
Una lista de pares de longitud y latitud separados por comas que especifican
un conjunto de cuadros delimitadores para filtrar los tweets. Sólo se incluirán
los tweets geolocalizados que se encuentren dentro de las casillas de
delimitación solicitadas; a diferencia de la API de búsqueda, el campo de
ubicación del usuario no se utiliza para filtrar los tweets.
29
Cuadro N. 5 Ejemplo de caja delimitadora
-122.75,36.8, -121.75,37.8, -
San Francisco O Nueva York
74,40, -73,41
Las cajas delimitadoras no actúan como filtros para otros parámetros de filtro.
Por ejemplo, (track=Twitter & locations = -122.75, 36.8, -121.75, 37.8). Esto
coincidiría con cualquier Tweet que contenga el término Twitter (incluso
Tweets no geográficos) O que provengan del área de San Francisco.
Según la documentación oficial de Twitter (Twitter developer documentation,
2018), la API de transmisión utiliza la siguiente heurística para determinar si
un Tweet determinado se encuentra dentro de una caja delimitadora:
30
Formato de salida JSON
Según la página oficial de JSON (JSON, s.f.), su formato está constituido por
dos estructuras:
Una colección de pares de nombre/valor. En varios lenguajes esto es
conocido como un objeto, registro, estructura, diccionario, tabla hash,
lista de claves o un arreglo asociativo.
Una lista ordenada de valores. En la mayoría de los lenguajes, esto se
implementa como arreglos, vectores, listas o secuencias.
Nota: En el gráfico se puede observar una pequeña parte del archivo JSON, el cual es más extenso y completo si
se utiliza la librería Tweepy.
Elaboración: Jiménez Cárdenas Edinson Andrés.
Fuente: Jiménez Cárdenas Edinson Andrés.
31
Desde la versión 1.1 del API de Twitter, se requiere autentificación OAuth si
se desea realizar una aplicación propia.
Se debe recalcar que este campo está muy avanzado en el idioma inglés, en
el cual existe una amplia variedad de librerías disponibles para su rápida
aplicación a los datos, en el idioma español, las funciones de las librerías de
32
NLP son reducidas y en algunos casos solo están disponible para el idioma
inglés.
Análisis de sentimientos
33
en su totalidad. Todo esto puede suceder dentro de una sola oración (Pérez,
2019).
34
Los enfoques automáticos: están basados en técnicas de aprendizaje
automático y enmarcan la tarea como un problema de clasificación que
debe resolverse mediante redes neuronales, regresión logística u otros
modelos estadísticos.
Sistemas híbridos: combinan elementos de ambos enfoques.
35
La realización del presente trabajo aborda la extracción de tweets
geolocalizados y técnicas que permitan extraer tweets sobre temas de interés
para los emprendedores de la ciudad de Guayaquil, que les brinde apoyo en
la toma de decisiones e información en relación a la existencia de una
audiencia o mercado para un determinado producto o servicio.
36
estadísticas o algoritmos de búsqueda próximos a la Inteligencia Artificial y a
las redes neuronales”.
Dado a que el mayor volumen de datos que circula en internet se genera en
las redes sociales, es fundamental para los emprendedores prestar atención a
los medios sociales donde se interrelacionan y comparten contenido la mayor
parte del mundo, sobre todo un medio social que sea muy utilizado en su
localidad, porque es ahí donde se puede encontrar datos no estructurados que
al ser procesados se conviertan en una valiosa fuente de información.
En la investigación realizada por (Molina, 2016) se afirma que existen cuatro
tipos de tareas que normalmente se involucran en la minería de datos:
Clasificación: la tarea de generalizar una estructura familiar para
utilizarla en los nuevos datos.
Agrupamiento: la tarea de encontrar grupos y estructuras en los datos
que son de alguna manera u otra lo mismo, sin necesidad de utilizar las
estructuras observadas en los datos.
Aprendizaje de reglas de asociación: busca relaciones entre las
variables.
Regresión: su objetivo es encontrar una función que modele los datos
con el menor error.
37
Extracción de datos
Entre las acciones a seguir nos encontramos con realizar peticiones a los
servidores de la red social Twitter por medio de su API, extraer datos que
cumplan con las coordenadas de una caja delimitadora que contiene la
ubicación de la ciudad de Guayaquil y el modelo de “Bolsa de palabras”, que
permite extraer los tweets que contengan palabras relacionadas al ámbito
comercial, para posteriormente clasificarlos por distintos sectores e industrias.
Todo esto en vías de dotar de información a los emprendedores de esta
ciudad.
38
Inteligencia artificial (IA)
39
Los datos generados por los usuarios en internet mediante sus interacciones
y comportamiento, pueden convertirse en una fuente de información, si se
analizan sus quejas, sentimientos, preferencias. Con la finalidad de crear
servicios personalizados o tomar decisiones empresariales, mismas que están
basados en datos obtenidos mediante el uso de IA (Costa, 2015).
Con las herramientas y recursos tecnológicos disponibles, y cada vez más
asequible para aplicar la inteligencia artificial y la ciencia de datos a las
decisiones empresariales, se pretende ayudar a los emprendedores, en la gran
tarea de identificar qué sectores e industrias son las que poseen mayor
interactividad y gran connotación positiva en los comentarios, el cual
demuestre un índice de estabilidad, basado en el análisis de tweets
pertenecientes a un sector e industria, lo cual será posible gracias a diferentes
algoritmos de aprendizaje automático (Machine Learning).
40
Los algoritmos de aprendizaje automático se dividen en:
Algoritmos supervisados: Se utilizan cuando se posee un dataset que
contiene información histórica relacionada con el tema a predecir o
clasificar, esto permite al algoritmo aprender en la fase de
entrenamiento con datos de entrada y salida conocidos, y luego obtener
mejores resultados en la fase de pruebas, dado a que ya tuvo
interactividad con datos similares y así predecir salidas futuras.
Algoritmos no supervisados: Se diferencia de los algoritmos
supervisados en que no se cuenta con información histórica, esto lleva
a que el algoritmo descubra de forma autónoma en los datos de
entrada: características, correlaciones, categorías, patrones ocultos o
estructuras intrínsecas. Por lo tanto requiere menos tiempo de
entrenamiento.
Dentro del aprendizaje automático existen varios algoritmos que sirven para
cubrir diferentes tipos de aplicaciones, las cuales se verán aclaradas en el
gráfico N. 4.
41
Gráfico N. 4 Técnicas de aprendizaje automático.
Nota: En el gráfico podemos observar cómo se descompone el aprendizaje automático, hasta llegar a sus
diferentes algoritmos.
Elaboración: Jiménez Cárdenas Edinson Andrés.
Fuente: (MathWorks I. , 2018).
42
disponibles para el aprendizaje, lo que se denomina forma o estrategia
adaptativa (Sas, 2019).
Aprendizaje supervisado
43
Se basan en la teoría probabilística, en especial en el teorema de Bayes, el
cual permite estimar la probabilidad de un suceso a partir de la probabilidad
de que ocurra otro suceso, del cual depende el primero. Este algoritmo estima
la probabilidad de que un documento pertenezca a una categoría.
𝑛
𝑎𝑟𝑔 max
𝐶𝑁𝐵 = 𝑃(𝐶𝑖 ) ∏ 𝑃(∱𝑘 | 𝐶𝑖 )
𝑖
𝑘=1
44
El objetivo del algoritmo de máquina de vectores de soporte es encontrar un
hiperplano en un espacio N-dimensional (N - el número de características) que
clasifica claramente los puntos de datos.
45
Redes neuronales artificiales
Las redes neuronales artificiales (RNA) han constituido en los últimos tiempos
un foco de investigación importante y con una actividad intensa, siendo un
paradigma de aprendizaje computacional muy extendido en la resolución de
problemas de diversas áreas de la Ingeniería y la Ciencia. Debido a sus
excelentes capacidades de ajuste, las RNA se aplican de manera exitosa en
distintos ámbitos científicos, sociales y tecnológicos: manufacturación,
biología, finanzas, previsión del tiempo, análisis de tendencias y patrones, etc.
Sin embargo, existen algunas propiedades importantes de los datos que deben
tener en cuenta cuando se desea aplicar algunos de estos algoritmos para
predicción, y que influyen notablemente en la capacidad de generalización del
modelo. Dos propiedades importantes son la calidad de los datos de
entrenamiento y su complejidad. La complejidad de un conjunto de datos se
puede cuantificar de muchas maneras, fundamentalmente dará una idea del
grado de facilidad con el que un conjunto de datos puede ser aprendido y, en
caso de las RNA, de la arquitectura y topología de la misma (González & et al,
2015).
46
Gráfico N. 6 Red neuronal artificial multicapa.
Patrones de consumo
47
Aprendizaje no supervisado
Clustering
48
Existen dos tipos de clustering o agrupamiento:
Agrupamiento de partición dura.
Agrupamiento de partición suave.
49
Para el presente proyecto, se creará un listado de palabras sin repeticiones,
para generar un conjunto de datos. A partir de este conjunto se extraen las
características para la etapa de clasificación del tweet en alguna categoría
determinada y se filtra para retener sólo los términos etiquetados.
Open Source
El término open source o código abierto se refiere a algo que las personas
pueden modificar y compartir porque su diseño es de acceso público.
El término se originó en el contexto del desarrollo de software para designar
un enfoque específico para crear programas de computadora. Sin embargo,
hoy en día, "código abierto" designa un conjunto más amplio de valores, lo que
se denomina " la forma de código abierto”. Los proyectos, productos o
iniciativas de código abierto abarcan y celebran los principios de intercambio
abierto, participación colaborativa, creación rápida de prototipos,
transparencia, meritocracia y desarrollo orientado a la comunidad (Villaverde
E. , 2019).
Firebase Realtime
Python
53
Cuadro N. 6 Librerías de Python con sus funcionalidades
LIBRERÍA FUNCIONALIDAD
Tweepy Permite acceder a la API de Twitter
desde Python.
Biblioteca de visualización de datos
de Python basada
Seaborn en matplotlib. Proporciona una
interfaz de alto nivel para dibujar
gráficos estadísticos atractivos e
informativos.
Conjunto de bibliotecas de
procesamiento de texto para
clasificación, tokenización,
NLTK derivación, etiquetado, análisis y
razonamiento semántico, envoltorios
para bibliotecas NLP de potencia
industrial.
Librería destinada a la representación
Matplotlib
gráfica a partir de una serie de datos.
Librería destinada al análisis de datos,
lo que nos proporcionará una visión
de la información recopilada
Pandas estructurada según lo que le pidamos.
Ofrece distintas estructuras, desde
series, dataframes, panel, panel4d y
panelIND.
Elaboración: Jiménez Cárdenas Edinson Andrés.
Fuente: (PyData, 2018).
54
Librería NumPy
Dentro del presente proyecto la librería NumPy juega un rol muy importante en
el almacenamiento de datos que corresponden a valores numéricos o a los
cuales se les ha aplicado una función, como en el caso de funciones de
limpieza de datos, que permiten eliminar cuentas de usuarios, URLs, espacios
en blanco, etc. (Unipython, 2017).
De esta forma NumPy permite almacenar estos datos en un arreglo sin
perderlos. Un uso bastante eficiente en la codificación de proyectos de ciencia
de datos.
Twython
Tweepy
56
Librería Pandas
DataFrame
57
Visualización de información para la ayuda a la toma de decisiones
58
FUNDAMENTACIÓN LEGAL
TITULO I
CAPITULO I
PRECEPTOS GENERALES
fonogramas.
cual se citará:
Sección II
Art. 8. La protección del derecho de autor recae sobre todas las obras del
60
b) Colecciones de obras, tales como antologías o compilaciones y bases de
historietas gráficas, tebeos, comics, así como sus ensayos o bocetos y las
ingeniería;
fotografía;
j) Obras de arte aplicada, aunque su valor artístico no pueda ser disociado del
k) Programas de ordenador; y,
61
l) Adaptaciones, traducciones, arreglos, revisiones, actualizaciones y
de una obra, realizadas con expresa autorización de los autores de las obras
Sección III
Art. 11. Únicamente la persona natural puede ser autor. Las personas jurídicas
Libro.
Art. 12. Se presume autor o titular de una obra, salvo prueba en contrario, a la
persona cuyo nombre, seudónimo, iniciales, sigla o cualquier otro signo que lo
62
Constitución De La República Del Ecuador
Sección primera
Educación
Constitución.
63
Art. 386. El sistema comprenderá programas, políticas, recursos, acciones, e
Pública).
64
que realicen las autoridades, públicas competentes, sobre violaciones a
Art. 2.- Se entiende por Software Libre, a los programas de computación que
65
Definiciones conceptuales
Algoritmo: se define como una secuencia de pasos con una etapa inicial y
con una etapa final que da como resultado una ejecución de tareas, cada paso
se expresa de forma específica (Pamies, 2017).
Tendencia: Inclinación o disposición natural que una persona tiene hacia una
cosa determinada. En un sentido general, es un patrón de comportamiento de
los elementos de un entorno particular durante un período (Consuegra, 2014).
Trending topic (hastags #): Es una de las palabras o frases más repetidas
en un momento concreto en Twitter. Los diez más relevantes se muestran en
la página de inicio, pudiendo el usuario escoger el ámbito geográfico que
prefiera, mundial o localizado, o personalizadas, en función además de a quién
sigue el propio usuario (García V. , 2018, pág. 4).
68
CAPÍTULO III
PROPUESTA TECNOLÓGICA
69
Es de alta probabilidad que los emprendedores o dueños de negocios no usen
estas herramientas porque desconocen el valor de la información que se
puede obtener mediante el uso de la herramienta Jupyter Notebook, la cual
aportaría una ventaja competitiva con el uso de la tecnología en la toma de
decisiones, generando confianza gracias al análisis de datos reales.
• Análisis de factibilidad
70
- Factibilidad operacional
Hardware Características
72
Cuadro N. 8 Software utilizado en el desarrollo
Software Versión
Anaconda Navigator 1.9.7
Jupyter Notebook 5.7.8
Python 3.7.3
NLTK 3.4.4
Firebase Admin Python SDK 2.17.0
Elaboración: Jiménez Cárdenas Edinson Andrés.
Fuente: Datos de la investigación.
- Factibilidad Legal
73
- Factibilidad Económica
El proyecto propuesto es sin fines de lucros y está enfocado en servir de apoyo
en la toma de decisiones de personas que desean emprender o ya poseen un
negocio, por lo que las herramientas utilizadas para su desarrollo son de
Software libre y no tienen costo alguno.
El periodo de tiempo comprendido para el presente proyecto es de tres meses,
desde el 10 de junio hasta el 30 de agosto.
Cuadro N. 9 Presupuesto y financiamiento
Metodología de investigación
Procesamiento y análisis
75
de presentar un proyecto que sea útil. Para este proyecto se empleó la
encuesta como herramienta para recolectar datos para ver qué tan alto es el
uso de Twitter y también para determinar si las personas están interesadas en
un proyecto que presente información útil en el apoyo de toma de decisiones
de algún tipo de emprendimiento.
Recolección de información
Para la recolección de información en el presente proyecto se utilizó la
plataforma Google Forms, esta es una herramienta online gratuita que nos
permite crear formularios de preguntas y posteriormente enviarla a las
personas que van a ser encuestadas, estas encuestas pueden ser
compartidas por diferentes medios.
Herramientas de análisis
Para el análisis de los datos se dio uso del software estadístico IBM® SPSS
Statistics, el cual proporciona distintas técnicas, incluyendo el análisis ad-hoc,
pruebas de hipótesis e informes, facilitando la gestión de datos, seleccionar y
realizar análisis y compartir los resultados. Combinado con la exportación de
las respuestas registradas en las encuestas creadas en Google Forms .Se
obtiene un análisis eficiente de los datos obtenidos en las encuestas.
76
Población y muestra
Según el Instituto Nacional de Estadísticas y Censos (INEC), en Ecuador hay
17,2 millones de habitantes, de ellos 13,8 millones están conectados a Internet
y 12 millones son usuarios de redes sociales.
Con base en el estado digital de Ecuador emitido en febrero del 2019 por
Formación Gerencial, se conoce que la red social Twitter tiene 4 millones de
perfiles registrados en Ecuador, de los cuales solo 800.000 constan como
cuentas activas. Además, gracias a Formación Gerencial se conoce que la red
social más utilizada en Ecuador es Facebook, con un total del 23% de usuarios
en Ecuador registrados en la ciudad de Guayaquil (Del Alcazar, 2019).
𝑃𝑥𝑄𝑥𝑁
𝑛=
(𝑁 − 1)E 2 / k 2 + P × Q
77
Cuadro N. 10 Población y muestra de la encuesta N. 1.
Variable Descripción Valor
Probabilidad de éxito. Este dato es
P generalmente desconocido y se 0.5
suele suponer que p=q=0.5
Probabilidad de fracaso. Este dato es
Q generalmente desconocido y se 0.5
suele suponer que p=q=0.5
N Tamaño de la población 184000
E Error de estimación 0.05
Constante depende del nivel de
K 2%
confianza que asignemos
Elaboración: Jiménez Cárdenas Edinson Andrés.
Fuente: Datos de la investigación.
46000
𝑛=
(183999))𝑥(0.0025)/ 4 + 0.25
46000
𝑛=
115.25
𝑛 = 399,13 𝒏 = 𝟑𝟗𝟗
78
Para la encuesta N. 2 se usará la primicia de (Flores, 2018) que 1 de cada 3
ecuatorianos, es emprendedor. Para obtener el tamaño de la población de
dueños de negocios y emprendedores con una cuenta activa en la red social
Twitter. De un total de 184.000 se tomará el 33.33%, obteniendo un total de
61.327 usuarios; no es una cifra corroborada debido a que no existe un estudio
que indique el número exacto.
Reemplazando valores obtenemos el tamaño de la muestra para la segunda
encuesta:
15331.75
𝑛=
(61326))𝑥(0.0025)/ 4 + 0.25
15331.75
𝑛=
38.58
𝑛 = 397,41 𝒏 = 𝟑𝟗𝟕
79
Luego de haber aplicado la fórmula y proceder a los cálculos para obtener la
muestra para la segunda encuesta se obtuvo como resultado un total de 397
habitantes para esta encuesta. Se logró encuestar en su totalidad a usuarios
de la red social Twitter que están emprendiendo o son dueño de negocios en
la ciudad de Guayaquil.
Encuesta N. 1
Esta encuesta está dirigida para los usuarios de Twitter para identificar qué tan
a menudo utilizan esta red social, frecuencia de emisión de tweets, corroborar
si emiten tweets con valor comercial y útil en el apoyo en la toma de decisiones,
y consultar si estarían de acuerdo de que sus tweets públicos sean analizados.
Para esta encuesta se seleccionaron 399 personas, correspondiente al
tamaño de la muestra para la encuesta N. 1.
Pregunta 1:
80
Gráfico N. 8 Pregunta 1. ¿Posee cuenta en la red social Twitter?
Pregunta 2:
81
Gráfico N. 9 Pregunta 2. ¿Con qué frecuencia emite tweets en su cuenta de Twitter?
Pregunta 3:
82
Gráfico N. 10 Pregunta 3. ¿Se considera un usuario activo en la Red Social Twitter?
Pregunta 4:
4. ¿Cree que actualmente puede expresar libremente su opinión
sobre cualquier tema en la red social Twitter?
83
Gráfico N. 11 Pregunta 4. ¿Cree que actualmente puede expresar libremente su
opinión sobre cualquier tema en la red social Twitter?
Pregunta 5:
84
Gráfico N. 12 Pregunta 5. ¿Alguna vez ha expresado en la red social Twitter la
necesidad o deseo sobre un bien o servicio?
Análisis: según los datos analizados podemos observar que el 60.65% de los
individuos encuestados si ha expresado la necesidad o deseo sobre un bien o
un servicio, mientras que el 29.32% no lo han hecho, y el 10.03% tal vez creen
que han expresado la necesidad o deseo sobre un bien o un servicio en sus
tweets emitidos.
Pregunta 6:
85
Gráfico N. 13 Pregunta 6. ¿Con qué frecuencia ha expresado su necesidad o deseo
sobre un bien o servicio en la red social Twitter?
Análisis: según los datos analizados podemos ver que el 36.34% de los
encuestados a veces han expresado su necesidad o deseo sobre un bien o un
servicio, para el 17.29% casi nunca se han expresado, para el 14.54% casi
siempre se han expresado, el 19.05% nunca expresan en este medio la
necesidad de un bien o un servicio, mientras que el 12.78% siempre ha
manifestado su deseo sobre un bien o un servicio en la red social Twitter. Para
interés del proyecto se procede a sumar los valores de siempre, casi siempre
y a veces, el cual nos da un total del 63.66% de frecuencia de emisión de
necesidad o deseo sobre un producto o servicio, se deja en claro que no es un
valor recurrente.
Pregunta 7:
86
Gráfico N. 14 Pregunta 7. ¿Cuándo usted adquiere, consume o utiliza algún bien,
producto o servicio lo ha publicado en la red social Twitter?
Análisis: con estos resultados podemos apreciar que gran parte de las
personas encuestadas que han consumido o utilizan un producto o servicio lo
han publicado en la red social, con un total de 25.31% para la opción casi
siempre, mientras que un 27.32% a veces lo ha publicado, para el 12.78%
siempre han emitido un tweets respecto al producto o servicio que han
adquirido, mientras que un 24.56% deja en claro que nunca han emitido un
tweets de esta índole y un 10.03% casi nunca lo hacen.
Pregunta 8:
87
Gráfico N. 15 Pregunta 8. ¿Con qué frecuencia ha expresado usted su opinión sobre
un producto o servicio en la red social Twitter?
Pregunta 9:
88
Gráfico N. 16 Pregunta 9. ¿Sabía usted que sus publicaciones en la red social Twitter
pueden ayudar en la toma de decisiones a nivel empresarial y de emprendimiento?
Pregunta 10:
89
Gráfico N. 17 Pregunta 10. ¿Está usted de acuerdo que sus tweets públicos (con
características específicas) sean analizados para brindar apoyo en la toma de
decisiones en los emprendimientos de la ciudad de Guayaquil?
Encuesta N. 2
Esta encuesta está dirigida a las personas que van a utilizar el notebook en la
ciudad de Guayaquil para conocer su opinión sobre este proyecto, dedicado al
análisis de los tweets generando información que brinde apoyo en la toma de
decisiones al momento de emprender o redireccionar un negocio ya
establecido, para esta encuesta se tomó el valor total de la muestra calculada
para la encuesta N. 2 con un total de 397 personas encuestadas.
90
Pregunta 1:
1. Seleccione su situación actual:
Pregunta 2:
2. Ubique el sector de su negocio o emprendimiento en la siguiente
lista:
91
Gráfico N. 19 Pregunta 2. Ubique el sector de su negocio o emprendimiento en la
siguiente lista.
Análisis: con estos resultados podemos observar que 26.70% de las personas
encuestadas se dedican al comercio siendo la cifra más alta de los
encuestados seguido de la industria alimenticia que tiene un 19,90% y del
sector tecnológico con un 19,90% mientras que 2.77% es para el sector
agrícola, un 3.27% es para la industria de la construcción y el 2.77% es para
la educación y el 19.40% es para la industria de manufactura y al final tenemos
5.29% para el sector salud. Podemos ver que los negocios con mayor auge en
la ciudad de Guayaquil son los relacionados con el comercio, la alimentación
y la tecnología, siendo mayor las personas que se dedican al sector comercial.
Pregunta 3:
3. ¿Sabía usted que Ecuador se posiciona como líder en la región en
el índice de actividad emprendedora temprana?
92
Gráfico N. 20 Pregunta 3. ¿Sabía usted que Ecuador se posiciona como líder en la
región en el índice de actividad emprendedora temprana?
Pregunta 4:
4. ¿En su emprendimiento, utiliza las redes sociales para
promocionar su servicio o producto y mantener contacto con sus
clientes?
93
Gráfico N. 21 Pregunta 4. ¿En su emprendimiento, utiliza las redes sociales para
promocionar su servicio o producto y mantener contacto con sus clientes?
Análisis: según los datos analizados podemos ver que el 97.23% de las
personas encuestas que realizan algún emprendimiento utilizan las redes
sociales para promocionar sus servicio o producto mientras que el 2.77% no
utilizan las redes sociales para promocionar sus negocios siendo esto una
desventaja para aumentar su número de clientes e ingresos de dinero porque
según ARCONEL la ciudad de Guayaquil ha aumento en el uso de las
telecomunicaciones y las redes sociales.
Pregunta 5:
5. ¿En su emprendimiento o negocio establecido, hace uso de la red
social Twitter?
94
Gráfico N. 22 Pregunta 5. ¿En su emprendimiento o negocio establecido, hace uso de
la red social Twitter?
Pregunta 6:
6. En caso de usar Twitter, indique la frecuencia con la que usted lee
comentarios de sus clientes.
95
Gráfico N. 23 Pregunta 6. En caso de usar Twitter, indique la frecuencia con la que
usted lee comentarios de sus clientes.
Pregunta 7:
7. Considera usted que el tiempo que emplea para leer las opiniones
en Twitter de sus potenciales clientes es suficiente para
determinar gustos y necesidades.
96
Gráfico N. 24 Pregunta 7. Considera usted que el tiempo que emplea para leer las
opiniones en Twitter de sus potenciales clientes es suficiente para determinar gustos y
necesidades.
Pregunta 8:
8. ¿Si existiera una plataforma web que mediante su uso le permita
visualizar que sectores/industrias tienen mayor actividad con los
usuarios de la red social Twitter, usted la usaría?
97
Gráfico N. 25 Pregunta 8. ¿Si existiera una plataforma web que mediante su uso le
permita visualizar que sectores/industrias tienen mayor actividad con los usuarios de
la red social Twitter, usted la usaría?
Pregunta 9:
9. Si existe una plataforma web que mediante su uso le permita
visualizar información que brinde apoyo en la toma decisiones al
momento de emprender, ¿estaría dispuesto a usarla y con qué
frecuencia?
98
Gráfico N. 26 Pregunta 9. Si existe una plataforma web que mediante su uso le
permita visualizar información que brinde apoyo en la toma decisiones al momento
de emprender, ¿estaría dispuesto a usarla y con qué frecuencia?
Pregunta 10:
10. ¿Qué tipo de información cree usted que es determinante para el
apoyo en la toma de decisiones al momento de emprender?
99
Gráfico N. 27 Pregunta 10. ¿Qué tipo de información cree usted que es determinante
para el apoyo en la toma de decisiones al momento de emprender?
100
Metodología de desarrollo
Metodología CRISP-DM
CRISP-DM (Cross Industry Standard Process for Data Mining), es un modelo
de proceso de minería de datos que describe una manera en la que los
expertos en esta materia abordan el problema (Galán, 2015, pág. 21). Para
implementar una tecnología en un negocio se requiere una metodología. Estos
métodos suelen venir de experiencias propias y también de los procedimientos
estándar más conocidos. En el caso de los proyectos que hacen uso de
técnicas de minería de datos una de las metodologías que ha tenido más
apoyo de las empresas privadas y organismos públicos es la metodología
CRISP-DM.
101
Según (Galán, 2015) esta metodología incluye un modelo y una guía,
estructurada en seis fases, algunas bidireccionales, indicando que de una fase
en concreto se puede volver a una fase anterior para poder revisarla, por lo
que la sucesión de fases no tiene porqué ser ordenada desde la primera hasta
la última. En el gráfico N. 28, se visualiza las fases en las que está dividida
CRISP-DM y las secuencia a seguir.
102
Gráfico N. 29 Fases de la metodología CRISP-DM
Determinar Seleccionar
Recolectar los Seleccionar los Evaluar los
Objetivos del Técnica de
Datos datos resultados
negocio Modelado
Determinar los
Exploración de Evaluar el
objetivos de la
los Datos Modelo
minería
Construcción e
Integración de
Realizar el Verificar la los datos
plan del calidad de los
proyecto datos
103
Comprensión de los datos.
En esta fase se efectúa una selección de los datos más relevantes para la
creación de los dataset (conjunto de datos) a partir de los datos recopilados al
inicio, a partir de los cuales se deberá realizar tareas de limpieza y
transformación de tablas, registros y atributos para tener información de
calidad y poder adaptarla a las técnicas de minería de datos que se utilizaran
posteriormente, entre las que destaca la visualización de datos, búsqueda de
patrones, etc.
Modelado
Evaluación
Implantación o despliegue.
A continuación se detallan cada una de las tareas de las que consta esta
primera fase en el proceso de la minería de datos, su finalidad es determinar
los objetivos y requisitos del proyecto desde una perspectiva de negocio, para
más adelante poder convertirlos en objetivos desde el punto de vista técnico y
en un plan de proyecto.
107
Entre las ventajas que determinaron el uso de la red social Twitter para el
presente proyecto, es que la mayoría de sus cuentas son públicas, esto
permite extraer una gran y diversa cantidad de datos para analizar.
Para poder extraer tweets de la red social Twitter se debe registrar una cuenta
Twitter de uso común en su sección de desarrollador, lo cual permite a la
empresa Twitter asegurarse quién es usted y que va a realizar con la
aplicación. Véase el anexo 5, en el manual de usuario se detalla este
procedimiento.
Una vez concluido este proceso se tiene habilitado el acceso a las diferentes
API’s de Twitter, en nuestro caso específico al API Streaming.
108
Gráfico N. 30 Llaves y token’s escritos en el notebook para acceder al API.
Librería Twython
109
Gráfico N. 31 Objeto Json obtenido de Twython de aproximadamente 129 lineas.
110
Gráfico N. 32 Tweets extraídos mediante el uso de Twython.
Tweepy devuelve un objeto json como respuesta mucho más amplio que el
empleado por librería Twython, el cual se puede visualizar una pequeña parte
en el gráfico N. 33 en el recuadro rojo, presentando una estructura mucho más
extensa y detallada, permitiendo dar solución a la problemática de la
extracción incompleta de tweets, proporcionando un atributo denominado
extended_tweet que almacena la versión completa del tweet en caso de que
este exceda los 140 caracteres.
111
Gráfico N. 33 Objeto Json obtenido de Tweepy consta aproximadamente de 606
líneas
Exploración de datos
112
bits como el existente en id_str para almacenarlo como identificador es
seguro.
created_at: Hora UTC cuando se creó este tweet.
location: cuando está presente, indica que el tweet está asociado a
un lugar (pero no necesariamente donde fue emitido).
text: El texto real UTF-8 de la actualización de estado.
full_text: almacena todos los caracteres del tweet con un máximo de
280, debido a que si es retweet se trunca en 140 caracteres en el campo
text.
in_reply_to_status_id: Si el Tweet representado es una respuesta,
este campo contendrá la representación entera del ID de autor del tweet
original. Esto no siempre será necesariamente el usuario mencionado
directamente en el tweet. Este campo no se almacena, solo se usa para
validación del tipo de tweet.
is_quote_status: Indica si se trata de un tweet citado.
113
Gráfico N. 34 Visualización de archivo CSV que almacena los tweets.
Los flujos de información extraídos son de datos públicos que fluyen a través
de Twitter. Una vez que se establece una conexión a un punto final de
transmisión, el API Streaming entrega un feed de Tweets, sin tener que
preocuparse por los límites de las tasas como en el API REST. De acuerdo a
la documentación oficial de la red social, los usuarios que realizan excesivos
intentos de conexión o solicitud (sean estas exitosas o no) corren el riesgo de
que su aplicación sea bloqueada automáticamente.
114
español, y obtener la valoración emocional de los usuarios a un producto o
servicio.
115
que se emite en su plataforma. Cada tweet almacenado cuenta con cinco
campos específicos, los cuales serán detallados a continuación:
date: fecha de emisión del tweet.
location: ciudad desde la cual fue emitido el tweet.
tweetID: identificador único para cada tweet emitido en Twitter,
consta de 19 dígitos.
tweetText: tweet recuperado en su versión completa.
typeTweet: campo que mediante validaciones determina si es
tweet, retweet o respuesta.
116
Conociendo todos estos por menores, se deja en claro que la captura final de
los tweets públicos emitidos en la red social Twitter con geolocalización en la
ciudad de Guayaquil, fue realizada por el lapso de cuatro meses, desde inicios
del mes de mayo a finales del mes de agosto; permitiendo obtener un total de
65.000 tweets. Los cuales servirán para la parte de validación, en la cual se
realiza una búsqueda específica de un producto o servicio por parte del usuario
final del notebook. Obteniendo como resultado la polaridad expresada (positiva
o negativa) mediante tweets.
117
considerado ampliamente en proyectos que involucren análisis de
sentimientos y clasificación de documentos en español.
El corpus del TASS descargado cuenta con más 70,000 documentos (textos
cortos, comentarios o tweets), de los cuales 7,219 tienen el propósito de
entrenar al sistema y se encuentra previamente clasificados en base a su
sentimiento, los más de 62,798 restantes para probar la exactitud del algoritmo
de clasificación de sentimientos (Librado, 2017, pág. 62).
118
no ser tan efectivo, otorgando un accuracy del 59%, que para fines del
presente proyecto no se considera un valor óptimo.
Debido a que los términos expuestos en la licencia de uso del dataset TASS
no se ajustan a los fines del proyecto, en la cual se menciona que el
Licenciante (SEPLN) otorga al usuario final el derecho de usar el Conjunto de
datos, para su propio uso interno y no comercial y solo con fines de
investigación científica. En conjunto con los resultados obtenidos en las
pruebas de clasificación de sentimientos, se procede a descartar el uso de
este dataset.
120
Formateo de los datos
Para llevar a cabo este proceso se emplearon diferentes funciones y el uso del
módulo Re en el lenguaje Python, permitiendo aplicar varias técnicas de data
cleaning (limpieza de datos) a partir de un corpus de conocimiento. A
continuación se mencionan los diferentes procesos de limpieza aplicados en
este proyecto:
Extraer hashtags
Remover los saltos de líneas
Eliminar tildes
Remover URL’s
Remover usuarios
Remover números
Remover caracteres especiales
Eliminación de letras repetidas
121
Según (Conde, 2018), la clave en estos desarrollos, donde el algoritmo a
aplicar esta probado en su potencia y capacidad, está en la previa, el llamado
pre-procesamiento de datos que “limpia” el input que se va analizar y se
aclaran las decisiones aplicadas sobre el set de datos.
Twitter se ha convertido en una fuente que alberga una gran cantidad de datos
de forma distribuida, por ello, proporciona un amplio abanico de posibilidades
para realizar investigaciones en campos de PLN como sentiment analysis.
Sentiment analysis o opinion mining, es un área de investigación dentro de
PLN cuyo objetivo es identificar la emoción o polaridad subyacente en un
determinado documento, frase o aspecto; empleando algoritmos de machine
learning (González J. , Aprendizaje profundo para el procesamiento del
lenguaje natural, 2017, pág. 53).
122
Análisis de sentimientos
123
En la fase de train o entrenamiento el sistema aprende de los tweets
que le enviamos, los cuales son positivos o negativos.
A partir de aquí, con ajustes al dataset y algoritmo, conseguimos lo que
se denomina modelo que probaremos con otro conjunto de validación
de tweets.
Una vez se ha llegado mediante iteraciones al sistema idóneo, se puede
utilizar nuestro modelo óptimo (nunca perfecto) para poder enviar los
futuros tweets y analizar su sentimiento, lo que denominamos
predicciones.
Estos análisis serán almacenados en archivos CSV para poder extraer
conclusiones.
Adicionalmente los nuevos tweets clasificados y revisados se podrán
añadir al dataset de train (entrenamiento) para mejorar nuestro modelo
basado en inteligencia artificial.
Por obvias razones en primera instancia del proyecto se optó por utilizar
librerías de traducción de idiomas, para traducir los tweets al idioma ingles y
proceder a asignarle un valor relacionado a su polaridad. Pero debido al alto
consumo de tiempo para realizar este procedimiento se procedió a
reestructurar este proceso del proyecto. Para el presente proyecto que
involucra un análisis de sentimiento orientado al ámbito comercial, se procede
a la creación de un corpus desde cero (véase en la Fase III de la metodología).
124
El objetivo del análisis de datos realizado en este proyecto es determinar el
sentimiento positivo o negativo de tweets referente a un producto o servicio
ingresado por el usuario final, por lo tanto se seleccionó el algoritmo de
clasificación bayesiano Bernoulli porque se enfoca en procesos de
clasificación, partiendo de un dataset supervisado para entrenar el modelo y
de esta forma predecir comportamientos de nuevos datos, ajustándose a los
objetivos propuestos en esta investigación (Sarmiento & Silva, Repositorio
Institucional Universidad Distrital , 2017).
126
Gráfico N. 40 Parte del código del algoritmo de clasificación
Se empieza por tener una capa de neuronas de entrada donde alimenta sus
vectores de características y los valores fluyen hacia una capa oculta. En cada
conexión, está alimentando el valor hacia adelante, mientras que el valor se
multiplica por un peso y se agrega un sesgo al valor. Esto sucede en cada
conexión y al final llega a una capa de salida con uno o más nodos de salida
(Código fuente, 2018).
127
Gráfico N. 41 Entrenamiento de la red neuronal
Fase V. Evaluación
128
Gráfico N. 42 Nivel de predicción del algoritmo de clasificación.
Revisión e integración
129
interés que el sistema requiere para realizar una búsqueda específica de un
producto o servicio de interés para el usuario final.
La investigación realizada en el presente trabajo, permitió identificar la
necesidad de construir 4 notebooks con las características descritas en el
cuadro N. 12.
130
En lo referente a la identificación de patrones comerciales, el presente
proyecto se centra en la búsqueda de patrones de consumo, detectados en
los tweets. Se seleccionaron dos procesos a nivel organizacional que permiten
determinar la opinión de un producto o servicio en Twitter, los cuales a su vez
son soportados por los notebooks creados, los cuales se encargan de
presentar la opinión emitida referente al producto o servicio, y categorizar los
tweets por sectores/industrias, basándose en el contexto de los mismos y
patrones de consumo.
El proyecto está divido en tres notebooks principales que hacen uso de los
datos de la red social Twitter, el cuarto es el notebook de creación del modelo
de clasificación de sentimiento en español.
131
Gráfico N. 43 Arquitectura notebook extracción de tweets.
132
Gráfico N. 44 Arquitectura notebook de búsqueda de producto o servicio.
133
Gráfico N. 45 Arquitectura notebook de clasificación por sectores e industrias.
Presentación de resultados
134
Gráfico N. 46 Ciencia de datos en la toma de decisiones
135
Gráfico N. 47 Flujo de actividades módulo de clasificación de tweets por su polaridad
136
Gráfico N. 48 Búsqueda en el dataset de validación
139
Tabla de índice del notebook N. 4:
1. Cargar las bibliotecas necesarias
2. Red neuronal
3. Cargar datos de Firebase
4. Data cleaning (limpieza de los datos)
5. Aplicación de red neuronal para clasificar tweets por sectores
6. Importar el modelo para clasificación de sentimientos
7. Comparar el sentimiento entre los diferentes sectores
8. Visualizar sentimiento a lo largo del tiempo por las sectores
9. Almacenar información en archivo pdf
Permitiendo a los usuarios una visualización rápida respecto a qué sector tiene
mayor cantidad de actividad en la presente red social. Estableciendo un punto
inicial en la toma de decisiones en caso de emprender en un sector específico,
140
corroborando que en base a un análisis de 65.000 opiniones procesadas,
cierta cantidad hizo hincapié de consumo en un producto o servicio de un
determinado sector e industria.
Gráfico N. 52 Gráfico de barras por sectores
141
Gráfico N. 53 Visualización de polaridad en tweets
El grafico N. 54, se genera para tener una vista en línea de tiempo que
presenta el índice de interactividad de usuarios que detonaron el gusto o la
compra de un producto en un sector. Permitiendo a los emprendedores
obtener información respecto al alza y baja en el índice de actividad que
genera cada sector e industria. Denotando picos de actividad de consumo
útiles en la toma de decisiones, que aportan a los emprendedores información
a mediano plazo para seleccionar una industria o sector en la cual exista un
índice de actividad continuo en base al tiempo. Y no sectores que generan
índices de consumo solo por temporadas. Lo cual podría generarles perdidas
si emprenden justo en el momento en que ha terminado una alta tasa de
actividad de consumo y les espera un periodo de recesión, en caso de existir,
hasta una nueva temporada en que se generan estos índices de actividad. A
los dueños de negocios les permite en caso de visualizar un alto índice de
consumo en su industria dotarse de mercadería para abastecer una demanda
en caso de existir. Toda esta información es en base al análisis del lenguaje
142
natural, y debe ser validada por una investigación propia de cada usuario con
base a números que terminen corroborando si la predicción realizada en base
a este proyecto es símil a los ingresos que genera cada industria o sector.
143
Gráfico N. 55 Índice de interacción de tweets con un sector en línea de tiempo
Para finalizar el flujo del presente notebook, toda la información generada será
archivada en un archivo en formato PDF para posterior consulta del usuario
final. Dotándole de información basada en el análisis de opiniones registradas
en la red social Twitter. Para su corroboración del presente proyecto se
presenta el grafico N. 56.
144
Gráfico N. 56 Lectura de archivo PDF generado
Se detallan los siguientes entregables del proyecto que son los siguientes:
Manual de usuario: Es un documento fundamental que contiene la
información para el conocimiento de los módulos y el funcionamiento
de la aplicación web, ver Anexo 5.
Manual técnico: Este documento es la guía para usuarios con
conocimientos especializados sobre el desarrollo del presente proyecto.
Dentro del documento se detalla el procedimiento de instalación de la
plataforma Jupyter Notebook. Creación de la base de datos no
relacional Firebase Realtime. Conceptos técnicos para comprender el
código fuente y el flujo de trabajo realizado. Para mayor detalle se
adjunta el manual en el Anexo 6.
Notebooks del proyecto (Código fuente)
Corpus de entrenamiento con tweets en español categorizados por
sentimiento.
Archivo Json para importación de base de datos.
Archivo .m para uso del algoritmo de clasificación de sentimiento.
145
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA
146
La valoración en promedio otorgada por los profesionales se muestra en el siguiente
cuadro:
Procesamiento y análisis
Para una interpretación más detallada se dividió los criterios de validación en:
Criterios generales
Valoración promediada emitida por los expertos para los criterios generales.
147
Gráfico N. 57 Promedio de criterio general
90,74583333
88
ITEM 1,2,3,4,5
93
91,2375
0 20 40 60 80 100
Análisis: Según los datos de las entrevistas, los expertos determinaron que el
presente proyecto cumple en un 91% con los criterios generales establecidos. Siendo
esta una cifra aceptable para un proyecto de titulación.
Entre los puntos en que más hicieron énfasis los expertos fue en el tiempo de
procesamiento, esto se debe a la cantidad de tweets procesados en el presente
proyecto, cuya cantidad es de 65.000 en un periodo comprendido desde inicios de
mayo y finales del mes de agosto, lo cual hace que le tome entre 9 a 12 minutos al
algoritmo de clasificación de sentimientos determinar la polaridad de todos los tweets.
Una cifra de tiempo aceptable dada la magnitud del dataset. En el resto de campos
el proyecto no obtuvo observaciones, fue aprobado en su totalidad.
Valoración promediada emitida por los expertos para los criterios de validación de
notebooks.
148
Gráfico N. 58 Promedio de criterio por notebooks
93,93333333
93
ITEM 1,2,3,4,5
93
95,8
0 20 40 60 80 100
Análisis: Según los datos de las entrevistas, el promedio de los expertos determina
que el proyecto cumple un 93% en que los notebooks realizan el objetivo general y
especifico del presente proyecto.
Entre los puntos en que más hicieron énfasis los expertos fue en la creación y
entrenamiento del algoritmo, según su punto de vista la propuesta de creación de un
algoritmo de clasificación de sentimientos en español es muy buena, pero sería mejor
llegar al umbral de 5000 tweets en el dataset de entrenamiento, actualmente el
dataset posee 3000 tweets de entrenamiento, logrando un accuracy de 78%. Bajo el
criterio de los expertos esta cifra es aceptable y viable para un proyecto de esta índole.
En el resto de campos de criterios por notebooks el proyecto no obtuvo indicaciones
y fue aprobado en su totalidad.
149
CAPÍTULO IV
Mediante criterios de evaluación cerrados donde “Si” nos indica que han
aprobado el criterio y “No” que han rechazado el criterio planteado. Analizando
estos resultados, los cuales indican que el proyecto obtiene un porcentaje de
aprobación del 90%, dando un resultado de que cumple con los criterios de
evaluación planteados
151
A continuación, en el cuadro N. 16 se detalla el porcentaje de aceptación para
cada pregunta de la encuesta con los criterios de aceptación y satisfacción
emitidos.
Cuadro N. 16 Criterios de aceptación
ÍTEM CRITERIOS SI NO
1 ¿Los datos extraídos pertenecen a la ciudad de Guayaquil? 100% 0%
¿Aceptaría usar estos notebooks para obtener información
2 que le permita conocer el grado de actividad y aceptación de 100% 0%
un producto o servicio?
¿Los notebooks le son útil para obtener información pública
3 acerca de los comentarios emitidos respecto a un producto o 90% 10%
servicio?
¿Le resulta ventajoso ver los análisis de sentimientos de los
4 70% 30%
distintos sectores e industrias para una toma de decisiones?
¿La plataforma de ciencia de datos utilizada le pareció de
5 80% 20%
fácil uso?
¿Considera provechoso que este proyecto le permita conocer
en qué sector e industria están interactuando los usuarios con
6 su respectiva línea de tiempo, visualizando alza y baja en los 90% 10%
índices de interactividad, y así poder sacar sus propias
conclusiones que le permitan tomar decisiones?
¿La visualización de los gráficos generados en los análisis
7 realizados le pareció de fácil comprensión luego de la 80% 20%
explicación realizada por el presente autor?
¿La información obtenida se guarda correctamente en el
8 100% 0%
archivo PDF?
¿Considera usted que la información generada le permite
9 100% 0%
tomar mejores decisiones de negocios o al emprender?
Elaboración: Jiménez Cárdenas Edinson Andrés.
Fuente: Datos de la investigación.
152
Mediante la demostración del proyecto a usuarios, se logra determinar que los
notebooks cumplen con los objetivos propuestos en este proyecto,
adicionalmente los emprendedores manifestaron que el uso de algoritmos de
aprendizaje automático para el análisis de datos les pareció un campo
fascinante.
Los gráficos en línea de tiempo les permitió observar que días hay una mayor
emisión de comentarios respecto al consumo por sectores e industrias y qué
polaridades se encontraron en estos tweets, que reflejaban el sentimiento de
cada usuario en gráficos de barra o tipo pastel. Permitiendo visualizar el nivel
de satisfacción o rechazo.
La búsqueda de producto o servicio en el conjunto de datos les permitió
determinar el nivel de aceptación o rechazo existente, en base al análisis de
tweets que contienen en su sintaxis el nombre del servicio o producto
ingresado previamente en la búsqueda por teclado, permitiendo obtener un
análisis rápido si un producto es popular o no, todo esto depende de la
existencia del mismo en el conjunto de datos extraídos.
153
Informe de aceptación y aprobación para productos de SOFTWARE /
HARDWARE
La validación del producto por parte del experto N. 1 El Ing. José Sánchez. El
presente experto realizó la comprobación del correcto funcionamiento de los
notebooks, y se realizó la debida calificación mediante el uso de porcentajes,
representados en el cuadro N. 17.
5 Excelente 100%
1 Insuficiente 25% - 0
154
Los resultados del experto N. 2. El Ing. Luis Mora Camacho. Realizó la
comprobación del correcto funcionamiento de los notebooks, y se realizó la
debida calificación mediante el uso de porcentajes, representados en el cuadro
N. 19. Del cual se obtuvieron los siguientes resultados.
155
Mediante los resultados obtenidos en la validación del producto por parte de
los expertos, se procede a concluir que el presente proyecto cumple con los
objetivos y alcances propuestos al inicio del proyecto. La constancia de la
validación de los expertos puede verse en el anexo 3.
156
Una vez realiza la demostración en vivo del correcto funcionamiento del
algoritmo de clasificación de sentimientos y la red neuronal artificial para la
clasificación por tweets por sectores e industrias, el proyecto valida el
almacenamiento tweets con un lapso de un mes, respetando el periodo de
almacenamiento establecido en los acuerdos de uso de sus APIs. Al iniciar un
nuevo mes no se podrá obtener acceso a los datos almacenados en el mes
anterior debido a que habrán sido eliminados.
De este modo se logra el uso adecuado de la información extraída mediante
el API Streaming.
157
Conclusiones
Se extrajeron datos públicos de la red social Twitter, haciendo uso del API
Streaming, la cual brinda acceso a los datos en tiempo real y mediante el uso
de cajas delimitadoras que permiten incorporar coordenadas, se logró extraer
y conformar un dataset de 65.000 tweets para la prueba de los algoritmos
creados en el presente proyecto. La extracción de tweets se realizó desde
inicios del mes de mayo a finales del mes de agosto, logrando una extracción
de datos de cuatro meses.
158
y en las pruebas de validación otorga unas predicciones correctas en 8 de
cada 10 tweets. Por lo tanto se considera correcto el uso del modelo de
clasificación bayesiano para los presentes fines.
159
Recomendaciones
Se recomienda migrar este proyecto a un servicio web, que haga uso del
código fuente escrito en este trabajo de titulación, con el objetivo de dotar al
usuario final de una mejor experiencia debido a que si no se lee el manual de
usuario se requiere la guía de un usuario con conocimiento técnico en el
campo de la ciencia de datos.
160
Bibliografía
http://repositorio.ug.edu.ec/bitstream/redug/20713/1/trabajo%20de%20titulaci%C3%
B3n%20%28tesis%29.pdf
introdução-simples-ao-pandas-1e15eea37fa1
8500/UCD8528_01.pdf
https://recyt.fecyt.es/index.php/EPI/article/viewFile/epi.2017.sep.18/36488
València: https://riunet.upv.es/bitstream/handle/10251/56102/ASENSIO%20-
%20Apliaci%C3%B3n%20de%20t%C3%A9cnicas%20de%20miner%C3%ADa%20
de%20datos%20en%20redes%20sociales.pdf
tecnológicas/la-extracción-de-datos/
161
AWS. (2019). Amazon Web Services. Obtenido de Amazon Web Services:
https://aws.amazon.com/es/comprehend/
https://bbvaopen4u.com/es/actualidad/herramientas-basicas-para-los-desarrolladores-
en-python
Bertuzzi, L., & Suarez, D. (2016). RIDAA UNICEN . Obtenido de RIDAA UNICEN :
http://www.ridaa.unicen.edu.ar/xmlui/bitstream/handle/123456789/643/Tesis%20de
%20grado%20Bertuzzi-Suarez.pdf?sequence=1&isAllowed=y
https://upcommons.upc.edu/bitstream/handle/2117/82434/113257.pdf?sequence=1&i
sAllowed=y
http://repositorio.ug.edu.ec/bitstream/redug/19514/1/UG-FCMF-B-CISC-PTG-
1253.pdf
http://www.diegocalvo.es/modelo-crisp-drm-data-mining/
adquisicion de clientes
https://medium.com/@margalida.kaskante/empezando-con-firebase-realtime-
database-authentication-a5c54b3b67d6
162
Chamorro, V. (09 de 2018). UNIVERSIDAD COMPLUTENSE DE MADRID. Obtenido de
https://eprints.ucm.es/49774/1/TFM%20Veronica%20Chamorro%20Alvarado.pdf
https://www.codigofuente.org/clasificacion-texto-python/
https://www.analiticasports.com/analisis-de-sentimientos-para-entender-el-humor-
social-en-el-mundial/
https://www.analiticaweb.es/analisis-de-sectores-mediante-tendencias/
de Madrid: https://www.ucm.es/data/cont/media/www/pag-
73273/TesisDoctoral_CarlosCosta-2015.pdf
https://firebase.google.com/docs/database/?hl=es-419
anos-la-ia-seguira-contribuyendo-al-crecimiento-economico/
http://materias.fi.uba.ar/7500/Dubiau.pdf
2019-03-27-Guía%20de%20actuación%20def%202019%20WEB.pdf
https://guayaquil.gob.ec/Paginas/negocios-guayaquil.aspx
163
Galán, V. (2015). Aplicación de la Metodología CRISP-DM a un Proyecto de Minería de Datos
Obtenido de https://e-
archivo.uc3m.es/bitstream/handle/10016/22198/PFC_Victor_Galan_Cortina.pdf
https://www.economiasimple.net/glosario/oportunidad-de-negocio
I:http://repositori.uji.es/xmlui/bitstream/handle/10234/180348/Memoria%20TFM%2
0VictorGarciaPerez%20.pdf?sequence=1&isAllowed=y
sw.es.html
http://scielo.senescyt.gob.ec/scielo.php?script=sci_arttext&pid=S1390-
65422018000100067
http://dspace.tdea.edu.co/bitstream/tda/435/1/DIAGNOSTICO%20DEL%20ESTAD
O%20DE%20LA%20CUESTION%20DEL%20ETIQUETADO%20LINGUISTICO.
http://oa.upm.es/48921/1/TFG_DANIELA_GONZALEZ_HERRERA.pdf
164
González, J. (2017). Obtenido de
https://pdfs.semanticscholar.org/37d4/dd4a6535bef307325164891f16bcdd293721.pd
https://riunet.upv.es/handle/10251/86279
https://firebase.google.com/docs/database/web/structure-data?hl=es-419
http://repositorio.unasam.edu.pe/handle/UNASAM/2017
https://www.ibm.com/support/knowledgecenter/es/SS3RA7_sub/modeler_mainhelp_
client_ddita/clementine/svm_howwork.html
IIC. (2019). Instituto de Ingeniería del Conocimiento. Obtenido de Instituto de Ingeniería del
Conocimiento: http://www.iic.uam.es/soluciones/inteligencia-de-
cliente/procesamiento-lenguaje-natural/
https://www.ingeniovirtual.com/tipos-de-graficos-y-diagramas-para-la-visualizacion-
de-datos/
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/jupyter-notebook/
https://medium.com/@LatamServices/emprendedores-1012df96857f
https://www.gelbukh.com/thesis/Hugo%20Librado%20Jacobo%20-%20MSc.pdf
lenguaje-natural-nlp/
https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6
https://www.marketingdirecto.com/diccionario-marketing-publicidad-comunicacion-
nuevas-tecnologias/audiencia-2
https://rdu.unc.edu.ar/bitstream/handle/11086/3751/Becerra%202016_analisis-de-
sentimiento.pdf?sequence=1
https://la.mathworks.com/discovery/support-vector-machine.html
https://la.mathworks.com/discovery/machine-learning.html
https://journal.universidadean.edu.co/index.php/Revistao/article/view/1440
analysis-library
https://www.researchgate.net/publication/281979580_Que_se_escribe_respecto_al_
marxismo_en_redes_sociales_Analisis_de_patrones_de_texto_a_traves_de_Twitter_
por_medio_de_Data_Mining
source
https://www.hpe.com/lamerica/es/what-is/artificial-intelligence.html
https://rua.ua.es/dspace/bitstream/10045/69432/1/Prediccion_de_la_probabilidad_de
_exito_en_la_adqui_PAMIES_CARTAGENA_BENJAMIN.pdf
Nacional: https://bibdigital.epn.edu.ec/bitstream/15000/8992/3/CD-6006.pdf
https://www.customertrigger.com/analizar-emociones-plus-las-areas-marketing/
167
Recalde, S. (04 de 2018). Universidad Central del Ecuador. Obtenido de Universidad Central
del Ecuador.
Reyes, G., & Crespo, C. (2018). Algoritmos de agrupación difusos. Innovative Space of
Journals
http://opac.pucv.cl/pucv_txt/txt-8000/UCC8097_01.pdf
Rivera, M., & Villavicencio, J. (12 de 2017). Pontificia Universidad Católica de Valparaíso.
http://opac.pucv.cl/pucv_txt/txt-8000/UCC8097_01.pdf
https://rosanarosas.com/analisis-sentimiento-redes-sociales/
Rouse, M. (04 de 2017). Search data center. Obtenido de Search data center:
https://searchdatacenter.techtarget.com/es/definicion/Inteligencia-artificial-o-AI
https://searchdatacenter.techtarget.com/es/definicion/Aprendizaje-automatico-
machine-learning
https://www.analiticaweb.es/algoritmo-knn-modelado-datos/
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/81435/6/jsobrinosTFM0618
memoria.pdf
168
San Martín Duchen, D. (2017). Proceso y aplicación Web para la gestión de librerías de datos
computación: http://www.cs.us.es/~fsancho/?e=77
Sarmiento, E., & Silva, D. (2017). Repositorio Institucional de la Universidad Francisco José
Caldas.
Sarmiento, E., & Silva, D. (2017). Repositorio Institucional Universidad Distrital . Obtenido
http://repository.udistrital.edu.co/bitstream/11349/5911/1/TesisAnalisisDeFlujosDeIn
formacionDeLaRedSocialTwitter.pdf
learning.html
https://es.sawakinome.com/articles/business/unassigned-85.html
de València: https://riunet.upv.es/bitstream/handle/10251/55471/SELVA%20-
%20Desarrollo%20de%20un%20sistema%20de%20análisis%20de%20sentimiento%
20sobre%20Twitter.pdf?sequence=1
http://www.sepln.org/workshops/tass/tass_data/download.php
https://www.sinnexus.com/business_intelligence/datamining.aspx
169
Speroni, R. (03 de 2017). Universidad de la República - Uruguay. Obtenido de Universidad de
la República - Uruguay:
https://www.fing.edu.uy/inco/grupos/pln/prygrado/Informe_Speroni_Steglich.pdf
http://gs.statcounter.com/os-market-share/mobile/ecuador
https://www.ecuavisa.com/articulo/televistazo/noticias/114266-guayaquil-cuna-
negocios
http://www.fgcsic.es/lychnos/es_ES/articulos/inteligencia_artificial
https://alicia.concytec.gob.pe/vufind/Record/UCVV_269957dacb9f56e75847b961f2
40b78c/Description
Torres, J. (2018). Deep learning: Introducción práctica con Keras. Barcelona: WATCH THIS
SPACE.
inteligencia-artificial-keras/
https://help.twitter.com/es/rules-and-policies/twitter-api
documentation: https://dev.twitter.com/docs
170
Twitter, I. (2019). Developer. Obtenido de Developer:
https://developer.twitter.com/en/docs/tweets/filter-realtime/overview
algebra/
https://luisvilanova.es/twitter-y-inteligencia-artificial/
la Información: http://www.grupolys.org/biblioteca/Vil2014a.pdf
https://www.vizagestion.com/2018/01/03/que-es-open-source/
https://www.engagebs.com/2018/01/03/que-es-open-source/
https://medium.com/@juanzambrano/aprendizaje-supervisado-o-no-supervisado-
39ccf1fd6e7b
171
ANEXO 1. CRONOGRAMA DE ACTIVIDADES
Cronograma de actividades
Actividad Fecha de inicio Fecha de fin #de días
13/06/2019 30/08/2019 79
Capítulo I El Problema 13/06/2019 24/06/2019 12
Establecer la limitación del problema 13/06/2019 17/06/2019 5
Plantear y definir precisamente el
18/06/2019 24/06/2019 7
problema
Capítulo II Marco teórico 25/06/2019 16/07/2019 22
Definir las herramientas con las que se van
25/06/2019 29/06/2019 5
a trabajar para optimizar el proyecto
Investigar los antecedentes del caso para
30/06/2019 04/07/2019 5
establecer un punto de partida
Considerar los distintos proyectos guías
05/07/2019 12/07/2019 8
que se puedan asemejar el proyecto
Sintetizar la información obtenida con
13/07/2019 16/07/2019 4
respecto a la investigación bibliográfica
Capítulo III Propuesta tecnológica 17/07/2019 20/08/2019 35
Establecer los parámetros y realizar un
17/07/2019 19/07/2019 3
análisis de factibilidad del proyecto
Establecer los parámetros y definir qué tan
20/07/2019 21/07/2019 2
factible operacionalmente es el proyecto
Consultar la factibilidad legal que cuenta el
22/07/2019 24/07/2019 3
proyecto
Establecer la metodología del proyecto 25/07/2019 26/07/2019 2
Establecer algoritmo de clasificación
27/07/2019 28/07/2019 2
binaria para el análisis de sentimientos.
Desarrollar el notebook búsqueda de
29/07/2019 04/08/2019 7
productos o servicios.
Establecer algoritmo de clasificación de
sectores/industrias por patrones de 05/08/2019 07/08/2019 3
consumo
Realizar las pruebas a los algoritmos. Y
comparar el resultado con las pruebas que 08/08/2018 10/08/2018 3
esperadas
Desarrollar el notebook de clasificación de
11/08/2019 20/08/2019 10
sectores/industrias.
Capítulo IV Resultado 21/08/2019 30/08/2019 10
Presentar los resultados del proyecto 21/08/2019 24/08/2019 4
Presentar manual de usuario 25/08/2019 26/08/2019 2
Establecer las conclusiones del proyecto 27/08/2019 30/08/2019 4
172
ANEXO 2. ENCUESTAS
ENCUESTA N.1
173
174
175
ENCUESTA N.2
176
177
178
ANEXO 3. CRITERIOS DE VALIDACIÓN DE LA PROPUESTA
179
180
181
182
183
184
ANEXO 4. CRITERIOS DE ACEPTACIÓN DEL PRODUCTO
185
ANEXO 5. MANUAL DE USUARIO
UNIVERSIDAD DE GUAYAQUIL
MANUAL DE USUARIO
AUTOR:
Edinson Andrés Jiménez Cárdenas
TUTOR:
Ing. Jorge Avilés Monroy, M.Sc.
GUAYAQUIL – ECUADOR
2019
Introducción
El propósito del manual de usuario es explicar e informar al usuario las
diferentes actividades que se realizan dentro de los notebooks desarrollados
en el presente proyecto.
Objetivos
Detallar los notebooks del presente proyecto.
Conocer las funciones que permite realizar cada notebook.
Guía para los usuarios finales para su manejo dentro de la plataforma
Jupyter.
El primer paso para poder extraer tweets de la red social Twitter es registrar
una cuenta Twitter de uso común en su sección de desarrollador, lo cual
permite a la empresa Twitter asegurarse quién es usted y que va a realizar con
la aplicación.
2
2. Una vez registrados en la plataforma, se nos da la bienvenida y se
procede a crear un proyecto. Al intentar crear un proyecto por
primera vez, le informaran que solicite una cuenta desarrollador
para poder hacer uso de las API’s de Twitter. Todo esto en vías
de seguir cumpliendo con la responsabilidad con sus usuarios y
proporcionar un lugar que respalde la salud y seguridad de la
conversación en Twitter. Evitando así el mal uso de su plataforma,
además han introducido algunos requisitos nuevos para los
desarrolladores.
3
correctamente le otorgaran acceso a la plataforma de
desarrollador.
4
Gráfico N. 4 Llaves y token’s otorgados por Twitter para acceder a sus API’s.
5
Una vez que se poseen las credenciales para dar uso al API Streaming y se
ha seguido el manual técnico que explica como instalar el paquete de
anaconda 3, que trae instalado Jupyter y también su propia versión de python.
Se procede a la explicación de uso de cada notebook.
Notebook 1: Downloading_tweets
Este notebook permite la extracción de tweets emitidos en la ciudad de
Guayaquil y posteriormente realiza el almacenamiento de estos datos en
Firebase Realtime.
A continuación se visualiza el inicio del notebook cuando se procede a abrirlo
en Jupyter.
6
Por eso cada paquete instalado en el presente proyecto está escrito en el
bloque de código de cada notebook, para que el usuario final no tenga que
lidiar con la visualización de errores por parte de librerías no encontradas.
Una vez instaladas las librerías y dependencias, el entorno de trabajo está listo
para ejecutar los siguientes bloques de código
En caso de que el usuario final desee modificar el proceso de extracción, en
este bloque debe hacer uso de las credenciales y token’s obtenidos por Twitter
para usar sus API’s.
7
Gráfico N. 7 Incorporación de key’s y token’s
8
Gráfico N. 9 Coordenadas geográficas
Notebook 2: Analisis_sentimientos
Una vez extraído una cantidad considerable de tweets, se procede a hacer uso
de los notebooks de análisis de datos. Este notebook incorpora el modelo de
análisis de sentimientos en español generado para fines del presente proyecto,
en el inicio del notebook obtenemos la siguiente imagen.
10
Luego de haber ejecutado cada bloque de código, deténgase en el paso 6, el
cual le solicitara que ingrese el nombre de un producto o servicio para su
posterior análisis en base a sus datos extraídos.
Notebook 3: clasificacion_sector
El presente Notebook hace uso de una red neuronal para lograr la clasificación
de tweets por sectores, basándose en patrones comerciales previamente
prescritos por categorías. A continuación se detalla el flujo de trabajo del
notebook
Se importan las librerías que hace uso el código escrito en el notebook. Y se
procede a ejecutar todos los bloques de código que incluye la red neuronal
13
Una vez que se han ejecutado los bloques de código perteneciente a la red
neuronal, el modelo está listo para ser aplicado a los tweets y categorizar solo
a aquellos tweets en los que detecte un patrón de consumo a un producto
perteneciente a un sector e industria. A los tweets que no posean ninguna de
las características antes mencionadas se los cataloga como irrelevantes.
14
Gráfico N. 20 Aplicación de la red neuronal para clasificación
Siguiendo el flujo de trabajo del notebook se procede a hacer uso del modelo
de clasificación de sentimientos creado en el notebook anterior. Permitiendo
agregar una polaridad a cada tweet perteneciente a un sector o industria.
15
Gráfico N. 22 Importación de modelo de clasificación de sentimientos
17
ANEXO 6. MANUAL TÉCNICO
UNIVERSIDAD DE GUAYAQUIL
MANUAL TÉCNICO
AUTOR:
Edinson Andrés Jiménez Cárdenas
TUTOR:
Ing. Jorge Avilés Monroy, M.Sc.
GUAYAQUIL – ECUADOR
2019
Herramientas usadas para el desarrollo del proyecto
Para el desarrollo del proyecto se usan las siguientes herramientas:
Anaconda Distribution
Python
Jupyter Notebook
Firebase
2
Gráfico N. 1 Descargar Anaconda Distribution
3
5. El siguiente paso es delimitar la instalación, aparecerá una ventana en
la cual se debe escoger entre solo para su usuario o para todos los
usuarios. El fabricante recomienda la opción Just Me (Solo su usuario),
a menos que esté instalando para todos los usuarios (lo cual requiere
privilegios de administrador de Windows) y haga clic en Siguiente.
4
Gráfico N. 2 Opción de instalación avanzada
5
Gráfico N. 3 Cuadro de diálogo final de instalación.
6
Gráfico N. 4 Apertura de Anaconda Navigator.
Python
Como se detalló previamente Anaconda incorpora su propia versión de
Python, una vez instalado Anaconda ya se posee una versión de este lenguaje
de programación, la cual usted haya seleccionado, puede ser la versión 2.7 o
3.7. Para el presente proyecto fue utilizada la versión 3.7.
Jupyter Notebook es una aplicación web de código abierto que le permite crear
y compartir documentos que contienen código en vivo, ecuaciones,
visualizaciones y texto narrativo. Los usos incluyen: limpieza y transformación
de datos, simulación numérica, modelado estadístico, visualización de datos y
aprendizaje automático (Jupyter, 2019).
7
Instalación de Jupyter Notebook usando Anaconda
La documentación oficial de Jupyter recomienda la instalación de Python y
Jupyter utilizando la distribución Anaconda, que incluye Python, el Notebook
Jupyter, y otros paquetes de uso común para la computación científica y la
ciencia de datos.
Primero se descarga Anaconda, cuya instalación se ha detallado
previamente. También se recomienda descargar la última versión de
Python 3 de Anaconda.
Segundo, instale la versión de Anaconda que descargó, siguiendo las
instrucciones ya especificadas.
8
Gráfico N. 5 Anaconda Navigator.
9
3. Una vez creado el nuevo entorno, procedemos a utilizarlo;
seleccionando el nombre de nuestro entorno en la opción Applications
on. Posteriormente se debe instalar Jupyter Notebook en este nuevo
entorno dando clic en la opción install, debido a que viene preinstalado
en el entorno virtual root. Y cada vez que se cree un nuevo entorno
virtual se debe instalar en caso de requerir esta aplicación. En el gráfico
N. 7 se visualiza este proceso.
10
Gráfico N. 8 Opción para abrir Jupyter en el navegador.
11
Firebase
12
6. A continuación se procede a dotar de un nombre al árbol principal que
va a albergar todos nuestros registros.
7. A diferencia de una base de datos de SQL, en Firebase no hay tablas
ni registros. Cuando se agrega datos al árbol JSON, estos se convierten
en un nodo de la estructura JSON existente con una clave asociada. A
continuación en el grafico N. 11 se detalla la estructura empleada en el
almacenamiento de los tweets.
13