Inteligencia Artificial Representaci - PowerPoint PPT Presentation

About This Presentation
Title:

Inteligencia Artificial Representaci

Description:

Title: Inteligencia Artificial Author: Luigi Last modified by: Luigi Ceccaroni Document presentation format: On-screen Show (4:3) Other titles: Arial ... – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 115
Provided by: Luig80
Learn more at: https://www.cs.upc.edu
Category:

less

Transcript and Presenter's Notes

Title: Inteligencia Artificial Representaci


1
Inteligencia Artificial Representación del
conocimiento
  • Primavera 2009
  • profesor Luigi Ceccaroni

2
Conocimiento y razonamiento
  • Las personas conocen cosas y realizan
    razonamientos de forma automática.
  • Y los agentes artificiales?
  • Conocimiento y razonamiento en forma de
    estructuras de datos y algoritmos.
  • Para que el conocimiento sea accesible para los
    ordenadores, se necesitan sistemas basados en el
    conocimiento (SBCs).

2
3
Conocimiento y razonamiento
  • En los SBCs se usan lenguajes declarativos
  • Expresiones más cercanas a los leguajes humanos
  • Los SBCs expresan el conocimiento en una forma
    que tanto los humanos como los ordenadores puedan
    entender.
  • Esta parte de la asignatura analiza cómo expresar
    el conocimiento sobre el mundo real en una forma
    computacional.

3
4
Logic, ontology and computation
  • Knowledge representation is an interdisciplinary
    subject that applies theories and techniques from
    three fields
  • Logic provides the formal structure and rules of
    inference.
  • Ontology defines the kinds of things that exist
    in the application domain.
  • Computation supports the applications that
    distinguish knowledge representation from pure
    philosophy.

5
Inferencia en lógica
  • Se quieren conseguir algoritmos que puedan
    responder a preguntas expresadas en forma lógica.
  • Tres grandes familias de algoritmos de
    inferencia
  • encadenamiento hacia delante y sus aplicaciones
    en los sistemas de producción
  • encadenamiento hacia atrás y los sistemas de
    programación lógica
  • sistemas de demostración de teoremas basados en
    la resolución

6
Sistemas de producción
  • La representación mediante formalismos lógicos es
    declarativa pero puede representar
    procedimientos.
  • Se describen cuales son los pasos para resolver
    un problema como una cadena de deducciones.
  • La representación se basa en dos elementos
  • hechos proposiciones o predicados
  • reglas formulas condicionales

7
Sistemas de producción
  • Un problema queda definido por
  • Base de hechos que describen el problema
    concreto.
  • Base de reglas que describen los mecanismos de
    razonamiento que permiten resolver problemas.
  • Motor de inferencia que ejecuta las reglas y
    obtiene una cadena de razonamiento que soluciona
    el problema.

8
Hechos terminología
  • Base de hechos (BH)
  • Memoria de trabajo
  • Memoria a corto plazo
  • Aserciones
  • Ejemplos
  • x es un gato
  • x es un animal doméstico

9
Reglas terminología
  • Si entonces
  • condiciones - acciones
  • antecedentes - consecuentes
  • premisas - conclusiones
  • Base de reglas
  • Base de conocimiento (BC)
  • Memoria a largo plazo
  • Implicaciones
  • Ejemplo Si x es un gato entonces x es un animal
    doméstico

10
Motor de inferencia terminología
  • El motor de inferencia o mecanismo de control
    está compuesto de dos elementos
  • Interprete de reglas o mecanismo de inferencia
  • Mecanismo de razonamiento que determina qué
    reglas de la BC se pueden aplicar para resolver
    el problema, y las aplica
  • Estrategia de control o estrategia de resolución
    de conflictos
  • Función del motor de inferencia
  • Ejecutar acciones para resolver el problema
    (objetivo) a partir de un conjunto inicial de
    hechos y eventualmente a través de una
    interacción con el usuario
  • La ejecución puede llevar a la deducción de
    nuevos hechos.

11
Motor de inferencia
  • Fases del ciclo básico
  • Detección (filtro) Reglas pertinentes
  • Interprete de reglas Obtención, desde la BC, del
    conjunto de reglas aplicables a una situación
    determinada (estado) de la BH
  • formación del conjunto de conflictos
  • Selección Qué regla?
  • Estrategia de control Resolución de conflictos
  • selección de la regla a aplicar

12
Motor de inferencia
  • Fases del ciclo básico
  • Aplicación
  • Aplicación de la regla sobre una instanciación de
    les variables modificación de la memoria de
    trabajo
  • Vuelta al punto 1, o parada si el problema está
    resuelto
  • Si no se ha encontrado una solución y no hay
    reglas aplicables fracaso.

13
1. Detección
  • Construcción del conjunto de reglas aplicables
  • El intérprete de reglas realiza los cálculos
    necesarios para obtener las instanciaciones que
    son posibles en cada estado de resolución del
    problema (comparación o matching).
  • Una regla puede instanciarse más de una vez, caso
    de existir variables que lo permitan.

14
2. Selección
  • Las reglas son o no aplicadas dependiendo de la
    estrategia de control
  • estrategia fija
  • estrategia dinámica prefijada
  • estrategia guiada por meta-reglas
  • Selección de la mejor instanciación
  • Posible combinación de criterios

15
2. Selección
  • Ejemplos de estrategia de control
  • 1ª regla por orden en la base de conocimiento
  • la regla más/menos utilizada
  • la regla más específica (con más literales) / más
    general
  • la regla que tenga el grado de certeza más alto
  • la instanciación que satisfaga los hechos
  • más prioritarios
  • más antiguos (instanciación más antigua)
  • más nuevos (instanciación más reciente)
  • aplicación de todas las reglas (sólo si se
    quieren todas las soluciones posibles)
  • la regla usada más recientemente
  • meta-reglas, que indican dinámicamente como
    seleccionar las reglas a aplicar

16
3. Aplicación
  • Ejecución de la regla ?
  • Modificación de la base de hechos (en el
    razonamiento hacia delante)
  • Nuevos cálculos, nuevas acciones, preguntas al
    usuario
  • Nuevos sub-objetivos (en el razonamiento hacia
    atrás)
  • Propagación de las instanciaciones
  • Propagación del grado de certeza
  • El proceso de deducción acaba cuando
  • se encuentra la conclusión (el objetivo) buscado
    ? éxito
  • no queda ninguna regla aplicable ? éxito? /
    fracaso?

17
Tipos de razonamiento
  • Deductivo, progresivo, encadenamiento hacia
    delante, dirigido por hechos
  • evidencias, síntomas, datos ? conclusiones
  • Inductivo, regresivo, encadenamiento hacia atrás,
    dirigido por objetivos
  • conclusiones ? datos, evidencias, síntomas
  • Mixto, encadenamiento híbrido

18
Encadenamiento hacia delante
  • Basado en modus ponens A, A?B - B
  • La base de hechos (BH) se inicializa con los
    hechos conocidos inicialmente.
  • Se obtienen las consecuencias derivables de la
    BH
  • se comparan los hechos de la BH con la parte
    izquierda de las reglas se seleccionan las
    reglas aplicables las que tienen antecedentes
    conocidos (que están en la BH)
  • las nuevas conclusiones de las reglas aplicadas
    se añaden a la BH (hay que decidir cómo)
  • se itera hasta encontrar una condición de
    finalización.

19
Encadenamiento hacia delante
  • Problemas
  • No focaliza en el objetivo
  • Explosión combinatoria
  • Ventajas
  • Deducción intuitiva
  • Facilita la formalización del conocimiento al
    hacer un uso natural del mismo
  • Ejemplo de lenguaje CLIPS

20
Encadenamiento hacia atrás
  • Basado en el método inductivo
  • guiado por un objetivo que es la conclusión que
    se trata de validar reconstruyendo la cadena de
    razonamiento en orden inverso.
  • Cada paso implica nuevos sub-objetivos hipótesis
    que han de validarse.

21
Encadenamiento hacia atrás
  • Funcionamiento
  • se inicializa la BH con un conjunto inicial de
    hechos
  • se inicializa el conjunto de hipótesis (CH) con
    los objetivos a verificar
  • mientras existan hipótesis a validar en CH se
    escoge una de ellas y se valida
  • se comparan los hechos de la BH y la parte
    derecha de las reglas con las hipótesis
  • si una hipótesis está en BH eliminarla de CH
  • si no buscar reglas que tengan como conclusión
    la hipótesis seleccionar una y añadir las
    premisas a CH.

22
Encadenamiento hacia atrás
  • El encadenamiento hacia atrás es un tipo de
    razonamiento dirigido por el objetivo.
  • Sólo se considera lo necesario para la resolución
    del problema.
  • El proceso de resolución consiste en la
    exploración de un árbol.
  • Ejemplo de lenguaje Prolog
  • W. F. Clocksin y C. S. Mellish . Programming in
    Prolog Using the ISO Standard. Springer, 2003
    (primera edición de 1981).

23
Prolog lenguaje de programación lógica
  • Programa Prolog
  • conjunto de aserciones lógicas
  • cada aserción es una cláusula de Horn
  • proceso de comparación unificación
  • el orden de las aserciones (reglas) es
    significativo
  • Ejemplo
  • gato (bufa).
  • animaldomestico (X) - gato (X).
  • animaldomestico (X) - pequeño (X), conplumas
    (X).
  • p ? q ? q - p
  • Consultas ?- predicado.
  • La negación se representa con la falta de la
    aserción correspondiente asunción de mundo
    cerrado.

24
Cláusula de Horn
  • De Wikipedia
  • Las cláusulas de Horn (instrucciones ejecutables
    de PROLOG) tienen el siguiente aspecto
  • hija (A, B) - mujer (A), padre (B, A). que
    podría leerse así "A es hija de B si A es mujer
    y B es padre de A".
  • Obsérvese que, en PROLOG, el símbolo - separa la
    conclusión de las condiciones. En PROLOG, las
    variables se escriben comenzando con un
    asterisco. Todas las condiciones deben cumplirse
    simultáneamente para que la conclusión sea
    válida. Por tanto, la coma que separa las
    distintas condiciones es equivalente a la
    conjunción copulativa (en algunas versiones de
    PROLOG se sustituye la coma por el símbolo ). La
    disyunción, en cambio, no se representa mediante
    símbolos especiales, sino definiendo reglas
    nuevas, como la siguiente
  • hija (A, B) - mujer (A), madre (B, A). que
    podría leerse así "A es hija de B si A es mujer
    y B es madre de A".
  • Cláusulas con como mucho un literal positivo.

25
Encadenamiento híbrido
  • Partes de la cadena de razonamiento que conduce
    de los hechos a los objetivos se construyen
    deductivamente y otras partes inductivamente
    exploración bi-direccional
  • El cambio de estrategia suele llevarse a cabo a
    través de meta-reglas. Ejemplos
  • función del número de estados iniciales y finales
  • función de la dirección de mayor ramificación
  • función de la necesidad de justificar el proceso
    de razonamiento
  • Se evita la explosión combinatoria del
    razonamiento deductivo.

26
Factores para decidir el sentido del
encadenamiento
  • Número de estados iniciales y finales
  • Preferible del conjunto más pequeño hacia el más
    grande
  • Factor de ramificación
  • Preferible en el sentido del factor más pequeño
  • Necesidad de justificar el proceso de
    razonamiento
  • Preferible el sentido de razonamiento habitual
    del usuario

27
Comparación (matching)
  • Es más complicada en el razonamiento hacia
    delante.
  • Si las condiciones de una regla se cumplen, una
    vez aplicada se puede entrar en un ciclo.
  • Existen mecanismos eficientes de comparación y
    selección que evitan repasar todas las reglas de
    la BC
  • OPS-5 usa el algoritmo RETE
  • Prolog indexa las cláusulas según los predicados

28
Bibliografía complementaria
  • J. F. Sowa. Knowledge Representation.
    Brooks/Cole, 2000.
  • W. F. Clocksin y C. S. Mellish. Programming in
    Prolog Using the ISO Standard. Springer, 2003
    (primera edición de 1981).

29
Hacia las ontologías
  • El conocimiento ha de permitir guiar a los
    mecanismos de IA para obtener una solución más
    eficiente
  • Cómo escoger el formalismo que nos permita hacer
    una traducción fácil del mundo real a la
    representación?
  • Cómo ha de ser esa representación para que pueda
    ser utilizada de forma eficiente?

30
Información y conocimiento
  • Llamaremos información al conjunto de datos
    básicos, sin interpretar, que se usan como
    entrada del sistema
  • los datos numéricos que aparecen en una analítica
    de sangre
  • los datos de los sensores de una planta química
  • Llamaremos conocimiento al conjunto de datos que
    modelan de forma estructurada la experiencia que
    se tiene sobre un cierto dominio o que surgen de
    interpretar los datos básicos
  • la interpretación de los valores de la analítica
    de sangre o de los sensores de la planta química
    para decir si son normales, altos o bajos,
    preocupantes, peligrosos...
  • el conjunto de estructuras de datos y métodos
    para diagnosticar a pacientes a partir de la
    interpretación del análisis de sangre, o para
    ayudar en la toma de decisiones de qué hacer en
    la planta química

31
Información y conocimiento
  • Los sistemas de IA necesitan diferentes tipos de
    conocimiento que no suelen estar disponibles en
    bases de datos y otras fuentes clásicas de
    información
  • Conocimiento sobre los objetos en un entorno y
    posibles relaciones entre ellos
  • Conocimiento difícil de representar de manera
    sencilla, como intencionalidad, causalidad,
    objetivos, información temporal, conocimiento que
    para los humanos es de sentido común
  • Intuitivamente podemos decir que
  • Conocimiento información interpretación

32
Qué es una representación del conocimiento (RC)?
  • Representación del conocimiento o esquema de
    representación, Davis et al. (MIT), 1993
  • Un substituto de lo que existe en el mundo real o
    imaginario.
  • Un conjunto de cometidos ontológicos En qué
    términos hay que pensar acerca del mundo?
  • Una teoría fragmentaria del razonamiento
    inteligente Qué es la inteligencia? Qué se
    puede inferir de lo que se conoce? Qué se
    debería inferir de lo que se conoce? (Qué
    inferencias son recomendadas?)
  • Un medio para la computación eficiente Cómo se
    debería organizar la información para facilitar
    la manera de pensar y razonar?
  • Un medio de expresión humana Un lenguaje que las
    personas usan para hablar entre ellas y con las
    máquinas.

33
1 Es un substituto
  • Es un substituto de los objetos del mundo real o
    imaginario.
  • Las operaciones sobre la RC substituyen acciones
    en el mundo.
  • El mismo razonamiento es un substituto de la
    acción.
  • Inversamente, las acciones pueden sustituir el
    razonamiento.

34
Preguntas
  • Un substituto de qué? ? semántica
  • Hasta que punto exacto como substituto? ?
    fidelidad
  • Más fidelidad no es automáticamente mejor
  • La fidelidad perfecta es imposible
  • Las mentiras son inevitables
  • Las inferencias incorrectas son inevitables

35
Terminología y perspectiva
  • Inferencia obtención de nuevas expresiones
    desde expresiones previas
  • Tecnologías de representación del conocimiento
    (TRCs)
  • Lógica
  • Reglas
  • Marcos
  • Redes semánticas
  • Ontologías

36
2 Conjunto de cometidos ontológicos (COs)
  • Los substitutos son inevitablemente imperfectos ?
    La selección de una RC inevitablemente hace un CO
  • Determina lo que se puede conocer, enfocando una
    parte del mundo y desenfocando las otras
  • El cometido ocurre incluso al nivel de las
    técnicas de representación del conocimiento
    (TRCs)
  • Diagnosis en forma de reglas vs. marcos
  • An ontological commitment is an agreement to use
    a vocabulary (i.e., ask queries and make
    assertions) in a way that is consistent (but not
    complete) with respect to the theory specified by
    an ontology. We build agents that commit to
    ontologies. We design ontologies so we can share
    knowledge with and among these agents.
  • Tom Gruber ltgruber_at_ksl.stanford.edugt

37
3 Fragmento de una teoría de razonamiento
inteligente
  • Cuáles son todas las inferencias que está
    permitido hacer?
  • Cuáles inferencias están especialmente
    impulsadas?

38
Cuáles son las inferencias que está permitido
hacer?
  • Ejemplos
  • Lógica formal clásica inferencias bien
    fundamentadas
  • Reglas inferencias plausibles
  • Ontologías inferencia con valores por defecto
  • Estilos de respuestas
  • Precisas, formuladas en términos de un lenguaje
    formal
  • Imprecisas, no basadas en un lenguaje formal
  • Utilidad del pluralismo

39
Qué inferencias están especialmente impulsadas?
  • Ejemplos
  • Ontologías propagación de valores, enlaces
  • Reglas encadenamiento, asociaciones
  • Lógica proposiciones subordinadas (lemas),
    grafos de conexión
  • Explosión combinatoria
  • Necesidad de guía sobre lo que se debería hacer,
    no sólo lo que se puede hacer

40
4 Medio para la computación pragmáticamente
eficiente
  • Razonar con una RC significa hacer algún tipo de
    computación.
  • Cómo se puede organizar la información para
    facilitar el razonamiento?
  • Ejemplos
  • Marcos, ontologías triggers, jerarquías
    taxonómicas
  • Lógica theorem provers de grafos de conexión

41
5 Medio de expresión y comunicación
  • Cómo se expresan las personas acerca del mundo?
  • Cómo se comunican las personas entre ellas y con
    el sistema de razonamiento?
  • RC como medio de expresión
  • Cómo es de general, preciso? Proporciona una
    expresividad adecuada?
  • RC como medio de comunicación
  • Cómo es de transparente? Los humanos pueden
    entender lo que se está diciendo?
  • Se pueden generar las expresiones que interesan?

42
Qué debería ser una RC?
  • Los cinco roles tienen importancia.
  • Los roles caracterizan el núcleo de una
    representación.
  • Hay que tenerlos en cuenta cuando se crea una RC.
  • Cada RC es sólo una de muchas posibles
    aproximaciones a la realidad.

43
Cómo debería ser una RC?
  • Pragmática en su visión de validez y eficiencia
  • Pluralista en la definición de las inferencias
    posibles
  • Efectiva en recomendar inferencias y organizar la
    información
  • Efectiva como medio de comunicación
  • Capaz de capturar la riqueza del mundo natural

44
RC desde el punto de vista informático
  • Estructuras de datos representan el dominio y el
    problema de manera estática.
  • Procedimientos manipulan las estructuras de
    manera dinámica
  • Operaciones procedimientos para crear, modificar
    o destruir las representaciones o sus elementos.
  • Predicados procedimientos para acceder a campos
    concretos de información.

45
Tipos de conocimiento
  • Procedimental funciones, reglas de producción,
    lenguajes de programación convencionales
  • Declarativo (o no procedimental) lógica
  • Pero la lógica puede representar el mismo tipo de
    procedimientos de un lenguaje de programación.
    (!)
  • Diferencia primaria la lógica requiere
    relaciones o predicados explícitos para expresar
    la secuencia, mientras que los lenguajes
    procedimentales dependen de la secuencia
    implícita en la estructura del programa.

45
46
Conocimiento declarativo
  • Conocimiento relacional simple
  • Conjunto de relaciones del mismo tipo que las de
    una base de datos
  • Conocimiento heredable
  • Estructuración jerárquica
  • Relaciones es-un (clase-clase), instancia-de
    (clase-instancia)
  • Herencia de propiedades y valores
  • Herencia simple y múltiple
  • Valores por defecto
  • Conocimiento inferible
  • Descripción vía lógica tradicional
  • Ejemplo de uso en la resolución

47
Nivel de granularidad
  • A qué nivel de detalle se tiene que representar
    el mundo?
  • Primitivas
  • Ej. relación de parentesco
  • Primitivas madre, padre, hijo, hija, hermano,
    hermana
  • Bruno es abuelo de Kora
  • Iain es primo de Ricardo
  • Si la representación es de muy bajo nivel, las
    inferencias son muy simples, pero ocupan mucho
    espacio.

48
El frame problem
  • Nihil omnino fit sine aliqua ratione
  • Nothing at all can happen without some reason
  • Ejemplo
  • El semáforo se pone verde cada minuto par.
  • El semáforo se pone rojo cada minuto impar.
  • Persistencia
  • Un programa puede determinar qué pasa en los
    puntos de tiempo discretos en que el semáforo
    cambia de color.
  • Pero se necesita más información para determinar
    qué pasa en los intervalos entre cambios de color.

49
El frame problem
  • La declaración en castellano que el semáforo se
    queda en verde o en rojo no es necesariamente
    capturada por los axiomas de un programa.
  • Se necesitan dos axiomas de persistencia
    adicionales
  • Son una manera engorrosa de decir algo que
    debería ser obvio.
  • Desafortunadamente, los ordenadores no reconocen
    lo obvio, a menos que no se les diga
    explícitamente cómo.
  • Estos axiomas son la solución de un caso especial
    del más general frame problem.

50
El frame problem
  • La aproximación general al frame problem se basa
    en el principio de razón suficiente de Leibniz
    Nothing at all can happen without some reason
  • Es un axioma de meta-nivel que se usa para
    generar uno o más axiomas de nivel más bajo para
    cada ejemplo concreto.
  • Implica que el color del semáforo debería
    quedarse igual a menos que no haya alguna razón
    para que cambie.

51
Historia de la representación del conocimiento
  • Los bloques de construcción primarios para
    cualquier esquema de representación del
    conocimiento son las categorías.
  • Se considerará la evolución desde redes
    semánticas a marcos a ontologías.
  • Se considerarán también los mapas conceptuales.

52
Redes semánticas
  • Históricamente, las redes semánticas
    proporcionan
  • una ayuda gráfica para visualizar una base de
    conocimiento
  • algoritmos eficientes para inferir propiedades de
    un objeto en base a su pertenencia a una
    categoría.

53
Redes semánticas
  • Charles S. Peirce (1909) desarrolló los grafos
    existenciales como el primer formalismo de redes
    semánticas usando lógica moderna.
  • Ross Quillian (1961) inició el trabajo con las
    redes semánticas dentro del campo de la IA.

54
Redes semánticas
  • Una red semántica es un grafo donde
  • los nodos representan conceptos
  • los arcos (dirigidos) representan relaciones
    entre conceptos
  • Mecanismos de razonamiento específicos permiten
    responder a preguntas sobre la representación
  • Están relacionados dos conceptos?
  • Que relaciona dos conceptos?
  • Cuál es el concepto mas cercano que relaciona
    dos conceptos?

55
Marcos
  • Un artículo influyente de Marvin Minsky (1975)
    presentó una nueva versión de las redes
    semánticas los marcos.
  • Un marco era una representación de un objeto o
    categoría o concepto, con atributos y relaciones
    con otros objetos o categorías o conceptos.
  • El artículo fue criticado por ser un conjunto de
    ideas recicladas desarrolladas en el campo de la
    programación orientada a objetos, como la
    herencia y el uso de valores por defecto.

56
Marcos
  • A los marcos se asocia normalmente una parte
    procedimental.
  • Las relaciones y atributos, y no solo las
    categorías, tienen una estructura que permite
    describir su semántica.
  • Ejemplo de marco
  • Arteria
  • superclases Vaso sanguíneo
  • pared Muscular
  • forma

57
Marcos
  • Un marco está generalmente dividido en
  • una parte declarativa (atributos o slots)
  • una procedimental (métodos o demons)
  • La parte procedimental permite obtener más
    información o hacer cálculos sobre sus
    características o las relaciones que pueda tener
    con otros marcos.
  • La descripción de los atributos también está
    estructurada un atributo puede tener propiedades
    (facets).
  • En el caso más general se pueden tener taxonomías
    de atributos.

58
Marcos
  • Las relaciones poseen una descripción formal que
    establece su semántica y su funcionamiento.
  • Dividimos las relaciones en dos simples clases
  • taxonómicas
  • enlace ES-UN (subclase/clase)
  • enlace INSTANCIA-DE (instancia/clase)
  • no taxonómicas

59
Marcos
  • Los atributos poseen un conjunto de propiedades
    que permiten establecer su semántica
  • dominio
  • rango
  • cardinalidad
  • valor por defecto
  • métodos
  • ...
  • Permiten definir procedimientos de manera que se
    realicen cálculos bajo ciertos eventos (a través
    de los métodos).

60
Marcos
  • Los métodos pueden ser
  • if-needed (se activan al consultar el atributo)
  • if-added (se activan al asignar valor al
    atributo)
  • if-removed (se activan al borrar el valor del
    atributo)
  • if- modified (se activan al modificar el valor
    del atributo).
  • Se puede declarar como el mecanismo de herencia
    afecta a los atributos.

60
61
Marcos atributos
  • Etiqueta
  • nombre
  • valor
  • dominio lista de marcos donde puede aparecer
  • rango (tipo de valores que admite) lista, clase
  • cardinalidad máxima
  • cardinalidad mínima (si es 1, el atributo es
    obligatorio)
  • valor-por-defecto (a usar si no hay valor)
  • función para calcular valor
  • métodos (funciones con activación condicionada)
  • condiciones de herencia (atributo valor) sí/no
    (por defecto relaciones taxonómicas sí otras
    no)
  • Para acceder al valor de un atributo se usa la
    sintaxis
  • ltnombre marcogt.ltnombre atributogt (valor o lista
    de valores)

62
Marcos ejemplo de atributo
  • Edad
  • nombre Edad
  • valor
  • dominio (lista de marcos donde puede aparecer)
    Persona
  • rango (tipo de valores que admite) entero
    0..140 joven/viejo
  • cardinalidad máxima 1
  • cardinalidad mínima (si es 1, el atributo es
    obligatorio) 0
  • valor-por-defecto (a usar si no hay valor)
  • función para calcular valor
  • métodos (funciones con activación condicionada)
  • condiciones de herencia (atributo valor) sí/no
    (por defecto relaciones taxonómicas sí otras
    no)
  • Para acceder al valor del atributo se usa la
    sintaxis
  • Persona.edad

62
63
Marcos métodos
  • Son acciones o funciones que permiten obtener
    información sobre el mismo marco u otros marcos.
  • Los métodos pueden invocarse desde marcos
    abstractos (clases) o marcos concretos
    (instancias).
  • Pueden ser heredables (se permite invocarlos en
    los descendientes) o no heredables (exclusivos
    del marco donde están definidos).
  • A veces, pueden ser invocados con parámetros.
  • Ejemplo de método if-modified
  • Si Deunan.edad tenía valor 28 y se modifica a 32,
    se activa un método que cambia el valor del
    atributo Deunan.ganas-de-casarse de 1 a 5.

63
64
Marcos relaciones
  • Permiten conectar los marcos entre sí.
  • Se define su semántica mediante un conjunto de
    propiedades
  • dominio
  • rango
  • cardinalidad
  • inversa
  • transitividad
  • composición

64
65
Marcos relaciones
  • Se pueden establecer métodos que tienen efecto
    ante ciertos eventos
  • if-added si se establece la relación entre
    instancias
  • if-removed si se elimina la relación entre
    instancias
  • Se puede establecer el comportamiento de la
    relación respecto al mecanismo de herencia (que
    atributos permite heredar).

65
66
Marcos relaciones
  • Etiqueta
  • nombre
  • dominio lista de marcos
  • rango lista de marcos
  • cardinalidad 1 o N
  • inversa ltnombregt (cardinalidad 1 o N)
  • transitiva sí/no (por defecto es no)
  • compuesta no / descripción de la composición
  • métodos if-added / if-removed ltnombre.accióngt
  • condiciones de herencia lista de atributos (por
    defecto lista vacía)

66
67
Marcos relaciones
  • Las acciones asociadas a los métodos no tienen
    parámetros.
  • La expresión ltnombre marcogt.ltnombre relacióngt
    devuelve el marco (si la cardinalidad es 1) o la
    lista de marcos (si es N) con los que está
    conectado ltnombre marcogt a través de ltnombre
    relacióngt.

67
68
Marcos relaciones
  • Para consultar la cardinalidad se usa la función
    card(ltnombre marcogt.ltnombre relacióngt) que
    devuelve un entero.
  • Relaciones predefinidas
  • enlace ES-UN (inversa tiene-por-subclase)
  • transitiva
  • enlace INSTANCIA-DE (inversa tiene-por-instancia)
  • se puede obtener por composición INSTANCIA-DE ?
    ES-UN

68
69
Marcos relaciones
  • Funciones booleanas que quedan definidas
  • atributo?(ltmarcogt) cierto si ltmarcogt posee este
    atributo.
  • relación?(ltmarcogt) cierto si ltmarcogt está
    conectado con algún otro marco a través de la
    relación indicada por la función.
  • relación?(ltmarco-ogt,ltmarco-dgt) cierto si existe
    una conexión entre ltmarco-ogt y ltmarco-dgt
    etiquetada con la relación indicada por la
    función.

69
70
Marcos herencia
  • La herencia permite obtener en un marco el valor
    o los valores de un atributo a través de otro
    marco con el que esta relacionado.
  • En el caso de las relaciones taxonómicas (caso
    más común) la herencia (de atributos y valores)
    se da por defecto.
  • En el resto de las relaciones se ha de establecer
    de manera explícita.
  • Hay atributos no heredables. Ejemplo
  • tiene-por-instancia
  • Dado un marco es posible que la representación
    permita heredar un valor a través de múltiples
    relaciones (herencia múltiple) hay que
    establecer criterios (ejemplo camino más corto).

70
71
Herencia simple y múltiple
  • La herencia es simple si las relaciones son
    taxonómicas en forma de árbol.
  • La herencia es múltiple si
  • la taxonomía es un grafo (dirigido acíclico)
  • hay otras relaciones (no taxonómicas) que
    permiten herencia
  • Puede haber conflicto de valores!
  • (obviamente, sólo si hay herencia de atributo y
    valor)

71
72
Marcos herencia múltiple
  • Cuáles son el tamaño, el peso y el color de
    Clyde?
  • El algoritmo de distancia inferencial permite
    establecer cual es el marco del que se ha de
    heredar.

73
Herencia distancia inferencial
  • Buscar el conjunto de marcos que permiten heredar
    el valor del atributo ? Candidatos
  • Eliminar de la lista Candidatos todo marco que
    sea padre de otro de la lista
  • Si el nuevo número de candidatos es
  • 0 ? No se puede heredar el atributo
  • 1 ? Ese es el valor que se hereda
  • N gt 1 ? Problema de herencia múltiple si la
    cardinalidad del atributo no es N

73
74
Mapas conceptuales (MCs)
  • Forma de representación del conocimiento
    concebida en el contexto de las ciencias
    pedagógicas a finales de la década de los 70.
  • Fueron propuestos por Novak et al., y definidos
    como una técnica que representa, simultáneamente
  • una estrategia de aprendizaje
  • un método para captar lo más significativo de un
    tema
  • un recurso esquemático para representar un
    conjunto de significados conceptuales incluidos
    en una estructura de proposiciones.

75
Mapas conceptuales (MCs)
  • Están compuestos por
  • nodos asociados a conceptos
  • enlaces etiquetados por una palabra-enlace, que
    definen el tipos de relación que se establece
    entre los nodos
  • proposiciones formadas por dos o más
    nodos-conceptos relacionados por una
    palabra-enlace.

76
Mapas conceptuales (MCs)
  • Los elementos de un MC son distribuidos
    gráficamente con los nodos-conceptos más
    inclusivos arriba y los más específicos abajo.
  • Los MC son un tipo de red semántica más flexible
    y orientada a ser usada e interpretada por
    personas.

77
Mapas conceptuales ejemplo
78
Ontología
  • En filosofía, la ontología es una disciplina que
    se identifica con la metafísica.
  • Ontología teoría del ser, es decir, el estudio
    de todo lo que es qué es, cómo es y cómo es
    posible.
  • La ontología se ocupa de la definición del ser y
    de establecer las categorías fundamentales de las
    cosas a partir del estudio de sus propiedades,
    estructuras y sistemas.

78
79
Ontologías
  • En los años 90, en el campo de la IA, se adoptó
    el termino ontología para los esquemas de
    representación del conocimiento basados en redes
    semánticas o marcos
  • una especificación formal y explícita de una
    conceptualización compartida, que puede ser leída
    por un ordenador
  • (Gruber, 1993 Borst, 1997 Studer et al., 1998
    Ceccaroni, 2001)

80
Formalidad
  • Las ontologías son (deberían ser) formales
    tienen que ser leíbles por los ordenadores.
  • Nivel de formalidad
  • de altamente informal lenguaje natural
  • a rigurosamente formal términos con semántica
    formal y axiomas
  • En las ontologías maduras, las descripciones
    permitidas son sólo las consistentes con un
    conjunto de axiomas, que determinan su uso.

80
81
Especificación explícita
  • Los tipos de los conceptos y las restricciones
    sobre su uso están (deberían estar) definidos
    explícitamente.
  • Accesibilidad y transparencia
  • documentación de los detalles técnicos

81
82
Comprensión compartida del conocimiento
  • Las ontologías contienen (deberían contener)
    conocimiento consensual, aceptado por un grupo de
    personas expertas lo más amplio posible.

82
83
Conceptualización
  • Las ontologías son un modelo abstracto de algún
    dominio de algún mundo posible.
  • Compromiso común hacer el mínimo número de
    afirmaciones posible (sólo las necesarias) sobre
    el dominio que se está modelando, dejando a los
    reutilizadores de la ontología la libertad de
    especializarla e instanciarla tanto como haga
    falta.

83
84
Algunos desafíos actuales de la IA
  • Comprensión del lenguaje natural
  • Comprensión de requisitos de software
  • Comprensión de imágenes y vídeos
  • Comprensión de procesos, agentes y servicios
  • Comprensión de bases de datos
  • Comprensión de la web

85
Por qué son útiles las ontologías?
86
Por qué son útiles las ontologías?
87
Por qué son útiles las ontologías?
88
Por qué son útiles las ontologías?
89
Por qué son útiles las ontologías?
90
Por qué son útiles las ontologías?
91
Por qué son útiles las ontologías?
92
Por qué son útiles las ontologías?
  • Modelado y uso compartido del conocimiento
  • comunicación entre personas/agentes con
    diferentes necesidades y puntos de vistas debidos
    a contextos diferentes
  • marco unificado dentro de una organización para
    reducir la confusión conceptual y terminológica
  • interoperabilidad entre sistemas a través de
    traducciones entre diferentes paradigmas,
    lenguajes, herramientas informáticas y métodos de
    modelado
  • ontologías como ínter-lengua
  • integración de ontologías

93
Por qué son útiles las ontologías?
  • Ingeniería de sistemas
  • re-usabilidad
  • Ontologías altamente configurables y bibliotecas
    de ontologías facilitan la re-usabilidad entre
    diferentes sistemas de software.
  • fiabilidad
  • Las ontologías formales permiten la comprobación
    de consistencia, dando lugar a sistemas más
    fiables.

93
94
Amplia gama de aplicaciones
  • Gestión del conocimiento
  • Generación de lenguaje natural
  • Modelado de los procesos de empresa
  • SBCs
  • Navegadores de Internet
  • Interoperabilidad entre sistemas
  • Ingeniería de sistemas especificación,
    fiabilidad, reutilización

94
95
Ontologías ejemplo
  • Conceptos, organizados en taxonomías, enlazados
    por relaciones, en acuerdo con los axiomas.

95
96
Ingenieros de ontologías
  • Los ingenieros del conocimiento construyen
    ontologías basadas en conocimiento consensual
    sobre un dominio.
  • Permiten a un grupo de agentes determinado
    (usuarios de la ontología) compartir y reutilizar
    ese conocimiento dentro del área de trabajo
    seleccionada (el dominio).

96
97
Metodologías
  • Existen y están disponibles varias metodologías
    para la construcción de ontologías
  • Mike Uschold
  • Michael Grüninger
  • Asunción Gómez-Pérez
  • John Sowa
  • Enlace de referencia general
  • http//www.lsi.upc.edu/luigi/ontologies.htm

97
98
Construcción cooperativa
  • De facto estándar
  • Protégé (Stanford University) http//protege.stan
    ford.edu
  • versión 4.0 beta (basada en OWL)
  • versión 3.4 (basada en marcos)

98
99
Protégé
99
100
Protégé
100
101
Implementación
  • Uschold directamente en lenguajes específicos
    para ontologías (por ejemplo, Ontolingua, LOOM,
    KIF)
  • Gómez-Pérez a nivel de conocimiento del dominio,
    a través de un shell que traduce a Ontolingua
  • Protégé entorno visual con entrada y salida en
    OWL

101
102
Ejemplo ontología para gestión de aguas
residuales
  • Metodología utilizada
  • Determinación de los requerimientos
  • Utilidad (necesidad?)
  • Finalidad
  • Adquisición del conocimiento
  • Conceptualización
  • Lista preliminar de términos principales
  • Definición del entorno de desarrollo
  • Reutilización de otras ontologías
  • Formalización

102
103
Situación inicial
  • Presencia de expertos en varios dominios
  • IA
  • Ingeniería química
  • Microbiología
  • Informática
  • Uso de diferentes vocabularios
  • No siempre hay una terminología común.
  • No hay reglas sobre cómo usar los términos, ni
    los sinónimos.

103
104
Objetivos de la ontología
  • Obtener una terminología unificada (pero
    multilingüe), completa y coherente del dominio de
    las aguas residuales
  • Ayudar en la diagnosis de situaciones
    problemáticas relacionadas con aguas residuales
  • Ayudar en la gestión de plantas de tratamiento de
    aguas residuales

104
105
Adquisición del conocimiento
  • Reutilización de conocimiento existente
    codificado de manera específica para el dominio
    en cuestión
  • Entrevistas con expertos
  • Análisis de textos

105
106
Conceptualización
  • Criterios seguidos
  • modelo fácilmente comprensible
  • modelo que refleje los conocimientos de los
    expertos
  • conocimiento fácilmente ampliable
  • fácil integración con otras ontologías
  • posibilidad de elegir un subconjunto de los
    conocimientos y utilizarlos en otras aplicaciones
    o ontologías

106
107
Términos y jerarquía
  • Actuator
  • Body-Of-Water
  • Descriptor
  • Descriptor-Off-Line
  • Descriptor-Qualitative
  • Appearance-Floc
  • Appearance-Surface-Clarifier
  • Descriptor-Quantitative
  • BOD
  • Chlorine Cod
  • Descriptor-On-Line
  • Water-Flow

107
108
Entorno de desarrollo
  • Jerarquía de términos Ontolingua (era el año
    2000)
  • Axiomas antes en Lisp, luego en KIF (asociado a
    Ontolingua)
  • Alternativa Protégé OWL

108
109
Reutilización
  • The ontology is mainly built from scratch.
  • Two other ontology are partially reused
  • Frame ontology its Ontolingua meta-ontology
  • Cyc ontology (Lenat and Guha, 1990) manual
    encoding of millions of encyclopedic facts
    (Ontolingua version)

109
110
Re-engineering
  • Frame-ontology as is
  • Cyc little re-engineering to adapt the concepts
    to the specific domain
  • No ontology integration (and consistency
    checking) needed.

110
111
Términos detalles
  • The ontology use the English language to describe
    the world at the highest level.
  • Nevertheless the documentation of each term
    contains the translation of the term name to
    Spanish, Catalan and Italian.

111
112
Formalización
  • The Ontolingua Ontology Server automatically
    translates to Lisp.
  • The translation has been checked and evaluated.

112
113
Conclusiones
  • Success in unifying terminology and as a way of
    communication between AI researchers and chemical
    engineers.
  • Evaluation as a tool of support to diagnosis.
  • Partial success in using the ontology for
    reasoning.

113
114
Vale, y ahora qué?
  • Desarrollo de Ontologías - 101 Guía Para Crear
    Tu Primera Ontología
  • Noy McGuinness
  • (2000, 2005)
  • http//protege.stanford.edu/publications/ontology
    _development/ontology101-es.pdf
Write a Comment
User Comments (0)
About PowerShow.com