Un clasificador deductivo es un tipo de motor de inferencia de inteligencia artificial . Toma como entrada un conjunto de declaraciones en un lenguaje marco sobre un dominio como la investigación médica o la biología molecular. Por ejemplo, los nombres de clases, subclases, propiedades y restricciones sobre los valores permitidos. El clasificador determina si las diversas declaraciones son lógicamente consistentes y, en caso contrario, resaltará las declaraciones inconsistentes específicas y las inconsistencias entre ellas. Si las declaraciones son consistentes, el clasificador puede entonces afirmar información adicional basada en la entrada. Por ejemplo, puede agregar información sobre clases existentes, crear clases adicionales, etc. Esto difiere de los motores de inferencia tradicionales que se activan a partir de las condiciones SI-ENTONCES en las reglas. Los clasificadores también son similares a los probadores de teoremas en que toman como entrada y producen salida a través de la lógica de primer orden . Clasificadores originados con lenguajes Frame KL-ONE . Son cada vez más importantes ahora que forman parte de la tecnología habilitadora de la Web Semántica . Los clasificadores modernos aprovechan el lenguaje de ontologías web . Los modelos que analizan y generan se denominan ontologías . [1]
Historia
Un problema clásico en la representación del conocimiento para la inteligencia artificial es el compromiso entre el poder expresivo y la eficiencia computacional del sistema de representación del conocimiento. La forma más poderosa de representación del conocimiento es la lógica de primer orden (FOL). Sin embargo, no es posible implementar la representación del conocimiento que proporcione el poder expresivo completo de la lógica de primer orden. Dicha representación incluirá la capacidad de representar conceptos tales como el conjunto de todos los enteros que son imposibles de recorrer. La implementación de una afirmación cuantificada para un conjunto infinito por definición da como resultado un programa indecidible que no termina. Sin embargo, el problema es más profundo que no poder implementar conjuntos infinitos. Como demostró Levesque, cuanto más se acerca un mecanismo de representación del conocimiento a FOL, es más probable que resulte en expresiones que requieran recursos infinitos o inaceptablemente grandes para calcular. [2]
Como resultado de esta compensación, una gran parte del trabajo inicial sobre la representación del conocimiento para la inteligencia artificial implicó experimentar con varios compromisos que proporcionan un subconjunto de FOL con velocidades de cálculo aceptables. Uno de los primeros y más exitosos compromisos fue desarrollar lenguajes basados predominantemente en modus ponens , es decir, reglas IF-THEN. Los sistemas basados en reglas fueron el mecanismo predominante de representación del conocimiento para prácticamente todos los primeros sistemas expertos . Los sistemas basados en reglas proporcionaron una eficiencia computacional aceptable sin dejar de ofrecer una poderosa representación del conocimiento. Además, las reglas eran muy intuitivas para los trabajadores del conocimiento. De hecho, uno de los puntos de datos que alentó a los investigadores a desarrollar la representación del conocimiento basada en reglas fue la investigación psicológica de que los humanos a menudo representaban una lógica compleja a través de reglas. [3]
Sin embargo, después del éxito inicial de los sistemas basados en reglas, surgió un uso más generalizado de los lenguajes de marcos en lugar de, o más a menudo, combinados con reglas. Los marcos proporcionaron una forma más natural de representar ciertos tipos de conceptos, especialmente conceptos en jerarquías de subpartes o subclases. Esto llevó al desarrollo de un nuevo tipo de motor de inferencia conocido como clasificador. Un clasificador podría analizar una jerarquía de clases (también conocida como ontología ) y determinar si era válida. Si la jerarquía no fuera válida, el clasificador resaltaría las declaraciones inconsistentes. Para que una lengua utilice un clasificador, se requiere una base formal. El primer idioma en demostrar con éxito un clasificador fue la familia de idiomas KL-ONE. El lenguaje LOOM de ISI fue fuertemente influenciado por KL-ONE. LOOM también se vio influenciado por la creciente popularidad de las herramientas y entornos orientados a objetos. Loom proporcionó una verdadera capacidad orientada a objetos (por ejemplo, paso de mensajes) además de las capacidades del lenguaje Frame. Los clasificadores juegan un papel importante en la visión de la próxima generación de Internet conocida como Web Semántica. Web Ontology Language proporciona un formalismo que se puede validar y razonar mediante clasificadores como Hermit y Fact ++. [4]
Implementaciones
Las primeras versiones de los clasificadores fueron probadores de teoremas lógicos . El primer clasificador que trabajó con un lenguaje Frame fue el clasificador KL-ONE . [5] [6] Un sistema posterior basado en lisp común fue LOOM del Instituto de Ciencias de la Información. LOOM proporcionó verdaderas capacidades orientadas a objetos aprovechando el Common Lisp Object System, junto con un lenguaje marco. [7] En la Web Semántica, la herramienta Protege de Stanford proporciona clasificadores (también conocidos como razonadores) como parte del entorno predeterminado. [8]
enlaces externos
Referencias
- ^ Berners-Lee, Tim; Hendler, James; Lassila, Ora (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 (5): 34–43. doi : 10.1038 / scientificamerican0501-34 . Archivado desde el original el 24 de abril de 2013.
- ^ Levesque, Héctor; Ronald Brachman (1985). "Una compensación fundamental en la representación y el razonamiento del conocimiento" . En Ronald Brachman y Hector J. Levesque (ed.). Lectura en representación del conocimiento . Morgan Kaufmann. pag. 49 . ISBN 978-0-934613-01-9.
La buena noticia al reducir el servicio KR a la demostración de teoremas es que ahora tenemos una noción muy clara y muy específica de lo que debería hacer el sistema KR; la mala noticia es que también está claro que los servicios no se pueden proporcionar ... decidir si una oración en FOL es o no un teorema ... es irresoluble.
- ^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Construyendo sistemas expertos . Addison-Wesley. págs. 6–7 . ISBN 978-0-201-10686-2.
- ^ MacGregor, Robert (1994). "Un clasificador descriptivo para el cálculo de predicados" (PDF) . AAAI - 94 Actas . Consultado el 17 de julio de 2014 .
- ^ Woods, WA ; Schmolze, JG (1992). "La familia KL-ONE". Computadoras y Matemáticas con Aplicaciones . 23 (2-5): 133-177. doi : 10.1016 / 0898-1221 (92) 90139-9 .
- ^ Brachman, RJ ; Schmolze, JG (1985). "Una descripción general del sistema de representación del conocimiento KL-ONE" . Ciencia cognitiva . 9 (2): 171–216. doi : 10.1207 / s15516709cog0902_1 .
- ^ 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 .
- ^ "Protege Wiki: Razonadores que se integran con Protege" . Universidad de Stanford . Consultado el 19 de julio de 2014 .