universidad central del ecuador · universidad central del ecuador portada facultad de ingenierÍa...

118
UNIVERSIDAD CENTRAL DEL ECUADOR PORTADA FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA EN INFORMÁTICA ANÁLISIS DE PREFERENCIAS POLÍTICAS, SOPORTADO FUNDAMENTALMENTE POR LAS REDES SOCIALESTRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÁTICO AUTOR: JUAN PABLO GUEVARA GORDILLO TUTOR: ING MARIO RAÚL MORALES MORALES Quito Ecuador 2015

Upload: others

Post on 02-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

UNIVERSIDAD CENTRAL DEL ECUADOR

PORTADA

FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y

MATEMÁTICA

CARRERA DE INGENIERÍA EN INFORMÁTICA

“ANÁLISIS DE PREFERENCIAS POLÍTICAS,

SOPORTADO FUNDAMENTALMENTE POR LAS REDES

SOCIALES”

TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÁTICO

AUTOR: JUAN PABLO GUEVARA GORDILLO

TUTOR: ING MARIO RAÚL MORALES MORALES

Quito – Ecuador

2015

Page 2: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

II

DEDICATORIA

La presente tesis se la dedico principal y especialmente a mis

padres y abuelos, ya que gracias a su apoyo, paciencia y

confianza he culminado mi carrera, gracias por estar siempre a mi

lado apoyándome y aconsejándome incondicionalmente.

A mis hermanos por estar siempre presentes orientándome en

cada una de las decisiones importantes de mi vida.

Además debo agradecer a todos aquellos excelentes Docentes

que con sus conocimientos, sabios consejos y apoyo continuo,

contribuyeron no sólo en darme una formación académica

respetable sino también enriquecieron mi formación personal, así

como el apoyo sincero e incondicional de aquellos buenos

amigos y compañeros que siempre estuvieron a mi lado.

Page 3: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

III

AGRADECIMIENTO

A Dios por sus múltiples bendiciones y permitirme cumplir mis

objetivos.

A mis Padres Cesar Guevara y Martha Gordillo por ser mi

motivación, mis amigos, mis confidentes y mí guía.

A mis hermanos Gabriel y Leonardo, por brindarme sus consejos,

apoyo y ánimo.

A todos mis profesores de la Universidad Central del Ecuador en

especial:

A mi Director de Tesis Ing. Mario Morales quien con su esfuerzo y

dedicación, supo guiarme en el desarrollo de este proyecto de tesis.

A los profesores: Mat. Jorge Arroba e Ing. René Carillo porque

gracias a sus conocimientos y experiencia han aportado en mi

formación académica.

A todas las personas que forman parte de mi vida que de una u otra

forma me han brindado su valiosa amistad.

Page 4: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

IV

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL

Page 5: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

V

Page 6: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

VI

Page 7: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

VII

Page 8: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

VIII

CONTENIDO PORTADA ........................................................................................................................................................................................... I

DEDICATORIA ............................................................................................................................................................................... II

AGRADECIMIENTO ................................................................................................................................................................. III

AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL ....................................................................................... IV

CONTENIDO ............................................................................................................................................................................... VIII

LISTA DE TABLAS ................................................................................................................................................................... XI

LISTA DE ILUSTRACIONES ............................................................................................................................................ XII

RESUMEN ..................................................................................................................................................................................... XIV

ABSTRACT ................................................................................................................................................................................... XV

CAPÍTULO I ...................................................................................................................................................................................... 1

1. PRESENTACIÓN DEL PROBLEMA................................................................................................................... 1

1.1. Introducción ....................................................................................................................................................................... 1

1.2. Planteamiento del Problema ................................................................................................................................. 1

1.3. Formulación del Problema ...................................................................................................................................... 1

1.4. Interrogantes ..................................................................................................................................................................... 1

1.5. Objetivos de la Investigación ................................................................................................................................ 2

1.5.1. Objetivo General ....................................................................................................................................................... 2

1.5.2. Objetivo Específicos .............................................................................................................................................. 2

1.6. Justificación ....................................................................................................................................................................... 2

1.7. Alcance ................................................................................................................................................................................. 2

1.8. Delimitación del Proyecto ........................................................................................................................................ 3

CAPÍTULO II ..................................................................................................................................................................................... 4

2. FUNDAMENTACIÓN TEÓRICA ............................................................................................................................. 4

2.1. Procesamiento de lenguajes naturales ......................................................................................................... 4

2.2. Minería de Opinión ....................................................................................................................................................... 5

2.2.1. Polaridad de la Opinión ....................................................................................................................................... 6

2.2.2. Algunas aproximaciones no supervisadas ............................................................................................ 6

2.2.3. Algunas aproximaciones supervisadas ................................................................................................ 10

2.3. Redes Sociales ............................................................................................................................................................ 13

2.4. Gestión de Datos ........................................................................................................................................................ 17

Page 9: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

IX

2.4.1. Definición de datos no estructurados ..................................................................................................... 18

2.4.2. NOSQL ......................................................................................................................................................................... 21

2.4.3. Base de Datos NOSQL .................................................................................................................................... 21

2.5. Inteligencia de Negocios ....................................................................................................................................... 22

2.5.1. Datos, información y conocimiento .......................................................................................................... 24

2.5.1.1. Datos ......................................................................................................................................................................... 25

2.5.1.2. Información ........................................................................................................................................................... 25

2.5.1.3. Conocimiento ...................................................................................................................................................... 26

2.6. Marco de Trabajo (FRAMEWORK) ............................................................................................................... 26

2.6.1. ¿Qué es un framework Web? ...................................................................................................................... 27

2.6.2. Patrón MVC ............................................................................................................................................................... 28

2.6.3. Tipos de framework Web ................................................................................................................................ 29

2.6.4. Características. ....................................................................................................................................................... 30

2.7. ODBC .................................................................................................................................................................................. 30

2.8. Metodologías ................................................................................................................................................................. 31

2.8.1. Metodología de Desarrollo Software ...................................................................................................... 31

CAPÍTULO III ................................................................................................................................................................................ 32

3. ANÁLISIS DEL SISTEMA ........................................................................................................................................ 32

3.1. Especificación de Requerimientos ................................................................................................................ 32

3.1.1. Contextualización .................................................................................................................................................. 32

3.2. Requerimientos Funcionales ............................................................................................................................. 33

3.2.1. Características principales del sistema ................................................................................................ 33

3.2.2. Descripción de los Actores ............................................................................................................................ 33

3.2.2.1. Procesos de actores y roles .................................................................................................................... 34

3.2.2.1.1. Actividades del Administrador ..................................................................................................... 34

3.2.2.1.2. Actividades del usuario del sistema ........................................................................................ 34

3.2.3. Requerimientos Específicos ......................................................................................................................... 35

3.3. Casos de Uso ................................................................................................................................................................ 35

3.3.1. Diagrama general de casos de uso ......................................................................................................... 35

3.3.2. Descripción de los Casos de Uso ............................................................................................................. 36

3.4. Requerimientos no funcionales ........................................................................................................................ 39

Page 10: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

X

CAPÍTULO IV ................................................................................................................................................................................ 40

4. DISEÑO DEL SISTEMA ............................................................................................................................................. 40

4.1. Arquitectura del Sistema ....................................................................................................................................... 40

4.1.1. Diseño de la Arquitectura Lógica del Sistema ................................................................................. 40

4.2. Descripción de las Entidades ............................................................................................................................ 43

4.3. Diseño de Interfaces ................................................................................................................................................ 45

4.3.1. Interface Sitio Web ............................................................................................................................................... 45

4.3.1.1. Interfaz de Usuario ......................................................................................................................................... 45

4.3.2. Interfaz de Reportes ........................................................................................................................................... 48

CAPÍTULO V ................................................................................................................................................................................. 53

5. HERRAMIENTAS UTILIZADAS Y PRUEBAS DEL SISTEMA ................................................... 53

5.1. Plataforma ........................................................................................................................................................................ 53

5.2. Herramientas Utilizadas ........................................................................................................................................ 53

5.2.1. Herramientas a utilizarse para el desarrollo ..................................................................................... 53

5.2.1.1. Herramientas para modelado informático ..................................................................................... 53

5.2.1.2. Herramientas para desarrollo de interfaces de usuario ...................................................... 55

5.2.1.3. Herramientas para codificación............................................................................................................. 55

5.3. Estándares de Programación ............................................................................................................................ 59

5.4. Pruebas .............................................................................................................................................................................. 60

CAPÍTULO VI ................................................................................................................................................................................ 61

6. CONCLUSIONES Y RECOMENDACIONES ............................................................................................. 61

6.1. Conclusiones ................................................................................................................................................................. 61

6.2. Recomendaciones ..................................................................................................................................................... 61

GLOSARIO DE TÉRMINOS .............................................................................................................................................. 63

BIBLIOGRAFÍA ........................................................................................................................................................................... 66

ANEXOS ........................................................................................................................................................................................... 68

APÉNDICE ...................................................................................................................................................................................... 69

1. ARQUITECTURA DEL SITIO WEB .............................................................................................................. 69

2. MANUAL PARA EL USO DEL SITIO WEB ............................................................................................ 90

3. MANUAL DE USO DEL REPORTE ............................................................................................................. 96

Page 11: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

XI

LISTA DE TABLAS

Tabla 1: Frases formadas por dos palabras (WANTON, 2014) ................................................................. 6

Tabla 2: Palabras semillas usadas para crear los vectores de valencia (WANTON, 2014)

.................................................................................................................................................................................................................. 11

Tabla 3: Aproximaciones no supervisadas. (Autoría Personal) .............................................................. 12

Tabla 4: Aproximaciones supervisadas. (Autoría Personal) ...................................................................... 12

Tabla 5: Características de los Frameworks. (Informática, 2015) ....................................................... 30

Tabla 6: Descripción de Entidad Localización. (Autoría Personal)....................................................... 43

Tabla 7: Descripción de Entidad Tabla. (Autoría Personal) ....................................................................... 43

Tabla 8: Descripción de Entidad PolGeneral. (Autoría Personal) ......................................................... 43

Tabla 9: Descripción de Entidad Descod. (Autoría Personal) .................................................................. 44

Tabla 10: Descripción de Entidad Tema. (Autoría Personal) ................................................................... 44

Tabla 11: Descripción de Entidad General. (Autoría Personal) .............................................................. 44

Tabla 13: Diagrama UML de la Clase Conexión. (Autoría Personal) ................................................. 70

Tabla 14: Diagrama UML de la Clase ArchivoBean. (Autoría Personal) ......................................... 71

Tabla 15: Diagrama UML de la Clase ComentarioBean. (Autoría Personal)................................ 73

Tabla 16: Diagrama UML de la Clase DiccionarioBean. (Autoría Personal) ................................. 74

Tabla 17: Diagrama UML de la Clase DiccionarioTemaBean. (Autoría Personal) ................... 75

Tabla 18: Diagrama UML de la Clase EjecutarBean. (Autoría Personal) ........................................ 76

Tabla 19: Diagrama UML de la Clase ArchivoDao. (Autoría Personal) ............................................ 77

Tabla 20: Diagrama UML de la Clase ComentarioDao. (Autoría Personal) .................................. 79

Tabla 21: Diagrama UML de la Clase DiccionarioDao. (Autoría Personal) ................................... 80

Tabla 22: Diagrama UML de la Clase DiccionarioTemaDao. (Autoría Personal) ...................... 82

Tabla 23: Diagrama UML de la Clase Comentario. (Autoría Personal) ............................................ 83

Tabla 24: Diagrama UML de la Clase Diccionario. (Autoría Personal) ............................................. 84

Tabla 25: Diagrama UML de la Clase DiccionarioTema. (Autoría Personal) ............................... 84

Tabla 26: Diagrama UML de la Clase Ejecución. (Autoría Personal) ................................................. 85

Tabla 27: Diagrama UML de la Clase EjecucionTema. (Autoría Personal) ................................... 87

Tabla 28: Diagrama UML de la Clase Objeto. (Autoría Personal) ........................................................ 89

Page 12: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

XII

LISTA DE ILUSTRACIONES

Ilustración 1: Conocimiento, Información y Datos (sinnexus, 2015) .................................... 22

Ilustración 2: Acción, Información y Decisión. (Sinnexus, 2015) .......................................... 24

Ilustración 3: Business Intelligence / Business Operation. (Sinnexus, 2015) ..................... 24

Ilustración 4: Framework (Marco). (Informática, 2015). ......................................................... 27

Ilustración 5: Modelo Vista Contralor (MVC). (Informática, 2015) ........................................ 28

Ilustración 6: (MVC). (Informática, 2015) .................................................................................. 29

Ilustración 7: Actividades Administrador. (Autoría Personal) ................................................ 34

Ilustración 8: Actividades del usuario final. (Autoría Personal) ............................................. 34

Ilustración 9: Diagrama de casos de uso Análisis de preferencias Políticas, Soportado

fundamentalmente por las redes sociales. (Autoría Personal) ............................................... 35

Ilustración 10: Diagrama casos de uso Gestionar Información. (Autoría Personal) .......... 36

Ilustración 11: Diagrama de casos de uso Gestionar Reportes. (Autoría Personal) ......... 36

Ilustración 12: Diagrama de casos de uso Gestionar Sitio Web. (Autoría Personal) ........ 37

Ilustración 13: Diagrama de casos de uso Barra de Opciones. (Autoría Personal) .......... 37

Ilustración 14: Diagrama de caso de usos Visualización Comentarios. (Autoría Personal).

........................................................................................................................................................... 38

Ilustración 15: Diagrama de caso de usos Prueba de Comentario. (Autoría Personal) ... 38

Ilustración 16: Capa Presentación (Autoría Personal) ........................................................... 40

Ilustración 17: Capa Negocios ................................................................................................... 41

Ilustración 18: Capa Datos.......................................................................................................... 41

Ilustración 19: Modelo Entidad / Relación del Sistema. (Autoría Personal)........................ 42

Ilustración 20: Página Principal. (Autoría Personal) ............................................................... 45

Ilustración 21: Página de Video. (Autoría Personal) ............................................................... 45

Ilustración 22: Página Diccionario General. (Autoría Personal) ........................................... 46

Ilustración 23: Página Diccionario Temas. (Autoría Personal) ............................................. 46

Ilustración 24: Pagina Tabla Maestra. (Autoría Personal) ..................................................... 47

Ilustración 25: Página de Prueba. (Autoría Personal) ............................................................ 47

Ilustración 26: Pestaña Introducción Reporte. (Autoría Personal) ....................................... 48

Ilustración 27: Pestaña Inicio Reporte. (Autoría Personal) .................................................... 48

Ilustración 28: Pestaña Valores. (Autoría Personal) ............................................................... 49

Ilustración 29: Pestaña Gráficos. (Autoría Personal) ............................................................. 49

Ilustración 30: Pestaña Modelo-Entidad-Relación. (Autoría Personal)................................ 50

Ilustración 31: Pestaña Mapa Geo localización. (Autoría Personal) .................................... 50

Ilustración 32: Pestaña Comentarios. (Autoría Personal) ...................................................... 51

Ilustración 33: Pestaña Diccionarios. (Autoría Personal ........................................................ 51

Ilustración 34: Pestaña Resumen. (Autoría Personal) ........................................................... 52

Ilustración 35: PowerDesigner ................................................................................................... 53

Ilustración 36: Excel 2013 ........................................................................................................... 54

Ilustración 37: QVSOURCE ........................................................................................................ 54

Ilustración 38: QlikView ............................................................................................................... 54

Page 13: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

XIII

Ilustración 39: JSF ....................................................................................................................... 55

Ilustración 40: Primefaces ........................................................................................................... 55

Ilustración 41: Netbeans ............................................................................................................. 56

Ilustración 42: JDK ....................................................................................................................... 56

Ilustración 43: JAVA EE7 ............................................................................................................ 56

Ilustración 44: MVC ...................................................................................................................... 57

Ilustración 45: EJB ....................................................................................................................... 57

Ilustración 46: GlassFish ............................................................................................................. 58

Ilustración 47: Arquitectura del Sitio Web. (Autoría Personal) .............................................. 69

Ilustración 48: Paquete Conexiones .......................................................................................... 70

Ilustración 49: Paquete Controladores ...................................................................................... 71

Ilustración 50: Paquete DAO ...................................................................................................... 77

Ilustración 51: Paquete DTO ...................................................................................................... 83

Ilustración 52: Paquete Procesamiento .................................................................................... 85

Ilustración 53: GRÁFICO DE NIVELES DE NAVEGACIÓN EN EL SITIO WEB. (Autoría

Personal) .......................................................................................................................................... 90

Ilustración 54: Menú de Inicio. (Autoría Personal) .................................................................. 91

Ilustración 55: Pantalla de Programas. (Autoría Personal) ................................................... 91

Ilustración 56: Opción de Video. (Autoría Personal)............................................................... 92

Ilustración 57: Opción de Diccionario General. (Autoría Personal) ...................................... 92

Ilustración 58: Pantalla del Diccionario General. (Autoría Personal) ................................... 93

Ilustración 59: Opción de Diccionario por Temas. (Autoría Personal) ................................. 93

Ilustración 60: Pantalla del Diccionario por Temas. (Autoría Personal) .............................. 93

Ilustración 61: Opción de Cometarios. (Autoría Personal) .................................................... 94

Ilustración 62: Pantalla de Comentarios. (Autoría Personal) ................................................ 94

Ilustración 63: Opción de Archivos vs Base de Datos. (Autoría Personal) ......................... 95

Ilustración 64: Pantalla de Ingreso de Comentario. (Autoría Personal) .............................. 95

Ilustración 65: Pestaña Introducción Reporte. (Autoría Personal) ....................................... 96

Ilustración 66: Pestaña Inicio Reporte. (Autoría Personal) .................................................... 96

Ilustración 67: Pestaña Valores. (Autoría Personal) ............................................................... 97

Ilustración 68: Pestaña Gráficos. (Autoría Personal) ............................................................. 98

Ilustración 69: Pestaña Modelo-Entidad-Relación. (Autoría Personal)................................ 98

Ilustración 70: Pestaña Mapa Geo localización. (Autoría Personal) .................................... 99

Ilustración 71: Pestaña Comentarios. (Autoría Personal) .................................................... 100

Ilustración 72: Pestaña Diccionarios. (Autoría Personal) ..................................................... 100

Ilustración 73: Pestaña Resumen. (Autoría Personal) ......................................................... 101

Page 14: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

XIV

RESUMEN

“ANÁLISIS DE PREFERENCIAS POLÍTICAS,

SOPORTADO FUNDAMENTALMENTE POR LAS

REDES SOCIALES”

El presente proyecto define, diseña y desarrolla un Análisis de Preferencias

Políticas, soportado fundamentalmente por las Redes Sociales, que presentan

una realidad política del Presidente de la República del Ecuador Econ. Rafael

Correa Delgado. El tratamiento de los comentarios políticos es generado por

personas vinculadas a redes sociales y se graban en una base de datos para

el análisis. Como resultado los diversos comentarios políticos recogidos se

procesan, analizan y finalmente se exhiben de una manera clara sobre el tema

de investigación.

DESCRIPTORES:

ANÁLISIS DE PREFERENCIAS POLÍTICAS / REDES SOCIALES / TWITTER

/ POLÍTICA DEL PAÍS / INTELIGENCIA DE NEGOCIOS / PROCESAMIENTO

DE LENGUAJES NATURALES

Page 15: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

XV

ABSTRACT

“ANALYSIS OF POLITICAL PREFERENCES

FUNDAMENTALLY SUPPORTED BY SOCIAL

NETWORKS”

The present Project defines, designs, and develops an analysis of political

preferences fundamentally supported by Social Networks that present the

political reality of the President of the Republic of Ecuador, Economist Rafael

Correa Delgado. The treatment of political comments is based upon generated

content by persons linked to social networks and is recorded to a database for

analysis. As a result, the diverse political comments which have been gathered

are then processed, analyzed, and ultimately presented in a clear manner

about the subject of the inquiry.

DESCRIPTORS:

ANALYSIS OF POLITICAL PREFERENCES / SOCIAL NETWORKS /

TWITTER / COUNTRY POLICY / BUSINESS INTELLIGENCE / NATURAL

LANGUAGES PROCESSING

Page 16: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

XVI

Page 17: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

XVII

Page 18: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

1

CAPÍTULO I

1. PRESENTACIÓN DEL PROBLEMA

1.1. Introducción

En la actualidad existe una gran cantidad de información expuesta en el

internet, la cual puede ser usada para generar conocimiento, análisis y

desarrollo de las tecnologías.

La información es extensa y a la vez compleja, que por tanto surge la idea

de analizar tales contenidos, con el fin de realizar y explorar mediciones de

opinión y sentimientos vertidos en internet.

El uso del análisis sobre opiniones y sentimientos, se dan en varios

estudios, como por ejemplo: Valoraciones de productos o marcas famosas,

determinar la popularidad de un determinado partido político, etc.

En el presente proyecto de Tesis se pretende desarrollar, un Análisis de

preferencias políticas para la toma de decisiones.

1.2. Planteamiento del Problema

La falta de herramientas tecnológicas gratuitas, en favor de la toma de

decisiones estratégicas basadas, en la cantidad de datos generados por los

electores, en el entorno político del país.

1.3. Formulación del Problema

¿Se puede analizar preferencias políticas, al extraer contenidos web,

específicamente opiniones generadas por los actores políticos del país?

1.4. Interrogantes

Los interrogantes que se han planteado al realizar el trabajo de investigación

son los siguientes:

¿Cómo se extraerá los datos para luego ser analizados?

¿Cómo se podrá realizar un análisis de preferencias políticas?

Page 19: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

2

1.5. Objetivos de la Investigación

1.5.1. Objetivo General

Analizar las preferencias políticas generadas por los electores, apoyados en

herramientas informáticas, para la obtención y procesamiento de contenido

web.

1.5.2. Objetivo Específicos

Extraer los datos de una red social, a través de las herramientas informáticas.

Implementar algoritmos de programación e inteligencia de negocios, para

realizar el análisis de preferencias políticas, mediante el uso de

herramientas informáticas.

1.6. Justificación

Hoy en día no se cuenta con un análisis respecto a las preferencias políticas,

de ciertos actores que intervienen en la vida política del país. Por lo que es

adecuado realizar un análisis que permita definir preferencias políticas en el

contexto social del país.

Es pertinente señalar, que las sociedades modernas en las que vivimos hoy,

manejan con frecuencia medios sociales, que a su vez permite una libertad de

expresión por parte de los electores. Por este motivo la información de estos

medios sociales, pueden ser un factor importante y desequilibrante en el

análisis de preferencias políticas planteado para el presente proyecto.

1.7. Alcance

A continuación se detalla los módulos previstos para el presente proyecto:

a. MÓDULO PROCESAMIENTO

PROGRAMACIÓN

- Comprende el algoritmo para procesar los comentarios extraídos de Twitter.

- Diccionario de palabras en un contexto general.

- Diccionario de palabras en varios temas como son:

Page 20: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

3

o Cultura

o Educación

o Política, Derecho y Economía

o Información y Comunicación

- Creación de un sitio web, para la administración de los datos y la

ejecución de programas relacionados al análisis de preferencias

políticas.

b. MÓDULO DE ANÁLISIS

HERRAMIENTA DE INTELIGENCIA DE NEGOCIOS

Se dispone de esta herramienta para uso de reportes en el proceso de

análisis de preferencias políticas, lo cual permite la obtención de

información de manera clara a la hora de tomar una decisión.

o Mapa Geo referenciales

o Reportes dinámicos

1.8. Delimitación del Proyecto

El sitio web será visible únicamente en una máquina local.

Los datos manejados para el análisis preferencias políticas, serán cargados previamente, con el uso de herramientas informáticas.

El proceso de análisis de preferencias políticas, no se lo realizará en tiempo real.

Los comentarios extraídos por la herramienta informática, serán limitados.

La creación de los diccionarios, no comprende metodología, esto se refiere a que las palabras ingresadas se basan en búsquedas en la web.

Los diccionarios no son capaces de auto aprender.

Page 21: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

4

CAPÍTULO II

2. FUNDAMENTACIÓN TEÓRICA

2.1. Procesamiento de lenguajes naturales

El procesamiento de lenguajes naturales abreviado PLN, o NLP del idioma inglés (Natural Language Processing) es un campo de las ciencias de la computación, inteligencia artificial y lingüística que estudia las interacciones entre las computadoras y el lenguaje humano. El PLN se ocupa de la formulación e investigación de mecanismos eficaces computacionalmente para la comunicación entre personas y máquinas por medio de lenguajes naturales. El PLN no trata de la comunicación por medio de lenguajes naturales de una forma abstracta, sino de diseñar mecanismos para comunicarse que sean eficaces computacionalmente que se puedan realizar por medio de programas que ejecuten o simulen la comunicación. Los modelos aplicados se enfocan no sólo a la comprensión del lenguaje de por sí, sino a aspectos generales cognitivos humanos y a la organización de la memoria. El lenguaje natural sirve sólo de medio para estudiar estos fenómenos (CARBONELL, 2015).

Dificultades en el procesamiento de lenguajes naturales

Ambigüedad

El lenguaje natural es inherentemente ambiguo a diferentes niveles

(CARBONELL, 2015):

A nivel léxico, una misma palabra puede tener varios significados, y la

selección del apropiado se debe deducir a partir del contexto oracional o

conocimiento básico. Muchas investigaciones en el campo del

procesamiento de lenguajes naturales han estudiado métodos de resolver

las ambigüedades léxicas mediante diccionarios, gramáticas, bases de

conocimiento y correlaciones estadísticas.

A nivel referencial, la resolución de anáforas y catáforas implica determinar

la entidad lingüística previa o posterior a que hacen referencia.

A nivel estructural, se requiere de la semántica para desambiguar la

dependencia de los sintagmas preposicionales que conducen a la

construcción de distintos árboles sintácticos. Por ejemplo, en la frase

Rompió el dibujo de un ataque de nervios.

A nivel pragmático, una oración, a menudo, no significa lo que realmente

se está diciendo. Elementos tales como la ironía tienen un papel

importante en la interpretación del mensaje.

Page 22: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

5

Para resolver estos tipos de ambigüedades y otros, el problema central en

el PLN es la traducción de entradas en lenguaje natural a una representación

interna sin ambigüedad, como árboles de análisis.

En base a lo indicado anteriormente nos permitimos señalar un concepto orientado a nuestro problema. El Procesamiento de lenguaje natural nos permite generar un mecanismo, entre el computador y las personas. Para generar un entendimiento entre los actores involucrados.

2.2. Minería de Opinión

La Minería de Opiniones (conocida en inglés bajo los nombres de opinión

mining, sentiment classification, subjectivity analysis) es un área de la Minería

de Textos consistente en la clasificación de palabras, textos o documentos

de acuerdo a las opiniones, sentimientos, emociones y subjetividades

expresadas (WANTON, 2014).

Aunque ya en la década de los 90 se pueden encontrar algunos estudios en

esta área, no es hasta hace unos pocos años que se retoman los problemas

y las oportunidades que presenta la Minería de Opiniones. En consecuencia,

ya se pueden encontrar muchos artículos y sistemas que abordan esta

temática.

Este despertar se debe a tres factores fundamentales:

La cantidad de métodos de aprendizaje que se han propuesto para el

procesamiento del lenguaje natural y la extracción de información.

La disponibilidad de grandes colecciones de datos para entrenar estos

algoritmos, gracias a Internet y específicamente al desarrollo de sitios de

críticas, blogs, etc.

Desarrollo de los retos intelectuales y comerciales que el área ofrece.

El procesamiento automático de opiniones no es una tarea sencilla. Algunos

de los problemas presentes en el tratamiento de las opiniones son: el uso de

lenguaje informal, las abreviaturas, los errores ortográficos y tipográficos, el

lenguaje irónico y sarcástico, el nivel de conocimiento del lenguaje, el nivel

cultural, entre otros. Estos problemas, en comparación con el procesamiento

de documentos en otras tareas de la Minería de Textos, imponen una mayor

dificultad a la Minería de Opiniones (WANTON, 2014).

Page 23: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

6

2.2.1. Polaridad de la Opinión

La determinación de la polaridad (conocida además como orientación

semántica o valencia), es una de las tareas más importantes de la Minería de

Opiniones consistente en determinar cuándo una opinión es positiva,

negativa o neutra con respecto a la entidad a la cual se está refiriendo (una

persona, un producto, un tema, un filme, etc.) (WANTON, 2014).

Por ejemplo, la oración “Casi Famosos es una excelente película con un

argumento fresco, dinámico y original...”, es una opinión positiva, mientras

que, “El resultado es decepcionante, porque los cambios de tono (del drama

a la comedia) son constantes, y rompe muchas escenas...”, expresa una

opinión negativa y una opinión neutra “. La película tiene una duración de casi

dos horas y se podría clasificar como género entre comedia y drama...”

(WANTON, 2014).

2.2.2. Algunas aproximaciones no supervisadas

Turney

La aproximación propuesta clasifica una crítica como recomendada o no

recomendada basándose en un algoritmo no supervisado muy simple

(TURNEY, 2002).

A continuación se detallan los pasos del algoritmo (TURNEY, 2002).

Primer paso del algoritmo consiste en extraer frases que contengan

bigramas formados por un adjetivo o un adverbio y por otra palabra como

contexto. Para ello, primeramente realiza un análisis morfológico y extrae

palabras consecutivas que coincidan con alguno de los patrones presentados

en la Tabla 1 (donde: JJ-adjetivos, NN-sustantivos, RB-adverbios,VB-

verbos):

N⁰ Primera palabra Segunda palabra Tercera palabra

(no se extrae)

1 JJ NN o NNS Cualquiera

2 RB,RBR o RBS JJ ni NN ni NNS

3 JJ JJ ni NN ni NNS

4 NN o NNS JJ ni NN ni NNS

5 RB,RBR o RBS VB,VBD,VBN o VBG Cualquiera

Tabla 1: Frases formadas por dos palabras (WANTON, 2014)

Page 24: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

7

Segundo paso estima la orientación semántica (polaridad) de las frases

extraídas usando el algoritmo PMI-IR (Pointwise Mutual Information -

Information Retrieval). PMI permite calcular la fuerza de la asociación

semántica entre palabras y luego, se aplica recuperación de información (IR)

para obtener las estadísticas de la co-ocurrencia de palabras.

Las frases extraídas son consultadas para saber en qué medida se

encuentran más cerca de palabras positivas y negativas (en este caso

“excelente” y “pobre”, respectivamente). La estimación de la orientación

semántica (SO -Semantic Orientation), de una frase se calcula como:

𝑺𝑶(𝒇𝒓𝒂𝒔𝒆) = 𝐏𝐌𝐈(𝐟𝐫𝐚𝐬𝐞,execelente) − 𝐏𝐌𝐈(𝐟𝐫𝐚𝐬𝐞, "𝐩𝐨𝐛𝐫𝐞")

El valor PMI de dos palabras w1 y w2 está dado por la probabilidad de que

las dos palabras ocurran juntas dividido por la probabilidad de cada palabra

por separado, esto es:

𝐏𝐌𝐈(𝐖𝟏,𝐖𝟐) = 𝒍𝒐𝒈𝑷(𝑾𝟏,𝑾𝟐)

𝑷(𝑾𝟏)𝑷(𝑾𝟐)

Aquí, P(w1,w2) es la probabilidad de que las palabras w1 y w2 co-ocurran.

Si las palabras son estadísticamente independientes, la probabilidad de que

ellas co-ocurran está dada por el producto P(w1)P(w2). La razón entre

P(w1,w2) y P(w1)P(w2) es una medida del grado de dependencia estadística

entre estas palabras.

El logaritmo de esta razón corresponde a una forma de correlación, la cual

es positiva cuando las palabras tienden a co-ocurrir y negativa en caso

contrario.

PMI-IR estima PMI empleando un método de recuperación de información

que consulta a un motor de búsqueda y calcula las frecuencias en

dependencia de la cantidad de documentos recuperados:

𝐏𝐌𝐈(𝐖𝟏,𝐖𝟐) = 𝒍𝒐𝒈𝒉𝒊𝒕𝒔(𝑾𝟏,𝑾𝟐)𝑵

𝒉𝒊𝒔𝒕(𝑾𝟏)𝒉𝒊𝒕𝒔(𝑾𝟐)

En este caso, hits (q) es el número de documentos recuperados dada la

consulta q y N es el número total de documentos indexados por el motor de

búsqueda.

Page 25: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

8

Haciendo algunas modificaciones algebraicas e interpretando la co-ocurrencia como el operador de búsqueda NEAR, la estimación de SO se puede derivar de las fórmulas anteriores como sigue:

𝐒𝐎(𝐟𝐫𝐚𝐬𝐞) = 𝐥𝐨𝐠𝒉𝒊𝒕𝒔(𝒇𝒓𝒂𝒔𝒆𝑪𝑬𝑹𝑪𝑨excelente)𝒉𝒊𝒕𝒔("𝒑𝒐𝒃𝒓𝒆")

𝒉𝒊𝒕𝒔(𝒇𝒓𝒂𝒔𝒆𝑪𝑬𝑹𝑪𝑨pobre)𝒉𝒊𝒕𝒔("𝒆𝒙𝒄𝒆𝒍𝒆𝒏𝒕𝒆")

Los experimentos se realizaron con el motor de búsqueda Alta Vista1 y

usando el operador NEAR para restringir la búsqueda a los documentos en

los cuales las palabras de la consulta se encuentran en una ventana de 10

palabras y en cualquier orden.

Tercer paso clasifica las críticas como positivas o negativas (recomendadas,

no recomendadas), basándose en el promedio de los valores de orientación

semántica de las frases extraídas.

La crítica es positiva si el promedio también lo es; en caso contrario, es

negativa (TURNEY, 2002).

Kamps et al.

Kamps (KAMPS, 2004)determina la polaridad de una palabra teniendo en

cuenta relaciones léxicas definidas en Word Net. Para ello, definen un grafo

a partir de la relación de sinonimia entre adjetivos. Para obtener la polaridad

de un adjetivo en el subgrafo, tienen en cuenta la distancia del camino más

corto del adjetivo a los términos bueno y malo:

𝐒𝐎(𝒕) =𝒅(𝒕,𝒎𝒂𝒍𝒐) − 𝒅(𝒕, 𝒃𝒖𝒆𝒏𝒐)

𝒅(𝒃𝒖𝒆𝒏𝒐.𝒎𝒂𝒍𝒐)

Se considera que el adjetivo t es positivo si y sólo si SO(t) > 0, y el valor

absoluto de SO(t) determina la fuerza de esta polaridad (el denominador

constante d{bueno, malo}, es un factor de normalización para restringir que

los valores de SO se encuentren en el rango [−1, 1]).

Kim y Hovy

El sistema de Kim y Hovy (KIM & HOVY, 2004) aborda la detección de la

polaridad atribuyendo a cada palabra un valor positivo y otro negativo y luego,

combinando estas polaridades para obtener la clasificación final. Para ello,

primeramente se detecta la entidad que emite la opinión, luego se define la

región del texto donde supuestamente se debe encontrar el sentimiento

expresado por esta entidad acerca del tópico principal de la opinión y

Page 26: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

9

finalmente, se clasifica el sentimiento como positivo o negativo. Nótese que

en este método, en la determinación de la polaridad no se tiene en cuenta

toda la opinión, sino que ésta se restringe a regiones que expresan

sentimientos acerca del tópico principal de la opinión.

Dada la definición de un tópico y un conjunto de textos acerca de él,

primeramente el sistema selecciona aquellas oraciones que contengan tanto

a la expresión que define al tópico como entidades candidatas. Para cada

oración identifica las entidades que emiten la opinión utilizando un

etiquetador de nombres de entidades y se selecciona aquella entidad que se

encuentre más cercana a la expresión del tópico. Luego, delimitan el tamaño

de la región donde se encuentra el sentimiento expresado por la entidad. El

tamaño de la región se puede definir de varias formas:

1. La oración completa.

2. Las palabras entre la entidad y la expresión que define al tópico.

3. Las dos palabras antes y después de la entidad.

4. Las palabras a partir de la entidad y hasta el final de la oración.

Finalmente, se clasifica la polaridad de las palabras de la región y se

combinan estas polaridades para determinar la polaridad del sentimiento en

la región (KIM & HOVY, 2004).

CLaC

El sistema CLaC (ANDREEVSKAI & BERGLER, In Proceedings of the 4th

International Workshop on Semantic Evaluations, 2007), señala una

aproximación no supervisada e independiente del dominio de conocimiento

para la clasificación de la polaridad de titulares de noticias. El sistema utiliza

tres tipos de recursos: una lista de palabras disparadoras de sentimiento, una

lista de palabras modificadoras de polaridad y un conjunto de reglas que

definen el alcance y el resultado de combinar las palabras disparadoras y las

modificadoras de polaridad.

Para construir la lista de palabras disparadoras el método extiende la lista

de adjetivos anotados manualmente por (HATZIVASSILOGLOU &

MCKEOWN, 1997), usando el algoritmo STEP (ANDREEVSKAI &

BERGLER, Semantic tag extraction from wordnet glosses., 2006b) El

algoritmo STEP comienza con un conjunto pequeño de palabras semillas

anotadas manualmente con la polaridad y lo extiende utilizando las

Page 27: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

10

relaciones de sinonimia y antonimia de WordNet. Las palabras sinónimas

mantienen la misma polaridad y las antónimas, la polaridad opuesta.

Luego, el algoritmo realiza varias corridas sobre todos los glosarios de

WordNet, agregando a la lista de palabras disparadoras aquellas palabras

para las cuales (HATZIVASSILOGLOU & MCKEOWN, 1997), la definición

contiene alguna de las palabras ya incorporadas a la lista. Estas palabras se

registran con la polaridad de la palabra disparadora que se encontró en su

glosario.

Finalmente, el sistema determina la polaridad de un titular aplicando las

reglas construidas manualmente y obteniendo un valor difuso, que permite

clasificar el titular como positivo si el valor difuso es mayor que 0, negativo si

es menor que 0, o neutro en caso de que el valor difuso sea igual a 0.

2.2.3. Algunas Aproximaciones Supervisadas

SWAT

El sistema SWAT (KATZ, SINGLETON, & WICENTOWSKI, 2007), presenta

una aproximación supervisada para determinar la polaridad de titulares de

noticias usando un modelo de unigramas.

El algoritmo utiliza un conjunto de entrenamiento que contiene titulares de

noticias etiquetados manualmente con la polaridad (valor entre -100 y 100),

que a partir de ellos se construye una base de conocimientos formada por

palabras que ocurren en el conjunto de entrenamiento, a las que se les asigna

un valor de pertenencia a la clase positiva y negativa (valores de polaridad).

Para ello, primeramente, se lematizan todas las palabras y luego, se calculan

los valores de polaridad de una palabra W presente en el conjunto de

entrenamiento como el promedio de la polaridad que presenta cada titular H

donde ella ocurre:

𝐒𝐜𝐨𝐫𝐞(𝐏𝐨𝐥,𝐖) =∑ 𝑺𝒄𝒐𝒓𝒆(𝑷𝒐𝒍,𝑯)𝑯:𝑾∊𝑯

|{𝑯:𝑾 ∊ 𝑯}|

Pol es la clase de polaridad de la palabra w.

Finalmente, extienden esta base de conocimientos con sus sinónimos y

antónimos obtenidos a partir del tesauro Roget (Thesaurus, 2007). A los

sinónimos se les asigna un valor de polaridad de 100 mientras que a los

antónimos se les asigna - 40.

Page 28: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

11

Para determinar la polaridad de un nuevo titular, se promedian los valores

de polaridad de las palabras que ocurren en el titular y se selecciona el mayor

de ellos. Las palabras que no ocurren en la base de conocimientos se

ignoran.

SICS

El sistema SICS (SAHLGREN, KARLGREN, & ERIKSSON, 2007), presenta

una aproximación sencilla para la clasificación de titulares de noticias

basándose en un modelo de espacio vectorial y en un conjunto de palabras

semillas. La idea es crear dos vectores en un espacio de palabras de alta

dimensión: uno representando la polaridad positiva y otro la negativa. Cada

titular se proyecta en este espacio y se elige la polaridad cuyo vector se

encuentre más cerca del vector que representa al titular.

Positivas Negativas

Positivo Negativo

Bueno Malo

Ganar Derrota

Paz Guerra

Feliz Tristeza

Salud Enfermo

Seguro Peligros

Tabla 2: Palabras semillas usadas para crear los

vectores de valencia (WANTON, 2014)

CLAC-NB

El sistema CLAC-NB (ANDREEVSKAI & BERGLER, In Proceedings of the

4th International Workshop on Semantic Evaluations, 2007), utiliza el

conocido clasificador Naive Bayes para anotar titulares de noticias con la

polaridad. Para el entrenamiento requiere una gran colección de titulares

anotados manualmente para poder estimar las probabilidades del

clasificador.

Page 29: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

12

RESUMEN

A continuación se resumen las principales características de las aproximaciones descritas anteriormente. Para cada aproximación se detalla:

Técnica

Dominio

Idioma

Recursos

Rasgos

Evaluación

Aproximación Técnica Dominio Idioma Recursos Rasgos Evaluación

(TURNEY, 2002) Información Mutua y

Recuperación de Información

No Sí "- Motor de Búsqueda -Reglas sintácticas"

Bigramas Críticas de Opiniones

(KAMPS, 2004) Camino de longitud

mínima en un grafo de sinonimia

No No Word Net Adjetivos Lista de adjetivos

anotados por

(KIM & HOVY, 2004) Probabilística No No Word Net (tópico,

entidad, región)

100 oraciones extraídas del

corpus DUC 2001 etiquetas

anualmente

CLAC Basado en reglas

sintácticas No Sí

"- Lista de palabras

modificadoras de polaridad

- Reglas sintácticas"

Palabras Titulares de

noticias

Tabla 3: Aproximaciones no supervisadas. (Autoría Personal)

Ap Aproximación Técnica Dominio Idioma Recursos Rasgos Evaluación

SWAT Modelo de unigramas

Sí Sí

"- Tesauro -Titulares de noticias anotados manualmente"

Palabras Titulares de

noticias

SICS Modelo de espacio

vectorial Sí No

Vectores de contexto de frecuencias

Vectores en un espacio de

palabras

Titulares de noticias

CLAC-NB Naive Bayes Sí No Titulares de

noticias Palabras

Titulares de noticias

Tabla 4: Aproximaciones supervisadas. (Autoría Personal)

En base a lo indicado anteriormente nos permitimos señalar un concepto

orientado a nuestro problema. Minería de Opinión es clasificación de palabras,

textos o documentos de acuerdo a las opiniones, sentimientos, emociones y

subjetividades expresadas.

Page 30: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

13

2.3. Redes Sociales

Definición

El término red, proviene del latín rete, (BELIAL DIAZ, 2015) y se utiliza para

definir a una estructura que tiene un determinado patrón. Existen diversos tipos

de redes: informáticas, eléctricas, sociales. Las redes sociales se podrían

definir como estructuras en donde muchas personas mantienen diferentes

tipos de relaciones amistosas, laborales, amorosas.

Por lo tanto hoy en día el término "red social " se llama así a los diferentes

sitios o páginas de internet que ofrecen registrarse a las personas y

contactarse con infinidad de individuos a fin de compartir contenidos,

interactuar y crear comunidades sobre intereses similares: trabajo, lecturas,

juegos, amistad, relaciones amorosas, entre otros.

De acuerdo a lo que plantea Jaime Royero (2007), define las redes sociales

como "el conjunto de personas, comunidades, entes u organizaciones que

producen, reciben e intercambian bienes o servicios sociales para su

sostenimiento en un esquema de desarrollo y bienestar esperado. Dicho

bienestar es mediatizado por los avances en el campo de la ciencia y la

tecnología producidos y ofrecidos en su valor social y mercantil a las personas

o grupos de ellas, en un territorio y en unas condiciones económicas sociales

determinadas. Estos intercambios se dan a nivel local regional, nacional,

internacional y global".

A continuación se presenta una breve historia de las redes sociales. (BELIAL

DIAZ, 2015):

Evolución

Las redes sociales tienen sus inicios a mediados del año 1995, cuando Randy

Conrads crea el sitio Web classmates.com. Ésta permite que las personas

puedan recuperar o mantener el contacto con antiguos compañeros del

colegio, instituto, universidad, trabajo, entre otros.

En el año 2002 aparecen sitios web promocionando las redes de círculos de

amigos en línea cuando el término se empleaba para describir las relaciones

en las comunidades virtuales.

Una de las primeras redes sociales más populares, Friendster, apareció en

el año 2002, y fue creada para ayudar a encontrar amigos de amigos, y desde

su comienzo hasta la difusión oficial del sitio, en mayo del año 2003, había

crecido a la cantidad de 300 mil usuarios.

Page 31: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

14

En el año 2003 con la llegada de sitios tales como Friendster, Tribe.net,

MySpace, Ecademy, Soflow y LinkedIn. Había más de 200 sitios de redes

sociales, aunque Friendster ha sido uno de los que mejor ha sabido emplear

la técnica del círculo de amigos. La popularidad de estos sitios creció

rápidamente y grandes compañías han entrado en el espacio de las redes

sociales en Internet. Google lanzó Orkut en enero del año 2004 apoyando un

experimento que uno de sus empleados realizaba en su tiempo libre.

Facebook fue creado originalmente para apoyar a las redes universitarias, en

el año 2004, los usuarios del sitio estaban obligados a proporcionar las

direcciones de correo electrónico asociada con las instituciones educativas.

Facebook posteriormente se ha ampliado para incluir a los estudiantes de

secundaria, profesionales, y finalmente todos los usuarios potenciales de

Internet.

A través de estas redes sociales se puede compartir fotos, videos, aficiones,

conocer gente, darte a conocer, relacionarte, en general, con los demás, los

sitios ofrecen características como actualización automática de la libreta de

direcciones, perfiles visibles, la capacidad de crear nuevos enlaces mediante

servicios de presentación y otras maneras de conexión social en línea.

Desde entonces diversas redes se han creado, unas permanecen y otras

han desaparecido. Un poco antes del año 2009 hasta la actualidad, los

principales competidores a nivel mundial son: Hi5, MySpace, Facebook,

Tuenti, Twitter.

Impacto en la forma de comunicación.

Con las redes sociales tenemos la posibilidad de interactuar con otras

personas aunque no las conozcamos, el sistema es abierto y se va

construyendo obviamente con lo que cada suscripto a la red aporta, cada

nuevo miembro que ingresa transforma al grupo en otro nuevo, la red no es lo

mismo si uno de sus miembros deja de ser parte. Las redes cuentan con una

serie de herramientas tecnológicas muy sencillas de utilizar y permiten la

creación de comunidades de personas en que se establece un intercambio

dinámico y comunicativo.

Las redes sociales han producido gran impacto como forma de

comunicación, debido a que las ciencias tecnológicas, buscan siempre innovar

e ir a la par de las exigencias del colectivo. La comunicación por medio de las

redes sociales, es más amplia dado que la utilizan como un hobbie por ser

muy sencilla creando un espacio convergente en el cual expresamos nuestros

saberes, sentimientos, emociones, entre otros.

Page 32: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

15

Las redes sociales de contactos de amigos, intentan potenciar la

comunicación y mantener contacto entre usuarios. Este tipo de redes sociales

está desplazando en gran medida la comunicación por telefonía fija ya que

antes para organizar una fiesta o cena se tenían que estar llamando por

teléfono y ahora gracias a este tipo de redes sociales se ahorra tiempo y dinero

con tan solo meterse en internet desde su propia casa o establecimiento

cercano. Además debido a las redes sociales se ha disminuido la utilización

de otros medios de comunicación como el uso del correo y la mensajería

instantánea.

Las redes sociales han sido un fenómeno en estos últimos años, no sólo las

utilizan personas para comunicarse de una forma instantánea, intercambiar

ideas, reencontrarse con otras personas, compartir e intercambiar información

en diferentes medios, sino también están siendo utilizadas por grandes

corporaciones, organizaciones y compañías para promover sus productos y

servicios, es una forma amplia de comunicación para las corporaciones y

compañías ya que tienen un encuentro más cercano con sus consumidores o

afiliados.

Ventajas y desventajas del uso de las redes sociales. (BELIAL DIAZ, 2015):

Ventajas:

1. Puede ser utilizada en el sector académico y laboral, para el intercambio de

diversas experiencias innovadoras.

2. Los empresarios que hacen uso de las redes han demostrado un nivel de

eficiencia y un acertado trabajo en equipo, consolidando proyectos de gestión

del conocimiento.

3. Favorecen la participación y el trabajo colaborativo entre las personas, es

decir, permiten a los usuarios participar en un proyecto en línea desde

cualquier lugar.

4. Permiten construir una identidad personal y/o virtual, debido a que permiten

a los usuarios compartir todo tipo de información (aficiones, creencias,

ideologías, etc.) con el resto de los cibernautas.

5. Facilitan las relaciones entre las personas, evitando todo tipo de barreras

tanto culturales como físicas.

6. Facilitan el aprendizaje integral fuera del aula escolar, y permiten poner en

práctica los conceptos adquiridos.

Page 33: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

16

7. Por el aislamiento social del mundo actual, la interacción a través de Internet

permite a un individuo mostrarse a otros. Es decir, las redes sociales son una

oportunidad para mostrarse tal cual.

8. Permite intercambiar actividades, intereses, aficiones.

Desventajas:

1. Personas con segundas intenciones pueden invadir la privacidad de otros

provocando grandes problemas al mismo. Compañías especialistas en

seguridad afirman que para los hackers es muy sencillo obtener información

confidencial de sus usuarios.

2. Para algunos países ser usuario de estas redes se convierte en una amenaza

para la seguridad nacional. Esto ha hecho que para el personal relacionado

con la seguridad de un país sea una prohibición.

3. Si no es utilizada de forma correcta puede convertir en una adicción.

4. Gran cantidad de casos de pornografía infantil y pedofilia se han manifestado

en las diferentes redes sociales.

5. Falta de privacidad, siendo mostrada públicamente información personal.

Ejemplos y descripción de sitios (BELIAL DIAZ, 2015):

MySpace: Ofrece un espacio web que puede personalizarse con videos,

fotos, un blog y toda una serie de diversas y variadas aplicaciones.

Facebook: Comenzó como una red social de universitarios; pero sus

estrategias de mercadotecnia la han convertido en la red social generalista

más importante del mundo.

Skype: No sólo una red social, sino un servicio de telefonía.

Twitter: Red social para intercambio de intereses sobre todo profesionales y

literarios.

Características de las redes sociales

1. Están basadas en el usuario: Las redes sociales son construidas y dirigidas

por los mismos usuarios, quienes además las nutren con el contenido.

2. Son Interactivas: Las redes sociales poseen además de un conjunto de salas

de chat y foros, una serie de aplicaciones basadas en una red de juegos,

como una forma de conectarse y divertirse con los amigos.

Page 34: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

17

3. Establecen relaciones: Las redes sociales no sólo permiten descubrir nuevos

amigos sobre la base de intereses, sino que también permiten volver a

conectar con viejos amigos con los que se ha perdido contacto desde muchos

años atrás.

4. Intercambio de información e intereses: Las redes sociales permiten que el

contenido publicado por un usuario se difunda a través de una red de

contactos y sub-contactos mucho más grande de lo que se pueda imaginar.

5. Ofrece una variedad de servicios: Intercambio de información, fotografías,

servicios de telefonía, juegos, chat, foros.

Tipos de redes sociales

Existen muchos tipos (SUEIRAS, 2015), clasificadas según su propósito y

ámbito. Sin embargo, podemos hablar de tres grandes categorías:

1. Redes personales. Se componen de cientos o miles de usuarios en los que

cada uno tiene su pequeño “espacio” con su información, sus fotos, su

música, etc. Y cada uno se puede relacionar con los demás de múltiples

maneras, aunque todas ellas involucran el uso de Internet de una u otra

forma.

2. Redes temáticas. Son similares a las anteriores aunque se diferencian por el

hecho de que suelen centrarse en un tema en concreto y proporcionan las

funcionalidades necesarias para el mismo. Por ejemplo, una red de cine, una

de informática, de algún tipo de deporte, etc.

3. Redes profesionales. Son una variedad especial de las anteriores, dedicadas

exclusivamente al ámbito laboral, en todas sus vertientes. Pueden poner en

contacto a aquellos que ofrecen trabajo con los que lo buscan, crear grupos

de investigación, etc.

Podemos señalar gracias a lo mencionado anteriormente, que Red Social es conjunto de personas, comunidades que están estrechamente comunicados virtualmente, como si cada uno de ellos fuera un nodo individual.

2.4. Gestión de Datos

La gestión de los datos (GIL, 2015), no

estructurados se ha convertido en uno

de los principales retos a los que hacen

frente las compañías en lo relativo a

gestión de información y Big Data. Ilustración 1: Redes Sociales

Page 35: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

18

2.4.1. Definición de datos no estructurados

Una posible definición de datos no estructurados, son aquellos datos no

almacenados en una base de datos tradicional. La información no

estructurada no puede ser almacenada en estructuras de datos relacionales

predefinidas (GIL, 2015).

Se pueden establecer diferentes clasificaciones, vamos a considerar dos de

ellas (GIL, 2015):

Datos no estructurados y semiestructurados. Los datos

semiestructurados serían aquellos datos que no residen de 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. Datos no estructurados de tipo texto

podrían ser datos generados en las redes sociales, foros, e-mails,

presentaciones Power Point o documentos Word, mientras que datos no-

texto podrían ser ficheros de imágenes jpeg, ficheros de audio mp3 o

ficheros de video tipo flash.

Características de datos no estructurados

Las principales características de los datos no estructurados son las

siguientes: (GIL, 2015):

Volumen y crecimiento: el volumen de datos y la tasa de crecimiento

de los datos no estructurados es muy superior al de los datos

estructurados. Por ejemplo, Twitter genera 12 Terabytes de información

cada día. De acuerdo con Gartner, la tasa anual de crecimiento de datos

es del 40 a 60 por ciento, pero para los datos no estructurados en

empresas, la tasa de crecimiento puede llegar al 80 por ciento (informe

2012).

Orígenes de datos: El origen de los datos es muy diverso: datos

generados en redes sociales, datos generados en foros, e-mails, datos

extraídos de la web empleando técnicas de web semántica, documentos

internos de la compañía (word, pdf, ppt).

Almacenamiento: Debido a su estructura no podemos emplear

arquitectura relacional, siendo necesario trabajar con herramientas ‘Big

Data’, siendo crítico en estas arquitecturas los aspectos relacionados con

Page 36: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

19

la escalabilidad y paralelismo. Según el tipo de dato se impone el

almacenamiento cloud. Monitorizar la frecuencia de uso y la detección

de datos inactivos son aspectos críticos de cara a reducir costes de

almacenamiento.

Terminología e idiomas: La terminología es una cuestión crítica

tratando datos no estructurados de tipo texto. Es habitual llamar a lo

mismo de diferentes formas, de tal modo que es necesario una

racionalización de la terminología. Otra cuestión es el idioma en el que

se he generado la información tratada.

Seguridad: Hay que considerar que algunos datos no estructurados de

tipo texto, pueden no ser seguros. Por otra parte el control de accesos a

los mismos es complejo debido a cuestiones de confidencialidad y la

difícil clasificación del dato.

Tratamiento de datos no estructurados

Las principales cuestiones a considerar en el tratamiento de información

no estructurada son las siguientes (GIL, 2015):

Crear una plataforma escalable (infraestructura y procesos) que

permita tratar grandes cantidades de datos. Las tecnologías RDBMS son

insuficientes para tratar información no estructurada. Es necesaria una

capacidad de almacenamiento y una capacidad de proceso escalable.

Teniendo en cuenta que el coste económico de mantener plataformas

escalables, hay que considerar la opción cloud. Desde el punto de vista

de los procesos, en ocasiones es interesante utilizar in-memory analytics.

Añadir información / estructura complementaria a los datos no

estructurados. Es importante añadir algún tipo de estructura a los datos

no estructurados que ayude a su tratamiento. Por ejemplo, en una

colección de tweets de redes sociales puede ser interesante añadir

campos tales como el idioma, la localización geográfica para su posterior

procesado. Esta estructura adicional que añadimos debe ser modelizada

de cara a estar en constante evolución.

Crear conjuntos reducidos de datos que sean representativos. Dado

el volumen ingente de información, es importante trabajar con muestras

de datos que sean estadísticamente representativos sobre los datos a

analizar. Muchos análisis pueden llevarse a cabo con un grado de

Page 37: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

20

exactitud razonable, utilizando conjuntos de datos que son más

pequeños en un orden de magnitud que la información en bruto.

Desarrollo de algoritmos. Hay diferentes tipos de aproximación hacia

la información no estructurada. Por ejemplo, para procesos de text

mining, puede utilizarse natural language processing combinado con

redes neuronales. Otras técnicas como redes bayesianas permiten

descubrir patrones sobre múltiples dimensiones. Son importantes

también las técnicas de visualización de datos.

Procesos de depuración / limpiado de datos. Dado el ingente volumen

de datos, se convierte en crítico la correcta gestión del histórico de datos.

Detección de datos no usados o de frecuencia de consulta muy baja con

objeto de limpiar información y liberar espacio.

Ejemplo sencillo tratamiento datos no estructurados (redes sociales):

Dada la variada naturaleza de los datos no estructurados, hay infinidad de

posibles procesos relacionados con ellos. A continuación mostramos un

sencillo ejemplo de tratamiento de datos provenientes de redes sociales.

El objetivo de este análisis de datos es conocer la percepción que existe

sobre el precio de determinado producto en Twitter:

Extracción: Utilizando una clase de java (ejemplo Twitter4j) leemos el feed de Twitter disponible en https://twitter.com/search/realtime. Añadimos a los campos disponibles calificaciones del tipo: idioma, localización geográfica.

Transformación: Filtramos todos aquellos tuits que contengan el

nombre del producto. Refinamos el filtro introduciendo campos del tipo

(“precio”) + (“barato”, “caro”, “económico”, etc...), teniendo en cuenta el

idioma en el que se generan lo tuits. Valorar la opción en base al volumen

de obtener una muestra representativa de los datos extraídos y filtrados.

Volcado a BBDD: Insertamos en una tabla el registro del tuit con la

calificación identificada (idioma, localización geográfica).

Informes: Creamos informe que permita realizar análisis por tiempo y

campos de calificación. Hay que considerar que este informe puede ser

actualizado en tiempo real.

Page 38: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

21

2.4.2. NOSQL

Definición

NOSQL es una clase (JANSSEN, 2015), de sistemas de gestión de bases de

datos (DBMS), que no cumplan con todas las normas de un DBMS relacional

y no pueden usar SQL tradicional para consultar datos. El término es algo

engañoso cuando se interpreta como "NOSQL," y la mayoría traducirlo como

"No Sólo SQL", ya que este tipo de base de datos no es generalmente un

reemplazo sino, más bien, una adición complementaria a RDBMS y SQL.

Sistemas basados en NOSQL se utilizan típicamente en grandes bases de

datos, que son particularmente propensos a problemas de rendimiento

causados por las limitaciones de SQL y el modelo relacional de bases de

datos. Muchos piensan de NOSQL como la base de datos moderna de la

elección que se adapta a los requisitos Web. Algunas implementaciones

notables de NOSQL son base de datos Cassandra de Facebook, BigTable de

Google y Dynamo de Amazon.

2.4.3. Base de Datos NOSQL

Una base de datos NOSQL no necesariamente (JANSSEN, 2015), sigue las

estrictas reglas que rigen las transacciones en las bases de datos relacionales.

Estas normas vulneradas son conocidas por el acrónimo ACID (atomicidad,

coherencia, integridad, durabilidad). Por ejemplo, las bases de datos NOSQL

no utilizan estructuras de los esquemas fijos y uniones SQL.

En un RDBMS tradicionales, manejan las operaciones básicas como las de

lectura y escritura. La lectura pueden ser escalada por la replicación de datos

a varios equipos, por lo tanto el equilibrio de carga solicitudes de lectura. Sin

embargo, a la consistencia de los datos que debe ser mantenida, si el escalado

es particionado por datos. Esto afecta ya que pueden ser lentos y difíciles de

implementar. Además, para mantener las propiedades ACID, bases de datos

deben bloquear datos. Esto significa que cuando un usuario abre un elemento

de datos, ningún otro usuario debe ser capaz de realizar cambios en el mismo

artículo. Esta restricción tiene serias implicaciones en el rendimiento.

Estas limitaciones no han sido un gran problema en el pasado. Sin embargo,

con el advenimiento de las redes sociales y los grandes datos, una serie de

bases de datos masivas que surgió fueron obligadas a servir a las decenas o

incluso cientos de millones de clientes en todo el mundo, con varios miles de

lecturas y escrituras de cada minuto. Tradicional RDBMS simplemente no

Page 39: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

22

cumplen con esta necesidad, ya que sólo pueden "escalar", o aumentar los

recursos en un servidor central. Una implementación NOSQL, por otro lado,

puede "escalar", o distribuir la carga de la base de datos a través de varios

servidores.

Bases de datos NOSQL se centran en determinadas clases de problemas -

de ser más flexible en cuanto a los datos almacenados (tiendas de

documentos), a la focalización de casos de uso, al igual que las relaciones (las

bases de datos del gráfico) y la agregación de datos (bases de datos de

columna) o simplemente la simplificación de la idea de una base de datos a

algo que almacena un valor (tiendas de clave / valor).

Bases de datos NOSQL ofrecen las ventajas de escalabilidad rápida, un

rendimiento mucho mejor, y una estructura más sencilla en comparación con

los RDBMS. Sin embargo, también sufren de ser un relativamente nuevo y no

probado la tecnología, y no pueden proporcionar RDBMS 'rica de información

y funcionalidad analítica.

En base a lo indicado anteriormente nos permitimos señalar un concepto

orientado a nuestro problema. Gestión de datos es una frase muy importante

en análisis, tratamiento y almacenamiento de los datos. Hoy las empresas

gestionan sus datos a tal punto de concebir como activo de la empresa misma.

Por esta razón se considera muy importante manejar la Gestión de datos para

el presente proyecto.

2.5. Inteligencia de Negocios

Business Intelligence (Sinnexus, 2015), es la habilidad para transformar los

datos en información, y la información en conocimiento, de forma que se pueda

optimizar el proceso de toma de decisiones en los negocios.

Ilustración 1: Conocimiento, Información y Datos (sinnexus, 2015)

Page 40: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

23

Desde un punto de vista más pragmático, y asociándolo directamente con las

tecnologías de la información, podemos definir Business Intelligence como el

conjunto de metodologías, aplicaciones y tecnologías que permiten reunir,

depurar y transformar datos de los sistemas transaccionales e información

desestructurada (interna y externa a la compañía), en información

estructurada, para su explotación directa (reporting, análisis OLTP / OLAP,

alertas...), o para su análisis y conversión en conocimiento, dando así soporte

a la toma de decisiones sobre el negocio.

La inteligencia de negocio actúa como un factor estratégico para una

empresa u organización, generando una potencial ventaja competitiva, que no

es otra que proporcionar información privilegiada para responder a los

problemas de negocio: entrada a nuevos mercados, promociones u ofertas de

productos, eliminación de islas de información, control financiero, optimización

de costes, planificación de la producción, análisis de perfiles de clientes,

rentabilidad de un producto concreto, etc...

Los principales productos de Business Intelligence que existen hoy en día

son (Sinnexus, 2015):

Cuadros de Mando Integrales (CMI).

Sistemas de Soporte a la Decisión (DSS).

Sistemas de Información Ejecutiva (EIS).

Por otro lado, los principales componentes de orígenes de datos en el

Business Intelligence que existen en la actualidad son (Sinnexus, 2015):

Datamart

Datawarehouse

Los sistemas y componentes del BI se diferencian de los sistemas

operacionales en que están optimizados para preguntar y divulgar sobre datos.

Esto significa típicamente que, en un datawarehouse, los datos están

desnormalizados para apoyar consultas de alto rendimiento, mientras que en

los sistemas operacionales suelen encontrarse normalizados para apoyar

operaciones continuas de inserción, modificación y borrado de datos. En este

sentido, los procesos ETL (extracción, transformación y carga), que nutren los

sistemas BI, tienen que traducir de uno o varios sistemas operacionales

normalizados e independientes a un único sistema desnormalizado, cuyos

datos estén completamente integrados.

Page 41: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

24

En definitiva, una solución BI completa permite (Sinnexus, 2015):

Observar ¿qué está ocurriendo?

Comprender ¿por qué ocurre?

Predecir ¿qué ocurriría?

Colaborar ¿qué debería hacer el equipo?

Decidir ¿qué camino se debe seguir?

Ilustración 2: Acción, Información y Decisión. (Sinnexus, 2015)

2.5.1. Datos, información y conocimiento

Ilustración 3: Business Intelligence / Business Operation. (Sinnexus, 2015)

Page 42: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

25

2.5.1.1. Datos

Los datos (Sinnexus, 2015), son la mínima unidad semántica, y se

corresponden con elementos primarios de información que por sí solos son

irrelevantes como apoyo a la toma de decisiones. También se pueden ver

como un conjunto discreto de valores, que no dicen nada sobre el porqué

de las cosas y no son orientativos para la acción.

Un número telefónico o un nombre de una persona, por ejemplo, son datos

que, sin un propósito, una utilidad o un contexto no sirven como base para

apoyar la toma de una decisión. Los datos pueden ser una colección de

hechos almacenados en algún lugar físico como un papel, un dispositivo

electrónico (CD, DVD, disco duro...), o la mente de una persona. En este

sentido las tecnologías de la información han aportado mucho a recopilación

de datos.

Como cabe suponer, los datos pueden provenir de fuentes externas o

internas a la organización, pudiendo ser de carácter objetivo o subjetivo, o

de tipo cualitativo o cuantitativo, etc.

2.5.1.2. Información

La información, se puede definir como un conjunto de datos procesados y

que tienen un significado (relevancia, propósito y contexto), y que por lo

tanto son de utilidad para quién debe tomar decisiones, al disminuir su

incertidumbre. Los datos se pueden transforman en información

añadiéndoles valor (Sinnexus, 2015):

Contextualizando: se sabe en qué contexto y para qué propósito se

generaron.

Categorizando: se conocen las unidades de medida que ayudan a

interpretarlos.

Calculando: los datos pueden haber sido procesados matemática o

estadísticamente.

Corrigiendo: se han eliminado errores e inconsistencias de los datos.

Condensando: los datos se han podido resumir de forma más concisa (agregación).

Por tanto, la información es la comunicación de conocimientos o

inteligencia, y es capaz de cambiar la forma en que el receptor percibe algo,

impactando sobre sus juicios de valor y sus comportamientos.

Page 43: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

26

2.5.1.3. Conocimiento

El conocimiento (Sinnexus, 2015) es una mezcla de experiencia, valores,

información y know-how que sirve como marco para la incorporación de

nuevas experiencias e información, y es útil para la acción. Se origina y

aplica en la mente de los conocedores. En las organizaciones con

frecuencia no sólo se encuentra dentro de documentos o almacenes de

datos, sino que también está en rutinas organizativas, procesos, prácticas,

y normas.

El conocimiento se deriva de la información, así como la información se

deriva de los datos. Para que la información se convierta en conocimiento es

necesario realizar acciones como (Sinnexus, 2015):

Comparación con otros elementos.

Predicción de consecuencias.

Búsqueda de conexiones.

Conversación con otros portadores de conocimiento.

En base a lo indicado anteriormente nos permitimos señalar un concepto

orientado a nuestro problema. Inteligencia de Negocios es la habilidad para

transformar los datos en información, y la información en conocimiento. Esto

con la finalidad de optimizar recursos o procesos innecesarios.

2.6. Marco de Trabajo (FRAMEWORK)

Un marco o marco de software, es una plataforma (Techterms, 2015), para

el desarrollo de software de aplicaciones. Proporciona una base sobre la que

los desarrolladores de software pueden crear programas para una

determinada plataforma. Por ejemplo, un marco puede incluir predefinidos

clases y funciones que pueden ser utilizados para procesar la entrada,

gestionar los dispositivos de hardware, e interactuar con el software del

sistema. Esto simplifica el proceso de desarrollo ya que los programadores

no tienen que reinventar la rueda cada vez que desarrollan una nueva

aplicación.

Un marco es similar a una interfaz de programación de aplicaciones (API),

aunque técnicamente es un marco de trabajo incluye una API. Como su

nombre indica, un marco sirve como base para la programación, mientras

que una API proporciona acceso a los elementos admitidos por el marco. Un

marco también puede incluir bibliotecas de código, un compilador, y otros

programas utilizados en el proceso de desarrollo de software.

Page 44: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

27

2.6.1. ¿Qué es un framework Web?

El concepto framework (Informática, 2015), se emplea un muchos ámbitos

del desarrollo de sistemas software, no solo en el ámbito de aplicaciones

Web. Podemos encontrar frameworks para el desarrollo de aplicaciones

médicas, de visión por computador, para el desarrollo de juegos, y para

cualquier ámbito que pueda ocurrírsenos.

En general, con el término framework, nos estamos refiriendo a una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. En otras palabras, un framework se puede considerar como una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta.

Los objetivos principales que persigue un framework son: acelerar el

proceso de desarrollo, reutilizar código ya existente y promover buenas

prácticas de desarrollo como el uso de patrones.

Un framework Web, por tanto, podemos definirlo como un conjunto de

componentes (por ejemplo clases en java y descriptores y archivos de

configuración en XML) que componen un diseño reutilizable que facilita y

agiliza el desarrollo de sistemas Web.

Ilustración 4: Framework (Marco). (Informática, 2015).

Page 45: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

28

2.6.2. Patrón MVC

Para comprender como trabajan los frameworks Web existentes es

imprescindible conocer el patrón MVC.

Ilustración 5: Modelo Vista Contralor (MVC). (Informática, 2015)

El patrón Modelo-Vista-Controlador es una guía para el diseño de

arquitecturas de aplicaciones que ofrezcan una fuerte interactividad con

usuarios. Este patrón organiza la aplicación en tres modelos separados, el

primero es un modelo que representa los datos de la aplicación y sus reglas

de negocio, el segundo es un conjunto de vistas que representa los

formularios de entrada y salida de información, el tercero es un conjunto de

controladores que procesa las peticiones de los usuarios y controla el flujo de

ejecución del sistema (Informática, 2015).

Page 46: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

29

Ilustración 6: (MVC). (Informática, 2015)

La mayoría, por no decir todos, de los frameworks para Web implementan

este patrón. Una aplicación de este patrón en entornos Java para

programación Web es lo que se conoce con el nombre de arquitectura model

2.

2.6.3. Tipos de framework Web

Existen varios tipos de frameworks Web: orientados a la interfaz de usuario,

como Java Server Faces, orientados a aplicaciones de publicación de

documentos, como orientados e a la parte de control de eventos, como Struts

y algunos que incluyen varios elementos como Tapestry. (Informática, 2015).

La mayoría de frameworks Web se encargan de ofrecer una capa de

controladores de acuerdo con el patrón MVC o con el modelo 2 de Servlets y

JSP, ofreciendo mecanismos para facilitar la integración con otras

herramientas para la implementación de las capas de negocio y

presentación.

Page 47: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

30

2.6.4. Características.

A continuación enunciamos una serie de características que podemos

encontrar en prácticamente todos los frameworks existentes (Informática,

2015).

Abstracción de URLs y sesiones.

No es necesario manipular directamente las URLs ni las sesiones, el framework ya se encarga de hacerlo.

Acceso a datos. Incluyen las herramientas e interfaces necesarias para integrarse con herramientas de acceso a datos, en BBDD, XML, etc.

Controladores.

La mayoría de frameworks implementa una serie de controladores para gestionar eventos, como una introducción de datos mediante un formulario o el acceso a una página. Estos controladores suelen ser fácilmente adaptables a las necesidades de un proyecto concreto.

Autentificación y control Incluyen mecanismos para la identificación de usuarios

Internacionalización.

Separación entre diseño y contenido.

Tabla 5: Características de los Frameworks. (Informática, 2015)

En base a lo indicado anteriormente nos permitimos señalar un concepto

orientado a nuestro problema. Framework (Marco de Trabajo) es una

plataforma para el desarrollo de software de aplicaciones. Proporciona una

base de software para los desarrolladores como clases, funciones, etc.

2.7. ODBC

Conectividad abierta de bases de datos (ODBC) es la interfaz estratégica de

Microsoft para obtener acceso a datos en un entorno heterogéneo de

relacional y no-relacionales, sistemas de administración de base de datos.

Basado en la especificación de interfaz de nivel de llamada del grupo de

acceso SQL, ODBC proporciona una forma abierta, independiente del

proveedor de acceso a datos almacenados en una variedad de equipo

propietario, minicomputadoras y bases de datos de mainframe (Microsoft,

2015).

ODBC alivia la necesidad de proveedores de software independientes y los

programadores corporativos a aprender múltiples interfaces de programación

de aplicaciones. ODBC proporciona ahora una interfaz de acceso a datos

universal. Con ODBC, los desarrolladores de aplicaciones pueden permitir que

una aplicación para obtener acceso al mismo tiempo, ver y modificar datos

procedentes de varios diversas bases de datos.

Page 48: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

31

ODBC es un componente básico de la arquitectura de servicios abiertos de

Microsoft Windows. Apple ha respaldado ODBC como clave de habilitación de

la tecnología anunciando soporte en System 7 en el futuro. Con soporte en la

creciente industria, ODBC es rápidamente como un sector importante estándar

emergente para acceso a datos para aplicaciones de Windows y Macintosh

(Microsoft, 2015).

2.8. Metodologías

2.8.1. Metodología de Desarrollo Software

Para el desarrollo del sistema se va a considerar la metodología de desarrollo

de software, RUP (Rational Unified Process) para el análisis, construcción y

documentación del sistema ya que es un modelo que cubre todo el ciclo de

vida del producto, soporta un enfoque de desarrollo iterativo e incremental,

proporciona iteraciones tempranas que se enfocan en validar y producir una

arquitectura de software, y un ciclo de desarrollo inicial que toma la forma de

un prototipo ejecutable que gradualmente evoluciona convirtiéndose en el

sistema final y además tiene implícito en su proceso de desarrollo la

evaluación continua de la calidad con respecto a los requerimientos de calidad

deseados (KRUCHTEN, 1996).

El proceso de ciclo de vida de RUP se divide en cuatro fases llamadas

(KRUCHTEN, 1996):

Inicio: El objetivo en esta etapa es determinar la visión del proyecto. Mayor

énfasis en modelado del proyecto: objetivos, alcance, limitaciones, y

requerimientos.

Elaboración: En esta fase el objetivo es determinar la arquitectura óptima.

Se define infraestructura y ambiente de desarrollo.

Construcción: En esta etapa se lleva a cabo la construcción del producto

por medio de una serie de iteraciones obteniendo la capacidad operacional

inicial.

Transición: Se pretende obtener el producto preparado para la entrega.

Pruebas beta y piloto.

Esas fases se dividen en iteraciones, cada una de las cuales produce una

pieza de software demostrable.

Page 49: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

32

CAPÍTULO III

3. ANÁLISIS DEL SISTEMA

3.1. Especificación de Requerimientos

Los principales procesos que el presente trabajo pretende alcanzar, nacieron

de la necesidad por información que se prende brindar a los usuarios en la

web, en cualquier tipo de temática política, siendo así una manera útil en

aspectos políticos del país.

El objetivo fundamental es satisfacer la necesidad de información confiable,

acompañada de diagramas UML con casos de uso para puntualizar las

características de cada proceso de análisis, brindando así una descripción

detallada de los requerimientos tanto funcionales como no funcionales del

proyecto.

El análisis de los requerimientos, es el proceso de establecer con el mayor

detalle los servicios y funcionalidades que debe proporcionar el sistema, en

resumen nos dará una guía de cómo hemos conceptualizado el proyecto.

3.1.1. Contextualización

El Análisis busca demostrar una realidad política, enfocado a un actor político

en especial al “Presidente Rafael Correa”, mediante el manejo de

herramientas, conceptos informáticos.

La fuente de datos para el análisis es la Red Social Twitter, estos datos son

dados por los seguidores de la cuenta del Presidente Econ. Rafael Correa.

Considerando que los datos fueron tomados de manera abierta o publica,

Los datos extraídos por esta fuente, se dieron en el mandato del Presidente

Econ. Rafael Correa.

El análisis se encuentra dividido en varios aspectos como:

Dentro de un contexto muy general.

Dentro de Temáticas definidas, las cuales son:

o Educación

o Información y Comunicación

o Política, Derecho y Economía

o Cultura

o General

Page 50: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

33

3.2. Requerimientos Funcionales

3.2.1. Características principales del sistema

El análisis tendrá un sitio web principal donde se visualizara un panel de

control, donde se presentaran las diferentes opciones.

a) El sitio cuenta con una barra de opción, donde el usuario puede acceder a

los programas, videos, archivos de Excel, pruebas de comentario.

b) El sitio web deberá ser usado fácilmente, por personas sin conocimientos

en programación, base de datos ni diseño gráfico.

c) El sitio web permitirá al usuario visualizar los archivos de Excel además

de tener links directos a los reportes necesarios.

3.2.2. Descripción de los Actores

El Análisis de Preferencias Políticas empleará los siguientes grupos de

usuarios:

Administrador: Usuario encargado del mantenimiento del sitio web.

El administrador del modelo podrá:

Cargar nuevos datos o archivos.

Modificar los reportes.

Usuarios Final: Un usuario común.

Los usuarios podrán:

Visualizar el tablero de control principal, dentro del sitio web.

Visualizar los reportes, videos, ejemplo de prueba (comentario).}

Visualizar los archivos de Excel relacionados al análisis.

Page 51: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

34

3.2.2.1. Procesos de Actores y Roles

3.2.2.1.1. Actividades del Administrador

Al administrador configura y el sitio web para uso del usuario.

Ilustración 7: Actividades Administrador. (Autoría Personal)

3.2.2.1.2. Actividades del Usuario del Sistema

El usuario del sistema puede navegar por el sitio, con la opción de visualizar los reportes y ejecutar un ejemplo de análisis de preferencias políticas.

Ilustración 8: Actividades del usuario final. (Autoría Personal)

Page 52: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

35

3.2.3. Requerimientos Específicos

Usuario del Final:

El usuario podrá acceder al sitio principal de la aplicación y visualizar el tablero de control.

El usuario tendrá la posibilidad de acceder a reportes.

El usuario no necesitará conocimientos de programación, base de datos o diseño gráfico para poder navegar por la aplicación.

El usuario tendrá la posibilidad de visualizar el contenido del archivo de Excel con el sitio web.

Aplicación:

La aplicación se ejecutara en un entorno web.

El archivo de Excel provisto de datos podrá ser alimentado por un entorno de desarrollo (Web).

3.3. Casos de Uso

3.3.1. Diagrama general de casos de uso

Ilustración 9: Diagrama de casos de uso Análisis de preferencias Políticas, Soportado fundamentalmente por las redes sociales. (Autoría Personal)

Page 53: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

36

3.3.2. Descripción de los Casos de Uso

CU1. Gestionar Información

Actor: Administrador

Descripción: El Administrador podrá interactuar con todos los datos disponibles en el archivo de Excel.

Ilustración 10: Diagrama casos de uso Gestionar Información. (Autoría Personal)

CU2. Gestionar Reportes

Actor: Administrador

Descripción: El Administrador podrá gestionar los reportes, mediante la herramienta de inteligencia de negocios.

Ilustración 11: Diagrama de casos de uso Gestionar Reportes. (Autoría Personal)

Page 54: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

37

CU3. Gestionar Sitio Web

Actor: Administrador

Descripción: El Administrador podrá gestionar el sitio web.

Ilustración 12: Diagrama de casos de uso Gestionar Sitio Web. (Autoría Personal)

CU4. Barra de opciones

Actor: Usuario Final

Descripción: El Usuario final podrá tener acceso a los contenidos dentro del sitio web.

Ilustración 13: Diagrama de casos de uso Barra de Opciones. (Autoría Personal)

Page 55: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

38

CU5. Visualizar Comentarios

Actor: Usuario Final

Descripción: El Usuario final podrá tener acceso a los contenidos dentro del sitio web.

Ilustración 14: Diagrama de caso de usos Visualización Comentarios. (Autoría Personal).

CU6. Visualizar Comentarios

Actor: Usuario Final

Descripción: El Usuario final realizar pruebas de comentario.

Ilustración 15: Diagrama de caso de usos Prueba de Comentario. (Autoría Personal)

Page 56: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

39

3.4. Requerimientos no funcionales

Describen de manera general los atributos del sistema, así tenemos:

RNF1. Usabilidad

El sistema debe ser de fácil uso y comprensión por parte de los usuarios, debe mantener áreas definidas para la manipulación de la información, botones, menú y mensajes.

El usuario deberá poder acceder al sistema sin tener que descargar aplicaciones.

El sistema deberá estar completamente documentado, cada uno de los componentes de software que forman parte de la solución propuesta deben estar debidamente documentados tanto en el código fuente como en los manuales de administración y de usuario.

RNF2. Disponibilidad

El sistema estará en capacidad de dar respuesta al acceso de todos los usuarios y sus procesos.

RNF3. Escalabilidad – Capacidad

El sistema deberá garantizar el crecimiento del volumen de la información almacenada que se manejará en la base de datos.

RNF4. Portabilidad

La aplicación, al ser una aplicación web y estar desarrollada en lenguaje java, podrá ser portada de una plataforma a otra sin necesidad de modificar código.

Page 57: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

40

CAPÍTULO IV

4. DISEÑO DEL SISTEMA

Como producto del análisis minucioso de los requisitos del sistema se

describe a continuación el diseño del ANÁLISIS DE PREFERENCIAS POLÍTICAS,

SOPORTADO FUNDAMENTALMENTE POR LAS REDES SOCIALES, especificando el

modelo de la base de datos y diagramas que nos permitan identificar como se

ha construido el sistema.

4.1. Arquitectura del Sistema

La IEEE Std 1471-2000 (IEEE, 2015), da una definición que se ha acordado

como “oficial” sobre la Arquitectura de Software que dice:

“La Arquitectura de Software es la organización fundamental de un sistema

incorporado en sus componentes, las relaciones entre ellos, el ambiente y los

principios que orientan su diseño y evolución”.

4.1.1. Diseño de la Arquitectura Lógica del Sistema

En esta sección se presenta la estructura lógica de la arquitectura del

sistema, de acuerdo al patrón arquitectónico elegido.

Uno de los patrones arquitectónicos más utilizados para el desarrollo de

aplicaciones orientadas a objetos en la actualidad es el denominado

“arquitectura multi-capa”.

Por definición las aplicaciones JEE utilizan una arquitectura multicapa,

permitiendo separar lógicamente y en algunos casos físicamente, los aspectos

de presentación de la aplicación (interfaz de usuario), la lógica del negocios

(funcionalidad del sistema) y la gestión de los datos (bases de datos o archivos

planos).

La Capa de Presentación

Se la considera muchas veces llamada

capa de usuario, es la que gestiona la

interfaz del usuario, controlando la captura

y presentación de los datos y recibiendo

los eventos accionados por los usuarios a

través de la interfaz. Esta capa se

comunica únicamente con la capa de

lógica de negocios y es la capa que

visualiza el cliente. Ilustración 16: Capa Presentación

(Autoría Personal)

Page 58: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

41

La Capa de Lógica de Negocios

Es la responsable de manejar la

funcionalidad del sistema, es donde

residen los objetos de negocio

(programas) los cuales ejecutan las

reglas de negocio definidas

previamente. Esta capa se comunica

con la capa de presentación para

recibir solicitudes y presentar

resultados y con la capa de datos,

para solicitar al gestor de base de

datos que almacene, modifique,

elimine o recupere datos.

La Capa de Datos

Es llamada en algunos casos capa

de persistencia es la encargada del

almacenamiento, modificación,

eliminación y recuperación de los

datos. Se comunica únicamente con

la capa de lógica de negocios.

A continuación se detallará la

arquitectura del ANÁLISIS DE

PREFERENCIAS POLÍTICAS,

SOPORTADO FUNDAMENTALMENTE

POR LAS REDES SOCIALES en cada

una de las capas, así tenemos:

1. CAPA DE PRESENTACIÓN

CAPA DEL CLIENTE

El cliente general para acceder a esta aplicación es un navegador, se

recomienda utilizar navegadores actualizados como por ejemplo: Firefox,

Google Chrome.

CAPA WEB

El usuario al ingresar se le presenta el tablero de control y las opciones

a las que tiene acceso.

Ilustración 17: Capa Negocios

Ilustración 18: Capa Datos

Page 59: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

42

Toda la capa de presentación ha sido desarrollada con la

implementación Primefaces que pertenece al estándar Java Server

Faces. Toda la lógica del control de pantallas, ingreso de datos para

reportes es realizado a nivel de esta capa.

2. CAPA DE LÓGICA DE NEGOCIO

La lógica de negocio se encuentra dentro de esta capa. Técnicamente

en el contenedor EJB 3 se encuentran los session beans que contienen

dicha lógica de negocio.

3. CAPA DE DATOS

Se utilizará ODBC para conectar con un archivo Excel.

4. BASE DATOS

En función a los requerimientos especificados en el capítulo anterior, se

usó como gestor de base de datos, Excel office 2013.

MODELO Entidad / Relación

En este modelo encontraremos un conjunto de objetos básicos

llamados (tablas, entidades), que son los elementos principales que se

identifican en el problema a resolver. Cada entidad posee sus propios

elementos o características denominadas atributos.

Por otro lado también están las relaciones que se representan mediante enlaces de unión entre las tablas (entidades).

Ilustración 19: Modelo Entidad / Relación del Sistema. (Autoría Personal)

Page 60: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

43

4.2. Descripción de las Entidades

a.- LOCALIZACIÓN: Almacena los datos de cada provincia del país.

A T R I B U T O S

Nombre Tipo Descripción

user_location Número Código Único

descripción Loca String Nombre de Provincia

Latitud Float Coordenada Geográfica

Longitud Float Coordenada Geográfica

Tabla 6: Descripción de Entidad Localización. (Autoría Personal)

b.- TABLA: Almacena los datos del sistema, se considera la tabla maestro

del sistema.

A T R I B U T O S

Nombre Tipo Descripción

user_location Número Número de Provincia

polaridadGeneral Número Número de Polaridad

Tema Número Número de Tema

Num Número Número Único

Text String Comentario

reweet-Count String Número de Reweet

favorite-Count String Número de Favorito

possibly-Sensitive String Sentimiento Posible

Tabla 7: Descripción de Entidad Tabla. (Autoría Personal)

c.- POLGENERAL: Almacena los datos, correspondientes a la descripción de cada polaridad:

Positivo

Negativo

Neutro

A T R I B U T O S

Nombre Tipo Descripción

polaridadGeneral Número Número Único

descripcionPolG String Descripción de Polaridad

Tabla 8: Descripción de Entidad PolGeneral. (Autoría Personal)

Page 61: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

44

d.- DESCOD: Almacena los datos, correspondientes a la descripción de cada

temática:

Educación.

Información y Comunicación.

Política, derecho y Economía.

Cultura.

General.

A T R I B U T O S

Nombre Tipo Descripción

Tema Número Número Único

descripcionTema String Descripción del Tema

Tabla 9: Descripción de Entidad Descod. (Autoría Personal)

e.- TEMA: Almacena los datos, correspondientes al diccionario por temática.

A T R I B U T O S

Nombre Tipo Descripción

Definición String Definición de Palabra

Paltema String Palabra del Diccionario

Tema Número Número de Tema

Tabla 10: Descripción de Entidad Tema. (Autoría Personal)

f.- GENERAL: Almacena los datos, correspondientes al diccionario de

manera general.

A T R I B U T O S

Nombre Tipo Descripción

Definicion String Definición de Palabra

Palabra String Palabra del Diccionario

Polaridad Número Número de Polaridad

Tabla 11: Descripción de Entidad General. (Autoría Personal)

Page 62: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

45

4.3. Diseño de Interfaces

A continuación se presentará el formato estándar de las pantallas, en cada una de las partes.

4.3.1. Interface Sitio Web

4.3.1.1. Interfaz de Usuario

Menú Principal, con dos opciones (Programa de extracción de datos y Reportes)

Ilustración 20: Página Principal. (Autoría Personal)

a. PAGINA DE VIDEO

Procesamiento del comentario dentro del archivo Excel.

Ilustración 21: Página de Video. (Autoría Personal)

Page 63: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

46

b. PAGINA DE VISUALIZACION DICCIONARIO GENERAL

Página de administración del diccionario.

Ilustración 22: Página Diccionario General. (Autoría Personal)

c. PAGINA DE VISUALIZACIÓN DE DICCIONARIO POR TEMA

Página de administración del diccionario

Ilustración 23: Página Diccionario Temas. (Autoría Personal)

Page 64: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

47

d. PAGINA DE VISUALIZACIÓN DE TABLA MAESTRA

Página de visualización del contenido de la tabla maestra.

Ilustración 24: Pagina Tabla Maestra. (Autoría Personal)

e. PAGINA DE PRUEBA (COMENTARIO)

Página para realizar prueba, mediante el ingreso de comentarios.

Ilustración 25: Página de Prueba. (Autoría Personal)

Page 65: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

48

4.3.2. Interfaz de Reportes

PESTAÑA DE INTRODUCCIÓN

Ilustración 26: Pestaña Introducción Reporte. (Autoría Personal)

PÁGINA INICIO

Ilustración 27: Pestaña Inicio Reporte. (Autoría Personal)

Page 66: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

49

PÁGINA VALORES

Ilustración 28: Pestaña Valores. (Autoría Personal)

PÁGINA GRÁFICOS

Ilustración 29: Pestaña Gráficos. (Autoría Personal)

Page 67: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

50

PÁGINA MODELO ENTIDAD RELACIÓN

Ilustración 30: Pestaña Modelo-Entidad-Relación. (Autoría Personal)

PÁGINA MAPA GEO LOCALIZACIÓN

Ilustración 31: Pestaña Mapa Geo localización. (Autoría Personal)

Page 68: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

51

PÁGINA COMENTARIOS

Ilustración 32: Pestaña Comentarios. (Autoría Personal)

PÁGINA DICCIONARIOS

Ilustración 33: Pestaña Diccionarios. (Autoría Personal

Page 69: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

52

PÁGINA RESUMEN

Ilustración 34: Pestaña Resumen. (Autoría Personal)

Page 70: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

53

CAPÍTULO V

5. HERRAMIENTAS UTILIZADAS Y PRUEBAS DEL SISTEMA

5.1. Plataforma

La plataforma a utilizar en el desarrollo del ANÁLISIS DE PREFERENCIAS

POLÍTICAS es Java, que a más de ser un lenguaje de programación,

constituye una plataforma completa de desarrollo de aplicaciones, con una

gran cantidad de herramientas.

Java brinda independencia de plataforma, lo que significa que un programa

escrito en este lenguaje puede correr en cualquier tipo de hardware que tenga

la máquina virtual de Java (JVM).

Ofrece un soporte completo para la programación orientada a objetos,

además soporta los paradigmas de la orientación a objetos como son:

encapsulamiento, sobrecarga, herencia y polimorfismo.

5.2. Herramientas Utilizadas

5.2.1. Herramientas a utilizarse para el desarrollo

5.2.1.1. Herramientas para modelado informático

Power Designer 16

Ilustración 35: PowerDesigner

Es una herramienta para el análisis, diseño y construcción sólida de una

base de datos y un desarrollo orientado a modelos de datos a nivel físico y

conceptual, que brinda a los desarrolladores la más firme base para

aplicaciones de alto rendimiento. Ofrece un acercamiento de diseño para

optimizar las estructuras de las bases de datos, capturando el flujo de datos

de su organización, puede crear un modelo conceptual y físico de la base

de datos.

PowerDesigner combina de forma única los estándares gráficos y no

gráficos de las técnicas de modelado (Requerimientos, UML, Modelado de

Procesos de Negocio y XML) con ambientes líderes y modernos como

.NET, Workspace, Power Builder, Java, Eclipse, etc., ofreciendo soluciones

innovadoras de análisis, diseño y desarrollo para el ciclo de vida de

software.

Page 71: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

54

Excel 2013

Ilustración 36: Excel 2013

Excel es un programa informático desarrollado y distribuido por Microsoft

Corp. Se trata de un software que permite realizar tareas contables y

financieras gracias a sus funciones, desarrolladas específicamente para

ayudar a crear y trabajar con hojas de cálculo (Definicion, 2015).

QVSource 1.5.4.6

Ilustración 37: QVSOURCE

Licencia trial QvSource.

QVSource es una herramienta que permite extraer de manera simple los

datos de la Redes) y cruzarlos en un tablero analítico con el resto de la

información de mis sistemas corporativos (SANCHEZ, 2015).

Características:

Permite analizar la presencia de mis competidores en Twitter,

Facebook, y otras redes sociales, observando sus campañas y

resultados.

Ayuda a comprender el posicionamiento de mi marca en las redes

sociales, incluso cuando no estoy actuando activamente.

QLIKVIEW V11

Ilustración 38: QlikView

Licencia trial QlikView.

QlikView es una herramienta que permite el acceso a la información y

posibilita el análisis de los datos, lo cual a su vez mejora y optimiza el proceso

de toma de decisiones de negocio y por ende también el desempeño del

mismo (Packtpub, 2015).

Page 72: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

55

5.2.1.2. Herramientas para desarrollo de interfaces de usuario

Tecnologías Vista

JSF 2.2

Ilustración 39: JSF

La tecnología Java Server Faces es un marco de trabajo de interfaces de usuario del lado de servidor para aplicaciones Web basadas en tecnología Java. PRIMAFACES V5.1

Ilustración 40: Primefaces

Primefaces es una librería de componentes visuales open source

desarrollada y mantenida por Prime Technology, una compañía Turca de IT

especializada en consultoría ágil, JSF, Java EE y Outsourcing (LERMA,

2015).

Las principales características de Primefaces son:

Soporte nativo de Ajax, incluyendo Push / Comet.

kit para crear aplicaciones web para móviles.

Uso de javascript no intrusivo (no aparece en línea dentro de los elementos, sino dentro de un bloque <script>).

Es un proyecto open source, activo y bastante estable entre versiones.

5.2.1.3. Herramientas para codificación

Para la codificación se utilizará Netbeans, el cual es de libre distribución.

Una característica importante de Netbeans es que se pueden agregar diferentes plug-ins para aumentar la funcionalidad del Framework.

Page 73: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

56

NETBEANS

Ilustración 41: Netbeans

Versión: 8.0.2

Netbeans es un entorno de desarrollo muy completo y profesional. Contiene

muchas funcionalidades, para distintos tipos de aplicaciones y para facilitar

al máximo la programación, la prueba y la depuración de las aplicaciones que

se desarrollan. También incorpora un editor propio (YANEZ, 2015).

JDK

Ilustración 42: JDK

Versión 1.7

Se trata de un conjunto de herramientas (programas y librerías) que

permiten desarrollar (compilar, ejecutar, generar documentación, etc.)

programas en lenguaje Java.

Existen versiones del JDK para prácticamente todos los Sistemas

Operativos y existen también distintos programas comerciales (GARCIA,

2015).

Java EE7

Ilustración 43: JAVA EE7

Versión Java EE IDE for Web Developers.

Es una plataforma cuyo objetivo es el desarrollo de aplicaciones distribuidas dirigidas principalmente a la empresa. Entre sus requisitos están la fiabilidad, la facilidad de mantenimiento, la escalabilidad, entre otros.

Page 74: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

57

Patrón arquitectónico: MVC

Ilustración 44: MVC

MVC es una propuesta de diseño de software utilizada para implementar

sistemas donde se requiere el uso de interfaces de usuario. Surge de la

necesidad de crear software más robusto con un ciclo de vida más adecuado,

donde se potencie la facilidad de mantenimiento, reutilización del código y la

separación de conceptos (ÁLVAREZ, 2015).

Tecnologías Java EE EJB

Ilustración 45: EJB

Enterprise Java Beans (EJB) es una plataforma para construir aplicaciones

de negocio portables, reutilizables y escalables usando el lenguaje de

programación Java.

Tipos de EJB: Beans de Sesión (Session Beans)

En una aplicación típica, dividida en cuatro grandes capas:

Presentación.

Lógica de Negocio.

Persistencia.

Base de datos.

Page 75: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

58

Los Beans de Sesión viven en la lógica de negocio. Hay dos grandes tipos

de Beans de Sesión:

Stateless (sin estado), no conserva el estado de ninguno de sus

atributos de la invocación de un método a otro.

Stateful (con estado), conserva el estado a lo largo de toda una

sesión.

Message-Driven Beans (MDBs):

También viven en la lógica de negocio y los servicios que proveen son

parecidos a los Beans de Sesión, con la diferencia de que los MDBs son

usados para invocar métodos de forma asincrónica. Cuando se produce la

invocación de un método de un MDB desde un cliente, la llamada no bloquea

el código del cliente y el mismo puede seguir con su ejecución, sin tener que

esperar indefinidamente por la respuesta del servidor.

Entidades (Entities): Las entidades viven en la capa de persistencia y son

los EJBs que manejan la Java Persistence API (JPA). Las entidades son

POJOs con cierta información metadata que permite a la capa de persistencia

mapear los atributos de la clase a las tablas de la base de datos y sus

relaciones.

GLASSFISH 4.1

Ilustración 46: GlassFish

Glassfish es un servidor de aplicaciones de software libre desarrollado por

Sun Microsystems, compañía adquirida por Oracle Corporation, que

implementa las tecnologías definidas en la plataforma Java EE y permite

ejecutar aplicaciones que siguen esta especificación. Es gratuito, de código

libre y se distribuye bajo un licenciamiento dual a través de la licencia CDDL

y la GNU GPL.

Page 76: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

59

5.3. Estándares de Programación

Los nombres de los paquetes estarán dados de acuerdo a la funcionalidad y módulo de desarrollo al que corresponden, tendrán letras minúsculas; así por ejemplo:

Conexiones

Controladores

DAO

DTO

Procesamiento

Donde:

Conexiones.- se encuentra todas líneas de código para realizar el

ODBC con el archivo de Excel.

Controladores.- Son Managed Bean encargados de interactuar

directamente con las páginas o la vista.

DAO.- es una capa intermedia en donde se encuentra todas las

operaciones fundamentales del sistema.

DTO.- son clases POJO con atributos y métodos necesarios para la

creación de objetos en el sistema.

Procesamiento.- se encuentra las clases necesarios para el análisis

de preferencias políticas.

EJBs: (Lógica de Negocio)

Carpeta Controladores - Archivo Bean

- Comentario Bean

- Diccionario Bean

- Diccionario Tema Bean

- Ejecutar Bean

Page 77: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

60

JSF: (Parte Web)

Faces

Inicio. xhtml

Programas. xhtml

Comentarios. xhtml

Archivos. xhtml

Dicc. xhtml

Dicc. Tema. xhtml DAO: (Data Acces Objetc)

Archivo Dao.

Comentario Dao.

Diccionario Dao.

Diccionario Tema Dao.

DTO: (Data Transfer Object)

Comentario.

Diccionario.

Diccionario Tema.

5.4. Pruebas

El propósito de las pruebas es proporcionar una guía de cómo evaluar y

asegurar la calidad del producto.

En el presente trabajo se necesita probar los siguientes puntos:

Validez del análisis de preferencias políticas.

Funcionalidad de la aplicación Web

La primera parte que es probar la validez del análisis de preferencias

políticas ya sea el algoritmo y los diccionario creados.

Para la segunda parte Funcionalidad de la aplicación Web se considerará

tanto el funcionamiento del archivo de datos como las funcionalidades

propias de la aplicación.

Page 78: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

61

CAPÍTULO VI

6. CONCLUSIONES Y RECOMENDACIONES

6.1. Conclusiones

Los algoritmos de optimización contribuyan positivamente en legibilidad del código fuente, gracias al uso del patrón de diseño MVC.

Los diccionarios de palabras tanto de contexto general como de temática específica, juegan un factor muy decisivo en el procesamiento del comentario.

El tratamiento, procesamiento y ejecución del comentario a nivel de memoria es mucho más eficiente que el llevado a cabo por disco.

El uso de mapas de geo localización facilitan el entendimiento a los usuarios finales.

La implementación de Inteligencia de Negocios facilita a la gerencia en la toma de decisiones.

El flujo de datos que se generan en las redes sociales, pueden ser de acceso público o privado.

El análisis de preferencia permite presentar información fiable a cierto actor político, como sujeto de comentario.

El manejo de archivos planos, determina que la visualización de las etapas de procesamiento del comentario se ejecuten de manera coherente con el algoritmo implementado.

6.2. Recomendaciones

Debido a que los datos extraídos resultan ser incontables y de forma no poco o nada estructurada, es necesario manejar Bases de Datos no Estructuradas a fin de garantizar un análisis mucho más exhaustivo.

La creación de diccionario se la debe realizar de forma automática, es decir que por sí solo aprenda y crezca a la vez.

Page 79: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

62

Disponer de un recurso tecnológico dotado de recursos de hardware de alta disponibilidad técnica y operativa al momento del procesamiento de texto.

Es importante que la creación de Modelo-Entidad-Relación se la realice bajo norma mínima 3FN, con lo cual se garantiza exactitud en carga de datos al momento de la generación del reporte requerido.

Es necesario que la codificación de los campos definidos en la tabla de datos, sean de tipo categórico.

Se aconseja para futuras investigaciones, considerar el tema de Minería de Datos, para introducir metodologías matemáticas en el análisis de comentarios.

Page 80: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

63

GLOSARIO DE TÉRMINOS

API, Una interfaz de programación de aplicaciones es un conjunto de

convenciones internacionales que definen cómo debe invocarse una

determinada función de un programa desde una aplicación.

ENCAPSULAMIENTO, Es el ocultamiento del estado, es decir, del dato

miembro, de un objeto de manera que sólo se puede cambiar mediante las

operaciones definidas para ese objeto.

FRAMEWORK, Representa una arquitectura de software que modela las

relaciones generales de las entidades del dominio, y provee una estructura y

una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones

del dominio.

GRAFO, en matemáticas y ciencias de la computación, un grafo (del griego

grafos: dibujo, imagen) es un conjunto de objetos llamados vértices o nodos

unidos por enlaces llamados aristas o arcos, que permiten representar

relaciones binarias entre elementos de un conjunto.

HERENCIA, A través de ella los diseñadores pueden crear nuevas clases

partiendo de una clase o de una jerarquía de clases preexistente (ya

comprobadas y verificadas) evitando con ello el rediseño, la modificación y

verificación de la parte ya implementada.

IEEE, El Instituto de Ingeniería Eléctrica y Electrónica abreviado como IEEE,

inglés Institute of Electrical and Electronics Engineers es una asociación

mundial de técnicos e ingenieros dedicada a la estandarización y el desarrollo

en áreas técnicas.

JSP, es una tecnología que ayuda a los desarrolladores de software a crear

páginas web dinámicas basadas en HTML, XML, entre otros tipos de

documentos.

LEMATIZACION, es un proceso lingüístico que consiste en, dada una forma

flexionada (es decir, en plural, en femenino, conjugada, etc.), hallar el lema

correspondiente. El lema es la forma que por convenio se acepta como

representante de todas las formas flexionadas de una misma palabra. Es

decir, el lema de una palabra es la palabra que nos encontraríamos como

entrada en un diccionario tradicional: singular para sustantivos, masculino

singular para adjetivos, infinitivo para verbos. Por ejemplo, decir es el lema

Page 81: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

64

de dije, pero también de diré o dijéramos; guapo es el lema de guapas; mesa

es el lema de mesas.

La lematización es una tarea propia de la Lingüística Computacional, y es

útil en la tecnología aplicada a buscadores, traductores automáticos,

extracción de información y demás herramientas vinculadas al

Procesamiento del Lenguaje Natural.

MODEL 2 (MODELO 2), es un complejo patrón de diseño utilizado en el

diseño de Java aplicaciones Web que separa la visualización de contenido

de la lógica utilizada para obtener y manipular el contenido.

N-GRAMA, es una subsecuencia de n elementos de una secuencia dada. El

estudio de los n − gramas es interesante en diversas áreas del conocimiento.

Por ejemplo, es usado en el estudio del lenguaje natural, en el estudio de las

secuencias de genes y en el estudio de las secuencias de aminoácidos.

Para ciertos valores de n los n − gramas tienen nombres especiales. Por

ejemplo:

Los 1-gramas también se llaman unigramas.

Los 2-gramas también se llaman bigramas o digramas.

Los 3-gramas también se llaman trigramas.

PLUG-IN, También conocido como complemento, es una aplicación que se

relaciona con otra para aportarle una función nueva y generalmente muy

específica.

POJOs, Clases planas comunes y corrientes de Java utilizada por

programadores para enfatizar el uso de clases simples y que no dependen

de un framework en especial.

POLIMORFISMO, Se refiere a la posibilidad de enviar un mensaje a un grupo

de objetos cuya naturaleza puede ser heterogénea.

RDBMS (Sistema de Gestión de Bases de Datos Relacionales), se basa en

el modelo relacional como inventado. Muchas bases de datos populares

actualmente en uso se basan en la base de datos relacional modelo.

SERVLET, es una clase en el lenguaje de programación Java, utilizada para

ampliar las capacidades de un servidor. Aunque los servlets pueden

Page 82: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

65

responder a cualquier tipo de solicitudes, éstos son utilizados comúnmente

para extender las aplicaciones alojadas por servidores web,

SOBRECARGA DE MÉTODOS, es la creación de varios métodos con el

mismo nombre pero con diferentes firmas y definiciones.

UI, Interfaz de usuario es un conjunto de protocolos y técnicas para el

intercambio de información entre una aplicación computacional y el usuario.

UML, El Lenguaje de Modela miento Unificado es un lenguaje gráfico para

visualizar, especificar y documentar cada una de las partes que comprende

el desarrollo de software.

URL, es una cadena de caracteres con la cual se asigna una dirección única

a cada uno de los recursos de información disponibles en la Internet.

XML, es un lenguaje de marcas desarrollado por el World Wide Web

Consortium utilizado para almacenar datos en forma legible.

Page 83: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

66

BIBLIOGRAFÍA

1. ÁLVAREZ, M. (21 de Enero de 2015). Desarrollo Web. Obtenido de

http://www.desarrolloweb.com/articulos/que-es-mvc.html

2. ANDREEVSKAI, A., & BERGLER, S. (2006b). Semantic tag extraction from wordnet glosses.

En In 5th Conference on Language Resources and Evaluation. Genova: IT.

3. ANDREEVSKAI, A., & BERGLER, S. (2007). In Proceedings of the 4th International

Workshop on Semantic Evaluations. Prague: Association for Computational Linguistics.

4. BELIAL DIAZ, E. J. (05 de Enero de 2015). Monografias. Obtenido de

http://www.monografias.com/trabajos84/redes-sociales/redes-sociales.shtml

5. CARBONELL, J. (14 de Enero de 2015). Centro Virtual Cervantes. Obtenido de

http://cvc.cervantes.es/obref/congresos/sevilla/tecnologias/ponenc_carbonell.htm

6. Definicion. (21 de Enero de 2015). Definicion. Obtenido de http://definicion.de/excel/

7. GARCIA, J. (21 de Enero de 2015). Ceit. Obtenido de

http://www1.ceit.es/Asignaturas/Informat2/Clases/Clases9899/Clase01/JavaEntorno/tsl

d003.htm

8. GIL, J. V. (06 de Enero de 2015). Dataprix. Obtenido de http://www.dataprix.com/blog-

it/big-data/big-data-gestion-datos-no-estructurados

9. HATZIVASSILOGLOU, V., & MCKEOWN, K. R. (1997). Predicting the semantic orientation

of adjectives. En In Proceedings of ACL-97, 35th Annual Meeting of the Association for

Computational Linguistics (págs. 174-181). Madrid: Association for Computational

Linguistics.

10. IEEE. (20 de Enero de 2015). Iso Architecture. Obtenido de http://www.iso-

architecture.org/ieee-1471/docs/all-about-ieee-1471.pdf

11. Informática, E. T. (13 de Enero de 2015). Departamento de Lenguajes y Sistemas

Informaticos. Obtenido de

http://www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf

12. JANSSEN, C. (06 de Enero de 2015). Techopedia. Obtenido de

http://www.techopedia.com/definition/27689/nosql-database

13. KAMPS, J. (2004). In Proceedings of LREC-04, 4th International Conference on. Lisbon.

14. KATZ, P., SINGLETON, M., & WICENTOWSKI, R. (2007). the semeval-2007 systems for task

5 and task 14. En In Proceedings of the 4th International Workshop on Semantic

Page 84: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

67

Evaluations (SemEval-2007) (págs. 336-341). Prague: Association for Computational

Linguistics.

15. KIM, S., & HOVY, E. (2004). In Proceedings COLING-04,the Conference on Computational

Linguistics. Chicago: Geneva.

16. KRUCHTEN, P. (1996). Rational. Obtenido de

www.rational.com/media/whitepapers/xtalk.pdf

17. LERMA, E. V. (21 de Enero de 2015). Adictos al trabajo. Obtenido de

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=introduccionPrimefa

ces

18. Microsoft. (15 de Enero de 2015). Soporte Microsoft. Obtenido de

http://support.microsoft.com/kb/110093/es

19. Packtpub. (21 de Enero de 2015). packtpub. Obtenido de

https://www.packtpub.com/books/content/conozca-qlikview

20. SAHLGREN, M., KARLGREN, J., & ERIKSSON, G. (2007). Valence annotation based on

seeds in word space. En In Proceedings of the 4th International Workshop on Semantic

Evaluations (págs. 296-299). Prague,Czech Republic: Association for Computational

Linguistics.

21. SANCHEZ, A. (21 de Enero de 2015). Dataiq. Obtenido de

http://dataiq.com.ar/blog/qvsource-ignacio-albano/

22. Sinnexus. (11 de Enero de 2015). Sinnexus. Obtenido de

http://www.sinnexus.com/business_intelligence/

23. SUEIRAS, E. (05 de Enero de 2015). Scribd. Obtenido de

http://es.scribd.com/doc/24658747/Redes-sociales-definicion#scribd

24. Techterms. (12 de Enero de 2015). techterms. Obtenido de

http://techterms.com/definition/framework

25. Thesaurus. (2007). Roget’s New Millennium Thesaurus, volume 1.3.1. Lexico Publishing

Group,LLC, 1st edition. Obtenido de http://thesaurus.reference.com

26. TURNEY. (2002). In Proceedings of the 40th Annual Meeting on Association for

Computational Linguistics. 417-424.

27. WANTON, T. (16 de Noviembre de 2014). Academia.edu. Obtenido de

https://www.academia.edu/4254540/La_polaridad_de_las_opiniones

28. YANEZ, L. (21 de Enero de 2015). Fdi. Obtenido de

https://www.fdi.ucm.es/profesor/luis/fp/devtools/NetBeansUso.html

Page 85: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

68

ANEXOS

Page 86: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

69

APÉNDICE

1. ARQUITECTURA DEL SITIO WEB

En el siguiente grafico se muestra el funcionamiento del sitio web:

Ilustración 47: Arquitectura del Sitio Web. (Autoría Personal)

DETALLE DE CADA PAQUETE

Vista: La vista se conecta directamente con el paquete de controladores.

Controlador:

El controlador maneja la administración de la vista además de pedir los

servicios de DAO (Data Acces Object).

DAO (Data Access Object)

El paquete DAO (Data Transfer Object) presenta la operatividad del sitio

web.

DTO (Data Tranfer Object)

El paquete consta de POJO o clases simples de cada tabla relacionada.

Page 87: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

70

2. DIAGRAMAS UML

2.1. PAQUETE CONEXIONES

Ilustración 48: Paquete Conexiones

El paquete conexiones contiene la siguiente clase:

2.1.1 Conexiones

2.1.1. CLASE CONEXIÓNES

La Clase Conexión presenta el método para crear la conexión ODBC con el archivo Excel. CÓDIGO FUENTE DE CLASE CONEXIÓN:

// CLASE DE CONEXIÓN CON ODBC

public class Conexion {

private static Connection conexion = null;

public static Connection getConexion(String base) { //Método Static que permite la conexión

ODBC y retorna un Objeto Connection

try {//BLOQUE TRY PARA LANZAR EXCEPCIÓN

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Path para ODB

conexion = DriverManager.getConnection("jdbc:odbc:"+base);//Creación de Objeto

Connection con el respectivo String de Conexion

return conexion;

} catch (ClassNotFoundException ex) {// BLOQUE CATCH PARA CAPTURAR LA EXCEPCIÓN

System.out.println("No se encontró el Driver " + ex.getMessage());

} catch (SQLException sqle){// BLOQUE CATCH PARA CAPTURAR LA EXCEPCIÓN

System.out.println("Problemas con la base de datos" + sqle.getMessage());

}

return conexion;// OBJETO CONNECTION

}

}

Tabla 12: Diagrama UML de la Clase Conexión. (Autoría Personal)

Page 88: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

71

2.2. PAQUETE CONTROLADORES

Ilustración 49: Paquete Controladores

El paquete controladores contiene las siguiente clases:

2.2.1 ArchivoBean

2.2.2 ComentarioBean

2.2.3 DiccionarioBean

2.2.4 DiccionarioTemaBean

2.2.5 EjecutarBean

2.2.1. CLASE ARCHIVO BEAN

La Clase ArchivoBean presenta métodos para procesar el comentario ingresado por el usuario final.

Tabla 13: Diagrama UML de la Clase ArchivoBean. (Autoría Personal)

Page 89: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

72

//MÉTODO PARA PROCESAR EL COMENTARIO CON UN DICCIONARIO GENERAL DE PALABRAS //OPERACIÓN DE LECTURA Y ESCRITURA DE ARCHIVOS public String procesar() { //VARIABLES TIPO COLLECTION

ArrayList<String> aux = null; ArrayList<String> aux2 = null; ArrayList<String> aux3 = null; try{ archivoDao.Escribir("./prueba.txt", comentario);//MÉTODO ESCRIBIR EL ARCHIVO

aux = new ArrayList<String>();//INICIALIZACIÓN DE VARIABLE AUX

aux = archivoDao.Leer("./prueba.txt");//ASIGNACIÓN DE VARIABLE A TRAVÉS DEL MÉTODO DE

LECTURA

archivoDao.Escribir("./prueba2.txt", aux, ",", ",");// PROCESO DE SEPARAR STRING EN

PALABRAS CON CARACTERES ESPECIALES ,

mostraTextArear(aux, 1);//MÉTODO PARA MOSTRAR EL CONTENIDO DEL ARCHIVO DESPUÉS

DE SEPARAR POR , LAS PALABRAS

aux2 = new ArrayList<String>();// INICIALIZACIÓN DE VARIABLE AUX2

aux2 = archivoDao.Leer("./prueba2.txt");//ASIGNACIÓN DE VARIABLE A TRAVÉS DEL MÉTODO

DE LECTURA

archivoDao.Escribir("./prueba3.txt", aux2, ".", "\\.");//PROCESO DE SEPARA STRING EN PALABRAS

CON CARACTERES ESPECIALES

mostraTextArear(aux2, 2);//MÉTODO PARA MOSTRAR EL CONTENIDO DEL ARCHIVO DESPUÉS

DE SEPARAR POR . LAS PALABRAS

aux3 = new ArrayList<String>();//INICIALIZACIÓN DE VARIABLE AUX3 aux3 = archivoDao.Leer("./prueba3.txt");//ASIGNACIÓN DE VARIABLE A TRAVÉS DEL MÉTODO

DE LECTURA

mostraTextArear(aux3, 3);

//COMENTARIO VS DICCIONARIO PROCESO 1 (GENERAL)

resultado1=Ejecucion.procesar(aux3, listaDiccionario); resultado2=EjecucionTema.procesar(aux3, listaDiccionarioTema); }catch(Exception e){ System.out.println(e.getMessage()); } return "";

}

// MÉTODO PARA PROCESAR EL COMENTARIO public String procesarResultado() throws Exception { ArrayList<String> comentarioAux = new ArrayList<String>(); try {

ArrayList<Diccionario> listaDiccionario = new ArrayList<Diccionario>(diccDao.obPalabras()); Ejecucion.ArchivoProcesar(comentario);

comentarioAux=archivoDao.Leer("C:/Users/SHADOW/Documents/NetBeansProjects/TesisProyecto/ArchivosPrueba/prueba3.txt");

Ejecucion.procesar(comentarioAux, listaDiccionario); } catch (Exception e) { System.out.println("Mensaje error: " + e.getMessage());

} return ""; }

Page 90: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

73

2.2.2. CLASE COMENTARIOBEAN

La clase Comentario Bean no presenta métodos para obtener los contenidos de la tabla maestra. public ArrayList<Comentario> getListadeComentario() {

listadeComentario = new ArrayList<Comentario>(comentarioDao.obComentarios());//MÉTODO

PARA ASIGNAR UNA LISTA A LA VARIABLE LISDE COMENTARIO

return listadeComentario;

}

public void setListadeComentario(ArrayList<Comentario> listadeComentario) {

this.listadeComentario = listadeComentario;

}

public ArrayList<Comentario> getListadeComentario2() {

listadeComentario2=new ArrayList<Comentario>(comentarioDao.obCom()); //MÉTODO PARA

ASIGNAR UNA LISTA A LA VARIABLE LISTADECOMENTARIO2

return listadeComentario2;

}

public void setListadeComentario2(ArrayList<Comentario> listadeComentario2) {

this.listadeComentario2 = listadeComentario2;

Tabla 14: Diagrama UML de la Clase ComentarioBean. (Autoría Personal)

Page 91: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

74

2.2.3. CLASE DICCIONARIOBEAN

Tabla 15: Diagrama UML de la Clase DiccionarioBean. (Autoría Personal)

La clase DiccionarioBean nos presenta métodos para obtener las palabras del Diccionario General y también nos permite insertar palabras nuevas.

public String insertarDiccionario() throws Exception { Diccionario nueva = new Diccionario(); //CREACIÓN DE UN OBJETO NUEVA

nueva.setPalabra(palabra); // MODIFICACIÓN DE ATRIBUTO PALABRA

nueva.setDefinicion(definicion); //MODIFICACIÓN DE ATRIBUTO DEFINICIÓN

nueva.setPolaridad(polaridadGeneralSelecc); // MODIFICACIÓN DE ATRIBUTO POLARIDAD

diccioDao.insertarDiccionario(nueva); // MÉTODO PARA INSERTAR PALABRA A UN NUEVO

REGISTRO DE LA TABLA

//BORRADO DE VALORES

palabra=""; definicion=""; return ""; } public ArrayList<Diccionario> getListadeDiccionario() { listadeDiccionario = new ArrayList<Diccionario>(diccioDao.obPalabras()); return listadeDiccionario; }

Page 92: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

75

2.2.4. CLASE DICCIONARIOTEMABEAN

La clase DiccionarioTemaBean nos presenta métodos para obtener las palabras del

Diccionario por Temas y también nos permite insertar palabras nuevas.

//MÉTODO PARA INSERTAR PALABRAS AL DICCIONARIO POR TEMA

public String insertarDiccionarioTema() throws Exception {

DiccionarioTema nueva = new DiccionarioTema(); //CREACIÓN DEL OBJETO NUEVA

nueva.setTema(Tema); // MODIFICACIÓN DEL ATRIBUTO TEMA

nueva.setDefincion(Defincion); // MODIFICACIÓN DEL ATRIBUTO DEFINICIÓN

nueva.setCodigo(CodigoSelect); // MODIFICACIÓN DEL ATRIBUTO CODIGOSELECT

dicciTemaDao.insertarDiccionarioTema(nueva); // MÉTODO PARA INSERTAR NUEVA PALABRA

EN EL DICCIONARIO

//BORRADO DE VALORES DE CADA VARIABLE EN EL SITIO WEB

Tema="";

Defincion="";

return "";

}

//MÉTODO PARA OBTENER UN LISTA DE PALABRAS DE DICCIONARIO POR TEMÁTICA

public ArrayList<DiccionarioTema> getListadeDiccionarioTema() {

listadeDiccionarioTema = new ArrayList<>(dicciTemaDao.obPalabrasTema());

return listadeDiccionarioTema;

}

Tabla 16: Diagrama UML de la Clase DiccionarioTemaBean. (Autoría Personal)

Page 93: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

76

2.2.5. CLASE EJECUTARBEAN

Tabla 17: Diagrama UML de la Clase EjecutarBean. (Autoría Personal)

La clase EjecutarBean nos presenta el método para llamar a los programas necesarios para

el análisis de preferencias políticas.

//CLASE EJECUTARBEAN

//CLASE PARA ENLAZAR A LOS PROGRAMAS VINCULADOS EN EL ANÁLISIS DE PREFERENCIAS POLÍTICAS

public class EjecutarBean implements Serializable{

//CONSTRUCTOR DE LA CLASE EJECUTARBEAN

public EjecutarBean() {

}

public void EjecutarPro(int op) {

try {

switch (op) {

//QVSOURCE

case 1:

Runtime.getRuntime().exec("cmd /c start C:\\\"Demo Toyota.qvw");

break;

//QLIKVIEW

case 2:

Runtime.getRuntime().exec("cmd /c start C:\\\"Demo Toyota.qvw");

break;

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

Page 94: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

77

2.3. PAQUETE DAO

Ilustración 50: Paquete DAO

El paquete dao contiene las siguientes clases:

2.3.1 ArchivoDao

2.3.2 ComentarioDao

2.3.3 DiccionarioDao

2.3.4 DiccionarioTemaDao

2.3.1. CLASE ARCHIVODAO

Tabla 18: Diagrama UML de la Clase ArchivoDao. (Autoría Personal)

La clase ArchivoDao nos presenta métodos con las operaciones de lectura y escritura de archivos.

//MÉTODO PARA LEER EN ARCHIVO

public ArrayList<String> Leer(String path) {

File archivo = null;

FileReader fr = null;

BufferedReader br = null;

ArrayList<String> ar = new ArrayList<>();

try {

Page 95: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

78

archivo = new File(path);

fr = new FileReader(archivo);

br = new BufferedReader(fr);

String linea;

while ((linea = br.readLine()) != null) {

ar.add(linea);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (null != fr) {

fr.close();

return ar;

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

return ar;

}

//MÉTODO PARA ESCRIBIR EN EL ARCHIVO

public void Escribir(String path, String mensaje) {

String arreglo[] = null;

arreglo = mensaje.split(" ");

FileWriter fichero = null;

PrintWriter pw = null;

// ESCRIBIR

try {

fichero = new FileWriter(path);

pw = new PrintWriter(fichero);

for (int i = 0; i < arreglo.length; i++) {

pw.println(arreglo[i]);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

// Nuevamente aprovechamos el finally para

// asegurarnos que se cierra el fichero.

if (null != fichero) {

fichero.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

}

Page 96: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

79

2.3.2. CLASE COMENTARIODAO

Tabla 19: Diagrama UML de la Clase ComentarioDao. (Autoría Personal)

La clase comentario nos presenta métodos para obtener los comentarios de la tabla maestro. //MÉTODO PARA OBTENER LOS COMENTARIOS DE LA TABLA

public ArrayList<Comentario> obComentarios() {

ArrayList<Comentario> listaComentario = new ArrayList<>();

Connection con = null;

Statement st = null;

ResultSet rs = null;

String consulta = "select top 300 * from [tabla$]";

try {

con = Conexion.getConexion("Comentarios");

st = con.createStatement();

rs = st.executeQuery(consulta);

String a, b, c, d, e;

while (rs.next()) {

a = rs.getString(1);

b = rs.getString(2);

c = rs.getString(8);

d = rs.getString(3);

e = rs.getString(4);

listaComentario.add(new Comentario(a, b, c, d, e));

}

con.close();

return listaComentario;

} catch (SQLException ex) {

System.out.println("mensajes " + ex.getMessage());

}

return listaComentario;

}

Page 97: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

80

2.3.3. CLASE DICCIONARIODAO

Tabla 20: Diagrama UML de la Clase DiccionarioDao. (Autoría Personal)

La clase DiccionarioDao nos presenta métodos para obtener las palabras del Diccionario Genera, además de insertar nuevas palabras. //MÉTODO PARA OBTENER LAS PALABRAS DEL DICCIONARIO GENERAL public ArrayList<Diccionario> obPalabras() {

ArrayList<Diccionario> listaDiccionario = new ArrayList<>();

Connection con = null;

Statement st = null;

ResultSet rs = null;

String consulta = "select * from [General$]";

try {

con = Conexion.getConexion("Comentarios");

st = con.createStatement();

rs = st.executeQuery(consulta);

String a, b, c;

while (rs.next()) {

a = rs.getString(1);

b = rs.getString(2);

c = rs.getString(3);

listaDiccionario.add(new Diccionario(a,b,c));

}

con.close();

return listaDiccionario;

} catch (SQLException ex) {

System.out.println( "mensajes "+ex.getMessage());

}

return listaDiccionario;

}

Page 98: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

81

//MÉTODO PARA INSERTAR PALABRAS EN DICCIONARIO GENERAL

public void insertarDiccionario(Diccionario dicc) throws Exception {

Connection conexion = null;

PreparedStatement ps = null;

String sql = "insert into [General$](Palabra,Definicion,Polaridad) values(?,?,?)";

try {

conexion = Conexion.getConexion("Comentarios");

ps = conexion.prepareStatement(sql);

ps.setString(1, dicc.getPalabra());

ps.setString(2, dicc.getDefinicion());

ps.setString(3, dicc.getPolaridad());

int valor = ps.executeUpdate();

if (valor > 0) {

}

conexion.commit();

} catch (SQLException sqe) {

System.out.println(sqe.getMessage());

} finally {

ps.close();

conexion.close();

}

}

Page 99: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

82

2.3.4. CLASE DICCIONARIOTEMADAO

Tabla 21: Diagrama UML de la Clase DiccionarioTemaDao. (Autoría Personal)

La clase DiccionarioTemaDao nos presenta métodos para obtener las palabras del Diccionario por Temas, además de insertar nuevas palabras. //MÉTODO PARA OBTENER LAS PALABRAS DEL DICCIONARIO POR TEMAS

public ArrayList<DiccionarioTema> obPalabrasTema() {

ArrayList<DiccionarioTema> listaDiccionarioTema = new ArrayList<>();

Connection con = null;

Statement st = null;

ResultSet rs = null;

String consulta = "select a.paltema,a.Definicion,a.tema,b.descripcionTem from [Tema$] a

,[DesCod$] b where a.tema=b.tema";

try {

con = Conexion.getConexion("Comentarios");

st = con.createStatement();

rs = st.executeQuery(consulta);

String a, b, c,d;

while (rs.next()) {

a = rs.getString(1);

b = rs.getString(2);

c = rs.getString(3);

d = rs.getString(4);

listaDiccionarioTema.add(new DiccionarioTema(a,b,c,d));

}

con.close();

return listaDiccionarioTema;

} catch (SQLException ex) {

System.out.println( "mensajes "+ex.getMessage());

}

return listaDiccionarioTema;

}

Page 100: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

83

2.4. PAQUETE DTO

Ilustración 51: Paquete DTO

El paquete dto contiene las siguientes clases:

2.4.1 Comentario

2.4.2 Diccionario

2.4.3 DiccionarioTema

2.4.1. CLASE COMENTARIO

Tabla 22: Diagrama UML de la Clase Comentario. (Autoría Personal)

La clase Comentario es una clase tipo POJO o un clase simple, que contiene atributos, métodos get, set y constructor.

Page 101: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

84

2.4.2. CLASE DICCIONARIO

Tabla 23: Diagrama UML de la Clase Diccionario. (Autoría Personal)

La clase Diccionario es una clase tipo POJO o un clase simple, que contiene atributos, métodos get, set y constructor.

2.4.3. CLASE DICCIONARIOTEMA

Tabla 24: Diagrama UML de la Clase DiccionarioTema. (Autoría Personal)

La clase Diccionario Tema es una clase tipo POJO o un clase simple, que contiene atributos, métodos get, set y constructor.

Page 102: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

85

2.5. PAQUETE PROCESAMIENTO

Ilustración 52: Paquete Procesamiento

El paquete procesamiento contiene las siguientes clases:

2.5.1 Ejecución

2.5.2 EjecucionTema

2.5.3 Objeto

2.5.1. CLASE EJECUCIÓN

Tabla 25: Diagrama UML de la Clase Ejecución. (Autoría Personal)

La clase Ejecución nos presente métodos para procesar el comentario y a su vez determinar su polaridad.

//MÉTODO PARA ACTUALIZAR LA TABLA MAESTRA DURANTE EN PROCESAMIENTO DE CADA COMENTARIO

public static void ActualizarTabla(ArrayList<String> comentario,ArrayList<Diccionario> diccionario,String num) throws Exception {

int contPositivo=0; int contNegativo=0; ComentarioDao comeDao= new ComentarioDao(); //RECORRIDO DE UN COMENTARIO for (int i = 0; i < comentario.size(); i++) {

for (int j = 0; j < diccionario.size(); j++) { if(comentario.get(i).equalsIgnoreCase(diccionario.get(j).getPalabra())){

switch(diccionario.get(j).getPolaridad()){ case "P": contPositivo=contPositivo+1;

Page 103: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

86

break; case "N": contNegativo=contNegativo+1; break; } } } } //ASIGNACIÓN DE POLARIDAD DEL COMENTARIO if(contPositivo>contNegativo){

//positivo

comeDao.ActualizarTabla(num,"0",1);

}else{

if(contNegativo>contPositivo){

//negativo

comeDao.ActualizarTabla(num,"1",1);

}else{

//neutro

comeDao.ActualizarTabla(num,"2",1);

}

}

}

Page 104: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

87

2.5.2. CLASE EJECUCIONTEMA

Tabla 26: Diagrama UML de la Clase EjecucionTema. (Autoría Personal)

La clase EjecucionTema nos presente métodos para procesar el comentario y a catalogar su temática.

public static void ActualizarTabla(ArrayList<String> comentario, ArrayList<DiccionarioTema> diccionario, String num) throws Exception { Objeto camb; Objeto[] auxArre = new Objeto[4]; //1 ---EDUCACIÓN //2 ---Información y Comunicación //3 ---Política, Derecho y Economía //4 ---Cultura auxArre[0] = new Objeto("1", 0); auxArre[1] = new Objeto("2", 0); auxArre[2] = new Objeto("3", 0); auxArre[3] = new Objeto("4", 0); ComentarioDao comeDao = new ComentarioDao(); //DE UN COMENTARIO EL RECORRIDO for (int i = 0; i < comentario.size(); i++) { for (int j = 0; j < diccionario.size(); j++) { if (comentario.get(i).equalsIgnoreCase(diccionario.get(j).getTema())) { switch (diccionario.get(j).getCodigo()) { case "1": auxArre[0].setVal(auxArre[0].getVal() + 1); break; case "2": auxArre[1].setVal(auxArre[1].getVal() + 1); break; case "3": auxArre[2].setVal(auxArre[2].getVal() + 1); break; case "4": auxArre[3].setVal(auxArre[3].getVal() + 1); break; } } } }

Page 105: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

88

//MÉTODO BURBUJA

if (auxArre[0].getVal() == auxArre[1].getVal() && auxArre[0].getVal() ==

auxArre[2].getVal() && auxArre[0].getVal()== auxArre[3].getVal()) {

//TEMA GENERAL

comeDao.ActualizarTabla(num, "5", 2);

} else {

//TEMA ESPECÍFICO

for (int i = 1; i <= auxArre.length - 1; i++) {

for (int j = 0; j <= auxArre.length - i - 1; j++) {

if (auxArre[j].getVal() > auxArre[j + 1].getVal()) {

camb = new Objeto(auxArre[j].getCodigo(), auxArre[j].getVal());

auxArre[j] = auxArre[j + 1];

auxArre[j + 1] = camb;

}

}

}

comeDao.ActualizarTabla(num, auxArre[3].getCodigo(), 2);

}

}

Page 106: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

89

2.5.3. CLASE OBJETO

Tabla 27: Diagrama UML de la Clase Objeto. (Autoría Personal)

La clase Objeto es una clase tipo POJO o un clase simple, que contiene atributos,

métodos get, set y constructor.

Page 107: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

90

3. MANUAL PARA EL USO DEL SITIO WEB

GRAFICO DE NIVELES DE NAVEGACIÓN EN EL SITIO WEB

Ilustración 53: GRÁFICO DE NIVELES DE NAVEGACIÓN EN EL SITIO WEB. (Autoría Personal)

El sitio web está constituido por cuatro pestañas principales que son:

3.1 Inicio

3.2 Diccionario

3.3 Datos Cargados

3.4 Procesamiento

Page 108: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

91

3.1. INICIO

Ilustración 54: Menú de Inicio. (Autoría Personal)

En la Pestaña de inicio el usuario puede visualizar las siguientes opciones:

3.1.1 Programas

3.1.2 Videos

3.1.2.1 Procesamiento (Comentario)

3.1.3 Salir

3.1.1. PROGRAMAS

En esta opción se nos presenta un ventana, con algunas opciones de programas, lo cuales fueron necesarios para el análisis de preferencias políticas para el presente proyecto.

Los botones ejecutar nos llevan a:

QVSOURCE.- programa que permitió la extracción de los tweets.

QLIKVIEW.- programa donde se realizó los reportes de Inteligencia de negocio (BI).

Ilustración 55: Pantalla de Programas. (Autoría Personal)

Page 109: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

92

3.1.2. VIDEOS

En esta opción el usuario tendrá la posibilidad de ver un video. En el video se muestra el procesamiento del comentario dentro del archivo Excel.

Ilustración 56: Opción de Video. (Autoría Personal)

Ilustración 57: Captura del Video. (Autoría Personal)

3.1.3. SALIR En esta opción el usuario tendrá la posibilidad de cerrar la aplicación y dirigirse a

la página de Primefaces.

3.2. DICCIONARIO

En la Pestaña de Diccionario el usuario puede visualizar las siguientes opciones.

3.2.1 General.

Abrir.

3.2.2 Temas.

Abrir.

3.2.1. GENERAL

Ilustración 57: Opción de Diccionario General. (Autoría Personal)

Page 110: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

93

En esta opción el usuario podrá visualizar el contenido del Diccionario General. Además de poder ingresar nuevas palabras.

Ilustración 58: Pantalla del Diccionario General. (Autoría Personal)

3.2.2. TEMAS

Ilustración 59: Opción de Diccionario por Temas. (Autoría Personal)

En esta opción el usuario podrá visualizar el contenido del Diccionario por Temas. Además de poder ingresar nuevas palabras.

Ilustración 60: Pantalla del Diccionario por Temas. (Autoría Personal)

Page 111: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

94

3.3. DATOS CARGADOS

En la Pestaña de Datos Cargados el usuario puede visualizar las siguientes

opciones.

3.3.1 Comentarios.

Ver.

3.3.2 Pantalla de Comentarios.

Ilustración 61: Opción de Cometarios. (Autoría Personal)

En esta opción el usuario podrá visualizar la tabla maestra del análisis.

Ilustración 62: Pantalla de Comentarios. (Autoría Personal)

Page 112: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

95

3.4. ARCHIVOS VS. BASE DE DATOS

En la Pestaña de Archivos vs Base de Datos el usuario puede visualizar las

siguientes opciones:

3.4.1 Archivos vs Base de Datos.

Ver.

Ilustración 63: Opción de Archivos vs Base de Datos. (Autoría Personal)

En esta opción el usuario puede ingresar un texto, para obtener el

procesamiento del mismo, en relación a una temática o de manera general.

Ilustración 64: Pantalla de Ingreso de Comentario. (Autoría Personal)

Page 113: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

96

4. MANUAL DE USO DEL REPORTE

El reporte está constituido por nueve pestañas que son:

4.1. Introducción

4.2. Inicio

4.3. Valores

4.4. Gráficos

4.5. Modelo-Entidad-Relación

4.6. Comentarios

4.7. Diccionarios

4.8. Resumen

4.1. PESTAÑA DE INTRODUCCIÓN

En esta pestaña se puede visualizar el título del proyecto, acompañado de

imagen relacionadas con el tema.

4.2. PÁGINA INICIO

Ilustración 66: Pestaña Inicio Reporte. (Autoría Personal)

Ilustración 65: Pestaña Introducción Reporte. (Autoría Personal)

Page 114: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

97

En esta pestaña se puede visualizar un mapa del Ecuador indicando las

provincias a ser estudiadas, además de otras opciones de filtrado que son:

Selecciones Múltiples

Localización

Tema

Polaridad

Localización (Provincias)

4.3. PÁGINA VALORES

Ilustración 67: Pestaña Valores. (Autoría Personal)

En esta pestaña se puede visualizar un gráfico de barras que representa el

número de comentarios en cierta temática, con respecto a su localización, además

de otras opciones de filtrado que son:

Selecciones Múltiples

Localización

Tema

Polaridad

Localización

Temática

Page 115: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

98

4.4. PÁGINA GRÁFICOS

Ilustración 68: Pestaña Gráficos. (Autoría Personal)

En esta pestaña se puede visualizar gráficos de polaridad general, sentimientos,

radar, tema vs polaridad general y el número de comentarios para un determinado

tema, además de otras opciones de filtrado que son:

Selecciones Múltiples

Tema Polaridad

Tema

Localización

4.5. PÁGINA MODELO - ENTIDAD - RELACIÓN

Ilustración 69: Pestaña Modelo-Entidad-Relación. (Autoría Personal)

En esta pestaña se puede visualizar modelo entidad relación, que está

constituido por cada pestaña.

Page 116: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

99

Descripción de Entidades

Tabla.- esta entidad contiene los comentarios extraídos de Twitter, además de

ser la tabla maestra de todas las pestañas.

Localización.- esta entidad contiene códigos de cada provincia, con su nombre,

coordenadas geográficas (latitud y longitud).

Descod.- esta entidad contiene los códigos de cada temática hacer analizada:

Educación

Información y Comunicación

Política, Derecho y Economía

Cultura

General

PolGeneral.- esta entidad contiene los datos, correspondientes a la descripción de cada polaridad:

Positivo

Negativo

Neutro

General.- esta entidad contiene los datos correspondientes al diccionario de

manera general.

Tema.- esta entidad contiene los datos, correspondientes al diccionario por

temática.

PÁGINA MAPA GEO LOCALIZACIÓN

Ilustración 70: Pestaña Mapa Geo localización. (Autoría Personal)

En esta pestaña se puede visualizar mapa geo localización correspondiente al

Ecuador.

Page 117: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

100

4.6. PÁGINA COMENTARIOS

Ilustración 71: Pestaña Comentarios. (Autoría Personal)

En esta pestaña se puede visualizar los comentarios generados por usuarios

vinculados a Twitter, además de otras opciones de filtrado que son:

Polaridad

Tema

Localización

4.7. PÁGINA DICCIONARIOS

Ilustración 72: Pestaña Diccionarios. (Autoría Personal)

En esta pestaña se puede visualizar el contenido de los diccionarios (General

y Temática especifica), además de otras opciones de filtrado que son:

Polaridad General

Tema

Page 118: UNIVERSIDAD CENTRAL DEL ECUADOR · universidad central del ecuador portada facultad de ingenierÍa ciencias fÍsicas y matemÁtica carrera de ingenierÍa en informÁtica “anÁlisis

101

4.8. PÁGINA RESUMEN

Ilustración 73: Pestaña Resumen. (Autoría Personal)

En esta pestaña se puede visualizar gráficas y tablas, que fueron

presentadas en anteriores pestañas.