Un sistema basado en el conocimiento ( KBS ) es un programa de computadora que razona y usa una base de conocimiento para resolver problemas complejos . El término es amplio y se refiere a muchos tipos diferentes de sistemas. El único tema común que une a todos los sistemas basados en el conocimiento es un intento de representar el conocimiento de manera explícita y un sistema de razonamiento que le permite derivar nuevos conocimientos. Por tanto, un sistema basado en el conocimiento tiene dos características distintivas: una base de conocimientos y un motor de inferencia .
La primera parte, la base de conocimientos, representa hechos sobre el mundo, a menudo en alguna forma de ontología de subsunción (en lugar de estar implícitamente incrustados en un código de procedimiento, como lo hace un programa de computadora convencional). Otros enfoques comunes, además de una ontología de subsunción, incluyen marcos , gráficos conceptuales y afirmaciones lógicas. [1]
La segunda parte, el motor de inferencia, permite inferir nuevos conocimientos. Más comúnmente, puede tomar la forma de reglas SI-ENTONCES [2] junto con enfoques de encadenamiento hacia adelante o hacia atrás. Otros enfoques incluyen el uso de probadores de teoremas automatizados, programación lógica, sistemas de pizarra y sistemas de reescritura de términos como CHR (Reglas de manejo de restricciones) . Estos enfoques más formales se tratan en detalle en el artículo de Wikipedia sobre la representación y el razonamiento del conocimiento .
Descripción general
Los sistemas basados en el conocimiento fueron desarrollados por primera vez por investigadores de inteligencia artificial [ cita requerida ] . Estos primeros sistemas basados en el conocimiento eran principalmente sistemas expertos ; de hecho, el término a menudo se usa indistintamente con sistemas expertos, aunque hay una diferencia. La diferencia está en el punto de vista adoptado para describir el sistema [ cita requerida ] :
- "sistema experto" se refiere al tipo de tarea con la que el sistema está tratando de ayudar: reemplazar o ayudar a un experto humano en una tarea compleja que generalmente se considera que requiere conocimientos expertos
- "sistema basado en el conocimiento" se refiere a la arquitectura del sistema, que representa el conocimiento de manera explícita, en lugar de un código de procedimiento.
Si bien los primeros sistemas basados en el conocimiento eran casi todos sistemas expertos, las mismas herramientas y arquitecturas pueden y se han utilizado desde entonces para una gran cantidad de otros tipos de sistemas. Prácticamente todos los sistemas expertos son sistemas basados en el conocimiento, pero muchos sistemas basados en el conocimiento no son sistemas expertos.
Los primeros sistemas basados en el conocimiento fueron los sistemas expertos basados en reglas. Uno de los más famosos fue Mycin , un programa de diagnóstico médico. Estos primeros sistemas expertos representaban hechos sobre el mundo como simples afirmaciones en una base de datos plana , y usaban reglas para razonar sobre (y como resultado agregar a) estas afirmaciones. Representar el conocimiento de forma explícita a través de reglas tiene varias ventajas:
- 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.
- Explicación. La representación del 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.
- Razonamiento. Separar el conocimiento del procesamiento de ese conocimiento permitió desarrollar motores de inferencia de propósito general. Estos sistemas podrían desarrollar conclusiones que se derivan de un conjunto de datos que los desarrolladores iniciales ni siquiera conocían. [3]
Las arquitecturas posteriores 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í mismo se viera afectado por nuevas inferencias, proporcionando un razonamiento de meta-nivel. BB1 permitió monitorear el proceso de resolución de problemas en sí. Diferentes tipos de resolución de problemas (p. Ej., Resolución de problemas de arriba hacia abajo, de abajo hacia arriba y oportunista) podrían mezclarse 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 a nivel de dominio como para su propio problema de control, que podría depender del primero. Otros ejemplos de arquitecturas de sistemas basadas en el conocimiento que apoyan el razonamiento a nivel meta son MRS [5] y SOAR .
Además de los sistemas expertos, otras aplicaciones de los sistemas basados en el conocimiento incluyen 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] diseño de sitios de construcción. , [9] y diagnóstico de fallas del sistema informático. [10]
A medida que los sistemas basados en el conocimiento se volvieron más complejos, las técnicas utilizadas para representar la base del conocimiento se volvieron más sofisticadas e incluyeron lógica, sistemas de reescritura de términos, gráficos conceptuales y marcos . Considere los marcos como ejemplo. En lugar de representar hechos como afirmaciones sobre datos, la base de conocimientos se ha vuelto más estructurada. Se puede pensar que los marcos representan el conocimiento del mundo utilizando técnicas análogas a la programación orientada a objetos , específicamente el uso de jerarquías de clases y subclases, relaciones entre clases y comportamiento de objetos. A medida que la base de conocimientos se vuelve más estructurada, el razonamiento puede ocurrir tanto por reglas independientes, inferencia lógica como por interacciones dentro de la propia base de conocimientos. Por ejemplo, los procedimientos almacenados como demonios en objetos podrían activarse y podrían replicar el comportamiento de encadenamiento de las reglas. [11]
Otro avance 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 forma, un clasificador también puede desempeñar el papel de motor de inferencia. [12]
El avance más reciente de los sistemas basados en el conocimiento ha sido la adopción de 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 a pedido, 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
- Representación y razonamiento del conocimiento
- Base de conocimientos
- Máquina de inferencia
- Sistema de razonamiento
- Razonamiento basado en casos
- Experto en Sistemas
- Gráfico conceptual
- Web semántica
- Redes neuronales
Referencias
- ^ 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.
- ^ Smith, Reid (8 de mayo de 1985). "Conceptos, técnicas, ejemplos de sistemas basados en el conocimiento" (PDF) . reidgsmith.com . Investigación sobre muñecas de Schlumberger . Consultado el 9 de noviembre de 2013 .
- ^ Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Construyendo sistemas expertos . Addison-Wesley. ISBN 0-201-10686-8.
- ^ Hayes-Roth, Barbara; Departamento de Ciencias de la Computación de la 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.
- ^ Genesereth, Michael R. "1983 - Una descripción general de la arquitectura de meta-nivel": 6. Cite journal requiere
|journal=
( ayuda ) - ^ Larsson, Jan Eric; Hayes-Roth, Barbara (1998). "Guardián: un agente autónomo inteligente para la monitorización y el diagnóstico médico" . Sistemas inteligentes IEEE . 13 (1) . Consultado el 11 de agosto de 2012 .
- ^ Clancey, William (1987). Tutoría basada en conocimientos: el programa GUIDON . Cambridge, Massachusetts: The MIT Press.
- ^ Hayes-Roth, Barbara; Buchanan, Bruce G .; Lichtarge, Olivier; Hewitt, Mike; Altman, Russ B .; Brinkley, James F .; Cornelius, Craig; Duncan, Bruce S .; Jardetzky, Oleg (1986). PROTEANO: Obtención de la estructura proteica a partir de restricciones . AAAI. págs. 904–909 . Consultado el 11 de agosto de 2012 .
- ^ Engelmore, Robert; et al; (eds) (1988). Sistemas de pizarra . Addison-Wesley Pub (Sd).CS1 maint: texto adicional: lista de autores ( enlace )
- ^ Bennett, James S. (1981). DART: un sistema experto para el diagnóstico de fallas informáticas . IJCAI.
- ^ Mettrey, William (1987). "Una evaluación de herramientas para la construcción de 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 .
- ^ MacGregor, Robert (junio de 1991). "Utilización de un clasificador de descripción para mejorar la representación del conocimiento". Experto IEEE . 6 (3): 41–46. doi : 10.1109 / 64.87683 . S2CID 29575443 .
- ^ Berners-Lee, Tim; James Hendler; Ora Lassila (17 de mayo de 2001). "La Web Semántica Una nueva forma de contenido web que es significativo para las computadoras desatará 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.
Otras lecturas
- Rajendra, Akerkar; Sajja, Priti (2009). Sistemas basados en el conocimiento . Jones y Bartlett Learning. ISBN 9780763776473.