stringtranslate.com

Sistemas basados ​​en el conocimiento

Un sistema basado en conocimiento ( KBS ) es un programa informático que razona y utiliza una base de conocimiento para resolver problemas complejos . Los sistemas basados ​​en el conocimiento fueron el foco de los primeros investigadores de inteligencia artificial en la década de 1980. El término puede referirse a una amplia gama de sistemas. Sin embargo, todos los sistemas basados ​​en el conocimiento tienen dos componentes definitorios: un intento de representar el conocimiento explícitamente, llamado base de conocimiento , y un sistema de razonamiento que les permite derivar nuevo conocimiento, conocido como motor de inferencia .

Componentes

La base de conocimiento contiene hechos y reglas [1] específicos de un dominio sobre un dominio de problema (en lugar de conocimiento implícitamente incorporado en el código de procedimiento, como en un programa de computadora convencional). Además, el conocimiento puede estructurarse mediante una ontología de subsunción , marcos , grafos conceptuales o aseveraciones lógicas. [2]

El motor de inferencia utiliza métodos de razonamiento de propósito general para inferir nuevos conocimientos y resolver problemas en el dominio del problema. Lo más común es que emplee encadenamiento hacia adelante o hacia atrás . Otros enfoques incluyen el uso de demostración automatizada de teoremas , programación lógica , sistemas de pizarra y sistemas de reescritura de términos como las reglas de manejo de restricciones (CHR). Estos enfoques más formales se tratan en detalle en el artículo de Wikipedia sobre representación y razonamiento del conocimiento .

Aspectos y desarrollo de los primeros sistemas.

Sistemas basados ​​en el conocimiento versus sistemas expertos

El término "sistema basado en el conocimiento" se utilizaba a menudo indistintamente con " sistema experto ", posiblemente porque casi todos los primeros sistemas basados ​​en el conocimiento fueron diseñados para tareas expertas. Sin embargo, estos términos nos hablan de diferentes aspectos de un sistema:

Hoy en día, prácticamente todos los sistemas expertos están basados ​​en el conocimiento, mientras que la arquitectura de sistemas basada en el conocimiento se utiliza en una amplia gama de tipos de sistemas diseñados para una variedad de tareas.

Sistemas basados ​​en reglas

Los primeros sistemas basados ​​en el conocimiento fueron principalmente sistemas expertos basados ​​en reglas. Estos representaban hechos sobre el mundo como simples afirmaciones en una base de datos plana y usaban reglas específicas de dominio para razonar sobre estas afirmaciones y luego agregarlas. Uno de los más famosos de estos primeros sistemas fue Mycin , un programa de diagnóstico médico.

Representar el conocimiento explícitamente mediante reglas tenía varias ventajas:

  1. Adquisición y mantenimiento. El uso de reglas significaba que los expertos en el dominio a menudo podían definir y mantener las reglas ellos mismos en lugar de hacerlo a través de un programador.
  2. Explicación. Representar el conocimiento permitió explícitamente a los sistemas razonar sobre cómo llegaron a una conclusión y utilizar esta información para explicar los resultados a los usuarios. Por ejemplo, seguir la cadena de inferencias que llevaron a un diagnóstico y utilizar estos hechos para explicar el diagnóstico.
  3. Razonamiento. Desacoplar el conocimiento del procesamiento de ese conocimiento permitió desarrollar motores de inferencia de propósito general. Estos sistemas podrían desarrollar conclusiones a partir de un conjunto de datos que los desarrolladores iniciales tal vez ni siquiera conocían. [3]

Meta-razonamiento

¿ Más tarde , cuando? ] arquitecturas para el razonamiento basado en el conocimiento, como la arquitectura de pizarra BB1 (un sistema de pizarra ), [4] permitieron que el proceso de razonamiento en sí se viera afectado por nuevas inferencias, proporcionando razonamiento de metanivel. BB1 permitió monitorear el proceso de resolución de problemas. Se podrían combinar selectivamente diferentes tipos de resolución de problemas (por ejemplo, de arriba hacia abajo, de abajo hacia arriba y oportunista) en función del estado actual de la resolución de problemas. Esencialmente, el solucionador de problemas se estaba utilizando tanto para resolver un problema a nivel de dominio como para su propio problema de control, que podría depender del primero.

Otros ejemplos de arquitecturas de sistemas basados ​​en el conocimiento que soportan el razonamiento a nivel meta son MRS [5] y SOAR .

Ampliación de la aplicación

En las décadas de 1980 y 1990, además de los sistemas expertos, otras aplicaciones de los sistemas basados ​​en el conocimiento incluían el control de procesos en tiempo real, [6] sistemas de tutoría inteligentes, [7] y solucionadores de problemas para dominios específicos como el análisis de la estructura de proteínas, [ 8] diseño del sitio de construcción, [9] y diagnóstico de fallas del sistema informático. [10]

Avances impulsados ​​por una arquitectura mejorada

A medida que los sistemas basados ​​en el conocimiento se volvieron más complejos, las técnicas utilizadas para representar la base de conocimiento se volvieron más sofisticadas e incluyeron lógica, sistemas de reescritura de términos, gráficos conceptuales y marcos .

Los marcos, por ejemplo, son una forma de representar el conocimiento mundial utilizando técnicas que pueden considerarse análogas a la programación orientada a objetos , específicamente clases y subclases, jerarquías y relaciones entre clases, y comportamiento [ se necesita aclaración ] de los objetos. Con la base de conocimientos más estructurada, el razonamiento ahora podría ocurrir no sólo mediante reglas independientes e inferencias lógicas, sino también basándose en interacciones dentro de la propia base de conocimientos. Por ejemplo, los procedimientos almacenados como demonios en [ se necesita aclaración ] objetos podrían activarse y replicar el comportamiento de encadenamiento de las reglas. [11]

Avances en el razonamiento automatizado

Otro avance en la década de 1990 fue el desarrollo de sistemas de razonamiento automatizados con fines especiales llamados clasificadores . En lugar de declarar estáticamente las relaciones de subsunción en una base de conocimiento, un clasificador permite al desarrollador simplemente declarar hechos sobre el mundo y dejar que el clasificador deduzca las relaciones. De esta manera, un clasificador también puede desempeñar el papel de motor de inferencia. [12]

El más reciente [ a partir de? El avance de los sistemas basados ​​en el conocimiento fue adoptar las tecnologías, especialmente un tipo de lógica llamada lógica de descripción , para el desarrollo de sistemas que utilizan Internet. Internet a menudo tiene que lidiar con datos complejos y no estructurados en los que no se puede confiar para que se ajusten a un modelo de datos específico. La tecnología de los sistemas basados ​​en el conocimiento, y especialmente la capacidad de clasificar objetos según demanda, es ideal para tales sistemas. El modelo para este tipo de sistemas de Internet basados ​​en el conocimiento se conoce como Web Semántica . [13]

Ver también

Referencias

  1. ^ Smith, Reid (8 de mayo de 1985). "Conceptos, técnicas y ejemplos de sistemas basados ​​en el conocimiento" (PDF) . reidgsmith.com . Investigación Schlumberger-Doll . Consultado el 9 de noviembre de 2013 .
  2. ^ Sowa, John F. (2000). Representación del conocimiento: fundamentos lógicos, filosóficos y computacionales (1ª ed.). Arboleda del Pacífico: Brooks/Cole. ISBN 978-0-534-94965-5.
  3. ^ Hayes-Roth, Federico; Donald Waterman; Douglas Lenat (1983). Construcción de sistemas expertos. Addison-Wesley. ISBN 0-201-10686-8.
  4. ^ Hayes-Roth, Bárbara ; Departamento de Ciencias de la Computación de la Universidad de Stanford (1984). BB1: una arquitectura para sistemas de pizarra que controlan, explican y aprenden sobre su propio comportamiento. Departamento de Ciencias de la Computación, Universidad de Stanford.
  5. ^ Genesereth, Michael R. "1983 - Una descripción general de la arquitectura de metanivel". Actas AAAI-83 : ​​6.
  6. ^ Larsson, Jan Eric; Hayes-Roth, Barbara (1998). "Guardian: un agente autónomo inteligente para el seguimiento y diagnóstico médico". Sistemas inteligentes IEEE . 13 (1) . Consultado el 11 de agosto de 2012 .
  7. ^ Clancey, William (1987). Tutoría basada en el conocimiento: el programa GUIDON . Cambridge, Massachusetts: Prensa del MIT.
  8. ^ Hayes-Roth, Bárbara ; Buchanan, Bruce G.; Lichtarge, Olivier; Hewitt, Mike; Altman, Russ B.; Brinkley, James F.; Cornelio, Craig; Duncan, Bruce S.; Jardetzky, Oleg (1986). PROTEAN: Derivación de la estructura de las proteínas a partir de restricciones. AAAI. págs. 904–909 . Consultado el 11 de agosto de 2012 .
  9. ^ Robert Engelmore; et al., eds. (1988). Sistemas de pizarra . Pub Addison-Wesley (Sd).
  10. ^ Bennett, James S. (1981). DART: un sistema experto para el diagnóstico de fallos informáticos . IJCAI.
  11. ^ Mettrey, William (1987). "Una evaluación de herramientas para construir grandes sistemas basados ​​en el conocimiento". Revista AI . 8 (4). Archivado desde el original el 10 de noviembre de 2013 . Consultado el 10 de noviembre de 2013 .
  12. ^ MacGregor, Robert (junio de 1991). "Uso de un clasificador de descripciones para mejorar la representación del conocimiento". Experto IEEE . 6 (3): 41–46. doi : 10.1109/64.87683. S2CID  29575443.
  13. ^ Berners-Lee, Tim; James Hendler; Ora Lassila (17 de mayo de 2001). "La Web Semántica Una nueva forma de contenido Web que sea significativo para las computadoras desatará una revolución de nuevas posibilidades". Científico americano . 284 : 34–43. doi : 10.1038/scientificamerican0501-34. Archivado desde el original el 24 de abril de 2013.

Otras lecturas