En la representación y el razonamiento del conocimiento , un gráfico de conocimiento es una base de conocimiento que utiliza un modelo o una topología de datos estructurados en gráficos para representar y operar sobre los datos . Los gráficos de conocimiento se utilizan a menudo para almacenar descripciones interconectadas de entidades (objetos, eventos, situaciones o conceptos abstractos) y, al mismo tiempo, codificar la semántica o las relaciones de forma libre subyacentes a estas entidades. [1] [2]
Desde el desarrollo de la Web Semántica , los gráficos de conocimiento a menudo se han asociado con proyectos de datos abiertos vinculados , centrándose en las conexiones entre conceptos y entidades. [3] [4] También se asocian históricamente y son utilizados por motores de búsqueda como Google , Bing , Yext y Yahoo ; motores de conocimiento y servicios de respuesta a preguntas como WolframAlpha , Siri de Apple y Amazon Alexa ; y redes sociales como LinkedIn y Facebook .
Los recientes avances en ciencia de datos y aprendizaje automático, en particular en redes neuronales gráficas y aprendizaje de representaciones, así como en aprendizaje automático, han ampliado el alcance de los gráficos de conocimiento más allá de su uso tradicional en motores de búsqueda y sistemas de recomendación. Se utilizan cada vez más en la investigación científica, con aplicaciones notables en campos como la genómica, la proteómica y la biología de sistemas. [5]
El término fue acuñado en 1972 por el lingüista austríaco Edgar W. Schneider , en una discusión sobre cómo construir sistemas de instrucción modulares para cursos. [6] A fines de la década de 1980, la Universidad de Groningen y la Universidad de Twente comenzaron conjuntamente un proyecto llamado Gráficos de conocimiento, centrado en el diseño de redes semánticas con aristas restringidas a un conjunto limitado de relaciones, para facilitar las álgebras en el gráfico . En las décadas posteriores, la distinción entre redes semánticas y gráficos de conocimiento se desdibujó.
Algunos de los primeros gráficos de conocimiento se centraban en temas específicos. En 1985 se fundó Wordnet , que capturaba relaciones semánticas entre palabras y significados, una aplicación de esta idea al lenguaje mismo. En 2005, Marc Wirk fundó Geonames para capturar relaciones entre diferentes nombres geográficos y localidades y entidades asociadas. En 1998, Andrew Edmonds de Science in Finance Ltd en el Reino Unido creó un sistema llamado ThinkBase que ofrecía razonamiento basado en lógica difusa en un contexto gráfico. [7]
En 2007, se fundaron DBpedia y Freebase como repositorios de conocimiento basados en grafos para conocimiento de uso general. DBpedia se centraba exclusivamente en datos extraídos de Wikipedia, mientras que Freebase también incluía una variedad de conjuntos de datos públicos. Ninguno de ellos se describía a sí mismo como un "grafo de conocimiento", sino que desarrollaba y describía conceptos relacionados.
En 2012, Google presentó su Knowledge Graph , [8] basándose en DBpedia y Freebase, entre otras fuentes. Más tarde incorporaron RDFa , Microdata , contenido JSON-LD extraído de páginas web indexadas, incluido el CIA World Factbook , Wikidata y Wikipedia . [8] [9] Los tipos de entidad y relación asociados con este gráfico de conocimiento se han organizado aún más utilizando términos del vocabulario schema.org [10] . El Google Knowledge Graph se convirtió en un complemento exitoso para la búsqueda basada en cadenas dentro de Google, y su popularidad en línea hizo que el término se usara más comúnmente. [10]
Desde entonces, varias grandes multinacionales han publicitado el uso de sus gráficos de conocimiento, popularizando aún más el término. Entre ellas se encuentran Facebook, LinkedIn, Airbnb , Microsoft , Amazon , Uber y eBay . [11]
En 2019, el IEEE combinó sus conferencias internacionales anuales sobre "Gran conocimiento" y "Minería de datos y computación inteligente" en la Conferencia internacional sobre gráficos de conocimiento. [12]
No existe una única definición comúnmente aceptada de un gráfico de conocimiento. La mayoría de las definiciones abordan el tema desde una perspectiva de Web semántica e incluyen estas características: [13]
Sin embargo, existen muchas representaciones de gráficos de conocimiento para las que algunas de estas características no son relevantes. Para esos gráficos de conocimiento, esta definición más simple puede resultar más útil:
Además de los ejemplos anteriores, el término se ha utilizado para describir proyectos de conocimiento abierto como YAGO y Wikidata; federaciones como la nube Linked Open Data; [19] una gama de herramientas de búsqueda comerciales, incluido el asistente de búsqueda semántica Spark de Yahoo, Knowledge Graph de Google y Satori de Microsoft; y los gráficos de entidades de LinkedIn y Facebook. [3]
El término también se utiliza en el contexto de aplicaciones de software para tomar notas que permiten al usuario crear un gráfico de conocimiento personal . [20]
La popularización de los gráficos de conocimiento y sus métodos acompañantes han llevado al desarrollo de bases de datos de gráficos como Neo4j [21] y GraphDB. [22] Estas bases de datos de gráficos permiten a los usuarios almacenar fácilmente datos como entidades y sus interrelaciones, y facilitan operaciones como el razonamiento de datos, la incrustación de nodos y el desarrollo de ontologías en bases de conocimiento.
Un gráfico de conocimiento representa formalmente la semántica al describir las entidades y sus relaciones. [23] Los gráficos de conocimiento pueden hacer uso de ontologías como una capa de esquema. Al hacer esto, permiten la inferencia lógica para recuperar conocimiento implícito en lugar de permitir únicamente consultas que soliciten conocimiento explícito. [24]
Para permitir el uso de gráficos de conocimiento en diversas tareas de aprendizaje automático, se han ideado varios métodos para derivar representaciones de características latentes de entidades y relaciones. Estas incrustaciones de gráficos de conocimiento permiten conectarlas con métodos de aprendizaje automático que requieren vectores de características como incrustaciones de palabras . Esto puede complementar otras estimaciones de similitud conceptual. [25] [26]
Los modelos para generar incrustaciones útiles de grafos de conocimiento son comúnmente el dominio de las redes neuronales de grafos (GNN). [27] Las GNN son arquitecturas de aprendizaje profundo que comprenden bordes y nodos, que se corresponden bien con las entidades y relaciones de los grafos de conocimiento. La topología y las estructuras de datos que ofrecen las GNN proporcionan un dominio conveniente para el aprendizaje semisupervisado, en el que la red se entrena para predecir el valor de una incrustación de nodo (siempre que haya un grupo de nodos adyacentes y sus bordes) o borde (siempre que haya un par de nodos). Estas tareas sirven como abstracciones fundamentales para tareas más complejas, como el razonamiento y la alineación de grafos de conocimiento. [28]
A medida que se producen nuevos gráficos de conocimiento en una variedad de campos y contextos, la misma entidad inevitablemente estará representada en múltiples gráficos. Sin embargo, debido a que no existe un estándar único para la construcción o representación de gráficos de conocimiento, determinar qué entidades de gráficos dispares corresponden al mismo tema del mundo real es una tarea no trivial. Esta tarea se conoce como alineación de entidades de gráficos de conocimiento y es un área activa de investigación. [29]
Las estrategias de alineación de entidades generalmente buscan identificar subestructuras similares, relaciones semánticas, atributos compartidos o combinaciones de los tres entre dos gráficos de conocimiento distintos. Los métodos de alineación de entidades utilizan estas similitudes estructurales entre gráficos generalmente no isomórficos para predecir qué nodos corresponden a la misma entidad. [30]
Los recientes éxitos de los modelos de lenguaje grandes (LLMs), en particular su eficacia para producir incrustaciones sintácticamente significativas, han estimulado el uso de LLMs en la tarea de alineación de entidades. [31]
A medida que crece la cantidad de datos almacenados en los gráficos de conocimiento, el desarrollo de métodos confiables para la alineación de entidades de los gráficos de conocimiento se convierte en un paso cada vez más crucial en la integración y cohesión de los datos de los gráficos de conocimiento.
Diffbot está construyendo el gráfico de conocimiento más grande de la historia aplicando reconocimiento de imágenes y procesamiento de lenguaje natural a miles de millones de páginas web.