Articulo de referencia

Marco (inteligencia artificial)

Los marcos son una estructura de datos de inteligencia artificial que se utiliza para dividir el conocimiento en subestructuras mediante la representación de "situaciones estere...

Los marcos son una estructura de datos de inteligencia artificial que se utiliza para dividir el conocimiento en subestructuras mediante la representación de "situaciones estereotipadas".

Fueron propuestos por Marvin Minsky en su artículo de 1974 "Un marco para representar el conocimiento". [ 1 ] Los marcos son la estructura de datos principal utilizada en los lenguajes de marcos de inteligencia artificial; se almacenan como ontologías de conjuntos .

Los marcos también constituyen una parte importante de los esquemas de representación y razonamiento del conocimiento . Originalmente se derivaron de redes semánticas y, por lo tanto, forman parte de las representaciones del conocimiento basadas en la estructura .

Según el libro "Inteligencia Artificial: Un Enfoque Moderno" de Russell y Norvig , las representaciones estructurales reúnen "hechos sobre tipos particulares de objetos y eventos y [organizan] los tipos en una gran jerarquía taxonómica análoga a una taxonomía biológica ".

Estructura del armazón

El marco contiene información sobre cómo utilizarlo, qué esperar a continuación y qué hacer cuando no se cumplen esas expectativas.

Parte de la información del marco generalmente permanece inalterada, mientras que otra información, almacenada en "terminales", suele cambiar. Los terminales pueden considerarse variables.

Los marcos de nivel superior contienen información que siempre es cierta sobre el problema en cuestión; sin embargo, los terminales no tienen por qué ser verdaderos. Su valor puede cambiar con la nueva información que se encuentre. Diferentes marcos pueden compartir los mismos terminales.

Cada dato sobre un fotograma en particular se almacena en una ranura.

La información puede contener:

  • Hechos o datos
    • Valores (llamados facetas)
  • Procedimientos (también llamados anexos de procedimiento)
    • SI ES NECESARIO: evaluación diferida
    • SI SE AÑADE: actualiza la información vinculada
  • Valores predeterminados
    • Para datos
    • Para procedimientos
  • Otros fotogramas o subfotogramas

Características y ventajas

Los terminales de un marco ya vienen precargados con valores predeterminados, que se basan en cómo funciona la mente humana .

Por ejemplo, cuando a una persona se le dice "un niño patea una pelota", la mayoría de la gente visualizará una pelota en particular (como una pelota de fútbol conocida ) en lugar de imaginar una pelota abstracta sin atributos.

Una ventaja particular de las representaciones del conocimiento basadas en marcos es que, a diferencia de las redes semánticas, permiten excepciones en casos específicos. Esto confiere a los marcos un grado de flexibilidad que permite que las representaciones reflejen con mayor precisión los fenómenos del mundo real.

Al igual que las redes semánticas , los marcos se pueden consultar mediante activación propagada. Siguiendo las reglas de herencia , cualquier valor asignado a una ranura que sea heredado por submarcos se actualizará (IF-ADDED) en las ranuras correspondientes de los submarcos, y cualquier nueva instancia de un marco en particular tendrá ese nuevo valor como predeterminado.

Dado que los marcos se basan en estructuras, es posible generar una red semántica a partir de un conjunto de marcos, aunque carezca de arcos explícitos. En general, en la obra de Minsky no se encuentran referencias a Noam Chomsky ni a su gramática generativa de 1950 .

Las estructuras simplificadas de los marcos permiten un razonamiento analógico sencillo, una característica muy valorada en cualquier agente inteligente . Los complementos procedimentales que proporcionan los marcos también ofrecen un grado de flexibilidad que da lugar a una representación más realista y facilita la programación de aplicaciones.

Ejemplo

Cabe destacar aquí el sencillo razonamiento analógico (comparación) que se puede establecer entre un niño y un mono simplemente por tener ranuras con nombres similares.

También cabe destacar que Alex, una instancia de un niño, hereda valores predeterminados como "Sexo" del objeto padre más general Boy, pero el niño también puede tener diferentes valores de instancia en forma de excepciones, como el número de piernas.

Lenguaje marco

Un lenguaje de marcos es una tecnología utilizada para la representación del conocimiento en inteligencia artificial . Son similares a las jerarquías de clases en lenguajes orientados a objetos, aunque sus objetivos de diseño fundamentales son diferentes.

Los marcos se centran en la representación explícita e intuitiva del conocimiento, mientras que los objetos se centran en la encapsulación y la ocultación de información . Los marcos se originaron en la investigación de la IA y los objetos principalmente en la ingeniería de software .

Sin embargo, en la práctica, las técnicas y capacidades de los lenguajes orientados a marcos y a objetos se superponen significativamente.

Ejemplo

Un ejemplo sencillo de conceptos modelados en un lenguaje marco es la ontología Friend of A Friend (FOAF, por sus siglas en inglés), definida como parte de la Web Semántica como base para sistemas de redes sociales y calendarios.

El marco principal en este sencillo ejemplo es una Persona .

Algunos ejemplos de campos que se pueden incluir son el correo electrónico de la persona , su página web, su teléfono, etc.

Los intereses de cada persona pueden representarse mediante marcos adicionales que describan el ámbito de los negocios y el entretenimiento.

La ranura conoce vínculos entre cada persona y otras personas.

Los valores predeterminados para los intereses de una persona pueden inferirse a partir de la red de personas con las que es amiga. [ 2 ]

Implementaciones

Los primeros lenguajes basados ​​en marcos se desarrollaron a medida para proyectos de investigación específicos y no se comercializaron como herramientas para que otros investigadores pudieran reutilizarlas.

Al igual que con los motores de inferencia de sistemas expertos , los investigadores pronto se dieron cuenta de las ventajas de extraer parte de la infraestructura central y desarrollar lenguajes de marco de propósito general que no estuvieran vinculados a aplicaciones específicas.

Uno de los primeros lenguajes de marcos de propósito general fue KRL. [ 3 ] Uno de los lenguajes de marcos iniciales más influyentes fue KL-ONE . [ 4 ] KL-ONE dio origen a varios lenguajes de marcos posteriores.

Uno de los sucesores más utilizados de KL-ONE fue el lenguaje Loom desarrollado por Robert MacGregor en el Instituto de Ciencias de la Información . [ 5 ]

En la década de 1980, la inteligencia artificial generó un gran interés en el mundo empresarial, impulsado por los sistemas expertos . Esto propició el desarrollo de numerosos productos comerciales para la creación de sistemas basados ​​en el conocimiento. Estos primeros productos solían desarrollarse en Lisp e integraban construcciones como las reglas IF-THEN para el razonamiento lógico con jerarquías de marcos para la representación de datos.

Una de las herramientas de base de conocimiento Lisp más conocidas de la época fue el Knowledge Engineering Environment (KEE) de Intellicorp . KEE proporcionaba un lenguaje Frame completo con herencia múltiple, ranuras, disparadores, valores predeterminados y un motor de reglas que admitía encadenamiento hacia atrás y hacia adelante. Al igual que la mayoría de las primeras versiones comerciales de software de IA, KEE se implementó originalmente en Lisp en plataformas de máquinas Lisp, pero finalmente se adaptó a PC y estaciones de trabajo Unix . [ 6 ]

La agenda de investigación de la Web Semántica generó un renovado interés en la clasificación automática y los lenguajes de marcos. Un ejemplo es el estándar Web Ontology Language (OWL) para describir la información en Internet. OWL es un estándar que proporciona una capa semántica sobre Internet. El objetivo es que, en lugar de buscar en la web mediante palabras clave, como hacen la mayoría de los motores de búsqueda (por ejemplo, Google) hoy en día, la web se organice por conceptos estructurados en una ontología, como una estructura de directorios.

El nombre del lenguaje OWL es un buen ejemplo del valor de la Web Semántica. Si hoy en día se buscara "OWL" en internet, la mayoría de los resultados tratarían sobre el búho, en lugar del lenguaje OWL estándar . Con la Web Semántica, sería posible especificar el concepto "Lenguaje de Ontología Web" y el usuario no tendría que preocuparse por los diversos acrónimos o sinónimos durante la búsqueda. Del mismo modo, el usuario no tendría que preocuparse por los homónimos que saturan los resultados con datos irrelevantes, como información sobre aves rapaces, tal como en este sencillo ejemplo.

Además de OWL, entre los diversos estándares y tecnologías relevantes para la Web Semántica, influenciados por los lenguajes de marcos, se incluyen OIL y DAML . La herramienta de software de código abierto Protege, de la Universidad de Stanford, ofrece una capacidad de edición de ontologías basada en OWL y con todas las funcionalidades de un clasificador. Sin embargo, dejó de admitir marcos explícitamente a partir de la versión 3.5 (que se mantiene para quienes prefieren la orientación de marcos), siendo la versión actual la 5.6.8 (a fecha de 2025). La justificación para abandonar los marcos explícitos es que OWL DL es más expresivo y un "estándar de la industria". [ 7 ]

Comparación de marcos y objetos

Los lenguajes de marcos tienen una superposición significativa con los lenguajes orientados a objetos . Si bien la terminología y los objetivos de ambas comunidades eran diferentes, al pasar del ámbito académico y los laboratorios al mundo comercial, los desarrolladores tendieron a despreocuparse de las cuestiones filosóficas y se centraron principalmente en funcionalidades específicas, tomando lo mejor de cada enfoque, independientemente de su origen. Lo que ambos paradigmas tienen en común es el deseo de reducir la distancia entre los conceptos del mundo real y su implementación en software. De este modo, ambos paradigmas llegaron a la idea de representar los objetos de software primarios mediante taxonomías , comenzando con tipos muy generales y progresando hacia tipos más específicos.

La siguiente tabla ilustra la correlación entre la terminología estándar de las comunidades de lenguajes orientados a objetos y de lenguajes de marcos:

La principal diferencia entre ambos paradigmas radicaba en el grado de importancia que se le otorgaba a la encapsulación . Para el paradigma orientado a objetos, la encapsulación era uno de los requisitos más críticos, si no el más importante. El deseo de reducir las interacciones potenciales entre componentes de software y, por ende, gestionar sistemas complejos de gran tamaño, fue un factor clave en el desarrollo de la tecnología orientada a objetos. Para el ámbito de los lenguajes de marco, este requisito era menos crítico que el deseo de proporcionar una amplia gama de herramientas para representar reglas, restricciones y lógica de programación. En el mundo orientado a objetos, todo se controla mediante métodos y su visibilidad. Por ejemplo, el acceso al valor de una propiedad de un objeto debe realizarse mediante un método de acceso. Este método controla aspectos como la validación del tipo de datos y las restricciones sobre el valor que se recupera o se establece en la propiedad. En los lenguajes de marco, este mismo tipo de restricciones podía gestionarse de diversas maneras. Se podían definir disparadores que se activaran antes o después de que se estableciera o recuperara un valor. También se podían definir reglas que gestionaran el mismo tipo de restricciones. Las ranuras en sí mismas podrían ampliarse con información adicional (denominada "facetas" en algunos idiomas), nuevamente con el mismo tipo de información de restricción.

La otra diferencia principal entre los lenguajes de marcos y los lenguajes orientados a objetos (OO) era la herencia múltiple (que permitía que un marco o clase tuviera dos o más superclases). Para los lenguajes de marcos, la herencia múltiple era un requisito. Esto se deriva del deseo de modelar el mundo como lo hacen los humanos; las conceptualizaciones humanas del mundo rara vez se ajustan a taxonomías rígidamente definidas y no superpuestas. Para muchos lenguajes OO, especialmente en los últimos años de la OO, la herencia simple era muy deseada o incluso requerida. La herencia múltiple se consideraba un posible paso en la fase de análisis para modelar un dominio, pero algo que debía eliminarse en las fases de diseño e implementación en aras de mantener la encapsulación y la modularidad . [ 8 ]

Aunque los primeros lenguajes de trama como KRL no incluían el paso de mensajes , impulsados ​​por las demandas de los desarrolladores, la mayoría de los lenguajes de trama posteriores (por ejemplo, Loom, KEE) incluyeron la capacidad de definir mensajes en tramas. [ 9 ]

En el ámbito de la programación orientada a objetos, también han surgido estándares que proporcionan esencialmente la misma funcionalidad que los lenguajes de marcos, aunque en un formato diferente y estandarizados en bibliotecas de objetos. Por ejemplo, el Object Management Group ha estandarizado especificaciones para capacidades como la asociación de datos de prueba y restricciones con objetos (análogas a los usos comunes de facetas en Frames y a las restricciones en lenguajes de marcos como Loom) y para la integración de motores de reglas. [ 10 ] [ 11 ]

Historia

Los primeros trabajos sobre marcos se inspiraron en investigaciones psicológicas de la década de 1930 que indicaban que las personas utilizan conocimientos estereotipados almacenados para interpretar y actuar en nuevas situaciones cognitivas. [ 12 ] El término «marco» fue utilizado por primera vez por Marvin Minsky como paradigma para comprender el razonamiento visual y el procesamiento del lenguaje natural. [ 13 ] En estos y muchos otros tipos de problemas, el espacio potencial de soluciones, incluso para el problema más pequeño, es enorme. Por ejemplo, extraer los fonemas de una secuencia de audio sin procesar o detectar los bordes de un objeto. Cosas que parecen triviales para los humanos son en realidad bastante complejas. De hecho, probablemente no se comprendió del todo su verdadera dificultad hasta que los investigadores de IA comenzaron a investigar la complejidad de lograr que las computadoras las resolvieran.

La idea inicial de los Frames o Scripts, como también se les llamaba, era que establecieran el contexto de un problema y, al hacerlo, redujeran significativamente el espacio de búsqueda posible. Esta idea también fue adoptada por Schank y Abelson, quienes la utilizaron para ilustrar cómo un sistema de IA podría procesar interacciones humanas comunes, como pedir una comida en un restaurante. [ 14 ] Estas interacciones se estandarizaron como Frames con slots que almacenaban información relevante sobre cada Frame. Los Slots son análogos a las propiedades de los objetos en el modelado orientado a objetos y a las relaciones en los modelos entidad-relación. Los Slots a menudo tenían valores predeterminados, pero también requerían un refinamiento adicional como parte de la ejecución de cada instancia del escenario. Es decir, la ejecución de una tarea como pedir en un restaurante se controlaba comenzando con una instancia básica del Frame y luego instanciando y refinando varios valores según correspondiera. En esencia, el Frame abstracto representaba una clase de objeto y las instancias del Frame una instancia de objeto. En este trabajo inicial, el énfasis estaba principalmente en las descripciones de datos estáticos del Frame. Se desarrollaron diversos mecanismos para definir el rango de una ranura, los valores predeterminados, etc. Sin embargo, incluso en estos primeros sistemas existían capacidades procedimentales. Una técnica común consistía en utilizar "disparadores" (similares al concepto de disparadores en bases de datos ) asociados a las ranuras. Un disparador es simplemente un código procedimental asociado a una ranura. El disparador podía ejecutarse antes o después de que se accediera o modificara el valor de una ranura.

Al igual que las clases de objetos, los marcos se organizaban en jerarquías de subsunción . Por ejemplo, un marco básico podría ser el de realizar un pedido en un restaurante. Un ejemplo sería: Joe va a Dairy Queen. Una especialización (esencialmente una subclase ) del marco de restaurante sería un marco para realizar un pedido en un restaurante elegante. El marco de restaurante elegante heredaría todos los valores predeterminados del marco de restaurante, pero además añadiría más ranuras o cambiaría uno o más de los valores predeterminados (por ejemplo, el rango de precios esperado) para el marco especializado. [ 15 ] [ 16 ]

Idiomas

Gran parte de la investigación inicial sobre el lenguaje de marcos (por ejemplo, Schank y Abelson) se basó en hallazgos de la psicología experimental e intentos de diseñar herramientas de representación del conocimiento que correspondieran a los patrones que se creía que los humanos utilizaban para desenvolverse en sus tareas cotidianas. Estos investigadores estaban menos interesados ​​en la formalidad matemática, ya que consideraban que tales formalismos no eran necesariamente buenos modelos para la forma en que el ser humano promedio conceptualiza el mundo. Por ejemplo, la forma en que los humanos usan el lenguaje dista mucho de ser verdaderamente lógica.

De manera similar, en lingüística, Charles J. Fillmore a mediados de la década de 1970 comenzó a trabajar en su teoría de la semántica de marcos , que más tarde daría lugar a recursos computacionales como FrameNet . [ 17 ] La semántica de marcos fue motivada por reflexiones sobre el lenguaje humano y la cognición humana.

Por otro lado , investigadores como Ron Brachman querían brindar a los investigadores de IA el formalismo matemático y la potencia computacional asociados con la lógica. Su objetivo era mapear las clases, ranuras, restricciones y reglas de un lenguaje de marcos a la teoría de conjuntos y la lógica. Una de las ventajas de este enfoque es que la validación e incluso la creación de los modelos podrían automatizarse mediante demostradores de teoremas y otras capacidades de razonamiento automatizado. La desventaja radicaba en que podría resultar más difícil especificar inicialmente el modelo en un lenguaje con semántica formal.

Esta evolución también ilustra una división clásica en la investigación de IA conocida como la de los " ordenados frente a los desaliñados ". Los "ordenados" eran investigadores que valoraban más la precisión matemática y el formalismo, que se podían lograr mediante la lógica de primer orden y la teoría de conjuntos . Los "desaliñados" estaban más interesados ​​en modelar el conocimiento en representaciones intuitivas y psicológicamente significativas para los humanos. [ 18 ]

El enfoque más notable entre los más formales fue el lenguaje KL-ONE . [ 19 ] Posteriormente, KL-ONE dio origen a varios lenguajes Frame subsiguientes. La semántica formal de lenguajes como KL-ONE les otorgó a estos lenguajes Frame una nueva capacidad de razonamiento automatizado conocida como clasificador . El clasificador es un motor que analiza las diversas declaraciones en el lenguaje Frame: la definición de conjuntos, subconjuntos, relaciones, etc. El clasificador puede deducir automáticamente diversas relaciones adicionales y detectar cuándo algunas partes de un modelo son inconsistentes entre sí. De esta manera, muchas de las tareas que normalmente se ejecutarían mediante encadenamiento hacia adelante o hacia atrás en un motor de inferencia pueden ser realizadas por el clasificador. [ 20 ]

Esta tecnología es especialmente valiosa para trabajar con Internet. Es un resultado interesante que el formalismo de lenguajes como KL-ONE puede ser más útil para tratar con los datos altamente informales y no estructurados que se encuentran en Internet. En Internet, simplemente no es factible exigir que todos los sistemas se estandaricen en un único modelo de datos. Es inevitable que la terminología se utilice de múltiples formas inconsistentes. La capacidad de clasificación automática del motor de clasificación proporciona a los desarrolladores de IA un conjunto de herramientas potente para ayudar a poner orden y coherencia en una colección de datos muy inconsistente (es decir, Internet). La visión de una Internet mejorada, donde las páginas se ordenan no solo por palabras clave de texto sino por clasificación de conceptos, se conoce como la Web Semántica . La tecnología de clasificación desarrollada originalmente para los lenguajes Frame es un habilitador clave de la Web Semántica. [ 21 ] [ 22 ] La división "ordenados vs. desaliñados" también surgió en la investigación de la Web Semántica, culminando en la creación de la comunidad Linking Open Data , cuyo enfoque era exponer datos en la Web en lugar de modelarlos.

Véase también

Referencias

  1. Minsky, Marvin (1974). "Un marco para representar el conocimiento" . Informe técnico del Instituto Tecnológico de Massachusetts .
  2. "FOAF" . semanticweb.org . Archivado del original el 10 de febrero de 2013. Consultado el 7 de junio de 2014 .
  3. Bobrow, DG; Terry Winograd (1977). "Una visión general de KRL: un lenguaje de representación del conocimiento" . Cognitive Science . 1 : 3–46 . doi : 10.1207/s15516709cog0101_2 .
  4. Brachman, Ron (1978). "Un paradigma estructural para representar el conocimiento". Informe técnico de Bolt, Beranek y Neumann (3605).
  5. MacGregor, Robert (junio de 1991). "Uso de un clasificador de descripción para mejorar la representación del conocimiento". IEEE Expert . 6 (3): 41– 46. doi : 10.1109/64.87683 . S2CID 29575443 . 
  6. Mettrey, William (1987). "Una evaluación de herramientas para construir grandes sistemas basados ​​en el conocimiento" . AI Magazine . 8 (4). Archivado del original el 10 de noviembre de 2013. Recuperado el 9 de diciembre de 2013 .
  7. Horridge, Mathew. "Tutorial de Protégé OWL: Una guía paso a paso para modelar en OWL utilizando las populares herramientas Protégé OWL" . Universidad de Manchester . Archivado del original el 13 de diciembre de 2013. Consultado el 9 de diciembre de 2013 .
  8. "El lenguaje unificado de modelado" . essentialstrategies.com . Essential Strategies Inc. 1999. Consultado el 10 de diciembre de 2013. Según la experiencia del autor, casi todos los ejemplos que parecen requerir herencia múltiple o jerarquías de tipos múltiples pueden resolverse abordando el modelo desde una dirección diferente.
  9. Mettrey, William (1987). "Una evaluación de herramientas para construir grandes sistemas basados ​​en el conocimiento" . AI Magazine . 8 (4). Archivado del original el 10 de noviembre de 2013. Recuperado el 9 de diciembre de 2013 .
  10. Macgregor, Robert (13 de agosto de 1999). "Retrospectiva sobre Loom" . isi.edu . Instituto de Ciencias de la Información. Archivado del original el 25 de octubre de 2013. Recuperado el 10 de diciembre de 2013 .
  11. "Especificaciones formales de OMG" . omg.org . Object Management Group . Consultado el 10 de diciembre de 2013 .
  12. Bartlett, FC (1932). Remembering: A Study in Experimental and Social Psychology . Cambridge, Inglaterra: Cambridge University Press. doi : 10.1086/399084 . S2CID 7992164 . 
  13. Minsky, Marvin (1975). "Un marco para representar el conocimiento" (PDF) . En Pat Winston (ed.). La psicología de la visión por computadora . Nueva York: McGraw Hill. págs. 211–277 . 
  14. Schank, Roger; RP Abelson (1977). Scripts, Plans, Goals, and Understanding (PDF) . Hillsdale, Nueva Jersey: Lawrence Erlbaum. doi : 10.4324/9780203781036 . ISBN 9781134919666Archivado del original el 19 de abril de 2020. Consultado el 15 de junio de 2020 .
  15. Feigenbaum, Edward; Avron Barr (1 de septiembre de 1986). Manual de Inteligencia Artificial, Volumen III . Addison-Wesley. págs. 216–222 . ISBN  978-0201118117.
  16. Bobrow, DG; Terry Winograd (1977). "Una visión general de KRL: un lenguaje de representación del conocimiento" . Cognitive Science . 1 : 3–46 . doi : 10.1207/s15516709cog0101_2 .
  17. Lakoff, George (18 de febrero de 2014). "Charles Fillmore, descubridor de la semántica de marcos, muere en San Francisco a los 84 años: Descubrió cómo funciona el encuadre" . The Huffington Post . Consultado el 7 de marzo de 2014 .
  18. Crevier, Daniel (1993). IA: La tumultuosa búsqueda de la inteligencia artificial . Nueva York: Basic Books. pág. 168. ISBN  978-0-465-02997-6.
  19. Brachman, Ron (1978). "Un paradigma estructural para representar el conocimiento" . Informe técnico de Bolt, Beranek y Neumann (3605).
  20. MacGregor, Robert (junio de 1991). "Uso de un clasificador de descripción para mejorar la representación del conocimiento". IEEE Expert . 6 (3): 41– 46. doi : 10.1109/64.87683 . S2CID 29575443 . 
  21. Berners-Lee, Tim; James Hendler; Ora Lassila (17 de mayo de 2001). «La Web Semántica: Una nueva forma de contenido web que resulta significativa para las computadoras desatará una revolución de nuevas posibilidades» . Scientific American . 284 (5): 34–43 . doi : 10.1038/scientificamerican0501-34 . Archivado del original el 24 de abril de 2013.
  22. Horridge, Mathew. "Tutorial de Protégé OWL: Una guía paso a paso para modelar en OWL utilizando las populares herramientas Protégé OWL" . Universidad de Manchester . Archivado del original el 13 de diciembre de 2013. Consultado el 9 de diciembre de 2013 .

Bibliografía

  • Russell, Stuart J.; Norvig, Peter (2010), Inteligencia artificial: un enfoque moderno (2.ª ed.), Upper Saddle River, Nueva Jersey: Prentice Hall, ISBN 0-13-604259-7, cap. 1.
  • Marvin Minsky, Un marco para representar el conocimiento, archivado el 7 de enero de 2021 en Wayback Machine , Memorando 306 del Laboratorio de IA del MIT, junio de 1974.
  • Daniel G. Bobrow, Terry Winograd, Una visión general de KRL, un lenguaje de representación del conocimiento
  • R. Bruce Roberts e Ira P. Goldstein, Manual básico de FRL , 1977
  • R. Bruce Roberts e Ira P. Goldstein, El manual FRL , 1977
  • Brachman, R.; Schmolze, J. (1985). "Una visión general del sistema de representación del conocimiento KL-ONE" . Cognitive Science . 9 (2): 171– 216. doi : 10.1016/s0364-0213(85)80014-8 .
  • Fikes, RE; Kehler, T. (1985). "El papel de la representación basada en marcos en la representación del conocimiento y el razonamiento" . Communications of the ACM . 28 (9): 904– 920. doi : 10.1145/4284.4285 . S2CID 9868560 . 
  • Peter Clark y Bruce Porter: KM - La máquina del conocimiento 2.0: Manual del usuario, http://www.cs.utexas.edu/users/mfkb/RKF/km.html .
  • Peter D. Karp, El espacio de diseño de los sistemas de representación del conocimiento de marcos , Nota técnica 520. Centro de Inteligencia Artificial , SRI International , 1992.
  • El artículo de Minsky, "Un marco para representar el conocimiento", se archivó el 7 de enero de 2021 en la Wayback Machine.
  • Inteligencia Artificial: Un Enfoque Moderno (Sitio web)
  • Sistemas basados ​​en marcos Archivado el 27/07/2009 en Wayback Machine
  • El protocolo de trama genérico
  • El editor de ontologías Protégé
  • Presentación introductoria a los lenguajes marco