Capítulo 1. Introducción a los grafos de conocimiento
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Estamos abrumados por los datos. Están por todas partes y se recopilan a un ritmo fantástico y se almacenan a un coste sustancial. Pero no necesariamente estamos obteniendo valor de esos datos, aunque hay un valor significativo en ellos, si tan sólo pudiéramos entenderlos.
No todo está perdido. En la última década, una nueva categoría de tecnología basada en grafos ha pasado de la oscuridad a la prominencia. Los grafos han pasado a sustentar todo, desde sistemas orientados al consumidor, como la navegación y las redes sociales, hasta infraestructuras críticas, como las cadenas de suministro y las redes eléctricas.
Estos importantes casos de uso de los grafos han llegado a una conclusión común: aplicar el conocimiento en contexto es la herramienta más poderosa que tienen la mayoría de las empresas. Ha ido surgiendo un conjunto de patrones y prácticas de denominados grafos de conocimiento para ayudar a comprender los datos en contexto, donde el contexto se representa como un grafo de elementos de datos conectados. Con los grafos de conocimiento, existe la esperanza de que puedas destilar valor empresarial de los datos. Este libro es un intento de mostrar cómo puede hacerse.
Los gráficos de conocimiento son útiles porque proporcionan una comprensión contextualizada de los datos. El contexto se deriva de la capa de metadatos (topología del gráfico y otras características) que proporciona reglas para la estructura e interpretación de . Este libro muestra cómo el contexto conectado que proporcionan los gráficos de conocimiento te permite extraer mayor valor de los datos existentes, impulsar la automatización y la optimización de procesos, mejorar las predicciones y apoyar una respuesta ágil a los entornos empresariales cambiantes.
Escribimos este libro para los profesionales de la tecnología interesados en crear y utilizar gráficos de conocimiento en sus empresas. En cierto modo, es una continuación o ampliación de Knowledge Graphs: Data in Context for Responsive Businesses, que tuvimos el placer de escribir en 2021. Aquel informe iba dirigido a directores de información (CIO) y directores de datos (CDO), ayudándoles acomprender las ventajas de los grafos de conocimiento. Esta vez nos dirigimos a los profesionales de datos y software que construyen sistemas de información sofisticados.
El libro está dividido en dos partes: la primera trata de los fundamentos de los grafos, incluidas las bases de datos de grafos, los lenguajes de consulta, la gestión de datos y la ciencia de datos de grafos. Enseña a los profesionales técnicos las herramientas fundamentales necesarias para comprender la segunda parte de este libro, que aborda casos de uso de grafos de conocimiento significativos y cómo ponerlos en práctica, con ejemplos de código y arquitecturas de sistemas.
Para los profesionales de los datos y el software, este libro proporciona una rampa de acceso al mundo de los grafos de conocimiento y un lenguaje para debatir su aplicación con tus compañeros y directivos. También ofrece ejemplos detallados de cómo construir y utilizar grafos de conocimiento, desde los fundamentos de los grafos hasta el aprendizaje automático de grafos.
Para los CIO o CDO, este libro puede seguir siendo útil, ya que proporciona una buena visión general de los gráficos de conocimiento y de cómo se entregan. Puedes hojear los primeros capítulos y los ejemplos de código si no es lo tuyo, pero aún así podrás entender lo que hacen tus colegas profesionales y por qué.
Este capítulo explica los antecedentes y la motivación de los grafos de conocimiento. Aquí introduciremos las nociones de grafos y grafos de datos y empezaremos a mostrar cómo construir sistemas más inteligentes con grafos de conocimiento.
¿Qué son los gráficos?
Los grafos de conocimiento son un tipo de grafo, por lo que es importante tener nociones básicas de grafos. Los grafos son estructuras sencillas que utilizan nodos (o vértices) conectados por relaciones (o perímetros) para crear modelos de alta fidelidad de un dominio. Para evitar confusiones, los grafos de este libro no tienen nada que ver con la visualización de datos como histogramas o el trazado de una función, que se denominan gráficos, como se muestra en la Figura 1-1.
Los gráficos de este libro a veces se denominan redes en . Son una forma sencilla pero eficaz de mostrar cómo se conectan las cosas.
Los grafos no son nuevos. De hecho, la teoría de grafos fue inventada por el matemático suizo Leonhard Euler en el siglo XVIII para ayudar a calcular la distancia mínima que el emperador de Prusia tenía que recorrer para ver la ciudad de Königsberg (la actual Kaliningrado) asegurándose de que cada uno de sus siete puentes se cruzaba sólo una vez, como se muestra en la Figura 1-2.
La idea de Euler era que el problema de la figura 1-2 podía reducirse a una forma lógica, eliminando todo el ruido del mundo real y centrándose únicamente en cómo están conectadas las cosas. Fue capaz de demostrar que el problema no tenía por qué incluir puentes, islas o emperadores. Demostró que, de hecho, la geografía física de Königsberg era completamente irrelevante.
Nota
Para nosotros, el planteamiento de Euler es similar al desarrollo moderno de software. Se elimina el ruido inherente al mundo real para que quede una representación lógica más valiosa: el software. Para los profesionales del software, esto resulta cómodamente familiar.
Puedes utilizar el gráfico superpuesto de la Figura 1-2 para averiguar la ruta más corta para caminar por Königsberg sin tener que ponerte las botas de andar e intentarlo de verdad. De hecho, Euler demostró que el emperador no podía recorrer toda la ciudad cruzando cada puente una sola vez, ya que tendría que haber (al menos) una isla (nodo) con un número par de puentes de conexión (relaciones) desde la que el emperador pudiera iniciar su paseo. En Königsberg no existía tal isla, por lo que no es posible tal ruta (camino).
A partir del trabajo de Euler, los matemáticos han estudiado diversos modelos de grafos, todos ellos variaciones sobre el tema de los nodos conectados por relaciones. Algunos modelos permiten que las relaciones sean dirigidas, donde tienen un nodo inicial y final explícitos, mientras que otros tienen relaciones no dirigidas que conectan nodos. Algunos modelos, como los hipergrafos, permiten que las relaciones conecten varios nodos.
En teoría, no hay un único modelo de grafos que sea el mejor que se pueda elegir (aunque normalmente se puede transformar de un modelo a otro). Pero en la práctica hay modelos mejores o peores, sobre todo para construir sistemas informáticos. En este libro hemos elegido el modelo de grafos de propiedades etiquetadas como la base. Es un modelo popular que resulta sencillo de entender para los profesionales del software y los datos. Es lo suficientemente expresivo como para representar incluso los dominios más complicados y es rico en información (a diferencia de los grafos amados por los matemáticos).
La Figura 1-3 muestra un pequeño gráfico social, pero comparado con el ejemplo de la Figura 1-2, este gráfico contiene mucha más información.
En la Figura 1-3, cada nodo tiene una etiqueta que representa su papel en el grafo. Algunos nodos están etiquetados como Person
y otros como Place
, que representan personas y lugares respectivamente. Dentro de esos nodos hay propiedades. Por ejemplo, un nodo tiene name:'Rosa'
y gender:'f'
que puedes interpretar como una persona de sexo femenino llamada Rosa. Observa que los nodos Karl
y Fred
tienen propiedades ligeramente distintas, lo que es una herramienta perfectamente válida, ya que se adapta al desorden del mundo real.
Consejo
El modelo del grafo de propiedades no impone ningún esquema basado en etiquetas o tipos de relación, sino que pretende deliberadamente ser flexible y adaptable para ayudar a desarrollar modelos de alta fidelidad. Si realmente necesitas asegurarte de que los nodos con determinadas etiquetas tienen determinadas propiedades, puedes aplicar restricciones a la etiqueta para asegurarte de que esas propiedades existen, son únicas, etc. Puedes considerar esto no como un esquema o sin esquema, sino como un esquema. Puedes ver esto no como un esquema o sin esquema, sino como un esquema. La idea es utilizar restricciones de tipo esquema sólo donde las necesites, en lugar de bloquear ansiosamente todo el modelo de datos. Esas restricciones de tipo esquema, como todo lo demás en un modelo de datos de grafos, pueden cambiar con el tiempo. Los datos del mundo real son a menudo desiguales e incompletos, por lo que tus grafos de conocimiento deben reflejar esta realidad.
Entre los nodos de la Figura 1-3 se ven relaciones. Las relaciones son más ricas que en la Figura 1-2, ya que tienen un tipo, una dirección y propiedades opcionales. Las relaciones no pueden "colgar"; siempre tienen un nodo inicial y un nodo final, aunque los nodos inicial y final sean el mismo.
Por ejemplo, hay un nodo Person
con la propiedad name:'Rosa'
que tiene una relación de salida LIVES_IN
con la propiedad since: 2020
hacia el nodo Place
con la propiedad city:'Berlin'
. Puedes leer esto como "Rosa vive en Berlín desde 2020", basándote en la dirección de las relaciones. También puedes ver que Fred
es un FRIEND
de Karl
y que Karl
es un FRIEND
de Fred
.Rosa
y Karl
también son amigos, pero Rosa
y Fred
no lo son.
En el modelo de grafo de propiedades, no hay límites en el número de nodos ni en el número o tipo de relaciones que los interconectan. Algunos nodos están densamente conectados, mientras que otros están escasamente conectados. Lo único que importa es que el modelo se ajuste al dominio del problema. De forma similar, algunos nodos tienen muchas propiedades, mientras que otros tienen pocas o ninguna. Algunas relaciones tienen muchas propiedades, pero muchas no tienen ninguna. Todo esto es perfectamente normal en los grafos de conocimiento.
Es fácil ver cómo el grafo de la Figura 1-3 puede responder a preguntas sobre amistades y sobre quién vive dónde. Ampliar el modelo para incluir otros datos como aficiones, publicaciones o trabajos también es sencillo: sólo tienes que ir añadiendo nodos y relaciones para que coincidan con el dominio de tu problema. Crear grafos grandes y complejos con millones o miles de millones de conexiones no es un problema para las modernas bases de datos de grafos y el software de procesamiento de grafos, por lo que construir grafos de conocimiento muy grandes es factible.
Los modelos de datos de grafos pueden representar cómodamente redes complejas de relaciones de forma legible para el ser humano y amigable para la máquina. Los grafos pueden parecer muy técnicos al principio, pero se crean a partir de primitivas muy sencillas, lo que los hace muy accesibles en la práctica. De hecho, la combinación de un modelo de datos sencillo y la facilidad del procesamiento algorítmico para descubrir conexiones, patrones y características es lo que ha hecho tan populares a los grafos. Es una poderosa combinación que también explotarás en tus grafos de conocimiento.
La motivación de los grafos de conocimiento
El interés por los grafos de conocimiento se ha disparado, con una miríada de artículos de investigación, soluciones, informes de analistas, grupos y conferencias sobre este tema. Los grafos de conocimiento se han hecho tan populares en parte porque la tecnología de grafos se ha acelerado en los últimos años, pero también porque existe una fuerte demanda para dar sentido a los datos.
Sin duda, los factores externos han acelerado la importancia de los gráficos del conocimiento. Las tensiones de la pandemia COVID-19 y las consecuencias de la geopolítica han tensado a algunas organizaciones hasta el punto de romperlas. La toma de decisiones nunca ha necesitado ser más rápida. Al mismo tiempo, las empresas se ven obstaculizadas por la falta de conocimientos oportunos y precisos.
Ahora las empresas están reconfigurando sus operaciones y procesos para flexibilizarse rápidamente. A medida que el conocimiento histórico envejece más rápido y es invalidado por la dinámica del mercado, muchas organizaciones necesitan nuevas formas de capturar, analizar y aprender de los datos. Las empresas necesitan ideas y recomendaciones rápidas, desde la experiencia del cliente y los resultados de los pacientes hasta la innovación de productos, la detección del fraude y la automatización. Necesitan datos contextualizados para generar conocimiento.
Grafos de conocimiento: Una definición
Ahora ya sabes un poco sobre los grafos y la motivación para utilizar los grafos de conocimiento. Pero está claro que no todos los grafos son grafos de conocimiento (a pesar de la publicidad). Los grafos deconocimiento son un tipo específico de grafo que hace hincapié en la comprensión contextual. Los grafos de conocimiento son conjuntos interrelacionados de hechos que describen entidades, acontecimientos o cosas del mundo real y sus interrelaciones en un formato comprensible para humanos y máquinas.
Fundamentalmente, los gráficos de conocimiento deben tener un principio organizador para que un usuario (o un sistema informático) pueda razonar sobre los datos subyacentes. El principio organizador proporciona una capa adicional de estructura que añade contexto para apoyar el descubrimiento de conocimiento. El principio organizador hace que los propios datos sean más inteligentes. Esta idea es contraria a la norma según la cual la inteligencia reside en las aplicaciones y los datos son tontos, sólo algo que hay que extraer y refinar. Tener datos más inteligentes simplifica los sistemas y fomenta una amplia reutilización.
Resumen
Organizar los principios, el razonamiento y el descubrimiento de conocimientos puede parecer complicado al principio, pero en realidad, puedes pensar en los gráficos de conocimiento como un rico índice sobre los datos que proporciona la curación, muy parecido a un bibliotecario experto que recomienda libros y revistas a un investigador.
A partir de aquí las cosas se ponen un poco más técnicas. En el Capítulo 2 aprenderás cómo podemos ampliar la definición de un principio organizador para que actúe como un contrato entre un grafo de conocimiento y sus usuarios y sistemas consumidores. También conocerás varias opciones diferentes para crear principios organizadores.
Get Construir grafos de conocimiento now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.