stringtranslate.com

Sistemas basados ​​en el conocimiento

Un sistema basado en conocimiento ( KBS , por sus siglas en inglés) es un programa informático que razona y utiliza una base de conocimiento para resolver problemas complejos . Los sistemas basados ​​en conocimiento fueron el foco de atención 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 conocimiento tienen dos componentes definitorios: un intento de representar el conocimiento de manera explícita, llamado base de conocimiento , y un sistema de razonamiento que les permite derivar nuevos conocimientos, conocido como motor de inferencia .

Componentes

La base de conocimiento contiene hechos y reglas específicos de un dominio [1] sobre un dominio problemático (en lugar de conocimiento implícitamente incorporado en un código procedimental, como en un programa informático convencional). Además, el conocimiento puede estructurarse por medio de una ontología de subsunción , marcos , gráficos conceptuales o afirmaciones 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 encadenamiento 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 vs. sistemas expertos

El término "sistema basado en el conocimiento" se ha utilizado a menudo indistintamente con el de " sistema experto ", posiblemente porque casi todos los primeros sistemas basados ​​en el conocimiento se diseñaron para tareas de expertos. Sin embargo, estos términos nos informan sobre 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 eran principalmente sistemas expertos basados ​​en reglas. Estos representaban hechos sobre el mundo como afirmaciones simples en una base de datos plana y utilizaban reglas específicas del dominio para razonar sobre estas afirmaciones y luego agregarles información. Uno de los más famosos de estos primeros sistemas fue Mycin , un programa para 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 podían definir y mantener las reglas ellos mismos en lugar de hacerlo un programador.
  2. Explicación. Representar el conocimiento de forma explícita permitía a los sistemas razonar sobre cómo habían llegado a una conclusión y utilizar esta información para explicar los resultados a los usuarios. Por ejemplo, para seguir la cadena de inferencias que condujeron a un diagnóstico y utilizar estos hechos para explicar el diagnóstico.
  3. Razonamiento. La separación del conocimiento del procesamiento de ese conocimiento permitió desarrollar motores de inferencia de propósito general. Estos sistemas podían desarrollar conclusiones que se derivaban de un conjunto de datos del que los desarrolladores iniciales tal vez ni siquiera eran conscientes. [3]

Meta-razonamiento

Arquitecturas posteriores [¿ cuándo? ] para razonamiento basado en 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 meta-nivel. BB1 permitió que el proceso de resolución de problemas en sí fuera monitoreado. Diferentes tipos de resolución de problemas (por ejemplo, de arriba hacia abajo, de abajo hacia arriba y resolución de problemas oportunista) podían combinarse selectivamente 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 de nivel de dominio junto con su propio problema de control, que podía depender del primero.

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

Ampliación de la aplicación

En los años 1980 y 1990, además de los sistemas expertos, otras aplicaciones de los sistemas basados ​​en el conocimiento incluyeron el control de procesos en tiempo real, [6] sistemas de tutoría inteligente, [7] y solucionadores de problemas para dominios específicos como el análisis de la estructura de proteínas, [8] el diseño de sitios de construcción, [9] y el diagnóstico de fallas en sistemas informáticos. [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 del mundo utilizando técnicas que pueden verse como análogas a la programación orientada a objetos , específicamente clases y subclases, jerarquías y relaciones entre clases y comportamiento [ aclaración necesaria ] de los objetos. Con la base de conocimiento más estructurada, el razonamiento ahora podría ocurrir no solo mediante reglas independientes e inferencia lógica, sino también en función de interacciones dentro de la base de conocimiento misma. Por ejemplo, los procedimientos almacenados como daemons en [ aclaración necesaria ] objetos podrían activarse y podrían replicar el comportamiento de encadenamiento de reglas. [11]

Avances en el razonamiento automatizado

Otro avance en la década de 1990 fue el desarrollo de sistemas de razonamiento automatizados de propósito especial 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 un motor de inferencia. [12]

El avance más reciente de los sistemas basados ​​en el conocimiento fue la adopción de tecnologías, especialmente un tipo de lógica llamada lógica descriptiva , 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 a pedido, es ideal para tales sistemas. El modelo para este tipo de sistemas de Internet basados ​​en el conocimiento se conoce como la Web Semántica . [13]

Véase 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 . Schlumberger-Doll Research . 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.). Pacific Grove: Brooks/Cole. ISBN 978-0-534-94965-5.
  3. ^ Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Construcción de sistemas expertos. Addison-Wesley. ISBN 0-201-10686-8.
  4. ^ Hayes-Roth, Barbara ; Departamento de Ciencias de la Computación, Universidad de Stanford (1984). BB1: una arquitectura para sistemas Blackboard 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 de la AAAI-83 : ​​6.
  6. ^ Larsson, Jan Eric; Hayes-Roth, Barbara (1998). "Guardian: un agente autónomo inteligente para el monitoreo y diagnóstico médico". IEEE Intelligent Systems . 13 (1) . Consultado el 11 de agosto de 2012 .
  7. ^ Clancey, William (1987). Tutoría basada en el conocimiento: el programa GUIDON . Cambridge, Massachusetts: The MIT Press.
  8. ^ Hayes-Roth, Barbara ; Buchanan, Bruce G.; Lichtarge, Olivier; Hewitt, Mike; Altman, Russ B.; Brinkley, James F.; Cornelius, Craig; Duncan, Bruce S.; Jardetzky, Oleg (1986). PROTEAN: Derivación de la estructura de 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). Blackboard Systems . Addison-Wesley Pub (Sd).
  10. ^ Bennett, James S. (1981). DART: Un sistema experto para el diagnóstico de fallas en computadoras . IJCAI.
  11. ^ Mettrey, William (1987). "Una evaluación de herramientas para construir grandes sistemas basados ​​en el conocimiento". AI Magazine . 8 (4). Archivado desde el original el 2013-11-10 . Consultado el 2013-11-10 .
  12. ^ 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.
  13. ^ Berners-Lee, Tim; James Hendler; Ora Lassila (17 de mayo de 2001). «La Web semántica: una nueva forma de contenido web que tiene sentido para las computadoras desencadenará una revolución de nuevas posibilidades». Scientific American . 284 : 34–43. doi :10.1038/scientificamerican0501-34. Archivado desde el original el 24 de abril de 2013.

Lectura adicional