Introducción
A más tardar con la llegada de grandes modelos de lenguaje (LLMs) como GPT, muchos se preguntan cómo proporcionar a dichos modelos información estructurada y precisa. Aunque los LLM pueden responder preguntas de forma muy convincente, muchas de sus respuestas se basan únicamente en probabilidades lingüístico-estadísticas, no en razonamientos lógicos o conocimientos explícitos de hechos. Aquí es donde el uso de una ontología aporta un valor añadido sistemático.
En la siguiente publicación se muestra, mediante una misión ficticia en el ‘El Señor de los Anillos’-universo, cómo una ontología puede apoyar a un LLM en la respuesta a preguntas complejas.
¿Qué es una ontología?
Una ontología es un modelo formal para la representación estructurada del conocimiento. Sirve para representar hechos reales, relaciones y dependencias mediante conceptos y sus relaciones. Técnicamente suele basarse en el modelo RDF (Resource Description Framework), en el que el conocimiento se representa en forma de tripletas: un sujeto, un predicado y un objeto. Estas tripletas constituyen la unidad básica para describir hechos y relaciones en un dominio de conocimiento.
En lugar de simplemente enumerar términos, una ontología modela la realidad en sus interdependencias. Describe cómo las entidades se relacionan entre sí. Por ejemplo, se puede indicar que un sujeto (‘Aragorn’) posee una característica concreta (‘combate con espada’). Esta relación se expresa mediante un predicado (‘hatSkill’). Aragorn, un personaje principal de ‘El Señor de los Anillos’, es un guerrero experimentado con habilidades destacadas en el combate con espada y en liderazgo.
Este conocimiento estructurado puede ser utilizado por sistemas mecánicos como un LLM (Large Language Model) para ofrecer respuestas más precisas, sobre todo cuando el modelo no recurre únicamente a probabilidades estadísticas, sino a conocimientos de base explícitamente modelados.
Tales tripletas pueden almacenarse en bases de datos de grafos como Neo4j y analizarse y visualizarse con bibliotecas de Python como py2neo, rdflib o networkx.
Ejemplo de ontología:
Supongamos que modelamos una ontología con personajes de ‘El Señor de los Anillos’. En esta ontología se incluyen la siguiente información:
Representación visual de la ontología anterior:

Vista detallada de Frodo:

¿Qué aporta una ontología en interacción con un LLM?
En lugar de plantear simplemente una pregunta abierta a un LLM (dejando al modelo decidir si recurre a alucinaciones o a conocimientos fragmentarios), se puede dirigir el LLM para que considere primero el conocimiento estructurado de una ontología. Esto tiene varias ventajas:
Consistencia
El LLM se basa únicamente en hechos definidos y verificables.Limitación del espacio de búsqueda
La búsqueda de respuestas se guía de forma específica.Explicabilidad
Las decisiones pueden rastrearse a través del grafo subyacente.Combinación de lógica y lenguaje
La ontología aporta los hechos, el LLM los formula con elegancia.
Ejemplo: Una misión en el universo de ‘El Señor de los Anillos’
Supongamos que tenemos la siguiente pregunta y se la planteamos a un LLM:
La respuesta de ChatGPT o del LLM a esta pregunta es la siguiente:

En el ejemplo mostrado queda claro cómo un LLM, en este caso ChatGPT, aunque ofrece una respuesta comprensible en contenido, no necesariamente reacciona de forma correcta ante un conjunto de hechos específico. La respuesta proporcionada se basa en un conocimiento general del mundo que el modelo aprendió durante su entrenamiento a partir de una gran variedad de fuentes de acceso público. Esto refleja una perspectiva probable, pero no necesariamente los hechos reales aplicables en el contexto actual.
Los LLM funcionan esencialmente basándose en probabilidades. Calculan qué respuesta a una entrada parece estadísticamente más probable, en función del espacio lingüístico y de conocimiento en el que fueron entrenados. En muchos casos esto conduce a resultados plausibles. Pero tan pronto como la pregunta se orienta hacia conocimientos específicos de dominio, como conocimientos técnicos internos, relaciones propias del proyecto o hechos especialmente seleccionados, estos modelos alcanzan sus límites sin una guía adicional.
Aquí es donde entra en juego el valor añadido de una ontología. Una ontología permite modelar de forma estructurada dichos conocimientos especializados: qué entidades existen, qué propiedades tienen y cómo se relacionan entre sí. En una ontología se puede especificar exactamente que Frodo posee tanto la habilidad de sigilo como la de fortaleza de voluntad, mientras que Samweis sí tiene sigilo pero no fortaleza de voluntad. Este conocimiento está explícitamente registrado y es legible por máquinas.
Al incorporar dicho modelo de conocimiento estructurado en el procesamiento del LLM, la distribución de probabilidades original se ve influenciada de forma dirigida. El LLM ya no tiene que adivinar quién podría ser adecuado, sino que recibe hechos claros sobre los que se genera la respuesta. La probabilidad de obtener una respuesta correcta y especializada aumenta notablemente, porque el modelo deja de basarse exclusivamente en su conocimiento de entrenamiento generalizado y accede además a información especializada y específica del contexto.
Así, la ontología actúa como una estructura semántica guía. Aumenta la precisión factual y obliga al modelo a argumentar dentro de un contexto de significado. Especialmente en escenarios de aplicación reales, como en empresas, sistemas médicos o soluciones de asistencia técnica, esta integración puede marcar la diferencia entre lo plausible y lo correcto.
Ampliación de prompts con conocimiento de ontología para una generación de respuestas de LLM más precisa
Antes de enviar una pregunta al modelo de lenguaje, el prompt original se enriquece con conocimiento estructurado de la ontología. Este conocimiento consiste en tripletas que contienen información relevante sobre el dominio, por ejemplo acerca de las propiedades de los personajes o las relaciones entre conceptos. Mediante la incorporación de estos hechos, el modelo de lenguaje no solo puede recurrir a patrones estadísticos, sino también acceder de forma dirigida al conocimiento especializado proporcionado. Esto conduce a respuestas mejores, comprensibles y correctas para el dominio específico.
Tras la ampliación del prompt con los metadatos, obtenemos como respuesta “Frodo” en lugar de “Samweis”.
Para responder a la pregunta, en el ejemplo actual se incorporó la ontología completa en el prompt. Todos los hechos disponibles se entregaron al LLM en su totalidad para asegurar que la respuesta se basara exclusivamente en el conocimiento modelado. Este procedimiento funciona en ejemplos reducidos, pero no es adecuado para aplicaciones reales y de gran escala.
En entornos profesionales, las ontologías suelen contener decenas de miles o incluso millones de entradas. Sería ineficiente transferir toda la información cada vez, ya que
- se podría superar la longitud máxima de entrada del modelo
- la información innecesaria prolonga el tiempo de cómputo
- incluiría muchos hechos irrelevantes en el prompt
Por ello, en la práctica solo se utiliza un fragmento relevante de la ontología que se ajuste a la pregunta actual.
Cómo funciona una selección adecuada
Una ontología es un modelo estructurado compuesto por sujetos, predicados y objetos. La selección de la información relevante para responder a una pregunta concreta no se realiza mediante similitud estadística o conjeturas semánticas, sino mediante un recorrido estructurado de las relaciones modeladas.
Es crucial seleccionar de la ontología únicamente esos subconjuntos que están conceptualmente relacionados con la pregunta. Para ello no se necesitan modelos de ML, sino mecanismos basados en reglas:
Navegación orientada a las relaciones
Mediante consultas como „MATCH (c:Charakter)-[:HATSKILL]->(s:Skill) WHERE s.name = ‘Heimlichkeit’“ se puede encontrar específicamente todas las entidades que están vinculadas al concepto buscado.Selección basada en rutas
Se puede definir que solo se consideren entidades que estén vinculadas a ciertos requisitos de misión a través de múltiples aristas, por ejemplo mediante „erfordertSkill“ y „hatSkill“Restricción por atributos
La selección se restringe aún más mediante el filtrado específico de atributos de nodo como „hatSkillLevel = Experte“Análisis de vecindad orientado al grafo
Se puede decidir, mediante reglas fijas, qué nodos vecinos a lo largo de predicados definidos deben considerarse, para incluir por ejemplo experiencias, lealtades o disponibilidades en la selección.
Esta forma de selección aprovecha la estructura de la ontología, es decir, sus aristas y nodos explícitos, para extraer exactamente los elementos de conocimiento necesarios para la pregunta.
Un LLM solo interviene después, para formular una respuesta lingüística basada en esta base de hechos condensada. Por tanto, la calidad de la respuesta depende en gran medida de la calidad y relevancia de la subestructura de la ontología seleccionada previamente.
neo4j
Neo4j es una base de datos de grafos diseñada específicamente para representar y consultar de forma eficiente las relaciones entre datos. A diferencia de las bases de datos relacionales clásicas, Neo4j almacena información no en tablas, sino en forma de nodos (Entities), aristas (Beziehungen) y propiedades.
Con Neo4j es posible modelar y analizar estructuras complejas y conectadas:
- Ontologías y grafos de conocimiento (por ejemplo: qué persona tiene qué habilidad y qué tarea la requiere)
- Redes sociales (por ejemplo: quién conoce a quién)
- Sistemas de recomendación (por ejemplo: qué productos se ajustan al comportamiento del usuario
- Detección de fraudes (por ejemplo: patrones inusuales en flujos de pago)
- Arquitecturas de TI (por ejemplo: qué sistemas están cómo conectados entre sí)
Nuestra ontología se ve en neo4j de la siguiente manera:


Instalación mediante Docker
Navegación mediante neo4j
Encuentra todos los personajes (o, en general: entidades) que poseen la habilidad ‘Heimlichkeit’.

Mediante esta consulta examinamos específicamente solo el fragmento de la ontología relevante para la pregunta, para enriquecer de forma dirigida el modelo de lenguaje con metadatos adecuados.
Reducción contextual de la ontología para consultas LLM
Una vez que se ha buscado la ontología de forma dirigida según las relaciones relevantes, al modelo de lenguaje solo se le pueden pasar como contexto las dependencias conceptualmente relevantes en lugar de la ontología completa.
Respuesta del LLM
Ejemplo de código
OWL (Web Ontology Language)
En las secciones anteriores hemos visto cómo una ontología en forma de grafo con tripletas simples (sujeto-predicado-objeto) puede mejorar drásticamente la calidad de las respuestas de un LLM. Hemos modelado entidades como Frodo y Heimlichkeit y la relación hatSkill entre ellas.
Este enfoque ya es muy potente. Sin embargo, nuestro sistema hasta ahora solo sabe que existe una conexión, pero no lo que esa conexión significa lógicamente ni qué reglas la rigen. Para cerrar esta brecha y dotar a nuestra ontología de un nivel más profundo de “inteligencia”, utilizamos Web Ontology Language (OWL).
OWL es un formato estandarizado por el W3C para la creación de ontologías formales y completas. Puede considerarse como una extensión de RDF (el marco en el que se basa nuestro modelo de tripletas).
Si nuestro grafo actual proporciona el vocabulario y las frases simples, entonces OWL es la gramática y el conjunto de reglas que describe las conexiones lógicas entre ellas. OWL nos permite definir el significado de los términos y relaciones en nuestro mundo de "El Señor de los Anillos" de manera que una máquina no solo pueda leerlos, sino también entenderlos y razonar con ellos. La migración o extensión de nuestra ontología con OWL nos brindaría varias ventajas cruciales que aumentarían notablemente la calidad de los hechos entregados al LLM.
Problema actual
En nuestro grafo, Frodo, Heimlichkeit y Schattenlager Infiltration son todos nodos del mismo tipo (Entity). El sistema no sabe que se trata de un personaje, una habilidad y una misión.Solución con OWL
Podemos definir clases formales: Charakter, Faehigkeit y Mission. A continuación incluso podemos formar jerarquías, p. ej. Hobbit y Elb podrían ser subclases de Charakter. Frodo sería entonces una instancia de la clase Hobbit.Ventaja
El sistema puede realizar consultas mucho más precisas ("Finde alle Hobbits, die die Fähigkeit ‘Heimlichkeit’ haben"). Los errores lógicos, como asignar una lealtad a una misión, se vuelven imposibles y el contexto para el LLM queda claro sin ambigüedades.
Al usar OWL, transformamos nuestro grafo de conocimiento existente de una simple colección de datos en un modelo dinámico y lógico de nuestro mundo de "El Señor de los Anillos". Los hechos que luego entregamos al LLM no solo son más precisos y ricos en contexto, sino que también pueden incluir conocimiento que se genera mediante inferencias lógicas. Este es el siguiente paso crucial para maximizar la calidad de las respuestas.
Ejemplo de ontología
Visualización mediante Protégé
Protégé es una herramienta de código abierto disponible de forma gratuita para la creación y gestión de ontologías, por ejemplo en OWL. Con Protégé se pueden definir clases, propiedades e instancias y establecer relaciones entre ellas. Admite los denominados reasoners, es decir, motores de inferencia lógica que permiten comprobaciones de consistencia y hacen visibles relaciones implícitas adicionales. Además, la herramienta puede ampliarse mediante complementos y existe también una versión web que permite el trabajo colaborativo.

