021 — Representación del conocimiento y ontologías
Parte: 01 — IA simbólica, búsqueda, lógica y planificación
Nivel: fundamentos · Horas estimadas: 4
Laboratorio: logic · Estado: EXECUTABLE_CORE
🎯 Propósito
Comprender representación del conocimiento y ontologías dentro de la evolución de la inteligencia artificial, implementar un experimento mínimo verificable y distinguir qué parte constituye evidencia frente a una afirmación todavía no comprobada.
📚 Resultados de aprendizaje
Al finalizar podrás:
- Explicar representación del conocimiento y ontologías usando los conceptos
ontologías,taxonomías,relaciones,inferencia. - Ejecutar el laboratorio con una semilla explícita y revisar su contrato JSON.
- Identificar al menos un supuesto, una limitación y un riesgo de aplicación.
- Comparar el enfoque con la etapa anterior de la ruta de aprendizaje.
- Producir una evidencia reproducible y una conclusión que no exceda los datos.
🧩 Conceptos centrales
ontologías, taxonomías, relaciones, inferencia
🗺️ Ubicación en el mapa de la IA
Si las clases 019-020 dieron el lenguaje (lógica), esta clase trata el contenido: qué conceptos, categorías y relaciones hay que escribir para que un sistema razone sobre un dominio. La ingeniería ontológica viene de las redes semánticas (Quillian, 1968) y los marcos (Minsky, 1974), maduró en las lógicas de descripción y cristalizó en estándares web (RDF, OWL). Hoy sostiene los grafos de conocimiento de Google y Wikidata, y es la mitad simbólica de los sistemas neuro-simbólicos del proyecto de la clase 024.
📖 Fundamentos
🏛️ Ontología: definición operativa
Una ontología es una especificación explícita y formal de una conceptualización compartida (Gruber, 1993): define clases (categorías), individuos (instancias), relaciones (propiedades entre objetos), atributos y axiomas que restringen las interpretaciones válidas. Una taxonomía es el caso particular donde solo hay jerarquía de subsunción (⊑, "es-un").
Distinción estructural clave:
- TBox (terminológico): conocimiento sobre conceptos —
Perro ⊑ Mamífero,Mamífero ⊓ Ave ⊑ ⊥(disjuntos). - ABox (asercional): conocimiento sobre individuos —
Perro(Fido),dueño(Fido, Ana).
🕸️ Redes semánticas y herencia
Una red semántica es un grafo: nodos = conceptos/individuos, aristas = relaciones tipadas (es-un, parte-de, tiene). Su operación central es la herencia: las propiedades fluyen hacia abajo por es-un. La herencia por defecto con excepciones (los pájaros vuelan; los pingüinos son pájaros que no vuelan) exige razonamiento no monótono: añadir información (Piolín es pingüino) puede retirar conclusiones (ya no vuela). La lógica clásica es monótona, por eso se desarrollaron formalismos específicos (lógica por defecto de Reiter, circunscripción de McCarthy).
HEREDAR(individuo, propiedad):
valor ← buscar propiedad localmente en individuo
si existe: devolver valor # la excepción gana
para cada clase C en cadena es-un (de específica a general):
si C define propiedad: devolver C.valor # el más específico gana
devolver desconocido
🔬 Lógicas de descripción: expresividad con decidibilidad
Las description logics (DL) son fragmentos de FOL diseñados para que la inferencia sea decidible con complejidad conocida. Constructores típicos: ⊓ (intersección), ⊔ (unión), ¬, ∃r.C ("algún r lleva a un C"), ∀r.C, cardinalidades. Servicios de razonamiento estándar:
- Subsunción: ¿
C ⊑ Dse sigue de la TBox? (clasificar la jerarquía completa). - Satisfacibilidad de concepto: ¿puede
Ctener instancias? - Realización: ¿de qué clases es instancia cada individuo de la ABox?
- Consistencia global de TBox + ABox.
OWL 2 DL (estándar W3C) corresponde a la DL SROIQ; sus perfiles (EL, QL, RL) recortan expresividad a cambio de razonamiento polinómico — OWL 2 EL es el perfil de SNOMED CT, la ontología clínica de ~350 000 conceptos que se clasifica en minutos con razonadores tipo ELK.
🧱 Decisiones de diseño recurrentes
- Clase vs. individuo: ¿"Águila" es una clase (cada águila concreta) o un individuo (la especie, en una ontología de taxonomía biológica)? Depende del uso; mezclarlos es fuente clásica de incoherencias (OWL 2 permite punning controlado).
es-unvs.parte-de: la subsunción hereda propiedades; la mereología no (el motor es parte del coche; el coche no hereda "gira a 3000 rpm").- Mundo abierto vs. cerrado: OWL asume mundo abierto (lo no afirmado es desconocido, no falso), al contrario que las bases de datos y Prolog. Cambia radicalmente qué se puede concluir: que la ontología no diga que Ana tiene hijos no permite inferir que no los tiene.
- Reutilizar vs. construir: ontologías superiores (BFO, DOLCE) y de dominio (SNOMED, Gene Ontology, schema.org) existen para no partir de cero.
🧮 Ejemplo trabajado
Mini-ontología zoológica (TBox + ABox) y las inferencias que un razonador DL extrae:
TBox:
A1: Pinguino ⊑ Ave A2: Ave ⊑ Vertebrado
A3: Ave ⊑ Ovíparo A4: Mamifero ⊑ Vertebrado
A5: Ave ⊓ Mamifero ⊑ ⊥ (disjuntos)
A6: Volador ≡ Animal ⊓ ∃medio.Aire
ABox:
F1: Pinguino(Piolin) F2: Mamifero(Rex)
Inferencias paso a paso:
1. Subsunción transitiva: Pinguino ⊑ Ave ⊑ Vertebrado ⇒ Pinguino ⊑ Vertebrado
2. Realización: F1 + A1 ⇒ Ave(Piolin); + A2 ⇒ Vertebrado(Piolin)
F1 + A3 ⇒ Ovíparo(Piolin)
3. Consistencia: si alguien añade Mamifero(Piolin), A5 hace la ABox
inconsistente ⇒ el razonador lo rechaza con explicación
4. Mundo abierto: ¿Volador(Piolin)? DESCONOCIDO — nada afirma ∃medio.Aire,
pero tampoco lo niega. Para negar hace falta el axioma
Pinguino ⊑ ¬Volador (así se modela la excepción en DL,
que no tiene defaults: la clase excepcional se excluye
explícitamente).
El punto 4 es el contraste práctico entre herencia por defecto (redes semánticas) y DL: en DL las "excepciones" se modelan con axiomas de exclusión explícitos, conservando la monotonía.
📊 Propiedades y comparación
| Formalismo | Expresividad | Inferencia | Decidible | Uso típico |
|---|---|---|---|---|
| Taxonomía / tesauro (SKOS) | jerarquía + sinónimos | transitividad | Sí (trivial) | catálogos, vocabularios |
| Red semántica / marcos | relaciones + defaults | herencia con excepciones | según formalización | prototipos, UX de conocimiento |
| RDF + RDFS | tripletas + subclases | reglas simples | Sí (P) | grafos de conocimiento, linked data |
| OWL 2 DL (SROIQ) | alta | tableaux/consecuencia | Sí (N2EXPTIME) | ontologías ricas (biomedicina) |
| OWL 2 EL | media | saturación | Sí (PTIME) | SNOMED CT, ontologías enormes |
| FOL completa | máxima | demostración de teoremas | No | verificación, matemáticas |
flowchart TD
subgraph TBox["TBox (conceptos)"]
V["Vertebrado"]
AVE["Ave"] -->|"⊑"| V
MAM["Mamífero"] -->|"⊑"| V
PIN["Pingüino"] -->|"⊑"| AVE
AVE -.-|"⊓ = ⊥ (disjuntos)"| MAM
end
subgraph ABox["ABox (individuos)"]
P["Piolín"] -->|"instancia de"| PIN
R["Rex"] -->|"instancia de"| MAM
end
RZ["🔎 Razonador DL"] --> I1["Clasificación:<br/>Pingüino ⊑ Vertebrado"]
RZ --> I2["Realización:<br/>Ave(Piolín), Vertebrado(Piolín)"]
RZ --> I3["Consistencia:<br/>Mamífero(Piolín) ⇒ ⊥ rechazado"]
⚠️ Errores conceptuales frecuentes
- Confundir
es-un(subsunción) coninstancia-de. "Fido es-un Perro" es pertenencia (ABox); "Perro es-un Mamífero" es inclusión de clases (TBox). Colapsarlos produce herencias sin sentido ("Fido es una subclase"). - Modelar
parte-decomo subsunción. La rueda no es un tipo de coche. La mereología necesita relaciones propias (transitivas, pero sin herencia de propiedades arbitrarias). - Leer OWL con mentalidad de base de datos (mundo cerrado). La ausencia de un hecho no lo hace falso; las restricciones de cardinalidad no "validan datos faltantes" como un esquema SQL, y esa confusión es la queja n.º 1 de los recién llegados a OWL.
- Esperar defaults y excepciones de la lógica clásica. DL/OWL son monótonas: "los pájaros vuelan, salvo los pingüinos" exige remodelar (clase AveVoladora, o axioma de exclusión), no un default que se retracta.
- Construir la ontología por los nombres y no por los axiomas. Llamar a una clase "ClienteImportante" no le da semántica; sin axiomas que la definan, el razonador no puede clasificar nada en ella.
🚀 Del aprendizaje a la operación
Una ontología operativa es un artefacto de software con ciclo de vida: control de versiones y revisión por expertos de dominio, pruebas de regresión de inferencias (¿esta edición reclasificó 400 conceptos sin querer?), razonadores dimensionados al perfil elegido (ELK para EL, HermiT para DL completa), y pipelines de poblado de la ABox desde datos reales — hoy, a menudo con extracción por LLM validada contra los axiomas. El costo dominante no es el razonador sino el mantenimiento del consenso: una ontología es un acuerdo social formalizado, y sin gobernanza se degrada en meses.
🧪 Laboratorio
python lab.py
El laboratorio llama a ai_evolution.labs.run_lab("logic"). Esta
decisión evita 183 implementaciones divergentes: cada clase tiene un entrypoint
propio, pero los motores didácticos se prueban como una biblioteca común.
🔍 Evidencia esperada
- tipo de laboratorio y semilla;
- entradas o decisiones observables;
- resultado estructurado;
- lista
evidencecon hechos que pueden inspeccionarse; - lista
limitationsque impide presentar la demo como producción.
📓 Notebooks
- 📓
notebook.ipynb: recorrido guiado con la materia resumida. - ✍️
notebook_student.ipynb: ejercicios para resolver. - ✅
notebook_solution.ipynb: solución de referencia explicada.
📝 Evaluación
| Criterio | Peso |
|---|---|
| Comprensión conceptual | 25 % |
| Ejecución reproducible | 25 % |
| Interpretación basada en evidencia | 25 % |
| Riesgos, límites y mejora propuesta | 25 % |
Consulta assessment.md para preguntas y criterio de aceptación.
⚠️ Errores comunes
| Síntoma | Causa probable | Corrección |
|---|---|---|
| El código corre, pero no hay conclusión | Se confundió ejecución con aprendizaje | Explica qué demuestra y qué no demuestra |
| El resultado cambia sin explicación | No se registró semilla o configuración | Conserva semilla, versión y parámetros |
| Se promete uso real | Se extrapoló desde una demo educativa | Declara entorno, datos, límites y revisión humana |
| Se copia una métrica aislada | No existe baseline ni costo de error | Añade comparación y criterio de decisión |
❓ Preguntas frecuentes
¿Debo usar una API comercial?
No. El núcleo funciona localmente. Las extensiones LIVE se documentan por separado.
¿El laboratorio representa una implementación industrial?
No por sí solo. Enseña el contrato y el patrón; producción exige integración,
seguridad, observabilidad, pruebas y operación.
¿Dónde profundizo?
Revisa las especializaciones enlazadas en el README raíz y la ruta siguiente.
🔗 Referencias
- Russell, S. y Norvig, P. (2021). AIMA (4.ª ed.), cap. 10 "Knowledge Representation". https://aima.cs.berkeley.edu/ — uso: desarrollo extendido del tema
- Gruber, T. R. (1993). "A translation approach to portable ontology specifications". Knowledge Acquisition, 5(2). https://doi.org/10.1006/knac.1993.1008 — uso: fuente primaria del mecanismo estudiado
- Baader, F. et al. (eds.) (2007). The Description Logic Handbook (2.ª ed.). Cambridge University Press. — uso: desarrollo extendido del tema
- W3C (2012). OWL 2 Web Ontology Language — Overview (2.ª ed.): https://www.w3.org/TR/owl2-overview/ — uso: marco normativo de referencia
- Minsky, M. (1974). "A Framework for Representing Knowledge". MIT AI Memo 306. https://dspace.mit.edu/handle/1721.1/6089 — uso: referencia consultada en su fuente original
📜 Papers que fundamentan esta clase
Bloque generado por
python scripts/link_papers_to_classes.py. La fuente espapers/catalog/papers.json.
| Paper | Año | Qué desbloqueó | Miniatura |
|---|---|---|---|
| P71 · Un enfoque de traducción para especificaciones de ontologías portables | 1993 | Da la definición que se sigue citando —una ontología es una especificación explícita de una conceptualización— y cinco criterios para juzgarla. | notebook |
Cada ficha explica el problema anterior, la matemática mínima, los límites y los errores de atribución más frecuentes. Para leerlas con método: cómo leer un paper de IA · anexos matemáticos.
📚 Bibliografía de apoyo
Bloque generado por
python scripts/link_sources_to_classes.py. Cada obra lleva su localizador verificado ensources/bibliography.json.
Los papers dicen de dónde salió el mecanismo. Estas obras lo desarrollan con el espacio que una clase no tiene: teoría completa, demostraciones y ejercicios.
| Obra | Edición | Localizador | Papel en esta clase |
|---|---|---|---|
| Russell, Stuart J. y Norvig, Peter — Artificial Intelligence: A Modern Approach | 4.ª · 2020 | ISBN 9780134610993 · web de la obra | citada en las referencias de esta clase · cap. 10 · obra de referencia de la parte 01 |
| Baader y F. et al — The Description Logic Handbook | 2007 | ISBN 9781280417993 | citada en las referencias de esta clase |
| Nilsson, N. J. — Principles of Artificial Intelligence | 1980 | ISBN 9780387113401 | obra de referencia de la parte 01 · representación por espacios de estados |
Normas y documentación oficial que aplica esta clase: https://www.w3.org/TR/owl2-overview/
⬅️ Clase anterior
020 — Lógica de primer orden y unificación
➡️ Siguiente clase
022 — Sistemas expertos y motores de reglas
📝 Evaluación completa
❓ Preguntas
- Define representación del conocimiento y ontologías sin usar una marca o framework como definición.
- Explica la relación entre ontologías, taxonomías, relaciones, inferencia.
- Ejecuta
lab.pydos veces con la misma semilla. ¿Qué debe conservarse? - Identifica una afirmación permitida y una afirmación exagerada sobre el resultado.
- Propón una prueba negativa o un caso límite.
🏆 Reto verificable
Amplía el resultado del laboratorio con una clave student_extension que incluya:
- el supuesto que estás probando;
- una medición o comprobación;
- la conclusión;
- una limitación.
✅ Criterio de aceptación
- [ ]
lab.pytermina con código 0. - [ ] El resultado contiene
kind,seed,evidenceylimitations. - [ ] La extensión no modifica el comportamiento de otras clases.
- [ ] La interpretación referencia datos impresos por el laboratorio.
- [ ] Se declara al menos un riesgo o condición de no uso.