Post on 09-Sep-2019
NUEVAS APLICACIONES
� Sistemas de ayuda a la decisión -DW, Olap, DM
� Recuperación de la información -IR
� Bases de datos multimedia -BDMétricas
� Bases de datos y Web -Datos semiestructurados, XML
� Bases de datos temporales, espaciales, espacio-temporales
SISTEMAS DE AYUDA A LA DECISIÓN
Las aplicaciones de BD se pueden clasificar en:
� procesamiento de transacciones
� sistemas de ayuda a la decisión
En las BD transaccionales las empresas almacenan grandes cantidades de datos.
� información de transaccionesde los clientes (identificación, tarjeta de crédito, artículo adquirido, precio pagado, fecha)
� información de artículos (tipo, fabricante, modelo, color, talle)
� información del cliente (identificación, ingresos anuales, domicilio, edad, nivel educativo, historial crediticio).
En VLDB puede encontrarse mucha información para la toma de decisiones.
Por ejemplo: � una compañía automovilística descubre que la mayor parte
de los coches deportivos de pequeño tamaño son adquiridos por mujeres jóvenes cuyos ingresos mensuales son mayores a $ 2000.-
� posibilidad de realizar campañas dirigidas de marketing.
Problemas de almacenamiento y recuperación de datos para la ayuda a la decisión
� Dificultad de expresar en SQL algunas consultas � necesidad de extensiones
� DML no adecuados para análisis estadísticos � utilizar paquetes estadísticos
� Orígenes de datos diversos � crear almacenes de datos (DW)
OLAP: Análisis de datos
VLDB: es necesario resumir los datos para obtener información
Para resumir los datos se utilizan: � las funciones de agregación
� en SQL son limitadas. � muchos DBMS implementaron extensiones de éstas (varianza, media, etc.)
� los histogramas� dividen en intervalos los valores tomados por el atributo y calculan una
agregación (ej. suma), de los valores de cada rango. � existen extensiones de SQL (funciones en groupby)
SELECT percentil, avg(saldo) FROM cuentaGROUPBY N_tile(saldo, 10) AS percentil
� la agregación sobre varios atributos� Por ej.: conocer el tipo de ropa que está de moda
Ejemplo
A partir de los datos puede obtenerse el esquema de relación: Ventas (color, tamaño, número)
de aquí puede generarse una tabla de referencia cruzadas:
• Datos: bidimensionales(basados en dos atributos: color y talla). • En general, los datos pueden representarse como arrays multidimensionales
→ se denominan datos multidimensionales. • Una tabla cruzada no puede generarse mediante una sola SQL, dado que los totales se toman en varios niveles diferentes.
Pequeña Mediana Grande Total
Claro 8 35 10 53
Oscuro 20 10 5 35
Total 28 45 15 88
Granularidad
� Abstracción: Pasar de datos de granularidad más fina a datos de granularidad más gruesa mediante la agregación.
� Concreción: Pasar de datos de granularidad más gruesa a datos de granularidad más fina.
� Los datos de granularidad más fina no se pueden generar a partir de los de granularidad más gruesa.
� Hay que generarlos a partir de los datos originales ó de datos de resumen de granularidad aún más fina.
Una relación n-dimensional (n atributos), generará un n-cubo de 2n vértices.
Ejemplo: Ventas (color, talla, precio) � tendríamos un cubo.
� Para obtener una tabla relacionalequivalente a una referencia cruzada se puede usar el UNION del SQL
…… y puede tardar mucho.
� Existen extensiones del SQL con un operador CUBESELECT color talla, sum(numero) FROM ventas
GROUPBY color, tallaWITH CUBE .
Data Mining
Es la búsqueda de informaciónde importancia ó
“descubrimiento del conocimiento”
engrandes volúmenes de datos.
� La información obtenida puede representarse mediante un conjunto de reglas.
Ejemplo:
“las mujeres jóvenes con ingresos mensuales superiores a $2000 son las personas con mayores probabilidades de comprar coches deportivos de tamaño pequeño”.
Representación de la información mediante reglas
Las reglas son de la forma:
∀∀∀∀ X antecedente ���� consecuentedonde: X es una lista de una ó varias variables con rangos asociados
Ejemplo: � la relación compra especifica lo que se adquiere en cada transacción
∀ transacción T, compra (T,pan) � compra (T, leche)donde: T es una variable, rango(T) = {todas las transacciones}.
� La regla dice:
“si hay una tupla (ti, pan) en la relación compra, también debe haber una tupla (ti, leche) en la misma relación”.
Las reglas tienen un soporte y una confianza asociada.
� Soporte: mide la parte de la población que satisface tanto el antecedente como el consecuente.
Ejemplo: � Si el 0,001 % de las transacciones incluye la adquisición de leche y pan, el
soporte de la regla es bajo. => Estas reglas no son de interés. � Si el 50 % de las transacciones incluye la adquisición de leche y pan, el
soporte de la regla es alto. => Estas reglas son de interés.
� Confianza: mide la frecuencia con que el consecuente es cierto cuando lo es el antecedente.
Ejemplo: � La regla vista tiene una confianza del 80% si el 80% de las transacciones que
incluyen la adquisición de pan, también incluyen la compra de leche.
=> Las reglas con confianza baja no son significativas.
� Los valores mínimos de soporte y de confianza dependen de la aplicación.
Tipos de problemas : Clasificación
Encontrar reglas que dividan los datos dados en grupos disjuntos.
Ejemplo: Una compañía de tarjeta de crédito debe decidir si la concede. � dispone de información que incluye el historial de pagosde sus clientes
actuales, el cual permite clasificarlosen: excelente - bueno - medio - malo.
� Se intenta descubrir reglasque clasifiquen a sus clientes actuales en base a los otros datos personales.
Las reglas podrán ser de la forma:
∀∀∀∀ persona P, P.título=’Licenciado’ AND p.ingresos >= 4.000 ���� P.préstamo = ‘Excelente’
∀∀∀∀ persona P, P.título=’Analista’ AND (p.ingresos < 4.000 OR p.ingresos >= 2.000) ���� P.préstamo = ‘Bueno’
� Estas reglas permitirían clasificar a un nuevo clientepara conceder ó no la tarjeta.
Tipos de problemas : Asociación
� Encontrar reglas que asociendiferentes artículos que se compren.
Ejemplo:
Quien compra pan, compra leche.
� Esto permitiría:
� colocar cerca el pan y la leche.
� colocar estos artículos en extremos opuestos para tentar con otros productos
� aumentar el pan y bajar la leche.
Almacenes de datos
Las empresas:
� poseen la información dispersaen numerosos lugares: sucursales y/o sectores.
� generalmente no guardan información histórica : modifican datos.
� Para la toma de decisiones se necesita acceder a toda la información.
Almacén de datos (DW): Depósito de la información reunida a partir de varias fuentesguardada según un esquema unificado en un único lugar.
� Se independiza del sistema transaccional para no afectar su carga de trabajo.
Arquitectura
Fuente de datos 1
Fuente de datos 2
Fuente de datos n
ExtractionTransfor-
mationLoad
DBMS
Data warehouse herramientas de análisis y de consulta: OLAP, DM,
...
Problemas
� Momento y manera de recoger los datos� arquitectura orientada a orígenes de datos(las fuentesde datos transmite
la información nueva)
� arquitectura orientada a destinos de datos(el almacénde datos solicita los datos a las fuentes).
El DW puede tener datos sin actualizar, esto no presenta problemas para la toma de decisiones.
� Esquema que debe utilizarseEl DW debe:
� integrar los esquemas (diseño) de las distintas fuentes de datos y
� convertir los datos al esquema integrado antes de guardarlos.
Problemas
� Propagación de las actualizaciones
Si se modifican los esquemas (diseño) de los orígenes de datos, esto deberápropagarse al DW.
� Datos que se deben resumir
� Los datosgenerados por sistemas transaccionalesson grandespara almacenarlos.
� Muchas consultas para la toma de decisiónse pueden resolver a partir de datos resumidos obtenidos por agregación.
Es la representación, almacenamiento, organización y acceso a ítems de información [Baeza-Yates, 1999].
IR versus Data Retrieval
� Recupera datos con la mejor coincidenciacon el patrón dado.
� Ordena resultados según un ranking de relevancia:
� ocurrencias
� ubicación de la palabra
� análisis de citaciones
INFORMATION RETRIEVAL
Dados:
�Un corpusde documentos textuales en lenguaje natural.
�Una consultade usuario en la forma de un string de texto.
Encontrar:
�Un conjunto rankeadode documentos que son relevantespara la consulta
Tarea típica de la RI
� Encontrar información útil en la Web es frecuentemente una tarea difícil.
� Problemaspara la búsqueda en la web [Baeza-Yates].
� con los datos.
� con los usuarios.
Problemas
Problemas con los datos
� Datos distribuidos.
� Datos volátiles.(dinámica de Internet)
� Gran volumen. (crecimiento exponencial de la Web).
� Datos no estructurados y redundantes (30% duplicado).
� Calidad de los datos.(no hay proceso ni control editorial)
� Datos heterogéneos. (estructural, semántica)
Problemas con los usuarios
� Cómo especificar la consulta
� Cómo interpretar las respuestas obtenidas
Problemas
Estrategia de Búsqueda
Unaestrategia de búsqueda es
una expresión lógica
compuesta por distintos conceptos
combinados con conectores lógicos AND, OR y NOT.
� El maximizar la cantidad de documentos relevantes obtenidos
depende de la correcta preparaciónde esta estrategia.
Contingencias� reducir la cantidad si se recuperan demasiados documentos, y
� aumentar la cantidad si no se recupera información suficiente.
Indicadores IR Tradicional
Para evaluar una estrategia de búsqueda:
� Precisión: ratio de docs relevantes sobre el número total de docs recuperados
Precisión = Número de documentos relevantes recuperadosNúmero de documentos recuperados
� Recall: proporción de docs relevantes que son recuperados.
Recall = Número de documentos relevantes recuperadosNúmero total de documentos relevantes
Realizada una búsqueda:
el conj. de docs recuperados no coincide totalmente con el conj. de docs relevantes sobre el tema de interés.
Una búsquedaseráóptima cuando estos dos conjuntos coincidan� todos los docs recuperados sean relevantes y todos los docs relevantes sean recuperados.
Docs. Recu-perados
Docs. Rele-vantes
Indicadores
Recursos lingüísticos que se utilizan en la RI
� Diccionarios
� Diccionarios multilinguales
� Ontologías
� Tesauros
Ontologías
� Permiten representar el conocimiento en la web.
� Definen conceptos y relaciones de algún dominio.
� Consisten de términos, sus definiciones y axiomas.
− Los axiomas permiten inferir conocimiento que no esté indicado explícitamente en la taxonomía de conceptos.
� Categorización automática de docs (clasifica)
� Filtrado de la Información (descarta)
� Clustering Automático de docs (genera grupos)
� Extracción de Información
� Integración de Información
Otras tareas relacionadas con la IR
� Database Management
� Library and Information Science
� Artificial Intelligence
� Natural Language Processing
� Machine Learning
Areas Relacionadas
� Database Management
� Recientemente se ha volcado a los datos semiestructurados(XML) y esto lo ha llevado más cercade la RI
� Library and Information Science� Se focaliza en los aspectos del usuario humanode la RI
(interacción humano-computadora, interface de usuario, visualización).
� El trabajo reciente sobrebibliotecas digitales la llevó más cercade las Ciencias de la Computacióny de la RI
Areas Relacionadas
� Artificial Intelligence
� El trabajo reciente en ontologíasy agentes inteligentesla
lleva más cercade la RI
� Natural Language Processing� Analizar sintaxis (estructura de la frase) y semántica
podría permitir recuperación basada en significado más que en keywords.
� Desarrolla métodospara identificar piezas específicas de información en un documento (information extraction)
Areas Relacionadas
� Machine Learning
� Se focaliza en el desarrollo de sistemas computacionalesque mejoren su performance con la experiencia.
� Clasificación Automática de docs basada en conceptos
aprendidos a partir de ejemplosde entrenamiento.
� Text Categorization� Clasificación automática de jerarquías (Yahoo).
� Text Clustering� Agrupamiento de resultados de consulta de la RI.
Areas Relacionadas
Tecnologías de las dos culturas
La Web nos provee de:
� Una infraestructura global y un conjunto de estándaresque
soportan el intercambio de documentos.
� Un formato de presentaciónpara hipertextos. (HTML)
� Interfacesbien diseñadas para recuperación de documentos. (Técnicas de recuperación de información)
� Es la base de datos más grande.
BASES DE DATOS Y WEB
Tecnologías de las dos culturas
Las bases de datos, nos ofrecen:
� Técnicas de almacenamientoy lenguajes de consulta, que
proveen acceso eficiente a grandes cuerpos de datos muy
estructurados.
� Modelos de datos, y métodos para estructurar datos.
� Mecanismos para mantener la integridad y consistenciade los
datos.
Surge la necesidad de un Puente para
poder consultar a la Web como a una base de datos
Solución:
• Un formato nuevo, XML, para intercambiar datos con estructura.
• Un nuevo modelo de datos semiestructurados, que relaja lasintaxis de sistemas de base datos muy estructurados.
� Son datos sin esquema o auto-descriptibles
� La información sobre la estructura está junto con los datos.
� Representación mediante una lista de etiquetas-valor.
Ejemplo:
{ name: {first: "Pablo", last: “Pérez"},
tel : 4494403,
email: pablo@hotmail.com
}
Datos Semiestructurados
Componentes básicos: - elemento (texto)- etiquetas (definidas por el usuario)
Ejemplo: <people>
<person><name> Alan </name><age> 42 </age><email> agb@abc.com </email>
</person><person>
<name> Patsy </name><age> 36 </age><email> ptn@abc.com </email>
</person></people>
XML
� Describen los elementos disponibles en un documento XML. � Esto introduce el concepto de:
� Documento-bien-formado (los tags se abren y se cierran)� Documento-válido (tiene un DTD asociado).
Ejemplo<!DOCTYPE db [
<!ELEMENT db (person*)><!ELEMENT person (name,age,email)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)><!ELEMENT email (#PCDATA)>
] >
DTD
Objetivo:
Permitir el procesamiento automático
Clave del problema:
La web actual representa la información utilizando lenguaje natural con muy poca estructura: html, gráficos...
que es comprendido por humanos pero complejo para ser procesado automáticamente.
WEB SEMÁNTICA
Alternativas:
� Máquinas más inteligentes:
� Enseñar a las computadoras a comprender el significado de la información que hay en la web
� Procesamiento de lenguaje natural, reconocimiento de imágenes, etc...
� Información más inteligente:
� Representar la información de modo que sea sencilla de comprender a las máquinas
� Expresar contenidos en un formato procesable automáticamente.
� Ejemplo: metainformación
WEB SEMÁNTICA
Solución: Hacer la web más semántica
� Tim Berners-Leepromueve el desarrollo de la web con conocimientos� Existen organizaciones que se encargan de estandarizar lenguajes y
herramientas para dar semántica a la web. (SemanticWeb, W3C)
Buscadores:� realizan la búsqueda mediante palabrasclave en el html de las páginas.
� existe la tendencia de implementar el uso de metadatosdentro del código html.
Agentes de búsqueda: � encontrarán la información de forma precisa, � realizarán inferenciasautomáticamente buscando información
relacionada, utilizando ontologías
La manipulación se efectúa mediante
� Lógica (forma de extraer nuevos conocimientos a partir de los existentes)
� Motor de inferencia (Extrae conclusionesa partir de un conj. de reglas y un conj. de axiomas)
Semántica� Tradicionalmente: Estudio del significado de los términos lingüísticos
� En este contexto: Dotación de significado interpretable por parte de las máquinas
Metadatos� Tradicionalmente: Son datos que describen otros datos
� En este contexto: Datos que describen recursos de la Web.
� Los metadatosy las ontologíasforman parte del campo de la representación del conocimiento
� La creación de ontologías no es una tarea trivial, para facilitarla aparecen los editores (Protégé)
Lenguajes de marcado
� XML (eXtensible Markup Language), con sus respectivos DTD
(Document Type Definition): para intercambio de datos
� RDF (Resource Description Framework): recomendado por el consorcio
W3C como estándar para los metadatos.
� OWL (Ontology Web Language): estándar para realizar anotacionesde
ontologíasen la web � es un lenguaje para publicar y compartir ontologías en la web
� desarrollado por el W3C .
RDF
� Permite la descripcióny el procesamientode metadatosde cualquier dominio
� Usa XML como lenguaje de base
Ejemplo “La página web http://www.infovis.netfue creada por Juan”
Sujeto: http://www.infovis.net (recurso)
Predicado: creada (propiedad, tiene un creador)
Objeto: Juan (el valor de la propiedad)
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:s="http://description.org/schema/">
<rdf:Description about="http://www.infovis.net">
<s:Creador>Juan</s:Creador>
</rdf:Description>
</rdf:RDF>
OWL
� Usa XML como lenguaje de base
Ejemplo
<owl: Class rdf:ID=“ Female”>
<rdfs:subClassOFrdf:resource:”# Animal ”/>
<owl:disjointWith rdf:resource:”# Male”/>
<owl: Class>
ESPACIOS METRICOS
Bases de datos tradicionales.� Los datos tienen una estructura exacta y bien definida.
� Búsquedas exactas, por igualdad/desigualdad.
� SELECT * FROM Alumno WHERE Ciudad = ‘Rosario’;
Bases de datos no estructuradas.� No se pueden realizar búsquedas exactas.
� La operación más típica es la búsqueda por similitud.
� Algunos ejemplos : imágenes, texto, huellas digitales, música, cadenas de ADN, ...
Función de distancia. � Ejemplo: d(anemia, anestesia) = 4
� Evaluar d tiene un coste computacional elevado. Comparar la consulta con toda la base de datos es muy costoso.
� Se utilizan índices sobre la BD para evitar la comparación de la consulta con todos los objetos de la base de datos.
Espacio métrico = Universo de objetos
+ Función de distancia
Ej. Colección de palabras + Distancia de edición
� Def.: Sean O1 y O2 dos objetos del universo de objetos posibles. La distancia (disimilaridad) se denota con d(O1,O2)
� Propiedades de la distancia: � d(A,B) = d(B,A) (Simetría)
� d(A,A) = 0
� d(A,B) >= 0 (d(A,B) = 0 sii A= B)
� d(A,B) ≤ d(A,C) + d(B,C) (Desigualdad Triangular)
� Métrica de Minkowski
( ) ( )pn
i
pii cqCQd ∑ −≡
=1,
Si
p = 1 Manhattan (Rectilínea, City Block)
p = 2 Euclidea
p = ∞ Máximo
Consultas por similaridad
Dado X ⊆ D en un espacio métricoM (D,d)
se pueden definir dos tipos básicos de consulta porsimilaridad para una consultaq ∈ D
� Range query
{ x ∈ X; d(q,x) ≤ r}
� Nearest neighbours query� el vecino más cercano
� los k vecinos más cercanos.
La desigualdad triangular, base de los algoritmos de indexación.
�x, y, z�U, d(x, y)≤d(x, z)+ d(z, y)
BASES DE DATOS TEMPORALES
Ejemplos:
� Aplicaciones bancarias.� Controles de personal, � Registros médicos � Inventario.� Programación de reservas (avión, tren, hoteles...).� Muchas aplicaciones científicas (ej. monitoreo del
tiempo).
� En una base de datostemporal cada hecho registrado tiene una marca de tiempo.
� Tiempo válido: conj. de intervalos de t durante los que el hecho es verdadero.
� Tiempo de transacción: intervalo de t durante el cual ese hecho es cierto en el sistemade BD.
� Relación temporal: cada tupla tiene un t asociado cuando es verdadera. � El t puede ser tanto el tiempo válido, como el de transacción� Cada tupla sólo tiene un intervalo de tiempo asociado.� Los intervalos son disjuntos.
Ejemplo en TSQL2
¿Quién ha trabajado en ventas más tiempo de lo que Juan trabajó con un sueldo de $20000?
SELECT E.Nombre
FROM Empleado(Nombre, Depto) AS E,
Empleado(Nombre, Sueldo) AS D
WHERE
E.Depto = “Ventas” AND
D.Nombre=“Juan” AND
D.Sueldo = 20000 AND
CAST (E AS INTERVAL DAY) > CAST (D AS INTERVAL DAY)
Registran información en puntos, líneas y regiones.
El espacio de interés puede ser:� Una abstracción bidimensional de la superficie de la tierra.
� Un modelo del cerebro humano.
� Una representación 3D de la disposición de una cadena de moléculas de proteína.
� etc.
BASES DE DATOS ESPACIALES
� Predicados espaciales que devuelvan valores booleanos.� Relaciones topológicas: igual, disjunto, adyacente, intersección,
cubre, contiene, fuera, etc.� Orden espacial: detrás, en_frente, debajo, por_sobre, etc.� Relaciones direccionales: norte, sur, este, noreste, etc.
� Operaciones espaciales que devuelvan valores numéricos.� Área, perímetro, diámetro, distancia, maxdist, mindist, etc.
� Operaciones espaciales que devuelva nuevos objetos espaciales.� Operaciones de construcción: unión, intersección, diferencia,
centro, borde, etc.� Operaciones de transformación: extender, rotar, trasladar, etc.
� Operaciones en colecciones de objetos espacialmente relacionados.� Operaciones generales: voronoi, mascercano, componer,
descomponer, etc.� Operaciones para particiones: fusión, superimposición, cubrir, etc.� Operaciones para redes: camino_mas_corto, etc.
Operaciones Espaciales
Ejemplo
CREATE TABLE Country(Name varchar(30),Cont varchar(30),Pop Integer,GDP Number,Shape Polygon
);
CREATE TABLE River(Name varchar(30),Origin varchar(30),Length Number,Shape LineString
);
Ejemplos
Encontrar los nombres de todos los países que son vecinos de USA.
SELECT C1.Name AS “Vecinos de USA”
FROM Country C1, Country C2
WHERE Touch(C1.Shape, C2.Shape) = 1 AND C2.Name = ´USA´
Encontrar los países que atraviesan todos los ríos listados en la tabla River.
SELECT R.Name, C.Name
FROM River R, Country C
WHERE Cross(R.Shape, C.Shape) = 1
Bases de Datos Espacio - Temporales
Es un sistema de base de datos cuyos objetos tienen una
geometría que cambia a lo largo del tiempo-> sistemas que tienen la capacidad de gestionar geometrías en cambio
continuo
Por ejemplo:
� Sistema de control del tráfico� Sistema de gestión catastral(parcelas cambian su forma
con el tiempo)