SlideShare una empresa de Scribd logo
1 de 87
Técnicas de Recomendación de
    Recursos Anotados Semánticamente


                            24 Junio 2009

                                     Director: José Emilio Labra Gayo
Autor: Iván Mínguez Pérez            Codirector: Diego Berrueta Muñoz
Tabla de contenidos

Objetivos del proyecto
Estado del arte
Definiciones y características
Aproximaciones realizadas
Estudio del rendimiento
Resultados: Caso de uso y publicaciones
Conclusiones y trabajo futuro
Motivación


Ofrecer a las aplicaciones un sistema de
recomendación de recursos que permita la
personalización de los servicios ofrecidos en función de
las preferencias del usuario
¿Qué es un sistema de
recomendación?
Definición:
Un sistema de recomendación busca encontrar los
mejores recursos para el usuario.

 Para ello, puede utilizar diferentes aspectos, como, por
 ejemplo, las preferencias del usuario
 Puede ser utilizado en diferentes dominios: alquiler de
 coches y alojamientos, sugerencia de recursos
 turísticos, búsqueda de artículos de compra, etc.
Objetivos del proyecto
 Estudio de diferentes técnicas de recomendación de
 recursos
 Definición de una propuesta de función de
 recomendación
     Independiente del dominio, es decir, puede ser
     utilizado para realizar recomendaciones sobre
     cualquier tema
     Basada en tecnologías semánticas, como RDF,
     OWL o SPARQL
Tecnologías semánticas
Resumen
RDF: Lenguaje para la representación de grafos




OWL: Lenguaje para la representación de ontologías
basado en lógica descriptiva



SPARQL: Lenguaje de consulta sobre grafos en RDF
Estado del arte


 Podemos dividir el estado del arte en dos partes:
       Métricas de similitud
       Técnicas de toma de decisiones
Estado del arte
Métricas de similitud
 Basadas en:
      la información contenida
      la estructura
      en sistemas colaborativos
      en lógica descriptiva
      en lenguajes de consulta
Estado del arte
Métricas de similitud
 Basadas en:
      la información contenida
      la estructura
      en sistemas colaborativos
      en lógica descriptiva
      en lenguajes de consulta
Estado del arte
Métricas de similitud
Basadas en lógica descriptiva


 Utilizan lenguajes de lógica descriptiva
 Representación de los recursos y demandas como
 conceptos lógicos
 Uso de los razonadores para comprobar la inclusión de
 los conceptos en las demandas


[Borg 05], [Paol 02], [Colu 03], [Rago 07]
Estado del arte
Métricas de similitud
Basadas en lenguajes de consulta

 Uso de lenguajes de consulta como SQL o SPARQL
 para la comprobación de las preferencias
 Enriquecer las consultas según el contexto
               Por ejemplo, en función de los gustos del usuario




[Chu 96], [Pahl 07], [Kief 07], [Seab 08]
Estado del arte
Técnicas de toma de decisiones

 Técnica de toma de decisiones multicriterio
 Comparación de aspectos representados en diferentes
 escalas
 Ayuda para la valoración de las preferencias por parte
 del usuario
 Uso de la técnica de AHP (Analytic Hierarchy Process)
 para ayudar al usuario a valorar las preferencias
Nuestra propuesta
 Sistema de recomendación de recursos en función
 de las preferencias del usuario
 Independiente del dominio
 Basada en tecnologías semánticas
 Requisitos:
       Disponer de descripciones semánticas de los
       recursos a recomendar
 Resultados:
       Conjunto de recursos más útiles para el
       usuario en función de sus preferencias
Representación semántica de los
recursos
Preferencias
  Definición:
  Cada una de las características que los usuarios
         desean que tengan los recursos


 Representación como fórmulas lógicas utilizando
 operadores lógicos disponibles en lógica descriptiva
Preferencias
Tipos de preferencias

 Preferencias obligatorias:
        Nos sirven para filtrar los resultados de la
        consulta
 Preferencias opcionales:
        Nos sirven para puntuar la utilidad del recurso
Demanda del usuario

 Definición:
    Petición por parte del usuario para que se le
 recomienden recursos. Formada por preferencias
              obligatorias y opcionales
Ejemplo de demanda

Quiero películas interpretadas por un actor con algún
premio. Además...
      Prefiero las películas de Tim Roth
      Me gustan mucho las películas de crimen
      También me gustan las comedias
      Mejor si tiene una puntuación > 8 sobre 10
      Prefiero que sea corta, no más de 120 minutos
Ejemplo de demanda
Preferencias Obligatorias
   Quiero películas interpretadas por un actor con algún
   premio. Además...
         Prefiero las películas de Tim Roth
         Me gustan mucho las películas de crimen
         También me gustan las comedias
         Mejor si tiene una puntuación > 8 sobre 10
         Prefiero que sea corta, no más de 120 minutos
Preferencias Opcionales
Demanda expresada como
fórmulas lógicas
Demanda expresada como
  fórmulas lógicas

Preferencias Obligatorias




Preferencias Opcionales
Lenguaje QIL
Lenguaje definido en este proyecto para facilitar la
escritura de las demandas del usuario
Elimina la necesidad de agregar símbolos lógicos,
sustituyéndolos por palabras clave que ayudan a su
lectura
Uso de este lenguaje como lenguaje intermedio entre
posibles representaciones de las preferencias y
nuestros métodos
Demanda usando el
lenguaje QIL
Demanda usando el
lenguaje QIL
Función de Matchmaking
 Definición:
 Calcular la utilidad de los recursos para el usuario

Está dividida en 2 partes:
         Función match: Comprobación de las
         preferencias del usuario que cumple un recurso
         Función utility: Utilidad del recurso en función
         de las preferencias que cumple
Aproximaciones realizadas

Función match:
       Método basado en lógica descriptiva
       Método basado en lenguaje de consulta
Función utility:
       Utilización de la técnica de toma de decisiones
       AHP
Aproximaciones realizadas
Aproximaciones realizadas

              Demand (QIL)

PREFIX
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.
Aproximaciones realizadas
        Transformación
         en conceptos




              Demand (QIL)

PREFIX
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}
                                                P2 = "directed.{Tarantino}




              Demand (QIL)

PREFIX
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                      Instance
                                                P2 = "directed.{Tarantino}


                                                                                      Checking

              Demand (QIL)

PREFIX
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                              Instance
                                                P2 = "directed.{Tarantino}


                                                                                              Checking

              Demand (QIL)
                                                                                  Razonador
PREFIX
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                              Instance
                                                P2 = "directed.{Tarantino}


                                                                                              Checking

              Demand (QIL)
                                                                                  Razonador
                                                                                                      Matriz de instancias y
PREFIX                                                                                               Condiciones que cumple
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                              Instance
                                                P2 = "directed.{Tarantino}


                                                                                              Checking

              Demand (QIL)
                                                                                  Razonador
                                                                                                      Matriz de instancias y
PREFIX                                                                                               Condiciones que cumple
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.




        Transformación
          en SPARQL
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                                Instance
                                                P2 = "directed.{Tarantino}


                                                                                                Checking

              Demand (QIL)
                                                                                   Razonador
                                                                                                        Matriz de instancias y
PREFIX                                                                                                 Condiciones que cumple
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.




                                                              SPARQL Query
                                                SELECT ?x ?x1 ?x2
                                                WHERE{
                                                   ?x rdf:type Film .
                                                   ?x subject Gadget_films .
                                                   OPTIONAL{
                                                     ?x1 starring Tim_Roth . FILTER (?x=?x1)
                                                   }.
        Transformación                             OPTIONAL{
                                                     ?x2 directed Tarantino . FILTER (?x=?x2)
          en SPARQL                               }
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                                Instance
                                                P2 = "directed.{Tarantino}


                                                                                                Checking

              Demand (QIL)
                                                                                   Razonador
                                                                                                            Matriz de instancias y
PREFIX                                                                                                     Condiciones que cumple
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.




                                                              SPARQL Query                      Ejecutar
                                                SELECT ?x ?x1 ?x2
                                                WHERE{
                                                                                                consulta
                                                   ?x rdf:type Film .
                                                   ?x subject Gadget_films .
                                                   OPTIONAL{
                                                     ?x1 starring Tim_Roth . FILTER (?x=?x1)
                                                   }.
        Transformación                             OPTIONAL{
                                                     ?x2 directed Tarantino . FILTER (?x=?x2)
          en SPARQL                               }
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                                Instance
                                                P2 = "directed.{Tarantino}


                                                                                                Checking

              Demand (QIL)
                                                                                   Razonador
                                                                                                            Matriz de instancias y
PREFIX                                                                                                     Condiciones que cumple
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.




                                                              SPARQL Query                      Ejecutar
                                                SELECT ?x ?x1 ?x2
                                                WHERE{
                                                                                                consulta
                                                   ?x rdf:type Film .
                                                   ?x subject Gadget_films .
                                                   OPTIONAL{
                                                     ?x1 starring Tim_Roth . FILTER (?x=?x1)
                                                   }.
        Transformación                             OPTIONAL{
                                                     ?x2 directed Tarantino . FILTER (?x=?x2)
          en SPARQL                               }
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                                Instance
                                                P2 = "directed.{Tarantino}


                                                                                                Checking

              Demand (QIL)
                                                                                   Razonador
                                                                                                            Matriz de instancias y
PREFIX                                                                                                     Condiciones que cumple
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.




                                                              SPARQL Query                      Ejecutar
                                                SELECT ?x ?x1 ?x2
                                                WHERE{
                                                                                                consulta
                                                   ?x rdf:type Film .
                                                   ?x subject Gadget_films .
                                                   OPTIONAL{
                                                     ?x1 starring Tim_Roth . FILTER (?x=?x1)
                                                   }.
        Transformación                             OPTIONAL{
                                                     ?x2 directed Tarantino . FILTER (?x=?x2)
          en SPARQL                               }


                                                                                                                  Base de
                                                                                                                conocimiento
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                                Instance
                                                P2 = "directed.{Tarantino}


                                                                                                Checking

              Demand (QIL)
                                                                                   Razonador
                                                                                                            Matriz de instancias y
PREFIX                                                                                                     Condiciones que cumple
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL

                                                                                                                                     Calcular
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.

                                                                                                                                     utilidad

                                                              SPARQL Query                      Ejecutar
                                                SELECT ?x ?x1 ?x2
                                                WHERE{
                                                                                                consulta
                                                   ?x rdf:type Film .
                                                   ?x subject Gadget_films .
                                                   OPTIONAL{
                                                     ?x1 starring Tim_Roth . FILTER (?x=?x1)
                                                   }.
        Transformación                             OPTIONAL{
                                                     ?x2 directed Tarantino . FILTER (?x=?x2)
          en SPARQL                               }


                                                                                                                  Base de
                                                                                                                conocimiento
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                                Instance
                                                P2 = "directed.{Tarantino}


                                                                                                Checking                             Vector de pesos
                                                                                                                                         µ(Pi)

              Demand (QIL)
                                                                                   Razonador
                                                                                                            Matriz de instancias y
PREFIX                                                                                                     Condiciones que cumple
  (...)
OBLIGATORY
  dbowl:Film.
  skos:subject some {dbpedia:Gangter_films} .
OPTIONAL

                                                                                                                                     Calcular
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.

                                                                                                                                     utilidad

                                                              SPARQL Query                      Ejecutar
                                                SELECT ?x ?x1 ?x2
                                                WHERE{
                                                                                                consulta
                                                   ?x rdf:type Film .
                                                   ?x subject Gadget_films .
                                                   OPTIONAL{
                                                     ?x1 starring Tim_Roth . FILTER (?x=?x1)
                                                   }.
        Transformación                             OPTIONAL{
                                                     ?x2 directed Tarantino . FILTER (?x=?x2)
          en SPARQL                               }


                                                                                                                  Base de
                                                                                                                conocimiento
Aproximaciones realizadas
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                                Instance
                                                P2 = "directed.{Tarantino}


                                                                                                Checking                             Vector de pesos
                                                                                                                                         µ(Pi)

              Demand (QIL)
                                                                                   Razonador                                                            Lista de sugerencias
                                                                                                            Matriz de instancias y
PREFIX                                                                                                     Condiciones que cumple
  (...)
                                                                                                                                                       score(!1)       1
OBLIGATORY
  dbowl:Film.                                                                                                                                          score(!2)      0.7
  skos:subject some {dbpedia:Gangter_films} .                                                                                                           score(!3)      0.5
OPTIONAL
                                                                                                                                                       ...
                                                                                                                                     Calcular
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.

                                                                                                                                     utilidad

                                                              SPARQL Query                      Ejecutar
                                                SELECT ?x ?x1 ?x2
                                                WHERE{
                                                                                                consulta
                                                   ?x rdf:type Film .
                                                   ?x subject Gadget_films .
                                                   OPTIONAL{
                                                     ?x1 starring Tim_Roth . FILTER (?x=?x1)
                                                   }.
        Transformación                             OPTIONAL{
                                                     ?x2 directed Tarantino . FILTER (?x=?x2)
          en SPARQL                               }


                                                                                                                  Base de
                                                                                                                conocimiento
Funcionamiento
       D = { PR } , { PO1, PO2, PO3 }
                                  Marketplace
Funcionamiento
       D = { PR } , { PO1, PO2, PO3 }
                                  Marketplace




        PR
Funcionamiento
            D = { PR } , { PO1, PO2, PO3 }
                             PO2
                                             Marketplace
      PO1




             PR

                                   PO3   Pesos de las Preferencias
                                                 PO1 = 6
                                                 PO2 = 9
                                                 PO3 = 3
Funcionamiento
            D = { PR } , { PO1, PO2, PO3 }
                                        PO2
                                                        Marketplace
      PO1



                          0,91      0,68




                            1
             0,23                0,75
                    0,3




                            0,07
              0
             PR

                                              PO3   Pesos de las Preferencias
                                                            PO1 = 6
                                                            PO2 = 9
                                                            PO3 = 3
Función match
(basado en Instance Checking)



 Utilización de preferencias representadas por fórmulas
 lógicas para construir conceptos en lógica descriptiva
       Utilización de la equivalencia lógica
 No es necesaria ninguna transformación
Función match
(basado en Instance Checking)



 Utilización de un razonador para comprobar qué
 preferencias cumplen los recursos
       Operación Instance Checking
Función match
(basado en SPARQL)



 Transformación de las preferencias en patrones de
 grafo
 Utilización de motor de SPARQL para ejecutarlas
Reglas de transformación de
QIL a SPARQL
SPARQL generada
SPARQL generada
Interpretación de los
resultados de la consulta
 Una variable para los recursos (?result)
 Y una variable extra (?pi) por cada preferencia opcional
 representando el cumplimiento o no de la preferencia
 asociada
Función utility
 Utilización de la puntuación base del recurso y de las
 preferencias que cumple (función match) para calcular
 la utilidad del recurso para el usuario
Función utility
 Utilización de la puntuación base del recurso y de las
 preferencias que cumple (función match) para calcular
 la utilidad del recurso para el usuario




 Puntuación base                    Puntuación de
   del recurso                     cada preferencia
Función utility
Puntuación de los recursos y preferencias


 Puntuación base para los recursos
 Puntuación de la importancia de cada preferencia. Uso
 de los métodos de toma de decisiones:
           Método AHP
Demo
Tabla de contenidos

Objetivos del proyecto
Estado del arte
Definiciones y características
Aproximaciones realizadas
Estudio del rendimiento
Resultados: Caso de uso y publicaciones
Conclusiones y trabajo futuro
Recordemos
        Transformación
         en conceptos
                                                          DL Concepts

                                                R = Film ! "subject.{Gangster_films}
                                                P1 = "starring.{Tim_Roth}

                                                                                                Instance
                                                P2 = "directed.{Tarantino}


                                                                                                Checking                             Vector de pesos
                                                                                                                                         µ(Pi)

              Demand (QIL)
                                                                                   Razonador                                                            Lista de sugerencias
                                                                                                            Matriz de instancias y
PREFIX                                                                                                     Condiciones que cumple
  (...)
                                                                                                                                                       score(!1)       1
OBLIGATORY
  dbowl:Film.                                                                                                                                          score(!2)      0.7
  skos:subject some {dbpedia:Gangter_films} .                                                                                                           score(!3)      0.5
OPTIONAL
                                                                                                                                                       ...
                                                                                                                                     Calcular
  dbowl:starring some {dbpedia:Tim_Roth}, 8.
  dbowl:directed some {dbpedia:Tarantino}, 4.

                                                                                                                                     utilidad

                                                              SPARQL Query                      Ejecutar
                                                SELECT ?x ?x1 ?x2
                                                WHERE{
                                                                                                consulta
                                                   ?x rdf:type Film .
                                                   ?x subject Gadget_films .
                                                   OPTIONAL{
                                                     ?x1 starring Tim_Roth . FILTER (?x=?x1)
                                                   }.
        Transformación                             OPTIONAL{
                                                     ?x2 directed Tarantino . FILTER (?x=?x2)
          en SPARQL                               }


                                                                                                                  Base de
                                                                                                                conocimiento
Rendimiento
(en función del nº de preferencias opcionales)



                                basado en
                                 SPARQL

   basado en
      DL
Rendimiento
(en función del nº de recursos)



                             basado en
                              SPARQL

  basado en
     DL
Rendimiento

El tiempo de respuesta se comporta bien en función
del número de preferencias
Pero, el comportamiento del algoritmo en función del
número de instancias no es satisfactorio
Existen posibles mejoras haciendo uso de repositorios
RDF profesionales, pero esto queda fuera del alcance
del proyecto
Ventajas
Independiente del dominio
Nivel de expresividad de las preferencias
Valoración númerica tanto de las preferencias y como
de los recursos
Puntuación numérica para la utilidad final del recurso
Compromiso entre rendimiento y expresividad
(dependiendo de la implementación elegida)
Inconvenientes

Comunes a las 2 implementaciones
      Rendimiento insatisfactorio

Especificas de la implementación usando DL
      No soporta restricciones sobre tipos de datos

Especificas de la implementación usando SPARQL
      No todos los operadores lógicos tienen transformación

      Pérdida de la inferencia
Operadores soportados
   Operador       DL   Sparql
      Clase
  Enumeraciones
    Existencial
    Universal
   Cardinalidad
   Tipo de dato
   Intersección
      Unión
Resultados
Caso de uso: CruZar


 Aplicación realizada por la Fundación CTIC para el
 Ayuntamiento de Zaragoza para la EXPO2008
 Generación de rutas turísticas personalizadas
          Uso del modulo TeRRAS para la selección de
          recursos turísticos en función de los gustos
          del usuario
Resultados
Caso de uso: CruZar
Resultados
Publicaciones

Capítulo del libro “Case on Semantic
Interoperability for information system
integration” editado por Yannis Kalfoglou
en la editorial IGI Global (Publicación
prevista para Octubre)
Enviado el articulo “TeRRAS: SPARQL-
based matchmaking system” a la revista
Journal of Web Semantics
La biblioteca TeRRAS
Ha sido liberada en SourceForge, bajo licencia
GPL.
Conclusiones
Estudio de técnicas de recomendación de recursos
Estudio de la aplicación de las tecnologías semánticas
Definición de una función de recomendación, utilizando
el concepto de preferencias
Implementación de las aproximaciones definidas en
este proyecto:
        Intérprete para el lenguaje QIL
        Transformaciones a OWL y a SPARQL
        Uso del método AHP para la valoración de las
        preferencias
Trabajo futuro

 Estudio de nuevas técnicas de comprobación de
 preferencias utilizando otro tipo de lógicas (ej: lógica
 difusa)
 Uso de las nuevas características de estándares
 todavía en desarrollo como OWL 2 y la nueva versión
 de SPARQL
Gracias por su atención
Técnicas de Recomendación de
    Recursos Anotados Semánticamente


                            24 Junio 2009

                                     Director: José Emilio Labra Gayo
Autor: Iván Mínguez Pérez            Codirector: Diego Berrueta Muñoz
Información inferida




Patrón buscado
Información inferida
                 Base de conocimiento (KB)




Patrón buscado
Información inferida
                                 Base de conocimiento (KB)




Patrón buscado



                 Coincidencias
Información inferida
                                 Base de conocimiento (KB)




Patrón buscado


                                                       Razonador
                 Coincidencias
Información inferida
                                 Base de conocimiento (KB)




Patrón buscado


                                                       Razonador
                 Coincidencias
Información inferida
                                 Base de conocimiento (KB)




Patrón buscado


                                                           Razonador
                 Coincidencias            Conocimiento inferido
Información inferida
                                 Base de conocimiento (KB)




Patrón buscado


                                                           Razonador
                 Coincidencias            Conocimiento inferido
Lógica descriptiva
  Definición:
   Las lógicas descriptivas (DL) son una familia de
   formalismos lógicos bien conocidos para la
   representación e inferencia sobre el
   conocimiento de un dominio de aplicación

 Esta formada por varios elementos:
           El TBox: incluye todos los axiomas de la
           base de conocimiento
           El ABox: incluye todos los hechos de la
           base de conocimiento
Método AHP
Se basa en la comparación de las diferentes
alternativas en función de una tabla.
Método AHP


Se realizan una serie de de cálculos para obtener un
vector de pesos para las diferentes alternativas
Este vector buscar tener una puntuación normalizada
Se verifica que:
Método AHP
¿Dónde podemos encontrar
información en este formato?


 Transformando las bases de datos existente en grafos
 RDF
       Utilizando por ejemplo software como D2R
 Datos compartidos en la iniciativa Linking Open Data
Evolución de LOD
Mayo de 2007
Evolución de LOD
Septiembre de 2008
Evolución de LOD
Marzo de 2009



            Número de tripletas:
              4.712.896.432

Más contenido relacionado

Destacado

Distans Inom CRS
Distans Inom CRSDistans Inom CRS
Distans Inom CRSlsc
 
Basic Teaching Tools In SL - Workshop (2)
Basic Teaching Tools In SL - Workshop (2)Basic Teaching Tools In SL - Workshop (2)
Basic Teaching Tools In SL - Workshop (2)Mary Pinto
 
Memoria 2009 - Proyectos JCE Barcelona
Memoria 2009 - Proyectos JCE BarcelonaMemoria 2009 - Proyectos JCE Barcelona
Memoria 2009 - Proyectos JCE BarcelonaCIE Barcelona
 
Qawaq 21
Qawaq 21Qawaq 21
Qawaq 21QAWAQ
 
Guia necesidades especificas de apoyo educativo ceapa
Guia necesidades especificas de apoyo educativo ceapaGuia necesidades especificas de apoyo educativo ceapa
Guia necesidades especificas de apoyo educativo ceapavera lisa pereira gonçalves
 
Kartellrechtsrisiko Verbandsarbeit ? Das Beispiel "Stauzuschlag Hamburg"
Kartellrechtsrisiko Verbandsarbeit ? Das Beispiel "Stauzuschlag Hamburg"Kartellrechtsrisiko Verbandsarbeit ? Das Beispiel "Stauzuschlag Hamburg"
Kartellrechtsrisiko Verbandsarbeit ? Das Beispiel "Stauzuschlag Hamburg"Matthias Pahnke
 
Google Cloud for Developers - Devfest Manila
Google Cloud for Developers - Devfest ManilaGoogle Cloud for Developers - Devfest Manila
Google Cloud for Developers - Devfest ManilaPatrick Chanezon
 
Pasos para definir proyecto de vida personal
Pasos para definir proyecto de vida personalPasos para definir proyecto de vida personal
Pasos para definir proyecto de vida personalMargarita Rosa Ayala
 
Yoga Vidya Hauptkatalog 2015
Yoga Vidya Hauptkatalog 2015Yoga Vidya Hauptkatalog 2015
Yoga Vidya Hauptkatalog 2015Yoga Vidya e.V.
 
HR Business Partner: Roles and Responsibilities
HR Business Partner: Roles and ResponsibilitiesHR Business Partner: Roles and Responsibilities
HR Business Partner: Roles and ResponsibilitiesCreativeHRM
 
Les labels 2015 des villes, territoires et villages Internet
Les labels 2015 des villes, territoires et villages InternetLes labels 2015 des villes, territoires et villages Internet
Les labels 2015 des villes, territoires et villages InternetCHARLES Frédéric
 
Social Media Monitoring, CRM, HR und Datenschutz-Recht
Social Media Monitoring, CRM, HR und Datenschutz-RechtSocial Media Monitoring, CRM, HR und Datenschutz-Recht
Social Media Monitoring, CRM, HR und Datenschutz-RechtThomas Schwenke
 
Wie organisiert sich Learning & Development morgen?
Wie organisiert sich Learning & Development morgen?Wie organisiert sich Learning & Development morgen?
Wie organisiert sich Learning & Development morgen?Jochen Robes
 

Destacado (18)

Social Media Praxistage
Social Media PraxistageSocial Media Praxistage
Social Media Praxistage
 
Distans Inom CRS
Distans Inom CRSDistans Inom CRS
Distans Inom CRS
 
Basic Teaching Tools In SL - Workshop (2)
Basic Teaching Tools In SL - Workshop (2)Basic Teaching Tools In SL - Workshop (2)
Basic Teaching Tools In SL - Workshop (2)
 
Memoria 2009 - Proyectos JCE Barcelona
Memoria 2009 - Proyectos JCE BarcelonaMemoria 2009 - Proyectos JCE Barcelona
Memoria 2009 - Proyectos JCE Barcelona
 
Qawaq 21
Qawaq 21Qawaq 21
Qawaq 21
 
Wobi Ago-Set 2013
Wobi Ago-Set 2013Wobi Ago-Set 2013
Wobi Ago-Set 2013
 
Guia necesidades especificas de apoyo educativo ceapa
Guia necesidades especificas de apoyo educativo ceapaGuia necesidades especificas de apoyo educativo ceapa
Guia necesidades especificas de apoyo educativo ceapa
 
Kartellrechtsrisiko Verbandsarbeit ? Das Beispiel "Stauzuschlag Hamburg"
Kartellrechtsrisiko Verbandsarbeit ? Das Beispiel "Stauzuschlag Hamburg"Kartellrechtsrisiko Verbandsarbeit ? Das Beispiel "Stauzuschlag Hamburg"
Kartellrechtsrisiko Verbandsarbeit ? Das Beispiel "Stauzuschlag Hamburg"
 
Borang data muria apdm terkini
Borang data muria apdm terkiniBorang data muria apdm terkini
Borang data muria apdm terkini
 
Google Cloud for Developers - Devfest Manila
Google Cloud for Developers - Devfest ManilaGoogle Cloud for Developers - Devfest Manila
Google Cloud for Developers - Devfest Manila
 
Pasos para definir proyecto de vida personal
Pasos para definir proyecto de vida personalPasos para definir proyecto de vida personal
Pasos para definir proyecto de vida personal
 
Yoga Vidya Hauptkatalog 2015
Yoga Vidya Hauptkatalog 2015Yoga Vidya Hauptkatalog 2015
Yoga Vidya Hauptkatalog 2015
 
Consultas sparql
Consultas sparqlConsultas sparql
Consultas sparql
 
HR Business Partner: Roles and Responsibilities
HR Business Partner: Roles and ResponsibilitiesHR Business Partner: Roles and Responsibilities
HR Business Partner: Roles and Responsibilities
 
Les labels 2015 des villes, territoires et villages Internet
Les labels 2015 des villes, territoires et villages InternetLes labels 2015 des villes, territoires et villages Internet
Les labels 2015 des villes, territoires et villages Internet
 
Social Media Monitoring, CRM, HR und Datenschutz-Recht
Social Media Monitoring, CRM, HR und Datenschutz-RechtSocial Media Monitoring, CRM, HR und Datenschutz-Recht
Social Media Monitoring, CRM, HR und Datenschutz-Recht
 
Wie organisiert sich Learning & Development morgen?
Wie organisiert sich Learning & Development morgen?Wie organisiert sich Learning & Development morgen?
Wie organisiert sich Learning & Development morgen?
 
Strategy Desk Nov 28
Strategy Desk Nov 28Strategy Desk Nov 28
Strategy Desk Nov 28
 

Último

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (19)

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

TeRRAS

  • 1. Técnicas de Recomendación de Recursos Anotados Semánticamente 24 Junio 2009 Director: José Emilio Labra Gayo Autor: Iván Mínguez Pérez Codirector: Diego Berrueta Muñoz
  • 2. Tabla de contenidos Objetivos del proyecto Estado del arte Definiciones y características Aproximaciones realizadas Estudio del rendimiento Resultados: Caso de uso y publicaciones Conclusiones y trabajo futuro
  • 3. Motivación Ofrecer a las aplicaciones un sistema de recomendación de recursos que permita la personalización de los servicios ofrecidos en función de las preferencias del usuario
  • 4. ¿Qué es un sistema de recomendación? Definición: Un sistema de recomendación busca encontrar los mejores recursos para el usuario. Para ello, puede utilizar diferentes aspectos, como, por ejemplo, las preferencias del usuario Puede ser utilizado en diferentes dominios: alquiler de coches y alojamientos, sugerencia de recursos turísticos, búsqueda de artículos de compra, etc.
  • 5. Objetivos del proyecto Estudio de diferentes técnicas de recomendación de recursos Definición de una propuesta de función de recomendación Independiente del dominio, es decir, puede ser utilizado para realizar recomendaciones sobre cualquier tema Basada en tecnologías semánticas, como RDF, OWL o SPARQL
  • 6. Tecnologías semánticas Resumen RDF: Lenguaje para la representación de grafos OWL: Lenguaje para la representación de ontologías basado en lógica descriptiva SPARQL: Lenguaje de consulta sobre grafos en RDF
  • 7. Estado del arte Podemos dividir el estado del arte en dos partes: Métricas de similitud Técnicas de toma de decisiones
  • 8. Estado del arte Métricas de similitud Basadas en: la información contenida la estructura en sistemas colaborativos en lógica descriptiva en lenguajes de consulta
  • 9. Estado del arte Métricas de similitud Basadas en: la información contenida la estructura en sistemas colaborativos en lógica descriptiva en lenguajes de consulta
  • 10. Estado del arte Métricas de similitud Basadas en lógica descriptiva Utilizan lenguajes de lógica descriptiva Representación de los recursos y demandas como conceptos lógicos Uso de los razonadores para comprobar la inclusión de los conceptos en las demandas [Borg 05], [Paol 02], [Colu 03], [Rago 07]
  • 11. Estado del arte Métricas de similitud Basadas en lenguajes de consulta Uso de lenguajes de consulta como SQL o SPARQL para la comprobación de las preferencias Enriquecer las consultas según el contexto Por ejemplo, en función de los gustos del usuario [Chu 96], [Pahl 07], [Kief 07], [Seab 08]
  • 12. Estado del arte Técnicas de toma de decisiones Técnica de toma de decisiones multicriterio Comparación de aspectos representados en diferentes escalas Ayuda para la valoración de las preferencias por parte del usuario Uso de la técnica de AHP (Analytic Hierarchy Process) para ayudar al usuario a valorar las preferencias
  • 13. Nuestra propuesta Sistema de recomendación de recursos en función de las preferencias del usuario Independiente del dominio Basada en tecnologías semánticas Requisitos: Disponer de descripciones semánticas de los recursos a recomendar Resultados: Conjunto de recursos más útiles para el usuario en función de sus preferencias
  • 15. Preferencias Definición: Cada una de las características que los usuarios desean que tengan los recursos Representación como fórmulas lógicas utilizando operadores lógicos disponibles en lógica descriptiva
  • 16. Preferencias Tipos de preferencias Preferencias obligatorias: Nos sirven para filtrar los resultados de la consulta Preferencias opcionales: Nos sirven para puntuar la utilidad del recurso
  • 17. Demanda del usuario Definición: Petición por parte del usuario para que se le recomienden recursos. Formada por preferencias obligatorias y opcionales
  • 18. Ejemplo de demanda Quiero películas interpretadas por un actor con algún premio. Además... Prefiero las películas de Tim Roth Me gustan mucho las películas de crimen También me gustan las comedias Mejor si tiene una puntuación > 8 sobre 10 Prefiero que sea corta, no más de 120 minutos
  • 19. Ejemplo de demanda Preferencias Obligatorias Quiero películas interpretadas por un actor con algún premio. Además... Prefiero las películas de Tim Roth Me gustan mucho las películas de crimen También me gustan las comedias Mejor si tiene una puntuación > 8 sobre 10 Prefiero que sea corta, no más de 120 minutos Preferencias Opcionales
  • 21. Demanda expresada como fórmulas lógicas Preferencias Obligatorias Preferencias Opcionales
  • 22. Lenguaje QIL Lenguaje definido en este proyecto para facilitar la escritura de las demandas del usuario Elimina la necesidad de agregar símbolos lógicos, sustituyéndolos por palabras clave que ayudan a su lectura Uso de este lenguaje como lenguaje intermedio entre posibles representaciones de las preferencias y nuestros métodos
  • 25. Función de Matchmaking Definición: Calcular la utilidad de los recursos para el usuario Está dividida en 2 partes: Función match: Comprobación de las preferencias del usuario que cumple un recurso Función utility: Utilidad del recurso en función de las preferencias que cumple
  • 26. Aproximaciones realizadas Función match: Método basado en lógica descriptiva Método basado en lenguaje de consulta Función utility: Utilización de la técnica de toma de decisiones AHP
  • 28. Aproximaciones realizadas Demand (QIL) PREFIX (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4.
  • 29. Aproximaciones realizadas Transformación en conceptos Demand (QIL) PREFIX (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4.
  • 30. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} P2 = "directed.{Tarantino} Demand (QIL) PREFIX (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4.
  • 31. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) PREFIX (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4.
  • 32. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) Razonador PREFIX (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4.
  • 33. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) Razonador Matriz de instancias y PREFIX Condiciones que cumple (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4.
  • 34. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) Razonador Matriz de instancias y PREFIX Condiciones que cumple (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. Transformación en SPARQL
  • 35. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) Razonador Matriz de instancias y PREFIX Condiciones que cumple (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. SPARQL Query SELECT ?x ?x1 ?x2 WHERE{ ?x rdf:type Film . ?x subject Gadget_films . OPTIONAL{ ?x1 starring Tim_Roth . FILTER (?x=?x1) }. Transformación OPTIONAL{ ?x2 directed Tarantino . FILTER (?x=?x2) en SPARQL }
  • 36. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) Razonador Matriz de instancias y PREFIX Condiciones que cumple (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. SPARQL Query Ejecutar SELECT ?x ?x1 ?x2 WHERE{ consulta ?x rdf:type Film . ?x subject Gadget_films . OPTIONAL{ ?x1 starring Tim_Roth . FILTER (?x=?x1) }. Transformación OPTIONAL{ ?x2 directed Tarantino . FILTER (?x=?x2) en SPARQL }
  • 37. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) Razonador Matriz de instancias y PREFIX Condiciones que cumple (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. SPARQL Query Ejecutar SELECT ?x ?x1 ?x2 WHERE{ consulta ?x rdf:type Film . ?x subject Gadget_films . OPTIONAL{ ?x1 starring Tim_Roth . FILTER (?x=?x1) }. Transformación OPTIONAL{ ?x2 directed Tarantino . FILTER (?x=?x2) en SPARQL }
  • 38. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) Razonador Matriz de instancias y PREFIX Condiciones que cumple (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. SPARQL Query Ejecutar SELECT ?x ?x1 ?x2 WHERE{ consulta ?x rdf:type Film . ?x subject Gadget_films . OPTIONAL{ ?x1 starring Tim_Roth . FILTER (?x=?x1) }. Transformación OPTIONAL{ ?x2 directed Tarantino . FILTER (?x=?x2) en SPARQL } Base de conocimiento
  • 39. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Demand (QIL) Razonador Matriz de instancias y PREFIX Condiciones que cumple (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL Calcular dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. utilidad SPARQL Query Ejecutar SELECT ?x ?x1 ?x2 WHERE{ consulta ?x rdf:type Film . ?x subject Gadget_films . OPTIONAL{ ?x1 starring Tim_Roth . FILTER (?x=?x1) }. Transformación OPTIONAL{ ?x2 directed Tarantino . FILTER (?x=?x2) en SPARQL } Base de conocimiento
  • 40. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Vector de pesos µ(Pi) Demand (QIL) Razonador Matriz de instancias y PREFIX Condiciones que cumple (...) OBLIGATORY dbowl:Film. skos:subject some {dbpedia:Gangter_films} . OPTIONAL Calcular dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. utilidad SPARQL Query Ejecutar SELECT ?x ?x1 ?x2 WHERE{ consulta ?x rdf:type Film . ?x subject Gadget_films . OPTIONAL{ ?x1 starring Tim_Roth . FILTER (?x=?x1) }. Transformación OPTIONAL{ ?x2 directed Tarantino . FILTER (?x=?x2) en SPARQL } Base de conocimiento
  • 41. Aproximaciones realizadas Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Vector de pesos µ(Pi) Demand (QIL) Razonador Lista de sugerencias Matriz de instancias y PREFIX Condiciones que cumple (...) score(!1) 1 OBLIGATORY dbowl:Film. score(!2) 0.7 skos:subject some {dbpedia:Gangter_films} . score(!3) 0.5 OPTIONAL ... Calcular dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. utilidad SPARQL Query Ejecutar SELECT ?x ?x1 ?x2 WHERE{ consulta ?x rdf:type Film . ?x subject Gadget_films . OPTIONAL{ ?x1 starring Tim_Roth . FILTER (?x=?x1) }. Transformación OPTIONAL{ ?x2 directed Tarantino . FILTER (?x=?x2) en SPARQL } Base de conocimiento
  • 42. Funcionamiento D = { PR } , { PO1, PO2, PO3 } Marketplace
  • 43. Funcionamiento D = { PR } , { PO1, PO2, PO3 } Marketplace PR
  • 44. Funcionamiento D = { PR } , { PO1, PO2, PO3 } PO2 Marketplace PO1 PR PO3 Pesos de las Preferencias PO1 = 6 PO2 = 9 PO3 = 3
  • 45. Funcionamiento D = { PR } , { PO1, PO2, PO3 } PO2 Marketplace PO1 0,91 0,68 1 0,23 0,75 0,3 0,07 0 PR PO3 Pesos de las Preferencias PO1 = 6 PO2 = 9 PO3 = 3
  • 46. Función match (basado en Instance Checking) Utilización de preferencias representadas por fórmulas lógicas para construir conceptos en lógica descriptiva Utilización de la equivalencia lógica No es necesaria ninguna transformación
  • 47. Función match (basado en Instance Checking) Utilización de un razonador para comprobar qué preferencias cumplen los recursos Operación Instance Checking
  • 48. Función match (basado en SPARQL) Transformación de las preferencias en patrones de grafo Utilización de motor de SPARQL para ejecutarlas
  • 49. Reglas de transformación de QIL a SPARQL
  • 52. Interpretación de los resultados de la consulta Una variable para los recursos (?result) Y una variable extra (?pi) por cada preferencia opcional representando el cumplimiento o no de la preferencia asociada
  • 53. Función utility Utilización de la puntuación base del recurso y de las preferencias que cumple (función match) para calcular la utilidad del recurso para el usuario
  • 54. Función utility Utilización de la puntuación base del recurso y de las preferencias que cumple (función match) para calcular la utilidad del recurso para el usuario Puntuación base Puntuación de del recurso cada preferencia
  • 55. Función utility Puntuación de los recursos y preferencias Puntuación base para los recursos Puntuación de la importancia de cada preferencia. Uso de los métodos de toma de decisiones: Método AHP
  • 56. Demo
  • 57. Tabla de contenidos Objetivos del proyecto Estado del arte Definiciones y características Aproximaciones realizadas Estudio del rendimiento Resultados: Caso de uso y publicaciones Conclusiones y trabajo futuro
  • 58. Recordemos Transformación en conceptos DL Concepts R = Film ! "subject.{Gangster_films} P1 = "starring.{Tim_Roth} Instance P2 = "directed.{Tarantino} Checking Vector de pesos µ(Pi) Demand (QIL) Razonador Lista de sugerencias Matriz de instancias y PREFIX Condiciones que cumple (...) score(!1) 1 OBLIGATORY dbowl:Film. score(!2) 0.7 skos:subject some {dbpedia:Gangter_films} . score(!3) 0.5 OPTIONAL ... Calcular dbowl:starring some {dbpedia:Tim_Roth}, 8. dbowl:directed some {dbpedia:Tarantino}, 4. utilidad SPARQL Query Ejecutar SELECT ?x ?x1 ?x2 WHERE{ consulta ?x rdf:type Film . ?x subject Gadget_films . OPTIONAL{ ?x1 starring Tim_Roth . FILTER (?x=?x1) }. Transformación OPTIONAL{ ?x2 directed Tarantino . FILTER (?x=?x2) en SPARQL } Base de conocimiento
  • 59. Rendimiento (en función del nº de preferencias opcionales) basado en SPARQL basado en DL
  • 60. Rendimiento (en función del nº de recursos) basado en SPARQL basado en DL
  • 61. Rendimiento El tiempo de respuesta se comporta bien en función del número de preferencias Pero, el comportamiento del algoritmo en función del número de instancias no es satisfactorio Existen posibles mejoras haciendo uso de repositorios RDF profesionales, pero esto queda fuera del alcance del proyecto
  • 62. Ventajas Independiente del dominio Nivel de expresividad de las preferencias Valoración númerica tanto de las preferencias y como de los recursos Puntuación numérica para la utilidad final del recurso Compromiso entre rendimiento y expresividad (dependiendo de la implementación elegida)
  • 63. Inconvenientes Comunes a las 2 implementaciones Rendimiento insatisfactorio Especificas de la implementación usando DL No soporta restricciones sobre tipos de datos Especificas de la implementación usando SPARQL No todos los operadores lógicos tienen transformación Pérdida de la inferencia
  • 64. Operadores soportados Operador DL Sparql Clase Enumeraciones Existencial Universal Cardinalidad Tipo de dato Intersección Unión
  • 65. Resultados Caso de uso: CruZar Aplicación realizada por la Fundación CTIC para el Ayuntamiento de Zaragoza para la EXPO2008 Generación de rutas turísticas personalizadas Uso del modulo TeRRAS para la selección de recursos turísticos en función de los gustos del usuario
  • 67. Resultados Publicaciones Capítulo del libro “Case on Semantic Interoperability for information system integration” editado por Yannis Kalfoglou en la editorial IGI Global (Publicación prevista para Octubre) Enviado el articulo “TeRRAS: SPARQL- based matchmaking system” a la revista Journal of Web Semantics
  • 68. La biblioteca TeRRAS Ha sido liberada en SourceForge, bajo licencia GPL.
  • 69. Conclusiones Estudio de técnicas de recomendación de recursos Estudio de la aplicación de las tecnologías semánticas Definición de una función de recomendación, utilizando el concepto de preferencias Implementación de las aproximaciones definidas en este proyecto: Intérprete para el lenguaje QIL Transformaciones a OWL y a SPARQL Uso del método AHP para la valoración de las preferencias
  • 70. Trabajo futuro Estudio de nuevas técnicas de comprobación de preferencias utilizando otro tipo de lógicas (ej: lógica difusa) Uso de las nuevas características de estándares todavía en desarrollo como OWL 2 y la nueva versión de SPARQL
  • 71. Gracias por su atención
  • 72. Técnicas de Recomendación de Recursos Anotados Semánticamente 24 Junio 2009 Director: José Emilio Labra Gayo Autor: Iván Mínguez Pérez Codirector: Diego Berrueta Muñoz
  • 74. Información inferida Base de conocimiento (KB) Patrón buscado
  • 75. Información inferida Base de conocimiento (KB) Patrón buscado Coincidencias
  • 76. Información inferida Base de conocimiento (KB) Patrón buscado Razonador Coincidencias
  • 77. Información inferida Base de conocimiento (KB) Patrón buscado Razonador Coincidencias
  • 78. Información inferida Base de conocimiento (KB) Patrón buscado Razonador Coincidencias Conocimiento inferido
  • 79. Información inferida Base de conocimiento (KB) Patrón buscado Razonador Coincidencias Conocimiento inferido
  • 80. Lógica descriptiva Definición: Las lógicas descriptivas (DL) son una familia de formalismos lógicos bien conocidos para la representación e inferencia sobre el conocimiento de un dominio de aplicación Esta formada por varios elementos: El TBox: incluye todos los axiomas de la base de conocimiento El ABox: incluye todos los hechos de la base de conocimiento
  • 81. Método AHP Se basa en la comparación de las diferentes alternativas en función de una tabla.
  • 82. Método AHP Se realizan una serie de de cálculos para obtener un vector de pesos para las diferentes alternativas Este vector buscar tener una puntuación normalizada Se verifica que:
  • 84. ¿Dónde podemos encontrar información en este formato? Transformando las bases de datos existente en grafos RDF Utilizando por ejemplo software como D2R Datos compartidos en la iniciativa Linking Open Data
  • 87. Evolución de LOD Marzo de 2009 Número de tripletas: 4.712.896.432

Notas del editor

  1. Presentaci&amp;#xF3;n
  2. Explicar que vamos a ver en esta presentaci&amp;#xF3;n y como esta estructurado
  3. Por que este proyecto. Este proyecto busca un sistema de recomendaci&amp;#xF3;n gen&amp;#xE9;rico en funci&amp;#xF3;n de las preferencias del usuario
  4. En este proyecto se realizaran: - Estudio de t&amp;#xE9;cnicas disponibles - Definici&amp;#xF3;n de una nueva t&amp;#xE9;cnica basada en tecnolog&amp;#xED;as sem&amp;#xE1;nticas e independiente del dominio
  5. Dentro de la literatura encontrados aproximaciones: - basadas en la informaci&amp;#xF3;n contenida (Strings) - basadas en la estructura que forma el &amp;#xE1;rbol de conceptos - basadas en sistemas colaborativos en los que se te recomienda por lo que hacen los dem&amp;#xE1;s Basada en l&amp;#xF3;gica y basada en lenguajes de consulta que veremos en m&amp;#xE1;s profundidad
  6. Estos trabajos se basan en la utilizaci&amp;#xF3;n de lenguajes de l&amp;#xF3;gica descriptiva. Representan las consultas y los recursos como elementos de estos lenguaje (normalmente conceptos e instancias). Utilizan la inferencias l&amp;#xF3;gica para calcular cuanto bueno es un recurso. Este tipo de trabajos son muy utilizados en el descubrimiento de servicios web sem&amp;#xE1;nticos.
  7. Utilizan diferentes aspectos relacionados con el usuario para generar los elementos disponibles dentro de los lenguajes para generar una consulta que incluya todos los aspectos de los que se dispone.
  8. Otro de los aspectos estudiados en este proyecto es el uso de las t&amp;#xE9;cnicas de toma de decisiones para la valoraci&amp;#xF3;n de la preferencias del usuario. Como m&amp;#xE9;todo destacado tenemos el AHP (Analitic Hierarchy Process) este m&amp;#xE9;todo se basa en la organizaci&amp;#xF3;n de las diferentes alternativas en un &amp;#xE1;rbol de decisiones que posteriormente nos servir&amp;#xE1; para poder elegir la mejor alternativa.
  9. En nuestro proyecto vamos a proponer una nueva t&amp;#xE9;cnica de recomendaci&amp;#xF3;n se tiene las siguientes caracter&amp;#xED;sticas:
  10. Hemos comentado que necesitamos una descripci&amp;#xF3;n sem&amp;#xE1;ntica de los recursos. &amp;#xBF;Pero que es? Es una representaci&amp;#xF3;n en forma de grafo de las relaciones entre todos los elementos que describen un recurso. De este modo tenemos el siguiente grafo que nos definir&amp;#xED;a parte de la pel&amp;#xED;cula &amp;#x201C;Reservoir Dogs&amp;#x201D;
  11. Como hemos comentado hemos descrito un m&amp;#xE9;todo basado en las preferencias del usuario. &amp;#xBF;Pero que es una preferencias? - Cada una de las caracter&amp;#xED;sticas buscadas. Representaremos las preferencias del usuario como formulas l&amp;#xF3;gicas que representan las caracter&amp;#xED;sticas buscadas de los recursos. Utilizaremos los operadores disponibles en la l&amp;#xF3;gica descriptiva SHOIN.
  12. Tenemos dos tipos de preferencias: - Obligatorias: que filtran - Opcionales: que punt&amp;#xFA;an
  13. Cada una de las consultas que hace el usuario al sistema de recomendaci&amp;#xF3;n la llamaremos demanda. Incluir&amp;#xE1; un conjunto de preferencias obligatorias y otro de opcionales
  14. Un ejemplo de demanda seria las siguiente. Podemos ver las dos partes de las demanda (Obligatorias y opcionales)
  15. La misma demanda expresada como formulas l&amp;#xF3;gicas ser&amp;#xED;a la siguiente
  16. Para la representaci&amp;#xF3;n de estas formulas, en este proyecto se ha creado un lenguaje de demandas basado en la sintaxis de Manchester de OWL. Este lenguaje nos permite escribir mas f&amp;#xE1;cilmente las formulas l&amp;#xF3;gicas sin tener la necesidad de usar s&amp;#xED;mbolos l&amp;#xF3;gicos. Este lenguaje se llama QIL
  17. En nuestro proyecto definimos la funci&amp;#xF3;n de matchmaking o de recomendaci&amp;#xF3;n como la funci&amp;#xF3;n que nos permite calcular la utilidad de un recurso en base a las preferencias del usuario. Vamos a dividir el calculo de esta funci&amp;#xF3;n en dos partes: - funci&amp;#xF3;n match: nos permite saber las preferencias que cumple un recurso - funci&amp;#xF3;n utility: que nos permite obtener una puntuaci&amp;#xF3;n num&amp;#xE9;rica en basa a las preferencias La funci&amp;#xF3;n matchmaking seria la composici&amp;#xF3;n de estas funciones.
  18. Veamos un resumen que que va a hacer nuestro algoritmo
  19. Veamos un resumen que que va a hacer nuestro algoritmo
  20. Veamos un resumen que que va a hacer nuestro algoritmo
  21. Veamos un resumen que que va a hacer nuestro algoritmo
  22. Veamos un resumen que que va a hacer nuestro algoritmo
  23. Veamos un resumen que que va a hacer nuestro algoritmo
  24. Veamos un resumen que que va a hacer nuestro algoritmo
  25. Veamos un resumen que que va a hacer nuestro algoritmo
  26. Veamos un resumen que que va a hacer nuestro algoritmo
  27. Veamos un resumen que que va a hacer nuestro algoritmo
  28. Veamos un resumen que que va a hacer nuestro algoritmo
  29. Veamos un resumen que que va a hacer nuestro algoritmo
  30. Veamos un resumen que que va a hacer nuestro algoritmo
  31. Veamos un resumen que que va a hacer nuestro algoritmo
  32. M&amp;#xE1;s gr&amp;#xE1;ficamente tememos un marketplace (lugar donde se encuentra toda las informaci&amp;#xF3;n disponible)
  33. M&amp;#xE1;s gr&amp;#xE1;ficamente tememos un marketplace (lugar donde se encuentra toda las informaci&amp;#xF3;n disponible)
  34. M&amp;#xE1;s gr&amp;#xE1;ficamente tememos un marketplace (lugar donde se encuentra toda las informaci&amp;#xF3;n disponible)
  35. Como hemos visto tenemos dos implementaciones de la funci&amp;#xF3;n match. La basada en l&amp;#xF3;gica descriptiva utiliza las preferencias representadas como formulas l&amp;#xF3;gicas para definir nuevos conceptos utilizando la operaci&amp;#xF3;n de equivalencia l&amp;#xF3;gica definida en estos lenguajes.
  36. Para comprobar el cumplimiento o no de una preferencias se utilizar&amp;#xE1; un razonador de l&amp;#xF3;gica descriptiva que por medio de la operaci&amp;#xF3;n Instance Checking nos diga si cada recurso pertenece al concepto creada a partir de la preferencia.
  37. El otro de los m&amp;#xE9;todos esta basado en el lenguaje de consulta para grafos RDF SPARQL. Este m&amp;#xE9;todo transformar&amp;#xE1; cada una de las preferencias en un patr&amp;#xF3;n de grafo que se incluir&amp;#xE1; en la consuta SPARQL.
  38. Estas son algunas de las reglas de transformaci&amp;#xF3;n de los operadores l&amp;#xF3;gicos a patrones de grafo.
  39. Misma demanda transformada en consulta SPARQL
  40. Con esta consulta conseguimos una matriz que nos indicar&amp;#xE1; para cada recurso el cumplimiento o no de cada preferencia.
  41. Por otro lado, una vez que sabemos las preferencias que cumple cada recurso podemos calcular su utilidad. Para ello utilizaremos 2 aspectos: la puntuaci&amp;#xF3;n base del recurso, la puntuaci&amp;#xF3;n de cada preferencia.
  42. La puntuaci&amp;#xF3;n base de cada recurso nos permite asignar una valor preliminar a cada recurso. La puntuaci&amp;#xF3;n de cada preferencia utilizara el m&amp;#xE9;todo AHP para conseguir un puntuaci&amp;#xF3;n objetiva da las preferencias del usuario.
  43. Explicar que vamos a ver en esta presentaci&amp;#xF3;n y como esta estructurado
  44. A modo de recordatorio
  45. Se ha realizado diferentes pruebas de rendimiento de nuestro algoritmo. En estas gr&amp;#xE1;ficas se puede ver como se comportan las dos implementaciones en funci&amp;#xF3;n del numero de preferencias.
  46. En estas se puede ver el comportamiento del rendimiento en funci&amp;#xF3;n del n&amp;#xFA;mero de recursos disponibles.
  47. Que ventajas tienen nuestro m&amp;#xE9;todo
  48. Que inconvenientes
  49. Los resultados de este proyecto se han utilizado en el aplicacion CruZar desplegada en el portal web del ayuntamiento de Zaragoza. Esta aplicaci&amp;#xF3;n realiza rutas personalizadas para los turista en funci&amp;#xF3;n de sus preferencias.
  50. 3 fases: - Integraci&amp;#xF3;n. - Recomendaci&amp;#xF3;n. - Planificaci&amp;#xF3;n.
  51. Se publicado un capitulo de libro con el caso de uso de Cruzar Se ha enviado un articulo con el nucleo de este proyecto a Journal of Web Semantics
  52. Esto proyecto ha sido implementado como librer&amp;#xED;a Java y publicado con licencia GPL.
  53. Para terminar podemos ver un resumen de lo que hemos obtenido con este proyecto.
  54. Que queda para el futuro...
  55. &amp;#xBF;D&amp;#xF3;nde encontramos estas descripciones? - Transformando los datos desde base de datos, por ejemplo con D2R - Dentro de las iniciativas del W3C encontramos la de Linking Open Data, esta iniciativa busca el poner a disposici&amp;#xF3;n del publico descripciones sem&amp;#xE1;nticas de distintos dominios.
  56. Evoluci&amp;#xF3;n del grafo del Linking Open Data
  57. Total de tripletas