View
212
Download
0
Category
Preview:
Citation preview
UNIVERSIDAD DISTRITAL “FRANCISCO JOSE DE CALDAS”
TESIS
ESPECIALIZACION EN INGENIERIA DE SOFTWARE
ANÁLISIS DE FLUJOS DE INFORMACIÓN DE LA RED SOCIAL TWITTER
Caso de Estudio: “Impacto de las tendencias en redes sociales para las operaciones del mercado de acciones de la empresa ECOPETROL”
Autores: Ing. Edgar Leonardo Sarmiento Pacanchique Ing. Diego Camilo Silva Téllez
Director: Ing. Sandro Javier Bolaños, PhD
Revisor: Ing. Jorge Mario Calvo, PhD
Bogotá 2017
Resumen
La proliferación de las redes sociales ha generado nuevas fuentes de información con
millones de datos de usuarios de todo el mundo [1], sin embargo estos datos se caracterizan
principalmente por dos aspectos, el primero es que no cuentan con una estructura bien
definida, y el segundo es que al ser opiniones personales de los internautas su nivel de
confiabilidad sin un contexto es bajo [2]. La generación de grandes volúmenes de datos ha
traído consigo el desarrollo de herramientas para el procesamiento de los mismos, con
máquinas cada vez más potentes y la utilización de técnicas de análisis y extracción de
información [3].
Las TIC se han convertido en un área transversal para el desarrollo de cualquier sector debido
a que la implementación de herramientas tecnológicas influye en gran medida para alcanzar
el éxito o fracaso de una organización [4]; por lo tanto, el desaprovechamiento de la
información presente en los flujos de datos de una red social puede impactar el desarrollo de
un determinado sector al no contar con reportes objetivos de tendencias del mercado en
fuentes alternativas de información.
El desarrollo de este proyecto se enfoca en la construcción de un modelo de datos para
realizar clasificación de tweets que permita identificar las tendencias de opinión en la red
social Twitter frente al comportamiento accionario de una marca.
Palabras Clave
Redes sociales, minería de textos, análisis de sentimientos, algoritmos de clasificación,
procesamiento de lenguaje natural, SVM, Twitter, streaming, transformación de datos,
operaciones del mercado, bolsa de valores, tendencias, minería de opinión, conjunto
supervisado, lenguaje R, Python.
Abstract
The proliferation of social networks has generated new data sources with millions of data
from users of worldwide, however these data are mainly characterized by two aspects: the
first is that lack a well-defined structure, and the second is that being the personal opinions
of netizens the level of reliability without a context is low. The generation of large volumes
of data has led to the development of tools for processing them, with increasingly powerful
machines and the use of techniques of analysis and information extraction.
TIC has become a cross-sectional area for the development of any sector because the
implementation of technological tools greatly influences for success or failure of an
organization; therefore the waste of the information in the data streams of a social network
can impact the development of a special sector by not having objective reports of market
trends in alternative sources of information.
The development of this project focuses on the construction of a data model to perform the
classification of tweets that allow to identify the tendencies of opinion in the social red
Twitter against the behavior of the actions of an organization.
Keywords
Social networks, Text mining, Analysis of feelings, classification algorithms, Natural
language processing, SVM, Twitter, streaming, data transformation, market operations,
stock exchange, trends, mining opinion, Supervised set, R language, Python.
7
Agradecimientos
Damos las gracias a nuestros padres, familiares y amigos quienes apoyaron nuestro esfuerzo
en la culminación de este ciclo de formación, su paciencia y aliento han sido la motivación
para llegar a este punto.
También ofrecemos un agradecimiento a la Universidad Distrital Francisco José de Caldas
en cabeza de sus maestros de la especialización y en especial a nuestro director y revisor del
proyecto de investigación, sus enseñanzas y aportes nos han permitido crecer personal y
profesionalmente.
9
Tabla de Contenidos
INTRODUCCIÓN .................................................................................................................. 1 PARTE I. FUNDAMENTACIÓN DE LA INVESTIGACIÓN ............................................. 3
CAPÍTULO 1. DESCRIPCIÓN DE LA INVESTIGACIÓN ................................................ 5 1.1 Planteamiento del problema ........................................................................................ 6
1.2 Justificación ................................................................................................................. 7 1.3 Hipótesis ...................................................................................................................... 8
1.4 Objetivos ...................................................................................................................... 9 1.5 Metodología seguida durante la investigación .......................................................... 10
1.6 Organización del trabajo ............................................................................................ 11 PARTE II. ESTADO DEL ARTE ........................................................................................ 12 CAPÍTULO 2. MARCO REFERENCIAL DEL PROYECTO ............................................ 13
1.1 Marco Teórico ........................................................................................................... 14 1.1.1 Antecedentes del procesamiento de textos ............................................................ 14
1.1.1.1 Historia y estado del arte del Procesamiento de Lenguaje Natural .................... 14 1.1.1.2 Sistemas de información de texto....................................................................... 14 1.1.1.3 Representación de textos .................................................................................... 15
1.1.2 Acceso a datos de texto .......................................................................................... 16 1.1.2.1 Modos de acceso: Pull vs Push .......................................................................... 16
1.1.2.2 Acceso interactivo multimodal........................................................................... 17 1.1.2.3 Modelos de captura de textos ............................................................................. 18 1.1.3 Información estructurada vs no estructurada ......................................................... 19
1.1.3.1 Clasificación de los datos no estructurados........................................................ 19 1.1.3.2 Tratamiento de datos no estructurados ............................................................... 19 1.1.4 Análisis de textos ................................................................................................... 20 1.1.4.1 Aplicaciones de análisis de textos ...................................................................... 20 1.1.4.2 Alcance del análisis de textos............................................................................. 21
1.1.5 Minería de asociación de palabras ......................................................................... 21 1.1.6 Categorización de textos ........................................................................................ 22 1.1.6.1 Características de la categorización de textos .................................................... 22
1.1.6.2 Algoritmos de categorización............................................................................. 22 1.1.7 Minería de opinión/análisis de sentimientos .......................................................... 24
1.1.8 Procesamiento del lenguaje natural ....................................................................... 25 1.1.9 Arquitectura empresarial ........................................................................................ 25 1.1.9.1 Archimate ........................................................................................................... 26
1.2 Marco conceptual ...................................................................................................... 37 1.2.1 Twitter .................................................................................................................... 37 1.2.2 Mercado bursátil .................................................................................................... 37 1.2.3 Ecopetrol S.A ......................................................................................................... 37 1.2.3.1 Streaming ........................................................................................................... 38
1.2.4 Tecnología de la Información y Comunicaciones (TIC) ....................................... 38 1.2.5 Inteligencia Computacional ................................................................................... 39 1.2.6 Lenguaje natural .................................................................................................... 39
1.2.7 Lingüística computacional ..................................................................................... 39 1.2.8 R Data Analysis ..................................................................................................... 40 1.2.9 Paquete caret .......................................................................................................... 40 1.2.10 Tweepy ................................................................................................................... 40
1.2.11 Pymongo ................................................................................................................ 41
PARTE III. DESARROLLO DE LA INVESTIGACIÓN ................................................... 43 Capítulo 3. Desarrollo de la propuesta de investigación ...................................................... 45 3.1 Fase 1: comprensión del negocio .............................................................................. 46
3.1.1 Objetivos del negocio ............................................................................................ 46 3.1.2 Situación actual y alcance ...................................................................................... 47
3.2 Fase 2: comprensión de los datos .............................................................................. 49 3.2.1 Recolección de los datos ........................................................................................ 50
3.2.2 Exploración de datos .............................................................................................. 51 3.3 Fase 3: preparación de los datos ................................................................................ 52
3.3.1 Estructuración de los datos .................................................................................... 52 3.3.2 Formateo de los datos ............................................................................................ 53 3.4 Fase 4: modelado ....................................................................................................... 54
3.4.1 Selección de la técnica de modelado ..................................................................... 54 3.4.2 Construcción del modelo ....................................................................................... 55
3.5 Fase 5: evaluación ..................................................................................................... 55 3.5.1 Evaluación de resultados ....................................................................................... 55
3.5.2 Revisión e integración ........................................................................................... 56 3.5.3 Presentación de resultados ..................................................................................... 59
3.5.3.1 Menú principal ................................................................................................... 60 3.5.3.2 Módulo de Clasificación de sentimientos .......................................................... 60 3.5.3.3 Módulo de Análisis de mercado ......................................................................... 62 PARTE IV. Conclusiones .................................................................................................... 63 Capítulo 4. Conclusiones ...................................................................................................... 65
4.1 Verificación, contraste y evaluación de los objetivos ............................................... 66 4.2 Aportes originales ...................................................................................................... 67 4.3 Líneas de investigación futuras ................................................................................. 68 4.4 Conclusiones .............................................................................................................. 69 BIBLIOGRAFÍA .................................................................................................................. 70
IV
Tabla de Figuras
Figura 1 Comparación entre aplicaciones de profundidad para PLN ................................... 15 Figura 2. Niveles de representación en texto ........................................................................ 15
Figura 3. Modos de acceso a la información de textos ......................................................... 16 Figura 4. Interfaz de búsqueda simple con mapa de tópicos ................................................ 18
Figura 5. Analogía del ser humano como sensor para la percepción de su entorno ............. 21 Figura 6. Tareas en la categorización de textos .................................................................... 22 Figura 7. Representación del algoritmo KNN ...................................................................... 23
Figura 8. Hiperplanos del algoritmo SVM ........................................................................... 23 Figura 9. Perceptrón Multicapa ............................................................................................ 24
Figura 10. Tareas de minería de opinión .............................................................................. 24 Figura 11 Arquitectura de sistema de Procesamiento de Lenguaje Natural ......................... 25
Figura 12. Componentes de la Arquitectura Empresarial .................................................... 26 Figura 13. Conceptos core de Archimate ............................................................................. 27 Figura 14. Framework Archimate ....................................................................................... 28
Figura 15. Metamodelo de Organización ............................................................................. 29 Figura 16. Metamodelo de Cooperación de Actor ............................................................... 29
Figura 17. Metamodelo de Función del Negocio ................................................................. 30 Figura 18. Metamodelo de Proceso de Negocio ................................................................... 30 Figura 19. Metamodelo de Cooperación de Proceso de Negocio......................................... 31
Figura 20. Metamodelo de Producto .................................................................................... 31
Figura 21. Metamodelo de Comportamiento de Aplicación ................................................ 32 Figura 22. Metamodelo de Cooperación de Aplicación ....................................................... 33 Figura 23. Metamodelo de Estructura de Aplicación ........................................................... 33
Figura 24. Metamodelo de Uso de Aplicación ..................................................................... 34 Figura 25. Metamodelo de Infraestructura ........................................................................... 34 Figura 26. Metamodelo de Uso de Infraestructura ............................................................... 35 Figura 27. Metamodelo de Implementación y Despliegue ................................................... 35 Figura 28. Metamodelo de Estructura de la Información ..................................................... 36
Figura 29. Metamodelode Realización del Servicio ............................................................. 36 Figura 30. Punto de vista de Cooperación de Actor ............................................................. 46 Figura 31.Punto de vista de proceso de Negocio ................................................................. 47 Figura 32. Punto de vista de Producto .................................................................................. 47
Figura 33. Punto de vista de Comportamiento de Aplicación .............................................. 48
Figura 34. Punto de vista de Organización e Implementación ............................................. 49 Figura 35. Punto de vista de Infraestructura ......................................................................... 50 Figura 36. Autenticación OAuth con Python-Twitter .......................................................... 51
Figura 37. Punto de vista de Estructura de la Información .................................................. 52 Figura 38. Conjunto de conocimiento supervisado .............................................................. 53 Figura 39. Modelo SVM construido para el caso de estudio................................................ 55 Figura 40. Matriz de confusión del modelo .......................................................................... 56 Figura 41. Cooperación de Aplicación ................................................................................. 57
Figura 42. Punto de vista de Niveles .................................................................................... 57 Figura 43. Punto de vista de Migración e Implementación .................................................. 58 Figura 44. Punto de vista de Stakeholder ............................................................................. 59
Figura 45. Punto de vista de Principios ................................................................................ 59 Figura 46. Presentación de resultados .................................................................................. 60 Figura 47. Flujo de actividades BackOffice módulo de Tendencias en tiempo real ............ 61 Figura 48. Diseño del Grafico de Tendencias ...................................................................... 61
Figura 49. Diseño del Grafico de Relevancia ....................................................................... 62
Índice de Tablas
Tabla 1. Principales atributos del Tweet .............................................................................. 51
Tabla 2. Pre procesamiento de datos .................................................................................... 54 Tabla 3. Componentes y funcionalidad TrendSoft ............................................................... 56
INTRODUCCIÓN
Vivimos bajo un verdadero tsunami de datos y el mundo de los negocios ha implementado
varias técnicas de análisis para generar información relevante que apoye la toma de
decisiones. Estas técnicas consisten en un proceso de inspección, limpieza, transformación y
modelado de petabytes y exabytes de datos que a diario se generan desde múltiples fuentes
como sistemas de facturación, sensores, satélites, teléfonos móviles, posts en las redes
sociales, entre muchas otras.
Las técnicas de análisis permiten procesar información estructurada y no estructurada; la
primera corresponde a información tradicional, como cifras de ventas, estados contables y
reportes financieros, que ha sido la fuente de datos más usual en el mundo de los negocios, y
para los que se aplica técnicas de análisis tradicional. Pero ahora, gracias a tecnologías
disruptivas, se suman las comunicaciones humanas que transcurren en las redes sociales, las
llamadas que reciben los Call Center, la información de los GPS o los videos que se publican
en Youtube, todo convertido en datos no estructurados que alimentan la toma de decisiones
en la empresa de nuestros días.
El desarrollo de esta investigación busca extraer datos de la red social Twitter utilizando un
API de captura de flujos de información y procesar la misma con el fin de realizar análisis y
categorizaciones cuantificables del contenido, en favor de la toma de decisiones para la
operación de valores en el mercado del grupo de acciones de la empresa Ecopetrol S.A.
5
CAPÍTULO 1. DESCRIPCIÓN DE LA INVESTIGACIÓN
En este capítulo se abordarán los conceptos preliminares y antecedentes que dieron pie al
desarrollo de la investigación.
6
1.1 Planteamiento del problema
La proliferación de las redes sociales ha generado nuevas fuentes de información con
millones de datos de usuarios de todo el mundo, sin embargo estos datos se caracterizan
principalmente por dos aspectos, el primero es que no cuentan con una estructura bien
definida, y el segundo es que al ser opiniones personales de los internautas su nivel de
confiabilidad sin un contexto es bajo. La generación de grandes volúmenes de datos ha traído
consigo el desarrollo de herramientas para el procesamiento de los mismos, con máquinas
cada vez más potentes y la utilización de técnicas de análisis y extracción de información.
El mercado accionario se caracteriza por ser altamente dinámico debido a que depende de
tendencias, donde cualquier evento puede impactar positiva o negativamente un sector
económico de una región o del mundo entero, como sucede con las acciones del grupo
Ecopetrol que se ven afectadas cuando un factor externo al negocio genera impacto en la
sociedad. A lo largo del tiempo, este mercado ha implementado herramientas TIC para
mejorar su desempeño, pero se han quedan cortas debido a la exigencia del mismo. A pesar
de la existencia de frameworks de procesamiento de datos en tiempo real, estos no han sido
puestos en marcha para extraer, procesar y reportar información a partir de los flujos de datos
de una red social en favor de la toma de decisiones para un sector del mercado bursátil.
Las TIC se han convertido en un área transversal para el desarrollo de cualquier sector debido
a que la implementación de herramientas tecnológicas influye en gran medida para alcanzar
el éxito o fracaso de una organización; por lo tanto el desaprovechamiento de la información
presente en los flujos de datos de una red social puede impactar el desarrollo de un
determinado sector al no contar con reportes objetivos de tendencias del mercado en fuentes
alternativas de información.
La articulación de la academia con la empresa pública y privada se convertiría en una alianza
estratégica relevante, que permitiría impulsar la innovación y el crecimiento de los sectores
participantes; de manera que un estudio investigativo que permita extraer la información no
estructurada de redes sociales a las que se aplicaran técnicas de procesamiento de textos como
análisis de sentimientos y procesamiento en lenguaje natural expone una oportunidad de
negocio que permite aprovechar fuentes de información alternativa.
7
1.2 Justificación
La modificación orgánica de Ecopetrol en el 2003 permitió su incursión en la bolsa de valores
en el año 2008, lo que implica que las acciones del grupo se mueven positiva o negativamente
de acuerdo a las tendencias del mercado, y mucho más cuando actividades petroleras generan
impacto ambiental. Por otra parte, la academia y el sector TI en su propósito de extraer
conocimiento de fuentes de información, ha impulso el desarrollo de herramientas y
metodologías para procesar grandes volúmenes de datos, pero estas investigaciones la
mayoría de veces queda únicamente en el ámbito académico porque las organizaciones no se
preocupan por invertir en investigación e innovación con tecnología vanguardista, que
permita medir la percepción que tiene la sociedad y el sector económico frente a la compañía,
utilizando fuentes alternativas de información, tal como las redes sociales.
De esta manera es importante realizar una investigación en la cual utilizando un marco de
trabajo para el análisis de textos, se extraiga y procese información de la red social Twitter,
para determinar la relevancia en la toma de decisiones relacionadas con las tendencias
sociales de interés, usando como caso de estudio las acciones en el mercado del grupo
empresarial Ecopetrol S.A
8
1.3 Hipótesis
¿Un marco de trabajo para el análisis de textos aplicado al procesamiento de información no
estructurada de la red social Twitter, permite identificar aspectos relevantes sobre las
tendencias del mercado de valores de la empresa Ecopetrol y la polaridad de los usuarios en
fuentes alternativas de información?
9
1.4 Objetivos
1.4.1 Objetivo general
Analizar los flujos de información de la red social Twitter mediante un marco de trabajo para
el análisis de textos con el fin de determinar su influencia en la operación de acciones de
Ecopetrol.
1.4.2 Objetivos específicos
Capturar los datos de la red social utilizando un API de Twitter para preparar y
disponer la información que será utilizada en el proceso de análisis de texto.
Seleccionar las técnicas de análisis de textos a partir de la caracterización y evaluación
de tecnologías existentes, que permita la categorización y cuantificación de la información
no estructurada de la red social Twitter.
Reportar la información obtenida en el análisis de flujos de datos de la red social por
medio de informes gráficos que apoyen la toma de decisiones en las operaciones del mercado
para las acciones de Ecopetrol
10
1.5 Metodología seguida durante la investigación
1.5.1 Tipo de estudio
El desarrollo de esta investigación está basada en un estudio de tipo analítico, donde se
pretende a través de la confrontación de diversas tecnologías de análisis de textos determinar
aquella que por sus características ofrezca las mejores cualidades para la categorización de
información no estructurada de la red social Twitter.
1.5.2 Método de investigación
El desarrollo del proyecto se basa en el método de medición, el cual busca obtener
información numérica acerca de las propiedades de varias herramientas de análisis de texto,
con el fin de comparar magnitudes medibles y conocidas, y establecer una base teórica que
permita seleccionar aquella que ofrezca mejores cualidades para el estudio de información
de la red social Twitter.
1.5.3 Fuentes y técnicas para la recolección de la información
Las principales fuentes de investigación de este proyecto se basan en documentación técnica
y manuales referentes al marco de trabajo para el análisis de textos, los estudios hechos por
investigadores sobre la temática propuesta y los estándares y normas generados por las
comunidades académicas especializadas.
1.5.4 Tratamiento de la información
El tratamiento de la información durante el desarrollo de este proyecto se realiza aplicando
los conceptos básicos de Extracción, Transformación y Carga (ETL, por sus siglas en inglés):
Extracción: fase en la que se define las características, herramientas y medios de
captura y almacenamiento de datos.
Transformación: fase que permite aplicar los procesos de limpieza e integración de
los datos recolectados.
Carga: fase que utiliza los datos capturados para montarlos en un modelo de
clasificación y transformarlos en conocimiento útil.
11
1.6 Organización del trabajo
El desarrollo de la investigación está compuesto por 5 capítulos que abordan las actividades
utilizadas para llevar a cabo el cumplimiento de los objetivos propuestos, a continuación de
describe el contenido de cada uno de estos:
Parte I. Fundamentación de la investigación: contiene información referente al
planteamiento del problema, los objetivos y la justificación investigación.
Parte II. Estado del Arte: información de las teorías que soportan el desarrollo de
la investigación.
Parte III. Desarrollo de la investigación: contiene fases utilizadas para la
construcción del modelo de datos de clasificación y la construcción de la aplicación cliente
para el caso de estudio.
Parte IV. Resultados y Conclusiones de la investigación: Se describen los
resultados obtenidos y los aprendizajes dados en el proceso de investigación.
Parte V. Líneas de Investigación Futura: describe los trabajos futuros que pueden
realizarse para ampliar el alcance de la investigación.
CAPÍTULO 2. MARCO REFERENCIAL DEL PROYECTO
Este capítulo presenta las fuentes conceptuales y el estado del arte de las investigaciones
realizadas por autores que han contribuido con la construcción de la base de conocimiento,
las teorías y los conceptos que sustentan el desarrollo de este proyecto.
1.1 Marco Teórico
1.1.1 Antecedentes del procesamiento de textos
Una gran cantidad de información que actualmente se encuentra en la nube corresponde a
información textual (textos en lenguaje natural) proveniente de periódicos, revistas,
documentos ofimáticos, entre otros; que se convierte en un activo importante por las
siguientes razones: los textos en lenguaje natural es la forma más importante de descubrir el
conocimiento humano, el tipo más común de información encontrado por la gente y el tipo
más expresivo de información en el sentido que puede ser usada para describir otro medio de
comunicación como vídeos o imágenes [5].
1.1.1.1 Historia y estado del arte del Procesamiento de Lenguaje Natural
Desde el nacimiento de las computadoras, el hombre se ha querido comunicar con estas
utilizando diferentes lenguajes a través del tiempo, en la actualidad busca mediante técnicas
comunicarse con las máquinas por medio de lenguaje natural [6].
Las investigaciones de procesamiento de textos, después de 1980 pasaron de estudiar los
enfoques de la simbología tradicional al procesamiento de lenguaje natural, el cual es menos
robusto para ser desarrollado en aplicaciones reales y se centra más en enfoques estadísticos.
Es así que las primeras investigaciones se hicieron en reconocimiento de voz, pasando al
conocimiento lingüístico, reconocimiento facial, entre otros. Sin embargo, el tratamiento de
estructuras en el lenguaje de procesamiento natural es un tema complejo debido a la
ambigüedad del lenguaje porque el análisis semántico es satisfactorio solamente para algunos
casos, mientras que en otros, el significado puede ser completamente diferente [5].
1.1.1.2 Sistemas de información de texto
Las técnicas de PLN que están compuestas por una estructura robusta pero poco profunda
tienden a ser más empleada, que aquellas de análisis a profundidad, lo que puede perjudicar
el rendimiento de la aplicación debido a errores causados por la dificultad general de las
técnicas de PLN utilizadas, tal como se puede visualizar en la figura 1. La tarea más difícil
en el desarrollo de una investigación de procesamiento de textos es entender con precisión el
significado del texto en lenguaje natural y optimizar directamente el rendimiento del modelo
de clasificación o categorización construido [5].
El procesamiento de Lenguaje natural no es exclusivo del uso de técnicas con enfoque
estadístico porque estas son más útiles a la hora de cuantificar la incertidumbre asociada con
el uso de lenguaje natural [5].
15
Figura 1 Comparación entre aplicaciones de profundidad para PLN
Fuente: Tomado de Text Data Management and Analysis [5]
1.1.1.3 Representación de textos
Las técnicas de PNL permiten diseñar diferentes tipos de caracterizaciones informativas para
objetos de texto, la primera consiste en la representación de la oración como una cadena de
caracteres (la forma más general de representar el texto), pero su principal desventaja radica
en que no permite realizar análisis semántico. La siguiente versión de la representación del
texto se caracteriza por realizar la segmentación de la oración para obtener una secuencia de
palabras y mediante la identificación de las palabras puede descubrir información estadística
de la composición del texto analizar [5].
Figura 2. Niveles de representación en texto
Fuente: Tomado de Text Data Management and Analysis [5]
1.1.2 Acceso a datos de texto
El acceso a los datos de texto debe tener en cuenta dos aspectos importantes, primero se debe
habilitar la recuperación de los datos relevantes para el análisis de un problema evitando la
una sobrecarga innecesaria de información con datos que no son relevantes para la solución,
segundo, la interpretación de cualquier resultado o descubrimiento en el contexto apropiado
provee la procedencia de los datos (origen de los datos)[5].
La meta del acceso a los datos de texto es conectar a los usuarios con la información correcta
en el momento adecuado, esta conexión se puede realizar de dos modos: Pull donde el usuario
tiene la iniciativa y puede realizar la búsqueda de información relevante fuera del sistema, y
Push donde el sistema toma la iniciativa para ofrecer información relevante al usuario [5].
1.1.2.1 Modos de acceso: Pull vs Push
Los seres humanos son productores y consumidores de datos de texto, por lo tanto se
convierten en una herramienta importante para seleccionar los datos más relevantes de un
problema de aplicación en particular, lo que es beneficioso, ya que permite evitar el
procesamiento de la gran cantidad de datos de texto en bruto y centrarse en analizar la parte
más relevante. La selección de datos de texto relevantes de una gran colección es la tarea
básica del acceso de texto, la cual se basa en la especificación de la necesidad de información
de un usuario. La figura 3 describe los modos de extracción Push y Pull.
Figura 3. Modos de acceso a la información de textos
Fuente: autores
En el modo de extracción, el usuario inicia el proceso de acceso para encontrar los datos de
texto relevantes, normalmente mediante un motor de búsqueda. Este modo de acceso al texto
es esencial cuando un usuario tiene una necesidad de información ad hoc, es decir, una
17
necesidad de información temporal que puede desaparecer una vez que se satisface la
necesidad [5].
En el modo de extracción, la navegación es otra forma complementaria de acceder a los datos
porque puede ser útil para el usuario cuando no conoce la sintaxis para formular una consulta
eficaz, no encuentra información relevante del caso de estudio, es inconveniente introducir
una consulta de palabras clave o simplemente cuando se desea explorar un tema sin objetivo
fijo [5].
Los tipos de necesidades de información se pueden clasificar [5]:
Necesidades a corto plazo: es temporal y usualmente se satisface mediante la
búsqueda o navegación en el ámbito de la información. Asocian con mayor frecuencia al
modo Pull.
Necesidades a largo plazo: son satisfechas mediante el filtrado o las asignaciones
dadas al sistema cuando este tome la iniciativa de iniciar la información relevante a un
usuario. Asocian con el modo Push.
La recuperación ad hoc es extremadamente importante porque las necesidades ad hoc de
información aparecen más frecuentemente que las necesidades de información a largo plazo.
1.1.2.2 Acceso interactivo multimodal
Los sistemas de procesamiento de texto deben proporcionar acceso multimodal a los datos
para que los modos Pull y Push estén integrados con el entorno de acceso, y de esta forma
proporcionar mayor flexibilidad a los usuarios para consultar o navegar a voluntad [5].
La figura 4 permite identificar el rastreo en la navegación de un usuario, que inicio consultado
una mesa, luego busco la mesa de comedor asiática, busco la mesa de comedor, se dirigió
primero a la silla de comedor y luego a los muebles de comedor, para finalmente buscar los
muebles como tema general. Si este usuario se da cuenta que necesita una "nueva búsqueda”,
él puede usar una nueva consulta para lograrlo. Así, podemos ver cómo un sistema de acceso
de texto puede combinar múltiples modos de acceso a la información para satisfacer las
necesidades de un usuario [5].
Figura 4. Interfaz de búsqueda simple con mapa de tópicos
Fuente: tomado de SocialSurfing@UIUC
1.1.2.3 Modelos de captura de textos
Durante muchas décadas, los investigadores han diseñado varios tipos diferentes de modelos
de captura que se ubican en diferentes categorías[5], en primer lugar, una familia de modelos
se basados en la idea de similitud, que considera que si un documento es más similar a la
consulta que otro documento, se podría deducir que el primer documento es más relevante
que el segundo, en este caso, la función de clasificación se define como la similitud entre la
consulta y el documento [7]. El segundo conjunto de modelos se denominan modelos de
recuperación probabilística, los cuales asumen que las consultas y los documentos son todas
observaciones de variables aleatorias, y que hay una variable aleatoria binaria llamada R para
indicar si un documento es relevante para una consulta o no. El tercer tipo de modelo es la
inferencia probabilística, el cual busca asociar la incertidumbre a las reglas de inferencia, lo
que permite cuantificar la probabilidad de que se pueda demostrar que la consulta sigue al
documento. Esta familia de modelos es teóricamente apropiada, pero en la práctica, a menudo
se reducen a modelos esencialmente similares al modelo de espacio vectorial o un modelo de
recuperación probabilística regular [8]. Finalmente, también existe una familia de modelos
que utilizan el pensamiento axiomático, que se caracterizan por definir un conjunto de
restricciones que satisfaga la buena función de recuperación, en este caso el problema es
encontrar la función de clasificación adecuada para satisfacer las restricciones deseadas. A
pesar de que los modelos descritos se basan en diferentes formas de pensamiento, al final las
funciones de recuperación tienden a ser muy similares e involucran variables similares.
19
1.1.3 Información estructurada vs no estructurada
La información estructurada corresponde a los datos concretamente definidos y sujetos
a un formato muy concreto. A nivel de base de datos, la información estructurada
corresponde a los campos con una definición específica, por ejemplo una fecha, un valor
numérico en una factura, el tipo de IVA, el apellido de un cliente [9]. Este tipo de
información funciona como una red troncal de ideas de negocio que permite sacar el máximo
provecho de la analítica avanzada para mejorar las relaciones con los clientes, ahorrar costes,
tomar las mejores decisiones, minimizar riesgos y avanzar hacia un futuro prometedor de la
mano de la tecnología [10].
La información no estructurada no cumple con la estructura definida por una base de datos
tradicional sino que tienen múltiples formas de representación (texto, audio, imágenes), y
para ser almacenada requiere estructuras específicas. Las principales características de los
datos no estructurados son [11]:
Volumen y crecimiento: los niveles de volumen y crecimiento son superiores a datos
estructurados.
Orígenes de datos: los datos proveen de redes sociales, foros, emails, datos extraídos
de la web, entre otros.
Almacenamiento: estructuras de almacenamiento no estructuradas, por ejemplo
bases de datos no relacionales.
Terminología: los datos son de tipo texto.
Seguridad: no existe certeza de que la información que se procese sea cierta, debido
a que esta corresponde a opinión de los usuarios.
1.1.3.1 Clasificación de los datos no estructurados
La información no estructurada se divide en dos clasificaciones [11]:
Datos no estructurados y semi estructurados. los datos semi estructurados
corresponden a aquellos que no residen en bases de datos relacionales, pero presentan una
organización interna que facilita su tratamiento, tales como documentos XML y datos
almacenados en bases de datos NoSQL.
Datos de tipo texto y no-texto. Los datos no estructurados de tipo texto son los
generados en las redes sociales, foros, e-mails, presentaciones de Power Point o documentos
Word, mientras que datos no-texto agrupa las imágenes, ficheros de audio o ficheros de video
tipo flash.
1.1.3.2 TRATAMIENTO DE DATOS NO ESTRUCTURADOS
Los aspectos que se deben considerar cuando se realice tratamiento de información no
estructurada son los siguientes [11]:
Crear una plataforma escalable (infraestructura y procesos): que permita tratar
grandes cantidades de datos, con una capacidad de almacenamiento y de procesamiento
escalable.
Añadir información/estructura complementaria a los datos no estructurados: la
información no estructurada trae consigo un conjunto de datos de estructurados, los cuales
deben ser tenidos en cuenta a la hora de procesar la información.
Crear conjuntos reducidos de datos que sean representativos: dado el volumen
de información, es importante extraer una muestra de datos que sean estadísticamente
representativos sobre los datos a analizar.
Desarrollo de algoritmos: la aplicación de algún algoritmo de análisis de datos que
permita descubrir patrones sobre múltiples dimensiones.
Procesos de depuración/limpiado de datos: debido al volumen de datos se debe
contar con una correcta gestión del histórico de datos y detección de datos no usados con el
objetivo de limpiar la información y liberar espacio.
1.1.4 Análisis de textos
1.1.4.1 Aplicaciones de análisis de textos
En el transcurrir de la vida cotidiana, todas las personas procesan gran cantidad de datos de
texto, sim embargo con el surgimiento del Internet y la masificación de las computadoras, se
construyeron motores de búsqueda, los cuales son utilizados para encontrar documentos
relevantes, mientras que el procesamiento posterior es realizado manualmente. Tal proceso
es aceptable cuando la cantidad de datos de texto a procesar es pequeña, sin embargo, a
medida que aumenta la cantidad de datos de texto, el procesamiento manual de estos datos
no sería factible ni aceptable, especialmente para aplicaciones que requieren un tiempo de
respuesta crítico, por lo tanto, resulta cada vez más importante desarrollar herramientas que
apoyen el análisis de texto [5].
En general, se pueden distinguir dos tipos de aplicaciones de análisis de texto, un tipo son las
que pueden reemplazar el trabajo manual realizado por un usuario en el análisis de contenidos
de texto, por ejemplo, la clasificación automática de correos electrónicos en una compañía.
El otro tipo son aquellas que pueden descubrir el conocimiento que los seres humanos no
pueden ser capaces de descubrir, a través del procesamiento y aprendizaje de grandes
volúmenes de contenido [12].
Un campo de aplicación importante para el análisis de textos es la inteligencia de negocios,
donde utilizando y dominando técnicas de minería de texto se puede aprovechar la fuente de
información de los clientes para extraer el conocimiento a partir de las opiniones de las
personas acerca de un producto [13].
21
1.1.4.2 Alcance del análisis de textos
Los seres humanos se comportan como sensores subjetivos que observan el mundo real desde
su propia perspectiva y expresan lo que han observado en forma de datos de texto. Al tratar
los datos de texto como datos observados por los sensores humanos, se puede examinar todos
estos datos juntos en el mismo marco de referencia. El problema de la minería de datos puede
definirse entonces en cómo transformar todos esos datos en conocimiento práctico que
permita cambiar el mundo y mejorarlo. Por supuesto, para diferentes tipos de datos,
generalmente necesitamos diferentes algoritmos, cada uno adecuado para la extracción de un
determinado tipo de datos.
Existen muchos algoritmos generales que son aplicables a todo tipo de datos; los cuales son
útiles pero para realizar un análisis particular de datos, se tendría que desarrollar un algoritmo
especializado.
Figura 5. Analogía del ser humano como sensor para la percepción de su entorno
Fuente: autores
1.1.5 Minería de asociación de palabras
En la búsqueda y recuperación de textos, se puede usar las asociaciones de palabras para
modificar una consulta y de esta forma retroalimentar los datos obtenidos, haciendo que la
búsqueda sea más efectiva; este proceso se conoce como expansión de consultas, la cual
puede ser complementada usando palabras relacionadas para sugerir consultas relativas al
interés de un usuario y de esta forma explorar el espacio de la información [5].
Otra aplicación de la minería de asociación de palabras es la construcción automática de una
jerarquía para navegar, la cual puede estar constituido por palabras como nodos y
asociaciones como aristas, permitiendo al usuario navegar de una palabra a otra para
encontrar información. Finalmente, estas asociaciones de palabras pueden usarse para
comparar y resumir opiniones, que sería determinadas por medio de relaciones sintácticas
sobre comentarios del producto [5].
1.1.6 Categorización de textos
La categorización de textos se propone dos metas específicas en el análisis de textos: la
primera busca enriquecer la representación de textos en múltiples niveles como palabras
clave y categorías, y la segunda meta permite inferir las propiedades de las entidades, de este
modo mientras una entidad pueda ser asociada con el texto, de alguna manera se puede
asociar las demás entidades relacionadas a ese texto.
Figura 6. Tareas en la categorización de textos
Fuente: tomado de Text Data Management and Analysis [5]
1.1.6.1 Características de la categorización de textos
A través de los resultados obtenidos en el desarrollo de proyectos de análisis de texto, se
generó una estrategia para la categorización de textos que demuestra que las características
léxicas de bajo nivel combinadas con características sintácticas de alto nivel dan el mejor
rendimiento en un clasificador de texto. Tener un conjunto diverso de características permite
al clasificador dar una amplia gama de espacio en el que puede tomar una decisión que
delimite entre las diferentes clases de etiquetas [14].
1.1.6.2 Algoritmos de categorización
El objetivo de los algoritmos de categorización es extraer conocimiento a partir del
procesamiento de texto no estructurado [15]. A continuación se describe los tres algoritmos
de categorización más utilizados:
Algoritmo KNN (K-Nearest Neighbor): los clasificadores basados en este
algoritmo no construyen una representación declarativa explícita de las categorías sino que
computan directamente la similitud entre el documento a ser clasificado y los documentos de
entrenamiento. El entrenamiento para estos clasificadores consiste simplemente en
almacenar representaciones de los documentos de entrenamiento junto con sus categorías
[16] [5].
23
Figura 7. Representación del algoritmo KNN
Fuente: tomado de Text Data Management and Analysis [5]
Algoritmo SVM (Support Vector Machines): este algoritmo utiliza un clasificador
de vector binario (cuando se tienen solo dos categorías o clases) que puede ser visto como un
hiperplano en el espacio de características, que separa los puntos que representan instancias
positivas de la categoría de los puntos que representan instancias negativas [5], [17], tal como
se puede visualizar en la figura 8.
Figura 8. Hiperplanos del algoritmo SVM
Fuente: tomado de [17]
Algoritmo PAUM (Perceptron Algorithm with Uneven Margins): este algoritmo
es una extensión del algoritmo Perceptrón, el cual está estructurado por una red neuronal
simple formada por una neurona con pesos sinápticos ajustables, tal como puede ser
visualizado en la figura 9. El aprendizaje de la tarea de clasificación se realiza mediante
pequeños ajustes a los pesos de manera que se pueda reducir la diferencia entre la salida
deseada y la obtenida con el Perceptrón [18].
Figura 9. Perceptrón Multicapa
Fuente: tomado de [19]
1.1.7 Minería de opinión/análisis de sentimientos
El análisis de sentimientos, también conocido como minería de opiniones, consiste en
clasificar automáticamente un texto escrito en un lenguaje natural, en un sentimiento positivo
o negativo, de opinión o subjetividad [5]. Con la evolución tecnológica de los últimos años,
la minería de opinión ha tomado importancia porque permite el tratamiento de datos de redes
sociales, foros, correo electrónico, blogs, utilizando técnicas de clasificación y categorización
de textos en función de la semántica expresada por el autor [20].
Figura 10. Tareas de minería de opinión
Fuente: Tomado de Text Data Management and Analysis [5]
La clasificación de sentimientos está constituida dos componentes, el primero corresponde a
la entrada de un objeto de texto para ser analizado, y la segunda es la etiqueta de sentimiento.
El análisis de polaridad está conformado por dos categorías como positivo, negativo o neutro,
mientras tanto, el análisis emocional puede ir más allá de la polaridad para caracterizar el
sentimiento preciso del titular de la opinión. Una calificación de cinco es la más positiva, y
una calificación de uno es la más negativa. En el análisis de la emoción también hay
25
diferentes maneras de diseñar las categorías, dentro de las que se destacan son: felicidad,
tristeza, incertidumbre, enfado, sorpresa y disgusto [20].
1.1.8 Procesamiento del lenguaje natural
El Procesamiento del Lenguaje Natural (PLN) es la disciplina encargada de producir sistemas
informáticos que posibiliten la comunicación entre el hombre y la computadora, por medio
del lenguaje humano, la voz o del texto. Se trata de una disciplina tan antigua como el uso de
las computadoras, de gran profundidad, y con aplicaciones importantes en la traducción
automática o la búsqueda de información en Internet [21].
Figura 11 Arquitectura de sistema de Procesamiento de Lenguaje Natural
Fuente: tomado de [21].
1.1.9 Arquitectura empresarial
La arquitectura empresarial es una disciplina que ha venido evolucionando desde los modelos
administrativos y de gestión, la teoría administrativa y de sistemas, y que propone la
estructura de una organización en tres niveles [22]:
Estratégico: definición del mercado, productos, servicios y metas organizaciones.
Procesos: operaciones de negocio de acuerdo a los objetivos empresariales.
Sistemas de información: automatización de los procesos de negocio establecidos.
Los diferentes frameworks de Arquitectura Empresarial han definido varios puntos de vista
que permiten alinear los procesos, datos, aplicaciones e infraestructura del negocio para
enfocar sus esfuerzos en función de alcanzar los objetivos estratégicos de la organización
[22]. El éxito de la Arquitectura empresarial radica en la integración de los diferentes
componentes de la organización. Los componentes de la Arquitectura Empresarial son:
estrategia, gobierno de TI, información, sistemas de información, servicios de Tecnología,
uso y apropiación [23], tal como son presentados en la figura 12.
Figura 12. Componentes de la Arquitectura Empresarial
Fuente: tomada de Colombia Digital [23]
1.1.9.1 Archimate
ArchiMate nace como un lenguaje de modelado de arquitecturas empresariales que tiene
como objetivo, proveer una representación uniforme de los diagramas que describen la
arquitectura empresarial de una organización, permitiendo comprender las diferentes áreas o
capas empresariales: estrategia, negocio, información, aplicaciones e infraestructura
tecnológica. El principal elemento en esta metodología es el servicio, que está definido como
una unidad de funcionalidad que un actor (sistema o una organización) pone a disposición
del ambiente de trabajo [24].
La arquitectura es una descripción formal de un sistema, organizado en una manera tal que
soporta las propiedades estructurales y de comportamiento de un sistema y su evolución. El
lenguaje de modelado de arquitectura empresarial Archimate fue desarrollado para proveer
una representación uniforme de diagramas, que ofrece un enfoque arquitectónico integrado
para describir y visualizar los dominios, relaciones y dependencias de la arquitectura [24].
Archimate es un lenguaje de peso ligero y escalable en varios aspectos [24]:
27
El framework de arquitectura es simple pero comprensible para proveer buenos
mecanismos de estructuración para los dominios, capas y aspectos de la arquitectura.
El lenguaje incorpora el concepto del paradigma “orientado a servicios” que
promueve un nuevo principio de organización en términos de (negocio, aplicación e
infraestructura) servicios para la organización.
El rol del estándar Archimate es proveer un lenguaje gráfico para la representación de la
arquitectura empresarial en todo tiempo, que permita alcanzar una inequívoca especificación
y descripción de los componentes de la misma, especialmente de sus relaciones. El lenguaje
Archimate está compuesto de tres tipos de elementos, que son descritos a continuación y
pueden verse relacionados en la [24]:
Elementos estructurales activos: conformado por actores del negocio, componentes
de la aplicación y dispositivos que muestran el comportamiento real.
Elementos de comportamiento: los conceptos de estructura activa se asignan a los
de comportamiento, para mostrar quien o que realiza el comportamiento.
Elementos estructurales pasivos: representa los objetos sobre los que sea realiza el
comportamiento.
Figura 13. Conceptos core de Archimate
Fuente: tomado de [24]
Con base en los conceptos mencionados, Archimate propone tres capas para el lenguaje de
arquitectura empresarial [24]:
Capa del negocio: ofrece productos y servicios a clientes externos, los cuales son
realizado en la organización por actores de los procesos de negocio.
Capa de aplicación: soporta la capa de negocio ofreciendo aplicaciones de servicio.
Capa de tecnología: ofrece la infraestructura necesaria para ejecutar las aplicaciones.
Los elementos y capas propuestos pueden ser organizados como un framework de 9 celdas,
que permite modelar diferentes puntos de vista empresariales, donde la posición dentro de la
celda resalta las preocupaciones de los interesados. Ver figura 14.
Figura 14. Framework Archimate
Fuente: tomado de [24]
Capa de Negocio: esta capa tiene como objetivo ilustrar las entidades del negocio frente a
tres dimensiones de comportamiento: procesos, servicios y producto. El modelamiento de la
capa del negocio involucra los conceptos activos, pasivos e informacionales necesarios para
alcanzar el dominio de la información, del producto, del proceso y de la organización:
Conceptos activos: proceso, servicio, función, Interacción, Evento.
Conceptos pasivos: actor, rol, colaboración, interfaz, localización, objeto.
Conceptos informacionales: producto, contrato, servicio, valor, significado,
representación.
A continuación se presentan los puntos de vista que componen la capa de negocio, cada uno
cuenta con una breve descripción:
Organización: se centra en la organización interna de una compañía, un
departamento, una red de empresas o una entidad organizativa. Este es útil para identificar
competencias, autoridad y responsabilidad dentro de una organización. La figura 15 muestra
el metamodelo propuesto.
29
Figura 15. Metamodelo de Organización
Fuente: Tomado de Archimate [24]
Cooperación de Actor: presenta la relación entre los actores y su entorno, teniendo
en cuenta partes externas como clientes, proveedores y socios comerciales. La figura 16
muestra el metamodelo propuesto.
Figura 16. Metamodelo de Cooperación de Actor
Fuente: Tomado de Archimate [24]
Función del Negocio: presenta las funciones que utiliza la empresa para alcanzar sus
objetivos organizaciones, independientemente de los cambios o el desarrollo tecnológico. La
figura 17 muestra el metamodelo propuesto.
Figura 17. Metamodelo de Función del Negocio
Fuente: Tomado de Archimate [24]
Proceso de Negocio: agrupa los procesos organizacionales y la relación con los
eventos, roles, actores y servicios ofertados. La figura 18 muestra el metamodelo propuesto.
Figura 18. Metamodelo de Proceso de Negocio
Fuente: Tomado de Archimate [24]
Cooperación de Proceso de Negocio: reúne los procesos de negocios identificados
para conocer las relaciones entre estos y mapear los procesos en función del negocio. La
figura 19 muestra el metamodelo propuesto.
31
Figura 19. Metamodelo de Cooperación de Proceso de Negocio
Fuente: Tomado de Archimate [24]
Producto: indica el valor que los productos ofrecen a los clientes y otras partes
externas involucradas, además representa la composición de los productos desde el punto de
vista de servicios y contratos, incluyendo interfaces y eventos asociados. La figura 20
muestra el metamodelo propuesto.
Figura 20. Metamodelo de Producto
Fuente: Tomado de Archimate [24]
Capa de Aplicación: la capa de Aplicación es la encargada del modelamiento de los
componentes de software y las relaciones entre estos. Está compuesta de dos dimensiones:
Dimensión estructural: Componente, Interface, Colaboración, Objeto.
Dimensión comportamental: Función, Interacción, Servicio.
A continuación se presentan los puntos de vista que componen esta capa, cada uno cuenta
con una breve descripción del metamodelo.
Comportamiento de Aplicación: es el elemento integrador de la arquitectura
empresarial con la arquitectura de software, porque este soporta los procesos de negocio
utilizando componentes de software para mejorar el rendimiento de la organización en
búsqueda de cumplir con la estrategia empresarial. La figura 21 muestra el metamodelo
propuesto.
Figura 21. Metamodelo de Comportamiento de Aplicación
Fuente: Tomado de Archimate [24]
Cooperación de Aplicación: define la agregación de dos o más componentes de
aplicaciones que trabajan de forma conjunta para alcanzar un comportamiento colectivo.
Típicamente una cooperación de aplicación modela la colaboración lógica o temporal de los
componentes de una aplicación, viendo la como un todo y no como la existencia de entidades
separadas en la organización. La figura 22 muestra el metamodelo propuesto.
33
Figura 22. Metamodelo de Cooperación de Aplicación
Fuente: Tomado de Archimate [24]
Estructura de Aplicación: describe las relaciones entre los objetos, los componentes
y las interfaces de la aplicación así como sus correspondientes colaboraciones con las demás
estructuras de negocio. La estructura puede considerarse como una secuencia de acciones
(instrucciones) que manipulan un conjunto de objetos (datos). La figura 23 muestra el
metamodelo propuesto
Figura 23. Metamodelo de Estructura de Aplicación
Fuente: Tomado de Archimate [24]
Uso de Aplicación: se centra en el proceso de negocio y los servicios de aplicación
(componentes). La figura 24 muestra el metamodelo propuesto.
Figura 24. Metamodelo de Uso de Aplicación
Fuente: Tomado de Archimate [24]
Capa de Infraestructura: esta capa se encarga de describir los componentes físicos de la
arquitectura, y la forma en la que estos dan soporte a la capa de procesos de negocio y
aplicación. A continuación se describe cada uno de los puntos de vista que conforman la
aplicación.
Infraestructura: este punto de vista describe el nodo como componente central y
como se relaciona con los servicios de infraestructura y los sistemas de software. La figura
25 muestra el metamodelo propuesto.
Figura 25. Metamodelo de Infraestructura
Fuente: Tomado de Archimate [24]
35
Uso de Infraestructura: este punto de vista permite identificar la relación entre los
componentes de infraestructura física con los componentes de aplicación. La figura 26
muestra el metamodelo propuesto.
Figura 26. Metamodelo de Uso de Infraestructura
Fuente: Tomado de Archimate [24]
Implementación y Despliegue: describe los componentes de infraestructura internos
y externos utilizados para soportar el funcionamiento de la aplicación. La figura 27muestra
el metamodelo propuesto.
Figura 27. Metamodelo de Implementación y Despliegue
Fuente: Tomado de Archimate [24]
Estructura de la Información: describe los componentes relacionados con los
objetos de datos, y como estos constituye una representación relevante para la aplicación. La
figura 28 muestra el metamodelo propuesto.
Figura 28. Metamodelo de Estructura de la Información
Fuente: Tomado de Archimate [24]
Realización del Servicio: este punto de vista reúne todos los componentes de
infraestructura en función al proceso de negocio descrito. La figura 29 muestra el
metamodelo propuesto.
Figura 29. Metamodelode Realización del Servicio
Fuente: Tomado de Archimate [24]
37
Existe dos capas adicionales, la primera corresponde a la Motivacional que está conformada
por los stakeholder, principios, requerimientos y restricciones del sistema, y la segunda
corresponde a la de Proyecto, la cual se encarga de presentar un concepto general de los
entregables.
1.2 Marco conceptual
1.2.1 Twitter
Twitter es una red social que tiene como misión “darle a todos el poder de generar y
compartir ideas e información al instante y sin obstáculos”, en mensajes cortos de hasta 140
caracteres [25]. Esta red social cuenta con 313 millones de usuarios activos, y se basa en la
publicación y visualización de contenidos de usuarios a los cuales ‘sigue’ dentro de la
aplicación. Según cifras de [26] reporta que el 65,8% de las empresas de Estados Unidos con
más de 100 empleados utiliza Twitter para hacer Marketing, lo que conlleva a que el 80% de
usuarios alguna vez ha mencionado una marca en la red social. Por esta razón Twitter ha
implementado políticas y lineamientos para apoyar el uso de redes sociales dentro del
contenido web de las organizaciones, mediante herramientas de análisis y estadística de datos
compartidos en la red.
1.2.2 Mercado bursátil
El mercado es el espacio, la situación o el contexto en el cual se lleva a cabo la venta o
compra de bienes, servicios o mercancía por parte de unos compradores que demandan esas
mercancías, y unos vendedores que las ofrecen. El mercado bursátil está relacionado con las
operaciones o transacciones que se realizan en diferentes bolsas alrededor del mundo. Las
bolsas según su reglamento, permiten que en los mercados bursátiles intervengan y realicen
operaciones tanto personas como empresas u organizaciones que deseen invertir. La demanda
y oferta de productos y servicios actúa como fuerza para establecer el precio de los mismos,
por lo que se considera al mercado bursátil un mercado centralizado y regulado.
El desempeño, la evolución y las tendencias del mercado bursátil se miden a través de índices
que reflejan los movimientos que, por efectos de demanda y oferta, tienen los precios de
diferentes productos, activos o títulos que se intercambian en las bolsas [27].
1.2.3 Ecopetrol S.A
Ecopetrol fue fundado en 1951 para encargarse de administrar el recurso hidrocarburífero de
la nación, y fue creciendo a medida que otras concesiones revirtieron e incorporó su
operación. En 1970 adoptó su primer estatuto orgánico que ratificó su naturaleza de empresa
industrial y comercial del estado, adscrita al Ministerio de Minas y Energía, y cuya vigilancia
fiscal es ejercida por la Controlaría General de la Nación [28].
El decreto 1760 del 26 de junio de 2003 modificó la estructura orgánica de la compañía, y la
convirtió en una sociedad pública por acciones, ciento por ciento estatal. A partir del 2003,
Ecopetrol S.A inició una era con mayor autonomía, lo que permitió acelerar sus actividades
de explotación y su capacidad de obtener resultados con visión empresarial y comercial en el
mercado petrolero mundial [28].
Actualmente Ecopetrol S.A es la empresa más grande del país con una utilidad neta de $15,4
billones registrados en el 2011, y la principal compañía petrolera en Colombia [28].
1.2.3.1 Streaming
En este modo de acceso, al hacer la petición inicial Twitter abre una conexión entre el
solicitante y su servidor, y enviará por ella tweets que sean publicados a partir de ese
momento y que cumplan los filtros que se hayan establecido en el momento de iniciar la
conexión. Se recibirán nuevos tweets ininterrumpidamente hasta que se decida cerrar la
conexión. Este proceso es en tiempo real: desde que alguien crea un tweet hasta que llega a
los usuarios con una conexión a la Streaming API abierta sólo pasan aproximadamente 350
milisegundos [29].
Es importante destacar que mientras la API Rest proporciona acceso a la información ya
existente en Twitter en el momento de hacer la llamada, mediante la Streaming API sólo
recibiremos información creada posteriormente a la creación del canal de comunicación entre
nosotros y Twitter
1.2.4 Tecnología de la Información y Comunicaciones (TIC)
Son un conjunto de medios de comunicación y aplicaciones de información que permiten la
extracción, producción, almacenamiento, tratamiento y visualización de contenidos en forma
de voz, imágenes y datos. Las tecnologías de la Información han sido conceptualizadas como
la integración y convergencia de la computación, microelectrónica, las telecomunicaciones y
las técnicas de procesamiento de datos. Los principales componentes son el factor humano,
los contenidos de información, el equipamiento, la infraestructura física, el software y los
mecanismos electrónicos de intercambio de información [30].
El desarrollo de la sociedad actual se debe en gran medida al papel que han desempeñado las
TIC como núcleo central de la transformación económica y social. Los factores claves que
se han desempeñado un rol importante en la evolución de las TICs son [30]:
El desarrollo de la microelectrónica que ha posibilitado el avance en la potencia y
capacidad de cómputo de los dispositivos.
El avance en las telecomunicaciones que ha generado una mayor exposición de datos
a nivel local y global.
El desarrollo acelerado de sistemas de información.
39
1.2.5 Inteligencia Computacional
Es una disciplina que asocia una serie de algoritmos inspirados en procesos biológicos de
alta complejidad que buscan resolver problemas que la computación tradicional no es capaz
de abordar con razonamiento clásico. Dentro de las técnicas de Inteligencia Computacional
se destacan las redes neuronales artificiales (RNA), la computacional evolutiva, la lógica
difusa, la inteligencia de enjambre y los sistemas inmunes artificiales [31].
La inteligencia computacional es un área multidisciplinaria que utiliza ciencias como la
computación, la matemática, la lógica y la filosofía para estudiar la creación y diseño de
sistemas capaces de resolver problemas complejos de situaciones cotidianas, utilizando un
paradigma de inteligencia humana. Esta área se caracteriza por combinar elementos de
aprendizaje, adaptación, evolución y lógica difusa, no siendo restrictiva de métodos
estadísticos, los cuales son utilizados como complementos [32].
1.2.6 Lenguaje natural
El lenguaje es la función que permite a las personas expresar sentimientos y comunicarse con
otros individuos del entorno, la cual puede realizarse utilizando signos escritos mediante
señales o vocales; por lo tanto, el lenguaje natural es el medio que utilizan las personas para
establecer comunicación a partir de la experiencia y que permite ser utilizado para analizar
situaciones altamente complejas y razonar sutilmente [21].
Los lenguajes naturales tienen alto poder expresivo y sirven de herramienta para analizar
situaciones altamente complejas, además su sintaxis puede ser modelada en un lenguaje
formal, similar a los utilizados en la matemática y lógica [21].
1.2.7 Lingüística computacional
El procesamiento del lenguaje natural dio origen la rama de investigación conocida como
lingüística computacional, la cual se encargaba de desarrollar técnicas a través de la
introspectiva e intuición reflejadas en diccionarios y reglas detalladas en las que los lingüistas
buscan proveer a las computadoras la capacidad de entender el lenguaje humano. Pero esta
perspectiva cambio con la aparición del internet porque se hizo disponible grandes
volúmenes de textos para ser procesados con técnicas estadísticas para el procesamiento de
datos. La lingüística computacional dejo de ser una rama de la lingüística y se convirtió en
la disciplina que se conoce hoy como aprendizaje automático [33].
El aprendizaje automático busca descubrir las regularidades y relaciones existentes entre los
datos, utilizando algoritmos de aprendizaje [33]. Los sistemas que soportan las técnicas de
aprendizaje automático deben contener las siguientes características: determinación de
contenido, planificación del documento, generación de expresiones de referencia,
agregación, lexicalización y realización superficial, que deben estar incluidas en los
siguientes niveles básicos de representación [34]:
Nivel conceptual: conocimiento no lingüístico.
Nivel semántico: representación del significado desde el punto de vista lingüístico.
Nivel retórico: organización de las estructuras guiada por la retórica para dotar de
coherencia al texto.
Nivel de documento: estructuración del discurso en una jerarquía de funciones
textuales.
Nivel sintáctico: comprende el procesamiento sintáctico de los elementos generados.
1.2.8 R Data Analysis
R es un lenguaje y ambiente para realizar procesos de computación estadística y gráfica, con
una amplia gama de técnicas estadísticas (modelamiento lineal y no lineal, pruebas
estadísticas clásicas, análisis de series de tiempo, clasificación, Clustering, entre otras) y
gráficas [35].
R es una suite integrada de software que proveer herramientas para facilitar la manipulación
de datos y el cálculo y visualización de resultados, incluyendo [35]:
Un manejo efectivo de datos y facilidad de almacenamiento
Una suite para la operación de cálculos sobre vectores y matrices
Una colección integrada y coherente de herramientas para el análisis de datos
Complementos gráficos para el análisis de datos y la presentación de resultados
Un lenguaje de programación simple y efectivo que incluye condicionales, bucles,
variables, funciones, entre otros.
1.2.9 PAQUETE CARET
El paquete Caret es un conjunto de funciones que buscan simular el proceso de creación de
modelos de predicción. El paquete contiene las siguientes herramientas [36]:
División de datos (Data Splitting)
Pre – procesamiento
Selección de características
Personalización de modelos utilizando re muestreo
Estimación de la importancia de variables
El paquete inició como una forma de proveer una interface uniforme de sus funciones para
la estandarización de tareas comunes [36].
1.2.10 Tweepy
Tweepy es una librería de código abierto disponible que permite comunicar Python con la
plataforma Twitter. Tweepy soporta el acceso a Twitter utilizando los métodos de Basic
Authentication y OAuth [37]. Tweepy facilita el uso de la API de streaming de Twitter al
41
manejar la autenticación, la conexión, la creación y la destrucción de la sesión, la lectura de
los mensajes entrantes y los mensajes de enrutamiento parcial[38].
1.2.11 Pymongo
Pymongo es una distribución Python que contiene herramientas para trabajar con la base de
datos MongoDB [39].
Capítulo 3. Desarrollo de la propuesta de investigación
En este capítulo se describen las actividades y tareas que fueron desarrolladas para dar
cumplimiento a los objetivos de la investigación, partiendo de la construcción de un modelo
de clasificación para determinar el sentimiento de tweets asociados a Ecopetrol, para
finalmente implantar ese modelo en una aplicación cliente que permita visualizar el forma
gráfica la correlación entre las tendencias de opinión en Twitter contra el comportamiento
de mercado.
La metodología utilizada en el desarrollo de la investigación corresponde a CRISP-DM [40],
la cual está dividida en 6 fases que abarcan las actividades utilizadas en la construcción de
proyectos de Data Mining; la fase de implementación no aplica al desarrollo de esta
investigación por tratarse de un proyecto académico. Los procesos empleados para el
desarrollo de cada fase se describen a continuación:
3.1 Fase 1: comprensión del negocio
La comprensión del negocio es una de las tareas más importantes del proyecto porque permite
entender los objetivos y requisitos del proyecto, y de esta forma plantear el alcance de la
investigación. El desarrollo de esta fase permitió identificar los objetivos del negocio
mediante los modelos de la capa de negocio propuesta por Archimate [24], y a partir de estos
desarrollar el plan de proyecto que presente una perspectiva empresarial del proyecto.
3.1.1 Objetivos del negocio
La primera actividad en el desarrollo de la investigación corresponde a la identificación de
los objetivos del negocio, la cual se hizo utilizando los siguientes puntos de vista de la capa
de Negocio:
Cooperación de Actor: este punto de vista es utilizado porque permite identificar las
relaciones del rol de ’Procesador de texto’ para el análisis de tendencias, y de esta forma
determinar el comportamiento de una marca, utilizando flujos de datos capturados de Twitter
a través de un servicio Web.
Figura 30. Punto de vista de Cooperación de Actor
Fuente: autores
Proceso de negocio: este punto de vista describe el proceso de negocio partiendo de la
necesidad del cliente de conocer la opinión de una marca en Twitter, la cual es recibida por
el equipo de análisis de tendencias de Soft-OS y procesada, y de esta forma obtener la
calificación de la marca respecto a los comentarios hechos en la red social.
47
Figura 31.Punto de vista de proceso de Negocio
Fuente: autores
Producto: el punto de vista de producto se encarga de realizar la clasificación de tweets y su
respectiva calificación del sentimiento, ofreciendo al usuario la posibilidad de realizar un
análisis del comportamiento de una marca en particular. Además el usuario puede establecer
una relación entre el comportamiento en las redes sociales respecto al comportamiento real
de la marca en el mercado.
Figura 32. Punto de vista de Producto
Fuente: autores
3.1.2 Situación actual y alcance
El interés creciente en temas de inteligencia computacional y análisis de datos ha traído
consigo el surgimiento de técnicas y herramientas para la clasificación y categorización de
datos estructurados y no estructurados. Además, los datos públicos provenientes de las redes
sociales pueden ser accedidos de forma gratuita por medio de APIs de captura en tiempo real,
y a su vez procesados utilizando aplicaciones de análisis de datos. Es así que este proyecto
utilizará la información no estructurados de la red social Twitter y las herramientas
procesamiento de datos para evaluar los comentarios de los usuarios de esta red social y
mostrar el comportamiento de la opinión de una marca (Ecopetrol, como caso de estudio).
Asimismo permite relacionar el comportamiento del mercado de la marca frente a las
tendencias de Twitter. Para alcanzar estos objetivos se debe construir las funcionalidades
descritas en el punto de vista de Comportamiento de Aplicación (ver figura 33) y relacionadas
a continuación.
Figura 33. Punto de vista de Comportamiento de Aplicación
Fuente: autores
Un módulo de captura de datos provenientes de Twitter, tomando como criterio un
diccionario de campos.
Una base de datos no relacional para el almacenamiento de datos.
Una herramienta de procesamiento de datos que permita la limpieza y estructuración
de la información.
Un módulo de calificación de opinión que evalúe la semántica de un Tweet y
determine si este es positivo o negativo.
Un módulo de relación mercado – opinión de la marca.
Un módulo de reportes que permita descargar informes de los análisis aplicados en
una ventana de tiempo.
49
3.2 Fase 2: comprensión de los datos
Durante el desarrollo de esta fase se estableció las tecnologías y herramientas necesarias para
realizar el proceso de recolección de datos. El resultado de este análisis se plasmó en los
puntos de vista de Organización e Implementación e Infraestructura de la capa de
infraestructura.
Organización e Implementación: este punto de vista permitió definir los componentes y su
función dentro de la aplicación TrendSoft, tal como se puede ver en la figura 34.
Tipo de aplicación: standAlone
Sistema operativo: Windows 10
Base de datos: MongoDB
Lenguaje de programación: Python
Lenguaje de análisis de datos: R Analyst
Api de conexión a Twitter: Tweepy
Figura 34. Punto de vista de Organización e Implementación
Fuente: autores
Infraestructura: define los componentes físicos que serán necesarios para llevar a cabo el
correcto funcionamiento de la aplicación TrendSoft (ver figura 35).
Figura 35. Punto de vista de Infraestructura
Fuente: autores
3.2.1 Recolección de los datos
El proceso de captura de datos se hizo utilizando la API de Twitter para Python Tweepy bajo
el método de Streaming, a partir de la definición de un diccionario de campos relacionado
con el caso de estudio. Dicho diccionario inicialmente se hizo teniendo en cuenta palabras
claves relacionadas con el procesamiento de petróleo, Ecopetrol y sus filiales, pero una vez
iniciada la captura, este se redujo para evitar basura en la información recolectada; El
diccionario de campos definido es: {'ecopetrol', 'petroleo', 'oleoducto', ‘refineria’}
El script de captura se construyó utilizando las librerías OAuthHandler y API del lenguaje
de programación Python, y la información es persistida en una base de datos MongoDB, la
cual permite almacenar 27 atributos de cada tweet. La ventana de captura se estableció entre
las 9 am y las 4 pm, tiempo según el cual [41] se presenta mayor interactividad de los usuarios
de Twitter, y a su vez coincide con el horario de operación de la Bolsa de Valores de
Colombia (BVC), factor importante para la relación entre el comportamiento del mercado y
las tendencias en Twitter.
Los flujos de información de la red ofrecen muestras de los datos públicos que fluyen a través
de Twitter. Una vez que las aplicaciones externas establecen una conexión a un punto final
de transmisión, se entrega un feed de Tweets, sin tener que preocuparse por los límites de las
tasas como en el REST API.
Los clientes que realizan excesivos intentos de conexión (tanto con éxito como sin éxito)
corren el riesgo de que su IP sea bloqueada automáticamente[42].
51
Figura 36. Autenticación OAuth con Python-Twitter
Fuente: autores
La captura de datos se hizo utilizando las librerías de Python Python-twitter y Tweepy, bajo
el IDE de programación Eclipse. Twitter expone una API de servicios web para ser
consultada de forma gratuita, que retornara es una instancia de clase de modelo Tweepy con
los flujos de información suministrados.
Los controladores en MongoDB se utilizan para la conectividad entre las aplicaciones cliente
y la base de datos [43]. Para el desarrollo del proyecto, se tiene un programa Python que se
conecta a la base de datos MongoDB, utilizando el controlador Python.
3.2.2 Exploración de datos
La recolección de datos realizada inicialmente contenía mucha información basura que no
aportaba ninguna relevancia al caso de estudio, esto debido a que el tema de Ecopetrol ha
venido siendo politizado por investigaciones de corrupción. Por lo tanto, se ajustó el
diccionario de campos a un dominio más corto y conciso porque la amplitud del mismo no
era garantía de calidad en la información capturada.
Teniendo en cuenta la ventana de tiempo y el diccionario de campos establecidos, el volumen
de captura es aproximadamente 500 tweet por hora, lo que significa 3500 tweet al día;
cantidad necesaria para poder evaluar y establecer una tendencia de acuerdo a la opinión de
los usuarios. La tabla 1 muestra los atributos más relevantes de cada tweet utilizados para el
análisis de datos, teniendo en cuenta que existen otros que no contienen información válida.
Tabla 1. Principales atributos del Tweet
Atributo Descripción
Id Número de identificación del registro
Text Contenido del tweet
Id Id de Twitter
Favorite_count Número de favoritos
Retweeted Si es RT
Timestamp_ms Fecha y hora de captura
User Información del usuario
Geo Ubicación geográfica de publicación
Lang Lenguaje
Created_at Fecha de publicación
Fuente: autores
El punto de vista Estructura de Información de la capa de Infraestructura permite identificar
la relación entre los objetos de datos y los objetos del negocio; para el caso de estudio se
cuenta con un objeto de datos tweet que apoya la interpretación semántica del mismo para
verse reflejada en reportes sobre tendencias y opinión.
Figura 37. Punto de vista de Estructura de la Información
Fuente: autores
3.3 Fase 3: preparación de los datos
La captura de datos realizada en la fase 2 tenía el propósito de brindar un acercamiento a la
estructura de los flujos de información provenientes de Twitter, para determinar de forma
adecuada las técnicas de pre procesamiento y el modelo de datos que mejor se ajuste a los a
objetivos del caso de estudio. La fase de preparación de los datos tuvo en cuenta dos
actividades principales, las cuales se describen a continuación:
3.3.1 Estructuración de los datos
La construcción de un modelo de análisis de datos requiere de un conjunto de datos de
conocimiento supervisado, el cual está compuesto por una clasificación manual de la
información para enseñar al modelo la forma correcta de evaluar la información. Partiendo
de esta premisa, se realizó la captura de datos de la red social Twitter por 3 semanas para
obtener un total de 45458 tweet. La evaluación manual de la totalidad de datos es un tarea
compleja, por lo que se tomó una muestra más reducida de 1479 tweet, a los cuales se realizó
una valoración positiva (1) o negativa (-1) del sentimiento del tweet, de acuerdo al criterio
de los autores. Este conjunto supervisado se montó en un archivo .csv, que luego fue cargado
al modelo, tal como se puede visualizar en la figura 38.
53
Figura 38. Conjunto de conocimiento supervisado
Fuente: autores
La calificación manual del sentimiento de los tweet fue un proceso complejo que involucró
tiempo y conocimiento de la situación petrolera en Colombia y en el mundo, para dar un
criterio acertado de la semántica del tweet.
3.3.2 Formateo de los datos
Los procesos de pre procesamiento de datos son tan importantes como la misma captura e
involucran gran cantidad de recursos para llevar a cabo esta actividad, es por esto que se
evaluaron diferentes técnicas y herramientas para limpiar y formatear la información del
conjunto de conocimiento supervisado, y los nuevos tweets que serán evaluados una vez esté
construido el modelo. Después de revisar las ventajas y desventajas, se optó por realizar este
proceso utilizando las librerías tm y SnowballC del lenguaje R, las cuales permiten aplicar
varias técnicas de limpieza a partir de un corpus de conocimiento. En la tabla 2 se muestra
los procesos aplicados sobre cada tweet:
Tabla 2. Pre procesamiento de datos
Proceso Resultado
Tweet original “RT @: PETROLEO WTI sigue bajando acercandose a $48. Exceso
de inventarios de crudo se mantiene mientras la OPEP pierde cuota
de?”
Convertir a
minúscula
“rt @: petroleo wti sigue bajando acercandose a $48. exceso de
inventarios de crudo se mantiene mientras la opep pierde cuota de?”
Eliminar
puntuación
“rt petroleo wti sigue bajando acercandose a 48 exceso de inventarios
de crudo se mantiene mientras la opep pierde cuota de”
Eliminar números “rt petroleo wti sigue bajando acercandose a exceso de inventarios de
crudo se mantiene mientras la opep pierde cuota de”
Eliminar
pronombres
“rt petroleo wti sigue bajando acercandose exceso inventarios crudo
mantiene mientras opep pierde cuota”
Eliminar palabras
del diccionario
“rt wti sigue bajando acercandose exceso inventarios crudo mantiene
mientras opep pierde cuota”
Eliminar palabra
RT
“wti sigue bajando acercandose exceso inventarios crudo mantiene
mientras opep pierde cuota”
Palabras a la raíz “wti sigue bajand acercandose exces inventarios crud mantiene
mientras opep pierd cuot”
Fuente: autores
3.4 Fase 4: modelado
El objetivo del análisis de datos realizado en el proyecto es determinar el sentimiento positivo
o negativo de tweet referente a una marca en específico (Ecopetrol, como caso de estudio),
por lo tanto se seleccionó la técnica de Maquina de Soporte de Vectores (SVM, por sus siglas
en inglés) porque esta se enfoca en procesos de clasificación y regresión, partir de un conjunto
de datos de supervisados para entrenar el modelo y de esta forma por predecir
comportamientos de nuevos datos, ajustándose a los objetivos propuestos en esta
investigación.
3.4.1 Selección de la técnica de modelado
La SVM es una de las técnicas más importantes de Machine Learning que trabaja bajo un
enfoque probabilístico y buscar arrojar resultados de clasificación y predicción. Debido a la
popularidad de esta técnica, se ha desarrollado librerías en diferentes plataformas que apoyan
este proceso, para el caso de estudio se utilizan las librerías Caret, e1071 y plyr del lenguaje
R que permiten la construcción del modelo de análisis propuesto para este caso de estudio.
La construcción del modelo de clasificación a partir de la técnica de SVM ofrece una serie
de ventajas respecto al bajo tiempo de implementación y los niveles satisfactorios de
precisión del mismo.
55
3.4.2 Construcción del modelo
La construcción del modelo se hizo utilizando la técnica de SVM y un conjunto de datos de
entrenamiento, tal como se puede observar en la figura 39.
Figura 39. Modelo SVM construido para el caso de estudio
Fuente: autores
El modelo toma como factor clave el sentimiento del tweet presente en el conjunto de datos
y arroja un número total de 753 vectores clasificados en dos clases (positiva y negativa). La
estructura de este modelo es robusta, de tal forma que permita clasificar textos en un grado
significativo de precisión.
3.5 Fase 5: evaluación
La fase de evaluación permitió contrastar los resultados arrojados por el modelo con un
conjunto de prueba y de esta forma establecer el nivel de precisión utilizando una matriz de
confusión.
3.5.1 Evaluación de resultados
Del total de la muestra establecida como conjunto de datos supervisados se estableció dedicar
el 90% de la misma como conjunto de entrenamiento, y el 10% restante como conjunto de
prueba. Una vez finalizado este proceso se evaluación se tuvo la matriz de confusión que se
presenta en la figura 40.
Figura 40. Matriz de confusión del modelo
Fuente: autores
La matriz de confusión fue aplicada sobre el conjunto de prueba y arroja resultados
satisfactorios de 86% de precisión, que permiten determinar la validez del modelo construido
y la aplicación de este para la clasificación de nuevos flujos de información.
3.5.2 Revisión e integración
Una vez construido el modelo de análisis de datos, realizada la validación y aprobado el uso
del mismo en caso de estudio, se procede a construir la aplicación cliente que soporte el
modelo y permita a los usuarios visualizar las tendencias con la opinión de una marca.
La delimitación de los componentes de la aplicación y su ubicación en una determinada
localización, se hizo por medio del punto de vista de Cooperación de aplicación (ver figura
41), el cual permitió identificar la necesidad de construir 4 componentes con las
características descritas en la tabla 3:
Tabla 3. Componentes y funcionalidad TrendSoft
Componente Ubicación Funcionalidad
Reporteador Front Office Mostar de forma gráfica al usuario las tendencias
de opiniones y el comportamiento del mercado
Captura de datos Back Office Realizar la captura y almacenamiento de tweets.
Clasificación de
Sentimientos
Back Office Asignar una clasificación positiva o negativa,
teniendo en cuenta la semántica del tweet.
Análisis de
Mercado
Back Office Correlacionar la opinión de la marca con el
comportamiento del mercado Fuente: autores
57
Figura 41. Cooperación de Aplicación
Fuente: autores
A partir de los objetivos del negocio se identificaron dos procesos a nivel organizacional que
permiten determinar la opinión de la marca en Twitter, los cuales a su vez son soportados por
una aplicación denominada TrendSoft, encargada de presentar la opinión de la marca y
correlacionar dicha opinión con el comportamiento del mercado. La figura 42 muestra el
punto de vista de Niveles de la capa de Infraestructura
Figura 42. Punto de vista de Niveles
Fuente: autores
El punto de vista de Migración e Implementación presenta un resumen de los componentes
y la relación de estos, que conforman los entregables arquitectónicos del proyecto. El
producto relaciona las tendencias de Twitter con el comportamiento del mercado para
determinar la opinión de la marca en la red social, y de esta forma ofrecer al Trader mayor
asertividad al realizar operaciones bursátiles.
Figura 43. Punto de vista de Migración e Implementación
Fuente: autores
La capa de motivación se vale de los puntos de vista de Stakeholder y Principios para modelar
el comportamiento deseado de la aplicación desarrollada, a continuación se describe la
importancia de los modelos propuestos:
Stakeholder: la aplicación desarrollada le permite al Trader correlacionar la opinión de la
marca con las tendencias del mercado y de esta forma ofrecer un mayor grado de asertividad
al realizar operaciones bursátiles.
59
Figura 44. Punto de vista de Stakeholder
Fuente: autores
Principios: resalta los principios mínimos necesarios para relacionar la opinión de la marca
con el comportamiento del mercado, teniendo en cuenta que se debe contar con acceso
conteste a los flujos de Twitter y las tendencias del mercado.
Figura 45. Punto de vista de Principios
Fuente: autores
3.5.3 Presentación de resultados
A continuación se hace una presentación de los principales formularios desarrollados en la
aplicación TrendSoft, y que soportan los módulos e interfaces definidas en los diferentes
modelos del proyecto.
3.5.3.1 Menú principal
El menú principal permite seleccionar el módulo que el usuario va a ejecutar, el primer
módulo permite la visualización de las tendencias de opinión en tiempo real, mientras que el
segundo permite correlacionar las tendencias contra el comportamiento del mercado, tal
como se puede visualizar en la figura 46.
Figura 46. Presentación de resultados
Fuente: autores
3.5.3.2 Módulo de Clasificación de sentimientos
Este módulo cuenta con la función más importante de la aplicación que corresponde a la
clasificación de tweets (positivo o negativo) de acuerdo al modelo de análisis construido. Los
pasos seguidos en BackOffice del módulo para alcanzar este objetivo se describen en la figura
47.
Para la construcción de las gráficas del módulo se utilizaron las librerías NumPy y Matplotlib
de Python, cuyo uso se enfoca en la construcción de aplicaciones de ciencias matemáticas e
ingeniería, porque aprovechan la velocidad de procesamiento generada por el alto nivel de
acoplamiento de las librerías numpy para números y las librerías Matplotlib para la
representación gráfica.
61
Figura 47. Flujo de actividades BackOffice módulo de Tendencias en tiempo real
Fuente: autores
El diseño del grafico de tendencias tomó como base los datos clasificados por el modelo
análisis de construido, y se representa de tomando conjuntos de datos de los últimos 3
segundos, los cuales son totalizados con la calificación del conjunto anterior para mantener
el acumulado, acción que permite al usuario ver si la tendencia en el tiempo de evaluación
para la marca es positiva o negativa. La figura 48 muestra el gráfico de tendencias en tiempo
real construido por TrendSoft para el caso de estudio (Ecopetrol SA).
Figura 48. Diseño del Grafico de Tendencias
Fuente: autores
3.5.3.3 Módulo de Análisis de mercado
Este módulo permite correlacionar la información sobre las tendencias de opinión contra el
comportamiento del mercado, mediante dos gráficas, donde la primera corresponde a las
tendencias de opinión capturadas y clasificadas, y la segunda hace referencia a la información
provista por la Superintendencia Financiera de Colombia sobre el comportamiento accionario
de la marca a relacionar. Cada muestra corresponde a 15 minutos en el tiempo de operación
del mercado en Colombia (8:30AM a 3:00PM), que se representa en un gráfico de barras
apiladas, mientras que se utiliza un histograma para graficar el precio de operación del
mercado. La figura 49 permite observar el comportamiento del módulo para una ventana de
tiempo de prueba.
Figura 49. Diseño del Grafico de Relevancia
Fuente: autores
65
Capítulo 4. Conclusiones
En este capítulo se presenta de manera reflexiva los aprendizajes alcanzados en el desarrollo
de la investigación así como los posibles aportes a la construcción de ciencia y conocimiento
en el país.
66
4.1 Verificación, contraste y evaluación de los objetivos
La investigación tuvo como resultado la aplicación TrendSoft, la cual permite la clasificación
de sentimientos de tweets asociados a Ecopetrol en tiempo real, utilizando una técnica de
Text Data Mining. Esta herramienta está compuesta por un componente de captura de datos
encargada de la extracción, la limpieza y adecuación de los mismos, un componente de
clasificación que utiliza un modelo construido en R para determinar el sentimiento de un
tweet, y un componente de tendencias del mercado, el cuál utiliza la información obtenida
en la clasificación y el comportamiento accionario en una ventana de tiempo, para presentar
al usuario de forma gráfica la correlación de la variable de opinión vs la variable de mercado
y de esta forma ofrecer al usuario soporte para determinar la influencia de la opinión en la
operación de acciones de Ecopetrol.
El marco de trabajo propuesto cumple los objetivos de la investigación porque utiliza reportes
gráficos para correlacionar las variables de opinión y de mercado de Ecopetrol, teniendo en
cuenta la aplicación del modelo de Data Text Mining desarrollado sobre los flujos de
información capturada.
67
4.2 Aportes originales
Una herramienta de análisis de datos que permite capturar, almacenar, clasificar y presentar
el sentimiento de un tweets frente a la opinión de una marca en tiempo real, y utilizar esta
información para construir un gráfica de tendencias que sea comparable como el
comportamiento de mercado en una ventana de tiempo.
68
4.3 Líneas de investigación futuras
A lo largo del desarrollo de la investigación observamos funcionalidades que pueden ser
implementadas en una segunda fase del proyecto, tales como:
La generación de módulos para el estudio de diferentes mercados aplicado al
Community Management, usando la información de redes sociales como Twitter es posible
determinar la opinión de los internautas aplicada a cualquier tipo de marca lo que permitirá
a los mercados analizados adaptarse a la tendencia social siendo más competitivos.
Diseñar un módulo con técnicas de análisis lineal que permita contrastar la opinión
de los internautas en redes sociales, esto permitiría darle un enfoque de interés a las áreas de
BI en el mercado de las organizaciones.
Implementar una versión móvil de los módulos de análisis de datos que permita
soportar el proceso de toma de decisiones de negocio de forma portable.
Utilizar un conjunto de palabras positivas y negativas para clasificar el conjunto de
datos supervisados de otras marcas diferentes al caso de estudio.
69
4.4 Conclusiones
El desarrollo de la investigación permitió identificar que las técnicas de Data Text Mining, y
Clasificación aplicadas al análisis de datos no estructurados, son disciplinas promisorias en
el campo de las TIC y de un gran interés para las organizaciones que buscan aprovechar los
volúmenes de información presente en redes sociales porque permite aplicar algoritmos para
el descubrimiento de conocimiento que apoye la toma de decisiones.
La proliferación de técnicas y algoritmos para el procesamiento, clasificación, categorización
y predicción de datos ha llevado a que estos estén accesibles a profesionales TI y personas
interesadas en la temática, aspecto que facilitó la implementación de los mismos en la
construcción del modelo de procesamiento de datos propuesto sin contar con conocimientos
especializados en inteligencia computacional, herramientas privativas y/o dispositivos de alto
rendimiento.
Contar con una aplicación de análisis de datos para relacionar las tendencias de redes sociales
con el comportamiento accionario del mercado de una marca, se convierte en una herramienta
importante para el sector financiero y para la comunidad en general porque permite tener una
perspectiva de las opiniones de los internautas en tiempo real, utilizando fuentes alternativas
de información como redes sociales, para descubrir conocimiento y aplicarlo en la operación
bursátil de una organización.
70
BIBLIOGRAFÍA
[1] M. Gómez-Aguilar, S. Roses-Campos, and P. Farias-Batlle, “El uso académico de las
redes sociales en universitarios,” Comun. Rev. Científica Comun. y Educ., vol. 19, no.
38, pp. 131–138, 2012.
[2] M. del F. García, A. J. Daly, and J. Supovitz, “Desvelando climas de opinión por
medio del Social Media Mining y Análisis de Redes Sociales en Twitter. El caso de
los Common Core State Standards,” Redes. Rev. Hisp. para el análisis redes Soc., vol.
26, no. 1, pp. 53–75, 2015.
[3] M. Del-Fresno-García, “Haciendo visible lo invisible: Visualización de la estructura
de las relaciones en red en Twitter por medio del Análisis de Redes Sociales,” El Prof.
la Inf., vol. 23, no. 3, pp. 1386–6710, 2014.
[4] M. Slusarczyk Antosz and N. H. Morales Merchán, “ANÁLISIS DE LAS
ESTRATEGIAS EMPRESARIALES Y DE LAS TIC.,” 3C Empres., vol. 5, no. 1,
2016.
[5] C. Zhai and S. Massung, Text Data Management and Analysis: A Practical
Introduction to Information Retrieval and Text Mining. ACM, 2016.
[6] F. Friedrich, J. Mendling, and F. Puhlmann, “Process model generation from natural
language text,” in International Conference on Advanced Information Systems
Engineering, 2011, pp. 482–496.
[7] G. Salton, a. Wong, and C. S. Yang, “A vector space model for automatic indexing,”
Commun. ACM, vol. 18, no. 11, pp. 613–620, 1975.
[8] H. Turtle and W. B. Croft, “Inference networks for document retrieval,” Proc. 13th
Annu. Int. ACM SIGIR Conf. Res. Dev. Inf. Retr. - SIGIR ’90, pp. 1–24, 1990.
[9] J. M. Cotelo, F. Cruz, F. J. Ortega, and J. A. Troyano, “Explorando Twitter mediante
la integración de información estructurada y no estructurada,” Proces. del Leng. Nat.,
vol. 55, pp. 75–82, 2015.
[10] D. Zeng, H. Chen, R. Lusch, and S. H. Li, “Social media analytics and intelligence,”
IEEE Intelligent Systems, vol. 25, no. 6, pp. 13–16, 2010.
[11] J. Vidal, “Big data: Gestión de datos no estructurados,” 214AD. [Online]. Available:
https://goo.gl/BafCNL.
[12] A. K. Noor, “Potential of cognitive computing and cognitive systems,” Open
Engineering, vol. 5, no. 1. 2015.
<Título Anexo>
71
[13] A. A. R. Gómez and D. W. R. Bautista, “Inteligencia de negocios: Estado del arte,”
Sci. Tech., vol. 1, no. 44, pp. 321–326, 2010.
[14] E. Stamatatos, N. Fakotakis, and G. Kokkinakis, “Automatic Text Categorization in
Terms of Genre and Author,” Comput. Linguist., vol. 26, no. 4, pp. 471–495, Dec.
2000.
[15] M. A. P. Abelleira and C. A. Cardoso, “Minería de texto para la categorización
automática de documentos,” PhD Comput. Sci. por Carnegie Mellon Univ. Madrid,
España, 2010.
[16] C. G. Cambronero and I. G. Moreno, “Algoritmos de aprendizaje: knn & kmeans,”
Intelgencia en Redes Comun. Univ. Carlos III Madrid, 2006.
[17] Y. Gala García, “Algoritmos SVM para problemas sobre big data.” 2013.
[18] P. R. Santana, R. Costaguta, and D. Missio, “Aplicación de Algoritmos de
Clasificación de Minería de Textos para el Reconocimiento de Habilidades de E-
tutores Colaborativos,” Intel. Artif. Rev. Iberoam. Intel. Artif., vol. 17, no. 53, pp. 57–
67, 2014.
[19] H. Vivas, “Optimización en entrenamiento del perceptrón multicapa.” Tesis de
Maestría. Universidad del Cauca, Popayán, Colombia.[Links], 2014.
[20] E. Martínez Cámara, M. T. Martín Valdivia, J. M. Perea Ortega, and L. A. Ureña
López, “Técnicas de clasificación de opiniones aplicadas a un corpus en español,”
2011.
[21] A. C. Vásquez, J. P. Quispe, and A. M. Huayna, “Procesamiento de lenguaje natural,”
Rev. Investig. Sist. e Informática, vol. 6, no. 2, pp. 45–54, 2009.
[22] M. D. Arango Serna, J. E. Londoño Salazar, and J. A. Zapata Cortés, “Arquitectura
empresarial: una visión general,” Rev. Ing. Univ. Medellín, vol. 9, no. 16, pp. 101–
111, 2010.
[23] Colombia Digital, “¿Qué es Arquitectura Empresarial?,” 2018. [Online]. Available:
https://goo.gl/bhF7St.
[24] ArchiMate, “ArchiMate® 2,” The Open Group, 2013. [Online]. Available:
http://pubs.opengroup.org/architecture/archimate2-doc/chap08.html.
[25] Twitter, “Twitter,” 2016. [Online]. Available: https://about.twitter.com/es/company.
[26] Brandwatch, “Estadísticas de Twitter para el 2016,” 2016.
[27] Subgerencia Cultural del Banco de la República, “Mercado Bursátil,” 2015. [Online].
Available:
http://admin.banrepcultural.org/blaavirtual/ayudadetareas/economia/mercado_bursati
l.
[28] Ecopetrol S.A, “Ecopetrol,” 2016. [Online]. Available:
http://www.ecopetrol.com.co/wps/portal/es/ecopetrol-web.
[29] A. Bifet and E. Frank, “Sentiment knowledge discovery in twitter streaming data,” in
International Conference on Discovery Science, 2010, pp. 1–15.
[30] EcuRed, “Tecnologías de la Información y las Comunicaciones,” 2015. [Online].
Available:
https://www.ecured.cu/Tecnologías_de_la_información_y_las_comunicaciones.
[31] Grupo Integrado de Ingeniería GII, “Inteligencia Computacional,” 2017. [Online].
Available: http://www.gii.udc.es/investigacion/detalle/3.
[32] S. Acosta, “Inteligencia Computacional,” 2016. [Online]. Available:
http://computacional.webcindario.com.
[33] A. Gelbukh, “Procesamiento de lenguaje natural,” S. d. Virtual, Ed, 2010.
Anexo A
72
[34] C. G. Ibáñez, R. H. Ballesteros, and P. Gervás, “Una arquitectura software para el
desarrollo de aplicaciones de generación de lenguaje natural,” Proces. del Leng. Nat.,
vol. 33, 2004.
[35] T. R. Foundation, “What is R?,” 2017. [Online]. Available: https://www.r-
project.org/about.html.
[36] M. Kuhn, “The Caret package,” 2016. [Online]. Available: https://goo.gl/7IBgwT.
[37] Python Central, “Introduction to tweepy, Twitter for Python,” 2013. [Online].
Available: https://goo.gl/gBeu4N.
[38] Python, “Welcome to python-twitter’s documentation! — python-twitter 3.2.1
documentation,” 2016. .
[39] MongoDB, “PyMongo 3.4.0 Documentation,” 2015. [Online]. Available:
https://goo.gl/DOZBir.
[40] O. NCR (Dinamarca), AG(Alemania), SPSS (Inglaterra) and y D.-C. (Holanda),
Teradata, SPSS, “Metodología para el Desarrollo de Proyectos en Minería de Datos
CRISP-DM,” 2000.
[41] El tiempo, “Así usan las redes sociales los jóvenes en Colombia,” 2016. [Online].
Available: https://goo.gl/3sNGD0.
[42] Twitter, “Twitter Developer Documentation,” 2016. .
[43] MongoDB, “PyMongo 3.4.0 Documentation — PyMongo 3.4.0 documentation,”
2016. .
Recommended