caracterizaciÓn de la informaciÓn mediante la …

61
CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA EXTRACCIÓN DE METADATOS UTILIZANDO RECUPERACIÓN DE INFORMACIÓN SOBRE CONVOCATORIAS ANDREY MAURICIO FERNANDEZ FRANCO MAURICIO MUÑOZ GUZMÁN UNIVERSIDAD DE SANBUENABENTURA CALI FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA DE SISTEMAS SANTIAGO DE CALI, 2016

Upload: others

Post on 09-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA EXTRACCIÓN DE METADATOS

UTILIZANDO RECUPERACIÓN DE INFORMACIÓN SOBRE CONVOCATORIAS

ANDREY MAURICIO FERNANDEZ FRANCO

MAURICIO MUÑOZ GUZMÁN

UNIVERSIDAD DE SANBUENABENTURA CALI

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS

SANTIAGO DE CALI, 2016

Page 2: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA EXTRACCIÓN DE METADATOS

UTILIZANDO RECUPERACIÓN DE INFORMACIÓN SOBRE CONVOCATORIAS

ANDREY MAURICIO FERNANDEZ FRANCO, MAURICIO MUÑOZ GUZMÁN

[email protected], [email protected]

ESTE INFORME SE PRESENTA EN CUMPLIMIENTO PARCIAL DE LOS REQUISITOS PARA EL GRADO

DE INGENIERO DE SISTEMAS POR ANDREY MAURICIO FERNÁNDEZ FRANCO Y MAURICIO MUÑOZ

GUZMÁN

DIRECTORA

EMILIA ROCIO SEGOVIA MSc.

UNIVERSIDAD DE SANBUENABENTURA CALI

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS

SANTIAGO DE CALI, 2016

Page 3: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

AGRADECIMIENTOS

Le agradecemos a Dios por darnos la oportunidad y las capacidades para poder cursar la carrera de

Ingeniería de Sistemas encontrando nuestra vocación en la universidad, que nos acogió a lo largo

de 5 años. En este tiempo nunca estuvimos solos, los docentes fueron nuestros guías y supieron

transmitir sus enseñanzas; queremos nombrar a Diego Armando Gómez Mosquera, el cual nos

enseñó que la teoría siempre va junto a la práctica, a Johan Steve Bejarano Fiesco, quien

fundamentó los pilares del conocimiento obtenido por nosotros, a la ingeniera María Teresa López

Dueñas por siempre mostrarnos con claridad y fortaleza las decisiones correctas en el proceso

académico, a Emilia Rocío Segovia MSc, por dirigir nuestro trabajo y dedicarnos toda su atención

para culminar nuestro proceso en la universidad. Finalmente a la ingeniera Beatriz Eugenia Grass

por siempre estar apoyándonos y guiándonos de manera correcta a través de nuestra vida

académica junto a los otros docentes del programa de Ingeniería de Sistemas, quienes estuvieron

siempre presentes.

Page 4: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

DEDICATORIA

Esta tesis se la quiero dedicar a mi madre y a mi padre la cuales fueron fundamentales

en mi proceso académico, a mi tío Roberto a mi tía Elizabeth, los cuales siempre han

estado hay para apoyarme y aconsejarme cuando mi padre y mi madre no han estado

presentes, y por ultimo pero no por esto menos importante a mis 2 abuelos los cuales

son los pilares de mi vida y siempre estaban velando por mi bienestar y mis

preocupaciones.

Mauricio Muñoz Guzmán

Page 5: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

DEDICATORIA

Esta tesis se la quiero dedicar a mi padre que siempre ha velado por el bienestar de

nuestra familia, a mi madre y a mi hermana quienes siempre han sido incondicionales y

que con su gran apoyo, me dieron una motivación constante durante el transcurso de

la carrera, confiando en mí y permitiendo alcanzar este momento. A mis amigos y a cada

una de las personas que han contribuido a ser la persona que soy ahora. Gracias.

Andrey Mauricio Fernández Franco

Page 6: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Contenido ÍNDICE DE ILUSTRACIONES .................................................................................................................. 8

1. INTRODUCCIÓN ........................................................................................................................... 9

2. DEFINICIÓN DEL PROBLEMA ..................................................................................................... 10

3. MARCO TEÓRICO Y ESTADO DEL ARTE ...................................................................................... 11

3.1 RECUPERACION DE INFORMACIÓN (RI) ............................................................................ 11

3.2 PSI-Probe ........................................................................................................................... 12

3.3 Jaspersoft® Studio ............................................................................................................. 13

3.4 JAMon(Java Application Monitor) ..................................................................................... 13

3.5 Apache PDFBox ................................................................................................................. 13

3.6 Java DOM Parser ............................................................................................................... 13

3.7 Zathuracode 5.1.0 ............................................................................................................. 14

3.8 HERRAMIENTAS PARA LA RECUPERACIÓN DE LA INFORMACIÓN .................................... 15

3.8.1 Angoss KnowledgeREADER .............................................................................................. 16

3.8.2 Attensity ........................................................................................................................... 17

3.8.3 Lexalytics .......................................................................................................................... 17

3.8.4 SAS Text Analytics ............................................................................................................ 18

3.8.5 DatumBox ......................................................................................................................... 18

3.8.6 AlchemyAPI ...................................................................................................................... 19

3.8.7 KEA ................................................................................................................................... 20

3.8.8 ParsCit .............................................................................................................................. 21

3.8.9 Mr. Dlib ............................................................................................................................. 21

4. OBJETIVO GENERAL ................................................................................................................... 22

4.1 OBJETIVOS ESPECÍFICOS .................................................................................................... 22

5. ALCANCE DEL PROYECTO .......................................................................................................... 23

6. PROYECTOS RELACIONADOS ..................................................................................................... 24

7. ANÁLISIS DE LAS HERRAMIENTAS PRE-SELECCIONADAS .......................................................... 26

8. DESCRIPCIÓN DE LA SOLUCIÓN ................................................................................................. 29

8.1 ARQUITECTURA DEL SISTEMA ........................................................................................... 29

8.1.1 ESTILO ARQUITECTÓNICO ......................................................................................... 30

8.1.2 PATORNES DE DISEÑO ............................................................................................... 31

8.2 DIAGRAMA DE COMPONENTES ........................................................................................ 33

Page 7: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

8.3 MODELO DE BASE DE DATOS ............................................................................................ 34

8.4 DESCRIPCIÓN DEL PROCESO DE NEGOCIO ........................................................................ 35

9. PRUEBAS CON EL EXTRACTOR ................................................................................................... 40

Caso 1: Artículos en inglés ......................................................................................................... 41

Caso 2: Artículos en español ..................................................................................................... 41

Caso 3. Artículos de periódico en inglés-español ...................................................................... 42

10. RESULTADOS ......................................................................................................................... 43

11. PROYECTOS FUTUROS ........................................................................................................... 45

12. CONCLUSIONES ..................................................................................................................... 46

13. REFERENCIAS ......................................................................................................................... 47

ANEXO 1. DIAGRAMA BPM DEL SISTEMA ......................................................................................... 50

14. DOCUMENTO DE ESPECIFICACIÓN DE REQUISITOS DEL SOFTWARE .................................... 51

1. Introducción .............................................................................................................................. 54

1.1 Propósito ................................................................................................................................. 54

1.2 Alcance .................................................................................................................................... 54

1.3 Descripción del Producto ........................................................................................................ 54

1.3.1 Perspectiva del Producto ................................................................................................. 54

1.3.2 Funciones del Producto .................................................................................................... 54

1.3.3 Características de los usuarios ......................................................................................... 55

1.3.4 Limitaciones ..................................................................................................................... 55

1.4 Definiciones ............................................................................................................................. 55

2. Referencias .................................................................................................................................... 56

3. Requisitos Específicos ................................................................................................................... 56

3.1 Interfaces ................................................................................................................................. 56

3.2 Funciones ................................................................................................................................ 57

3.3 Requisitos de usabilidad .......................................................................................................... 57

3.4 Requisitos de desempeño ....................................................................................................... 57

3.5 Requisitos lógicos de base de datos ........................................................................................ 57

3.6 Restricciones de diseño ........................................................................................................... 57

3.7 Información de soporte ........................................................................................................... 58

4. Verificación .................................................................................................................................... 58

5. Apéndices ...................................................................................................................................... 58

5.1 Acrónimos y abreviaturas........................................................................................................ 58

Page 8: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

ANEXO 2. HISTORIAS DE USUARIO .................................................................................................... 59

ÍNDICE DE ILUSTRACIONES

Ilustración 1. La problemática de la RI. Fuente:[Tolosa, 2008] ......................................................... 12

Ilustración 2. Arquitectura del sistema propuesto por Deco (et al). Fuente:[Casali y Deco, 2015] .. 24

Ilustración 3. Idiomas compatibles y características de Semantria. Fuente: [Lexalytics]. ................ 26

Ilustración 4. Precios de los paquetes de Semantria. Fuente: [Lexalytics]. ...................................... 27

Ilustración 5. Estilo arquitectónico en capas. Fuente:[Gómez, 2015] .............................................. 30

Ilustración 6. Arquitectura de Zathuracode. Fuente:[Gómez, 2015] ................................................ 30

Ilustración 7. Diagrama de secuencia patrón Business Delegate. Fuente:[Alur et al., 2006] ........... 31

Ilustración 8. Diagrama de secuencia patrón DAO. Fuente:[Alur et al., 2006] ................................. 32

Ilustración 9. Diagrama de componentes del sistema ...................................................................... 33

Ilustración 10. Modelo físico de base de datos. ................................................................................ 34

Ilustración 11. Diagrama de comunicación del sistema .................................................................... 35

Ilustración 12. Diagrama de flujo del proceso inicial del sistema ..................................................... 36

Ilustración 13. Diagrama de flujo del segundo proceso del sistema ................................................ 36

Ilustración 14. Diagrama del proceso realizado por AlchemyAPI ..................................................... 37

Ilustración 15. Reporte palabras clave de un documento ................................................................ 38

Ilustración 16. Reporte logs del sistema de caracterización ............................................................. 38

Ilustración 17. Reporte palabras sugeridas ....................................................................................... 39

Ilustración 18. login de administración. ............................................................................................ 44

Ilustración 19. Pantalla del prototipo................................................................................................ 44

Page 9: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

1. INTRODUCCIÓN

El constante avance de la tecnología permite que cada vez más, la sociedad se encuentre más conectada en distintos campos como la economía, lo social, lo académico, investigación, etc. Entre estos avances está la expansión del acceso a internet, el cual es cada vez mayor en el mundo gracias a los planes de masificación de internet diseñados e implementados actualmente y que ha permitido que países en estado de desarrollo aprovechen la tecnología para dar un gran salto económico y social, como se expresa en “Experiencias Internacionales en la Masificación de Internet” del Plan Vive Digital del MinTIC. [MINTIC, 2014] Esta masificación del internet ha hecho que los medios de comunicación avancen exponencialmente en velocidad y eficiencia, logrando estar a disposición de casi toda la humanidad, esto conlleva a que una gigantesca cantidad de información se transporte por este medio. Debido a tal magnitud de la información que se encuentra alojada en internet, cuando se realiza un búsqueda de información específica, la información que se encuentra suele ser inadecuada o simplemente no es relevante para quien realiza la consulta, es por eso que se hace necesario que los documentos deban pasar por un filtro según su contenido y área de interés para lograr su máxima asimilación. Este proyecto se fundamenta en una idea planteada por el grupo LIDIS (LABORATORIO DE INVESTIGACIÓN PARA EL DESARROLLO DE LA INGENIERIA DE SOFTWARE) de la Universidad San Buenaventura Cali, al observar la necesidad de realizar una caracterización de los documentos de las convocatorias y becas para poder tratar de manera más eficiente esta información y lograr así mejorar el aprovechamiento de las oportunidades ofertadas en estas. En la investigación hecha para este proyecto, encontramos el proyecto llamado “Herramientas para potenciar el uso de Repositorios de Objetos de Aprendizaje” llevado a cabo por Claudia Deco, Ana Casali, Cristina Bender y Raúl Kantor, el cual tiene entre sus objetivos: Facilitar el almacenamiento de documentos en repositorios, la extracción automática de metadatos y mejorar la búsqueda de información mediante expansión semántica de la consulta y sistemas recomendadores. Para lograr estos objetivos se abordó la problemática de la extracción automática de metadatos, utilizando herramientas de Recuperación de información (RI). Basados en el trabajo realizado por Deco (et al)[Casali y Deco, 2015], vemos que lo primero que se debe hacer con la información de las convocatorias es una caracterización de esta información mediante la utilización de RI, ya que la meta final de un sistema de recuperación de información es que la información recuperada debe ser útil o relevante al usuario. En solución a la necesidad presente en la Universidad San Buenaventura de Cali, se desarrolló una herramienta que permite realizar la caracterización de documentos de convocatorias y becas por medio de la recuperación de la información, para satisfacer de la mejor forma posible una consulta realizada sobre los documentos presentes en un repositorio de convocatorias.

Page 10: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

2. DEFINICIÓN DEL PROBLEMA En los últimos años la masificación de internet hace que la cantidad de información que se encuentra en la red sea demasiada, además de la que se genera diariamente [Beneyto, 2013; Moore, 2011], por esto al realizar una búsqueda con cualquier motor, se pueden obtener resultados que no son relevantes para quien realiza la búsqueda. En nuestro entorno universitario este problema se percibe al ver a estudiantes que en trascurso de su vida universitaria no han escuchado de las convocatorias ofrecidas por otras entidades. Esto se puede deber, a que la información nunca llego al estudiante o la información que llegó a este no le sea relevante. A su vez esto repercute en la pérdida de oportunidades para que un estudiante pueda aumentar su nivel académico y de aprendizaje. Adicionalmente al problema por parte de los estudiantes de la Universidad San Buenaventura Cali, está el problema por parte de los docentes investigadores de la universidad quienes debido a la cantidad de información, invierten mayor cantidad de tiempo de análisis de las convocatorias, que en muchos casos no aplican a sus intereses. Por lo tanto existe la necesidad por parte de la Universidad San Buenaventura Cali de implementar mecanismos que faciliten la recopilación, almacenamiento, procesamiento, análisis y recuperación de la información relevante existente como es planteado por Barraza (et al)[Barraza et al., 2014].

Page 11: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

3. MARCO TEÓRICO Y ESTADO DEL ARTE

En esta parte del documento iniciaremos con la descripción de lo que se trata la recuperación de la

información en la sección 3.1, posteriormente en las secciones 3.2 a 3.7 se presentan componentes

que se usarán en el desarrollo de la herramienta de caracterización de documentos y finalmente en

la sección 3.8 se da una breve descripción de las herramientas pre-seleccionadas a ser revisadas a

mayor profundidad para el proyecto.

3.1 RECUPERACION DE INFORMACIÓN (RI)

La recuperación de información (RI) es la ciencia de la búsqueda de información en documentos

electrónicos y cualquier tipo de colección documental digital, encargada de la búsqueda de

metadatos que describan documentos.[Singhal, 2001]

Otra definición de RI dada por Ricardo Baeza-Yates es “la Recuperación de Información trata con la

representación, el almacenamiento, la organización y el acceso a ítems de información”.

Por otra parte Croft dice que la recuperación de información es “el conjunto de tareas mediante las

cuales el usuario localiza y accede a los recursos de información que son pertinentes para la

resolución del problema planteado. En estas tareas desempeñan un papel fundamental los lenguajes

documentales, las técnicas de resumen, la descripción del objeto documental, etc.”. Por otro lado,

Korfhage definió la RI como “la localización y presentación a un usuario de información relevante a

una necesidad de información expresada como una pregunta”.

La estructura de un sistema de recuperación de información es: [Tolosa, 2008]

Se tiene una colección de documentos con información de uno o más temas.

Hay usuarios que realizan una consulta al sistema de recuperación de información en busca

de información específica.

A la consulta realizada por el usuario, el sistema retorna – de forma ideal – referencias a

documentos “relevantes”, es decir aquellos que satisfacen la consulta específica de

información hecha por el usuario, generalmente en forma de una lista ordenada.

Page 12: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Ilustración 1. La problemática de la RI. Fuente:[Tolosa, 2008]

3.2 PSI-Probe

PSI-Probe es una bifurcación del proyecto Lambda Probe, es impulsado por la comunidad y

distribuido bajo la misma licencia de código abierto (GPLv2). Esta herramienta se utiliza para realizar

el monitoreo del servidor, ampliando el administrador Tomcat, haciendo más fácil administrar y

supervisar una instancia de Apache Tomcat. A diferencia de otras herramientas de monitoreo del

servidor. PSI-Probe no requiere que se realicen cambios en las aplicaciones. Las funciones de PSI-

Probe son proporcionadas por medio de una interfaz accesible en la web que se disponga

simplemente desplegándola en el servidor. Las características de PSI-Probe son: [PSI-Probe, 2015]

Solicitudes: monitorear el tráfico en tiempo real, incluso en función de cada aplicación.

Sesiones: Navega / atributos de búsqueda, ver IP pasado, expira, el tamaño estimado.

JSP: Navegar, ver fuente, compilar.

Fuentes de datos: Ver el uso de la piscina, ejecutar consultas.

Registros: Ver el contenido, descarga, los niveles de cambio en tiempo de ejecución.

Temas: Ver pila de ejecución, matan.

Conectores: Estado, gráficos de uso.

Cluster: Estado, tablas de uso.

JVM: tablas de uso de memoria, asesorar GC

Java Service Wrapper: Reiniciar JVM.

Sistema: el uso de CPU, uso de memoria, uso del archivo de intercambio.

Page 13: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

3.3 Jaspersoft® Studio

Jaspersoft Studio es un diseñador de informes gratuito, de código abierto y basado en Eclipse para

JasperReports y JasperReports Server. Se pueden crear diseños muy sofisticados que contienen

gráficos, imágenes, subinformes, tablas JDBC, TableModels, JavaBeans, XML, Hibernate, CSV, y

fuentes personalizadas. Los reportes pueden ser publicados como PDF, RTF, XML, XLS, CSV, HTML,

XHTML, texto, DOCX o en OpenOffice. [Jaspersoft]

3.4 JAMon(Java Application Monitor)

JAMon (Java Application Monitor) es una API de Java que permite realizar el monitoreo de

aplicaciones por parte de los desarrolladores, revisando el rendimiento y comportamiento de estas.

Los módulos que se monitorean automáticamente son: SQL, solicitudes de páginas HTTP, Spring

Beans, llamadas a métodos, Log4j y Excepciones. [JAMon]

3.5 Apache PDFBox

La librería Apache PDFBox ™ es una herramienta de código abierto de Java para trabajar con

documentos PDF. Este proyecto permite la creación de nuevos documentos PDF, manipulación de

documentos existentes y la capacidad de extraer el contenido de los documentos. Apache PDFBox

también incluye varias utilidades de línea de comandos, determina el contenido de un documento

PDF (imagen, texto). Apache PDFBox se publica bajo la licencia Apache v2.0.

PDFBox es un proyecto de la Apache Software Foundation http://www.apache.org/. [The-Apache-

Software-Foundation, 2009]

3.6 Java DOM Parser

JDOM Parser es una de las opciones proporcionadas por Java para analizar documentos XML, JDOM

permite recorrer un documento XML para acceder a los datos o para modificar los datos de este

tipo de documentos. Funciona de manera muy similar pero más eficiente al DOM Parser, el cual

analiza el XML mediante la carga de todo el contenido del documento y creando su árbol de

jerarquía completo en la memoria[Tutorialspoint].

Page 14: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

3.7 Zathuracode 5.1.0

Zathuracode es un generador de código para el desarrollo de aplicaciones empresariales en Java

Enterprise Edition (JavaEE) partiendo de un modelo de base de datos existente. Propuesta por Diego

Armando Gómez con ayuda del grupo de investigación LIDIS (Laboratorio de Investigaciones para el

Desarrollo de la Ingeniería de Software) de la Universidad de San Buenaventura Cali.

Zathuracode es una herramienta de uso libre que se distribuye bajo la licencia Apache 2.0 mantenida

y patrocinada por la empresa Vortexbird S.A.S.

Las tecnologías con las cuales Zathuracode 5.1.0 genera las aplicaciones son: [Vortexbird]

Spring Framework 4.2.4 RELEASE: Es un framework que proporciona un modelo de

programación y configuración de modernas aplicaciones empresariales basadas en Java,

manejando la inyección de dependencias para la persistencia, además brindando apoyo

para JDBC, JPA, JMS y mucho más.[Pivotal-Software, 2016a]

Spring Security 4.0.3 RELEASE: Spring Security es un framework que se centra en

proporcionar la autenticación y autorización para aplicaciones basadas en J2EE.[Pivotal-

Software, 2016b]

PrimeFaces 5.5: Son componentes visuales de Java Server Faces presentes en una suite de

código abierto, que posee una gran cantidad de componentes para hacer más fácil la

creación de aplicaciones web en Java.

HIbernate 4.3.11 Final: Hibernate es un de mapeo objeto-relacional (ORM) para la

plataforma Java, nos facilita el mapeo de atributos entre una base de datos relacional y el

modelo de objetos de una aplicación.[RedHat]

Java Server Faces Mojarra 2.2.12: Es la tecnología que simplifica la creación de interfaces

de usuario para aplicaciones Java Server siendo una implementación del estándar Java

Server Faces.[Oracle, 2014]

Java: Java es un lenguaje de programacióncorientado a objetos que fue diseñado

específicamente para tener tan pocas dependencias de implementación como fuera

posible.

Page 15: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

3.8 HERRAMIENTAS PARA LA RECUPERACIÓN DE LA INFORMACIÓN

En la búsqueda de herramientas para realizar la recuperación de la información nos encontramos

con el informe “A review of Text Analytics Suppliers” realizado en enero de 2014 por BUTLER

ANALYTICS, en el cual como su nombre lo dice, presenta una reseña de los proveedores de análisis

de texto. En este documento se muestran tres grupos de funcionalidades en los que se pueden

clasificar las herramientas, los tres grupos son:

Análisis de texto orientado al usuario y al análisis de sentimientos: esta funcionalidad trata

de identificar y extraer información subjetiva al realizar el análisis de los textos, como

plantea el informe, esta es una ciencia con muy poco desarrollo y que abarca varios

enfoques diferentes, pero de la que se espera un progreso significativo en los próximos

años.

Procesamiento del lenguaje natural (PLN): El PLN permite extraer el significado de los datos

del texto al usar técnicas para realizar tareas como la traducción de idiomas, categorización

y etiquetado de documentos, extracción de términos significativos, etc.

Minería de texto: La minería de texto se refiere a la aplicación de algoritmos a los datos del

texto con el fin de encontrar patrones explotables.

A continuación se presentará una tabla que categoriza algunas herramientas de RI por la funcionalidad que ofrecen: [BUTLER-ANALYTICS., 2014]

Tabla 1. Herramientas de RI separadas por funcionalidad. Fuente: [BUTLER-ANALYTICS., 2014]

Funcionalidad Herramientas Análisis de texto orientado al usuario y al

análisis de semantica textual

Alchemy API

AngossKnowledgeREADER

Attensity Text Analytics

Clarabridge

Eaagle

ExpertSystem

FICO

Lexalytics

Leximancer

SAS Text Analytics

Page 16: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Procesamiento de lenguaje natural

AlchemyAPI

AngossKnowledgeREADER

Attensity Text Analytics

BasisTechnology

Clarabridge

Clustify

Connexor

DatumBox

ExpertSystem

FICO

Intellexer

KBSPortal

Lexalytics

Leximancer

Linguamatics

NetOwl

Provalis

AeroText

SAS Text Analytics

Minería de texto

AngossKnowledgeREADER

DatumBox

Eaagle

FICO

PolyAnalyst de Megaputer

Provalis

AeroText

SAS Text Analytics

Statistica Text Miner

Basados en la tabla anterior, se pre-seleccionaron las herramientas a ser revisadas a mayor

profundidad para el proyecto “Caracterización de la información de convocatorias y becas mediante

recuperación de información”, esta pre-selección se realizó teniendo en cuenta que se necesita la

funcionalidad de procesamiento de lenguaje natural para poder obtener la información necesaria

de los documentos a ser procesados por el sistema, también se tuvo en cuenta la información y el

acceso a ella de las herramientas con PLN (con información se refere a documentos que hablen

sobre la herramienta y sus características). A continuación ampliaremos la información sobre estas

herramientas preseleccionadas:

3.8.1 Angoss KnowledgeREADER

KnowledgeREADER de Angoss es parte de un amplio conjunto de herramientas de análisis y aborda

específicamente el análisis de texto en el contexto de las aplicaciones orientadas al cliente y

marketing. Se especializa en la representación visual que incluye un dashboard para el sentiment

analysis y el análisis de texto, y también proporciona un mapa algo único de los resultados de la

Page 17: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

minería asociada para mostrar las palabras que tienden a ocurrir juntas. [Angoss., 2015; BUTLER-

ANALYTICS., 2014]

Características:

Dashboard para el análisis de texto y sentiment analysis

Análisis de comparación, tendencia y asociación

Exploración de documentos con sentiment markup

Extracción de tópico, tema y entidad

Categorización por temas de consulta y concepto

Perfilado, segmentación y modelado predictivo usando árboles de decisión y árboles de

estrategia

Herramientas de preparación de datos para combinar los ajustes de análisis con datos

estructurados

Incluye análisis en base de datos y soporte de datos e importación desde la base de datos,

archivos Excel, CSV, HTML, WORD, PDF y Outlook PST.

Soporta múltiples idiomas

3.8.2 Attensity

Attensity se especializa en análisis social, pero también ofrece un motor de análisis de texto de uso

general. Cuatro componentes principales definen lo que ofrece:

Attensity Pipeline recoge datos de más de cien millones de fuentes sociales como entrada

para el análisis.

Attensity Respond ofrece un mecanismo para responder a un comentario social.

Attensity Analyze permite que el texto en los correos electrónicos, notas call-center,

encuestas y otras fuentes de texto para ser analizado por el sentimiento y la tendencia.

Attensity Text Analytics proporciona un motor subyacente que abarca varias tecnologías

NLP únicas y un servidor de anotación semántica para auto-clasificación, extracción de

entidades y extracción exhaustiva. Viene con buenas herramientas de integración también,

así que los resultados de análisis de texto se pueden combinar con el análisis de datos

estructurados.

Tres soluciones horizontales se ofrecen para el marketing, servicio al cliente y TI. [BUTLER-

ANALYTICS., 2014]

3.8.3 Lexalytics

Lexalytics es uno de los precursores en el análisis de texto y su motor de análisis de texto Salience

se utiliza en estudios de mercado, monitoreo de medios sociales, encuesta de análisis/voz del

cliente, la búsqueda empresarial y aplicaciones de políticas públicas. La funcionalidad ofrecida por

Salience incluye análisis de los sentimientos, la extracción de entidades con nombre, extracción de

temas, análisis de los sentimientos de nivel de entidad, resumen y las facetas y la extracción de

atributos. El motor Salience se puede integrar en otras aplicaciones de negocio a través de un

Page 18: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

conjunto flexible de APIs, y puede ser ajustado para tareas muy específicas y altos niveles de

rendimiento.

Otro componente esencial en el enfoque Lexalytics son los directorios de datos. Esto proporciona

efectivamente un parámetro de entorno controlado con archivos para establecer patrones de

relación, análisis de los sentimientos, y la creación de temas. Se ofrece soporte no-Inglés a través

de este mecanismo. Cada directorio puede configurarse para soportar una tarea en particular la

entrega de considerable flexibilidad y potencia. [BUTLER-ANALYTICS., 2014]

3.8.4 SAS Text Analytics

SAS Text Analytics es parte de la muy amplia capacidad de análisis que ofrece SAS. Varios módulos

se proporcionan incluyendo:[BUTLER-ANALYTICS., 2014]

SAS Contextual Analysis - para la creación de modelos de clasificación de documentos.

SAS Enterprise Content Categorization - para la categorización de contenido automatizada,

y varios módulos adicionales añaden capacidad adicional según sea necesario.

SAS Ontology Management - para definir relaciones semánticas.

SAS SentimentAnalysis

SAS Text Miner - uso de diversas técnicas supervisadas y no supervisadas.

3.8.5 DatumBox

DatumBox proporciona una plataforma de aprendizaje de máquina basada en la nube con 14 áreas

separadas de funcionalidad, muchas de las cuales son relevantes para el análisis de texto. Las

diversas funciones se llaman a través de una API REST y abordan los siguientes tipos de aplicaciones:

[BUTLER-ANALYTICS., 2014]

Análisis de Sentimiento - clasifica documentos como positivo, negativo o neutral.

Análisis de Sentimiento Twitter - dirigido específicamente a los datos de Twitter.

Análisis Subjetividad - clasifica documentos como subjetivos (opiniones personales) u

objetivo.

Clasificación de temas - documentos asignados a 12 categorías temáticas.

Detección de Spam - documentos marcados como spam o nospam.

Detección de contenido para adultos.

Evaluación de legibilidad - sobre la base de términos y expresiones idiomáticas.

Detección de idioma.

Detección comercial - comercial o no comercial basándose en palabras clave y expresiones.

Detección Educacional - en función del contexto.

Detección de Género - escrito por o dirigirse a hombres/mujeres basado en palabras e

idiomas.

Extracción de palabras clave.

Page 19: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Extracción de texto - extracción de información importante de una página web.

La similitud de documentos - para detectar página web duplicados y plagio.

Para finalizar de nombrar herramientas de IR, a continuación son nombradas las que fueron analizadas en el trabajo llamado “Herramientas para potenciar el uso de Repositorios de Objetos de Aprendizaje” llevado a cabo por Claudia Deco, Ana Casali, Cristina Bender y Raúl Kantor.

3.8.6 AlchemyAPI

AlchemyAPI fue fundada en 2005 y tiene su sede en Denver, Colorado. Planes de precios para los

servicios basados en la nube se basan en transacciones por día y comienzan con una suscripción

gratuita de arranque.

Soporta sentiment analysis, marketing, content discovery, inteligencia de negocio y la mayoría de

las tareas en las que se necesita el procesamiento de lenguaje natural. Posee un set de

entrenamiento usado para modelar el lenguaje 250 veces más grande que la Wikipedia; también

utiliza tecnologías de aprendizaje profundas (redes neuronales multicapa), además del análisis de

texto, usa tecnología de reconocimiento de imágenes. [BUTLER-ANALYTICS., 2014]

AlchemyAPI ofrece por medio de una REST API las siguientes funcionalidades:

Sentiment analysis (Análisis de sentimiento): También conocido como minería de opinión,

permite identificar el sentimiento positivo o negativo de un documento o página web. Este

intenta determinar la actitud de un interlocutor o escritor con respecto a algún tema o la

polaridad contextual general de un documento. (Se puede utilizar sobre una página web

mediante su URL, un documento HTML o un String).

Taxonomy (Taxonomía): Permite categorizar el código HTML o contenido basado en web,

asignando categoría más probable a la información. (Se puede utilizar sobre una página web

mediante su URL, un documento HTML o un String).

Concept Tagging (Etiquetado de conceptos): Permite etiquetar automáticamente el código

HTML, texto o documentos basados en web. El concept tagging es capaz de abtraer,

entendiendo como se relacionan los conceptos y etiquetar adecuadamente. Por ejemplo:

“Mis marcas favoritas son BMW, Ferrari y McLaren” generaría la etiqueta “Industria del

automóvil”. (Se puede utilizar sobre una página web mediante su URL, un documento HTML

o un String).

Entity Extraction: Permite la identificación de personas, empresas, organizaciones,

ciudades, accidentes geográficos y otros tipos de entidades en HTML, texto o contenido

basado en web. (Se puede utilizar sobre una página web mediante su URL, un documento

HTML o un String).

Page 20: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Keyword Extraction: Permite la extracción de palabras claves utilizando algoritmos

estadísticos y procesamiento del lenguaje natural para analizar las palabras claves que

puedan ser usadas para indexar el contenido de la extracción, generando nubes de

etiquetas y mucho más. (Se puede utilizar sobre una página web mediante su URL, un

documento HTML o un String).

Relation Extraction: Permite identificar las relaciones sujeto-accion-objeto dentro de un

HTML, texto o contenido basado en web. (Se puede utilizar sobre una página web mediante

su URL, un documento HTML o un String).

Text Extraction: Permite realizar la extracción de texto de una página web. (Solo puede ser

usado en páginas web ya que la información es extraída de una estructura de etiquetas

como HTML, xHTML o XML).

Face Detection: Permite la detección y reconocimiento de rostros en las URLs dadas.

Image Link Extraction: Permite extraer los enlaces de las imágenes de una URL especificada.

Image Tagging: Extrae las etiquetas de las imágenes de una URL especificada

Author and Authors Extraction: Extrae los autores de una página web o un documento

HTML. (Solo realiza la extracción de HTML ya que utiliza las etiquetas para saber quién es el

autor del documento, página o blog).

Language Detection: Detecta el idioma del texto estudiado

Feed Detection: Extrae los links RSS/ATOM Feed embebidos en cualquier página web.

Microformats Parsing: Entiende estándares Microformats de datos y es capaz de extraer el

contenido con formato hCard, adr,geo y rel- desde cualquier página web. Aprovecha estos

datos estructurados para mejorar la categorización de una página web y llevar a cabo tareas

de descubrimiento de contenido (content discovery).

Publication Date: Extrae la información de la fecha de publicación cuando está especificada

en la página web.

3.8.7 KEA KEA es un algoritmo para extraer palabras clave de los documentos de texto. Se puede utilizar ya sea para la indexación libre, donde frases clave se seleccionan del propio documento, o para la indexación con un vocabulario controlado. KEA también se puede utilizar para el etiquetado

Page 21: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

automático. KEA está implementado en Java y es independiente de la plataforma. Es un software de código abierto distribuido bajo la Licencia Pública General GNU. [Casali y Deco, 2015]

3.8.8 ParsCit Aplicación de código abierto, estructura al documento y genera un XML donde identifica Título, Autor, Resumen y Palabras Clave. Utiliza aprendizaje automático supervisado, incluye utilidades para ejecutarse como servicio Web o como aplicación independiente. [Casali y Deco, 2015]

3.8.9 Mr. Dlib Mr. Dlib, una biblioteca digital de lectura mecánica. Mr. dlib proporciona acceso a varios millones

de artículos en texto completo y sus metadatos en formato XML y JSON a través de un servicio web

REST. Además, el Mr. dlib ofrece documentos relacionados con artículos académicos dados. El

servicio está destinado a servir investigadores que necesitan datos bibliográficas y de texto

completo de la literatura académica de sus análisis (por ejemplo, de impacto y de análisis de

tendencias); proveedores de servicios académicos que necesitan información adicional para

mejorar sus propios servicios (por ejemplo, las recomendaciones de la literatura); y los proveedores

que quieren construir sus propios servicios basados en datos del Mr. dlib. [Bell, 2011]

Page 22: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

4. OBJETIVO GENERAL

Desarrollar una herramienta para caracterizar la información de las convocatorias en un modelo de base de datos mediante information retrieval.

4.1 OBJETIVOS ESPECÍFICOS Seleccionar las herramientas de recuperacion de informacion apropiadas de

búsqueda y extracción de metadatos de las convocatorias.

Diseñar el modelo de metadatos que caracterice las convocatorias.

Construir la herramienta que realice la caracterización de la información para

almacenar el resultado en el modelo.

Evaluar el desempeño de la aplicación en un entorno controlado para así validarla.

Page 23: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

5. ALCANCE DEL PROYECTO

A continuación se presentan en el alcance del proyecto los puntos que se considera son relevantes

y han sido desarrollados en la solución para apoyar el análisis de convocatorias por parte de los

docentes investigadores y para el aprovechamiento de la información de estas por parte de los

estudiantes, problema presente en la Universidad San Buenaventura Cali:

Recuperación de información de Convocatorias y Becas presentes en el repositorio

local.

Acceso a los resultados de la caracterización por medio de una interfaz mediante

consultas hechas por los usuarios.

Generación de reportes con información relevante del sistema y de la caracterización

realizada.

Obtención de sugerencias hechas por parte de los usuarios para fortalecer la

caracterización.

Modificación de parámetros por parte de los administradores del sistema (expansión

del diccionario, etc.).

Page 24: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

6. PROYECTOS RELACIONADOS

Para la elaboración de este proyecto, realizamos una búsqueda de herramientas similares a la

herramienta planteada para este proyecto, que permitan realizar una extracción automática de

metadatos de documentos.

En la búsqueda encontramos el proyecto llamado “Herramientas para potenciar el uso de

Repositorios de Objetos de Aprendizaje”[Casali et al., 2014], llevado a cabo por Claudia Deco, Ana

Casali, Cristina Bender y Raúl Kantor, el cual tiene entre sus objetivos: Facilitar el almacenamiento

de documentos en repositorios, la extracción automática de metadatos y mejorar la búsqueda de

información mediante expansión semántica de la consulta y sistemas recomendadores. Para lograr

estos objetivos se abordó la problemática de la extracción automática de metadatos, utilizando

herramientas de RI.

Entre las herramientas que fueron analizadas en este proyecto están: AlchemyAPI, KEA, MrDlib y

ParsCit. Entre los resultados obtenidos muestran que KEA y AlchemyAPI obtuvieron resultados

similares (60%) en cuanto a la precisión (la precisión está definida como el cociente entre el número

de respuestas correctas y el número de respuestas producidas) en la extracción de palabras clave y

que el mejor rendimiento se dio al combinar a AlchemyAPI y ParsCit obteniendo un 70% en la

precisión, un 14% más que con AlchemyAPI en solitario.

Ilustración 2. Arquitectura del sistema propuesto por Deco (et al). Fuente:[Casali y Deco, 2015]

Adicionalmente a las herramientas para la extracción de los metadatos, utilizan el Apache PDFBox

para realizar la extracción de información de los documentos en formato PDF, el crawler crawler4j

y el motor de base de datos de grafos Neo4j.

Page 25: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Entre lo descrito anteriormente se obtuvo información muy importante para el planteamiento de la

herramienta que desarrollamos por la similitud del proyecto, diferenciándose en que no hacemos

uso de una base de datos orientada a grafos ya que no vamos a hacer el mapeo de sitios de donde

se extrae la información ya que los documentos que vamos a caracterizar están en el repositorio

local y que únicamente se va a usar el AlchemyAPI apoyada por un diccionario de términos en

reemplazo de ParsCit para realizar la caracterización de los documentos.

Page 26: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

7. ANÁLISIS DE LAS HERRAMIENTAS PRE-SELECCIONADAS

Para las herramientas pre-seleccionadas en la sección 3, se realizó un análisis más exhaustivo para

determinar la que sería parte del proyecto, de este análisis se obtuvieron los siguientes resultados:

De las herramientas Angoss KnowledgeREADER y SAS Text Analytics se encontró información y

artículos referentes a las características y funcionalidades ofrecidas por estas, pero no fue posible

obtener una demo a pesar de haberla solicitado mediante la página oficial de cada una de ellas,

tampoco se obtuvo información adicional (a la que se expuso en la sección 3 de este documento) a

pesar de la solicitud hecha en las secciones de soporte de las páginas oficiales de estos proveedores

(http://www.angoss.com/predictive-analytics-software/software/knowledgereader/ -

http://www.sas.com/en_us/software/analytics/text-miner.html).

Al buscar información de Lexalytics encontramos que esta herramienta ofrece una herramienta

llamada Semantria, especializada en el procesamiento de lenguaje natural, esta tiene una API

compatible con distintos lenguajes como Ruby, .NET, JavaScript, Node JS, Python, Java , PHP y C++.

La API además soporta los siguientes lenguajes:

Ilustración 3. Idiomas compatibles y características de Semantria. Fuente: [Lexalytics].

Page 27: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Y los precios de Semantria de Lexalytics son:

Ilustración 4. Precios de los paquetes de Semantria. Fuente: [Lexalytics].

Por otra parte DatumBox ofrece una API REST que se conecta mediante una API Key dada por

Datumbox y la cual tiene clientes para PHP, C#, Python, Ruby, Node JS y Java, esta API provee un

número limitado de llamados que son 1000 por día, pero la documentación de las APIs como tal no

existe.

Entre las herramientas estudiadas por Claudia Deco y Ana Casali se encuentran:

KEA (keyphrases extraction algorithm), una herramienta para la extracción de términos

relevantes implementada en Java, que requiere una fase de entrenamiento para ser usada.

El alcance de esta herramienta es limitado para la información que requerimos extraer de

los documentos que serán procesados.

MrDlib (Machile readable digital library) es una biblioteca digital que permite el acceso a

diversos artículos y sus metadatos, esta herramienta se encuentra en una fase beta de

desarrollo, por esta razón decidimos no utilizarla en nuestro proyecto.

ParsCit estructura el documento y general un XML donde se identifica Título, Autor,

Resumen y Palabras Clave, se ejecuta como servicio web, pero debe ser entrenado en el

tipo de documentos a procesar, especialmente en el idioma español, la documentación

respecto a ParsCit es nula y el servicio es intermitente cuando realizamos pruebas en la

página, razón por la que decidimos descartar esta herramienta.

Finalmente está AlchemyAPI nombrada en la investigación realizada por Casali (et al)[Casali y Deco,

2015] y en el documento elaborado por BUTLER ANALYTICS[BUTLER-ANALYTICS., 2014], esta

herramienta es la más completa de las investigadas, tiene todas las funcionalidades en las que se

categorizan las herramientas en la Tabla 1. Adicionalmente el API REST funciona mediante un cliente

Page 28: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

en Java, que para uso académico permite realizar un máximo de 30.000 llamados a la API por día o

1.000 llamados para el uso comercial, para aumentar los llamados a más de 200.000.000 diarios, se

debe acceder al “AlchemyAPI Subscription Plan”.

Como se puede observar AlchemyAPI es la herramienta más apropiada para lograr la construcción

del sistema de caracterización, de las funcionalidades ofrecidas por AlchemyAPI nos centraremos

en la extracción de palabras claves y la extracción de entidades; adicionalmente para aumentar el

éxito en los resultados integraremos a la herramienta un diccionario de términos.

Page 29: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

8. DESCRIPCIÓN DE LA SOLUCIÓN

En el diseño de la plataforma colaborativa hecho por Barraza (et al)[Barraza et al., 2014], se propone

que una de las herramientas de la plataforma sea un “Observatorio de convocatorias”. El grupo de

investigación LIDIS ha propuesto la realización de un observatorio de convocatorias para la

Universidad San Buenaventura Cali, el cual está compuesto por tres proyectos. El primero es el

“Portal web para presentación de convocatorias y becas para investigadores” el cual mediante la

utilización de un crawler que traerá la información de distintas páginas de convocatorias tales como

Colciencias (Departamento administrativo de ciencias, tecnología e innovación

http://www.colciencias.gov.co/). El segundo proyecto es la “Caracterización de la información

mediante la extracción de metadatos utilizando recuperacion de informacion sobre convocatorias”,

que se alimenta de los resultados del portal web y se encargará de caracterizar la información de

las convocatorias y guardar los resultados del procesamiento de los documentos en una base de

datos, que a su vez alimentará el tercer proyecto del “Observatorio de convocatorias” el cual es el

“Desarrollo de un sistema de recomendaciones basado en el histórico de consulta y perfiles de

usuario para convocatorias y becas de proyectos de investigación” que como su nombre lo indica,

se encargará de recomendar la información que ha sido previamente caracterizada a los usuarios

del Observatorio.

De acuerdo a lo planteado la pregunta ¿Es posible realizar una herramienta que permita la

extracción de metadatos de las convocatorias para realizar su caracterización? Para dar solución a

esta pregunta y basados en el trabajo hecho por Deco (et al)[Casali y Deco, 2015], se ha propuesto

un sistema que aplique la recuperación de la información para realizar la extracción de metadatos

de los documentos, haciendo uso en el sistema de herramientas presentes en el mercado como

AlchemyAPI.

El lenguaje de programación para la elaboración del sistema de extracción y caracterización de

información seleccionado es Java, al hacer uso de herramientas tales como Zathuracode, PSI Probe

y librerías tales como PDFBox, JDOM Parser, nio librería nativa de Java y la propia AlchemyAPI para

la extracción de Información.

8.1 ARQUITECTURA DEL SISTEMA

A continuación se describe el estilo arquitectónico de la herramienta desarrollada para la

caracterización de convocatorias y becas a partir de la arquitectura base ofrecida por el framework

Zathuracode, como la lógica de negocio, el delegado de negocio, los POJOs, los Data Access Object

y el Entity Manager Helper.

Page 30: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

8.1.1 ESTILO ARQUITECTÓNICO

La arquitectura de software del sistema está definida por el estilo de arquitectura de capas

jerárquicas o arquitectura estratificada, el sistema está organizado en capas que proveen un

conjunto de servicios a las capas superiores y requieren de los servicios de las capas inferiores,

facilitando la comprensión, el mantenimiento, reutilización y la portabilidad del sistema

desarrollado.

Ilustración 5. Estilo arquitectónico en capas. Fuente:[Gómez, 2015]

Este estilo arquitectónico, es la arquitectura genérica obtenida al hacer uso del framework

Zathuracode como apoyo en la generación del código base de nuestro sistema en Java Enterprise

Edition a partir del modelo de base de datos definido (sección 8.3).

Ilustración 6. Arquitectura de Zathuracode. Fuente:[Gómez, 2015]

Page 31: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

8.1.2 PATORNES DE DISEÑO

Los patrones de diseño en el software, son modelos reutilizables de software que proveen

soluciones a problemas comunes de los cuales ya se tiene una solución probada y óptima. En el

sistema desarrollado, los patrones de diseño ofrecidos por Zathuracode son:

Business Delegate: El Business Delegate se usa para reducir el acoplamiento entre los

clientes de la capa de presentación y los servicios de negocio, este actúa como una

abstracción de negocio del lado del cliente, ocultando la implementación de los servicios

del negocio.

Ilustración 7. Diagrama de secuencia patrón Business Delegate. Fuente:[Alur et al., 2006]

DAO (Data Access Object): Es un patrón en el cual se identifican todas las entidades del

negocio, transformándolas en clases de las que se generan instancias. Las clases encapsulan

cierta lógica del negocio para realizar persistencia de datos, permitiendo continuar con el

hilo sin perder la transacción.

Page 32: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Ilustración 8. Diagrama de secuencia patrón DAO. Fuente:[Alur et al., 2006]

Singleton: Instancia la clase de manera única lo cual impide que existan dos instancias

dentro de una misma sesión, evitando la duplicidad de datos.

DTO (Data Transfer Object): Es un objeto que transporta datos entre procesos usualmente

usado para evitar penalizaciones de tiempo al realizar transacciones en una base de datos,

esto funciona a través de la creación de un objeto de negocio el cual está compuesto de

todas las entidades necesarias.

Interface: Este patrón tiene como objetivo separar las funciones por medio de firmas de

métodos de las implementaciones, brindando la capacidad de modificar las

implementaciones sin modificar el código donde se hace el llamado de dicha interfaz.

Page 33: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Adicionalmente a estos patrones de diseño brindados por el framework Zathuracode fueron

implementados en el desarrollo del sistema, los siguientes patrones:

Iterator: Define interfaces las cuáles serán las encargadas para acceder

secuencialmente a un grupo de objetos de una colección.

Observer: El patrón observador se puede definir como el monitoreo y estados de

cambio de una instancia, objeto o archivo y notificar a todas las dependencias el cambio

de este, desencadenando acciones automáticamente.

8.2 DIAGRAMA DE COMPONENTES

Ilustración 9. Diagrama de componentes del sistema

En el sistema el comportamiento de los componentes comienza en la capa de presentación de los

XHTMLs generados con primefaces, estos se comunican con los BackEndBeans, quienes realizan el

llamado al delegado de negocio, usado para ocultar la implementación de los servicios del negocio,

usado principalmente en servicios web para exponer solo lo necesario del sistema y reducir el

acoplamiento ente la capa de presentación y los servicios.

Page 34: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Estos servicios ocultos por el delegado de negocio tienen la lógica del negocio y es donde tenemos

los métodos construidos del sistema, lo que quiere decir es, donde se encuentran los algoritmos del

diccionario, los llamados a AlchemyAPI y demás que serán descritos en la sección 7.3 de este

documento.

Finalmente para la persistencia se usa el patrón de diseño DAO tal como se describió en la sección

8.1.2 de este documento, encapsulando el acceso a la base de datos.

8.3 MODELO DE BASE DE DATOS

Ilustración 10. Modelo físico de base de datos.

Page 35: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

8.4 DESCRIPCIÓN DEL PROCESO DE NEGOCIO

Con el fin de dar a conocer el proceso que se realiza al momento de caracterizar un documento

nuevo por parte del sistema, a continuación se describe el proceso y la interacción entre las clases

usadas.

Ilustración 11. Diagrama de comunicación del sistema

Inicialmente el proceso empieza cuando un documento en formato PDF ingresa en la carpeta raíz

del repositorio, esta carpeta se monitorea con función WatchService de la librería nio de Java, esta

librería se encarga de vigilar la carpeta a la espera de algún cambio o evento. Al encontrar un

documento nuevo, La función file de la librería nio se encarga de mover el documento a la carpeta

en proceso. Una vez el documento se encuentra en la capeta en proceso, se verifica si el documento

ha sido procesado anteriormente, si es así entonces finaliza el proceso, de caso contrario continúa

con el proceso.

Page 36: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Ilustración 12. Diagrama de flujo del proceso inicial del sistema

Una vez el documento se mueve a la carpeta en proceso, el WatchService en esta carpeta activa la

función del Apache PDFBox, que intenta realizar la extracción del texto del documento en formato

PDF, para obtener la cadena de caracteres del contenido del documento. Si el Apache PDFBox no

puede realizar la conversión del documento, esto quiere decir que el contenido del documento no

es texto, lo cual registra una excepción en los archivos logs del sistema y da por terminado el

proceso de extracción por parte del sistema.

Ilustración 13. Diagrama de flujo del segundo proceso del sistema

Page 37: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Si el Apache PDFBox logra extraer la cadena de caracteres, esta cadena de caracteres pasa por los

siguientes dos procesos realizados en paralelo:

1. Con la librería lang de Java se eliminan las stopwords, luego con componentes de la librería

util de Java se convierte la lista de términos traídos de la base de datos en un Hasmap para

ser comparados con la cadena de caracteres y obtener los resultados de la comparación. La

cadena de caracteres es procesada por el algoritmo basado en estructuras de datos tales

como son los arboles AVL, b, b+, B*, que se encarga de comparar los términos encontrados

en la cadena de caracteres, con los términos que se encuentran almacenados en el

diccionario construido.

2. La cadena de caracteres es procesada por AlchemyAPI que realiza la extracción de entidades

y palabras claves del texto. Esta información es entregada al sistema en formato XML, el

cual debe ser decodificado en cadena de caracteres por medio de la librería JDOM Parser,

para poder realizar la comparación de texto contra el diccionario

Ilustración 14. Diagrama del proceso realizado por AlchemyAPI

Finalmente los resultados obtenidos en estos dos procesos son comparados para eliminar los

términos repetidos y obtener así un solo resultado producto de la unión de estos procesos, logrando

así una mejor caracterización de los documentos, guardando los resultados en la base de datos y

dando por finalizado el proceso por parte del sistema.

Luego de la caracterización de los documentos, el sistema puede generar reportes como:

Reporte de palabras claves de un documento, en donde se mostraran todas las palabras

clave que han sido extraídas por el sistema de un documento seleccionado.

Page 38: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Ilustración 15. Reporte palabras clave de un documento

Reporte de logs de la aplicación, en donde se muestra la fecha y la descripción de los logs

de la aplicación.

Ilustración 16. Reporte logs del sistema de caracterización

Page 39: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Reporte de palabras sugeridas, en donde se muestran palabras que han sido buscadas en

las consultas pero con las cuales no se han obtenido resultados, ya sea porque el sistema

no las ha encontrado por limitaciones propias o porque no existen documentos con estas

palabras, permitiendo con estas palabras evaluar la pertinencia de su inclusión en el

diccionario de términos y expandir así su alcance.

Ilustración 17. Reporte palabras sugeridas

Este sistema es parte del proyecto, observatorio de convocatorias y se pensó siempre en que debe

tener integración con otros sistemas que pueden utilizarlo. Por medio de la dirección URL nuestro

sistema puede ser incluido en portales web ya existentes y nuestra base de datos está debidamente

normalizada, lo cual permite poder utilizarla para realizar recomendaciones a los estudiantes con el

fin de enviarle información al usuario, también se encuentra contemplado realizar a través de un

procedimiento almacenado, la consulta de los títulos de las convocatorias ya que este dato se debe

consultar de la página en la cual se extrae el documento de la convocatoria.

Page 40: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

9. PRUEBAS CON EL EXTRACTOR

El extractor seleccionado para el desarrollo del sistema es AlchemyAPI, el cual utiliza la tecnología

de procesamiento de lenguaje natural y algoritmos de aprendizaje automático para extraer

metadatos semánticos de contenido, tales como información sobre personas, lugares, empresas,

temas, hechos, relaciones, autores y lenguas.

De las funcionalidades nombradas en la sección 3.8.6, ofrecidas por AlchemyAPI, solo están

soportadas en el idioma español las siguientes:

Sentiment analysis

Entity Extraction

Keyword Extraction

Adicionalmente las funcionalidades que no dependen del idioma como son:

Text Extraction

Author and Authors Extraction

Language Detection

Publication Date

Para realizar la caracterización de convocatorias se utilizaron las extracción de entidades y la

extracción de palabras clave ya que son pertinentes para el proyecto y se pueden aplicar sobre una

cadena de caracteres.

Posteriormente decidimos evaluar el desempeño del extractor seleccionado en lo que respecta a la

extracción de palabras claves y entidades. Esto lo realizamos al aplicar estas dos funcionalidades en

documentos en inglés y documentos en español para saber las posibles falencias del extractor en el

idioma español, porque los documentos objetivos a caracterizar por la herramienta inicialmente son

las convocatorias provenientes de Colciencias.

Caso 1: Artículos en ingles

Caso 2: Artículos en español

Caso 3: Artículos de periódico en inglés y español

Métricas utilizadas:

Precisión (P) y Cobertura (C) en donde:

𝑃 =# 𝑅𝑒𝑠𝑝𝑢𝑒𝑠𝑡𝑎𝑠 𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑎𝑠

# 𝑅𝑒𝑠𝑝𝑢𝑒𝑠𝑡𝑎𝑠 𝑃𝑟𝑜𝑑𝑢𝑐𝑖𝑑𝑎𝑠

𝐶 =# 𝑅𝑒𝑠𝑝𝑢𝑒𝑠𝑡𝑎𝑠 𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑎𝑠

# 𝑇𝑜𝑡𝑎𝑙 𝑃𝑜𝑠𝑖𝑏𝑙𝑒 𝑑𝑒 𝑅𝑒𝑠𝑝𝑢𝑒𝑠𝑡𝑎𝑠 𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑎𝑠

Page 41: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Para todos los casos se realizó de forma manual la extracción palabras claves y entidades de los

documentos, para poder determinar cuál era el número total posible de respuestas correctas y

saber también el número de respuestas correctas de cada documento y con esto poder determinar

la precisión y cobertura de los resultados obtenidos con el extractor.

Caso 1: Artículos en inglés Se analizaron 5 artículos en inglés de acceso abierto obtenidos de ScienceDirect.

Tabla 2. Precisión y Cobertura en artículos en inglés.

Documento Idioma Palabras Clave Entidades

Precisión Cobertura Precisión Cobertura Artículo 1 Inglés 0.92 0.92 0.97 0.84 Artículo 2 Inglés 0.86 0.89 0.8 0.7 Artículo 3 Inglés 0.82 0.79 0.7 0.7 Artículo 4 Inglés 0.89 0.81 0.74 0.88 Artículo 5 Inglés 0.88 0.86 0.85 0.79 Promedio 0.87 0.854 0.812 0.782

Como se puede observar en la Tabla 2. En cuanto a palabras claves se obtuvo una precisión del 87%

en promedio y una cobertura promedio del 85,4%. Esta cobertura nos permite decir que se

extrajeron casi todas las palabras consideradas como clave de los documentos analizados y la

precisión permite decir que de las palabras claves que se obtuvieron la mayoría eran palabras claves

de los documentos estudiados.

Con respecto a las entidades se obtuvo una cobertura promedio del 78,2% lo que quiere decir que

se obtuvo la mayoría de las entidades de los artículos, además de una precisión promedio del 81,2%

lo que quiere decir que la mayoría de las entidades obtenidas eran las correctas para los artículos

estudiados.

Caso 2: Artículos en español Se analizaron 5 artículos en español de acceso abierto.

Tabla 3. Precisión y Cobertura en artículos en español.

Documento Idioma Palabras Clave Entidades

Precisión Cobertura Precisión Cobertura Artículo 1 Español 0.4 0.17 0.69 0.39 Artículo 2 Español 0.62 0.48 0.56 0.56 Artículo 3 Español 0.3 0.36 0.58 0.78 Artículo 4 Español 0.46 0.5 0.4 0.5 Artículo 5 Español 0.48 0.56 0.54 0.68 Promedio 0.452 0.414 0.554 0.582

Page 42: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Como se puede observar en la Tabla 3. Se obtuvo una cobertura promedio del 41.4% de palabras

claves, lo que quiere decir que se extrajeron menos de la mitad de palabras clave posibles de los

artículos estudiados y la precisión promedio de las palabras clave fue de 45,2%, lo que quiere decir

que de las palabras extraídas, menos de la mitad son realmente palabras clave de los artículos de la

prueba.

En lo que respecta a las entidades se obtuvo una cobertura del 58,2%, lo que indica que se extrajeron

un poco más de la mitad de las entidades posibles de los artículos y la precisión promedio fue del

55,4%; lo que quiere decir que de las entidades que se extrajeron sólo la mitad eran correctas.

Caso 3. Artículos de periódico en inglés-español Se analizaron 5 artículos de periódicos en inglés y 5 en español para comparar los resultados con

textos que fueran exactamente iguales.

Tabla 4. Precisión y Cobertura en artículos de periódico en inglés-español.

Documento Idioma Palabras Clave Entidades

Precisión Cobertura Precisión Cobertura Artículo 1 Español 0.2 0.058 0.5 0.15 Artículo 1 Inglés 0.28 0.59 0.86 0.46 Artículo 2 Español 1 0.11 0.71 0.35 Artículo 2 Inglés 0.36 1 1 0.642 Artículo 3 Español 1 0.08 0.6 0.23 Artículo 3 Inglés 0.26 1 1 0.85 Artículo 4 Español 0.4 0.18 0.71 0.22 Artículo 4 Inglés 0.18 0.81 1 0.91 Artículo 5 Español 0.29 0.13 0.75 0.19 Artículo 5 Inglés 0.31 1 1 0.81 Promedio Español 0.57 0.11 0.654 0.228 Promedio Inglés 0.278 0.88 0.972 0.734

En la Tabla 4. Se observa una disminución en la precisión y la cobertura obtenida por el extractor

frente a los procesos realizados sobre artículos científicos en inglés y en español. Sin embargo se

mantiene la tendencia observada previamente, con la que se puede asegurar que los mejores

resultados de los procesos llevados por AlchemyAPI son sobre documentos en inglés.

Page 43: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

10. RESULTADOS

En las pruebas hechas con AlchemyAPI sobre los artículos científicos en inglés, se obtiene un valor

promedio en la precisión de la extracción de palabras clave del 87% frente al 45.2% al realizar este

mismo proceso sobre artículos científicos en español. El valor promedio de cobertura de la

extracción de palabras claves de los artículos científicos en inglés es del 85.4% frente a un 41.4% de

este proceso realizado sobre artículos científicos en español.

En cuanto al valor de la precisión al realizar la extracción de entidades de los artículos científicos en

inglés, se obtiene un promedio del 81.2% frente a un 55.4% de la extracción de entidades de

artículos científicos en español. La cobertura promedio de la extracción de entidades de los artículos

científicos en español es del 58.2% frente a un 78.2% de la extracción de entidades de los artículos

científicos en inglés.

Finalmente en las pruebas realizadas sobre artículos de periódico, muestran una disminución de la

precisión y la cobertura de los resultados obtenidos tanto en el idioma inglés, como en español,

frente a los resultados obtenidos al realizar el proceso sobre artículos científicos en estos idiomas;

sin embargo se sigue manteniendo la tendencia de obtener mejores resultados al realizar la

extracción de entidades y palabras claves en los artículos de periódico en inglés con respecto a los

mismos artículos en español como se puede apreciar en la tabla 5.

Tabla 5. Resultados promedio de la experimentación con AlchemyAPI.

Tipo Idioma Palabras Clave Entidades

Precisión Promedio

Cobertura Promedio

Precisión Promedio

Cobertura Promedio

Artículo científico Inglés 87% 85.4% 81.2% 78.2% Artículo científico Español 45.2% 41.4% 55.4% 58.2%

Artículo de periódico

Inglés 27.8% 88% 97.2% 73.4%

Artículo de periódico

Español 57% 11% 65.4% 22.8%

Podemos observar que los resultados de la extracción de palabras claves y entidades son muchos

mejores en los textos en inglés, razón por la cual, para reforzar los resultados obtenidos de este

proceso se realizó un diccionario de términos que brinde un apoyo al extractor y obtener mejores

resultados a la hora de realizar la caracterización de las convocatorias.

La aplicación la cual se desarrolló a través de las investigaciones realizadas en este documento,

Contiene todo el conocimiento adquirido en este proceso académico, encontrando la solución más

adecuada a la necesidad solicitada para lograr la extracion de datos pertinente a la necesidad

presente en la Universidad San Buenaventura Cali.

Page 44: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Con esto la aplicación tiene 2 perfiles de usuario:

Administrador

Usuario

El administrador podrá realizar la gestión de correos, parámetros y detalles de la aplicación por

medio de un usuario y contraseña.

Ilustración 18. login de administración.

Los usuarios de la aplicación no tienen un usuario y una contraseña, ya que solo con acceder al link

podran realizar consultas a través de la plataforma web.

Ilustración 19. Pantalla del prototipo

Page 45: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

11. PROYECTOS FUTUROS

El siguiente paso es la integración de esta herramienta desarrollada con los otros 2 proyectos que

hacen parte del “Observatorio de convocatorias”, el primero es el “Portal web para presentación de

convocatorias y becas para investigadores” y el otro es el “Desarrollo de un sistema de

recomendaciones basado en el histórico de consulta y perfiles de usuario para convocatorias y becas

de proyectos de investigación”.

Implementar las demás herramientas que hacen parte de la plataforma de colaboración para

investigación científica basada en e-Science 3.0 propuesta por Barraza (et al)[Barraza et al., 2014].

Page 46: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

12. CONCLUSIONES

Se ha desarrollado una herramienta para la caracterización de convocatorias y becas mediante la

recuperación de la información, usando para ello, una herramienta para la extracción de metadatos,

que fue seleccionada de las muchas que existen en el mercado; la herramienta que mejor se adaptó

a los requerimientos del proyecto es AlchemyAPI.

Para mejorar el rendimiento de AlchemyAPI con los documentos procesados por el sistema, los

cuales están en el idioma español, se utilizó un diccionario de términos para apoyar la labor; este

diccionario de términos, permite añadir más palabras por parte del administrador del sistema y

lograr una mejor caracterización.

Es indispensable para mejorar el proceso de caracterización por parte del sistema, que se revisen

los informes de las palabras sugeridas, las cuales pueden ser tenidas en cuenta para ser agregadas

al diccionario de términos.

Los reportes de palabras claves, permiten tener conocimiento de las palabras encontradas en cada

documento, estas palabras se usan en el cálculo de la precisión y la cobertura obtenida sobre cada

documento, permitiendo evaluar el desempeño del sistema.

Se espera que el sistema ayude a la comunidad de estudiantes y docentes investigadores de la

Universidad San Buenaventura Cali al apoyar el análisis de este tipo de documentos y buscar de

manera más eficiente las convocatorias de acuerdo a los temas expresados mediante una consulta

por parte de los usuarios, aumentando el aprovechamiento de las oportunidades ofertadas y

mejorando así la formación integral de estos.

Page 47: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

13. REFERENCIAS

ALUR, D., CRUPI, J. Y MALKS, D. Core J2EE Patterns Best Practices and Design Strategies. SUN Microsystems, 2006. ANGOSS. Angoss KnowledgeREADER Data Sheet 2015. BARRAZA, F., ORDOÑEZ, H. Y SEGOVIA, E. Diseño de una Plataforma de Colaboración para investigación Científica basada en e-Science 3.0. En: Procedings V Jornadas Internacionales de Campus Virtuales. Panamá: Ed. Universidad Tecnologica De Panama 2014, vol. 1, p. 10-19. BELL, J.G., B. LANGER, S. GENZMEHR, M. WILDE, E. PITMAN, J. Introducing Mr. DLib, a Machine-readable Digital Library. En: Proceedings of the 11th annual international ACM/IEEE joint conference on Digital libraries, Ottawa, Ontario, Canada ACM, 1998187, 2011. p. 463-464. Documanía 2.0 [online]. 2013 [cited 20/12/2015 2015]. Disponible en: <https://documania20.wordpress.com/2013/09/16/cuanta-informacion-se-genera-y-almacena-en-el-mundo/>. BUTLER-ANALYTICS. A Review of Text Analitics Suppliers 01/2014 2014. CASALI, A. Y DECO, C. Sistemas de Información Inteligentes. En.: Facultad de Ciencias Exactas, Ingeniería y Agrimensura. Universidad Nacional de Rosario –UNR. Universidad Católica Argentina CIFASIS (CONICET –UNR -AMU), 2015. CASALI, A., DECO, C., BENDER, C. Y KANTOR, R. Herramientas para potenciar el uso de Repositorios de Objetos de Aprendizaje. WICC 2014 XVI Workshop de Investigadores en Ciencias de la Computación, 2014, vol. 1. GÓMEZ, D. Presentación de Zathuracode 5.0.1. zathuracode.org, 2015, [Fecha de consulta: 20/03/2016]. Disponible en: <http://zathuracode.org/2015/03/06/presentacion-de-zathuracode-5-0-1/>. JAMON. JAMon (Java Application Monitor). A Java Monitoring API. [Fecha de consulta: 22/01/2016]. Disponible en: <http://jamonapi.sourceforge.net/>. JASPERSOFT, C. Introduction to Jaspersoft Studio. [Fecha de consulta: 22/01/2016]. Disponible en: <http://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v62/introduction-jaspersoft-studio>. MINTIC, M.D.T.D.L.I.Y.L.C. Experiencias Internacionales en la Masificación de Internet. 2014, [Fecha de consulta: 20/12/2015]. Disponible en: <http://www.mintic.gov.co/portal/vivedigital/612/w3-article-1514.html>. MOORE, R.J. ¿Cuándo datos se crean al día en Internet? En: El Mundo es. Madrid: Unidad Editorial Internet, S.L., 2011. ORACLE. Mojarra JavaServer Faces. 2014. Disponible en: <https://javaserverfaces.java.net/>. PIVOTAL-SOFTWARE. Spring Frmaework. 2016a. Disponible en: <https://projects.spring.io/spring-framework/>. PIVOTAL-SOFTWARE. Spring Security. 2016b. Disponible en: <http://projects.spring.io/spring-security/>. PSI-PROBE, C. PSI-Probe. 2015, [Fecha de consulta: 22/01/2016]. Disponible en: <https://github.com/psi-probe/psi-probe/wiki>. REDHAT. Hibernate ORM. Disponible en: <http://hibernate.org/orm/>. SINGHAL, A. Modern Information Retrieval: A Brief Overview. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 24, 2001, p. 35–43. THE-APACHE-SOFTWARE-FOUNDATION. Apache PDFBox Overview. 2009, [Fecha de consulta: 05/02/2016]. Disponible en: <https://pdfbox.apache.org/>.

Page 48: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

TOLOSA, G.B., FERNANDO. Introducción a la Recuperación de Información. Conceptos, modelos y algoritmos básicos. 2008. 149 p. TUTORIALSPOINT. Java JDOM Parser - Overview. [Fecha de consulta: 07/03/2016]. Disponible en: <http://www.tutorialspoint.com/java_xml/java_jdom_parser.htm>. VORTEXBIRD. Zathuracode. [Fecha de consulta: 21/03/2016]. Disponible en: <http://zathuracode.org/>.

Page 49: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

ANEXOS

Page 50: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

ANEXO 1. DIAGRAMA BPM DEL SISTEMA

Page 51: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

14. DOCUMENTO DE ESPECIFICACIÓN DE REQUISITOS DEL

SOFTWARE

DOCUMENTO DE ESPECIFICACIÓN DE REQUISITOS DE

SOFTWARE

CARACTERIZACIÓN DE INFORMACIÓN DE CONVOCATORIAS Y

BECAS MEDIANTE A RECUPERACIÓN DE INFORMACIÓN

Versión 2.0

UNIVERSIDAD SAN BUENAVENTURA CALI

_______________________________________________________

Mauricio Muñoz Guzmán 1116255

Andrey Mauricio Fernández Franco 1110048

Page 52: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Revisiones

Versión Descripción Autor y Fecha Fecha

1.0 Especificación de requisitos de software para el SICS (Sistema Integrado de Caracterización Semántica)

Mauricio Muñoz Andrey Fernández

01/11/2015

2.0 Especificación de requisitos de software para el SICS (Sistema Integrado de Caracterización Semántica)

Mauricio Muñoz Andrey Fernández

20/03/2016

Page 53: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Contenido 1. Introducción ................................................................................. ¡Error! Marcador no definido.

1.1 Propósito .................................................................................... ¡Error! Marcador no definido.

1.2 Alcance ....................................................................................... ¡Error! Marcador no definido.

1.3 Descripción del Producto ........................................................... ¡Error! Marcador no definido.

1.3.1 Perspectiva del Producto .................................................... ¡Error! Marcador no definido.

1.3.2 Funciones del Producto ....................................................... ¡Error! Marcador no definido.

1.3.3 Características de los usuarios ............................................ ¡Error! Marcador no definido.

1.3.4 Limitaciones ........................................................................ ¡Error! Marcador no definido.

1.4 Definiciones ................................................................................ ¡Error! Marcador no definido.

2. Referencias ....................................................................................... ¡Error! Marcador no definido.

3. Requisitos Específicos ...................................................................... ¡Error! Marcador no definido.

3.1 Interfaces .................................................................................... ¡Error! Marcador no definido.

3.2 Funciones ................................................................................... ¡Error! Marcador no definido.

3.3 Requisitos de usabilidad ............................................................. ¡Error! Marcador no definido.

3.4 Requisitos de desempeño .......................................................... ¡Error! Marcador no definido.

3.5 Requisitos lógicos de base de datos ........................................... ¡Error! Marcador no definido.

3.6 Restricciones de diseño .............................................................. ¡Error! Marcador no definido.

3.7 Información de soporte .............................................................. ¡Error! Marcador no definido.

4. Verificación ....................................................................................... ¡Error! Marcador no definido.

5. Apéndices ......................................................................................... ¡Error! Marcador no definido.

5.1 Acrónimos y abreviaturas........................................................... ¡Error! Marcador no definido.

Page 54: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

1. Introducción

Este documento es el documento de Especificación de Requisitos de Software (SRS) del SICS

(Sistema Integrado de Caracterización Semántica), realizado a partir de la información obtenida por

medio de reuniones con la responsable del grupo de investigación LIDIS y directora de este proyecto

de grado Emilia Rocío Segovia Jiménez.

La elaboración de este documento estará sujeta a revisiones periódicas que generarán diferentes

versiones de esta especificación hasta alcanzar el desarrollo del software deseado para realizar la

Caracterización de la información de convocatorias y becas mediante la recuperación de

información.

Este documento se realiza de acuerdo al estándar “ISO/IEC/IEEE 29148-2011 Systems and software

engineering - Life cycle processes - Requirements engineering”.

1.1 Propósito El propósito del documento de Especificación de Requisitos es reunir los requisitos de todo el

sistema de software, con el fin de definir cuál es el sistema y su alcance.

1.2 Alcance El Sistema Integrado de Caracterización Semántica permitirá realizar la caracterización de las

convocatorias y becas mediante la recuperación de información almacenando los resultados de la

caracterización de los documentos procesados en un repositorio local, al cual el usuario puede

acceder para ver los resultados actualizados de la caracterización para obtener el mayor provecho

de la información resultante.

1.3 Descripción del Producto El SICS busca ser una herramienta que facilite el procesamiento de la información de los documentos

de un repositorio mediante la extracción de metadatos para que la información de estos

documentos sean consultados por los usuarios y estos encuentren los documentos que son

verdaderamente relevantes para ellos.

1.3.1 Perspectiva del Producto El SICS cumplirá con los requisitos mencionados en este documento; estos pueden variar en etapas

del desarrollo según el criterio de las partes interesadas, pero estos cambios deberán ser

controlados, es decir, serán analizados, aprobados o rechazados para finalmente ser implementados

o descartados; este control se realizará por medio de reuniones de las partes interesadas.

1.3.2 Funciones del Producto

Recuperación de información de Convocatorias y Becas presentes en el repositorio

local.

Acceso a los resultados de la caracterización por medio de una interfaz mediante

consultas hechas por los usuarios.

Generación de reportes con información relevante del sistema y de la caracterización

realizada.

Page 55: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Obtención de sugerencias implícitas hechas por parte de los usuarios para fortalecer la

caracterización.

Modificación de parámetros por parte de los administradores del sistema (expansión

del diccionario, etc.).

1.3.3 Características de los usuarios Usuarios del grupo LIDIS o administrador: son usuarios con permisos a la administración de

parámetros y generación de reportes del sistema.

Usuarios finales: estos usuarios pueden realizar consultas para obtener documentos de acuerdo a

estas.

1.3.4 Limitaciones

Licencias:

o Las licencias de la herramienta para ser usada de forma académica solo permite

realizar 30000 llamadas API, si se va a utilizar de forma comercial se limitaría a 1000

llamadas.

o Primefaces centinel solo podrá ser usado con motivos académicos para este

desarrollo, ya que la licencia fue cedida solo con este propósito por Vortexbird SAS

1.4 Definiciones Tipo convocatoria: A nivel general, es un llamado público que se realiza para algo.

Línea de investigación: Son enfoques interdisciplinarios de actividades de investigación realizadas

por uno o más grupos con resultados visibles.

Área de interés: en un enfoque al desarrollo personal o profesional, que facilita los avances que se

producen en el conocimiento o la tecnología, dentro del ámbito de disciplinas concretas.

Servidor LIDIS: Es una maquina dedicada con capacidad de atender diferentes peticiones.

Links: son enlaces o vínculos de un documento electrónico que hace referencia a otro recurso,

dentro de una Página Web.

Servidor web: Es un programa que gestiona cualquier aplicación en el lado del servidor realizando

conexiones síncronas o asíncronas con el cliente generando una respuesta en cualquier lenguaje o

aplicación en el lado del cliente.

Filtrar búsqueda: Es personalizar los resultados de búsqueda para encontrar exactamente lo que

estás buscando.

Page 56: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Fallas de conexión: Mensajes de error que se generan debido a que el servidor donde se almacenan

los archivos de dicho sitio no esté disponible temporalmente.

Servicio Web: Un servicio web es una tecnología que utiliza un conjunto de protocolos y estándares

que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software

desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma,

pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet.

La interoperabilidad se consigue mediante la adopción de estándares abiertos.

2. Referencias - ISO/IEC/IEEE 29148-2011 Systems and Software engineering – Life cycle processes –

Requirements engineering

-AlchemyAPI []

-Primefaces centinel []

3. Requisitos Específicos

3.1 Interfaces La herramienta SICS contará con una interfaz de conexión para los usuarios y administradores de la

aplicación para la cual se manejaran 2 roles

1. Administrador del sistema

2. Usuario de consultas

Para el administrador, a través de un usuario y contraseña podrá realizar acciones como:

Cambio de parámetros de la aplicación

Generación de reportes

Realizar consultas de convocatorias

El usuario de consultas no necesita una contraseña y tendrá derecho a realizar consultas y descargas

de convocatorias.

EL SiCS contará con un algoritmo el cual permite la caracterización y extracción de palabras claves

en archivos PDF, el cual contengan información de tipo texto.

El SICS en sus apartados de parámetros podrá ingresar datos como:

Correo electrónico en caso de un error en el proceso de extracción

Rutas en las cuales estarán ubicados los repositorios donde se encontraran las

convocatorias y los archivos ya caracterizados

Page 57: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

El SICS en su apartado de generación de reportes permite:

Generación de reportes de errores en el proceso

Generación de reporte de palabras claves encontradas

Generación de reporte de palabras sugeridas

En el SICS, los usuarios pueden consultar por medio de palabras claves las convocatorias de su

interés y descargar el documento si ellos lo desean.

3.2 Funciones El sistema debe revisar si hay documentos sin procesar

El sistema debe extraer las palabras claves del documento y almacenarlas en la base de

datos

El sistema debe extraer la línea de investigación del documento y almacenarlo en la base de

datos

El sistema debe generar etiquetas de los temas tratados en el documento de forma

automática y almacenar estas etiquetas en la base de datos

El sistema debe estructurar un reporte de la caracterización realizada

El sistema debe exponer su funcionalidad por medio de un servicio web

El sistema debe enviar un reporte de las carpetas que no existan al iniciar

3.3 Requisitos de usabilidad El Software será usado por estudiantes, docentes e investigadores de la Universidad san

Buenaventura, los cuales al estar en este medio poseen conocimiento medio o alto de los sistemas

de información.

De esta manera el Sistema se ha desarrollado de la forma más intuitiva posible para que los

estudiantes no necesiten un conocimiento por fuera del básico para realizar consultas en la

aplicación

3.4 Requisitos de desempeño Los tiempos de respuesta estimada en la generación del informe deben ser de aproximadamente 2

segundos.

Efectividad en la caracterización de los documentos

3.5 Requisitos lógicos de base de datos Los accesos a la base de datos estarán restringidos por roles

3.6 Restricciones de diseño Se realizará con en lenguaje JAVA EE8, XHTML.

Se utilizará el generador de código Zathura Code v 5.1.0

Page 58: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Base de datos Postgresql 9.3

Se contará con servicios web.

Se utilizará para la creación de reportes el software JasperReports de Jaspersoft

3.7 Información de soporte

La aplicación contara con soporte por parte de los usuarios que diseñaron la aplicación, 2 medidas

Configuración del entorno

Resolver errores que sean hallados en el proceso después de la implementación del

Sistema

Esto se realizara con el fin de retroalimentar el Sistema para poder realizar ajustes y mejoras al

producto y que los usuarios puedan contar con un excelente servicio.

4. Verificación El proceso de pruebas y verificación del SICS estará especificado en el documento llamado “Plan

de Pruebas de Software SICS”

Este aplicara por efectos de términos antes durante y después del desarrollo de la aplicación

5. Apéndices

5.1 Acrónimos y abreviaturas SICS: Sistema Integrado de Caracterización Semántica

BD: Base de datos

LIDIS: Laboratorio de Investigación para el Desarrollo de la Ingeniería de Software

Page 59: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

ANEXO 2. HISTORIAS DE USUARIO

Historias de usuario

Nombre del Proyecto: Sics-UsbCali

Id Historia de Usuario 001

Fecha De realización 22 marzo de 2016

Rol de Historia Usuario Final y administrador

Funcionalidad

Se requiere que el usuario final logre buscar documentos acerca de

convocatorias por medio de palabras claves

Descripción de la historia

1. Ingresar en el enlace http://www.xxxxx/Sics_v/login.xhtml

Como un administrador o http://www.xxxxx/Sics Con usuarios

2. En la parte izquierda de la pantalla encontraremos un menú en

el cual observaremos una lupa, al presionarla nos cargara en

pantalla las opciones de consultas.

3. Escribimos en la caja de texto donde dice “Palabra clave”,

escribimos la palabra que deseamos buscar

4. Presionamos en el botón Buscar

5. El sistema entregara sugerencias de convocatorias las cuales

cuenten con el tema relacionado.

6. En la parte derecha encontrara el botón de detalle el cual

mostrara en pantalla todas las palabras relacionadas, con el

tema y la opción de descargar el documento.

Excepciones del sistema 1. Si el sistema no encuentra búsquedas relacionadas con esa palabra

clave enviara un mensaje en pantalla explicando que no hay

convocatorias para la palabra clave seleccionada

Page 60: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Historias de usuario

Nombre del Proyecto: Sics-UsbCali

Id Historia de Usuario 002

Fecha De realización 22 marzo de 2016

Rol de Historia administrador

Funcionalidad

Se requiere la funcion de generar informes en la aplicacion

Descripción de la historia

1. Ingresar en el enlace http://www.xxxxx/Sics_v/login.xhtml

Como un administrador

2. En la parte izquierda de la pantalla encontraremos un menú en

el cual observaremos una imagen de documento con el nombre

reportes , al presionarla nos cargara en pantalla las opciones

de reportes.

3. Seleccionamos el reporte el cual necesitamos

4. Seleccionamos a partir de que fecha

5. Presionamos en generar 6. El sistema descarga un archivo pdf con el reporte solicitado

Excepciones del sistema 1 . el sistema no pudo generar e reporte por no haber conexión a

internet

Page 61: CARACTERIZACIÓN DE LA INFORMACIÓN MEDIANTE LA …

Historias de usuario

Nombre del Proyecto: Sics-UsbCali

Id Historia de Usuario 003

Fecha De realización 22 marzo de 2016

Rol de Historia administrador

Funcionalidad

Se requiere la funcion de cambiar parametros de la aplicación

Descripción de la historia

1. Ingresar en el enlace http://www.xxxxx/Sics_v/login.xhtml

como administrador

2. En la parte izquierda de la pantalla encontraremos un menú

en el cual observaremos una llave, al presionarla nos

cargara en pantalla las opciones de parametros.

3. El sistema cargara una tabla de parametros los cuales

tienen su respectiva reseña

4. Presionamos en el botón editar

5. Saldra un mensaje del parametro a sido guardado

exitosamente

Excepciones del sistema 1. Si el sistema no tiene conexión envia un mensaje de que no se

pudo guardar la conexión