Anda di halaman 1dari 115

AUTORES

Cristina Marta Bender


Claudia Deco
Juan Sebastin Gonzlez Sanabria
Mara Hallo
Julio Csar Ponce Gallegos

Tpicos Avanzados de Bases de Datos


1a ed. - Iniciativa Latinoamericana de Libros de Texto Abiertos (LATIn), 2014. 115 pag.
Primera Edicin: Marzo 2014
Iniciativa Latinoamericana de Libros de Texto Abiertos (LATIn)
http://www.proyectolatin.org/

Los textos de este libro se distribuyen bajo una licencia Reconocimiento-CompartirIgual 3.0 Unported
(CC BY-SA 3.0) http://creativecommons.org/licenses/by-sa/3.0/deed.es_ES
Esta licencia permite:
Compartir: copiar y redistribuir el material en cualquier medio o formato.
Adaptar: remezclar, transformar y crear a partir del material para cualquier finalidad.
Siempre que se cumplan las siguientes condiciones:
Reconocimiento. Debe reconocer adecuadamente la autora, proporcionar un enlace a la
licencia e indicar si se han realizado cambios. Puede hacerlo de cualquier manera razonable,
pero no de una manera que sugiera que tiene el apoyo del licenciador o lo recibe por el uso
que hace.

CompartirIgual Si remezcla, transforma o crea a partir del material, deber difundir sus
contribuciones bajo la misma licencia que el original.
Las figuras e ilustraciones que aparecen en el libro son de autora de los respectivos autores. De aquellas figuras o ilustraciones que no son realizadas por los autores, se coloca la
referencia respectiva.

Este texto forma parte de la Iniciativa Latinoamericana de Libros de Texto abiertos (LATIn), proyecto
financiado por la Unin Europea en el marco de su Programa ALFA III EuropeAid.
El Proyecto LATIn est conformado por: Escuela Superior Politcnica del Litoral, Ecuador (ESPOL);
Universidad Autnoma de Aguascalientes, Mxico (UAA), Universidad Catlica de San Pablo, Per
(UCSP); Universidade Presbiteriana Mackenzie, Brasil(UPM); Universidad de la Repblica, Uruguay
(UdelaR); Universidad Nacional de Rosario, Argentina(UR); Universidad Central de Venezuela, Venezuela
(UCV), Universidad Austral de Chile, Chile (UACH), Universidad del Cauca, Colombia (UNICAUCA),
Katholieke Universiteit Leuven, Blgica (KUL), Universidad de Alcal, Espaa (UAH), Universit Paul
Sabatier, Francia (UPS).

ndice general

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Diseo de Bases de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.1

Introduccin

13

1.2

Modelado Entidad-Relacin (ER)

13

1.2.1

Elementos del Modelo ER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3

Ciclo de Vida de las Bases de datos

1.3.1
1.3.2
1.3.3

Diseo Conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Diseo Lgico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Diseo Fsico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.4

Estndares de Diseo

26

1.5

Bibliografa

27

Sistemas de Recuperacin de Informacin (SRI) . . . . . . . . . . . . . . 29

2.1

Introduccin

2.1.1
2.1.2
2.1.3
2.1.4
2.1.5

Recuperacin de Informacin . . . . . . . . . . . . . . . . . . . . . . . . . .
Recuperacin de Informacin versus Recuperacin de Datos .
Componentes de un Sistema de Recuperacin de Informacin
Areas relacionadas con la Recuperacin de Informacin . . . . .
Recuperacin de Informacin en la Web . . . . . . . . . . . . . . . . . .

2.2

Modelos de Recuperacin de informacin

2.2.1
2.2.2
2.2.3
2.2.4

Modelo Booleano . . . . . .
Modelo Espacio Vectorial
Modelo Probabilstico . . .
Otros modelos . . . . . . . . .

2.3

Lenguajes de consulta

2.3.1
2.3.2
2.3.3
2.3.4
2.3.5

Consultas basadas en keywords


Consultas contextuales . . . . . . .
Consultas booleanas . . . . . . . . .
Consultas en lenguaje natural . .
Otros tipos de consultas . . . . . . .

2.4

Evaluacin de la Recuperacin de Informacin

2.4.1
2.4.2

Relevancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Indicadores de la Recuperacin de Informacin . . . . . . . . . . . . . . . . . . . . . 40

22

29

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

29
30
30
31
32

32
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

33
34
35
36

36
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

37
37
38
38
38

39

2.4.3
2.4.4

Otros indicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Colecciones de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.5

Estrategia de bsqueda

2.5.1
2.5.2
2.5.3

Expansin semntica de la consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43


Recursos lingsticos para la expansin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Caso de estudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.6

Indexado y bsqueda

2.6.1
2.6.2
2.6.3
2.6.4

Preprocesamiento de los documentos . . . . .


Archivo Invertido . . . . . . . . . . . . . . . . . . . . . .
Ventajas y desventajas del Archivo Invertido
En la web . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

48
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

49
49
51
51

2.7

Algunas aplicaciones

2.7.1
2.7.2
2.7.3
2.7.4
2.7.5

Consultas en un sitio web . . . . . . . . . . . . . . . . . . . . .


Bsquedas Inteligentes, Sistemas Recomendadores
Recuperacin de informacin en la web . . . . . . . . .
Bsqueda de informacin multilinge . . . . . . . . . . . .
Otros Problemas para Pensar . . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

2.8

Bibliografa

Bases de Datos y Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.1

Introduccin

59

3.2

Datos Semiestructurados

59

3.3

XML (eXtensive Markup Language)

60

3.4

RDF (Resource Description Framework)

62

3.5

Ontologas y OWL (Ontology Web Language)

63

3.6

La Web Semntica

65

3.7

Bibliografa

66

Sistemas de ayuda a la toma de decisin . . . . . . . . . . . . . . . . . . . 67

4.1

Introduccin

67

4.2

Almacn de Datos (Data Warehouse)

68

4.2.1
4.2.2

Preparacin del almacn de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69


Preparacin de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.3

Modelo de datos

70

4.4

Procesamiento Analtico en Lnea (OLAP)

73

4.5

Problemas y temas pendientes

74

4.6

Bibliografa

74

Minera de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.1

INTRODUCCIN

75

5.2

PREPROCESAMIENTO DE LOS DATOS

77

52
52
53
55
55
56

57

5.3

OLAP-OLTP

80

5.4

Arquitectura de un Sistema Tpico de Minera de Datos

81

5.4.1
5.4.2

Arquitectura Centralizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Arquitectura De Bases de Datos Cliente/Servidor . . . . . . . . . . . . . . . . . . . . . 82

5.5

Otras Tcnicas Computacionales en Minera de Datos

5.5.1
5.5.2

Sistemas Expertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Lgica Difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.6

Aplicaciones de la Minera de Datos

84

5.7

Herramientas Informticas

84

5.8

ACTIVIDADES DE APRENDIZAJE

85

5.9

MATERIAL DE REFERENCIAS A CONSULTAR * OPCIONAL

88

5.10

Bibliografa

88

Datos Temporales y Datos Espaciales . . . . . . . . . . . . . . . . . . . . . . . . 89

6.1

Bases de Datos Temporales (Temporal DataBases)

6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
El Tiempo en las Bases de Datos Temporales . . . . . .
Extensiones al Modelo Relacional . . . . . . . . . . . . . . .
El modelo relacional temporal y TSQL . . . . . . . . . . . .
Sistemas de Gestin de Bases de Datos Temporales
TSQL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.2

Bases de Datos Espaciales (Spatial DataBases)

6.2.1
6.2.2
6.2.3
6.2.4
6.2.5

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sistemas de gestin de Bases de Datos Espaciales .
Operaciones espaciales . . . . . . . . . . . . . . . . . . . . .
Formatos de datos espaciales . . . . . . . . . . . . . . . .
Extensiones espaciales en SQL. El caso de MySQL .

6.3

Bases de Datos Espacio Temporales (Spatio-Temporal Databases)

6.3.1
6.3.2
6.3.3
6.3.4

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Consultas sobre Datos Espacio Temporales . . . . . . . . . . . .
Extensin Espacio-Temporal del Modelo Entidad-Relacin
SQLST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.4

Bibliografa

6.4.1
6.4.2
6.4.3

Bases de Datos Temporales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101


Bases de Datos Espaciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Bases de Datos Espacio Temporales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Sistemas de Bases de datos NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . 103

7.1

Introduccin

103

7.2

Sistemas de Administracin de bases de datos NoSQL

104

7.2.1
7.2.2
7.2.3

Almacenamientos clave-valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104


Almacenamientos de documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Sistema de Base de Datos de Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

.
.
.
.
.
.

.
.
.
.
.
.

83

89
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

89
90
91
91
91
92

93
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

93
93
95
96
96

97
.
.
.
.

.
.
.
.

97
98
98
99

101

7.3

Tecnologas de Linked Data y repositorios RDF

109

7.3.1
7.3.2
7.3.3

Sistemas de gestin de repositorios RDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110


Tecnologas relacionadas con Linked Data que interactuan con repositorios RDF.
110
Respositorios RDF basados en tecnologas NOSQL . . . . . . . . . . . . . . . . . . . . 112

7.4

Bibliografia

113

Introduccin

El objetivo de este libro es presentar a los estudiantes una introduccin a las nuevas tendencias
en bases de datos soportadas por la evolucin de la tecnologa informtica, que contemplan la
gestin de nuevos tipos de datos.
La propuesta est dirigida a segundas asignaturas de Bases de Datos y cubre temas tales
como la gestin de bases de datos no SQL, datos temporales, datos espaciales, datos en la web,
la recuperacin de informacin documental, la creacin de repositorios para ayudar a la toma de
decisiones, incluyendo una introduccin a tcnicas y herramientas para analizar estos datos.
Los captulos Sistemas de Recuperacin de Informacin, Bases de Datos y Web, , Datos
Temporales y Datos Espaciales, y Sistemas de ayuda a la toma de decisin, son aportes de
Cristina Bender y Claudia Deco. Juan Sebastin Gonzlez Sanabria es autor del captulo Diseo
de Bases de Datos. El captulo Bases de Datos NoSQL fue escrito por Mara Hallo. El captulo
Minera de Datos es una contribucin de Julio Csar Ponce Gallegos.

Breve CV de los autores

Cristina Marta Bender


Universidad Nacional de Rosario, Facultad de Ciencias Exactas, Ingeniera y Agrimensura
Universidad Catlica Argentina, Campus Rosario, Facultad de Qumica e Ingeniera
Argentina
Magister en Informtica por la Universidad de la Repblica, Uruguay; Ingeniera Electrnica por
la Universidad Nacional de Rosario, Argentina. Profesora e investigadora en el Departamento de
Sistemas e Informtica de la Facultad de Ciencias Exactas, Ingeniera y Agrimensura, Universidad Nacional de Rosario; y en la Facultad Catlica de Qumica e Ingeniera, Campus Rosario
de la Universidad Catlica Argentina. Participa en proyectos nacionales e internacionales de
investigacin vinculados a sus intereses de investigacin. Tambin es coautora de varios artculos
en journals y proceedings de conferencias internacionales y nacionales. Adems, es revisora de
artculos para diversos congresos. En su actividad docente es tutora y evaluadora de tesinas de
grado y de posgrado. Sus intereses de investigacin incluyen tecnologas de bases de datos y de
recuperacin de informacin (information retrieval).
Claudia Deco
Universidad Nacional de Rosario, Facultad de Ciencias Exactas, Ingeniera y Agrimensura
Universidad Catlica Argentina, Campus Rosario, Facultad de Qumica e Ingeniera
Argentina
Doctora en Ingeniera por la Universidad Nacional de Rosario, Argentina. Magister en Informti-

10
ca por la Universidad de la Repblica, Uruguay; Licenciada en Matemtica por la Universidad
Nacional de Rosario, Argentina. Profesora e investigadora en el Departamento de Sistemas e
Informtica de la Facultad de Ciencias Exactas, Ingeniera y Agrimensura, Universidad Nacional
de Rosario; y en la Facultad Catlica de Qumica e Ingeniera, Campus Rosario de la Universidad
Catlica Argentina. Participa en proyectos nacionales e internacionales de investigacin vinculados a sus intereses de investigacin. Tambin es coautora de artculos en journals y proceedings
de conferencias internacionales y nacionales. Adems, es revisora de artculos para diversos
congresos. En su actividad docente es tutora y evaluadora de tesinas de grado y de posgrado.
Sus intereses de investigacin incluyen tecnologas de bases de datos y de recuperacin de
informacin (information retrieval)

Juan Sebastin Gonzlez Sanabria


Universidad Pedaggica y Tecnolgica de Colombia
Colombia
Especialista en Bases de Datos, Universidad Pedaggica y Tecnolgica de Colombia; Ingeniero
de Sistemas y Computaci n, Universidad Pedaggica y Tecnolgica de Colombia. Profesor de
la escuela de Ingeniera de Sistemas y Computacin de la Universidad Pedaggica y Tecnolgica
de Colombia e Investigador adscrito al Grupo de Investigacin en el Manejo de la Informacin
adscrito a la Direcci n de investigaciones de la Universidad Pedaggica y Tecnolgica de
Colombia. Participante activo de proyectos nacionales de investigacin vinculados a sus intereses
de investigacin. Coautor de artculos publicados a nivel nacional e internacional. Dentro de las
actividades docentes dirige trabajos de grado de pregrado y orienta asignaturas afines al rea de
bases de datos.
Maria Hallo
Escuela Politcnica Nacional
Quito-Ecuador
Mster en Informtica por la Universidad Notre Dame de la Paix, Blgica. Ingeniera Quimica por
la Escuela Politcnica Nacional, Quito, Ecuador. Sus intereses cientficos son Web Semntica,
Recuperacin de Informacin, Inteligencia de negocios, Sistemas de Informacin Geogrfica,
Preservacin Digital. Ha sido Directora de numerosos proyectos en sus temas de inters. Actualmente realiza investigacin en conjunto con Universidad de Valladolid (Espaa) en el tema:
Tecnologas de Linked Data y su aplicacin en administracin de versiones de documentos
legislativos. Es Profesora en la Facultad de Ingeniera de Sistemas de la Escuela Politcnica
Nacional de Quito Ecuador habiendo dictado clases de Diseo de pginas web, Programacin con
Java, Sistemas de Informacin Geogrfica, Bases de Datos, Inteligencia de Negocios, Auditora
Informtica, Planificacin Informtica. Adems ha sido Directora de ms de 20 tesis de pregrado
en Ingeniera de Sistemas. Ha realizado publicaciones en revistas y congresos nacionales e
internacionales.
Julio Cesar Ponce Gallegos
Universidad Autnoma de Aguascalientes, Departamento de Ciencias de la Computacin.
Mxico
Doctor en Ciencias de la Computacin por parte de la Universidad Autnoma de Aguascalientes
(UAA) en el ao 2010. Profesor de Tiempo Completo en el Departamento de Ciencias de la

11
Computacin en la UAA, en materias de Licenciatura, Maestra y Doctorado en las reas de
Programacin, Inteligencia Artificial y Fundamentos y Teoras Computacionales, Miembro de
diversos comits de diseo curricular para programas educativos de Licenciaturas y Posgrado.
Responsable de proyectos de Investigacin de la UAA y PROMEP. Miembro titular del cuerpo
acadmico CONSOLIDADO (PROMEP): Sistemas Inteligentes. reas de Investigacin en las
que ha publicado: Inteligencia Artificial, Minera de Datos, Ingeniera de Software, Uso de las
TICs en la Educacin. Cuenta con ms de 50 publicaciones en congresos y revistas a nacional e
internacional, 11 Captulos de libros y 2 Libros publicados en editoriales e instituciones como
IGI-Global, InTech, Nova Publisher, Textos Universitarios (UAA), SMIA.

1 Diseo de Bases de Datos

Elaborado por: Esp. Juan Sebastin Gonzlez Sanabria


Grupo de Investigacin en el Manejo de la Informacin
Universidad Pedaggica y Tecnolgica de Colombia
Tunja (Boyac) Colombia

1.1

Introduccin
Con la aparicin de nuevas tecnologas para la gestin de bases de datos, en algunas ocasiones
se ha dejado de lado el diseo y modelado de las bases de datos relacionales, las cuales, a hoy,
an siguen siendo las de mayor uso. Es por lo anterior que el captulo se enfoca en presentar
desde un punto de vista simple las consideraciones a tener en cuenta en el ciclo de vida de
desarrollo de bases de datos relacionales, aplicando estndares y normas de calidad aprobadas
por diferentes entes expertos en la temtica como la Organizacin Internacional de Estndares
ISO (por las siglas en ingles de International Organization for Standardization).
El ciclo de vida de las bases de datos va desde el proceso de analizar la problemtica hasta la
implementacin de la solucin planteada, pero para el presente capitulo se limitar al llamado
esquema o modelo entidad relacin, en su fase conceptual, lgica y fsica, sin dejar de lado otros
aspectos necesarios para el diseo.
Para el adecuado entendimiento del tema, se iniciar con el Modelo ER y los elementos que
lo componen, continuando con el ciclo de vida de las bases de datos, y finalizando con algunos
estndares para el diseo.

1.2

Modelado Entidad-Relacin (ER)


El modelado Entidad Relacin se plantea por primera vez en artculos publicados por
Peter P. Chen en la dcada de los setenta, donde inicialmente se divulg como Modelo Entidad
Interrelacin, pero posteriormente a traducciones adecuadas y hasta el da de hoy se le conoce
como Modelo Entidad Relacin.
Posterior a la dcada en mencin son diversos los autores y expertos que han hecho aportes y
cambios al modelo planteado por Chen, motivo en el que radica la dificultad de que no exista
a nivel internacional una notacin estndar para este modelado. Sin embargo Richard Barker,
junto a otros expertos como Ian Palmer, Harry Ellis, propusieron alrededor del ao 1981 algunos
aportes y cambios que fueron bien recibidos, haciendo que la notacin Barker, en honor a
su principal expositor, para modelado Entidad Relacin sea la ms utilizada en el contexto
internacional por sus diferentes beneficios en la interpretacin y lectura del Modelo. Es de

Diseo de Bases de Datos

14

aclarar que en algunos pases la notacin Barker tambin es conocida como la notacin Pata de
gallina, por la traduccin latina de crows foot".
Ahora bien, Por qu hacer uso del modelo ER?, la respuesta a este interrogante es simple:
El modelo permite una robusta representacin de la totalidad la informacin que se requiere para
la base de datos, eliminando redundancias y siendo el punto de partida para socializar con el
cliente o usuario final, pues el modelo es de fcil interpretacin por parte de este, al presentar
una visin simplificada del negocio.
1.2.1

Elementos del Modelo ER


El Modelo ER cuenta con diferentes elementos, estos difieren mayormente en su forma de
representacin de acuerdo a la notacin seleccionada, para el caso cabe recalcar que se utilizar
la Notacin Barker. Los elementos ms significativos son:
Entidades
Atributos
Relaciones
1.2.1.1. Entidades

Una Entidad se puede definir algo de importancia dentro del sistema a desarrollar de lo que
interesa almacenar todos los datos. Generalmente se suelen definir objetos (carros, personas, entre
otros) y eventos (compras, ventas); aunque se debe aclarar que muchos de los eventos, suelen
representarse dentro del sistema con objetos (por ejemplo, una venta se representa mediante una
factura).
La representacin de las entidades se realiza mediante un rectngulo con sus puntas ovaladas,
tambin conocido como rectngulo suavizado. Cada entidad debe poseer un nombre nico dentro
del modelo y darse en mayscula, como se ilustra en la figura 1.1.
Figura 1.1: Representacin de una entidad

Es de anotar que el nombre de la entidad para el diseo conceptual se suele representar en


singular, y para los siguientes (lgica y fsica) en plural.
Adicionalmente pese a que no existe un tamao estndar de las entidades, por buenas
prcticas de diseo y para facilidad de entendimiento se recomienda que todas las entidades del
modelo conserven proporciones similares.
Las Entidades se deben diferenciar de las INSTANCIAS, las cuales corresponden a los
valores que puede tener un atributo, en el Cuadro 1.1 se presentan algunos ejemplos de atributos
con sus posibles instancias.

Entidad
Persona
Producto
Cargo

Cuadro 1.1: Ejemplos de atributos con sus posibles instancias


Ejemplos Instancias
ndres Nio, Diego Sullivan M.
Computador, Televisor
Gerente, Diseador, Analista

1.2 Modelado Entidad-Relacin (ER)

15

En resumen se puede definir que una entidad representa un conjunto de instancias con un
inters comn dentro de la lgica del sistema.
Existen dos tipos fundamentales de entidades:
Entidades Fuertes
Entidades Dbiles
Entidades Fuertes:

En ocasiones tambin llamadas entidades regulares, son aquellas que se identifican por s
mismas, es decir, no requieren de otra entidad para existir.
Entidades Dbiles:

Para existir dentro del modelo depende de otras entidades. Por ejemplo una entidad HISTORIA_LABORAL solo podra existir si se cuenta con la entidad EMPLEADO y la entidad
CARGO. Una entidad dbil puede depender de una o muchas entidades.
La representacin de las entidades dbiles en el modelo se hace con una lnea adjunta a la
relacin, como se ilustra en la Figura 1.2 resaltado en los crculos en rojo:
Figura 1.2: Representacin de entidades dbiles

Estas entidades dbiles suelen aparecer cuando hay atributos asociados a las relaciones.
1.2.1.2. Atributos

Los Atributos, dentro del contexto del Modelo ER, son conocidos como las caractersticas
de la entidad, aquello que le da propiedades (por ejemplo, el primero nombre, el primer apellido,
la fecha de nacimiento de una Persona); los atributos se usan para describir, cuantificar, calificar
o clasificar una entidad.
Los atributos deben ser consecuentes con el principio de Atomicidad de las bases de datos,
es decir deben tener un nico valor. Adicionalmente todo atributo debe corresponder o asociarse
a un tipo de dato (texto, numero, fecha, entre otros).
Para representar los atributos en el Modelo ER se escribe el nombre del atributo (singular)
dentro de en la entidad en letra minscula, en caso de que el nombre del atributo sea compuesto
por dos o ms palabras, el espacio se remplaza por guion bajo (_),
A continuacin se presentan ejemplos de algunos atributos asociados a entidades.
Entidad
PERSONA
PRODUCTO
TRABAJO

Atributos
nombre_persona, apellido_persona, fecha_nacimiento
nombre_producto, precio_producto
nombre_profesion, salario_minimo, salario_maximo

Igual que en el caso de las entidades, tambin se deben diferenciar INSTANCIAS de ATRIBUTOS, por ejemplo:
Atributo
nombre_persona
nombre_cargo
fecha_nacimiento

Ejemplo Instancia
Jota
Ingeniero
15/08/1994

Diseo de Bases de Datos

16

Los atributos se clasifican en tres tipos:


Llave Primaria
Atributo Obligatorio
Atributo Opcional.
Llave primaria:

Las llaves primarias son aquellas que le brindan una identidad dentro del modelo a la entidad,
es aquel atributo cuya INSTANCIA (Valor que puede tomar un atributo) no se va a repetir en
ningn caso, como lo puede ser el nmero de identificacin nacional de una persona, el nmero
de matrcula de un carro. Las llaves primarias se representan con el smbolo numeral (#) al lado
del nombre del atributo.

Atributo Obligatorio:

Los atributos obligatorios corresponden a todos los datos que se requieren conocer dentro
del contexto del sistema, como puede ser el nombre, el apellido, la direccin y el telfono de una
persona en el caso de un formulario de contacto. Los atributos obligatorios se representan con el
smbolo asterisco (*) al lado del

Atributo Opcional:

Corresponden a aquellos datos que podran llegar a requerirse a futuro o que pueden no tener
siempre un valor de instancia requerido, es decir el almacenamiento de estos atributos no influye
en el funcionamiento del sistema. Los atributos opcionales se representan con un crculo (o) al
lado del nombre del atributo.

1.2 Modelado Entidad-Relacin (ER)

17

TIP 1: Aunque algunos autores sugieren que para el caso de las llaves primarias, al ser tambin
atributos obligatorios, deben representarse con los dos smbolos antes del nombre del atributo; a
trmino de experiencia se sobre entiende que al ser llave es un atributo obligatorio por lo que
basta con representarse con el smbolo de numeral.
TIP 2: Si un atributo es opcional u obligatorio, se define por el contexto del sistema que
se desarrollar, por tanto en un sistema el atributo telfono puede ser opcional y en otro obligatorio.
TIP 3: Los atributos de un sistema pueden ser considerados como entidades en otro sistema, y
viceversa; lo anterior de acuerdo al CONTEXTO en el que se desarrolle.
TIP 4: Se debe tener especial cuidado con los campos que son calculados a partir de otros
campos, estos son conocidos como CAMPOS VIRTUALES y no se sugiere almacenarlos o
representarlos en el modelo.

1.2.1.3. Relaciones

Las relaciones, por redundante que pueda escribirse, representan el cmo las entidades se
relacionan entre s, es decir los vnculos que existen entre los diferentes objetos y eventos que
conforman el negocio. Se representan en el modelo mediante lneas que se componen de dos
partes fundamentales el grado y la opcionalidad.
Opcionalidad:

Hace referencia a si la relacin puede o debe existir, si la relacin debe existir se representa
mediante lnea continua, si la relacin puede existir se representa con una lnea punteada.

Grado:

Se refiere al nmero de veces que se puede llegar a relacionar una entidad con otra. Es de su
representacin de donde se conoce como la notacin para Modelado ER de Pata de gallina, los
grados a representarse son los siguientes:

Posterior a estos dos elementos las diferentes combinaciones permiten diez posibles relaciones entre entidades.

Diseo de Bases de Datos

18

A las relaciones se le suelen dar dos perspectivas (nombres de la relacin), esto con el fin de
dar una adecuada lectura a las relaciones y el modelo sea lo ms entendible posible.
La lectura de las relaciones se realiza en el siguiente orden Entidad Opcionalidad Grado
Entidad, en el siguiente ejemplo se explica de mejor manera:

De izquierda a derecha:
Entidad
Empleado

Opcionalidad
Debe

Grado
Uno

Entidad
Cargo

Lo que en lectura vendra dado por Todo EMPLEADO DEBE ocupar UN CARGOS.
De derecha a izquierda:
Entidad
Cargo

Opcionalidad
Puede

Grado
Muchos

Entidad
Empleado

Lo que en lectura vendra dado por Un CARGO PUEDE ser desempeado por NINGN O
MUCHOS EMPLEADOS.
Adicional a las posibles relaciones anteriormente descritas, existen algunos tipos de relaciones de acuerdo a la forma como se establecen entre una o varias entidades.

1.2 Modelado Entidad-Relacin (ER)

19

1.2.1.4. Otros Elementos

Existen una serie de elementos que han surgido para complementar el modelo ER para
una mayor interpretacin y aproximacin a la realidad del sistema. Entre estos elementos cabe
destacar los siguientes:
Subtipos:

Los subtipos, tambin conocidos como subentidades, se incluyen dentro del modelo cuando
existen entidades que tienen propiedades en comn y que comparten atributos; por ejemplo, las
entidades Profesor y Estudiante, pueden ser subtipos de una entidad Persona. Estos se representan
con Entidades dentro de una Entidad, esta ltima conocida como Superentidad.

Cuando se hace uso de subtipos es necesario contemplar las siguientes recomendaciones:

Diseo de Bases de Datos

20

Nunca tienen llaves primarias definidas pues heredan la llave primaria de la entidad que
los contiene.
Cada subtipo puede tener tanto atributos como relaciones propias.
No existen entidades con un solo subtipo.
Son Exhaustivos, es decir, toda instancia de una superentidad es tambin una instancia de
un subtipo.
Es mutuamente exclusivo, lo que quiere decir que cada instancia de una superentidad es
de un y solo un subtipo.
Arcos o Relaciones de Exclusividad:

Este tipo de relacin expresa que no es posible que exista relacin simultnea de una instancia
de una entidad con las instancias de las entidades que participan en la relacin de exclusividad o
en el arco.
Es de anotar que se les llama arcos debido a su representacin dentro del modelo. A continuacin se presenta un ejemplo de uso de estas relaciones.

El ejemplo representa que una instancia de la entidad Factura le corresponde a una instancia
de la entidad Persona o una instancia de Empresa, pero nunca a las dos al mismo tiempo.
Se deben tener en cuenta algunas normas al momento de hacer uso de las relaciones exclusivas, estas son:
Solo le pertenece a una entidad, es decir tal y como se presenta el ejemplo, si el arco se
modelara en el lado contrario al del ejemplo, esto sera errneo.
Puede involucrar de dos a n relaciones
No necesariamente debe excluir a todas las relaciones que llegan a la entidad, pero si
siempre a mnimo dos.
Las relaciones incluidas en el arco deben tener la misma opcionalidad.
1.2.1.5. Consideraciones Adicionales del Modelo ER
Modelando Cambios:

En muchos de los sistemas de la vida real necesitamos realizar el almacenamiento de los


cambios que se pueden presentar en una entidad o en varias entidades, por ejemplo el cambio de
precio de un Producto. Estos cambios se representan en el modelo haciendo uso de las entidades
dbiles.

1.2 Modelado Entidad-Relacin (ER)

21

Relaciones Recursivas:

Pese a que se mencionaron con anterioridad, es necesario especificar o presentar en qu


casos se deben usar estas relaciones.

Es conveniente aclarar que aunque no existe una norma que lo establezca, se sugiere que las
relaciones recursivas sean totalmente opcionales para evitar inconsistencias en el ciclo de vida,
insistiendo que no es obligatorio que esto sea as.
Convenciones y legibilidad:

En trmino de entendimiento del modelo, se sugiere que las relaciones entre entidades se
presenten en ngulos de noventa grados, adicionalmente que no se presenten cruces de las

Diseo de Bases de Datos

22
relaciones, pues dificultan la legibilidad del modelo.

1.3

Ciclo de Vida de las Bases de datos


El ciclo de vida de las bases de datos, como se mencion anteriormente, inicia desde
el anlisis de las funcionalidades y datos que debe almacenar el sistema hasta llegar a la
implementacin, pero para llegar a este, es necesario pasar por una serie de etapas que si se
llevan a cabo teniendo en cuenta parmetros de calidad, se llegara a tener una base de datos de
una mayor funcional. En la figura 1.3 se presenta un esquema del ciclo de vida de una base de
datos.
Figura 1.3: Ciclo de Vida de las Bases de datos

Como se mencion en la introduccin, este captulo se centrara en la fase de Diseo, la cual


es la ms trascendental en el ciclo de vida de la base de datos, debido a que es en esta donde se
representan, mediante el Modelo Entidad Relacin, todos los datos que se requieren para el
desarrollo y adecuado funcionamiento del sistema.

1.3 Ciclo de Vida de las Bases de datos


1.3.1

23

Diseo Conceptual
En el diseo conceptual se describe la informacin que se necesita para el negocio o sistema,
facilitando la discusin con el usuario final para prevenir errores y mal entendidos. Es un aspecto
importante en la documentacin de un sistema ideal puesto que a travs del tiempo se ha
comprobado que es una forma una base slida para el diseo fsico de la base de datos.
El diseo o modelo conceptual pretende representar el qu? y no el cmo?, por lo
que es conveniente tener presente que en la fase conceptual an no se debe pensar en el Sistema
Gestor de Bases de Datos o con los recursos que cuenta la empresa.
A nivel conceptual se sugiere evaluar las posibles instancias de los atributos con el fin
de determinar si estos pueden llegar a ser considerados como entidades con el fin de evitar
redundancia. Lo anterior se conoce tambin como segunda forma normal dentro del proceso de
normalizacin; cabe recordar que la primera forma normal corresponde a que los atributos de las
entidades apliquen el principio de Atomicidad, es decir, que no posean ms de un valor dentro
del mismo registro.
A continuacin se presenta un ejemplo de un modelo en las formas normales mencionadas
anteriormente:
Figura 1.4: Modelo sin normalizar

En el modelo de la Figura 1.4 se presentan algunos errores u omisiones, los cuales se


solucionan al aplicar la primera forma normal. Dichas omisiones se evidencian en que algunos
atributos incumplen el principio de la Atomicidad de las bases de datos (nombres_persona y
telefonos_persona). Lo anterior se soluciona aplicando la primera forma normal (Ver Figura 1.5),
aunque cabe aclarar que la definicin de los atributos, es decir si son obligatorios u opcionales lo
determina el CONTEXTO en el que se este planteando el modelo.
Una vez aplicada la primera normal, se debe revisar el modelo para evaluar que atributos
tienen instancias que pueden repetirse continuamente. Para el caso del ejemplo presentado el
atributo marca_producto en la entidad PRODUCTO puede presentar instancias reiterativas, por lo
que para mayor funcionalidad este atributo se debe representar en el modelo como una entidad, lo
anterior es conocido en trminos ms tcnicos como que el atributo no depende funcionalmente
del identificador de la entidad. Para este caso de la aparicin de nuevas entidades, los atributos y
relaciones que presenten vendrn dadas por la lgica del sistema.
1.3.2

Diseo Lgico
Para el caso del diseo o modelo Lgico, la variacin con respecto al modelo conceptual
corresponde principalmente a la inclusin de los atributos que almacenaran las relaciones; es
aqu donde cabe resaltar la definicin de Llave Fornea, la cual corresponde a un atributo que

24

Diseo de Bases de Datos


Figura 1.5: Primera Forma Normal

Figura 1.6: Segunda Forma Normal

se genera en la entidad a la cual llegan las relaciones con grado muchos, o aquella en la que
tenga ms peso la relacin, para el caso de las relaciones uno a uno. En caso de que en el modelo
conceptual exista una relacin muchos a muchos, esta se debe romper con una entidad dbil
as no tenga ninguna atributo que la represente.
Adicionalmente se sugiere definir los tipos de datos de los atributos de acuerdo al Sistema
Gestor de Bases de Datos (SGBD) que se vaya a utilizar, teniendo en cuenta que no todos los
SGBD incluyen los mismos tipos de datos.
Algunos autores sugieren pluralizar los nombres de las entidades desde el modelo lgico,
aunque se puede realizar desde el modelo fsico.
Para el caso de las entidades que incluyan subtipos, o subentidades, los atributos que
contengan debern definirse como opcionales, lo anterior con el fin de no afectar la generacin
y desarrollo de los modelos lgico y fsico y por el principio de Exclusividad de los subtipos

1.3 Ciclo de Vida de las Bases de datos

25

Figura 1.7: Diseo Lgico

explicado con anterioridad.


Se evidencia que para las entidades dbiles, en el modelo lgico le adicionan dos atributos
correspondientes a las relaciones existentes, pero adicionalmente dichos atributos son llaves
primarias, esto no quiere decir que tenga dos llaves primarias, simplemente hace referencia a que
se identificara por la combinacin de los dos atributos, para el caso del ejemplo, a nivel de datos
en la tabla tem no podra existir una factura con el mismo producto ms de una vez.

1.3.3

Diseo Fsico
Finalmente, en el diseo fsico, es donde se presenta el modelo correspondiente para la
generacin del cdigo SQL para la creacin de la base de datos en el SGBD seleccionado. Para
el caso del Modelo Fsico, en la mayora de los casos, la notacin utilizada no es Barker, pues
desaparece la notacin de Pata de Gallina en las relaciones, as como las lneas continuas
y puntadas, y se usa notacin Relacional, la cual es muy similar a UML (Unified Modeling
Language, o Lenguaje Unificado de Modelado).
En el modelo se puede evidenciar que algunos tipos de datos varan con respecto a los
manejados en los modelos conceptual y lgico, esto se debe a que en el modelo fsico se deben
manejar los tipos de datos propios del motor seleccionado (MySQL para el ejemplo). Y el otro
cambio evidente es que los nombres de las entidades se presentan en plural, teniendo en cuenta
que como se encuentren las entidades y atributos representados en el modelo fsico es como se
crearan en la base de datos.

Diseo de Bases de Datos

26
Figura 1.8: Diseo Fsico

1.4

Estndares de Diseo
Para el diseo existen mltiples estndares como la ISO/IEC 25012, la ISO/IEC 9126-3 y
la ISO/IEC 25024, en el captulo no se pretende dar una revisin minuciosa de cada una de las
normas existentes, pues se requerira todo un libro para esto, si no presentar las caractersticas
ms relevantes a tener en cuenta al momento de realizar el modelado de las bases de datos.
Figura 1.9: Estndares de Diseo

Adicional a los estndares mencionados, existen una serie de mtricas que se sugieren sean
revisadas con el fin de disear modelos de calidad y que sean realmente funcionales. Algunas de
dichas mtricas son:

1.5 Bibliografa

27

Mtricas de Piattini
Mtricas de Moody
Mtricas de Kesh

1.5

Bibliografa
Atzeni, P., Ceri, S. & Paraboshi S. (1999). Database Systems. McGraw Hill.
Barker, R. (1990). CASE Method: Entity Relationship Modelling. Reading, MA: Addison-Wesley
Pro
Garcia, H., Ullman, J. & Widom, J. (2012). DataBase Systems: The Complete Book. Prentice
Hall.
Gonzlez, M Gonzlez, S. (2013). Aplicacin del estndar ISO/IEC 9126-3 en el modelo de
datos conceptual entidad-relacin en Revista Facultad de Ingeniera. Vol. 22 No. 35

2 Sistemas de Recuperacin de Informacin


(SRI)

Elaborado por: Cristina Bender - Claudia Deco


Universidad Nacional de Rosario
Universidad Catlica Argentina, Campus Rosario

2.1
2.1.1

Introduccin
Recuperacin de Informacin
El objetivo principal de la Recuperacin de Informacin es satisfacer la necesidad de informacin planteada por un usuario en una consulta en lenguaje natural especificada a travs de un
conjunto de palabras claves, tambin llamadas descriptores. En general, este proceso hacia la
recuperacin de documentos relevantes a la consulta presentada, no es un proceso simple debido
a la complejidad semntica del vocabulario.
La Recuperacin de Informacin o InformationRetrieval es la representacin, almacenamiento, organizacin y acceso a tems de informacin [Baeza et al., 1999]. Es un proceso mediante
el cual se obtiene un conjunto de documentos que se adecuen a una demanda de informacin.
La representacin y organizacin de los tems de informacin no son un problema simple de
resolver, al igual que la caracterizacin de la necesidad de informacin del usuario tampoco lo es.
Un ejemplo tpico de un sistema de recuperacin de informacin son los catlogos interactivos
de las bibliotecas, donde una entrada del catlogo es ejemplo de un documento. Otro ejemplo es
la web, donde cada pgina web representa un documento.
Un usuario puede desear recuperar un documento concreto o un conjunto de stos. El usuario,
debe traducir su necesidad de informacin en una consulta para luego ser procesada, en base a
esta consulta, el objetivo primordial de un sistema de Recuperacin de Informacin es recuperar
informacin que sea til o relevante para el usuario. Para la bsqueda, los usuarios suelen
describir los documentos deseados mediante un conjunto de palabras claves. Por ejemplo, se
puede utilizar la palabra clave bases de datos relacionales para buscar informacin sobre este
tema.
Los documentos tienen un conjunto de palabras claves asociado. Los sistemas de recuperacin
de informacin recuperan aquellos documentos cuyos conjuntos de palabras claves contengan
las proporcionadas por el usuario.
Entonces, un sistema de Recuperacin de Informacin debe, de alguna manera, interpretar
el contenido de los elementos de informacin o documentos de la coleccin y ordenarlos de
acuerdo con el grado de relevancia para la consulta del usuario. La dificultad no est solo en
conocer como extraer esta informacin sino tambin cmo utilizarla para decidir la relevancia de
cada documento.
Segn [Baeza et al., 1999], el modelo de Recuperacin de Informacin se caracteriza
formalmente como una cudrupla ( D , Q , F , R ) donde D es una representacin de la coleccin

30

Sistemas de Recuperacin de Informacin (SRI)

de documentos; Q es una representacin de la informacin que necesita el usuario (consulta); F


es el entorno de trabajo para modelar la coleccin de documentos, las consultas y las relaciones
que hay entre ellos; y R(qi , dj) es una funcin que devuelve un nmero real que permite asociar la
consulta qi (qi pertenece a Q) y la representacin de la coleccin de documentos dj (dj pertenece
a D).
2.1.2

Recuperacin de Informacin versus Recuperacin de Datos


La meta principal de un sistema de Recuperacin de Informacin es recuperar informacin
que podra ser til o importante para el usuario, y no slo datos que satisfagan una consulta dada.
Un sistema de recuperacin de datos, tal como una base de datos relacional, trata con
datos que tienen una estructura y una semntica bien definidas. Un sistema de recuperacin de
datos permite recuperar todos los objetos que satisfacen las condiciones especificadas en una
expresin regular o en una expresin del lgebra relacional. Por ejemplo, si se consulta por la
palabra cncer un sistema de recuperacin de este tipo recuperar solamente aquellos objetos
que contengan exactamente dicha palabra. Entonces, un sistema de recuperacin de datos slo
recupera los datos que coinciden exactamente con el patrn ingresado por el usuario.
Un sistema de recuperacin de informacin recupera datos relevantes que hagan la mejor
coincidencia parcial con el patrn dado. Esto se debe a que la recuperacin de informacin
generalmente trata con texto en lenguaje natural, el cual no est siempre bien estructurado y
podra ser semnticamente ambiguo. Por ejemplo, si se realiza una consulta por el trmino
cncer en un sistema de recuperacin de informacin, adems de obtener como resultado los
documentos que contengan este trmino, se debera obtener tambin los documentos en que
aparezca neoplasma, carcinoma, cancergeno, etc..
[Blair, 1990: 2-4] clasifica las diferencias entre recuperacin de datos (data retrieval) y
recuperacin de informacin (information retrieval) de la forma siguiente:

2.1.3

Componentes de un Sistema de Recuperacin de Informacin


En la figura siguiente se grafican los componentes de un sistema de recuperacin de informacin.

2.1 Introduccin

31

Se posee una coleccin o cuerpo de documentos. El sistema de recuperacin de informacin


(Sistema de IR en la figura) trabaja con estos documentos realizando operaciones sobre los
textos, tales como remocin de palabras no significativas y stemming; para construir un ndice
invertido (o archivo invertido) de palabras con punteros a los documentos. Este tema se ampla
en el Apartado 2.6.
Una Interface de usuariomaneja la interaccin con el usuario permitindole el ingreso de la
consulta (query), y la visualizacin de los resultados. El Sistema de Recuperacin de Informacin
realiza operaciones de transformacin de la query para mejorar la recuperacin, por ejemplo, la
expansin de la consulta utilizando recursos lingsticos o usando feedback de relevancia. As, el
sistema recupera los documentos que contienen los trminos que estn en el ndice invertido.
Este tema se ampla en el Apartado 2.5.
El resultado se muestra al usuario con un orden (ranking) de todos los documentos recuperados de acuerdo a una mtrica de relevancia. Este tema se ampla en el Apartado 2.4.
Por lo recin descripto, existe un conjunto de tareas involucradas en los sistemas de recuperacin de informacin que permiten cumplir con el objetivo de estos sistemas. Estas tareas son:
la categorizacin (automtica) de documentos para poder clasificarlos; el filtrado de informacin
que permite descartar la informacin no relevante; el clustering automtico de documentos para
poder generar grupos de documentos afines; la extraccin de informacin; y la integracin de
informacin.
De aqu, se advierte la existencia de varias reas relacionadas con la recuperacin de informacin. A continuacin se describe brevemente la incumbencia de cada rea relacionada en los
aportes que brinda a la Recuperacin de Informacin.
2.1.4

Areas relacionadas con la Recuperacin de Informacin


La primer rea de inters es el gestionamiento de Bases de Datos (Database Management)
queseenfoca en los datos estructurados almacenados en tablas relacionales ms que en texto sin
formato; y se focaliza en el procesamiento eficiente de consultas bien-definidas en un lenguaje
formal (SQL). Tambin tiene una semntica clara para los datos y las consultas. Recientemente
se ha volcado a los datos semi-estructurados (XML) y esto lo ha llevado ms cerca de la
Recuperacin de Informacin.
El rea de las Ciencias de la Informacin (Library and Information Science) se focaliza en
los aspectos del usuario humano de la Recuperacin de Informacin, entre los que se destacan la

32

Sistemas de Recuperacin de Informacin (SRI)

interaccin humano-computadora, la interface de usuario, la visualizacin. Esta rea se enfoca en


la preparacin de una estrategia de bsqueda. Los temas concernientes a esta rea son el anlisis
de citacin y la bibliometra. Los trabajos recientes sobre bibliotecas digitales acercan a esta rea
a las reas de Ciencias de la Computacin y de Recuperacin de Informacin.
La Inteligencia Artificial (Artificial Intelligence) se focaliza en la representacin del conocimiento, razonamiento y accin inteligente. Utiliza formalismos para representar el conocimiento
y las consultas; por ejemplo la lgica de predicados de primer orden. El trabajo reciente en
ontologas de la web y agentes de informacin inteligentes la lleva ms cerca de la Recuperacin
de Informacin.
El Procesamiento de Lenguaje Natural (Natural Language Processing) se focaliza en el
anlisis sintctico y semntico de texto en lenguaje natural. La habilidad para analizar sintaxis
(esto es la estructura de la frase) y semntica (esto es significado de la frase) podra permitir
la recuperacin basada en significado ms que en keywords. Esta rea desarrolla mtodos
para determinar el sentido de una palabra ambigua basada en su contexto (WSD - word sense
disambiguation), y desarrolla mtodos para identificar piezas especficas de informacin en un
documento (esto es: colabora con la tarea de extraccin de informacin).
El Machine Learning se focaliza en el desarrollo de sistemas computacionales que mejoren
su performance con la experiencia. Permite realizar la clasificacin automtica de documentos
basada en conceptos aprendidos a partir de ejemplos etiquetados de entrenamiento. Colabora en
la categorizacin de texto (Text Categorization) utilizada, por ejemplo, por Yahoo para realizar
la clasificacin automtica de jerarquas; y en el agrupamientode texto (Text Clustering), para el
agrupamiento de resultadosde una consulta de la Recuperacin de Informacin. Otra actividad
que facilita es el minado de textos (Text Mining).
2.1.5

Recuperacin de Informacin en la Web


Los motores de bsqueda recolectan pginas de la web, las indexan, buscan en los ndices
las palabras claves ingresadas en la consulta, utilizan algoritmos de ranking para ordenar los
resultados y muestran al usuario los documentos resultantes.
Una pgina web corresponde a un documento en la recuperacin de informacin tradicional. La
recuperacin de informacin en la web considera como una coleccin de documentos la parte de
la web que est pblicamente indexada, excluyendo las pginas que no puedan ser indexadas por
ser muy dinmicas o por ser privadas.
Los motores de bsqueda estn potenciados por tcnicas de recuperacin de informacin.
Algunos ejemplos de estos motores de bsqueda son: Google (www.google.com), Yahoo!
(www.yahoo.com), Bing (www.bing.com), entre otros.
Uno de los problemas que surgen con los motores de bsqueda de la web es que los usuarios
no tienen el tiempo y el conocimiento para seleccionar el o los motores ms adecuados para
su necesidad de informacin. Una solucin posible a esto son los motores de meta bsqueda, tal como MetaCrawler (www.metacrawler.com), que son servidores web que envan la
consulta a varios motores de bsqueda; recopilan estos resultados y los unifican, unindolos y
presentndoselos a los usuarios.

2.2

Modelos de Recuperacin de informacin


Un modelo de recuperacin de informacin es una idealizacin o abstraccin del proceso
real de recuperacin. Dentro de un modelo pueden identificarse diferentes partes: Un modelo
para la representacin de documentos (datos), un modelo para representar las consultas que los
usuarios pueden formular (que sera un anlogo al lenguaje de consultas de un modelo de base
de datos), un entorno de modelado de las relaciones entre documentos y consultas y una funcin

2.2 Modelos de Recuperacin de informacin

33

de ranking R(d,q), que asocia un nmero real con una consulta q y un documento d. El ranking
es una estimacin cuantitativa de la probabilidad de que el documento d resulte relevante para la
consulta q.
En un sistema de recuperacin de informacin habitualmente no se trabaja con los documentos propiamente dichos, sino con una representacin ms manejable de los mismos. Un
documento puede representarse por una coleccin de valores de ciertos campos como el ttulo
del documento, sus autores, fecha de publicacin, etc., como es en el caso del catlogo de una
biblioteca. Otra posibilidad, utilizada en los modelos bsicos que se presentan a continuacin, es
describir los documentos a travs de un conjunto de trminos representativos, llamados keywords,
que describen de alguna forma el contenido de un documento y no necesariamente deben aparecer
como una palabra o una frase del documento mismo. Sin embargo, se pueden considerar todos
los trminos que aparecen en el documento como keywords en una aproximacin llamada full
text. En este caso, se obtiene una representacin del documento llamada bolsa de palabras, en la
que el documento es representado como una lista desordenada de todas las palabras que aparecen
en l.
No todas las palabras tienen la misma importancia dentro de un documento y una forma
de aprovechar esto es asignar pesos a las palabras para medir su importancia para un dado
documento. La funcin peso W(Ti,dj), asigna un nmero real mayor o igual a cero a cada par
(Ti,dj) para medir la importancia del trmino Ti en el documento dj.
En este captulo se describen tres modelos bsicos de recuperacin de informacin: el modelo
Booleano, el modelo Espacio Vectorial y el modelo Probabilstico. Modelos ms avanzados,
algunos de los cuales utilizan tcnicas de inteligencia artificial para representar ciertas caractersticas de los documentos, pueden consultarse en [Baeza et al., 1999], [Salton, 1983], [van
Rijsbergen, 1979], entre otros.
2.2.1

Modelo Booleano
El modelo de recuperacin de informacin Booleano est basado en la teora clsica de
conjuntos y el lgebra de Boole. En este modelo, los documentos se representan por el conjunto
de trminos contenidos en ellos. As, la representacin de la coleccin de documentos se realiza
sobre una matriz binaria documento-trmino, donde los trminos han sido extrados manualmente
o automticamente de los documentos y representan el contenido de los mismos.
Las consultas se expresan como expresiones booleanas entre trminos, usando los operadores
AND, OR y NOT. Una desventaja del modelo es que limita su aplicacin a aquellos usuarios
que tengan conocimientos apropiados para manejar expresiones lgicas. La semntica de los
operadores booleanos en una consulta puede describirse informalmente de la siguiente forma:
T1 AND T2 = conjunto de documentos cuyas representaciones contienen al trmino T1 y al
trmino T2.
T1 OR T2 = conjunto de documentos cuyas representaciones contienen al trmino T1 o al
trmino T2.
NOT T1 = conjunto de documentos cuyas representaciones no contienen al trmino T1.
Para el modelo booleano, los pesos de los trminos son binarios, esto es: W(Ti,dj) pertenece
a {0,1}, siendo el peso del trmino Ti igual a uno si este pertenece al documento dj y cero en
caso contrario.
La similitud R(dj, q) de un documento dj y una consulta q valdr 1 si los trminos contenidos
en la representacin del documento dj hacen verdadera a la expresin de la consulta q, y valdr 0
en caso contrario. Este ranking binario es la principal desventaja del modelo, puesto que dada una
consulta, un documento o es relevante a la misma o no lo es, y el conjunto de documentos que se
obtiene como resultado de una consulta no puede ser ordenado por un ranking de relevancia, ya
que todos ellos son igualmente relevantes. Sin embargo, como ventajas de este modelo se tiene

34

Sistemas de Recuperacin de Informacin (SRI)

que posee un formalismo muy simple y una semntica clara y concisa para la formulacin de las
consultas, y fue adoptado por muchos de los primeros sistemas de recuperacin de informacin.
2.2.2

Modelo Espacio Vectorial


En el modelo Espacio Vectorial, tanto los documentos como las consultas se representan por
vectores de trminos. Cada documento es representado por un vector T-dimensional, donde T es
el nmero total de trminos en la coleccin. De la misma manera, una consulta se representar
por un vector T-dimensional. Cada elemento del vector representar el peso que se le asigne
al trmino correspondiente a ese elemento en el documento (o consulta). El modelo vectorial
utiliza pesos no binarios para los trminos de los documentos para as poder computar el grado
de similitud entre documentos y consultas de forma gradual. Esto permite que el conjunto de
documentos obtenidos como resultado de una consulta pueda ser ordenado por un ranking de
relevancia.
Un esquema de pesado habitual dentro de este modelo est basado en consideraciones estadsticas para intentar representar la importancia relativa de un trmino dentro de un documento. Se
tiene en cuenta la cantidad de veces que aparece una dada palabra en un documento, suponiendo
que las palabras que se repiten ms veces son ms representativas del contenido del mismo. La
frecuencia de un trmino Ti en el documento dj, notada F(Ti,dj), es el nmero de veces que
aparece el trmino Tien el documento dj.
Un problema de considerar como peso de una palabra directamente a su frecuencia de
aparicin es que se le confiere igual importancia a todos los trminos que aparecen en la coleccin.
Si se supone que los trminos que aparecen en pocos documentos son buenos discriminadores
y que los trminos ms comunes son menos tiles a la hora de decidir la relevancia de un
documento, es natural asignar a los primeros un peso ms alto que a los segundos. La frecuencia
de documento inversa (IDF: Inverse Document Frecuency) de una palabra est relacionada con
la cantidad de documentos de la coleccin en que aparece dicha palabra. Como el trmino se
considera ms importante cuando aparece en menos documentos, la frecuencia de documento
inversa se define como: IDF(Ti) = log(N/ni) donde N es la cantidad total de documentos y ni es
el nmero de documentos en los que aparece el trmino Ti. El logaritmo se incluye slo para
evitar el crecimiento numrico de la funcin. Una palabra que aparezca en todos los documentos
de la coleccin tendr entonces una IDF igual a cero, indicando que carece totalmente de valor
para discriminar documentos.
El peso de un trmino Ti dentro de un documento dj se define entonces de la siguiente manera:
W(Ti,dj) = TF(Ti,dj) * IDF(Ti). Este esquema de pesado se denomina TF-IDF y es uno de los
ms utilizados dentro de los sistemas de recuperacin de informacin construidos utilizando el
modelo Espacio Vectorial. Existen otros sistemas de asignacin de pesos, y el lector interesado
puede consultarlos, por ejemplo, en [Baeza et al., 1999].
Las consultas en el modelo Espacio Vectorial pueden ser expresadas en un lenguaje cercano
al natural, como una simple enumeracin de palabras. Al no necesitar la utilizacin de operadores
explcitos como en el modelo Booleano, el sistema resulta ms accesible y ms natural de usar
para un usuario sin conocimientos especficos sobre el tema.
La similitud entre dos documentos o entre un documento y una consulta se define en una
primera aproximacin como el producto interno de los vectores que los representan.

Con pesos binarios, esto equivale a contar el nmero de trminos coincidentes entre ambos
documentos, o entre un documento y una consulta. Utilizando el esquema de asignacin de peso

2.2 Modelos de Recuperacin de informacin

35

TF-IDF, la importancia de cada trmino influir en la medida del ranking. Por ejemplo, dada una
consulta, un documento con una nica coincidencia, pero en un trmino con un peso alto, podra
tener un ranking ms elevado que otro con varias coincidencias en trminos de pesos pequeos.
Una medida ms usual de similitud es la medida del coseno:

que se puede interpretar como el coseno del ngulo formado por los vectores representativos
de cada documento di y la consulta q en el espacio T-dimensional. La similitud ser entonces
un nmero real entre 0 (ninguna coincidencia) y uno (mayor coincidencia). El modelo espacio
vectorial es el modelo ms difundido actualmente.
Veamos un ejemplo. Supongamos que tenemos un documento que comienza con el texto
siguiente: La Repblica Argentina ha sido nominada para la realizacin del X Congreso
Americano de Epidemiologa en Zonas de Desastre. El evento se realizar .... Un usuario realiza
la siguiente consulta: argentina congreso epidemiologa. En la tabla siguiente se observa parte
de la matriz trmino-documento con pesos normalizados entre 0 y 1. En la ltima fila de la tabla
se presenta la representacin de la consulta.

En la figura siguiente se representan grficamente el documento (D) y la consulta (C), y la


similitud entre la consulta y el documento se mide con el valor del coseno entre ambos vectores
(el arco en rojo en la figura).

2.2.3

Modelo Probabilstico
El modelo probabilstico de recuperacin de informacin est basado en la teora de probabilidades. Dada una consulta q y un documento d, el modelo intenta determinar la probabilidad
de que el documento d resulte relevante a la consulta. El modelo asume que esta probabilidad de
relevancia depende slo de las representaciones del documento y la consulta.

36

Sistemas de Recuperacin de Informacin (SRI)

En el modelo probabilstico los documentos se representan por el conjunto de trminos que


contienen, donde los pesos de los trminos son binarios W(Ti,dj) pertenece a {0,1}. Las consultas
se expresan como una enumeracin de trminos.
Una suposicin bsica que realiza este modelo es: dada una consulta, existe exactamente
un conjunto de documentos, y no otro, que satisface dicha consulta. Este conjunto es llamado
el conjunto ideal. El conjunto ideal no se conoce de antemano, y es necesario realizar ciertas
suposiciones sobre las propiedades de dicho conjunto, que se intentan refinar consulta tras
consulta. Tras cada consulta, el usuario identificar los documentos recuperados que resultaron
relevantes, con lo que se refinar la descripcin del conjunto ideal.
La similitud entre un documento dj y una consulta q se define como:

donde:
P(R|dj) es la probabilidad de que el documento dj sea relevante a la consulta q.
P(R|dj) es la probabilidad de que el documento dj no sea relevante a la consulta q.
P(dj|R) es la probabilidad de seleccionar al documento dj de entre los relevantes
P(R) es la probabilidad de que seleccionando algn documento aleatoriamente de la coleccin,
sea relevante.
P(dj) es la probabilidad de obtener el documento dj aleatoriamente seleccionando uno de entre
toda la coleccin.
P(R|dj), P(dj |R), P(R) son los anlogos, aplicados a la no relevancia
Entonces, un documento dj ser considerado como relevante si:
P(R|dj) > P(R|dj) o P(dj|R) > P(dj|R)
De esta manera el modelo permite ordenar los documentos de la coleccin en orden descendente de probabilidad de relevancia en relacin a la consulta, superando as la gran deficiencia
del modelo booleano, a pesar de seguir siendo un modelo binario. Este modelo tiene desventajas
ya que necesita una hiptesis inicial para establecer los documentos relevantes y el peso de sus
trminos, y adems, supone independencia entre trminos.
2.2.4

Otros modelos
Existen otros modelos para representar la recuperacin de informacin, tales como el modelo
de Conjuntos Difusos (Fuzzy Sets), apoyado en conceptos de la teora difusa; el modelo Booleano
Extendido; el modelo Espacio Vectorial Generalizado; el modelo de Indexado Semntico Latente;
el modelo de Red Neuronal; modelos probabilsticos alternativos, que consideran el uso de redes
bayesianas y redes de inferencia; modelos de recuperacin de texto estructurado; y modelos para
la visualizacin (browsing). El lector interesado puede profundizar estos temas en [Baeza et al.,
1999].

2.3

Lenguajes de consulta
Una consulta en un sistema de recuperacin de informacin es una solicitud de documentos
pertenecientes a algn tema. Dada una coleccin de documentos y una consulta del usuario, el

2.3 Lenguajes de consulta

37

objetivo de una estrategia de bsqueda es obtener todos y slo los documentos relevantes a la
consulta.
Para iniciar un proceso de recuperacin de informacin el usuario debe hacer una solicitud
al sistema a travs de una consulta. Cada modelo de recuperacin de informacin responder a
distintos tipos de consultas. En los tres modelos bsicos descriptos en el apartado anterior las
consultas estn basadas en palabras clave o keywords. En algunos modelos ms avanzados las
consultas se formulan en lenguaje natural y se resuelven aplicando tcnicas de Procesamiento de
Lenguaje Natural.
2.3.1

Consultas basadas en keywords


Las consultas basadas en keywords se componen de una combinacin ms o menos compleja
de palabras que se emplearn para determinar qu documentos son relevantes. Son intuitivas y
fciles de expresar, ya que no requieren que el usuario conozca un formalismo para construir su
solicitud. Permiten un ranking rpido determinado por la cantidad de keywords de la consulta
original que pertenecen a la representacin del documento retornado junto a lo representativa del
contenido que sea cada una de ellas. Las consultas basadas en keywords se pueden clasificar en
consultas de una palabra, consultas contextuales, consultas booleanas y consultas en lenguaje
natural. Las consultas de una palabra son aceptadas por todos los modelos, el resultado de la
consulta es el conjunto de documentos cuyas representaciones contienen la palabra buscada. El
ranking se elabora sobre medidas estadsticas como la frecuencia de trminos y la frecuencia de
documentos inversa.

2.3.2

Consultas contextuales
Las consultas contextuales constan de varias palabras y la bsqueda se realiza teniendo en
cuenta el contexto del documento en que aparecen las palabras buscadas. Algunos ejemplos
de consultas contextuales son la bsqueda de frases y las bsquedas por proximidad. La idea
de las consultas por proximidad es lograr recuperar aquellos documentos en que las palabras
de la consulta aparezcan citadas en un mismo contexto. Este contexto se determina midiendo
la proximidad entre palabras. Una suposicin que se realiza es que las palabras que estn muy
prximas entre s en una dada parte del documento se referirn a un mismo tema. Dada una
unidad de medida de distancia entre trminos, usualmente la cantidad de palabras o prrafos
que hay entre ellos, y algunas caractersticas de esa distancia, como si debe ser unidireccional
o bidireccional segn la distancia se mida solo hacia adelante o hacia adelante y atrs en el
texto; se retornarn los documentos donde las palabra de la consulta aparezcan suficientemente
prximas entre s. En las bsquedas de frases las palabras deben aparecer dentro del documento
en posiciones consecutivas y en el mismo orden que en la frase de la consulta. Se puede ver a
este tipo de consultas como un caso particular de consultas de proximidad en que se exige que la
proximidad entre las palabras debe ser la mxima posible.
El ranking de consultas contextuales se puede determinar segn la proximidad entre los
trminos en los documentos recuperados, asignando mayor ranking a los documentos en que las
palabras aparezcan ms prximas.
Las bsquedas contextuales proporcionan un mecanismo para identificar aquellos documentos en los cuales los diferentes trminos de la consulta se refieren a un mismo tema, contando
nicamente con informacin sobre la posicin de las palabras dentro de los documentos, evitando asi retornar resultados vagos de documentos en los que solo se mencionan los trminos
en diferentes contextos. Por ejemplo, si en una consulta de proximidad aparecen las palabras
cncer y cerebro, un documento que hable de Medicina en general y que cite a cerebro en
una enumeracin de los rganos del cuerpo humano en una seccin, y cncer en una lista de
enfermedades en otra seccin, tendr menor proximidad y por lo tanto peor ranking que uno

38

Sistemas de Recuperacin de Informacin (SRI)

donde aparezcan ambos trminos en un mismo prrafo.


2.3.3

Consultas booleanas
Las consultas booleanas se expresan dando los trminos separados por operadores booleanos
explcitos (AND, OR, NOT). Se resuelven aplicando las operaciones de conjuntos correspondientes (interseccin, unin, complemento o diferencia, respectivamente) sobre los conjuntos de
documentos que contienen a los trminos de la consulta en sus representaciones.
Los sistemas booleanos puros manejan slo la informacin de si una palabra es keyword o
no de un documento, y como se dijo antes, esta informacin no es suficiente para determinar un
ranking de los resultados.
La sintaxis de una consulta booleana est compuesta por tomos, que junto con los operadores
booleanos recuperan documentos. Se define un rbol de consulta donde las hojas corresponden a
las preguntas bsicas y los nodos internos a los operadores (OR, AND, NOT).

2.3.4

Consultas en lenguaje natural


Las consultas en lenguaje natural son simples enumeraciones de trminos sin emplear
operadores, y por lo tanto presentan una interfaz amigable al usuario comn. A diferencia de las
consultas booleanas permite recuperar documentos que satisfagan slo parcialmente la consulta.
El ranking de los resultados se puede elaborar teniendo en cuenta el nmero de partes de la
consulta que se satisfacen, mientras ms trminos de la consulta estn presentes mejor ranking
tendr el documento. Es directamente aplicable al modelo de Recuperacin de Informacin de
espacio vectorial.
El lenguaje natural, esto es la herramienta que utilizan las personas para expresarse, posee
dos propiedades que merman la efectividad de los sistemas de Recuperacin de Informacin.
Estas propiedades son la variacin lingstica y la ambigedad lingstica. La variacin lingstica es la posibilidad de utilizar diferentes palabras o expresiones para comunicar una misma
idea. La ambigedad lingstica se refiere a cuando una palabra o frase permite ms de una
interpretacin. Ambas propiedades inciden en el proceso de recuperacin de informacin aunque
de forma distinta. La variacin lingstica provoca el silencio documental, es decir la omisin de
documentos relevantes para cubrir la necesidad de informacin, ya que no se han utilizado los
mismos trminos que aparecen en el documento. En cambio, la ambigedad implica el ruido
documental, es decir la inclusin de documentos que no son significativos, ya que se recuperan
tambin documentos que utilizan el trmino pero con significado diferente al requerido. Estas
dos caractersticas dificultan considerablemente el tratamiento automatizado del lenguaje.
Por ejemplo, a nivel morfolgico una misma palabra puede adoptar diferentes roles morfosintcticos en funcin del contexto en el que aparece, ocasionando problemas de ambigedad.
Consideremos la siguiente frase: Deja la comida que sobre sobre la mesa de la cocina, dijo
llevando el sobre en la mano., donde la palabra sobre es ambigua morfolgicamente ya que
puede ser un sustantivo masculino singular, una preposicin, y tambin la primera o tercera
persona del verbo sobrar, segn el orden en que aparece en la frase dada.

2.3.5

Otros tipos de consultas


Existen otros tipos de consultas, que no estn basadas en palabras, como por ejemplo las
consultas basadas en reconocimiento de patrones (pattern matching) que permiten bsquedas
parciales de trminos. Se determinan qu documentos recuperar segn contengan porciones de
texto que satisfagan alguna propiedad (patrn). Los patrones pueden ser prefijos, esto es que
el texto contenga palabras con el prefijo dado, como (bio*); sufijos, es decir que aparezcan
los sufijos dados dentro del texto, por ejemplo (*loga); rangos, para buscar documentos que
contengan valores, como nmeros, fechas o caracteres, en determinado rango (1901<x<2004);

2.4 Evaluacin de la Recuperacin de Informacin

39

o expresiones regulares que permiten formular la consulta como una expresin regular y se recuperan aquellos documentos que contengan subcadenas que las satisfagan. Para las expresiones
regulares las operaciones ms comunes son unin (a|b), la concatenacin (a b) y la repeticin
(a*). El lector interesado en este tema, puede ampliarlo en [Baeza et al., 1999], [van Rijsbergen,
1979], entre otros.

2.4
2.4.1

Evaluacin de la Recuperacin de Informacin


Relevancia
Un problema importante de la Recuperacin de Informacin es el grado de relevancia de
los documentos. Un sistema de recuperacin de informacin para ser efectivo, debe en alguna
forma interpretar los contenidos de los documentos en una coleccin y ordenar los resultados
segn un ranking de acuerdo al grado de relevancia que tenga respecto a la consulta del usuario.
Por lo tanto, un objetivo de la Recuperacin de Informacin es recuperar todos los documentos
que sean relevantes a una consulta del usuario y recuperar la mnima cantidad de documentos no
relevantes.
Existen dos tendencias a la hora de definir relevancia. La relevancia objetiva,que hace
hincapi en los sistemas, normalmente define cmo el tema de la informacin recuperada
coincide con el tema de la pregunta.
La relevancia subjetiva es la que tiene en cuenta al usuario [Swanson, 1988]. Es un juicio
subjetivo y puede incluir: que corresponda al tema buscado, que sea actual (informacin reciente),
que provenga de una fuente confiable, y que satisfaga los objetivos del usuario y su necesidad
de informacin. Para [Schamber, 1990] la relevancia se refiere a la utilidad, o potencial uso de
los materiales recuperados, con relacin a la satisfaccin de los objetivos, el inters, el trabajo o
los problemas intrnsecos del usuario. En la relevancia subjetiva, se estudia desde el punto de
vista de la informacin nueva que consigue un usuario de un documento. Segn este concepto, la
informacin conocida no es relevante.
Muy ligado al concepto de relevancia est el de pertinencia; con frecuencia se entremezclan
y confunden. En general, relevancia es la medida de cmo una pregunta se ajusta a un documento
(relevancia objetiva) y pertinencia es la medida de cmo un documento se ajusta a una necesidad
informativa (relevancia subjetiva).
Para dar un ejemplo consideremos a un usuario que desea obtener una descripcin sobre el
automvil Volkswagen Golf. Si plantea la consulta de forma demasiado simple ingresando slo la
palabra Golf, adems de los documentos de inters buscados, va a recuperar tambin aquellos
que slo mencionan al automvil, como noticias o avisos clasificados; o que contienen el trmino
Golf con otro significado, como puede ser una noticia sobre el deporte, o una receta de cocina
que lleve salsa golf. Si el usuario refina su pedido agregando ms trminos que describan su
dominio de inters, extendiendo la consulta a automvil Golf, obtendr ms informacin sobre
el VW Golf, pero no recuperar aquellos documentos tiles en los que no aparezca la palabra
automvil y que empleen sinnimos como auto, vehculo, carro, automobile o car.
Cualquiera sea el caso, los usuarios no pueden revisar exhaustivamente todos los resultados
recuperados hasta hallar aquellos que se ajusten a sus necesidades y es necesario que el sistema
provea algn tipo de asistencia automtica. Una solucin es presentar los resultados de forma
ordenada mediante un ranking de relevancia. De esta manera se pueden presentar todos los
documentos que satisfacen la consulta, aumentando el recall, pero dando mejor posicin a los
documentos que satisfacen la consulta con mayor exactitud. De esta manera se los separa en
cierta manera del resto, aumentando la precisin. Este ranking facilita la bsqueda entre los
resultados al usuario, permitindole reducirla a revisar unos cuantos documentos ubicados en las
primeras posiciones, donde posiblemente hallar los ms relevantes.

40

Sistemas de Recuperacin de Informacin (SRI)

Existen diferentes formas de elaborar un ranking de relevancia, por ejemplo, midiendo la


similitud entre los documentos y las consultas. Los diferentes aspectos que pueden tenerse en
cuenta en la construccin de un ranking pueden clasificarse en internos y externos, segn utilicen
propiedades propias de los documentos o propiedades externas a ellos.
Los aspectos internos influirn en la importancia que se le otorgar a las palabras dentro de
un documento. Adems de las consideraciones estadsticas ya mencionadas, como la frecuencia
de palabras, otros aspectos que pueden considerarse son la ubicacin de los trminos dentro del
documento, concedindole mayor importancia a aquellos que aparezcan en ttulos o subttulos;
el tipo de fuente, dando ms relevancia a las palabras resaltadas, en negritas, o en cursiva; etc.
Los aspectos externos determinarn una medida de la importancia del documento dentro de la
coleccin. Entre algunas propiedades externas que pueden ser empleadas para realizar el Ranking
de Relevancia se encuentran las citas hechas por otros documentos, la ubicacin del documento
dentro de la coleccin, y la popularidad de los mismos.
Un ranking de citas es una medida de la importancia de un documento dentro de una coleccin
basada en la cantidad de documentos que lo citan. En el caso de pginas web, se puede utilizar en
forma similar los enlaces entre pginas. Un ejemplo es el Page-Rank [Page et al., 1998] utilizado
en el buscador web Google, que asigna un ranking a los documentos basndose en la cantidad de
pginas que contienen enlaces hacia l. Otras caractersticas de las citas que aportan al ranking
del documento son la importancia de los documentos que hacen las citaciones, la relevancia del
texto circundante a las mismas y la relevancia de esos documentos.
En el caso de la web, otra propiedad externa que puede considerarse es la ubicacin del
documento en el rbol de directorios, si se halla en un directorio importante o cerca del directorio
raz figurar con mejor puntaje. La popularidad de consultas similares es otra propiedad, como es
el caso de buscadores web que rastrean los clicks de los usuarios sobre las direcciones retornadas
para cada consulta, para hacer un ranking de relevancia.
Estos diversos factores se combinan para otorgar un ranking de relevancia a los resultados
de una consulta. En general siempre se tiene en cuenta la similitud entre la consulta y los
documentos, dependiendo del sistema en particular la importancia que se le dar a los diferentes
factores en el clculo del ranking final.
2.4.2

Indicadores de la Recuperacin de Informacin


En la Recuperacin de Informacin se han propuesto diferentes indicadores para medir
cuantitativamente la performance de los sistemas de recuperacin de informacin clsicos
[Losee, 1998], la mayora de los cuales pueden ser extendidos para evaluar la bsqueda en la
web. Las medidas que se definen en un modelo bsico de Recuperacin de Informacin son
Precisin y Recall.
2.4.2.1. Precisin

La precisin es la proporcin de documentos recuperados relevantes, del total de los documentos recuperados. Es decir:

donde:
P es la Precisin
CDRR es la cantidad o nmero de documentos relevantes recuperados
CDR es la cantidad o nmero de documentos recuperados

2.4 Evaluacin de la Recuperacin de Informacin

41

El resultado de esta operacin est entre 0 y 1. As, la recuperacin perfecta es en la que


nicamente se recuperan los documentos relevantes y por lo tanto tiene un valor de 1.
Esta medida est relacionada con dos conceptos, el de ruido y el de silencio informativo.
De este modo, cuanto ms se acerque el valor de la precisin a 0, mayor ser el nmero de
documentos recuperados que no le sirvan al usuario y por lo tanto el ruido que encontrar ser
mayor.
La salida obtenida en la recuperacin es ordenada en funcin de la relevancia, por lo que los
documentos ms relevantes estn al comienzo, de esta manera a medida que avanzamos en el
nmero de documentos recuperados, la precisin decae.
La figura siguiente muestra la representacin grfica de la precisin:

Los sistemas ms precisos son aquellos que en su grfica describen una curva con valores
altos al principio y que van decreciendo.
2.4.2.2. Recall / Sensibilidad / Exhaustividad

El recall, tambin conocido como sensibilidad o como exhaustividad, se define como la


proporcin de los documentos relevantes que son recuperados. Esto es:

donde:
R es el Recall
CDRR es la cantidad o nmero de documentos relevantes recuperado
CT DR es la cantidad o nmero total de documentos relevantes en la coleccin
es decir, es la proporcin de material relevante recuperado, del total de los documentos que
son relevantes en la base de datos, independientemente de que stos, se recuperen o no. Esta
medida es inversamente proporcional a la precisin. Si el resultado de este clculo tiene como
valor 1, tendremos la exhaustividad mxima, encontramos todo lo relevante que haba, por lo
tanto la recuperacin es perfecta.
En la figura siguiente se presenta una representacin grfica de este indicador.

42

Sistemas de Recuperacin de Informacin (SRI)

2.4.2.3. Ejemplo

Sea una base de datos que contiene 500 documentos y 50 corresponden a la definicin del
problema. El sistema recupera 75 documentos, pero solo 45 se refieren al problema. Cules son
los valores de recall y de precisin?:
Recall = 45 / 50 = 0.9 es decir el Recall es del 90 %
Precisin = 45 / 75 = 0.6 es decir la Precisin es del 60 %
Estos indicadores estn inversamente relacionados. Es decir, cuando la Precisin aumenta, el
Recall normalmente baja y viceversa. La precisin depende del nivel del usuario: los usuarios
experimentados pueden trabajar con un Recall alto y una Precisin baja, porque son capaces
de examinar la informacin y rechazar fcilmente la irrelevante. Los usuarios novatos, por otro
lado, necesitan ms alta Precisin porque les falta experiencia. Si la tolerancia para errar es alta
y la tarea no es en tiempo crtico, esto puede ser aceptable para permitir al usuario revisar varios
documentos hasta encontrar si uno es apropiado. De todos modos, si el tiempo es importante y el
costo de cometer un error es alto, entonces la Precisin requerida es ms alta. Adems, cuando
los trminos son muy especficos aumenta la Precisin y baja el Recall. En cambio, cuando los
trminos son muy amplios aumenta el Recall y baja la Precisin. En general, un buen sistema de
recuperacin de informacin debe tratar de maximizar la recuperacin de documentos relevantes,
y minimizar la cantidad de los documentos irrelevantes recuperados.
Realizada una bsqueda en una coleccin de documentos, el conjunto de documentos
recuperados no coincide totalmente con el conjunto de los relevantes sobre el tema de inters.
Una bsqueda ser ptima cuando estos dos conjuntos coincidan, es decir cuando todos los
documentos recuperados sean relevantes y todos los documentos relevantes sean recuperados.
Estos indicadores, que provienen de la Recuperacin de Informacin tradicional se aplican a la
Recuperacin de Informacin en la Web.
2.4.3

Otros indicadores
La Precisin y el Recall son los indicadores ms difundidos para evaluar los resultados de
una consulta realizada. Adems de estos existen diversos criterios para evaluar la eficacia y la
eficiencia de la recuperacin de informacin. El lector interesado puede consultar ampliaciones
a este tema en [Baeza et al., 1999], [Martnez Mndez, 2004].

2.4.4

Colecciones de referencia
Existen colecciones estndares de prueba para la evaluacin de un sistema de recuperacin
de informacin. El objetivo es permitir evaluar la efectividad de la recuperacin de informacin

2.5 Estrategia de bsqueda

43

con medidas cuantitativas precisas. Entre ellas, la coleccin TREC (Text Retrieval Conference)
promovida por el instituto NIST (National Institute of Standards and Technology) de Estados
Unidos, y que contiene 1,89 millones de documentos, y evaluaciones de relevancia para 450
necesidades de informacin. Otras colecciones que se pueden mencionar son la coleccin
Cranfield, de documentos recolectados en Inglaterra; NTCIR (NII Test Collections for IR
Systems), proyecto que ha construido varias colecciones de prueba de medidas similares a las
colecciones TREC; CLEF (Cross Language Evaluation Forum) que se concentra en idiomas
europeos y en recuperacin de informacin multilingual. Entre otros autores que tratan este tema,
se puede consultar [Martnez Mndez, 2004] y [Baeza et al., 1999],

2.5
2.5.1

Estrategia de bsqueda
Expansin semntica de la consulta
Una estrategia de bsqueda es una expresin lgica compuesta por distintos conceptos
combinados con los conectores lgicos de conjuncin, disyuncin y negacin. La expansin
semntica consiste en incorporar a la bsqueda trminos que sean conceptualmente equivalentes:
sinnimos y trminos relacionados. Los sinnimos son grupos de palabras que representan un
mismo concepto. Los trminos relacionados son trminos alternativos que, sin ser sinnimos ni
estar relacionados jerrquicamente, pueden ser tiles para ampliar la cantidad de documentos
a recuperar. Adems, si el usuario desea obtener informacin en ms de un idioma, entre estas
expansiones se pueden incorporar la traduccin de dichos trminos. Esta expansin se puede
realizar en forma automtica mediante el uso de recursoslingsticos adecuados.
Una arquitectura de la expansin semntica de una consulta se presenta en la figura siguiente:

Para realizar una consulta, el usuario ingresa un conjunto de conceptos {Ci} con 1 i n y
la salida es una estrategia de bsqueda expandida semnticamente y asociada a estos conceptos.
Como se indica en la figura, para cada concepto Ci ingresado por el usuario, se obtiene el
concepto Ci corregido ortogrficamente; luego el concepto Di desambiguado; a continuacin el
concepto Ri jerrquicamente relacionado y finalmente, como resultado de la expansin semntica
el conjunto unin de sinnimos y trminos relacionados. En todas estas etapas se utilizan recursos
lingsticos.
Los conjuntos, formados por la unin de los Rik, ingresan al Generador de estrategia cuya
salida es la interseccin de estas uniones, con 1 i n, donde n es la cantidad de los conceptos
ingresados. La salida del Generador de estrategia contiene la estrategia de bsqueda asociada al
inters del usuario.
Es decir, para la bsqueda que involucra los conceptos C1 y C2 y .... y (no Ch) y ... y Cn
planteada por el usuario, se obtiene la estrategia siguiente:

Sistemas de Recuperacin de Informacin (SRI)

44

(R11 OR R12 OR ... OR R1r )


AND
.......
AND
(NOT ( Rh1 OR Rh2 OR ... OR Rhr))
......
AND( Rn1 OR Rn2 OR ... OR Rnr)
donde:
(R11 OR R12 OR ... OR R1r ) es la expansin del concepto C1
...
(NOT ( Rh1 OR Rh2 OR ... OR Rhr)) es la negacin de la expansin del concepto Ch
...
( Rn1 OR Rn2 OR ... OR Rnr) es la expansin del concepto Cn
y el valor de r depende de cada concepto, pues todos los conceptos pueden no tener la
misma cantidad de expansiones. Esta estrategia tambin se puede representar en XML para un
procesamiento posterior.
Por ejemplo, supongamos que el inters del usuario es saber la relacin de la aspirina en el
tratamiento del cncer de pulmn. Los conceptos que ingresa el usuario son: cncer de pulmn aspirina - tratamiento. La estrategia de bsqueda final provista por el Generador de estrategia es:
(lung neoplasms OR lung cancer OR cncer de pulmn OR carcinoma of the lungs)
AND
(aspirina OR aspirin OR cido acetil saliclico)
AND
(tratamiento OR treatment)
2.5.2

Recursos lingsticos para la expansin


Los recursos lingsticos descriptos en este apartado se utilizan como ayuda para la preparacin
de estrategias de bsqueda adecuadas que representen la necesidad de informacin del usuario.
Esto es, se utilizan para desambiguar los conceptos en el caso de tener varias acepciones, para
permitir la seleccin de conceptos jerrquicamente relacionados y para expandir semntica
y multilingualmente cada concepto, y de esta forma mejorar la recuperacin de informacin.
Los recursos lingsticos pueden ser de tipo general o especializado en algn dominio del
conocimiento.
Los recursos lingsticos no slo pueden utilizarse para la preparacin de la estrategia de
bsqueda, sino tambin para la clasificacin e integracin de la informacin. En la clasificacin
de la informacin resultante de por ejemplo las pginas web obtenidas a travs de un buscador,
estos recursos permiten reconocer conceptos similares. Tener, por ejemplo, una ontologa que
agrupe los conceptos {proyecto de investigacin, trabajo de investigacin, research project},
ayudara a clasificar en un mismo grupo, pginas que contengan datos de proyectos de investigacin que se estn realizando sobre el tema buscado. En la integracin de la informacin
obtenida a partir de las distintas fuentes los recursos permiten unificar conceptos expresados
con distinta terminologa y reconocer coincidencias de autores o instituciones que puedan estar
expresadas de distinta manera. Por ejemplo, reconocer que dos documentos provienen de una
misma institucin si en los respectivos documentos la Institucin, contiene el valor MIT en
uno de ellos y el valor Massachusetts Institute of Technology en el otro.
2.5.2.1. Diccionarios

Un diccionario indica las distintas acepciones de un trmino y permite su expansin con


sinnimos. Algunos de los diccionarios permiten adems la expansin con otros trminos

2.5 Estrategia de bsqueda

45

relacionados jerrquica y/o semnticamente a cada acepcin del trmino, como ser mernimos,
hipnimos e hipernimos. La sinonimia es la relacin entre trminos con un mismo significado.
Por ejemplo, cncer y neoplasma. La meronimia es la relacin semntica entre un trmino
que denota una parte y el que denota el correspondiente todo. Por ejemplo, brazo es una parte
(mernimo) del cuerpo. La hiponimia es una relacin de subordinacin entre trminos, es
decir un trmino es un hipnimo de otro trmino si su significado est incluido en el del segundo.
Por ejemplo, gorrin es un tipo (hipnimo) de pjaro. La hiperonimia es una relacin de
superordenacin entre trminos, es decir un trmino es un hipernimo de otro trmino si su
significado incluye al del segundo. Por ejemplo, animal (hipernimo) incluye al trmino
pjaro.
Un diccionario muy utilizado como recurso general es WordNet [Miller, 1995]. Puede
ser descargado (www.cogsci.princeton.edu/{~}wn/) o se puede consultar en lnea. El diccionario de la Real Academia Espaola se puede consultar en lnea (www.rae.es).
2.5.2.2. Diccionarios multilinguales

Para aumentar el nmero de documentos a recuperar se puede ampliar cada concepto en


los idiomas deseados por los usuarios mediante el uso de diccionarios multilinguales generales
y especializados que permiten traducir un concepto a otros idiomas. Algunos diccionarios
multilinguales estn disponibles en la web. Por ejemplo, Eurowordnet es un diccionario multilingual con conceptos en los idiomas de la Comunidad Europea que se puede consultar en lnea.
Algunos otros diccionarios multilinguales son: Foreignword.com (www.foreignword.com/),
Diccionarios.com (www.diccionario.com/), Online English to Spanish to English Dictionary
(www.freedict.com), Babylon, Diccionario y Traductor (www.babylon.com/), y WordReference.com (wordreference.com/), entre otros.
Actividad para el alumno: Comparar los resultados de la traduccin de una estrategia de
bsqueda con cada uno de estos diccionarios. Son slo diccionarios o tambin traducen?
Analizar si permiten traducir slo palabras individuales, frases, textos largos. Es posible integrarlos en una sistema automtico de generacin de una estrategia de bsqueda expandida?
Slo se consultan en lnea o tienen versiones para descargar?
2.5.2.3. Tesauros

Un tesauro es un instrumento de control terminolgico utilizado para traducir a un lenguaje


ms estricto el idioma natural empleado en los documentos. Por su estructura, es un vocabulario
controlado y dinmico de trminos relacionados semntica y genricamente, los cuales cubren
un dominio especfico del conocimiento. (UNESCO).
Un tesauro est estructurado formalmente para hacer explcitas las relaciones entre conceptos.
Est constituido por trminos organizados mediante relaciones entre ellos y provistos de notas
de alcance o de definicin de los conceptos. La estructura de la terminologa de un tesauro est
basada en las interrelaciones entre los conceptos. Estas interrelaciones pueden ser: jerrquicas,
de afinidad, y preferenciales. Las relaciones jerrquicas indican trminos ms amplios o ms
especficos de cada concepto. Las relaciones de afinidad muestran trminos relacionados conceptualmente, pero que no estn ni jerrquica ni preferencialmente relacionados. Las relaciones
preferenciales se utilizan para indicar cul es el trmino preferido o descriptor entre un grupo
de sinnimos; y para la calificacin de homnimos para diferenciar su significado eligiendo un
significado preferido para cada trmino.
En las bases de datos documentales se utilizan palabras claves para describir el contenido
de un documento. Estas palabras claves, o descriptores, pueden estar formadas por un trmino
o por una frase que se eligen de un diccionario de trminos controlados o permitidos para el
sistema, es decir, de un tesauro. As, el tesauro representa una herramienta documental que

46

Sistemas de Recuperacin de Informacin (SRI)

permite la conversin del lenguaje natural de un documento al lenguaje controlado documental.


En el lenguaje natural, existen sinnimos y homnimos. Los sinnimos son grupos de palabras
que representan el mismo concepto, por ejemplo agua y H2O. Los homnimos son palabras
que representan ms de un concepto, por ejemplo banco, que puede referirse al mueble o a la
institucin financiera. El control de vocabulario implica la seleccin de un trmino preferido,
tambin conocido como descriptor o palabra clave, entre un grupo de sinnimos; y la calificacin
de homnimos eligiendo un significado preferido para cada trmino [Lancaster, 1995].
En un tesauro se utiliza el trmino reservado USE para indicar cul es el trmino preferido
en el caso de sinnimos. Por ejemplo para el trmino drugaddiction se indica que el trmino
preferido es substance dependence(USE substance dependence). Los trminos prohibidos se
representan en letra cursiva. La relacin inversa de USE es UF (Used For). Por ejemplo substance
dependence es UF drugaddiction y UF drugdependence. Esto significa que si en un documento
aparece la frase drug addiction se utilizar substance dependence como trmino descriptor de
dicho documento. Para homnimos o para indicaciones de mltiples alternativas se utiliza SEE.
Por ejemplo:
processing
SEE fabrication
OR reprocessing
donde se indica que el trmino processing es prohibido porque representa ms de un concepto.
El tesauro indica cules sern los trminos adecuados para cada significado. La relacin inversa
de SEE es SF (Seen For).
Para las relaciones jerrquicas se utiliza la sigla BT (Broader Term) para indicar conceptos
ms amplios, y la sigla NT (Narrower Term) para indicar un concepto ms especfico. Por
ejemplo, en la siguiente jerarqua:
LUNG NEOPLASMS
BT1 Neoplasms
NT1 Carcinoma Bronchogenic
NT1 Coin Lesion, Pulmonary
NT1 Pulmonary Blastoma
el concepto Neoplasms incluye (es un cncepto ms amplio) al concepto Lung Neoplasms y
ste incluye a Pulmonary Blastoma, que es un tipo particular (es un concepto ms especfico) de
cncer de pulmn.
La sigla RT se utiliza para mostrar conceptos relacionados conceptualmente con carcter
horizontal. Este tipo de relacin se establece entre trminos que no son sinnimos ni pueden
relacionarse jerrquicamente, pero que permiten una asociacin entre ellos. Por ejemplo, los
grupos etarios tienen como trminos relacionados Adolescentes, Adultos, etc.; Padre y Madre
tambin son trminos relacionados.
Los trminos del tesauro se clasifican en descriptores, o trminos principales o preferidos
o permitidos; y nodescriptores, es decir, trminos equivalentes de carcter secundario o no
preferidos o prohibidos. Los trminos no descriptores no pueden ser utilizados como palabras
claves de los documentos para su indizacin ni como trminos de bsqueda. Para cada trmino
no descriptor, el tesauro indica cual es el trmino permitido correspondiente para representar
dicho concepto.
La mayora de los tesauros existentes estn actualmente disponibles en lnea. Por ejemplo,
algunos tesauros especializados son: en el dominio de las bellas artes el Art & Architecture
Thesaurus Browser (www.getty.edu/research/tools/vocabulary/aat/index.html); en
biblioteconoma y documentacin el tesauro Library of Congress Classification (lcweb.loc.
gov/catdir/cpso/lcco/lcco.html); en el dominio de la biomedicina el Medical Subject
Headings (MeSH) (www.nlm.nih.gov/mesh/meshhome.html); en las ciencias biolgicas el

2.5 Estrategia de bsqueda

47

Life Sciences Thesaurus (www.csa.com/e_products/databases-collections.php); en


fsica y astronoma el tesauro PACS (www.aip.org/pacs/); en el dominio de la ingeniera
el NASA Thesaurus (www.sti.nasa.gov); en lengua y literatura el Merriam Webster Thesaurus
(www.m-w.com/thesaurus.htm); entre otros.
Actividad para el alumno: Elegir un conjunto de trminos de aplicacin en uno ms dominios
del conocimiento, y elegir algunos tesauros. Analizar la estructura de los tesauros mencionados
y verificar si cumplen con las estructuras descriptas para los tesauros. Comparar los resultados
de la expansin de una estrategia de bsqueda con cada uno de los tesauros elegidos. Es posible
integrarlos en un sistema automtico de generacin de una estrategia de bsqueda expandida?
Slo se consultan online o tienen versiones para descargar?
2.5.2.4. Ontologas

Las ontologas proporcionan una va para representar el conocimiento y son un enfoque


importante para capturar semntica. La definicin ms consolidada es la que la describe como
una especificacin explcita y formal sobre una conceptualizacin compartida ([Gruber, 1993],
[Studer, 1998]). Es decir, las ontologas definen conceptos y relaciones de algn dominio, de
forma compartida y consensuada; y esta conceptualizacin debe ser representada de una manera
formal, legible y utilizable por las computadoras.
Las ontologas tienen los siguientes componentes que sirven para representar el conocimiento sobre un dominio. Los conceptos que son las ideas bsicas que se intentan formalizar. Las
relaciones representan la interaccin y enlace entre los conceptos del dominio. Suelen formar la
taxonoma del dominio. Por ejemplo: subclase-de, parte-de, conectado-a, etc. Las funcionesson
un tipo de relacin donde se identifica un elemento mediante un clculo que considera varios
elementos de la ontologa. Por ejemplo, pueden aparecer funciones como categorizar-clase, asignarfecha, etc. Las instancias se utilizan para representar objetos determinados de un concepto. Y
los axiomas que son teoremas que se declaran sobre relaciones que deben cumplir los elementos
de la ontologa. Por ejemplo: Si A y B son de la clase C, entonces A no es subclase de B, Para
todo A que cumpla la condicin C1, A es B, etc. Los axiomas permiten inferir conocimiento
que no est indicado explcitamente en la taxonoma de conceptos.
Actividad para el alumno: Analizar qu diferencia/s hay entre estos recursos: un diccionario,
un tesauro, una ontologa. Sugerir cul o cules de estos recursos seran ms adecuados en
el caso de realizar una consulta, segn diversos escenarios, por ejemplo una bsqueda en un
dominio general, una bsqueda en un dominio especfico, una bsqueda donde interese recuperar
documentos en varios idiomas, una bsqueda en una base de datos documental, etc.
2.5.3

Caso de estudio
La expansin semntica permite formular una estrategia de bsqueda a partir de los conceptos
ingresados por el usuario, resolviendo muchos de los problemas que se presentan en esta
formulacin como ser el correcto uso de la disyuncin y de la conjuncin, el uso correcto de
parntesis, la inclusin de sinnimos y palabras con distintas formas de escritura, la utilizacin
de trminos especficos, el uso correcto de la negacin y los errores de tecleo. As, es posible
aumentar la cantidad de documentos recuperados y la precisin de los resultados.
Esto ha sido probado experimentalmente en dominios generales y en dominios especficos.
[Deco et al., 2005a], [Deco et al., 2005b]. Para las pruebas se realizaron varias consultas a partir
de distintos intereses de bsqueda, utilizando la estrategia planteada directamente por el usuario,
y luego la estrategia expandida semnticamente. A modo de ejemplo, se muestra una tabla con
algunos resultados de estas experimentaciones donde se utiliz el buscador Yahoo! y un recurso
lingstico para las estrategias de bsqueda expandidas.

48

Sistemas de Recuperacin de Informacin (SRI)

Actividad para el alumno: Elegir un tema de su inters y un buscador. Generar la lista de


trminos que representan el o los conceptos de inters. Evaluar los resultados obtenidos a partir
de diversas estrategias de bsqueda teniendo en cuenta el uso de nombres propios y siglas, frases,
errores ortogrficos, trminos con pocos o ningn sinnimo, trminos ms especficos, sinnimos
y siglas polismicas agregados del recurso lingsico elegido para la expansin. Evaluar la
precisin utilizando los primeros 50 documentos. Se puede evaluar el recall? Por qu? Qu
tipo de recurso es recomendable para una bsqueda en un dominio especfico, por ejemplo
medicina?

2.6

Indexado y bsqueda
Dado un cuerpo de documentos, las tareas de un sistema de recuperacin de informacin son
la indexacin, la bsqueda y la visualizacin de dichos documentos. La tarea de indexacin de
documentos significa construir archivos de acceso a stos. Esta tarea produce un archivo, que
es llamado ndice invertido, que se construye a partir del cuerpo de documentos, realizando un
mapeo entre cada palabra presente en el cuerpo hacia los documentos que la contienen [Baeza et
al., 1999], [van Rijsbergen, 1979].
Los ndices guardan una estrecha relacin con la forma de representacin elegida para los
documentos. La construccin de ndices puede hacerse por palabras, frases u oraciones enteras.
Si los documentos se representan como una bolsa de palabras, considerando como keywords la
totalidad de sus palabras, entonces los ndices estarn construidos para buscar palabras. Dado
que el reconocimiento de frases no mejora apreciablemente el proceso de recuperacin y es
un proceso no trivial, el mtodo ms comn de construccin de ndices es por palabras. Una
bsqueda de frases puede resolverse usando ndices construidos por palabras, si bien la operacin
resulta ms costosa.

2.6 Indexado y bsqueda


2.6.1

49

Preprocesamiento de los documentos


A los efectos de construir un ndice, es necesario generar una lista de palabras a partir de la
coleccin o cuerpo de documentos. Para identificar y extraer automticamente las palabras de
un texto se utiliza un proceso llamado tokenizacin (o tokenization). Un tokenizador reconoce
automticamente los lmites de las palabras. Este trabajo no es tan trivial como puede parecer,
ya que se presentan dificultades. Por ejemplo, ante siglas (U.N.R. debe ser considerado un
token y no tres), o palabras compuestas (como las separadas por guiones: en produccin
argentino-espaola hay tres tokens, en cambio en ciudadano italo-americano hay dos). Este
reconocimiento de unidades sintcticas es simple en idiomas como el ingls o el espaol, pero se
puede volver complicado en idiomas con palabras compuestas no separadas por espacios como
el alemn y puede ser imposible en lenguas como el chino o el rabe.
Una vez extradas las palabras de un texto, se puede realizar un preproceso sobre el conjunto
resultante antes de construir los ndices para reducir el tamao de los mismos, reduciendo el
nmero de trminos a travs de los procesos de stemming y de lemmatization . El proceso de
stemming consiste en obtener la raz de las palabras, de forma que el proceso de bsqueda se
realice sobre las races y no sobre las palabras originales. Este proceso es un conjunto de reglas
para remover sufijos dejando slo las races sintcticas de los trminos, reemplazando plurales
y verbos regulares conjugados por singulares e infinitivos respectivamente. Esto es reemplazar
las variantes morfolgicas de las palabras por sus races. As, bajo la suposicin de que dos
palabras que tengan la misma raz representan el mismo concepto, el sistema de recuperacin de
informacin podr relacionar trminos presentes en la consulta con los que se encuentren en los
documentos y que aparezcan en alguna de sus variantes morfolgicas. Los primeros algoritmos
de stemming se desarrollaron para el idioma ingls. Pero esta tcnica necesita ser adaptada para
lenguas que presentan caractersticas distintas al ingls, como ser idiomas ms flexivos, tal como
el espaol. Uno de los algoritmos ms utilizados para el ingls, es el de Porter [Porter, 1980].
Tambin existen algoritmos para otras lenguas tales como el francs [Savoy, 1999], el espaol
[Figuerola et al., 2002], el holands [Kraaij & Pohlmann, 1994], el griego [Kalamboukis, 1995]
y el latn [Schinke et al., 1996]. En general, estos algoritmos se basan en un conjunto sencillo de
reglas que truncan las palabras hasta obtener una raz comn. En el proceso de lemmatization
en lugar de usar algoritmos para remover partes de las palabras, se utiliza un diccionario para
reemplazarla completamente por su raz sintctica. Se emplea por ejemplo para dejar en infinitivo
los verbos irregulares conjugados. Estos procesos presentan como dificultad que pueden llevar
a inconsistencias, para citar un caso: cupo puede reducir a caber, lo que es correcto si la
palabra cupo representaba a este verbo conjugado, pero no si se refera al sustantivo lugar.
Estas dos reglas son totalmente dependientes del lenguaje de los documentos y son difciles
de aplicar en contextos como la Web en el que coexisten documentos en diferentes de idiomas.
Otra tcnica para disminuir el tamao de los ndices es la remocin de palabras muy frecuentes
que resultan irrelevantes o no significativas para resolver cualquier consulta, como artculos,
preposiciones y conjunciones. Estas palabras reciben el nombre de stopwords. El hecho de
considerar a una palabra como un stopword depende en parte del contexto en que aparezca. Los
trminos que aparecen en todos los documentos de una coleccin, son intiles para discriminar
un documento de otro, y pueden ser considerados stopwords. Por ejemplo, en una coleccin de
textos sobre informtica, las palabras computadora, PC y ordenador seran stopwords.
Realizados estos procesos, se obtiene un vocabulario del cuerpo de documentos. Con este
vocabulario trabaja el sistema para generar el archivo invertido.

2.6.2

Archivo Invertido
Se describe a continuacin la implementacin de ndices en la forma de archivos invertidos,
por ser el mecanismo de implementacin de ndices ms utilizado y por ser directamente aplicable

50

Sistemas de Recuperacin de Informacin (SRI)

al modelo Espacio Vectorial.


Los archivos invertidos (inverted files) son un mecanismo orientado a palabras para indexar
una coleccin de documentos. Un archivo invertido se compone de dos partes: el vocabulario y
las listas de ocurrencias (posting list).
El vocabulario puede estructurarse de diferentes formas. Por ejemplo, los trminos pueden
estar ordenados secuencialmente, mediante rboles o tablas hash. Esto afectar la forma en que
se realicen las bsquedas de trminos dentro del vocabulario.
Las listas de ocurrencia almacenan las ocurrencias de cada trmino del vocabulario, y una
lista de referencias (o punteros) a todos los documentos en los que aparece dicho trmino.
Adems, pueden contener informacin sobre la posicin de las palabras en el texto, que puede
estar medida en palabras o en caracteres, la frecuencia de aparicin de las mismas, sus pesos, etc.
La posicin de las palabras en el texto se utiliza para realizar bsquedas por adyacencia. El peso
se utiliza para un posterior ranking de importancia.
Por ejemplo, sea el siguiente texto perteneciente a un documento:
Esto es un texto. Un texto tiene muchas palabras. Las palabras estn compuestas de letras.
Utilizando la tcnica de tokenizacin indicada en el apartado 2.6.1. se obtiene el vocabulario
siguiente con la siguiente informacin adicional: la posicin del primer caracter de la palabra y
el nmero de palabra dentro del prrafo. El vocabulario est ordenado alfabticamente.

A este archivo se agrega la informacin del documento de donde se obtuvo, se realiza el


stemming y/o la lemmatizacin y se eliminan las palabras no significativas (stopwords) y se
genera as el archivo invertido.
El proceso de bsqueda en los archivos invertidos est dividido en tres partes. Primero se buscan las palabras de la consulta en el vocabulario. Esto puede hacerse por medio de una bsqueda
secuencial, binaria, con rboles, tablas hash, etc., dependiendo de cmo se haya estructurado al
vocabulario. Si la consulta est compuesta por varias palabras, como por ejemplo una frase, se la
divide en los trminos que la constituyen y se procede de esta forma separadamente para cada
uno de ellos. Luego se recuperan los documentos en que ocurren dichas palabras, simplemente
recorriendo las listas de ocurrencias de esas palabras. Si la consulta estaba compuesta por una
sola palabra, el proceso termina aqu y se muestran los resultados, que pueden estar ordenados
por un ranking de relevancia. Si la consulta estaba compuesta por varias palabras, en la tercera

2.6 Indexado y bsqueda

51

fase se termina de resolver la consulta procesando los datos obtenidos. Si la consulta es una frase
se busca entre los documentos obtenidos en el paso dos, aquellos en los que las palabras que
componen la frase aparezcan en forma consecutiva. Esta verificacin puede realizarse utilizando
la informacin sobre las posiciones de las palabras dentro de cada documento. Si todas las
palabras de la frase aparecen en un dado documento, se verifica que sean consecutivas y que
respeten el orden de la frase buscada. Si la consulta contiene varias palabras se buscarn los
documentos que contengan al menos a una de ellas y se le otorgar un ranking mayor a aquellos
en los que figuren ms trminos de la consulta y a aquellos en los que las palabras ocurran
en posiciones prximas, evitando as retornar textos extensos donde es posible que figuren las
palabras en varias partes pero en distintos contextos.
En el caso de que en la consulta aparezcan los operados booleanos AND, OR, o NOT se
realizar la interseccin, unin, complemento o diferencia, respectivamente, de los conjuntos de
documentos retornados para cada trmino.
2.6.3

Ventajas y desventajas del Archivo Invertido


Los archivos invertidos son el tipo de ndices ms utilizado en la actualidad y poseen un formalismo simple y eficiente. Dentro de sus principales ventajas se tienen la capacidad de manejar
pesos no binarios y as poder medir la similitud entre un documento y una consulta en forma
gradual, a diferencia del modelo booleano. Adems la medida de similitud usada proporciona un
ranking que permite ordenar los documentos resultantes de acuerdo a su relevancia.
Algunas desventajas de los archivos invertidos son que asumen a los textos como secuencias
de palabras, limitando las bsquedas que pueden realizarse, y que algunas consultas complejas,
como las consultas de frases, pueden ser costosas de resolver, conviniendo en este caso el empleo
de otras tcnicas tal como vectores de sufijos.
En los vectores de sufijos, es posible buscar prefijos, palabras y frases directamente en los
rboles de sufijos. La bsqueda se realiza comparando la cadena buscada con las entradas hasta
hallar una que la contenga como subcadena en su inicio. As, la bsqueda de frases no es ms
compleja que la bsqueda de palabras en los vectores de sufijos. La ventaja principal que ofrecen
los vectores de sufijos es que permiten resolver de manera ms eficiente algunas consultas
complejas, como en el caso de la bsqueda de frases. Un inconveniente de esta estructura de
ndices es que su construccin es un proceso costoso.
En general, para aplicaciones que utilizan exclusivamente palabras, los archivos invertidos
son ms eficientes, excepto para la resolucin de consultas complejas.

2.6.4

En la web
Todo lo descripto en este apartado se extiende a los buscadores web, con la consideracin
de que cada pgina es el equivalente a un documento. Aqu se puede mencionar que en un
ranking de las respuestas los algoritmos tienen en cuenta tambin informacin de los enlaces,
pues un enlace representa una relacin entre pginas. Estos enlaces se utilizan para dar peso a
una pgina. Puede mencionarse el algoritmo PageRank, utilizado por Google, que fue diseado
por integrantes de la Universidad de Stanford [Page et al., 1998]. Otro algoritmo de ranking
de resultados es HITS (Hyperlink Induced Topic Search) [Kleinberg, 1998] [Kleinberg, 1999].
Una diferencia entre PageRank y HITS es que el primero se calcula para todas las pginas web
recopiladas por el motor y almacenadas en su base de datos, previo a la realizacin de consultas.
En cambio HITS se ejecuta sobre el conjunto de pginas web recuperadas para cada consulta, en
tiempo real. Otra diferencia es que HITS se basa en el clculo de confiabilidad y centralizacin,
en cambio PageRank se basa slo en el clculo de confiabilidad.
Actividad para el alumno: Realizar un relevamiento de tcnicas utilizadas por los sistemas

Sistemas de Recuperacin de Informacin (SRI)

52

de recuperacin de informacin para construir el vocabulario. Realizar un relevamiento de las


estructuras de ndices utilizadas, incluyendo estructuras de datos adicionales que aporten a la
velocidad en la respuesta ante una consulta.

2.7
2.7.1

Algunas aplicaciones
Consultas en un sitio web
En la actualidad, existen numerosos sitios web que manejan un caudal de informacin
considerable. Estos sitios suelen tener un buscador propio para permitirle al usuario localizar y
acceder a la informacin que necesita en una forma ms directa y ms rpida, evitando tener
que navegar todo el sitio. Al igual que la bsqueda en la web, en la bsqueda dentro de un
determinado sitio, muchas veces cuando se busca informacin a travs de un buscador, no se
obtienen los resultados esperados. Estas bsquedas infructuosas pueden ocurrir debido a un
conjunto de factores que inciden negativamente en los resultados de las bsquedas. En este tipo
de escenarios se presentan tambin problemas de sinonimia y polisemia de trminos.
Un buscador tiene tres componentes principales: un crawler, un indexador y un motor de
bsqueda. El crawler recorre la coleccin y crea un repositorio local con el contenido de las
pginas visitadas. El indexador procesa dicho repositorio y genera un ndice invertido del mismo.
Las consultas ingresadas son enviadas al motor de bsqueda. Este ltimo consulta al ndice y
retorna los resultados de las bsquedas al usuario.
En la figura 2.1 se muestra la arquitectura del buscador compuesta por un motor de bsqueda
web (buscador), por ejemplo Nutch (lucene.apache.org/nutch/), un ndice invertido, una
ontologa de dominio y una coleccin de pginas web etiquetadas con metadatos.
Figura 2.1: Arquitectura del buscador

La ontologa de dominio se utiliza para definir un vocabulario controlado, con el fin de


reducir la sinonimia y polisemia de trminos de manera de etiquetar las pginas y as insertar
informacin adicional (metadatos) en los documentos de la coleccin de modo que queden
caracterizados mediante algn criterio y por lo tanto sean ms fciles de recuperar. Para tratar la
sinonimia de trminos el vocabulario controlado se construye de modo que sus trminos sean
los nombres de las clases de la ontologa, ya que stos designan los conceptos del dominio. Por
ejemplo, para un dominio Turismo, dada una clase Alojamiento, que determina el trmino del
vocabulario controlado alojamiento, se podra anotar al documento con las palabras: albergue,
hospedaje y aposento, como sinnimos de alojamiento.

2.7 Algunas aplicaciones

53

Para definir una ontologa se utiliza un editor de ontologas, por ejemplo el editor ProtgOWL (protege.stanford.edu). A modo de ejemplo, una pequea parte de una taxonoma del
dominio Turismo, se muestra en la figura siguiente.

El uso de una arquitectura de este tipo, donde se incorpora una ontologa como recurso
lingstico propio de un sitio web, con el objetivo de tener un vocabulario controlado propio del
dominio, y su utilizacin en el momento de indexacin de las pginas del sitio y en el momento
de la bsqueda para expandir la estrategia de bsqueda, mejora la precisin y la cantidad de
documentos recuperados. Una ampliacin de este tema puede consultarse en [Ponce et al., 2008].
Actividad para el alumno: Analizar alternativas a la arquitectura presentada en este apartado. Elegir un dominio de aplicacin y proponer un diseo de una ontologa de dominio para
mejorar la indexacin y/o la bsqueda en un sitio web. Evaluar el uso de otros recursos. Sera
conveniente utilizar ms de un recurso? Justificar.
2.7.2

Bsquedas Inteligentes, Sistemas Recomendadores


En la bsqueda de informacin, en particular en las bsquedas en la web, se advierte una
sobrecarga de informacin que obliga a los usuarios a explorar espacios excesivamente densos,
convirtiendo la seleccin de la informacin que les interesa en una tarea tediosa, que insume
mucho tiempo y que es difcil de realizar. Por otro lado, un material dado no es el adecuado para
todos los usuarios, dado que los usuarios poseen caractersticas y preferencias personales, que
deberan ser consideradas en el momento de la bsqueda. Un Sistema Recomendador ([Resnick
et al., 1997], [Terveen et al., 2001]) ayuda a resolver este tipo de problema puesto que son
capaces de seleccionar, de forma automtica y personalizada, el material que mejor se adapte
a las preferencias o necesidades de un usuario. Estos sistemas utilizan distintas tcnicas para
razonar sobre las preferencias de los usuarios (modeladas en perfiles personales) y sobre las
descripciones semnticas del material disponible.
Este tipo de sistemas generalmente se modelan como sistemas multiagentes. Los agentes
surgen dentro del campo de la Inteligencia Artificial y representan una nueva forma de analizar,
disear e implementar sistemas de software complejos [Jennings et al. 1998]. Se puede definir un
agente como una aplicacin informtica con capacidad para decidir cmo actuar para alcanzar

54

Sistemas de Recuperacin de Informacin (SRI)

sus objetivos. Un agente inteligente puede funcionar fiablemente en un entorno rpidamente


cambiante e impredecible, como es la web. Pueden configurarse con diferentes perfiles para
tomar decisiones de acuerdo a las necesidades del usuario y hacer tareas ms especficas y
personalizadas.
La personalizacin de los resultados de una bsqueda se sustenta en los metadatos, tanto del
usuario como de los documentos, dado que permiten evaluar la cercana de un documento al
perfl del usuario. Los metadatos descriptivos de un documento, en general, siguen un estndar
de metadatos; por ejemplo, para recursos educativos, el estndar utilizado es LOM (Learning
Object Metadata) [IEEE].
A modo de ejemplo, una arquitectura para la recuperacin de recursos educativos que le
brinde al usuario el material que responda a su necesidad temtica y a sus preferencias se presenta
en la figura 2.2.
Figura 2.2: Arquitectura para la recuperacin de Recursos Educativos

Se asume que existe un Repositorio de Objetos de Aprendizaje (ROA) con recursos educativos
enriquecidos con metadatos que describen las caractersticas del objeto como ser el tema que
cubre, su idioma, cantidad de imgenes, etc. As, el mdulo RS produce la estrategia de bsqueda
asociada al inters del usuario y provee al mdulo RRE el conjunto de documentos que satisfacen
la bsqueda temtica junto con sus metadatos. El mdulo MPU obtiene y administra los perfiles
de los usuarios. El mdulo RRE evala la similitud entre las caractersticas de los documentos
que satisfacen la bsqueda temtica y el perfil del usuario. El resultado es una lista ordenada
donde el primer elemento es el ms cercano a su perfil. El mdulo RRE puede disearse con
tecnologa de agentes.
Los metadatos pueden representarse, por ejemplo en la forma de vectores donde cada
elemento del vector est compuesto por tres partes: el nombre del metadato, el valor que tiene el
metadato y un peso que indique la importancia que posee esa caracterstica para que el recurso
sea aprovechado por el usuario.
La ventaja de un sistema recomendador es que permite mejorar los resultados de una
bsqueda porque presenta los resultados de distinta forma segn el usuario que haya realizado la
consulta. Sin embargo, todava uno de los mayores problemas encontrados para el uso de los
sistemas recomendadores es la falta de metadatos en los documentos.
Ampliaciones y extensiones de este tema pueden encontrarse en [Bender et al, 2006], [Casali

2.7 Algunas aplicaciones

55

et al, 2006] y en [Deco et al., 2008].


Actividad para el alumno: Analizar alternativas a la arquitectura presentada en este apartado.
Elegir un dominio de aplicacin. Evaluar el uso de estndares para definir los metadatos. Evaluar, frente al target de posibles usuarios, los metadatos de mayor relevancia para producir una
recomendacin. Proponer una arquitectura para un sistema recomendador. Justificar.
2.7.3

Recuperacin de informacin en la web


En la tabla siguiente se presenta un cuadro comparativo de algunos proyectos que estn
relacionados con la recuperacin de informacin en la web.

Actividad para el alumno: Indicar si los proyectos mencionados siguen activos, y en caso
afirmativo en qu estado se encuentran. Realizar una bsqueda sobre proyectos vinculados
a la recuperacin de informacin que no estn en la tabla anterior. Proponer caractersticas
adicionales a las dadas para comparar proyectos de este tipo.
2.7.4

Bsqueda de informacin multilinge


La bsqueda de informacin multilinge trata el problema de encontrar documentos que estn
escritos en otros idiomas, distintos al idioma de la consulta. Si se desea recuperar documentos
en otro idioma, es necesario efectuar una traduccin de la consulta para realizar la bsqueda en
dicho idioma. Este proceso no es simple debido a la complejidad semntica del vocabulario.
El problema en una bsqueda multilinge es que los idiomas de la consulta y de los documentos son distintos. Por lo tanto, es necesario efectuar una traduccin para poder realizar una
bsqueda en la que tanto la consulta como los documentos se encuentren en el mismo idioma. En
el problema de la bsqueda de informacin multilinge, la traduccin de la consulta es la opcin

Sistemas de Recuperacin de Informacin (SRI)

56

ms frecuente, porque su costo computacional es menor al costo de traducir los documentos. Los
tres problemas principales para automatizar la traduccin de la consulta, segn [Grefenstette,
1998], son: saber cmo un trmino escrito en un idioma puede ser expresado en otro idioma; decidir cules de las posibles traducciones de cada trmino son las adecuadas en un contexto dado;
y saber cmo medir la importancia de las diferentes traducciones que se consideran adecuadas.
Estos problemas son compartidos por los sistemas de traduccin automtica y los sistemas de
recuperacin de informacin multilinge.
En la bsqueda de informacin multilinge el uso de recursos multilinges, tales como
diccionarios multilinges y tesauros multilinges, en la expansin de la consulta permite realizar
una expansin multilinge de la consulta. Un ejemplo de diccionario multilinge general es
EuroWordNet [Vossen, 1998]. Un tesauro multilinge sobre un rea del conocimiento permite
la traduccin de trminos especficos de ese dominio que quiz no puedan encontrarse en un
diccionario. Un ejemplo de este tipo de tesauro sobre el dominio mdico es UMLS (Unified
Medical Language System), que es el Sistema Unificado de Terminologa Mdica de la Biblioteca
Nacional de Medicina de Estados Unidos (National Library of Medicine).
Actividad para el alumno: Evaluar algunos diccionarios multilinges, disponibles en lnea,
para las traducciones entre los idiomas espaol, ingls y francs. Algunos recursos disponibles en
lnea que pueden utilizarse, pero no los nicos, son Systran (tr.voila.fr), Reverso (www.elmundo.
es/traductor/), el servicio de SDL internacional (www.freetranslation.com/), Wordlingo
(www.worldlingo.com/en/products_services/worldlingo_translator).
Para la evaluacin de estos recursos utilizar un mismo conjunto de trminos. Analizar qu sucede
con la traduccin en cada recurso; por ejemplo, evaluar si el recurso reconoce si el trmino
es un sustantivo, un verbo (en infinitivo o conjugado) y lo traduce conservando esta categora
gramatical. Evaluar adems, si la traduccin es o no bidireccional.
Realizar una bsqueda de proyectos de investigacin y aplicaciones que aporten a mejorar
la efectividad en bsquedas multilinges. Proponer alguna solucin que permita mejorar las
propuestas encontradas. Evaluar la incidencia de la interaccin con el usuario en estas propuestas.
2.7.5

Otros Problemas para Pensar


Algunos problemas adicionales propuestos son los siguientes:
Preparacin para contingencias. Esto es, cmo aumentar la cantidad de documentos
recuperados si no se recupera informacin suficiente, y cmo reducir la cantidad si se
recuperan demasiados documentos.
Seleccin automtica del recurso lingstico adecuado, por ejemplo, utilizando un perfil
de usuario realizar la seleccin automtica de los recursos lingsticos ms adecuados para
la generacin de la estrategia de bsqueda.
Extraccin automtica de conceptos para la estrategia de bsqueda. Proponer cmo
generar una estrategia de bsqueda a partir del ingreso de una consulta en la forma de una
frase escrita en lenguaje natural.
Utilizacin de ontologas con axiomas. Esto permitira poder realizar inferencias, y as
poder incorporar a la estrategia de bsqueda otros conceptos adems de los obtenidos
desde los recursos lingsticos.
Utilizacin de Feedback de Relevancia. Evaluar el agregado a la estrategia de bsqueda de
trminos extrados de documentos recuperados que el usuario indique que son relevantes
para l. Analizar cmo y qu trminos extraer de estos documentos sealados como
relevantes.

2.8 Bibliografa

2.8

57

Bibliografa
[Baeza et al., 1999] Baeza-Yates, R., Ribeiro-Neto, B. (eds.), Modern Information Retrieval.
New York. ACM Press, 1999.
[Bender et al., 2006] Bender, C., Deco, C., Casali, A., Motz R. Una plataforma multiagente para
la bsqueda de recursos educacionales considerando aspectos culturales. En Revista TE&ET
(Revista Iberoamericana de Tecnologa en Educacin y Educacin en Tecnologa). Vol. 1 Nro. 1.
Editorial Responsable Red de Universidades Nacionales con Carreras de Informtica (RedUNCI).
ISSN 1850-9959. pp 20-29. 2006.
[Blair, 1990: 2-4] Blair, D. C. Language and Representation in Information Retrieval. Elsevier
Science Publishers, 1990.
[Casali et al., 2006] Casali, A., Deco, C., Bender, C. and Motz, R. A multiagent approach to
educational resources retrieval. En Proceedings Workshop on Artificial Intelligence for Education
(WAIFE), 35o Jornadas Argentinas de Informtica e Investigacin Operativa. ISSN 1850 2784.
pp 35-41. Mendoza, Argentina. 2006.
[Deco et al., 2005a] Deco, C., Bender, C., Saer, J., Chiari, M., Motz, R. Semantic refinement for
web information retrieval. En Proceedings of the 3rd Latin American Web Congress. IEEE Press.
pp 106-110, 2005.
[Deco et al., 2005b] C. Deco, C. Bender, J. Saer y M. Chiari. Expansin de consultas utilizando
recursos lingsticos para mejorar la recuperacin de informacin en la web. En Vctor M. Castel, Comp. (2005) Desarrollo, implementacin y utilizacin de modelos para el procesamiento
automtico de textos. Mendoza: Editorial de la Facultad de Filosofa y Letras, UNCuyo: 35-46.
ISBN del soporte Internet: 987-575-019-0
[Deco et al., 2008] C. Deco, C. Bender, A. Casali, R. Motz. Design of a Recommender Educational System. En Proceedings 3ra. Conferencia Latinoamericana de Objetos de Aprendizaje
LACLO 2008. Trabajo premiado entre los cinco mejores del Congreso. Mxico. 2008.
[Figuerola et al., 2002] Figuerola, C. G., Gomez, R., Rodrguez, A. F. Z., Berrocal, J. L. A.
Spanish Monolingual Track: The Impact of Stemming on Retrieval. In Peters, C., Braschler,
M., Gonzalo, J., and Kluck, M., editors, Evaluation of Cross-Language Information Retrieval
Systems, CLEF 2001, volume 2406 of LNCS, pages 253261. Springer, 2002.
[Grefenstette, 1998] Grefenstette, G. The problem of CrossLanguage Information Retrieval,
chapter in Cross-Language Information Retrieval. Kluwer Academic Publishers. 1998.
[Gruber, 1993] Gruber T. Toward Principles for the Design of Ontologies Used for Knowledge
Sharing. Technical Report KSL-93-04, Knowledge Systems Laboratory, Stanford University,
CA, 1993.
[IEEE] IEEE Learning Technology Standards Committe. LOM specification. Disponible en
ltsc.ieee.org/wg12
[Kalamboukis, 1995] Kalamboukis, T. Suffix stripping with modern Greek. Program, 29:313
321, 1995.
[Kleinberg, 1998] Kleinberg J., Authoritative Sources in a Hyperlinked Environment. Proc. 9th
Ann. ACM-SIAM Symp. Discrete Algorithms, ACM Press, New York, pp.668-677, 1998.
[Kleinberg, 1999] Kleinberg J.M., Authoritative Sources in a Hyperlinked Environment. Journal
of the ACM, 46(5):604-632, 1999.
[Kraaij & Pohlmann, 1994] Kraaij, W. & Pohlmann, R. Porters stemming algorithm for Dutch.
In Noordman, L. and de Vroomen, W., editors, Informatiewetenschap, Tilburg, STINFON, 1994.
[Lancaster, 1995] Lancaster, F. W. El Control del Vocabulario en la Recuperacin de Informacin.
Ed. Universidad de Valencia, Espaa, 1995.
[Losee, 1998] Losee, R., Text Retrieval and Filtering: Analytic Models or Performance, Kluwer,
Boston, 1998.

58

Sistemas de Recuperacin de Informacin (SRI)

[Martnez Mndez, 2004] Martnez Mndez, Francisco Javier. Recuperacin de informacin:


modelos, sistemas y evaluacin. Murcia: KIOSKO JMC, 2004.
[Miller, 1995] Miller, G. A lexical database for English. Communication of the ACM. Vol. 38,
Issue 11, pp: 39-41, Nov. 1995.
[Page et al., 1998] Page L., Brin S.. The PageRank Citation Ranking: Bringing Order to The
Web, Standford Digital Library Technologies, Working Paper 1999-0120, Stanford Univ., Palo
Alto, Calif., 1998.
[Ponce et al., 2008] A. Ponce, C. Deco, C. Bender. Proposal of an ontology based web search engine. En Proceedings del Workshop de Bases de Datos en el marco del XIV Congreso Argentino
de Ciencias de la Computacin, CACIC 2008. Chilecito, Argentina, octubre 2008.
[Porter, 1980] Porter, M. An Algorithm for Suffix Stripping. Program, 14:130137, 1980.
[Salton, 1983] Salton, G. Introduction to Modern Information Retrieval. New York: McGrawHill, 1983.
[Savoy, 1999] Savoy, J. A Stemming Procedure and Stopword List for General French Corpora.
Journal of the American Society for Information Science, 50:944952, 1999.
[Swanson, 1988]. Swanson, Don R. 1988. Historical note: Information retrieval and the future of
an illusion. JASIS 39(2):9298.
[Schamber, 1996]. Schamber, Linda, Michael Eisenberg, and Michael S. Nilan. 1990. A reexamination of relevance: toward a dynamic, situational definition. IP&M 26(6):755776.
[Schinke et al., 1996] Schinke, R., Robertson, A., Willet, P., Greengrass, M. A stemming algorithm for Latin text databases. Journal of Documentation, 52:172187, 1996.
[Studer, 1998] Studer S, Benjamins R., Fensel D. Knowledge Engineering: Principles and Methods. Data and Knowledge Engineering, vol. 25, pp. 161-197, 1998.
[van Rijsbergen, 1979]. van Rijsbergen, C. J. Information Retrieval. Butterworths, 1979.
[Vossen, 1998] Vossen, P. Introduction to EuroWordNet. Computers and the Humanities, Special
Issue on EuroWordNet, 1998.

3 Bases de Datos y Web

Elaborado por: Cristina Bender - Claudia Deco


Universidad Nacional de Rosario
Universidad Catlica Argentina, Campus Rosario

3.1

Introduccin
La Web nos provee de una infraestructura global y un conjunto de estndares que soportan
el intercambio de documentos. Se tiene un formato de presentacin para hipertextos (HTML)
e interfaces bien diseadas para la recuperacin de documentos, mediante el uso de tcnicas
de recuperacin de informacin. Actualmente la Web es la base de datos ms grande. Por otro
lado, las bases de datos, nos ofrecen: tcnicas de almacenamiento y lenguajes de consulta, que
proveen acceso eficiente a grandes cuerpos de datos muy estructurados; modelos de datos y
mtodos para estructurar esos datos; y mecanismos para mantener la integridad y consistencia
de los datos. Surge entonces la necesidad de un puente para poder consultar a la Web como a
una base de datos. La solucin es el formato XML para intercambiar datos con estructura, y
un modelo de datos semiestructurados, que relaja la sintaxis de sistemas de base de datos muy
estructurados. En este captulo se describen el modelo de datos semiestructurados, el formato
XML y formatos posteriores basados en XML. En el ltimo apartado de este captulo se lista la
bibliografa utilizada para el desarrollo del captulo. En el Captulo Bases de Datos NoSQL, se
encuentran temas adicionales a los tratados aqu.

3.2

Datos Semiestructurados
Los datos semiestructurados son datos irregulares o incompletos. Su estructura puede cambiar de forma impredecible, y los datos nuevos pueden no respetar la estructura ya existente.
Son datos sin esquema o auto-descriptibles, donde la informacin sobre la estructura est junto
con los datos. Por esto, su representacin es mediante una lista de etiquetas-valor. Un ejemplo
elemental es el siguiente:
{ name: {first: "Pablo", last: Prez"}, tel : 4494403, email: pablo@hotmail.com}
que contiene informacin sobre personas, sus nmeros de telfono y sus direcciones de email. En la representacin los valores pueden ser atmicos (tal el caso del telfono) o estructuras
anidadas (como ocurre con el nombre que est a su vez compuesto por el primer nombre y el
apellido). Tampoco existe restriccin sobre la repeticin de campos (podra tenerse mltiples
ocurrencias del campo telfono si la persona tiene varios). Adems, si no se tiene un dato, dicho
par atributo-valor estar ausente en la representacin, como se muestra en el siguiente ejemplo,
donde se desconocen el apellido y el email de Marcelo:

Bases de Datos y Web

60

{ person: {name: {first: "Pablo", last: Prez", tel: 4494403, tel: 4494423, email: pablo@hotmail.com},
person:{name: "Marcelo", tel: 4252307},}

3.3

XML (eXtensive Markup Language)


HTML es un lenguaje simple basado en tags para especificar el formato de los documentos.
Cada etiqueta indica el comienzo y el final de los elementos que componen el documento. Los
tags describen el diagrama en el que se presenta el documento, las pginas a las que enlaza el
documento, y los dibujos o formas que se incluyen en l. Un ejemplo de un documento en HTML
es el siguiente:
<HTML>
<head>
<title>Titulo</title>
</head>
<body>
<img src="/carpeta/imagen.jpg"/>
</body>
</HTML>
XML sirve para describir, estructurar y almacenar informacin. Esto es importante para el
intercambio de una amplia variedad de datos en la Web. No provee instrucciones de cmo se
presentan los datos, que es lo que hace HTML. Cada usuario puede crear su propio lenguaje para
el formato de datos siguiendo determinadas reglas. XML no impone restricciones semnticas, y
las estructuras pueden ser anidadas a cualquier profundidad. Esta estructuracin ayuda a ordenar
contenidos. Algunos ejemplos de XML son:
Ejemplo 1:
<datos>
<nombre>Jos</nombre>
<apellido>Prez</apellido>
<edad>24</edad>
</datos>
Ejemplo 2:
<datos nombre=Jos apellido=Prez edad=24/>

Ejemplo 3:
<datos edad=24>
<nombre>Jos</nombre>
<apellido>Perez</apellido>
</datos>
En los tres ejemplos anteriores se representa la misma informacin. El nombre de la persona,
Jos Prez, y su edad, 24 aos.
XML se apoya en la teora de los datos semiestructurados. Por esto, los componentes bsicos
en XML son elementos (el texto que es el valor del campo), y etiquetas (que son los nombres

3.3 XML (eXtensive Markup Language)

61

de los campos). Las etiquetas son definidas por el usuario, no hay etiquetas predefinidas; y se
permite la repeticin y la ausencia de datos.
Los elementos se dividen en dos tipos: vacos y no vacos. Toda etiqueta no vaca debe tener
la etiqueta de cerrado, y todos los elementos deben anidarse correctamente. Los elementos vacos
se pueden representar como <dato></dato> o como <dato/>.
Los atributos representan propiedades. Se definen como pares (nombre,valor) en un tag.
Pueden definirse mltiples atributos en un mismo tag, pero un mismo atributo puede definirse
una nica vez en un tag.
A un archivo XML se le puede asociar otro archivo denominado DTD (Document Type
Definition), en el cual se describen los elementos disponibles en el documento XML. El diseo y
la construccin del DTD no son triviales. Un XML puede ser utilizado con o sin DTDs. Esto
introduce el concepto de Documento-bien-formado y de Documento-vlido. En un documento
Bien-formado los tags se abren y se cierran, esto es se cumplen con las restricciones sintcticas
del lenguaje y se cumple con una estructura jerrquica estricta. En los documentos Vlidos se
tienen DTDs asociados; esto es, son documentos bien formados y que siguen una estructura y
semntica determinada por un DTD. Cuando se procesa informacin formateada mediante XML
se comprueba primero si est bien formada y, en el caso que incluya o referencie a un DTD,
comprueba si se siguen sus reglas gramaticales.
Un ejemplo de un XML bien formado es el siguiente:
<?xml version=1.0 encoding=UTF-8 stanalong=yes?>
<datos>
<nombre>Jos</nombre>
<apellido>Prez</apellido>
<edad>24</edad>
</datos>
Para referenciar un DTD en un documento XML se puede incluir una referencia al documento DTD en forma de URL, de la forma siguiente: <!DOCTYPE mi_dtd SYSTEM http://.....>
Un ejemplo de un DTD es el siguiente:
<!DOCTYPE db [ <!ELEMENT db (person*)>
<!ELEMENT person (name,age,email)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT email (#PCDATA)>]
>
Este DTD puede incluirse en el propio documento XML, por ejemplo de la forma siguiente:
<? xml version=1.0?>
<!DOCTYPE datos[
<!ELEMENT datos (nombre+, apellido+, sexo, direccion*, foto?)>
<!ELEMENT nombre(#PCDATA)>
<!ELEMENT apellido (#PCDATA)>
<!ATTLIST nombre sexo(masc|fem)>
<!ELEMENT direccin(#PCDATA)>

Bases de Datos y Web

62
<!ELEMENT foto EMPTY>]
>

Si se observa el ejemplo anterior, se ve que se tienen caracteres especiales en la definicin de


los datos. Estos caracteres son: + indica el uso obligatorio de este atributo y la posibilidad que
sea de mltiples valores; * indica un uso opcional y mltiple; ? indica uso opcional y singular
(una sola ocurrencia); y | indica uso obligatorio y singular.
Los DTD no satisfacen todas las necesidades de XML. Para solucionar esto ha surgido
XMLSchemas que es ms riguroso y sofisticado para tratar la estructura y semntica dentro de
un documento XML. Esto es, son una ampliacin y mejora a los DTDs. Indican tipos de datos,
nmeros mximos y mnimos de ocurrencias y otras caractersticas especficas. Usan sintaxis
XML.
Sea el siguiente ejemplo:
<Schema xmlns=urn:Schemas-Microsoft-com:xml-data
Xmlns:dt=urn:schemas-Microsoft-com:Datatype>
<Attribute Type name=id dt:type=string required=yes />
<Element Type name=nombre content=textOnly />
<Element Type name=persona content=mixed > <attribute type=id/> <element type=nombre/>
</Element Type>
<Element Type name=nombre content=eltOnly > <element type=persona/> </Element
Type>
</Schema>
En el ejemplo anterior, xml-data indica que es un esquema y no otro documento XML
cualquiera; Datatypes permite definir tipos a elementos y atributos, usando el prefijo dt;
Element Type define el tipo y contenido de un elemento, tambin sub-elementos; AttributeType
asigna tipo y condiciones a los atributos; attribute declara qu atributos definidos en AtributeType
son atributos de un elemento determinado; y element declara qu elementos declarados en
Element Type puede aparecer como contenido de otro.
Existen lenguajes de consulta a archivos XML, por ejemplo XQuery. Este lenguaje de
consulta se basa en operadores de bsquedas para realizar consultas en diferentes tipos de
documentos. Utiliza notacin XML para definir consultas y manipular los resultados. Cada
entrada y salida a una consulta es una instancia de un modelo de datos.

3.4

RDF (Resource Description Framework)


El objetivo de RDF es complementar a XML especificando la semntica para las BD XML
de una forma normalizada e interoperable, permitiendo intercambiar y reutilizar informacin
en la Web. RDF asocia informacin sobre el contenido de los recursos Web. Sus caractersticas
principales son: Independencia, cualquier diseador puede inventar propiedades; Intercambio,
dado que las sentencias se escriben en XML y pueden usarse para intercambiar informacin;
y escalabilidad, porque las sentencias son fciles de manejar y usar para buscar objetos an
en volmenes muy grandes. Es recomendado por el consorcio W3C como estndar para los
metadatos.
RDF consiste en tres tipos de Objetos: Recursos, es decir, cualquier objeto web identificable
como URL; Propiedades, o sea los aspectos especficos, caractersticas, atributos o relaciones
utilizadas para describir recursos; y Sentencias del tipo sujeto predicado - objeto, que son
el conjunto de un recurso, un nombre de propiedad y el valor de esa propiedad. Un ejemplo

3.5 Ontologas y OWL (Ontology Web Language)

63

de sentencia es Ora Lassilla es el creator del recurso http://www.w3.org/Home/Lassila ,


donde el sujeto es http://www.w3.org/Home/Lassila, el predicado es creator, y el objeto
es Ora Lassilla.
Esto puede representarse en un diagrama de nodos y arcos. Para observar esto, supongamos
que existe http://www.w3.org/staffId/847 y que se quiere representar la sentencia El
individuo al que se refiere el identificador de empleado 874 se llama Ora Lassila y tiene la
direccin de correo lassila@w3.org. Ese individuo cre el recurso http://www.w3.org/Home/
Lassila. El diagrama de nodos y arcos es entonces:

Y la sintaxis correspondiente es:


<rdf:RDF>
<rdf:Description about="http://www.w3.org/Home/Lassila">
<s:Creatorrdf:resource="http://www.w3.org/staffId/85740"/>
</rdf:Description>
<rdf:Description about="http://www.w3.org/staffId/85740">
<v:Name>OraLassila</v:Name>
<v:Email>lassila@w3.org</v:Email>
</rdf:Description>
</rdf:RDF>

3.5

Ontologas y OWL (Ontology Web Language)


Una ontologa es una especificacin explcita de una conceptualizacin [Gruber, 1993].
Segn las recomendaciones del consorcio W3C, una ontologa describe los trminos usados para
describir y representar un rea de conocimiento. Las ontologas son usadas por personas, bases
de datos, y aplicaciones que necesitan compartir informacin de dominio. Incluyen definiciones
de conceptos bsicos de dominio, utilizables por computadoras, y las relaciones entre ellos.
Codifican el conocimiento en un dominio y tambin conocimiento que abarca varios dominios,
con el objetivo de hacer este conocimiento reusable. OWL es la solucin que propone el W3C
para describir ontologas.
Los elementos constitutivos de una ontologa son Individuos, Clases, Atributos, Relaciones y
Eventos. Los Individuos son los objetos bsicos.

Bases de Datos y Web

64

Los Eventos manifiestan el cambio de atributos o relaciones en los objetos.


Las Clases son conjuntos, colecciones o tipos de objetos. Pueden contener individuos, otras
clases, o una combinacin de ambas. Una clase puede pertenecer a s misma y puede existir una
clase que contenga a todas las clases.
Los Atributos son propiedades, caractersticas o parmetros que los objetos pueden tener y
compartir. Cada atributo tiene un nombre y un valor y se usa para guardar informacin especfica
para dicho objeto. Por ejemplo, sea el objeto Lamborghini Diablo correspondiente a un auto. Sus
atributos pueden ser:
Nombre: Lamborghini Diablo
Nmero-de-puertas: 2
Motor: {V12 5.7 Litros, V12 6.0 Litros}
Diseador: Marcello Gandini
Las Relaciones son las formas en las que los objetos pueden ser vinculados uno a otro. Una
relacin es un atributo de un objeto cuyo valor es uno o ms objetos. El poder de las ontologas
proviene de la habilidad para expresar estas relaciones. Son estas relaciones las que definen la
semntica del dominio correspondiente. Por ejemplo, para el objeto Lamborghini Diablo, puede
existir un atributo Sucesor cuyo valor es Lamborghini Murcilago.
Existen distintos tipos de relaciones. Un primer tipo es la Relacin de subsuncin. Subsuncin proviene del verbo subsumir que se define como Considerar algo como parte de un
conjunto ms amplio o como caso particular sometido a un principio o norma general. Esta
relacin expresada por la frase es un, permite la jerarquizacin de las clases, segn el nivel
de abstraccin de cada una. Por ejemplo, el objeto Lamborghini Diablo es un auto y un auto es
un vehculo. Si hay relacin de subsuncin, estamos hablando de una taxonoma. Otro tipo de
Relacin, es una relacin de meronimia (es-parte-de). Este tipo de relacin permite la particin
de un objeto en sus partes constitutivas. Por ejemplo, el motor es parte de un auto. En la figura
3.1 se esquematizan estos dos tipos de relaciones.
Figura 3.1: Relacin de subsuncin y Relacin de meronimia

Actividad para el alumno: Analizar si es posible describir una ontologa utilizando RDF.
Indicar y analizar las posibles limitaciones.
El lenguaje estndar para la descripcin de ontologas en la Web es OWL. Este lenguaje ha
sido desarrollado por el Web Ontology Group del consorcio W3C. En OWL, los conceptos se
llaman clases, mientras que los roles se denominan propiedades. En OWL, toda clase depende

3.6 La Web Semntica

65

de la clase madre owl:thing (es decir, todo es una cosa). Usa XML como lenguaje de base.
Un ejemplo de escritura en OWL, donde se indica que la clase Female es una subclase de
Animal y que es una clase cuyos elementos son disjuntos de aquellos de la clase Male, es el
siguiente:
<owl: Class rdf:ID="Female">
<rdfs:subClassOF rdf:resource:"#Animal"/>
<owl:disjointWith rdf:resource:"#Male"/>
<owl: Class>
Un ejemplo ms completo de la sintaxis de OWL, donde se especifican condiciones necesarias y suficientes para determinar que una cosa es Auto es el siguiente:
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType=ollection">
<owl:Restriction>
<owl:onProperty>
<owl:FunctionalProperty rdf:about="#TieneMotor/>
</owl:onProperty>
<owl:hasValue rdf:datatype="www.w3.org/XMLSchema#boolean>true</owl:hasValue>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty>
<owl:FunctionalProperty rdf:about="#Cantidad_De_Ruedas/>
</owl:onProperty>
<owl:hasValue rdf:datatype="www.w3.org/XMLSchema#int>4</owl:hasValue>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
Un editor de ontologas posibilita abstraerse de la sintaxis extensa y compleja de RDF/XML.
Un editor diseado en la Universidad de Stanford es Protg.
Actividad para el alumno: Realizar un relevamiento de editores de ontologas y evaluar las
caractersticas distintivas de cada uno.

3.6

La Web Semntica
El objetivo de la Web Semntica es permitir el procesamiento automtico de la informacin
que se encuentra disponible. La clave del problema es que la web actual representa la informacin
utilizando lenguaje natural con muy poca estructura (se utiliza el lenguaje de marcado HTML,
grficos, videos, etc.). El lenguaje natural es comprendido por humanos pero complejo para ser
procesado automticamente.
Las alternativas son dos. O bien tener mquinas ms inteligentes, esto es ensear a las computadoras a comprender el significado de la informacin que hay en la web, utilizando tcnicas y
herramientas tales como procesamiento de lenguaje natural, reconocimiento de imgenes, etc. O
bien tener Informacin ms inteligente, lo cual significa representar la informacin de modo que
sea sencilla de comprender a las mquinas, expresando los contenidos en un formato procesable
automticamente, por ejemplo mediante metainformacin.

66

Bases de Datos y Web

La web semntica consiste de dos partes: Formatos comunes para la integracin y combinacin de datos generados por diversas fuentes, y Lenguajes para registrar la forma en que los
datos se relacionan con objetos del mundo real. La idea es permitir que los datos sean procesados
por mquinas (agentes) independientemente de la aplicacin que los genera, as como poder
navegar a travs de bases de datos que traten sobre el mismo tema. Para lograr una web ms
semntica, Tim Berners-Lee promueve el desarrollo de la web con conocimientos, y existen
organizaciones que se encargan de estandarizar lenguajes y herramientas para dar semntica a la
web, tales como SemanticWeb y W3C.
Los buscadores (Google, Yahoo!, etc.) realizan la bsqueda mediante palabras clave en
el HTML de las pginas. Con la tendencia de implementar el uso de metadatos dentro del
cdigo HTML, agentes de bsqueda pueden encontrar la informacin de forma precisa y realizar
inferencias automticamente buscando informacin relacionada, utilizando ontologas.
Por esto, la importancia de las ontologas en la web se aprecia con la aparicin de agentes de
bsqueda de informacin, que explotarn el conocimiento en las pginas web, sern capaces de
interpretar los esquemas ontolgicos y axiomas de diferentes dominios, mantendrn la consistencia de las instancias que se inserten en las pginas web siguiendo los esquemas ontolgicos
definidos, y realizarn bsqueda con inferencias utilizando los axiomas. Para hacer que los datos
sean procesables por mquinas, se necesitan nombres no ambiguos para los recursos (que pueden
tambin ligar datos con entidades del mundo real), esto es URIs; un modelo de datos comunes
para acceder a, conectar y describir los recursos, tal como RDF; tener acceso a estos datos con
un lenguaje de consulta, por ejemplo SPARQL; posibilidad de definir vocabularios comunes
(compartidos), con por ejemplo un lenguaje como OWL; lgicas para razonamiento, por ejemplo
con reglas implementadas en OWL.

3.7

Bibliografa
[Abiteboul et al., 1999] Abiteboul S., Buneman P., Suciu D. Data on the web. Morgan Kaufmann,1999
[OWL] OWL web ontology language guide. W3C Recommendation, 2004. Disponible en
www.w3.org/TR/2004/REC-owl-guide-20040210/
[Baeza, 1999] Baeza-Yates R., Ribeiro-Neto B. Modern Information Retrieval. Addison-Wesley,
1999
[RDF] RDF Semantics. Disponible en www.w3.org/TR/rdf-mt/
[Protege] The Protg Editor and Knowledge Acquisition System. Universidad de Stanford.
Disponible en protege.stanford.edu/.
[SWeb] The Semantic Web: An Introduction. Disponible en infomesh.net/2001/swintro/
#whatIsSw
[Gruber, 1993] Gruber T. R. A Translation Approach to Portable Ontology Specifications.
Disponible en tomgruber.org/writing/ontolingua-kaj-1993.pdf
[W3C] W3C Semantic Web Activity. Disponible en www.w3.org/2001/sw/

4 Sistemas de ayuda a la toma de


decisin

Elaborado por: Cristina Bender y Claudia Deco


Universidad Nacional de Rosario
Universidad Catlica Argentina, Campus Rosario

4.1

Introduccin
Informacin es todo lo que reduce la incertidumbre sobre algn aspecto de la realidad y, por
lo tanto, permite tomar mejores decisiones. Los requerimientos de informacin para la toma
de decisin han evolucionado a lo largo del tiempo. En un primer momento, las consultas se
orientaban a saber qu pas, lo cual se poda responder a partir de la generacin de reportes y
con el uso de consultas predeterminadas y eventualmente consultas ad-hoc, directamente sobre
el sistema de bases de datos transaccional. Luego, la inquietud principal fue saber por qu pas,
esto es analizar los hechos ocurridos, lo cual llev a aumentar la posibilidad de realizar consultas
ad-hoc y tambin a incluir modelos analticos. En la actualidad la pregunta que predomina es
qu pasar, lo cual incrementa la necesidad de utilizar tanto consultas ad-hoc como modelos
analticos que, utilizando datos de muchos hechos pasados, permitan analizar la evolucin del
aspecto de inters de la realidad. Algunas aplicaciones donde la informacin obtenida ayuda a la
toma de decisiones son el marketing, por ejemplo para realizar una segmentacin del mercado;
el anlisis de riesgo financiero o de riesgo crediticio; la logstica de la empresa, por ejemplo para
optimizar los niveles de produccin; el control de vectores en el rea salud; entre otros.
Generalmente, la informacin que se quiere obtener sobre un cierto dominio de la organizacin se encuentra en bases de datos y otras fuentes muy diversas, tanto internas a la organizacin
como externas. Muchas de estas fuentes internas son las que se utilizan para el trabajo diario,
esto es bases de datos transaccionales que permiten realizar el procesamiento en lnea de las
transacciones (OLTP, On Line Transaction Processing). Un sistema de procesamiento de transacciones posee gran nivel de detalle y est diseado para soportar actualizaciones consistentes
y sin redundancia, a partir de un conjunto de tablas normalizadas. Pero, la informacin que
necesita el directivo de una organizacin para tomar decisiones, no puede obtenerse fcilmente
de estas bases de datos por distintos motivos, tales como la dificultad para navegar por toda la
informacin de la organizacin, la necesidad de incorporar el entorno respecto a la informacin
obtenida, los datos que contienen slo reflejan el estado actual de las transacciones; y existe
informacin de la organizacin que no se encuentra en ellas (por ejemplo, e-mails, documentos,
planillas, etc.
Para la toma de decisiones se necesita tener estos datos todos juntos, y esto se logra utilizando
almacenes o repositorios de datos (DW, Data Warehouse). Este es el tema principal de este
captulo. De estos datos almacenados, es de inters extraer conocimiento. El conocimiento
evidente es fcilmente recuperable mediante consultas SQL, si los datos estn almacenados
en una base de datos relacional. Pero existe dificultad para expresar en SQL algunas consultas

68

Sistemas de ayuda a la toma de decisin

o realizar anlisis estadsticos, lo cual plantea la necesidad de extensiones al SQL, el uso de


software estadstico, o realizar un tratamiento multidimensional de los datos para lo cual se
utilizan herramientas OLAP (de la sigla en ingls On Line Analytical Processing, tratamiento
analtico en lnea). En este captulo se presenta una breve introduccin a este tipo de anlisis.
Finalmente, existe conocimiento oculto, que brinda informacin muy valiosa y desconocida.
Este tipo de conocimiento es recuperable mediante la aplicacin de tcnicas de minera de datos
(Data Mining). Este tema se trata en el captulo Minera de Datos.

4.2

Almacn de Datos (Data Warehouse)


Segn (Silberschatz et al., 2006), un almacn de datos es un depsito de la informacin a
partir de varias fuentes, guardada segn un esquema unificado en un nico lugar.
Segn (Inmon, 2002) es una coleccin de datos orientada a un tema, integrada, no voltil,
y variante en el tiempo. Orientada a un tema se refiere a que se organizan y presentan los
datos desde la perspectiva del usuario, por ejemplo las ventas (cantidad de ventas o montos de
ventas) pero no interesa cada una de las transacciones. La coleccin es integrada significa que se
incorporan al repositorio datos obtenidos de distintas fuentes a lo largo de muchos aos y por
diversas aplicaciones. Decir que la coleccin es no voltil significa que los datos no se borran o
modifican (como ocurre habitualmente en un sistema transaccional), sino que se mantiene el dato
original y se inserta el dato nuevo. Esto est ligado a la idea de que la coleccin es variante en
el tiempo. Adems, maneja un gran volumen de datos puesto que generalmente contiene todos
los datos histricos de la organizacin. Estos datos se resumen y agregan para que sean ms
comprensibles para el usuario.
Entonces, con un adecuado repositorio de datos se puede recolectar y organizar la informacin
analtica necesaria y disponer inmediatamente de ella en diversos formatos, tales como tablas,
grficos, reportes, etc.; adems se puede analizar los datos desde diferentes perspectivas, llamadas
dimensiones del negocio. Un sistema para la toma de decisiones debe soportar anlisis complejos
en estos grandes volmenes de datos. As, se requieren distintas tcnicas de diseo a la de un
sistema transaccional, por ejemplo, desnormalizar los datos, y distintos mecanismos para el
procesamiento de las consultas orientados a consultas de agregacin.
Algunas caractersticas de un almacn de datos son: es utilizado por profesionales de la
direccin de la organizacin, la actividad ms importante que se realiza sobre los datos es el
anlisis orientado a la decisin estratgica por lo que predomina la consulta sobre la actualizacin
o insercin de datos; interesan los datos histricos y los datos agregados; se tiene una visin
multidimensional de los datos; las bases de datos son grandes (del orden de TeraBytes); y las
consultas no son previsibles. El desafo para una implementacin exitosa de un almacn de datos
es no olvidar que nadie sabe qu tipo de preguntas harn los usuarios, debe responder cualquier
pregunta, devolver cualquier dato, y hacerlo en cualquier momento. Por esto, para garantizar el
xito no hay que restringir las preguntas de los usuarios, los datos a los que los usuarios tienen
acceso, ni la cantidad de datos a los que los usuarios tienen acceso.
Dadas estas caractersticas y teniendo en cuenta que algunos de los anlisis utilizan muchos recursos y tiempo (son consultas pesadas), generalmente se independiza del sistema
transaccional para no afectar la carga de trabajo del sistema transaccional.
Existen tres clases de almacenes de datos, segn la informacin que contengan. Si el almacn
representa la informacin de toda la organizacin, se tiene un almacn empresarial (Enterprise
Warehouse). En el caso de contener un subconjunto de la informacin de la organizacin til
para grupos especficos de usuarios (por ejemplo, para el sector de ventas de una empresa), se
denomina Data Mart. En algunos casos puntuales, se genera un conjunto de vistas sobre los
datos transaccionales y se denomina Virtual Warehouse.

4.2 Almacn de Datos (Data Warehouse)


4.2.1

69

Preparacin del almacn de datos


La preparacin del almacn de datos se denomina Data Warehousing y es un proceso, no un
producto. Es una tcnica que permite ensamblar y administrar adecuadamente datos provenientes
de distintas fuentes, con el propsito de contestar preguntas de negocios y soportar la toma de
decisiones. As, el proceso de Data Warehousing puede graficarse de la forma siguiente:

donde, a partir de las distintas fuentes de datos, se procede a un proceso de preparacin de


los datos (Transformacin ETL), lo cual permite tener los datos disponibles adecuadamente
para efectuar el anlisis (por ejemplo, con herramientas OLAP, de minera de datos, de reporte,
etc.) y obtener as la informacin de negocio necesaria. Todo esto apoyado por un conjunto de
metadatos, es decir datos sobre los datos.
Una arquitectura en capas del almacn de datos, que permite visualizar los distintos procesos
necesarios es la de la figura siguiente:

70
4.2.2

Sistemas de ayuda a la toma de decisin

Preparacin de los datos


La preparacin de los datos para ser volcados a un almacn de datos consta de varias etapas.
La primera es la migracin de los datos, esto es mover los datos desde los sistemas operacionales
de la organizacin a un rea de trabajo (data staging area), donde los datos se limpian y se
transforman antes de ser cargados al almacn. En forma preventiva hay que evitar mover datos
innecesarios para la toma de decisiones. Una segunda etapa consiste en la limpieza de los datos
(data cleaning), esto es corregir, estandarizar y completar los datos, identificar datos redundantes,
identificar valores atpicos (outliers), e identificar valores perdidos (missings), para establecer
cules sern las reglas de negocios a aplicar en estos casos (por ejemplo, eliminar los datos
atpicos o los datos perdidos). Un dato atpico podra ser tener valores negativos para un dato
referido a cantidad de lluvia cada. Un dato perdido puede ser la falta de la fecha de nacimiento
de una persona. Las polticas de cmo proceder en estos casos son preparadas por el usuario
conocedor del negocio.
Luego de estas etapas, se procede a efectuar los procedimientos ETL de extraccin, transformacin y carga (loading) de los datos al repositorio. La extraccin refiere a capturar y copiar los
datos requeridos de uno o ms sistemas transaccionales o fuentes de datos, colocndolos en un
archivo intermedio con un formato definido. El proceso de transformacin corresponde a leer
estos archivos intermedios, construir registros en el formato del almacn de datos y crear un
archivo de salida conteniendo todos los registros nuevos a ser cargados en el almacn, realizando
las transformaciones necesarias (por ejemplo, fusionar campos o datos homnimos, o cambiar
la representacin de los datos). Finalizados estos dos procedimientos se procede a la carga del
repositorio.
La ltima etapa, antes de proceder a colocar el almacn de datos en produccin, corresponde
a la conciliacin y validacin. La validacin de la carga permite identificar problemas en los
datos que no se detectaron en las etapas anteriores. Esta validacin se puede realizar en forma
completa al final del proceso, o por etapas a medida que se cargan los datos. Los controles
incluyen reportes que comparan los datos del almacn con las fuentes de datos operacionales
a travs de, por ejemplo, totales de control, cantidad de registros cargados, valores originales
versus valores transformados, etc.
Un problema que se presenta en el proceso de datawarehousing es el momento y manera
de recoger los datos, esto ha originado la propuesta de dos arquitecturas: una orientada a los
orgenes de datos, donde las fuentes de datos transmiten la informacin nueva al almacn; y
una orientada a los destinos de datos, donde el almacn de datos solicita los datos a las fuentes.
Otros problemas son, por ejemplo, definir el esquema que debe utilizarse, establecer qu datos se
deben resumir, cmo se propagan las actualizaciones de los esquemas de los orgenes de datos,
entre otros.
Actividad para el alumno: Realizar unrelevamiento de problemas vinculados con la creacin
del repositorio y las propuestas para solucionarlos. Realizar una crtica a estas propuestas.

4.3

Modelo de datos
El modelo relacional utilizado en los sistemas transaccionales tiene como objetivos garantizar
la integridad de los datos y eliminar cualquier tipo de redundancia en los datos. Pero tiene
problemas: para el usuario la legibilidad es limitada, puede haber dificultad para las herramientas
de consulta en el acceso a los datos y frustra el principal atractivo del repositorio de datos que
es realizar una recuperacin de informacin intuitiva y con alto rendimiento. Estos problemas
indican que es necesario otro modelo: el Modelo Multidimensional (MMD), el cual brinda una
vista multidimensional del repositorio, afectada por el diseo de la base de datos, las herramientas

4.3 Modelo de datos

71

front-end, y los motores OLAP.


En este modelo, se tiene un conjunto de medidas numricas que son los objetos de anlisis,
por ejemplo ventas, duracin de llamadas, etc. Asociadas a las medidas, se tienen las dimensiones
de anlisis, que proveen el contexto a las medidas, y se describen mediante atributos, por ejemplo,
(tipos de) clientes, llamadas telefnicas, etc.
El modelo multidimensional es una tcnica de diseo lgico que busca presentar la informacin en un marco estndar e intuitivo que permite un acceso de alto rendimiento. Consiste de
reas temas, que corresponden al mbito de implementacin del almacn; Dimensiones, esto
es una coleccin de miembros o entidades del mismo tipo (por ejemplo, para una organizacin
vinculada a la telefona, la duracin de una llamada, si la llamada es local o al exterior, etc,);
Hechos (cada mes, la organizacin hace llamadas locales y/o al exterior), Medidas que son
cuantificadores del desempeo de un tem (qu cantidad de llamadas al exterior realiz el sector
X de la organizacin en un mes / ao dados); y Jerarquas, esto es un conjunto de miembros de
una misma dimensin (por ejemplo, para el tiempo, se puede tener una jerarqua: ao - trimestre
- mes).
Entonces, el Modelo Multidimensional se centra en dos conceptos. Las dimensiones que
son categoras sintcticas que permiten analizar la informacin desde distintos enfoques, donde
cada dimensin est organizada en una jerarqua de niveles, correspondientes a dominios de
datos de diferente granularidad. Las tablas de hechos (fact tables) que son funciones que toman
coordenadas y devuelven medidas que nos brindan la informacin.
El tipo de respuesta a las consultas suele tener la forma de un cubo de datos, como se muestra
en el ejemplo siguiente. Para la siguiente especificacin:
Dimensiones:

(Tiempo, Producto, Taller)

Jerarquas:

(Ao -> Semestre -> Mes -> Semana), (Categora ->


Lnea)

Elementos:

(2006, 2007, ..., S1-06, ..., Ene-06, ..., 200625....),


(Todos, Mquinas, Refacciones, Mquinas caras, Mquinas
baratas, Mquina 1,...)
(Todos, Taller 1, Taller 2, ...)

Hechos:

(Ventas, Inventario, Defectos, Devoluciones)

La tabla para las dimensiones Tiempo y Producto podra tener la forma siguiente:

donde todos los valores deben estar precalculados.


Si se consideran las tres dimensiones (Tiempo, Producto y Taller), las ventas se pueden
representar con un cubo de datos (Data Cube):

72

Sistemas de ayuda a la toma de decisin

La tcnica de diseo ms popular para este modelo es el Esquema Estrella, donde un nico
objeto en el centro (tabla de hechos), est conectado radialmente con otros objetos (tablas
de dimensiones) formando una estrella (Kimball, 1996). En este esquema la tabla de hechos
contiene claves de las dimensiones y atributos. En las puntas de la estrella se encuentran las
tablas de dimensin que contienen los atributos de cada dimensin y se pueden utilizar como los
criterios de bsqueda para SQL. Las tablas de hechos y dimensiones estn relacionadas por claves
forneas. Este esquema permite utilizar herramientas OLAP para el acceso a la informacin.
Una extensin al esquema estrella es el Esquema de Constelacin. Aqu cada tabla de
dimensiones puede estar asociada con ms de una tabla de hechos. Una ventaja de esta extensin
es que se hace un mejor uso del almacenamiento evitando la redundancia.
Otra extensin es el Esquema Copo de Nieve, donde cada punta de la estrella explota en ms
puntas. En este caso las tablas de dimensin se encuentran ms normalizadas para mejorar la
performance; y en cada dimensin se almacenan jerarquas de atributos.
Abell, Samos y Saltor, en su reporte presentan una clasificacin de las propuestas para el
modelado multidimensional en cuatro grupos teniendo en cuenta las fases de diseo. El grupo
que llaman Nivel Conceptual, tiene como caracterstica la de proveer conceptos cercanos a la
manera en el que el usuario percibe los datos, es decir, son propuestas que tratan de representar
cmo los usuarios perciben el cubo multidimensional, sin prestar atencin al formalismo. El
grupo Nivel Lgico considera si existe una dependencia del tipo de sistema de gestin de bases de
datos usado en la implementacin, es decir son propuestas cuyas construcciones son orientadas
a un tipo dado de sistema de gestin de bases de datos. El grupo llamado Nivel Fsico tiene
en cuenta si existe una dependencia de la especificacin del sistema de gestin de bases de
datos y describe como son guardados los datos, y explica como debe ser implementado el cubo.
Finalmente engloban en un cuarto grupo, Nivel Formal, a aquellas propuestas que definen un
lgebra o un clculo multidimensional.
Los datos para trabajar se conservan en servidores OLAP, que permiten definir y navegar un
modelo multidimensional. Las dos arquitecturas predominantes son ROLAP y MOLAP, aunque
tambin existe un enfoque hbrido. En la arquitectura MOLAP (Multidimensional OLAP) se
trabaja directamente mediante un motor de almacenamiento multidimensional, conformado por
arrays propietarios. Los servidores MOLAP soportan la visin multidimensional de datos y
poseen una excelente performance. Si se utilizan bases de datos relacionales como servidores de
datos, el modelo y sus operaciones deben ser mapeados a relaciones y consultas SQL y se tiene
la arquitectura ROLAP (Relational OLAP). En esta arquitectura se utilizan diversas tcnicas
de materializacin de vistas, pudiendo acceder a las tablas originales cuando sea necesario. En

4.4 Procesamiento Analtico en Lnea (OLAP)

73

algunos casos, se combinan ambas arquitecturas en una arquitectura hbrida (Hibrid OLAP)
logrando menores necesidades de espacio de almacenamiento que MOLAP, y respondiendo a las
consultas ms eficientemente que ROLAP.
Actividad para el alumno: Realizar unrelevamiento de estos tipos de propuestas, indicando si se continan desarrollando (o aplicando) o no lo hacen; adems discutir la aceptacin que
tienen, realizando una crtica a cada una.

4.4

Procesamiento Analtico en Lnea (OLAP)


En el Procesamiento Analtico en Lnea (OLAP) se crea nueva informacin a partir de los
datos existentes. OLAP permite realizar un anlisis multidimensional de los datos mediante
la navegacin asistida del usuario. Estas herramientas presentan al usuario una visin multidimensional de los datos en forma de cubo. Por ejemplo, se puede generar tablas de referencias
cruzadas como la siguiente, donde se presenta la cantidad de ropa comprada por los clientes
segn el color de la ropa (claro u oscuro) y la talla (pequea, mediana o grande):
Claro
Oscuro
Total

Pequea
9
20
28

Mediana
35
10
45

Grande
10
5
15

totales
53
35
88

En este ejemplo, tenemos datos bidimensionales, basados en dos atributos: color y talla. Una
tabla cruzada, como esta, no puede generarse mediante una sola sentencia SQL, dado que los
totales se toman en varios niveles diferentes (para cada cruce de tipo de color y tamao de talla,
segn el tipo de color para todas las tallas, segn el tamao de talla independientemente del
tipo de color). Esto se traduce en trabajar con un cubo de 2 (dos) dimensiones. Una relacin
n-dimensional, para n atributos, generar un n-cubo de 2n vrtices. Por ejemplo, para la relacin
Ventas (color, talla, precio), con 3 atributos, tendramos un cubo como se mostr en el punto
anterior.
En los sistemas de gestin de bases de datos relacionales, existen extensiones del SQL con
un operador CUBE en la clusula GROUPBY. As para el ejemplo de la tabla anterior, se puede
escribir:
SELECT color talla, sum(numero) FROM ventas
GROUP BY color, talla WITH CUBE.
Para que el usuario pueda obtener informacin de un sistema multidimensional mediante
OLAP, las herramientas deben tener ciertas funciones para el manejo de datos. Una primer
funcin para explorar los hechos hacia niveles ms detallados de la jerarqua de dimensiones
(Drill Down), y una funcin que permita realizar la exploracin hacia los niveles ms altos
de la jerarqua (Drill Up). Otra funcin que permita definir un subconjunto del hipercubo
especificando qu dimensiones y medidas interesan analizar, esto es rebanar (Slice) el hipercubo
aplicndose una nica restriccin a una sola dimensin, mediante la eleccin de un miembro en
particular. Funciones (Dice) que permitan aplicar ms de una restriccin, ya sea para una misma
dimensin o para varias dimensiones, que correspondera a la combinacin de varias funciones
Slice. Una funcin (Roll Up) que permita explorar los hechos iterativamente hacia el nivel ms
alto de agregacin. Finalmente alguna funcin (Drill Through) que permita acceder a los datos
descriptivos.
Algunas herramientas OLAP comerciales son Microsoft SQL Server OLAP Services, BIXL,
Oracle 9i, Power OLAP, y Thinking Networks AG b2Brain.

74

Sistemas de ayuda a la toma de decisin

Actividad para el alumno: Realizar un relevamiento actualizado de herramientas OLAP comerciales, y compararlas. Relevar herramientas OLAP open source y compararlas. Analizar en todos
los casos la facilidad de uso por parte de un usuario final, la cantidad de datos que se manejan, la
arquitectura (ROLAP, MOLAP, HOLAP), el uso de datos originales, la velocidad de respuesta, y
otras caractersticas propuestas por el alumno.

4.5

Problemas y temas pendientes


Algunos de los temas de investigacin y desarrollo en almacenes de datos estn relacionados
con problemas referentes al diseo y modelado, el procesamiento de las consultas, la integracin
de los datos, el mantenimiento del repositorio, la visualizacin en OLAP, la calidad de los datos,
entre otros. Adems, con el avance de la tecnologa referente a los dispositivos mviles y con
la visin de la web como un gran repositorio de informacin, surgen desafos tales como la
aplicacin de tcnicas OLAP al sitio Web de la organizacin, publicar el data warehouse en la
Web, OLAP para datos XML, etc.
Actividad para el alumno: Realizar un relevamiento actualizado de estos problemas. Indicar
qu grupos de investigacin y/o empresas estn trabajando en ellos y evaluar las propuestas de
solucin. Han surgido otros problemas? Cules?

4.6

Bibliografa
[Abell et al., 2000] Abello, A., Samos, J., Saltor, F. A Data Warehouse Multidimensional Data
Models Clasification. Technical Report LSI- 2000-6. Dept. Lenguages y Sistemas Informticos,
Universidad de Granada, 2000.
[Codd et al., 1993] Codd E.F., Codd S.B. and Salley C.T. Providing OLAP (On-line Analytical Processing) to User-Analysts: An IT Mandate. Codd & Date, Inc. Technical Report. 1993.
[Golfarelli et al., 2004] Golfarelli M., Rizzi S. and Cella I.. Beyond Data Warehousing: Whats
Next in Business Intelligence. In: Proceedings of the 7th ACM international workshop on Data
warehousing and OLAP, pp. 1-6. Washington DC, USA. 2004.
[Inmon, 2005] Inmon W.H. Building the Data Warehouse. 4ta ed. John Wiley and Sons, 2005.
[Kimball, 1996] Kimball, R. The Data Warehouse Toolkit. John Wiley & Sons, 1996. (ver
tambin ediciones posteriores). Ralph Kimball es miembro fundador del Kimball Group, dedicado a Inteligencia de Negocios (Business Intelligence) y es el primero que trabaj con la idea del
modelado dimensional, se sugiere consultar la pgina www.kimballgroup.com/
[Silberschatz et al., 2006] Silberschatz A., Korth H. F., Sudarshan S. Fundamentos de bases de
datos. 5ta ed. McGraw-Hill / Interamericana de Espaa, S.A., 2006.
[Simitsis et al., 2005] Simitsis A., Vassiliadis P. and Sellis T. State-Space Optimization of
ETL Workflows. IEEE Transactions on Knowledge and Data Engineering. Vol. 17, Issue 10, pp.
14041419. October, 2005.

5 Minera de Datos

Elaborado por: Julio Cesar Ponce Gallegos


Universidad Autnoma de Aguascalientes, Mxico

OBJETIVO

Este captulo tiene como objetivo establecer un punto de partida para el estudio sobre el
anlisis de la informacin en grandes volmenes de datos a travs del uso de la Minera de Datos.
El conocimiento que adquiera el estudiante podr ser autoevaluado mediante la aplicacin de un
cuestionario al final del captulo y el uso de ejercicios.

RESUMEN DEL CAPTULO

A lo largo de este captulo, se har una descripcin de de los orgenes e historia del descubrimiento del conocimiento y la minera de datos, as como de algunas contribuciones que
esta rea ha heredado de otras disciplinas. Tambin se discutirn algunas de las tcnicas ms
comnmente aceptadas y los diferentes modelos que se emplean para analizar la informacin.
Tambin se har una descripcin de las diferentes tareas que pueden realizarse con la Minera de
Datos como son la clusterizacin, clasificacin entre otras.

CONOCIMIENTOS PREVIOS

El alumno debe contar con conocimientos previos de anlisis estadsticos, programacin,


bases de datos y matemticas, estos conocimientos son la base para el desarrollo de modelos
matemticos que permiten realizar el anlisis de la informacin en la bsqueda de patrones
ocultos e informacin relevante que ayuden a los procesos de tomas de decisiones dentro de las
organizaciones.

5.1

INTRODUCCIN
En la actualidad existen grandes cantidades de informacin relacionada con una amplia gama
de temas (ejemplos, consumidores de productos, pacientes, clientes, proveedores, empresas,
gobierno, etc.). De acuerdo a la mayora de las predicciones, un gran porcentaje de la informacin
humana estar disponible en la Web. Estas enormes cantidades de datos plantean un gran desafo,
es decir, la bsqueda de una utilidad de toda esta informacin para que sea ms til [Garofalakis
et al., 1999].

76

Minera de Datos

Por tal motivo las personas estn expuestas a una gran cantidad de informacin que est
disponible para el estudio. Hoy en da tambin hay una gran cantidad de aplicaciones y servicios
que estn disponibles a travs de Internet y que generan aun ms informacin sobre los usuarios de
estas (chats, ventas, etc.), sin embargo, mucha de esa informacin no es til para muchas personas,
pero en el rea de minera de datos, toda la informacin disponible en las Organizaciones y en el
Internet representa una oportunidad de trabajo y es posible obtener informacin relevante [Ponce
et al., 2009].
El Descubrimiento de Conocimiento y Minera de Datos son herramientas poderosas de
anlisis de datos. El rpido crecimiento que ha tenido estas tecnologas en los ltimos aos exige
un anlisis urgente de su impacto social.
Los trminos Descubrimiento de Conocimiento y Data Minera se utilizan para describir
la extraccin de informacin no trivial, previamente desconocida e informacin potencialmente
til de los datos [Wahlstrom y Roddick, 2000], El termino Descubrimiento del Conocimiento es
un concepto ms amplio que describe el proceso de bsqueda de grandes volmenes de datos
para patrones que se pueden considerar los conocimientos acerca de los datos. La rama ms
conocida del descubrimiento de conocimiento es la minera de datos.
Alberto muestra una pirmide de la informacin la cual est conformada por cinco niveles,
donde se muestra como los datos se pueden convertir en sabidura. Los niveles son ruido, datos,
informacin, conocimiento y sabidura (ver Figura 1).

Figura 5.1: Pirmide de la Informacin [Hernndez, 2013].

El ruido representa la base de la pirmide, este representa cadena de caracteres sin sentido,
significado ni orden, cuya naturaleza se desconoce.
El segundo nivel est representado por los Datos, en este nivel el ruido adquiere un significado,
aqu una cadena de caracteres puede significar un nombre, sexo, una direccin y las cadenas de
nmeros pueden representar telfonos, edad, sueldo, costo de un artculo, etc.
La Informacin la podemos encontrar en el nivel tres de esta pirmide, en este momento
los datos adquieren un mayor significado y aparecen tambin alguna relaciones directas, por
ejemplo podemos decir Juan vive en Mxico y su telfono es 551234567, podemos conocer el
costo de un articulo especfico, etc.

5.2 PREPROCESAMIENTO DE LOS DATOS

77

El cuarto nivel representa la informacin transformada en conocimiento el cual forma parte


esencial para el proceso de la toma de decisiones.
Por ltimo tenemos el nivel de la Sabidura que representa la cima de la pirmide que tambin
representa el metaconocimiento y lo podemos definir como: El conjunto de informacin, hechos
y reglas sobre un dominio especfico.
La minera de datos nace por la necesidad de nuevas herramientas para analizar la informacin
que da a da se convierte en grandes cantidades de datos para su anlisis.

5.2

PREPROCESAMIENTO DE LOS DATOS


Consiste en la seleccin, limpieza, enriquecimiento, reduccin y transformacin de datos
que puede aplicarse para remover el ruido y corregir inconsistencias.
Para cumplir la transformacin de datos se usa la normalizacin ya que puede aumentar
la exactitud y eficiencia de los algoritmos de explotacin de datos involucrando la medida de
distancias.
Mtodos de preprocesamiento
Limpieza de datos
Integracin y Transformacin de datos
Reduccin de datos
Discretizacin y generacin de jerarquas conceptuales
Errores en las BD
Datos incompletos
Los atributos de inters pueden no estar siempre disponibles
Existen datos que pueden no estar incluidos por ser considerados muy importantes al
ser ingresados.
Existen datos relevantes que pueden no ser grabados debido a mal entendidos o fallas
en los equipos
Las modificaciones de la Base de Datos puede ser pasada por alto
Los datos faltantes en algunos atributos
Datos con ruido
La forma o instrumento de recoleccin de datos podra ser o estar defectuosa
Puede haber errores producidos por el humano o la PC al momento de ingresar datos

Minera de Datos

78

Limitaciones tecnolgicas
Datos inconsistentes
Datos incompletos pueden resultar debido a inconsistencias en las conversiones de
nombres o cdigos usados
Tuplas duplicadas tambin requieren limpieza ya que es un error frecuente
Las tcnicas de preprocesamiento de datos colaboran al aumento de calidad de los mismos y
por lo tanto ayudan a mejorar la exactitud y eficiencia del subsecuente proceso de explotacin
de datos. De tal manera que un adecuado preprocesamiento de los datos constituye un paso
importante en el proceso del descubrimiento del conocimiento en las bases de datos (Knowledge
Discovery in Databases) por lo que es importante la deteccin de anomalas en los datos
rectificndolos y reduciendo los datos a ser analizados, lo cual puede significar importantes
beneficios en la toma de decisiones.
El proceso del descubrimiento de conocimiento en las bases de datos se puede observar en el
siguiente diagrama:

Los procesos correspondientes al preprocesamiento de datos son:


Limpieza de datos
Integracin de datos
Transformacin de datos
Reduccin de datos
Limpieza de datos
Se relaciona con los datos incompletos, con ruido e inconsistentes, por lo cual los procesos
de limpieza intentan llenar valores faltantes suavizar el ruido al identificar valores fuera de
rango, corregir inconsistencias, tambin busca las correlaciones ocultas en los datos, identifica
los orgenes de datos que son ms precisos y determina qu columnas son las ms adecuadas
para el anlisis.
Algunos mtodos clsicos para la limpieza de datos son:
Para valores faltantes
Ignorar la tupla
Llenar el valor manualmente
Usar constante global para llenar valores faltantes
Usar el valor promedio para completar el valor faltante

5.2 PREPROCESAMIENTO DE LOS DATOS

79

Usar la media de los atributos para todos los ejemplos pertenecientes a la misma
clase de la tupla en cuestin
Usar el valor ms probable para complotar el valor faltante
Datos con ruido
Encajado(Binning): consiste en una clasificacin, los valores son distribuidos dentro
de un numero de paquetes o cajas, los valores de cada caja son reemplazados por el
promedio de los datos que contiene
Por Clustering o agrupacin: se hacen grupos a travs de valores similares y se
detectan los valores fuera de rango o anmalos.
Se hace una inspeccin humana computarizada, se buscan datos.
Se puede suavizar los datos ajustndolos a una regresin.
Tcnica para los datos inconsistentes
Pueden ser corregidas usando referencias externas
Se pueden detectar inconsistencias desde la codificacin de los programas
Integracin de los datos
Esta tarea implica la combinacin de datos provenientes de distintas fuentes de informacin,
dichas fuentes pueden incluir BD, archivos planos o cubos de datos. Se deben considerar diversos
problemas durante la integracin, como es el problema de la redundancia, analizar si existen
datos que se refieren a la misma entidad en diferentes fuentes, la inconsistencia de los atributos.
Algunas redundancias pueden ser detectadas mediante un anlisis de correlacin.
Otro punto importante a considerar es la deteccin y resolucin de valores conflictivos de
los datos como son tener valores diferentes para un mismo objeto o entidad dependiendo de la
fuente de informacin, diferencias en la representacin o formatos de los atributos, etc.
Transformacin de los datos
Muchas veces los datos con transformados para darle una forma apropiada para la explotacin
de datos, esta tarea involucra las siguientes tcnicas:
Suavizacin: consiste en remover el ruido y se utilizan tcnicas como el encajado, agrupamiento y regresin.
Agregacin: consiste en aplicar funciones de resumen y de agregacin a los datos, normalmente se utiliza para la construccin de cubos de datos, para el anlisis con mltiples
granularidades.
Generalizacin de los datos: consiste en tomar datos de bajo nivel o informacin primitiva y reemplazarlos por un concepto de nivel superior a travs del uso de jerarquas
conceptuales.
Normalizacin: el objetivo es escalar los atributos de tal manera que caigan dentro de un
pequeo y especifico rango como puede ser de -1 a 0 y de 0 a 1
Construccin de atributos: consiste en insertar nuevos atributos y aadirlo al conjunto
actual para facilitar el proceso de explotacin de datos.

Reduccin de datos
Disminuye el tamao de los mismos, agregando o eliminando caractersticas redundantes o
realizando clustering.
Las tcnicas de reduccin se aplican para obtener una representacin reducida del conjunto
de datos que es mucho menor en volumen, pero mantiene la integridad de los datos originales.
Las estrategias para la reduccin son:
Agregado al cubo de datos

Minera de Datos

80

Reduccin de dimensionalidad: los atributos poco relevantes o redundantes son removidos.


Compresin de datos: se utilizan mecanismos de codificacin para reducir la longitud de
los datos
Reduccin numrica: consiste en reemplazarlos con representaciones de medidas numricas ms cortas
Discretizacin y generacin de jerarquas conceptuales:
Se utilizan para reducir el nmero de valores para un atributo continuo, se realiza dividiendo el rango del atributo en intervalos, las etiquetas de intervalos pueden ser utilizadas
para remplazar los valores de los datos actuales. La reduccin del nmero de valores para
un atributo tiene un beneficio al momento de utilizar mtodos de clasificacin basados en
arboles de decisin.
Una jerarqua conceptual nos permite ir ordenando los datos en cada paso de manera que
en cuanto ms pequeo es el nmero de valores distintos, mas rpido va a ser el proceso.
Para poder realizar una jerarqua conceptual pueden ser aplicadas diversas tcnicas de
discretizacin de manera recursiva.
Encajado
Anlisis de histogramas
Anlisis de cluster
Discretizacin: basada en la entropa(grado de conocimiento que se tiene de las cosas)
Reglas de asociacin
Las reglas de asociacin dentro de la Minera de Datos encuentran asociaciones o correlaciones a travs de grandes conjuntos de datos. El descubrimiento de relaciones de inters puede
ayudar en muchos procesos de toma de decisin dentro de las organizaciones, tales como diseo
de catalogo, marketing, anlisis de perdidas, etc.
Un ejemplo tpico de reglas de asociacin de Minera de Datos es el anlisis de la canasta del
mercado. Este proceso analiza los hbitos de los compradores encontrando asociaciones entre
los diferentes productos de los clientes en base a sus compras.
El descubrimiento de tales asociaciones puede ayudar a vendedores en la estrategia de
mercado o hallando cuales productos los clientes compran juntos.
Algunas preguntas asociadas a este tema son:
1. Como es posible hallar estas reglas, para grandes cantidades de datos donde estos son
transaccionales o relacionales?
2. Cada regla de asociacin es siempre la de mayor inters?
3. Como es posible guiar el proceso de minera para detectar dichas asociaciones?.
4. Que lenguaje de construccin es til para definir consultas con DM asociadas?

5.3

OLAP-OLTP
OLTP (On-line transaction processing): Bases de Datos orientadas al procesamiento de
transacciones donde se define el comportamiento habitual de un entorno operacional de gestin:
1. Altas, bajas, cambios y consultas
2. Consultas rpidas y escuetas
3. Poco volumen de informacin
4. Transacciones rpidas
5. Gran nivel de concurrencia
OLAP (on-line analytied process): Bases de datos orientadas al procesamiento analtico que
determina el comportamiento de un sistema de anlisis de datos y elaboracin de informacin:

5.4 Arquitectura de un Sistema Tpico de Minera de Datos


1.
2.
3.
4.

Solo consultas
Consultas pesadas y no predecibles
Gran volumen de informacin histrica
Operaciones lentas

Caractersticas
Tamao BD
Origen datos
Actualizacon
Periodo
Consultas
Actividad

5.4

81

OLTP
GB
Interno
On-line
Actual
Predecibles
Operacional

OLAP
GB a TB
Interno y Externo
Batch
Histrico
Ad Hoc
Analtica

Arquitectura de un Sistema Tpico de Minera de Datos


En el inicio del procesamiento de datos el tratamiento de informacin se realizaba mediante archivos secuenciales donde se almacenaban los datos que se procesaran, lo que a la
larga implicaba el tratamiento de archivos completos por los programas de aplicacin. Con la
necesidad del procesamiento de datos surgi un gran avance en los sistemas computacionales de
procesamientos de datos, lo que llevo a que dichos sistemas se hicieran de gran importancia por
lo que las empresas comenzaron a reconocer que la informacin era un recurso corporativo de
gran valor por lo que comenzaron a presionar a los sistemas de informacin para la gestin en
cuanto a la utilizacin de la potencia de la computadora para producir informacin a partir de los
datos corporativos.
Lo que comenz con la demanda de los sistemas de bases de datos, los que garantizaran
ms efectivamente el acceso a los datos y su manipulacin, cuyo fundamento era una estructura
jerrquica de los datos. Permitiendo la recuperacin de mltiples registros asociados con un
registro nico de otro archivo. Inmediatamente despus, se desarrollaron los sistemas de base de
datos en redes que soportaron interrelaciones entre registros de archivos diferentes mucho ms
complejas. [7]
En la Figura 5.2 se muestra la arquitectura de un Sistema Tpico de Minera de Datos. En
donde:
La Base de datos es un repositorio de informacin como lo son datawarehouse y hoja de
clculo, entre otras.
El servidor de base de datos se utiliza en los sistemas en red para obtener la informacin en
el proceso de minera de datos en el que se encuentre.
Base de conocimiento: referente al conocimiento del dominio para guiar la bsqueda, evaluar
los patrones, meta-datos y obtencin de conocimiento previo de los datos
Algoritmo de minera de datos: Permite realizar diferentes tipos de anlisis como la caracterizacin, asociacin, clasificacin, anlisis de grupos, evolucin y anlisis de desviaciones.
La evaluacin de patrones: son medidas para conocer la importancia de los patrones e
interactuando con el algoritmo de minera de datos gua la bsqueda hacia patrones interesantes.
Interfaz grfica: permite la interaccin con el usuario, permite la eleccin de la tarea de
minera de daos, provee la informacin para enfocar la bsqueda, ayuda a evaluar los patrones,
explorar los patrones encontrados y la base de datos original y visualizar los patrones en distintas
formas

Minera de Datos

82

Figura 5.2: arquitectura de un Sistema Tpico de Minera de Datos

5.4.1

Arquitectura Centralizada
Los sistemas de arquitectura centralizada se basan en la existencia de una mquina servidora
que almacena los datos y las aplicaciones que los procesan, por lo que se ejecutan en un nico
sistema informtico sin interaccionar con ninguna otra computadora.
Ventajas
Cuentan con un gran nivel de seguridad
Fcil de administrar
Desventajas
Representan un alto costo
El procesamiento de los datos implica que la mquina tenga una sobrecarga de procesos

5.4.2

Arquitectura De Bases de Datos Cliente/Servidor


La arquitectura de Base de datos Cliente/servidor se basa en la existencia de dos tipos de
aplicaciones ejecutndose de forma independiente las cuales fungen una como servidor a la que
se le realizaran las peticiones y la otra como cliente la que pedir la informacin al servidor
Ventajas
Realiza un reparto de cargas
Sistema fcilmente escalable
Desventajas
Requiere un fuerte rediseo de todos los elementos involucrados en los sistemas de
informacin
Implica un gran gasto en su implantacin

5.5 Otras Tcnicas Computacionales en Minera de Datos

83

Figura 5.3: Arquitectura Centralizada

Figura 5.4: Arquitectura De Bases de Datos Cliente/Servidor

5.5

Otras Tcnicas Computacionales en Minera de Datos


Las tcnicas estadsticas y de investigacin operativa son las herramientas bsicas que se han
empleado en la minera de datos. En los ltimos aos se han incorporado, tanto a los paquetes
estadsticos tradicionales, como a los sistemas de minera de datos unas tcnicas estadsticas y
algoritmos que resultan especialmente tiles al analizar grandes volmenes de informacin. [9]

Minera de Datos

84
5.5.1

Sistemas Expertos
Sistemas de la informacin que simulan el comportamiento de expertos humanos en el
proceso de toma de decisiones, para lo que requiere una base de datos de conocimiento para la
cual se definen diferentes reglas de comportamiento que regulan el funcionamiento del programa.
Cuentan con un motor de inferencia el cual es el encargado de gestionar los datos de entrada, a
medida que se usa el sistema experto se incorpora nueva informacin en la base de datos con el
objetivo que el sistema tenga un proceso de aprendizaje.

5.5.2

Lgica Difusa
Mtodo de razonamiento implementado en diversos modelos y productos industriales para
representar situaciones en las que los problemas de clasificacin estn afectados de incertidumbre,
es similar al pensamiento humano, que puede procesar informacin incompleta o incierta,
caracterstico de muchos sistemas expertos.

5.6

Aplicaciones de la Minera de Datos


Recuperacin de Informacin
Sistemas Mdicos
Anlisis de genes y protenas
Trfico
Hbitos de compra
Identificacin de patrones en recursos humanos
Comportamiento en Internet
Juegos
Terrorismo
Y en diversas reas de la ciencia e Ingeniera en donde se requiera el procesamiento de la
informacin.

5.7

Herramientas Informticas
Se han desarrollado diversos programas de minera de datos entre los que podemos encontrar:
Weka: contiene una coleccin de herramientas de visualizacin y algoritmos para anlisis
de datos y modelado predictivo, unidos a una interfaz grfica de usuario para acceder fcilmente
a sus funcionalidades. En un inicio se utilizo para modelar algoritmos implementados en otros
lenguajes de programacin, ms unas utilidades para el procesamiento de datos desarrolladas en
C para hacer experimentos de aprendizaje automtico.
Clementine: Herramienta de data mining que permite desarrollar modelos predictivos y desplegarlos para mejorar la toma de decisiones. Est diseada teniendo en cuenta a los usuarios
empresariales, de manera que no es preciso ser un experto en data mining.
SAS Analytics / SAS: Suite de soluciones analticas que permiten transformar todos los datos de
la organizacin en conocimiento, reduciendo la incertidumbre, realizando predicciones fiables y
optimizando el desempeo.
RapidMiner / Yale: Es el lder mundial de cdigo abierto para la minera de datos debido
a su combinacin de su tecnologa de primera calidad y su rango de funcionalidad. Esta aplicacin de RapidMiner cubre un amplio rango de minera de datos. Adems de ser una herramienta

5.8 ACTIVIDADES DE APRENDIZAJE

85

flexible para aprender y explorar la minera de datos, la interfaz grfica de usuario tiene como
objetivo simplificar el uso para las tareas complejas de esta rea.

5.8

ACTIVIDADES DE APRENDIZAJE
Los archivos necesarios para el siguiente ejercicio se encuentran en la pgina:http://
repository.seasr.org/Datasets/UCI/arff/
1. Anlisis de los datos
1.1. Obtencin de los datos
Descargar el siguiente conjunto de datos:
iris data set: iris.arff
Abrir el archivo de datos con un editor, y estudiar su contenido:
1. Cuntos atributos caracterizan los datos de esta tabla de datos?
2. Si suponemos que queremos predecir el ltimo atributo a partir de los anteriores, estaramos
ante un problema de clasificacin o de regresin?
1.2. Estudio estadstico de los datos
Lanzar la herramienta weka
Lanzar el Explorer
Abrir el _chero iris.arff
Una vez cargado el conjunto de datos, en la seccin attributes se puede dar click sobre cada
atributo para obtener informacin estadstica de ellos. Contestad a las siguientes preguntas:
1. Cul es el rango de valores del atributo petalwitdth?
2. Con la informacin que puedes obtener visualmente, qu atributo/s crees que son los que
mejor permitirn predecir el atributo class?
1.3. Aplicacin de filtros
1. Aplicar el filtro filters/unsupervised/attribute/normalize sobre el conjunto de datos. Qu
efecto tiene este filtro?
2. Aplicar el filtro filters /unsupervised/instance/RemovePercentage sobre el conjunto de
datos. Qu efecto tiene este filtro?
3. Grabar el conjunto de datos como iris2.ar_.
4. Aplicar el _ filtro filters /unsupervised/attribute/Discretize sobre el conjunto de datos. Qu
efecto tiene este filtro?
1.4. Visualizacin
Volver a cargar el conjunto de datos iris2.arff. Pulsar la pestaa Visualize. Aumentar Point Size a
5 para visualizar los datos mejor.
1. Aumentar el valor de Jitter Qu efecto tiene?
2. Clasificacin

86

Minera de Datos

El objetivo de este ejercicio es familiarizarse con las primeras tcnicas de anlisis de datos. En
concreto, con los rboles de decisin.
2.1. Clasificador ZeroR
Cargar el conjunto de datos iris.arff.
En la pestaa Classify, seleccionar el clasificador ZeroR.
En las Test Options seleccionar Use trainning set, y pulsar el botn de Start para que
genere el clasificador.
En un instante, en la ventana de salida aparecern los datos de la clasificacin realizada.
Analizar esta salida.
1. Qu modelo genera el clasificador ZeroR?
2. Cuntas instancias del conjunto de entrenamiento clasifica bien?
3. Qu porcentaje de instancias clasifica bien?
4. Qu crees que indica la matriz de confusin?
2.2. Clasificador J48
Cargar el conjunto de datos iris.arff. En la pestaa Classify, seleccionar el clasificador
trees/j48.
En las Test Options seleccionar Use trainning set, y pulsar el botn de Start para que
genere el clasificador.
1. Cuntas hojas tiene el _rbol generado con J48?
2. Cuntas instancias del conjunto de entrenamiento clasifica bien?
3. Qu porcentaje de instancias clasifica bien?
4. Analizar la matriz de confusin: qu ha clasificado mal?
5. Pulsar el botn de More Options y seleccionar la opcin de Output predictions. En
qu instancias se ha equivocado?
6. Elegir una instancia que J48 haya clasificado errneamente y a analizar por qu
Adems, utiliza alguna de las herramientas de visualizacin de Weka:
En la ventana de Result list, pulsa en el botn derecho sobre el modelo generado con J48
para desplegar las opciones. Pulsa sobre Visualize Tree
En la ventana de Result list, pulsa en el botn derecho sobre el modelo generado con J48
para desplegar las opciones. Pulsa sobre Visualize Errors
2.3. Clasificador ID3
Cargar el conjunto de datos iris.arff. Seleccionar el clasificador ID3 y utilizarlo para generar un rbol de decisin.
1. Has podido ejecutar el algoritmo ID3 sobre el conjunto de datos directamente? Por qu?
2. Qu acciones has llevado a cabo para poder ejecutarlo?
3. Qu porcentaje de xito sobre el conjunto de entrenamiento has obtenido?
4. Qu porcentaje de xito obtienes si utilizas como mecanismo de evaluacin la validacin
cruzada?
5. Qu porcentaje de xito estimas que obtendrs en el futuro sobre nuevos datos con el
rbol generado con ID3?
2.4. rboles de Regresin
Cargar el conjunto de datos cpu.arff. Entre los algoritmos ID3, J48 y M5P, elegir uno de

5.8 ACTIVIDADES DE APRENDIZAJE

87

ellos para aproximar el atributo class sin que sea necesario tratar los datos de entrada de ninguna
forma.
1. Qu algoritmo has elegido? Por qu?
2. Qu porcentaje de error obtienes si utilizas como mecanismo de evaluacin la validacin
cruzada?
3. Por qu no disponemos ahora de una matriz de confusin?

3. Agrupacin
El objetivo de este ejercicio es familiarizarse con algunas tcnicas de agrupacin. Para ello,
vamos a utilizar tambin el conjunto de datos iris.arff.
Cargar el conjunto de datos iris.arff.
Eliminar el atributo class
Ejecutar el algoritmo SimpleKMeans para generar 3 grupos. Qu medida de rendimiento
genera Weka?
Qu valor proporciona?
Ejecutar el algoritmo SimpleKMeans para generar 5 grupos. Cmo mejora la medida de
rendimiento?
Utilizar la herramienta de visualizacin de grupos para comparar los dos resultados.
Puedes obtener alguna conclusin?
Ejecutar el algoritmo EM con los parmetros por defecto. Cuntas distribuciones genera?
Hay alguna relacin con alguno de los resultados generados con SimpleKMeans?

4. El Experimenter
El objetivo de este ejercicio es familiarizarse con una herramienta avanzada de anlisis de
datos integrada en Weka, denominada Experimenter. Esta herramienta permite ejecutar distintos
algoritmos de minera de datos sobre distintos conjuntos de datos, de forma que su ejecucin
secuencial hace ms rpida su ejecucin, as como la evaluacin de los resultados.
Para ello, seguir los siguientes pasos:
Pulsar el botn New para generar un nuevo experimento
Seleccionar los conjuntos de datos: iris.ar_, soybean.ar_ y labor.ar_
Seleccionar los clasificadores: J48,IBK con K = 1, IBK con K = 3, IBK con K = 5, y SVO
En el apartado Results Destination seleccionar CSV file y utilizar el botn de Browse para
elegir el archivo
Pulsar la pestaa Run y pulsar el botn de Start
Una vez finalizado el proceso, abrir una hoja de clculo, y cargar el archivo CSV.
En ese archivo, se muestra en cada fila los datos de cada ejecucin, incluyendo el conjunto
de datos, el clasificador utilizado con sus parmetros, as como datos sobre sus resultados
Localizar la columna que mide el porcentaje de xito
Obtener la media del porcentaje de xito para cada clasificador y conjunto de datos

Una vez realizados los pasos anteriores, responder a las siguientes preguntas:
Qu resultados ha obtenido cada clasificador en cada conjunto de datos?

88

Minera de Datos

Qu algoritmo ha obtenido mejores resultados en cada conjunto de datos?


Son los resultados del mejor algoritmo mucho mejores que los del resto?

5.9

MATERIAL DE REFERENCIAS A CONSULTAR * OPCIONAL


[1] msdn.microsoft.com/es-es/library/ms174949.aspx
[2] www.sinnexus.com/business_intelligence/datamining.aspx
[3] www.webmining.cl/2011/01/proceso-de-extraccion-de-conocimiento/
[4] Universidad de Panam, Universidad Carlos III de Madrid, Gestin y Tecnologa del
Conocimiento, Minera de datos, Agosto-Septiembre, 2008
[5] Minera de Datos, Teleprocesos y Sistemas Distribuidos, FACENA-UNNE, Octubre, 2003
[6] Pang-Ning Tan, Michael Steinbach, Vipin Kumar , Introduction to Data Mining, PEARSON,
Addison Wesley, 2006, Boston, USA, 2006
[7] scar Gonzlez Martn, Francisco Ruiz Gonzlez, 1999/2000. Arquitecturas De Sistemas
de bases de datos, Universidad de Castilla la mancha, Escuela superior de informtica Bases de
datos.
[8] Jess Antonio Gonzlez Bernal, Minera de Datos, Universidad Politcnica de Puebla
[9] Jos Ma. Caridad Y Ocerin, La Minera de Datos: Anlisis de Bases de Datos en la Empresa,
2001, Universidad de Crdoba, Boletn de la Real Academia de Crdoba 141, 357-370

5.10

Bibliografa
Garofalakis, M..; Rastogi, R.; Seshadri, S. & Shim, K. (1999). Data Mining and the Web: Past,
Present and Future, Proceedings of 2nd ACM International Workshop on Web Information and
Data Management (WIDM), pp. 43-47, Missouri, USA, November 1999, ACM, Kansas City
Hernndez J. A. (2013). Generacin, Tratamiento y Anlisis de Informacin en las Organizaciones. Juan Pablos Editor. Universidad Autnoma del Estado de Morelos. 174 p. ISBN:
978-607-7771-96-8.
Hernndez, J.; Ochoa, A.; Muoz, J. & Burlak, G. (2006). Detecting cheats in online student assessments using Data Mining, Proceedings of The 2006 International Conference on Data
Mining (DMIN2006), pp. 204-210, Las Vegas, USA, June 2006, Nevada City.
Ponce J., Hernndez A., Ochoa A., Padilla F., Padilla A., lvarez F. and Ponce de Len E.
(2009). Data Mining in Web Applications. En el libro Data Mining and Knowledge Discovery in
Real Life Applications, Editado por Julio Ponce and Adem Karahoca, ISBN 978-3-902613-53-0,
Enero.
Varan, S. (2006). Crime Pattern Detection Using Data Mining, Oracle Corporation.
Wahlstrom K., & Roddick J. (2000). On the Impact of Knowledge Discovery and Data Mining,
Proceedings of Australian Institute of Computer Ethics Conference (AiCE2000), Canberra,
Australia, April 2000, Sydney City.

6 Datos Temporales y Datos


Espaciales

Elaborado por: Cristina Bender - Claudia Deco


Universidad Nacional de Rosario
Universidad Catlica Argentina, Campus Rosario

6.1
6.1.1

Bases de Datos Temporales (Temporal DataBases)


Introduccin
Una gran variedad de aplicaciones del mundo real manejan datos variables con el tiempo.
Por ejemplo: aplicaciones financieras, tales como el manejo de portafolios, los libros contables,
los movimientos bancarios, etc.; aplicaciones que requieren mantenimiento de registros, tales
como los registros mdicos (historias clnicas); el manejo de inventarios, el control de personal,
etc.; aplicaciones de programacin de reservas para hoteles, trenes, aviones; aplicaciones para la
toma de decisin, en los almacenes de datos (DataWarehouse); aplicaciones cientficas, tales
como aquellas para monitoreo del clima, aquellas que requieren en un laboratorio cientfico
la realizacin de muchos tests, muchas versiones del mismo test, y donde cada test involucra
secuencias precisas de tiempo; entre otras. Todas estas aplicaciones requieren almacenar datos
junto con referencias temporales. Esto nos lleva a la necesidad del uso de Bases de Datos
Temporales.
Las Bases de Datos Temporales estn entonces diseadas para poder capturar informacin
variante en el tiempo a la vez que proporcionan un marco para mantener la historia de los cambios
producidos en una fuente de datos.
Los trabajos sobre Bases de Datos Temporales se han centrado en el enriquecimiento con
el agregado de caractersticas de tiempo de los modelos tradicionales (relacional y orientado a
objetos) de las bases de datos y los lenguajes de consulta como el SQL.
En las bases de datos, un Dato es una representacin codificada de los hechos; en las Bases
de Datos Temporales un Dato Temporal es una representacin codificada de los hechos con el
agregado de marcas de tiempo. Esto es, en una Base de Datos Temporal cada hecho registrado
tiene una marca de tiempo asociada. Entonces, tomando como base el modelo relacional, en una
Base de Datos Temporal Relacional una relacin temporal es aquella en que cada tupla contiene
al menos una marca de tiempo.
Por ejemplo, sean las tres sentencias siguientes:
1. El proveedor S1 fue contactado (para ser contratado) el 01/07/99.
2. El proveedor S1 fue contratado el 01/07/99.
3. El proveedor S1 fue contratado durante el perodo comprendido desde el 01/07/99 hasta
hoy.
Sea una relacin R(S#, Fecha), donde el atributo S# corresponde al cdigo del proveedor,
y el atributo Fecha contiene la fecha indicada en la sentencia. Todas las sentencias anteriores

90

Datos Temporales y Datos Espaciales

son representables en R con la tupla (S1; 01/07/99). Pero las tres sentencias anteriores no
son equivalentes. La primera sentencia dice lo que pas en un momento dado, mientras que las
sentencias 2 y 3 s son equivalentes dado que se refieren a lo que pas en un perodo de tiempo.
Las Bases de Datos convencionales manejan bien la informacin que se produce en un
instante dado de tiempo, pero no aquella relacionada con un intervalo de tiempo. Esto es, dados
dos hechos a y b, las Bases de Datos Temporales deben ser capaces de utilizar los operadores
de Allen para responder cuestiones como las siguientes: a ocurre antes (before) que b, a ocurre
al mismo tiempo (equals) que b; cuando termina a, comienza (meets) b; a y b se solapan (a
overlaps b); a ocurre durante (during) b; a y b comienzan juntos (a starts b); y, a y b finalizan
juntos (a finishes b).
En el Apartado 6.4.1. de este captulo se lista la bibliografa utilizada en este apartado y que
es orientativa para profundizar el tema de Bases de Datos Temporales.
6.1.2

El Tiempo en las Bases de Datos Temporales


El tiempo es infinito y continuo. Para representarlo, se transforma en un conjunto discreto,
esto es un conjunto de puntos denominados grnulos. As, la lnea del tiempo ser una secuencia
de puntos de alguna granularidad. Por ejemplo, la sentencia Martn naci en Npoles el 10 de
Junio de 1986 se puede representar como un Instante, considerando una granularidad de Das.
La sentencia Raquel estuvo en lista de espera de Enero a Octubre corresponde a un Intervalo
con una granularidad de Meses. La sentencia Ezequiel estudi Letras de 2001 hasta 2004 y
Psicologa de 2005 hasta 2007 es un Elemento temporal con una granularidad de Aos.
Hay dos nociones de tiempo relevantes en una Base de Datos Temporales: el Tiempo Vlido
y el Tiempo Transaccional. El Tiempo Vlido es el momento en el cual un hecho es cierto en la
realidad que modela. El Tiempo Transaccional es el momento en el cual un hecho se graba en la
base de datos. Estos tiempos no tienen por qu coincidir. Por ejemplo, supongamos que tenemos
una base de datos temporal con datos sobre el siglo XVIII; el tiempo vlido para estos hechos es
algn momento entre 1700 y 1799; y el tiempo transaccionalcomienza cuando se insertan los
hechos en la base de datos, por ejemplo 2 de marzo de 2014.
Entonces, el Tiempo Vlido (Valid Time) es el tiempo en el cual el evento ocurre en la
realidad modelada, independientemente de si dicho evento fue registrado o no en una base de
datos. Los Tiempos Vlidos pueden encontrarse en el pasado, en el presente o en el futuro (si es
un hecho que un evento ocurrir en un cierto momento). Por definicin, todos los eventos tienen
asociado un Tiempo Vlido, pero muchas veces los Tiempos Vlidos no necesitan ser registrados
en una base de datos; por ejemplo, si son desconocidos o irrelevantes. Y el Tiempo Transaccional
(Transaction Time) es el tiempo en el cual un evento se hizo presente en una base de datosen la
forma de un dato almacenado. Esto es, el Tiempo Transaccional captura los distintos estados de
una base de datos.
Los Tiempos Vlidos y los Tiempos Transaccionales son ortogonales, esto es, son independientes entre s. El Tiempo Vlido puede ser limitado o ilimitado, pero el Tiempo Transaccional es
siempre limitado en ambos extremos, dado que comienza al crearse la base de datos y no supera
el momento actual. Sucesivas transacciones pueden mencionar una variedad de Tiempos Vlidos
(pasados, presentes o futuros) e involucran Tiempos Transaccionales que crecen montonamente.
Los modelos de datos y los Sistemas de Gestin de Bases de Datos pueden manejar alguno
de estos tiempos, ambos o ninguno. As, las dos nociones de tiempo, tiempo vlido y tiempo
transaccional permiten la distincin de diferentes formas de Bases de Datos Temporales: una
base de datos histrica que almacena datos con respecto a un tiempo vlido; una base de datos
rollback que almacena datos con respecto al tiempo de transaccin; una base de datos snapshot
que almacena slo un estado del mundo real, usualmente el estado ms reciente; o una base de
datos bitemporal que almacena datos con respecto a las dos nociones de tiempo, y posee cuatro

6.1 Bases de Datos Temporales (Temporal DataBases)

91

atributos temporales (tiempo inicial vlido, tiempo final vlido, tiempo inicial de transaccin, y
tiempo final de transaccin).
6.1.3

Extensiones al Modelo Relacional


Hay dos formas de extender el modelo relacional, a travs de un marcaje de las tuplas o
mediante un marcaje de los atributos.
El marcaje de tuplas es la forma ms comn en el modelo relacional. Indica que la validez
de una tupla viene determinada por un atributo temporal. Tpicamente se utilizan desde y
hasta para representar los intervalos de tiempo. Una desventaja es que una entidad puede estar
representada por varias tuplas, por lo que puede no lograrse una representacin 1:1 de la realidad
y por esto puede existir informacin redundante. Otra desventaja es que no permite reflejar la
evolucin de la identidad de las entidades (al heredar la 1NF del modelo relacional).
El marcaje de atributos incluye la informacin temporal como parte del atributo. Esto es,
tanto el valor de la marca de tiempo como la entrada a la que ste hace referencia se almacenan
en el mismo atributo de forma anidada. Esto permite reflejar la evolucin de los atributos
en el tiempo. Adems, se disminuye la redundancia de informacin. Gracias a los atributos
multivaluados se logra una correspondencia 1:1 entre la base de datos y la realidad. Sin embargo,
sigue habiendo problemas de actualizacin; y este es un modelo que no cumple la 1NF por lo
que su implementacin es ms difcil.

6.1.4

El modelo relacional temporal y TSQL


El modelo relacional temporal incorpora la semntica temporal en el modelo relacional. Este
modelo utiliza marcaje de tuplas. El lenguaje de consulta temporal se denomina TSQL y es un
superconjunto de SQL.
TSQL permite formular consultas relacionadas con la naturaleza especial del tiempo y sus
datos asociados. Todas las sentencias SQL son vlidas en TSQL y tienen la misma semntica.
Se permiten relaciones estticas y variables en el tiempo. Posee construcciones adicionales
al SQL tales como expresiones condicionales usando la clusula WHEN; expresiones para la
recuperacin de marcas temporales con y sin clculos; expresiones para la recuperacin de
informacin ordenada temporalmente; expresiones para la especificacin del dominio temporal;
funciones de grupo modificadas; y expresiones para la especificacin de la longitud de un
intervalo temporal.
Hay que mencionar que en estas bases de datos puede haber tres razones para que una
consulta devuelva un valor nulo. Se puede obtener un resultado nulo en una consulta si el valor
de un atributo fue almacenado nulo porque no se conoca en el momento de ser almacenado; o si
las condiciones especificadas en una clusula WHERE o WHEN no se pudieron satisfacer; o si
los datos no estaban disponibles en el perodo de tiempo especificado en la base de datos, por
ejemplo debido a discontinuidades en la historia del objeto.

6.1.5

Sistemas de Gestin de Bases de Datos Temporales


Un Sistema de Gestin de Bases de Datos Temporales debe soportar un lenguaje de definicin
de datos temporales, un sistema de restricciones temporales, un lenguaje de manipulacin de datos
temporales, y un lenguaje de consultas temporales. Esto es, el DDL (Lenguaje de Definicin de
Datos) de estos sistemas deber estar extendido para incluir los tiempos Vlido y de Transaccin
en la definicin de una tabla. Por otro lado, su DML (Lenguaje de Manipulacin de Datos)
deber ser capaz de insertar, modificar, borrar y consultar datos considerando los tiempos vlidos,
los tiempos transaccionales y el uso de los operadores de Allen, descriptos previamente.
Se mencionan aqu, a modo de ejemplo, dos implementaciones de Bases de Datos Temporales
en un Sistema de Gestin de Bases de Datos Relacionales. El primero es Oracle Workspace

Datos Temporales y Datos Espaciales

92

Manager (www.oracle.com) que, al momento del relevamiento realizado para este captulo,
permite manejar versiones actuales, futuras e histricas de los datos en la misma base de
datos, y cumple con el estndar TSQL2, que se describe en el prximo prrafo. El segundo
es TimeDB (www.timeconsult.com/Software/Software.html) que es una implementacin open
source, desarrollada en Java 1.4, corre como un front end de Oracle que acepta sentencias TSQL2
y genera sentencias SQL92.
6.1.6

TSQL2
Richard Snodgrass propuso en 1992 que la comunidad cientfica de las bases de datos
temporales realice extensiones a SQL. Formado un comit, se disearon extensiones a la edicin
1992 del estndar de SQL (ANSI X3.135.-1992 e ISO/IEC 9075:1992). Estas extensiones,
conocidas como TSQL2, se desarrollaron durante 1993. La versin definitiva de la especificacin
del lenguaje TSQL2 se public en septiembre de 1994. Algunas partes de TSQL2 se incorporaron
a un subestndar de SQL3 (de 1999) llamado SQL/Temporal (ISO/IEC 9075-7). Pero, el proyecto
ISO responsable para el soporte temporal fue cancelado a fines de 2001. La especificacin
TSQL2 incluye ideas y conceptos tales como Tiempo Vlido, Tiempo Transaccional, y Tablas
Bitemporales. En 2002, Chris Date, Hugh Darwen y Nikos Lorentzo presentan su libro Temporal
Data & the Relational Model donde tratan varios de estos trminos introducidos por TSQL2 y
tambin introducen formas normales que permiten resolver algunos de los problemas.
As, TSQL2 (digital.cs.usu.edu/{~}cdyreson/pub/temporal/tsql2.htm) es un
lenguaje de consulta temporal consensuado por un comit de grupos lderes de investigacin
en bases de datos temporales, y es una extensin de SQL-92. Una de las caractersticas de
TSQL2 es que incluye cuatro tipos de marcas de tiempo vlido: intervalos, instantes, perodos y
elementos. Asociadas a estas marcas de tiempo existen tres categoras de operadores relacionados
con la seleccin: extractores, constructores y comparadores. Los extractores de eventos son los
operadores BEGIN y END que pueden aplicarse a eventos, perodos y elementos. Los extractores
de perodos son FIRST y LAST. Los constructores de eventos son (tambin) FIRST y LAST.
Los constructores de perodos son PERIOD e INTERSECT. Los comparadores de elementos
son cuatro: PRECEDES, =, OVERLAPS y CONTAINS. El comparador de perodos es MEETS.
Todos los operadores de Allen pueden ser simulados mediante los comparadores de TSQL2.
TSQL2 tiene una variable, indicada con NOW, cuyo valor es el momento actual y es
especificado al momento de una consulta o de una actualizacin. El tiempo asignado a esta
variable depende de cundo se evala la consulta o la actualizacin, esto es el tiempo de referencia.
Otros nombres para esta variable son until changed, forever que corresponde a la mayor marca
de tiempo representable (en TSQL2 aproximadamente 18 billones de aos a partir del momento
actual); y begining que es similar a forever, pero representa el valor menos infinito.
TSQL2 soporta tiempos transaccionales, que son siempre crecientes. Esto ocurre porque
todas las actualizaciones lgicas, incluyendo las eliminaciones, se transforman en inserciones a
nivel fsico. Esto contrasta con los lenguajes no temporales (que manejan snapshots) donde las
eliminaciones lgicas y fsicas son equivalentes. Si alguna aplicacin desea eliminar fsicamente
datos antiguos, se tiene la operacin de aspirado (vacuuming). As, toda la informacin con
tiempo transaccional anterior a la fecha de corte indicada en la sentencia ser eliminada.
Actividad para el alumno:

Realizar un relevamiento actualizado de Sistemas de Gestin de Bases de Datos, comerciales y open source, que incluyan extensiones temporales. Analizar los sistemas hallados.
En los sistemas hallados, crear una base de datos que necesite manejar el tiempo y evaluar
si cumplen con los operadores de Allen.

6.2 Bases de Datos Espaciales (Spatial DataBases)

6.2

93

Bases de Datos Espaciales (Spatial DataBases)

6.2.1

Introduccin
Algunas aplicaciones en las que se utilizan bases de datos espaciales son las imgenes
satelitales, que son el ejemplo ms claro de datos espaciales; un modelo de circuitos integrados
de gran tamao (VLSI); los Sistemas de Informacin Geogrfica (SIGs), donde los datos son
una red de caminos y lugares de inters, y se utiliza para, por ejemplo el manejo de direcciones;
sistemas ambientales, donde los datos pueden corresponder a superficies de tierra, clima, lluvia y
fuegos forestales, y se utilizan para, por ejemplo, calcular el caudal de lluvias precipitadas; o,
sistemas para la toma de decisiones corporativas y sistemas de soporte empresarial, donde los
datos pueden ser, por ejemplo la ubicacin de sucursales y los clientes, y se pueden utilizar para,
por ejemplo, determinar la mejor ubicacin para una nueva sucursal.
Para estas aplicaciones se necesita representar Objetos en el espacio, y el Espacio propiamente dicho. Con Objetos se hace referencia a distintas entidades ubicadas en el espacio, cada
una con su propia descripcin geomtrica. De esta forma se pueden modelar ciudades, ros,
bosques., etc. Para representar el Espacio hay que caracterizar cada punto en el espacio. As, se
pueden modelar mapas temticos que indican, por ejemplo, la divisin de un pas en provincias o
la de una ciudad en distritos. Entonces, las Bases de Datos Espaciales registran esta informacin
mediante ciertas abstracciones.
Las abstracciones fundamentales para modelar objetos nicos (o individuales) son punto,
lnea, y regin. Los puntos representan un objeto para el cual slo su ubicacin (y no su extensin)
en el espacio es relevante. Por ejemplo, para un rea geogrfica muy extensa, una ciudad puede
representarse como un punto. Las lneas representan conexiones en el espacio. Por ejemplo,
una ruta, un ro o un tendido elctrico. Las regiones representan objetos con extensin en
dos dimensiones. Puede contener orificios y estar formada por piezas disjuntas. Por ejemplo,
una regin puede representar un pas, un lago o un parque nacional. Los conjuntos de objetos
relacionados espacialmente se modelan con particiones o redes. Una particin es un conjunto
de objetos de tipo regin que se requiere que sea disjunto. Un caso particular es la relacin
adyacente, donde las regiones tienen una frontera comn. Una red (network) consiste de un
conjunto de objetos punto que forman los nodos de un grafo y un conjunto de objetos que forman
los contornos que unen dichos nodos. Puede verse como un grafo dentro del plano. En la figura
6.1 se muestra un bosquejo de estas abstracciones.
Bsicamente existen dos clases distintas de Bases de Datos Espaciales que se diferencian de
acuerdo a la forma de obtener y manejar la informacin. Estas son Bases de Datos de Imgenes,
y Bases de Datos Espaciales. En las primeras, los datos se capturan como imgenes digitales y
contienen, por ejemplo, imgenes satelitales, tomografas computadas, etc. Las bases de datos de
imgenes permiten manejar fotos del espacio. El segundo tipo contiene conjuntos de objetos en
el espacio. Cada objeto tiene identidad, propiedades, localizacin y se relaciona con otros objetos
del espacio. Entonces, las bases de datosespaciales permiten manejar objetos en el espacio. Estas
ltimas son las que se describen en este captulo.
En el Apartado 6.4.2. de este captulo se lista la bibliografa utilizada en este apartado y que
es orientativa para profundizar el tema de Bases de Datos Espaciales.

6.2.2

Sistemas de gestin de Bases de Datos Espaciales


La incorporacin de extensiones para el manejo de datos espaciales radica en la necesidad de
manejar de forma integrada tanto los datos descriptivos como los datos espaciales o geomtricos
de los objetos que la forman. Los sistemas de gestin de bases de datos relacionales sirven para
datos no espaciales. Pero no son ptimos para consultas espaciales, tales como Localizar todas
las ciudades a no ms de 100 Km del ro Paran, y de ms de 100.000 habitantes, u Obtener
la ciudad ms cercana a un punto dado. Aqu, se trata con dos tipos de datos: espaciales y no

94

Datos Temporales y Datos Espaciales


Figura 6.1: Abstracciones fundamentales para modelar objetos

espaciales. Los datos espaciales corresponden a puntos discretos en el espacio, y un espacio


ocupado por fenmenos continuos que tienen extensin en dos dimensiones. Los datos no
espaciales pueden corresponder a, por ejemplo, nombres de regiones, lmite de velocidad en una
carretera, cantidad de pobladores de una poblacin, etc.
Una base de datos espacial debe permitir la descripcin de los objetos espaciales mediante
tres caractersticas bsicas. La primera es describir sus Atributos, esto es saber qu es un objeto
mediante la representacin de sus caractersticas. La segunda es describir su Localizacin, esto
es saber dnde est el objeto y qu espacio ocupa. La tercera corresponde a la descripcin de su
Topologa, esto es mejorar la interpretacin semntica del contexto y establecer jerarquas de
elementos a travs de sus relaciones.
Un sistema de gestin de bases de datos espaciales (SDBS, del ingls Spatial DataBase
System) es un sistema de base de datos donde la informacin espacial o geomtrica est ligada a
la informacin alfanumrica, esto es los datos que maneja cualquier base de datos. Pero ofrece
tipos de datos espaciales (punto, lnea y regin) en su modelo de datos y en su lenguaje de
consulta, soporta tipos de datos espaciales en su implementacin y provee indexacin espacial y
algoritmos para el join espacial. La caracterstica comn a todos estos sistemas de gestin es la
capacidad relativamente simple de manejar grandes colecciones de objetos geomtricos.
Entre los sistemas comerciales se pueden nombrar los siguientes: Oracle Spatial (www.
oracle.com); ESRI (www.esri.com), que es un software GIS de mapeo orientado al apoyo a
la toma de decisin; Intergraph (www.intergraph.com/), que provee software de aplicaciones
de ingeniera potenciado con aspectos geoespaciales; Galdos Systems (www.galdosinc.com),
que es un desarrollo de sistemas de tiempo real que se integran, validan y distribuyen datos
geoespaciales; y, Microsoft (www.microsoft.com), donde en su producto SQL Server 2008 ya
soporta datos espaciales.

6.2 Bases de Datos Espaciales (Spatial DataBases)

95

Entre las ofertas open source se pueden mencionar: PostGIS (postgis.refractions.net),


que es el soporte para objetos geomtricos para PostgreSQL; MySQL (www.mysql.com), que
ya en su versin 5.0 agrega soporte para datos espaciales; y, GraphDB (github.com/sones/
sones/tree/master/GraphDB/). Adems, existe el Consorcio OGC (Open Geospatial Consortium) (www.opengeospatial.org) que proporciona estndares OpenGIS, por ejemplo, el
modelo para Geography Markup Language (GML), que es una gramtica XML para expresar
caractersticas geogrficas.
Actividad para el alumno: Realizar un relevamiento actualizado de Sistemas de Gestin de
Bases de Datos Espaciales, comerciales y open source. Analizar los sistemas hallados.
6.2.3

Operaciones espaciales
Se tienen distintos tipos de operaciones espaciales, aquellas que devuelvan valores booleanos,
aquellas que devuelvan valores numricos, aquellas que devuelvan nuevos objetos espaciales, y
aquellas que se realizan en colecciones de objetos espacialmente relacionados. Las operaciones
que devuelven valores booleanos, corresponden a relaciones topolgicas (igual, disjunto, adyacente, interseccin, cubre, contiene, fuera, etc.), a orden espacial (detrs, en_frente, debajo,
por_sobre, etc.), y a relaciones direccionales (norte, sur, este, noreste, etc.). Algunas de las
operaciones que devuelven valores numricos son: rea, permetro, dimetro, distancia, distancia
mxima, y distancia mnima, entre otras. Las operaciones que devuelven nuevos objetos espaciales, se pueden subclasificar en operaciones de construccin (tales como unin, interseccin,
diferencia, centro, borde, etc.) y operaciones de transformacin (tales como extender, rotar,
trasladar, etc.).
Las operaciones que se realizan en colecciones de objetos espacialmente relacionados se
subclasifican en operaciones generales (por ejemplo, ms cercano, componer, descomponer,
etc.); operaciones para particiones (como ser fusin, superimposicin, cubrir, etc.), y operaciones
para redes (por ejemplo, encontrar el camino_mas_corto entre dos puntos).
Segn OpenGIS, la jerarqua de clases geomtricas es la siguiente:
Geometry (abstracta)
Point
Curve (abstracta)
LineString
 Line
 LinearRing
Surface (abstracta)
Polygon
GeometryCollection
MultiPoint
MultiCurve (abstracta)
 MultiLineString
MultiSurface (abstracta)
 MultiPolygon
La clase Geometry es no instanciable, pero tiene propiedades comunes a todos los objetos
geomtricos. Estas propiedades son Tipo, es decir a qu clase instanciable pertenece; SRID, o
sea el sistema de referencia que describe el espacio de coordenadas para el objeto (generalmente
es el espacio eucldeo); Coordenadas, que corresponden a nmeros de doble precisin (x,y);
Interior, Exterior y Lmite, esto es el espacio ocupado por la geometra, todo el espacio no
ocupado por la geometra y la interfaz entre ambos; MBR, que corresponde al mnimo rectngulo
que contiene la geometra; y Dimensin, que vale -1 para una geometra vaca, 0 para un punto,

Datos Temporales y Datos Espaciales

96

1 para una lnea, y 2 para una regin.


Luego, cada clase instanciable presenta propiedades particulares. Por ejemplo, para la clase
Point, se provee el valor de la coordenada X, valor de la coordenada Y, y el lmite es el conjunto
vaco; para la clase LineString se proveen los valores de las coordenadas de segmentos, si es
tipo Line se dan slo dos puntos, si es tipo LinearRing indica que es simple y cerrada; la clase
Polygon puede tener agujeros, su lmite es un conjunto de LineString.
6.2.4

Formatos de datos espaciales


Para intercambiar datos es necesario un estndar de representacin. En los datos espaciales
existen dos estndares para representar objetos geomtricos en las consultas: el Formato WKT
(Well Known Text) y el Formato WKB (Well Known Binary).
El formato WKT est diseado para intercambiar datos en tipo ASCII. Por ejemplo: un
punto se representa con sus coordenadas como POINT(15 20); una lnea con cuatro puntos se
representa con las coordenadas de esos cuatro puntos en la forma LINESTRING(0 0, 10 10, 20
25, 50 60); y un polgono con un anillo exterior y un anillo interior se representa de la forma
siguiente POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5)).
El formato WKB est diseado para intercambiar datos como cadenas binarias. Utiliza
enteros sin signo de 1 byte, enteros sin signo de 4 bytes, y nmeros de 8 bytes de doble precisin
(segn el formato IEEE 754). Por ejemplo, el punto (1,1) se representa con una secuencia de
21 bytes cada uno representado por dos dgitos hexadecimales, que puede descomponerse en la
forma siguiente:
Orden de byte
01

Tipo WKB
01000000

Coordenada X
0000000000F03F

Coordenada Y
0000000000F03F

Actividad para el alumno: A partir del relevamiento de Sistemas de Gestin de Bases de


Datos Espaciales, comerciales y open source, realizado en la Actividad anterior, analizar en cada
uno de los sistemas hallados cul es el estndar de representacin que utilizan para el intercambio
de datos y cul es la forma de representacin interna de los datos espaciales.
6.2.5

Extensiones espaciales en SQL. El caso de MySQL


Las extensiones espaciales permiten la generacin, el almacenamiento y el anlisis de
elementos geogrficos. Un entorno SQL con tipos geomtricos es un entorno en el cual al menos
una columna de una relacin contiene datos de tipo geomtrico. En particular, y a modo de
ejemplo, se describen brevemente algunas extensiones implementadas por MySQL siguiendo las
normativas del consorcio OGC.
La sentencia para la creacin de tablas con columnas espaciales, es la conocida en SQL,
excepto que las columnas son de un tipo espacial. Por ejemplo, la sentencia de creacin de la
tabla Geometrica con tres columnas, es la siguiente:
CREATE TABLE Geometrica (
Geom
GEOMETRY,
Origen_x
POINT,
Origen_y
POINT);
Para cargar datos en los atributos geomtricos, sus valores deben ser almacenados en el
formato interno, esto es, es necesario convertir los datos desde el formato de intercambio (WKT
o WKB) al formato interno del sistema de gestin. Tambin, los valores almacenados pueden
extraerse de 3 maneras diferentes, todas usando SELECT: en formato interno, en formato WKT,
en formato WKB.

6.3 Bases de Datos Espacio Temporales (Spatio-Temporal Databases)

97

Las operaciones que provee MySQL se agrupan en funciones que:


convierten las geometras a diversos formatos: AsBinary(g), AsText(g), GeomFromBinary(wkb), GeomFromText(wkt).
proveen acceso a las propiedades cuantitativas o cualitativas de una geometra. Estas
funciones toman como argumento un elemento geomtrico y devuelven como resultado
una propiedad del mismo. Pueden ser funciones genricas que se aplican a cualquier
geometra, o funciones particulares que corresponden a punto (Point), lnea (LineString) y
rea (Polygon).
describen relaciones entre dos geometras. Los estndares definen funciones que prueban
relaciones espaciales entre cualquier clase de objetos geomtricos, pero MySQL slo implementa funciones aplicadas a MBR (Minimal Bounding Rectangles). Entre las funciones
de relaciones espaciales entre los rectngulos que circunscriben a las geometras estn las
siguientes: un rectngulo contiene al otro, los rectngulos son disjuntos, los rectngulos
son iguales, los rectngulos se intersecan, los rectngulos se solapan, los rectngulos se
tocan, y el primer rectngulo se encuentra dentro del segundo rectngulo. El resultado de
todas estas funciones es booleano (1 por verdadero, 0 por falso).
crean nuevas geometras desde otras ya existentes. Entre estas, se tienen funciones que
retornan el mnimo rectngulo que circunscribe el valor geomtrico g; retornan el punto
inicial o el punto final de una lnea; devuelven una geometra que representa todos los
puntos cuya distancia a la geometra de partida sea menor que un dado valor; retornan
geometras cuyo valor es la resta, la interseccin o la unin entre dos geometras dadas.
Actividad para el alumno: Utilizando MySQL, crear una base de datos con datos espaciales,
generar una instancia y evaluar los resultados obtenidos al realizar consultas.

6.3
6.3.1

Bases de Datos Espacio Temporales (Spatio-Temporal Databases)


Introduccin
Un Sistema de Bases de Datos Espacio-Temporales, es un sistema de bases de datos cuyos
objetos tienen una geometra que cambia a lo largo del tiempo. Es decir, son sistemas que tienen
la capacidad de gestionar geometras en cambio continuo. En los ltimos aos ha habido mucho
trabajo en el rea de Bases de Datos Espacio-Temporales, tambin conocidas como bases de
datos de objetos mviles. Los campos de aplicacin incluyen: aplicaciones demogrficas, por
ejemplo para evaluar el desplazamiento de poblaciones; aplicaciones vinculadas a la ecologa,
por ejemplo para analizar el crecimiento / decrecimiento de bosques; aplicaciones de marketing
para, por ejemplo, analizar el movimiento de vendedores; aplicaciones para analizar fenmenos
naturales, por ejemplo el movimiento de huracanes; aplicaciones en el campo militar, por ejemplo
para evaluar el movimiento de tropas, o analizar regiones ocupadas; aplicaciones urbansticas,
por ejemplo para analizar el crecimiento / decrecimiento de ciudades; entre otros.
Si se considera una aplicacin de monitoreo de trfico, un sistema que contenga datos
temporales y datos espaciales podr responder cuestiones tales como: cantidad de vehculos que
hay en un rea de una ciudad, existencia de congestiones de trfico en alguna calle, informar
a la polica en caso de que ocurra un accidente, asegurar que no hay ms aviones en una ruta
dada, etc. Estas aplicaciones requieren manejar objetos cuya posicin espacial y/o forma cambia
en distintos instantes de tiempo. Entonces, es necesario que un Sistema de Bases de Datos
Espacio-Temporales sea capaz de representar modelos muy cercanos al mundo real, con todo el
dinamismo que esto implica y administrar objetos que cambian su ubicacin y/o forma a travs
del tiempo.
Un objeto espacio-temporal tiene un identificador o clave primaria, una localizacin y forma

98

Datos Temporales y Datos Espaciales

espacial, alguna propiedad temporal y caractersticas que lo describen. Los modelos de tiempo y
espacio pueden ser discretos o continuos, pero en cualquiera de estas dos alternativas dos objetos
no pueden estar en el mismo punto en el espacio y en el tiempo.En el Apartado 4.3. de este
captulo se lista la bibliografa utilizada en este apartado y que es orientativa para profundizar el
tema de Bases de Datos Espacio Temporales.
6.3.2

Consultas sobre Datos Espacio Temporales


Respecto a las consultas sobre este tipo de datos, se tienen distintas perspectivas. En los
ejemplos siguientes se podrn apreciar las diferencias.
Ejemplo 1: Reportar continuamente la cantidad de autos en una autopista. El tipo de esta consulta
es consulta de rango, El tiempo es el presente, la duracin es continua, el que consulta
est esttico, y el objeto de consulta est en movimiento.
Ejemplo 2: Cules son las estaciones de servicio ms cercanas para la prxima hora? La
consulta es de tipo nearest-neighbor, el tiempo es futuro, la duracin es continua, el que
consulta est en movimiento, y el objeto de consulta est esttico.
Ejemplo 3: Enviar un mensaje a los autos informndoles que soy la estacin de servicio ms
prxima. La consulta es de tipo nearest-neighbor inversa, el tiempo es presente, la duracin
es snapshot, el que consulta est esttico, y el objeto de consulta est en movimiento.
Ejemplo 4: Cul fue la menor distancia entre el banco A y yo en el da de ayer?. La consulta es
de tipo consulta de punto ms cercano, el tiempo es pasado, la duracin es snapshot, el
que consulta est en movimiento, y el objeto de consulta est en movimiento.
Un sistema de bases de datos espacio-temporales deber ser capaz de responder estos tipos
de consulta.

6.3.3

Extensin Espacio-Temporal del Modelo Entidad-Relacin


MADS es un modelo conceptual basado en una extensin del modelo Entidad-Relacin
[Parent et al., 1999]. Incluye varias dimensiones de modelado: estructural, espacial, temporal y multirepresentacin. Todas estas dimensiones son ortogonales, es decir que pueden ser
incorporadas libre e independientemente a los esquemas.
Las dimensiones espacial y temporal se organizan a partir de una serie de tipos de datos
dispuestos jerrquicamente. A nivel espacial partiendo de una clase genrica Geo, existen Point,
Line, Oriented Line, Simple Region, Point Set, Line Set, entre otras. A nivel temporallos datos
pueden variar continuamente o discretamente. Se asocia a cada objeto un ciclo de vida, tomando
alguno de los valores not-yet-existing, active, suspended o disabled. Los tipos de datos asociados
a los objetos temporales son Temporal (genrico), Instant, Interval, Instant Set e Interval Set. Por
ejemplo, el esquema MADS de una aplicacin para monitoreo de fuentes de agua se visualiza en
la figura 6.2.
En este modelado de requerimientos, se debe representar objetos con posicin en el espacio y
el tiempo; capturar cambios continuos o discretos de posicin en el espacio a lo largo del tiempo;
definir atributos del espacio y la organizacin de ellos entre capas y campos; capturar el cambio
de atributos espaciales a lo largo del tiempo; conectar atributos espaciales a objetos; representar
relaciones espaciales entre objetos en el tiempo y representar relaciones entre atributos espaciales
en el tiempo; especificar restricciones de integridad espacio-temporal, impuestas por el usuario o
por el diseador de la base de datos.
Sean los objetos geomtricos A y B, y el tiempo T. Los operadores espaciales que pueden usarse son AREA(A), LENGTH(A), DISJOINT(A,B). Los operadores temporales son BEGIN(A),
END(A), T-BEFORE(A,B), INTERVAL (tiempo inicial, tiempo final). Respecto a los operadores
espacio-temporales se tienen los siguientes: un operador de ubicacin-temporal ST_SP(A,T),
que devuelve la representacin espacial del objeto A vlido en el tiempo T; un operador de

6.3 Bases de Datos Espacio Temporales (Spatio-Temporal Databases)

99

Figura 6.2: Esquema MADS de una aplicacin para monitoreo de fuentes de agua

orientacin-temporal, que devuelve un valor booleano indicando si existe una relacin especfica
entre dos objetos A y B; un operador mtrico-temporal que considera el objeto mtrico A en el
tiempo T, ST_AREA(A,T), y la distancia entre dos componentes espaciales A y B en el tiempo
T, ST_DISTANCE(A,B,T); y un operador topolgico-temporal, que devuelve un booleano indicando la relacin topolgica entre A y B durante el tiempo T, ST_DISJOINT(A,B).
Actividad para el alumno: Realizar un relevamiento de Sistemas de Gestin de Bases de
Datos Espacio Temporales, comerciales y open source. Analizar los sistemas hallados.
6.3.4

SQLST
SQLST es un lenguaje para el manejo de informacin espacio-temporal. Es una extensin del
SQL estndar, esto es preserva su estructura y slo aade tipos de datos temporales (DAY), espaciales (POINT, LINE y REGION), y operadores (AREA, OVERLAP, MOVING_DISTANCE).
El tiempo se representa discretamente, y los cambios de las geometras, ya sea en forma o
posicin, son discretos.
A modo de ejemplo, consideremos un escenario correspondiente a incendios forestales. En
este escenario se maneja informacin sobre bosques, incendios y bomberos. Se necesitan as las
relaciones bosque, incendio y bombero:
CREATE TABLE bosque
(nombre CHAR(30),
territorio REGION);

Datos Temporales y Datos Espaciales

100
CREATE TABLE incendio
(nombre CHAR(30),
extensin REGION,
da DAY)
CREATE TABLE bombero
(nombre CHAR(30),
ubicacin POINT,
da DAY)

En la figura 6.3, se presenta una instancia con datos correspondientes a las tres relaciones
creadas
Figura 6.3: Instancia con datos de las relaciones creadas

Si se desea saber, por ejemplo, Cundo y dnde alcanz el incendio Gran L su mxima
extensin? , una expresin para la consulta es:
SELECT F1.dia, F2.extension, AREA(F1.extension)
FROM incendio AS F1 F2
WHERE F1.nombre="Gran L" AND F2.nombre="Gran L" AND F1.dia=F2.dia
GROUP BY F1.dia
HAVING AREA(F1.extension) =
(SELECT MAX(AREA(extension)) FROM incendio
WHERE nombre="Gran L");
cuyo resultado se indica en la figura 6.4

6.4 Bibliografa

101
Figura 6.4: Resultado de Consulta

En la consulta anterior, se pueden evitar el self-join y las clusulas GROUP BY y HAVING,


escribiendo la consulta de la forma siguiente:

SELECT dia, extension, AREA(extension)


FROM incendio
WHERE nombre="Gran L"
AND AREA(extension) =
(SELECT MAX(AREA(extension))
FROM incendio
WHERE nombre="Gran L");

Actividad para el alumno: Utilizando alguno de los sistemas encontrados en la Actividad


anterior crear una base de datos con datos temporales y datos espaciales, y generar una instancia.
A partir de un conjunto de consultas que necesiten utilizar ambos tipos de datos, analizar las
respuestas obtenidas.

6.4
6.4.1

Bibliografa
Bases de Datos Temporales
[Allen, 1983] Allen, Maintaining Knowledge about Temporal Intervals. Communications of the
Association of Computing Machinery, 26, No. 11, Nov. 1983.
[Celko, 2005] Celko J. Joe Celkos SQL for Smarties: Advanced SQL Programming. The
Morgan Kaufmann Series in Data Management; Morgan Kaufmann; 3rd edition. 2005.
[Date et al., 2002] Date C.J., Darwen H., Lorentzos N. Temporal Data & the Relational Model,
First Edition. The Morgan Kaufmann Series in Data Management Systems; Morgan Kaufmann;
1st edition. 2002.
[Jensen and Sondgrass, 1996] Jensen and Sondgrass, Semantics of Time-Varying Information. Information Systems, 21, 1996.
[Sarda, 1990] Sarda, Extensions to SQL for Historical Databases. IEEE Transactions on Knowledge and Data Engeneering, 2, No. 2, June 1990.

102

Datos Temporales y Datos Espaciales

[Snodgrass, 1986] Snodgrass R.T. Temporal Databases. IEEE Computer, 19, No. 9, Sep. 1986.
[Snodgrass, 1995] Snodgrass R.T. TSQL2 Temporal Query Language. Computer Science Department of the University of Arizona. Disponible en www.cs.arizona.edu/~rts/tsql2.html.
[Snodgrass, 1999] Snodgrass R.T. Developing Time-Oriented Database Applications in SQL.
The Morgan Kaufmann Series in Data Management Systems. Morgan Kaufmann. 1999.
[Wiederhold et al., 1991] Wiederhold, Jajodia and Litwin. Dealing with Granularity of Time in
Temporal Databases. Proc. 3rd Nordic Conf. On Advanced Information Systems Engeneering,
May 1991
6.4.2

Bases de Datos Espaciales


[Gould, ] Gould M. Infraestructura de datos espaciales. Departamento de Lenguajes y Sistemas
Informticos. Universitat Jaume I. Disponible en gvsig-desktop. forge. osor. eu/ .. ./
Infraestructuras_ de_ Datos_ Espaciales. pdf
[Gting, 1994] Gting R. An introduction to Spatial Database Systems. VLDB Journal, Oct. 1994.
[MySql] MySQL 5.0 Reference Manual.
[Shekhar and Chawla, 2003] Shekhar S. & Chawla S. Spatial Databases: A Tour. Prentice
Hall, 2003. ISBN 013-017480-7. Disponible en www.spatial.cs.umn.edu/Book/. 2003.
[Yeung et al., 2007] Yeung A., Hall K.W., Brent G. Spatial Database Systems. Design, Implementation and Project Management Series: GeoJournal Library, Vol. 87 2007, XII, 554 p.
ISBN: 978-1-4020-5391-7. 2007.

6.4.3

Bases de Datos Espacio Temporales


[Chen et al, 2001] Chen C., Cardenas A. F., Stott Parker D. and Valentino D. Data Models and
Query Languages of Spatio-Temporal Information, 2001.
[Chen et al, 2000] Chen C., Zaniolo C. SQLST: A Spatio-Temporal Data Model and Query Language. En Proceedings of the 19th International Conference on Conceptual Modeling, (ER00) ,
pp 96-111. 2000.
[Li and revesz, 2003] Li L. & Revesz P. The relationship among GIS-oriented spatiotemporal
databases. Proceedings of the 2003 annual national conference on Digital government research.
2003.
[Munout and Zimanyi, 2004] Minout M. & Zimanyi E. Algebra to SQL query translation
for spatiotemporal databases. LNCS Springer ISSN 0302-9743 (Print) Volume 3180 / 2004.
[Parent et al., 1999] Parent C., Spaccapietra S. & Zimnyi E. Spatiotemporal conceptual models:
data structure + space + time. In C. Medeiros, ACM GIS (pp.26-33). ACM Press. 1999

7 Sistemas de Bases de datos


NoSQL

Elaborado por : Msc Mara Hallo


Escuela Politcnica Nacional
Quito Ecuador

7.1

Introduccin
El trmino NoSQL significa not only SQL. Se usa para agrupar sistemas de administracin
de bases de datos diferentes a los tradicionales relacionales. Los conceptos de Big Data, Big
Users, and Cloud Computing han motivado fuertemente el desarrollo de la tecnologa NoSQL.
Google, Amazon, Facebook, Mozilla, Adobe, McGraw-Hill Education, Linkedln son algunas de
las companas que descubrieron las limitaciones de la tecnologa relacional y desarrollaron sus
propios sistemas. Algunos proyectos open source y otros comerciales se han desarrollado para
apoyar estas iniciativas. Amazon desarroll DynamoDB (Big data and NoSQL), Google usa Big
table y Facebook crea y hace uso de Cassandra.
El trmino NoSQL fue usado en 1991 en un artculo de Unix y posteriormente en 1998 se
lo utiliz para nombrar a una base de datos open-source, la misma que no tena una interface
SQL aunque si seguia el modelo relacional, ver caracteristicas del sistema en: http://www.
linuxjournal.com/article/3294.
En el ao 2009, Eric Evans reutiliz el trmino para un evento sobre bases de datos no
relacionales, distribuidas y no conformes a las propiedades ACID propias de los sistemas
relacionales. A partir de ese ao se ha observado un incremento significativo de las tecnologas
NoSQL.
Los sistemas tradicionales relacionales implementaron en un solo sistema un gran nmero de
caractersticas tales como modelo de datos relacional, lenguajes de consulta declarativos, control
de transacciones, eficiencia, concurrencia, seguridad y almacenamiento persistente de grandes
cantidades de datos muchas de ellas no necesarias para determinados sistemas.
Los nuevos requerimientos en la poca actual incluyen: disponibilidad total, tolerancia a
fallos, almacenamiento de penta bytes de informacin distribuida en miles de servidores, buen
desempeo sin lmite de nodos con escalabilidad horizontal, manejo de grandes cantidades de
datos estructurados y no estructurados, nuevos mtodos de consulta, libertad para manejar nuevos
esquemas y datos con control total sobre ellos.
Como ejemplos Facebook aade diariamente ms de 15 TB de datos provenientes de registros
de clicks y maneja alrededor de 135 billones de mensajes por mes (Lars, 2011).
Los sistemas de Bases de Datos NoSQL se han enfocado en estos nuevos requerimientos y se
consideran las bases de datos de la edad del Internet. Nacen de la necesidad de manejar grandes
cantidades de informacin en aplicaciones que soportan millones de usuarios por da, capturando
por Internet informacin personal, de redes sociales, de contenidos generados por el usuario, de
informacin geo localizada entre otros. Estos tipos de sistemas de manejo de datos no requieren

104

Sistemas de Bases de datos NoSQL

esquemas fijos, son fciles y rpidos en la instalacin, usan lenguajes no declarativos, ofrecen
alto rendimiento y disponibilidad, evitan operaciones de junturas, soportan paralelismo y escalan
principalmente en forma horizontal soportando estructuras distribuidas que no necesariamente
tienen las propiedades ACID, (atomicity, concistency, isolation, durability).

7.2

Sistemas de Administracin de bases de datos NoSQL


Existen diferentes tipos de Sistemas de Administracin de Bases de Datos NoSQL, los
mismos que manejan varios tipos de bases de datos.
Los sistemas NoSQL se pueden agrupar en:
1. Almacenamientos clave-valor, para requerimientos similares a los OLTP (online transaction processing) con muchas transacciones sobre pequeas cantidades de datos, incluyen
los sistemas basados en columnas.
2. Almacenamientos de documentos
3. Bases de Datos de grafos

7.2.1

Almacenamientos clave-valor
El modelo de datos est formado de pares clave-valor.
Para la implementacin se usa una tabla hash con una clave y un puntero al objeto correspondiente. Es simple y de fcil implementacin. El sistema provee tolerancia a fallos y
escalabilidad.
La eficiencia se implementa distribuyendo los registros en base a valores claves, la tolerancia
a fallos mediante replicacin, las transacciones incluyen registros simples lo cual evita la
implementacin de protocolos como el de dos fases.
Ejemplos de sistemas clave-valor son: Google BigTable, Amazon Dynamo, Cassandra,
Voldemort, HBase.
7.2.1.1 Cassandra

Cassandra es un Sistema de Administracin de Bases de Datos clave-valor pero con un


modelo de datos de la familia de columnas. Fue liberado como open-source por facebook en Julio
del 2008 y escrito en java con influencia de diseo de Dynamo y del modelo de datos de Google
Bigtable. Cassandra fue aceptado en el grupo Incubator en 2009 y es usado en produccin por
Facebook, Twitter, Cisco, Digg entre otros.
Ofrece un modelo de datos libre de esquemas y puede almacenar cientos de terabytes de
datos (Hewitt et l, 2011).
A diferencia de los sistemas relacionales, Cassandra no implementa integridad referencial,
no tiene un lenguaje de consultas ni ndices secundarios. Por otra parte implementa funciones
MapReduce.
Las implementaciones MapReduces aparecen en varios sistemas noSQL Inician con Google
junto con el sistema de archivos distribuido HDFS ( Hadoop Distributed File System). Ofrecen
al usuario acceso mediante funciones especficas tales como map(), reduce(), reader(),writer().
La funcin map divide el problema en sub problemas (0 o ms pares clavevalor)
La funcin reduce trabaja en los sub problemas y combina los resultados produciendo 0 o
ms registros a partir de los parmetros clave-lista_de_valores.
El diseo de Cassandra est orientado a optimizar el rendimiento al trabajar sobre muchas
mquinas distribuidas aun en lugares geogrficos dispersos. Todos los nodos trabajan de la
misma manera, con un diseo de centralizado implementando una simetra de servidores. En
esta estructura no hay un solo punto de fallos por lo que si un nodo falla los otros continan
trabajando con lo cual existe gran disponibilidad de los servicios. Adems se pueden replicar los

7.2 Sistemas de Administracin de bases de datos NoSQL

105

datos en mltiples centros de datos para ofrecer mejor rendimiento local y prevenir cortes de
servicios en caso de catstrofes que afecten a algn nodo.
Cassandra ofrece un nivel de consistencia configurable (consistencia eventual), lo cual
significa que todas las actualizaciones se propagan en todas las rplicas en un sistema distribuido
aunque esto puede tomar algn tiempo, pero no se bloquean las actualizaciones en caso de
fallos temporales de uno o varios nodos. Este diseo est basado en el teorema de Brewer
que seala que de las propiedades: consistencia, disponibilidad y tolerancia a particionamiento
solamente dos de las tres se pueden alcanzar al mismo tiempo lo que significa que se deben hacer
concesiones sobre ellas.
Con respecto al modelo de datos en Cassandra se almacenan pares nombre /valor que
constituyen las columnas. Se pueden definir adems familias de columnas para asociar datos
similares. Ej se pueden tener familias de columnas de usuarios, ciudades etc en forma similar
a una tabla en un modelo relacional pero con un nmero variable de columnas. Cada columna
tiene una marca de tiempo que seala la ltima fecha en que fue modificada la columna.
Ej en notacin JSON (Java script Object Notation):
Ciudades (Familia de Columnas)
Quito: Clavefila
poblacin: 2.000.000 (Nombre de columna:valor)
alcalde: Agusto Barrera(Nombre de columna:valor)
Cuenca: Clave-fila
poblacin: 400.000(Nombre de columna:valor)
alcalde: Paul Granda(Nombre de columna:valor)
exporta: artesanias(Nombre de columna:valor)

Cassandra no garantiza aislamiento en ejecucin de transacciones distribuidas, no tiene control de transacciones por lo que si una operacin de insercin falla se debe deshacer manualmente
las transacciones incompletas.
Una fila en una familia de columnas contiene pares: nombre de columna-valor no necesariamente en igual nmero en todos los casos. Cada fila tiene una clave.
Las consultas son definidas con los trminos range y slice.Range permite definir un rango de
claves para recuperacin de filas. El trmino Slice es usado para referirse a un rango de columnas
en una fila. Las operaciones de insercin y consultas se realizan usando un API proporcionado
por Cassandra. Existe una variedad de interfaces cliente disponibles para varios lenguajes,
se puede ver una variedad de opciones en el wiki: http://wiki.apache.org/cassandra/
ClientOptions. Por otra parte se tiene tambin herramientas de monitoreo y mantenimiento
del cluster de Cassandra para obtener estadsticas, balanceo de nodos, respaldos, etc. Existe
adems mecanismos de integracin con Hadoop, conjunto de proyectos open source para manejo
de grandes cantidades de datos en ambientes distribuidos con herramientas analticas tales como
Pig and Hive que posibilitan el uso de funciones de mapeo y reduccin.
7.2.1.2 HBASE

HBase es un sistema de bases de datos distribuido que soporta almacenamiento estructurado


de datos para tablas grandes.
Hbase fue creado en el 2007 por Powerset para luego convertirse en un proyecto de la
Fundacin de software Apache. Diferentes versiones fueron liberadas desde entonces. En Mayo
de 2010 HBase se convierte en el proyecto principal de Apache
Hbase no tiene un lenguaje de consulta declarativo como parte de la implementacin principal
y tiene limitado soporte para transacciones.

106

Sistemas de Bases de datos NoSQL

Hbase se usa de preferencia con Linux o cualquier sistema similar que soporte java. Ej.
Fedora, CentOS, Debian,.Solaris, Red Hat Enterprise Linux. HBase no se ha probado sobre
Windows por lo que no se recomienda utilizar ese sistema operativo.
Hbase tiene las siguientes caractersticas, es distribuido, escalable, permite almacenar tablas
muy grandes de informacin en el rden de billones de tuplas y millones de columnas con
totales de terabytes o pentabytes de informacin distribuida en miles de mquinas. El formato de
almacenamiento usado es ideal para leer pares clave valor y es optimizada para operaciones de
Entrada/Salida de bloques (Lars,2011).
7.2.2

Almacenamientos de documentos
El modelo de datos est compuesto de tuplas (clave, documento).Es similar al almacenamiento clave-valor pero requiere que los datos del objeto documento se encuentren en un formato
especfico tal como JSON, XML y otros formatos semi estructurados. Los objetos documento
son usualmente otras colecciones clave-valor con valores anidados asociados con cada clave.
Las principales operaciones que pueden realizarse sobre la base de datos son: Insert(keydocument), fetch(key), update(key), delete(key), fetch (bsqueda) basado en el contenido del
documento.
Ejemplos de sistemas de manejo de documentos son: CouchDB, MongoDB, SimpleDB.
7.2.2.1 COUCHE BD

Es un sistema de Administracin de Bases de Datos orientado a documentos liberado bajo la


licencia de cdigo abierto de Apache. Su desarrollo se inicia en el 2005 basado en principios de
Lotus Notes y se libera la primera versin en el 2009. Segn el wiki de CouchDB el nombre
proviene de Cluster Of Unreliable Commodity Hardware, lo cual indica que el software corre
en forma distribuida en un cluster de servers econmicos. Sus autores predicen que escalar
bien sin prdida de confiabilidad y disponibilidad( Lenon,2009). En CouchDB los datos se
almacenan en una serie de documentos, cada uno de ellos con sus campos y se ofrece un modelo
basado en java script para realizar agregaciones y reportes sobre los datos. Los documentos son
independientes, cada uno de ellos con sus propios campos. Los valores a almacenarse pueden ser
cadenas de caracteres, nmeros, fechas, valores booleanos, listas, mapas u otros tipos de datos y
metadatos.El sistema no ofrece control de concurrencia de manera que si dos usuarios trabajan
sobre un mismo documento, luego de la grabacin de uno de ellos, el segundo perder sus
cambios. Por otra parte CouchDB no sobre escribe documentos existentes, ms bien guarda una
nueva copia. Las copias anteriores desaparecen cuando se compacta la base de datos. Desde el
2008 tiene soporte para las funciones Map/Reduce lo cual permite el manejo eficiente de consultas
sobre grandes cantidades de datos particionadas. Por otra parte CoucheDB permite tambin
realizar funciones de agregacin, replicacin, compactacin y operaciones similares a junturas.
Para desarrollo de aplicaciones se cuenta con libreras en Python y Ruby.CouchDB implementa
las propiedades ACID (Atomicity, Concurrency, Isolation, Durability) de una transaccin.
A continuacin se indican algunos comandos curl para realizar operaciones sobre las bases
de datos.
La creacin de una base de datos de libros: Se realiza utilizando el comando:
$ curl -X PUT http://......./libros.
Para crear el documento libro1:
$ curl -X PUT http://......... /libros/libro1 -d {}El comando anterior crea el documento libro1 y
asigna un ID (nmero de revisin).
Para recuperar el documento:

7.2 Sistemas de Administracin de bases de datos NoSQL

107

$ curl -X GET http://........ /libros/libro1.


Para borrar el documento libro1:
$ curl -X DELETE http://....../libros/libro1?rev=............
Para consultar los documentos en libros:
$ curl -X GET http://....... /libros/_all_docs?descending=true

CoucheDB utiliza Futon basada en web, como herramienta de administracin para realizar
tareas de creacin y administracin de bases de datos y documentos.
7.2.2.2 MongoDB

MongoDB (de la palabra en ingls humongous que significa enorme) es un sistema de


base de datos NoSQL libre y de cdigo abierto, orientado a documentos. MongoDB fu liberado
en el 2009, trabaja sobre una base de datos de documentos JSON (JavaScript Object Notation),
los datos son almacenados en una forma binaria de JSON conocida como BSON. Un documento
puede encadenarse a una fila de una tabla relacional con valores que pueden anidarse a una
profundidad arbitraria (Zachari et al.,2013).MongoDB no soporta junturas del lado del servidor.
Para acceso al documento y su contenido anidado se puede usar llamadas JavaScript.
Dentro de MongoDb se pueden almacenar un conjunto de bases de datos. Una base de
datos contiene un conjunto de colecciones las cuales no reforzan esquemas predefinidos. Una
coleccin contiene documentos. Los documentos en una coleccin tienen un conjunto de campos
no necesariamente los mismos para todos.Cada campo es un par clave valor. Una clave es un
nombre de campo.Un valor puede ser un entero, flotante, una cadena de caracteres, un documento
o un arreglo de valores.
Cualquier campo en un documento en MongoDB puede ser indexado. Se pueden anidar estos
valores a cualquier profundidad.
Ejemplos de operaciones sobre MongoDB:
Creacin de una coleccin ciudad.
> db.ciudad.insert({
nombre: "Quito",
poblacin: 1600000
famosa_por: [ "museo mitad del mundo", .escultores"],
alcalde: {
nombre: .Agusto Barrera",
partido : .AP"
}
}

108

Sistemas de Bases de datos NoSQL

Consulta de la coleccin ciudad:


> db.ciudad.find()
{
"_id": ObjectId(". . . .."),
"nombre": "Quito",
"poblacin": 2239.190,
"famosa_por": [ "museo mitad del mundo", .escultores"],
.alcalde": { "nombre": .Augusto Barrera", "partido": .AP"}
}
Los smbolos {...} representan un objeto y [...] representan un arreglo.

El campo Objectid es de 12 bytes compuesto de una marca de tiempo, el ID de la mquina del


cliente, el ID del proceso del cliente y un contador de 3 bytes.
En MongoDb se pueden construir consultas por rangos de valores de campos o combinaciones
de criterios.
Para la consulta de ciudades que tienen una poblacin menor.que 200.000 habitantes se puede
usar la expresin:

db.ciudad.find(
{ poblacin : { $lt : 10000 } },
{ nombre : 1, poblacin : 1 }
){
"nombre": "Puyo", "poblacin":100.000 }
Mongo es usado actualmente como back end en varios sitios web tales como eBay, NewYork
Times, siendo una de las bases de datos NOSQL ms populares.
7.2.3

Sistema de Base de Datos de Grafos


El modelo de datos comprende en las bases de datos de grafos est formado de nodos y
aristas.
Los nodos pueden tener propiedades y las aristas pueden tener etiquetas y roles.
Los datos de grafos se almacenan en tuplas con mltiples atributos. Se pueden representan

7.3 Tecnologas de Linked Data y repositorios RDF

109

como grafos datos de mapas de rutas, redes sociales, datos de recursos y sus relaciones.
Ejemplos de sistemas de bases de datos de grafos son : Neo4j, FlockDB, Pregel.
Por otra parte los triples RDF pueden ser mapeados a bases de datos de grafos.
7.2.3.1 Neo4j

Neo4j es un tipo de sistema de administracin de bases de datos de grafos. Esta herramienta


permite disear grafos grficamente. Permite almacenar billones de nodos y aristas. Los nodos y
aristas pueden contener propiedades y valores.Neo4j es ms enfocada a almacenar relaciones
entre valores lo cual permite almacenar gran cantidad de datosHay varios lenguajes que interoperan con Neo4j: Cypher, Consola de Ruby, Gremlin, interface REST, los cuales permiten realizar consultas tales como los nodos que cumplen con una
condicin, los nodos relacionados con una arista, aristas conectados con un nodo, el camino
de acceso entre dos nodos (path) y aplicar funciones de mapeo y reduccin. Para acelerar
las bsquedas Neo4j permite construir ndices por valores de claves e incorpora Lucene para
construir ndices invertidos.
Neo4j es un sistema de administracin de bases de datos que garantiza las propiedades de
aislamiento, consistencia, atomicidad y permanencia de una transaccin (Redmond et l., 2012).

7.3

Tecnologas de Linked Data y repositorios RDF


Linked Data es un trmino propuesto por Tim Berners-Lee (2006) y es usado para describir
un conjunto de prcticas recomendadas para publicar, compartir y conectar piezas de datos, informacin y conocimiento en la Web semntica usando identificadores URIs (Uniform Resource
Identifiers) y RDF (Resource Description Famework) para describir los recursos (Hartig et l.,
2010). RDF usa para los datos modelos de grafos.
Se pueden distinguir varios perodos en la evolucin de Linked Data. Entre los aos 1990 y
2000 se realizaron varios desarrollos de software para introducir representacin de conocimiento
principalmente en la Web de documentos. En 1999 se liber la primera versin de RDF. La
idea fue desarrollar una capa RDF sobre XML con el fin de poder usar las tecnologas como
XML y XSLT. Entre 2000 y 2006 se estabiliz RDF, se aadi una semntica formal y se liber
OWL (Hausenblas, 2009). En este perodo existe escepticismo en que se pueda llegar a compartir
datos, lo cual es actualmente superado en varios gobiernos gracias al movimiento LinkedOpen
Data que impulsa el fcil acceso de ciudadanos y empresas a los datos pblicos que recogen
lasAdministraciones Pblicas.
En el ao 2006, Tim Berners_Lee escribi una nota de diseo (Berners-Lee, 2006), proponiendo soluciones a los problemas que impidieron el enlace de los datos, mediante la aplicacin
de los principios de Linked Data que son los siguientes:
Use URIs como nombres de recursos
Use HTTP URIs de manera que la gente pueda buscar esos nombres
Cuando alguien busca un URI deberan encontrar informacin til usando los estndares
RDF o SPARQL
Incluya enlaces a otros URIs de manera que la gente pueda encontrar ms recursos
relacionados.
Lo anterior implica usar el modelo de datos RDF para publicar datos estructurados en la web
y usar enlaces RDF para enlazar los datos de diferentes fuentes. Estos principios permitieron
impulsar el desarrollo de varios proyectos de Linked Data (Heath et l., 2011).
A partir del 2007 se ha producido un avance ms rpido en el desarrollo de tecnologas de
Linked Data. Se han liberado algunos estndares de la W3C tales como: SPARQL, GRDDL,
RDFa, se ha formado la comunidad del proyecto Linking Open Data y cada vez se observa un

110

Sistemas de Bases de datos NoSQL

creciente uso en gobierno electrnico con numerosos catlogos de datos publicados (Berners-Lee,
2009; Sheridan et l., 2010, Cyrille et l., 2010).
7.3.1

Sistemas de gestin de repositorios RDF


Existen varios sistemas de gestin de repositorios RDF desarrollados en los ltimos aos.
Entre ellos se pueden citar: Virtuoso Universal Server, Apache JENA, Sesame, Sparkle DB,
Ontotext_OWLIM, 3store, Mulgara.
Los sistemas indicados ofrecen almacenamiento persistente y acceso a grafos RDF mediante
el lenguaje de consulta SPARQL lo cual puede ser construido como parte de la herramienta
principal (Sesame) o en forma separada (Jena TDB). Algunos permiten razonamiento con OWL
pero no todos. Citaremos a continuacin caractersticas de dos de ellos.
7.3.1.1 Virtuoso Universal Server

Combina en un solo sistema la funcionalidad de los sistemas RDBMS(Relational Database


Management System), ORDBMS(Object Relational Database Management System), RDF, XML,
servidor de aplicaciones web. La edicin de cdigo abierto de Virtuoso se conoce como OpenLink
Virtuoso.
Para las consultas RDF se utiliza Sparql, para XML, XQuery y SQL para los datos relacionales. Permite control de transacciones y recuperacin en caso de fallos con el manejo de
registros de transacciones y bloqueos. Garantiza las propiedades ACID (atomicity, consistency,
isolation, durability) de una transaccin. El sistema permite adems generar datos enlazados en
RDF a partir de fuentes de datos relacionales. Para obtener una mejor explotacin de este sistema
hace falta ampliar los tutoriales y documentacin existente con ejemplos de implementacin de
casos de estudio.
7.3.1.2 Apache Jena TDB

Es un componente del marco de trabajo Jena, usado para construir aplicaciones de web
semntica. TDB maneja el almacenamiento y consulta de grafos RDF usando SPARQL y
SPARUL, soporta las propiedades ACID de una transaccin y permite accesos mediante el API
de Jena para el desarrollo de aplicaciones.
Jena soporta serializacin de grafos a bases de datos relacionales, RDF/XML, TURTLE
entre otros.
Para el acceso se puede usar Fuseki, una interface que usa Sparql para actualizaciones y
consultas.
7.3.2

Tecnologas relacionadas con Linked Data que interactuan con repositorios


RDF.
Varias tecnologas estn ya disponibles para publicacin y consumo de Linked Data. En
este apartado se clasifican atendiendo a su finalidad: tcnicas y herramientas que sirvan para
la publicacin, o tcnicas y herramientas destinadas a facilitar el consumo de datos enlazados
(Hallo et l (2012). Los datos reposan en respositorios RDF (sujeto,predicado,objeto).
7.3.2.1 Publicacin

La publicacin en la Web semntica se puede realizar usando una variedad de herramientas


y patrones de publicacin siguiendo los principios de Linked Data, lo cual permite la interoperabilidad de los datos y reutilizacin en la Web. Sin embargo esto no implica el abandono de
los sistemas existentes si no ms bien la adicin de capas extras para conectar los datos en la
Web. Estas capas pueden estar formadas por extractores de entidades para armar archivos RDF,
almacenes de datos RDF, interfaces a sistemas existentes, uso de Sistemas de Administracin de
Contenidos (CMS) con salidas RDF entre otros (Garca et l., 2011).

7.3 Tecnologas de Linked Data y repositorios RDF

111

Para publicar Linked Data se han desarrollado varias herramientas entre las cuales tenemos:
D2R server es una herramienta para publicar bases de datos relacionales como Linked
Data transformando el contenido de una base de datos relacional a RDF (Cyganiak et l.,
2009).
Triplyfy es un plugin para aplicaciones web que revela las estructuras semnticas codificadas en bases de datos relacionales haciendo el contenido de bases de datos disponibles
como RDF, JSON o Linked Data (Jaenicke, 2009).
La Plataforma Talis proporciona hospedaje para contenido y datos RDF tanto para publicar
datos como para desarrollo. Adems ofrece interfaces de consulta y manipulacin de datos
(Bizer et l., 2008).
Pubby es una interface para Linked Data que permite interactuar con puntos SPARQL
(SPARQL endpoints) mediante consultas SPARQL (Cyganiak et l., 2011).
Open Link Virtuoso Universal Server: Es un sistema de administracin de bases de datos
orientado a objetos que permite almacenar datos RDF y presentarlos con la funcionalidad
de un punto SPARQL. Los datos en RDF pueden ser almacenados directamente en Virtuoso
o creados a partir de bases de datos relacionales no RDF (Erling, 2010).
Virtuoso Sponger: Permite transformar datos no RDF en RDF. Acepta como entradas
pginas web (X)HTML, pginas web (X)HTML con microformatos y aun servicios web
como aquellos de Google, Del.icio.us, Flickr etc. Y crea RDF como salidas ( Bizer et
l,2007).
Sesame: Es un sistema formado por un repositorio, una mquina de bsqueda y un mdulo
de administracin para aadir y borrar datos RDF e informacin de esquema. Sesame est
siendo usado en algunas grandes compaias y agencias de gobierno para integracin de
datos (Broekstra et l, 2004).
JenaTDB: Es un repositorio de datos RDF que permite aadir datos usando SPARQL/Update y permite consultas de datos usando el lenguaje SPARQL (Heath, T. et l,
2011).
3Store : Es un repositorio de triples basado en MySQL. El software no presenta interfaces
directamente al usuario pero puede ser consultado por varios servicios incluyendo el
navegador Direct RDF (Aduna,2009).
Editores de Linked Data y Validadores.
Hyena: Editor RDF, una mezcla de una wiki y una base de datos, disponible como
aplicacin de escritorio y como aplicacin web (Rauschmayer, 2010).
Vapour: Validador de Linked Data (Garca et l., 2011).
DriftR : Editor y navegador de Linked Data (Nowack, 2007).

Existen otras herramientas, pero aqu se han seleccionado las que se han considerado ms
representativas, bien por su estado de avance, o por su grado de utilizacin de las tecnologas
asociadas a Linked Data. Un listado, que se viene actualizando con regularidad, se puede
encontrar en la wiki sobre herramientas de Web semntica, publicada y mantenida por el
consorcio W3C (W3C, 2010).
Para facilitar la publicacin de datos enlazados se puede migrarlos a RDF desde bases de
datos relacionales, hojas electrnicas, XML, sitios web existentes tras ser indexados y puestos
a disposicin para consultas va un servicio SPARQL. Los datos de salida pueden obtenerse
en formatos como XML, RDF. Cada conjunto de datos debe tener sus metadatos y se los debe
catalogar para facilitar las bsquedas (Berners-Lee, 2009).
Como ejemplo se puede citar el proyecto DBpedia que usa scripts de PHP para extraer datos

112

Sistemas de Bases de datos NoSQL

estructurados desde pginas de Wikipedia. Estos datos son convertidos a RDF y almacenados en
el repositorio OpenLink Virtuoso el mismo que proporciona un punto de acceso SPARQL.. Para
acceder a los datos se usa Pubby (Heath,2011).
7.3.2.2 Consumo de Linked Data

Los datos publicados en la Web de acuerdo a los principios de Linked Data forman parte de
un espacio global de datos. En general en estos casos las aplicaciones explotan las propiedades
de Linked Data entre las que podemos citar (Bizer et l., 2007):
a) Representacin y acceso estandarizado de datos que poseen descripciones.
b) Arquitectura abierta que permite descubrir nuevos datos en tiempo de ejecucin a medida
que estn disponibles en la Web semntica.

Las tecnologas de Web semntica soportan un flujo de informacin punto a punto. Para
requerimientos de integracin, consultas e inferencias son tiles RDF, RDFs, OWL, SPARQL
(Harris et l., 2008).
Para acceso a Linked Data se han desarrollado varias herramientas:
Se puede usar navegadores especficos (Linked Data browsers), permitiendo al usuario
desplazarse entre diferentes fuentes de datos siguiendo los enlaces RDF. Por otra parte los
documentos de la Web semntica pueden ser rastreados automticamente siguiendo los enlaces
RDF y los datos as obtenidos pueden ser sometidos a ms sofisticadas capacidades de bsqueda
(Heath et l., 2011).
Entre los navegadores de datos RDF tenemos Object Viewer, Marbles, Disco, Tabulator,
OpenLink RDF Browser, Zitgist Data Viewer, Dipper. Razorbase. iLOD, Fenfire, Quick & Dirty
RDF Browser. En cuanto a rastreadores RDF se tiene SWSE, Swoogle, URIBurner, los mismos
que proporcionan descripciones RDF de recursos web en una variedad de formatos (Hartig et l.,
2010).
Existen mquinas de bsqueda de Linked Data, tales como Sig.ma, Falcons y SWSE que
proporcionan servicios de bsqueda, por palabras clave orientados a los usuarios. Adicionalmente,
proporcionan enlaces a los documentos fuente que tienen las palabras clave mencionadas, lo cual
ofrece mejores capacidades de interaccin para explotar la estructura de los datos. Por ejemplo,
se puede filtrar resultados por clase y limitar los resultados a una subclase especfica u obtener
una lista de resultados con enlaces a entidades relacionadas (Hartig et l., 2010).
Por otra parte se han desarrollado servicios sobre datos enlazados distribuidos como Sindice,
que proporciona una API para que las aplicaciones puedan encontrar documentos RDF en la
Web que se refieran a una cierta URI o contengan ciertas palabras clave. Estas palabras clave
sirven para caracterizar las instancias de determinadas entidades de datos. Esto permite acceder
a documentos de la Web semntica que contienen ciertas instancias de datos (Hausenblas, 2009).
Tambin se han desarrollado algunas herramientas para apoyar el consumo y fusin de fuentes
de Linked Data. Es el caso de ALOE (Asisted Linked Data Consumption Engine) (AxelNgonga,
2011), que permite obtener informacin proveniente de varios servidores en la web como triples
N3. Se usa para los ejemplos el repositorio DR2 Server Publishing (Cyganiak et l.,2011).
7.3.3

Respositorios RDF basados en tecnologas NOSQL


Existen en experimentacin propuestas de diseo de repositorios RDF usando tecnologas
NOSLQ. Torre, A, et l(2011) sugieren almacenar las tripletas RDF(sujeto, predicado, objeto)
en sistemas de bases de datos orientados a columnas como Cassandra debido a sus propiedades
de escalabilidad y rendimiento y a su naturaleza distribuida. Para las consultas se sugiere usar
SPARQL mediante un mdulo intermedio que permita realizar la traduccin desde este lenguaje

7.4 Bibliografia

113

a la consulta en bases de datos NoSQL asi como usando indexacin distribuida basada en
MapReduce, tecnologa proveniente del mundo NOSQL.
Actividades para el estudiante:

Realizar un estudio de 10 aplicaciones en ejecucin que trabajen con bases de datos


NOSQL indicando las ventajas con respecto a sistemas relacionales
Realizar un estudio de 10 aplicaciones en ejecucin que trabajen con repositorios RDF
indicando los servicios que ofrecen.

7.4

Bibliografia

Aduna (2009). OpenRdf.Org, http://www.openrdf.org/index.jsp (2011-08-5).


Allemang, D. y Hendler, J. (2011). Semantic Web the working Ontologist, Waltham, Morgan Kaufmann,2011.
Becker, C. y Bizer C. (2009). Exploring the geospacial semantic web with dbpedia mobile.
//Journal of Web Semantics, 7(4) 278-286.
Berners-Lee, T. (2006). Design Note: Linked Data. http://www.w3.org/DesignIssues/
LinkedData.html (2011-07-02).
Bizer, C.;Heath T., et l. (2008). Linked data on the web (LDOW2008). Proceeding of the
17th international conference on World Wide Web. ACM. Beijing, China: 1265-1266.
Brunozzi,S (2012). Big Data and NoSQL with Amazon DynamoDB. In Proceedings of the
2012 workshop on Management of big data systems (MBDS 12). ACM, New York, NY, USA,
41-42.
Cyganiak, R. y Bizer C. (2011). Pubby.A Linked Data Frontend for SPARQL Endpoints. http:
//www4.wiwiss.fu-berlin.de/pubby/ (2011-07-02).
Harris, S.;Gibbons J., et l. (2008). Semantic technologies in electronic government. Proceedings
of the 2nd international conference on Theory and practice of electronic governance. ACM.
Cairo, Egypt: 45-51.
Hallo,M, De la Fuente, P., Martnez-Gonzles M.(2012). Las tecnologas de Linked Data y
el gobierno electrnico. SCIRE, Espaa,18(1),49-61.
Hartig, O. y Langegger A. (2010). A Database Perspective on Consuming Linked Data on the Web.
http://www2.informatik.hu-berlin.de/{~}hartig/files/Hartig_QueryingLD_DBSpektrum_
Preprint.pdf (2011-07-04).
Hartig, O.;Sequeda J., et l. (2010). How to consume Linked Data on the Web. http://
iswc2009.semanticweb.org/wiki/index.php/ISWC_2009_Tutorials/How_to_Consume_
Linked_Data_on_the_Web (2011-07-05).
Hausenblas, M. (2009). Linked Data Applications DERI Technical Report 2009-07-26. http://

114

Sistemas de Bases de datos NoSQL

wtlab.um.ac.ir/parameters/wtlab/filemanager/LD_resources/other/lod-app-tr-2009-07-26_
0.pdf (2011-06-20).
Heath, T. y Bizer C. (2011). Linked Data: Evolving the Web into a Global Data Space, Morgan
& Claypool,2011.
Hewitt, E. et al. (2011). Cassandra: The Definitive Guide ,OReilly Media, Inc.USA
Jaenicke,N.(2009). Triplify, http://triplify.org/Overview (2011-07-06).
Lars, G. (2011), Hbase the definitive guide, OReilly Media, Inc. USA,2011.
Lenon, J.(2009), Beginning CouchDB, Apress,Springer-Verlang,2009
Parker,Z. et l.(2013). Comparing NoSQL MongoDB to an SQL DB. In Proceedings of the 51st
ACM Southeast Conference (ACMSE 13). ACM, New York, NY, USA, , Article 5 , 6 pages.
Pokorny, J. (2011). NoSQL databases: a step to database scalability in web environment. In
Proceedings of the 13th International Conference on Information Integration and Web-based
Applications and Services (iiWAS 11). ACM, New York, NY, USA, 278-283.
Rauschmayer, A. (2010). Hyena: Organize your ideas. http://proj.2ality.com/hyena/
(2011-07-02).
Redmond,E. et l.(2012). Seven Databases in Seven Weeks A Guide to Modern Databases
and the NoSQL Movement, Dallas, Texas Raleigh, North Carolina. 2012.
Sattar,A. et l (2013). Incorporating NoSQL into a database course. ACM Inroads 4, 2 (June
2013), 50-53.
Sheridan, J. (2010). Legislation.gov.uk. http://blog.law.cornell.edu/voxpop/tag/legal-linked-data/
(2011-05-16).
Schindler, J. (2012). I/O characteristics of NoSQL databases. Proc. VLDB Endow. 5, 12 (August
2012), 2020-2021.
Torre-Bastida, A. Bermdez,J. Illarramendi A. and Gonzlez M.(2011). Diseo de un repositorio
RDF basado en tecnologas NOSQL. 16th Conference on Software Engineering and Databases
(JISBD 2011), A Corua(Spain), Sep. 2011

Edicin: Marzo de 2014.


Este texto forma parte de la Iniciativa Latinoamericana de Libros de Texto abiertos (LATIn),
proyecto financiado por la Unin Europea en el marco de su Programa ALFA III EuropeAid.

Los textos de este libro se distribuyen bajo una Licencia Reconocimiento-CompartirIgual 3.0 Unported (CC BY-SA 3.0) http://creativecommons.org/licenses/by-sa/3.0/deed.es_
ES

Anda mungkin juga menyukai