Gráfico de conocimiento
Descubra cómo los grafos de conocimiento revolucionan la IA al modelar relaciones complejas, permitiendo la búsqueda semántica, las recomendaciones personalizadas y más.
Un grafo de conocimiento es un modelo de datos global que organiza e integra la información en una red de entidades del mundo real -como objetos, acontecimientos, situaciones o conceptos abstractos- y de relaciones explícitas entre ellas.
como objetos, eventos, situaciones o conceptos abstractos, y las relaciones explícitas entre ellos. A diferencia de
una base de datos relacional estándar que almacena los datos en filas y columnas rígidas, un grafo de conocimiento estructura los datos como una red flexible de nodos interconectados.
flexible de nodos y aristas interconectados. Esta arquitectura refleja la forma en que los seres humanos asocian cognitivamente los hechos,
lo que permite a los sistemas de Inteligencia Artificial (IA) de
sistemas de Inteligencia Artificial (IA)
razonar, inferir contextos y descubrir patrones ocultos en conjuntos de datos masivos. Esta estructura semántica es un elemento
de la Web Semántica, que crea un marco en el que los datos son
legibles por máquina y vinculados intrínsecamente.
La anatomía de un grafo de conocimiento consta de dos componentes principales: los nodos, que representan las
entidades (por ejemplo, "Albert Einstein" o "Teoría de la Relatividad"), y aristas, que
definen la relación entre ellas (por ejemplo, "propuesto por"). Al adherirse a estándares como el
Marco de Descripción de Recursos (RDF), estos gráficos permiten unificar fuentes de datos dispares.
fuentes de datos dispares. Entre sus principales aplicaciones se encuentran
el Knowledge Graph deGoogle,
que mejora los resultados de los motores de búsqueda, y proyectos comunitarios como
Wikidata.
Aplicaciones en IA y Machine Learning
Los grafos de conocimiento son fundamentales para el avance de diversas
capacidades de aprendizaje automático (Machine Learning, ML)
contexto estructurado que, de otro modo, los modelos estadísticos podrían pasar por alto.
-
Búsqueda semántica: Los motores de búsqueda tradicionales de
tradicionales suelen basarse en la concordancia de palabras clave. Los grafos de conocimiento permiten a los motores comprender la "intención" de una consulta.
de una consulta. Por ejemplo, buscar "Jaguar" puede referirse al animal o a la marca de coches.
Un grafo de conocimiento utiliza el contexto para desambiguar el término y ofrecer resultados más precisos.
-
Sistemas de recomendación: En
AI en el comercio minorista, estos gráficos
complejas entre usuarios, productos y comportamientos de compra. Si un usuario compra una cámara, el gráfico entiende el
con las "tarjetas SD" o los "trípodes" no sólo porque otros los hayan comprado, sino porque son accesorios relacionados funcionalmente.
accesorios funcionalmente relacionados.
-
Generación mejorada por recuperación (RAG):
Los grandes modelos lingüísticos (LLM ) pueden
generar información plausible pero incorrecta. Al integrar un grafo de conocimiento mediante
RAG (Retrieval-Augmented Generation), los agentes de IA pueden consultar una fuente de verdad verificada antes de generar una respuesta.
alucinaciones en los LLM y mejorando
la precisión de los hechos.
-
Contexto dela visión por ordenador (CV):
Los modelos de visión detect objetos, pero los grafos de conocimiento comprenden la escena. Un grafo puede vincular
un "casco" y un "chaleco" con el concepto de "cumplimiento de las normas de seguridad", lo que permite un razonamiento de alto nivel para la supervisión industrial.
razonamiento de alto nivel para la supervisión industrial.
Ejemplo de código: Extracción de entidades para un grafo
El siguiente fragmento de Python muestra cómo utilizar la función
Ultralytics YOLO11 para detect objetos en una imagen.
Estas detecciones pueden servir como nodos de entidad para poblar un grafo de conocimiento, vinculando la imagen a los objetos que contiene.
que contiene.
from ultralytics import YOLO
# Load the official YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract entities to populate a knowledge graph node
graph_entities = []
for box in results[0].boxes:
class_id = int(box.cls)
entity_label = results[0].names[class_id]
confidence = float(box.conf)
# Create a simplified node representation
graph_entities.append({"entity": entity_label, "type": "Object", "confidence": confidence})
print(graph_entities)
Ejemplos del mundo real
-
Descubrimiento de fármacos en sanidad: En el campo de la
AI en sanidad, los investigadores utilizan
conocimiento para modelar interacciones biológicas complejas. Al vincular entidades como genes, proteínas, enfermedades y fármacos
de bases de datos como PubMed y
UniProt, los algoritmos pueden predecir posibles dianas farmacológicas y efectos secundarios. Esta
Esto acelera el proceso de descubrimiento de fármacos al identificar conexiones no evidentes que podrían pasarse por alto en el análisis manual de imágenes médicas o en la bibliografía.
análisis manual de imágenes médicas o
bibliográfica.
-
Optimización de la cadena de suministro: Las empresas de logística emplean gráficos de conocimiento para crear un gemelo digital de
de su cadena de suministro. Los nodos representan proveedores, almacenes, piezas y productos, mientras que las aristas representan rutas de envío o dependencias de montaje.
o dependencias de montaje. Esta estructura facilita
Big Data, que permite a las empresas consultar el grafo
para predecir retrasos, optimizar rutas y gestionar riesgos de inventario con más eficacia que con las hojas de cálculo tradicionales.
hojas de cálculo tradicionales.
Gráfico de conocimiento frente a conceptos relacionados
Para entender el valor único de un grafo de conocimiento, es útil distinguirlo de las tecnologías relacionadas de gestión de datos y de búsqueda.
tecnologías de búsqueda.
-
Base de datos vectorial: Una base de datos
vectorial almacena datos en forma de incrustaciones
para permitir búsquedas por similitud (por ejemplo, encontrar imágenes parecidas). Aunque es potente para la
búsqueda vectorial, se basa en la proximidad matemática implícita.
matemática implícita. En cambio, un grafo de conocimiento se basa en conexiones semánticas explícitas (por ejemplo, "A implica B").
-
Base de datos relacional (RDBMS): Las bases de datos tradicionales (como SQL) almacenan los datos en tablas con esquemas fijos.
esquemas fijos. Destacan en transacciones estructuradas, pero tienen dificultades con datos muy interconectados. La consulta de relaciones
complejas (por ejemplo, los amigos de los amigos de los amigos) es costosa desde el punto de vista computacional en SQL, pero trivial en un grafo que utilice lenguajes de consulta como SPARQL o Cyborg.
lenguajes de consulta como SPARQL o Cypher en
bases de datos de grafos como Neo4j.
-
Procesamiento del Lenguaje Natural (PLN):
La PNL se centra en la comprensión y generación del lenguaje humano. Un grafo de conocimiento suele servir de
"memoria" estructurada de los sistemas de PNL, que les permite basar sus capacidades lingüísticas en datos fácticos
de la minería de datos.