Leccion 3.1 Representacion del conocimiento y razonamiento Pgina 1
Leccion 3.1 Representacion del conocimiento y razonamiento
La representacin del conocimiento y el razonamiento es un rea de la inteligencia artificial cuyo objetivo fundamental es representar el conocimiento de una manera que facilite la inferencia (sacar conclusiones) a partir de dicho conocimiento. Analiza cmo pensar formalmente - cmo usar un sistema de smbolos para representar un dominio del discurso (aquello de lo que se puede hablar), junto con funciones que permitan inferir (realizar un razonamiento formal) sobre los objetos. Generalmente, se usa algn tipo de lgica para proveer una semntica formal de como las funciones de razonamiento se aplican a los smbolos del dominio del discurso, adems de proveer operadores como cuantificadores, operadores modales, etc. Esto, junto a una teora de interpretacin, dan significado a las frases en la lgica. Cuando diseamos una representacin del conocimiento (y un sistema de representacin del conocimiento para interpretar frases en la lgica para poder derivar inferencias de ellas) tenemos que hacer elecciones a lo largo de un nmero de mbitos de diseo. La decisin ms importante que hay que tomar es la expresividad de la representacin del conocimiento. Cuanto ms expresiva es, decir algo es ms fcil y ms compacto. Sin embargo, cuanto ms expresivo es un lenguaje, ms difcil es derivar inferencias automticamente de l. Un ejemplo de una representacin del conocimiento poco expresiva es la lgica proposicional. Un ejemplo de una representacin del conocimiento muy expresiva es la lgica autoepistmica. Las representaciones del conocimiento poco expresivas pueden ser tanto completas como consistentes (formalmente menos expresivas que la teora de conjuntos). Las representaciones del conocimiento ms expresivas pueden ser ni completas ni consistentes. El principal problema es encontrar una representacin del conocimiento y un sistema de razonamiento que la soporte que pueda hacer las inferencias que necesite tu aplicacin dentro de los lmites de recursos del problema a tratar. Los desarrollos recientes en la representacin del conocimiento han sido liderados por la web semntica, y han incorporado el desarrollo de lenguajes y estndares de representacin del conocimiento basados en XML, que incluyen Resource Description Framework (RDF), RDF Schema, DARPA Agent Markup Language (DAML), y Web Ontology Language (OWL).
Visin general Existen un conjunto de tcnicas de representacin como son los marcos, las reglas, el etiquetado, y las redes semnticas, que tienen su origen en teoras del procesamiento de la informacin humana. Como el conocimiento se usa para conseguir comportamiento inteligente, el objetivo fundamental de la representacin del conocimiento es representar el conocimiento de manera que facilite el razonamiento. Una buena representacin del conocimiento debe ser declarativa adems de [SISTEMAS INTELIGENTES] IDSYSTEMS 2014
Leccion 3.1 Representacion del conocimiento y razonamiento Pgina 2
conocimiento fundamental. Lo que es la representacin del conocimiento se entiende mejor en trminos de cinco roles fundamentales que juega, cada uno crucial para la aplicacin: 1
2
Una representacin del conocimiento es fundamentalmente un sucedneo, un sustituto para el objeto en s, usado para activar una entidad para determinar las consecuencias pensando en lugar de actuando, en otras palabras, razonando acerca del mundo en lugar de tomando accin en l. Es un grupo de compromisos ontolgicos, en otras palabras, una respuesta a la pregunta: en qu trminos debo pensar acerca del mundo? Es una teora fragmentaria del razonamiento inteligente, expresado en trminos de tres componentes: (i) El concepto fundamental de la representacin del razonamiento inteligente; (ii) El conjunto de inferencias que la representacin sanciona; y (iii) El conjunto de inferencias que recomienda. Es un medio para una computacin pragmticamente eficiente, en otras palabras, el entorno computacional en el que el pensamiento tiene lugar. Una contribucin para esta eficiencia pragmtica viene dada por la gua que una representacin provee para organizar informacin de modo que facilite hacer las inferencias recomendadas. Es un modo de expresin humana, en otras palabras, un lenguaje en el que decimos cosas sobre el mundo. Algunas cuestiones que surgen en la representacin del conocimiento desde el punto de vista de la inteligencia artificial son: -Como representamos el conocimiento? -Cual es la naturaleza del conocimiento? -Debera un esquema de representacin tratar con un dominio particular o ser de propsito general? -Como de expresivo es un esquema de representacin o lenguaje formal? -Debera el esquema ser declarativo o procesal? En el campo de la inteligencia artificial, la solucin de problemas puede ser simplificada con una eleccin apropiada de representacin del conocimiento. Algunos problemas son ms fciles de resolver al representar el conocimiento de un modo determinado. Por ejemplo, es ms fcil dividir nmeros representados en nmeros arbigos que nmeros representados en nmeros romanos.
Caractersticas Una buena representacin del conocimiento cubre seis caractersticas bsicas: Cobertura, que significa que la representacin del conocimiento cubre la informacin en anchura y profundidad. Sin una cobertura amplia, la representacin del conocimiento no puede determinar nada ni resolver ambigedades. Comprensible por humanos. La representacin del conocimiento es vista como un lenguaje natural, as que la lgica debera fluir libremente. Debera soportar la modularidad y la jerarqua [SISTEMAS INTELIGENTES] IDSYSTEMS 2014
Leccion 3.1 Representacion del conocimiento y razonamiento Pgina 3
de clases (los osos polares son osos, que son animales). Debera adems contar con primitivas simples que se combinen de forma compleja. Consistencia. Si Pedro ha cerrado la puerta, tambin puede ser interpretado como la puerta ha sido cerrada por Pedro. Siendo consistente, la representacin del conocimiento puede eliminar conocimiento redundante o conflictivo. Eficiencia. Facilidad de modificacin y actualizacin. Soporte de la actividad inteligente que usa la base de conocimiento. Para entender mejor porque estas caractersticas representan una buena representacin del conocimiento, piensa en como una enciclopedia (por ejemplo, Wikipedia) est estructurada. Hay millones de artculos (cobertura), que estn organizados en categoras, tipos de contenido, y temas similares (comprensible por humanos). Redirecciona diferentes ttulos pero mismo contenido al mismo artculo (consistencia). Es eficiente, es fcil aadir o actualizar pginas, y permite a los usuarios consultar la base de conocimiento en sus telfonos u ordenadores de escritorio.
Historia de la representacin del conocimiento y el razonamiento En las ciencias de la computacin, particularmente la inteligencia artificial, se han ideado un nmero de representaciones para estructurar la informacin. Representacin del conocimiento es un trmino comnmente usado para referirse a representaciones pensadas para el procesamiento por ordenadores modernos, y en particular, para representaciones compuestas por objetos explcitos (la clase que contiene a todos los elefantes, o Jacobo un individuo en concreto), y de afirmaciones sobre ellos ('Jacobo es un elefante', o 'todos los elefantes son grises'). Representar el conocimiento en un a forma explicita como esta permite a los ordenadores sacar conclusiones de conocimiento previamente almacenado ('Jacobo es gris'). Muchos mtodos de representacin del conocimiento fueron probados a lo largo de la dcada de 1970 hasta principios de los aos 80, cmo responder a preguntas usando heursticas, redes neuronales, demostraciones de teoremas, y sistemas expertos, con un grado variable de xito. La diagnosis mdica (por ejemplo Mycin) fue un rea importante de aplicacin, al igual que lo fueron juegos como el ajedrez. En los aos 80, surgieron lenguajes formales de programacin y sistemas de representacin del conocimiento. Grandes proyectos se llevaron a cabo para intentar codificar grandes masas de conocimiento general, por ejemplo, el proyecto "Cyc" (todava activo) tom un gran enciclopedia codificando no la informacin en s, sino la informacin que un lector necesitara para poder entender la enciclopedia: fsica elemental, nociones de tiempo, causalidad, motivacin; objetos comunes y clases de objetos. [SISTEMAS INTELIGENTES] IDSYSTEMS 2014
Leccion 3.1 Representacion del conocimiento y razonamiento Pgina 4
A travs de dicho trabajo, se apreci mejor la dificultad de la representacin del conocimiento. En lingsticas computacionales, mientras tanto, se estaban construyendo bases de datos de informacin lingstica mucho ms grandes, y estas, junto con los grandes incrementos en velocidad y capacidad de computacin, hicieron las representacin del conocimiento ms profundas ms factibles. Se han desarrollado diversos lenguajes de programacin orientados a la representacin del conocimiento. Prolog, desarrollado en 1972, 3 pero popularizado mucho despus, representa proposiciones y lgica bsica, y puede derivar conclusiones de premisas conocidas. KL-ONE (aos 80) est ms orientado a la representacin del conocimiento en s. En 1995, se desarroll el estndar de metadata Dublin Core. En el mundo de los documentos electrnicos, se estaban desarrollando lenguajes para representar la estructura de los documentos, como el SGML (del que desciende el HTML) y ms tarde XML. Estos facilitaron los esfuerzos de recuperacin de informacin y minera de datos, que en aos recientes comenzaron a relacionarse a la representacin del conocimiento. El desarrollo de la web semntica, ha incluido el desarrollo de lenguajes de representacin del conocimiento y estndares basados en XML, incluyendo RDF, RDF Schema, DARPA Agent Markup Language (DAML), y Web Ontology Language (OWL).
Durante los aos 60, la mayor parte de los trabajos de investigacin sobre inteligencia artificial se centraban en los algoritmos de bsqueda heurstica y en la concepcin de sistemas para la resolucin de problemas con un inters, en principio, puramente terico y acadmico (demostracin de teoremas, juegos, problemas lgicos, etc.), pero con la idea implcita de que los resultados pudieran ser aplicables a problemas reales. Algunas lneas con posibilidades de aplicacin prctica inmediata, como la traduccin automtica entre lenguajes naturales, se abandonaron pronto al percibirse la dificultad del problema. A mitad de los 70 comienzan a tomar cuerpo dos ideas clave que, aunque muy relacionadas, no son idnticas. Se trata del paradigma del sistema experto y del paradigma del conocimiento.
3.1.2. Lenguajes utilizados en la representacin de conocimiento.
En el caso de los sistemas basados en conocimiento, el lenguaje en el que se expresa la ontologa debe reunir caractersticas que a veces (dependiendo del dominio) no es fcil compatibilizar: Sintaxis formalizada, para poder disear sobre bases slidas un procesador. Semntica bien definida y que permita la implementacin procedimental en el procesador de algoritmos de razonamiento eficientes. Desde el punto de vista pragmtico, expresividad suficiente para representar de la manera menos forzada posible el conocimiento. Esto significa que, para una determinada conceptuacin, el lenguaje con el que se construyen los modelos en el nivel simblico debe permitir una interpretacin declarativa que represente todos los aspectos de esa [SISTEMAS INTELIGENTES] IDSYSTEMS 2014
Leccion 3.1 Representacion del conocimiento y razonamiento Pgina 5
conceptuacin. En la prctica puede ocurrir que no encontremos el lenguaje ideal, y tengamos que forzar la conceptuacin para que se ajuste al lenguaje elegido.
Hay lenguajes formales, o tericos, que satisfacen en mayor o menor grado esas condiciones y lenguajes de implementacin, o prcticos, que, siguiendo el modelo de algn lenguaje formal, estn adaptados para mecanizar la construccin de ontologas. Nos centraremos en los primeros, que son relativamente estables, y sobre los que se basan los segundos, algunos muy voltiles. Por ejemplo: Prolog es un lenguaje de implementacin de la lgica de primer orden, que en sus versiones ms recientes incluye tambin construcciones para la programacin con restricciones. OWL (Web Ontology Language) es un lenguaje de ontolologas para la web basado en una lgica de descripciones (en realidad, son tres sublenguajes). Procede de la fusin de otros dos elaborados independientemente alrededor del ao 2000: DAML (DARPA Agent Markup Language, de la Agencia de proyectos del Ministerio de Defensa U.S.A) y OIL (Ontology Inference Layer, de un consorcio formado en el marco de los programas de la U.E.). En 2001 se form un comit conjunto que hizo una propuesta al Consorcio Web (W3C), y ste public el estndar (Proposed Recommendation en la terminologa del W3C) en 2003, modificado el 10 de febrero de 2004. Existen numerosas propuestas de mejoras y modificaciones. En el Apndice B se resume la versin actual.
Hasta la segunda mitad de los aos 80 se estaban utilizando diversos lenguajes que podan clasificarse en dos tipos: Lenguajes basados en la lgica de predicados de primer orden, con sintaxis y semntica formalizadas, con una base rigurosa para el razonamiento, pero con grandes dificultades para implementar algoritmos de razonamiento eficientes, con una rigidez sintctica que impide ciertas conceptuaciones naturales y con pocas posibilidades de modularizacin. Lenguajes basados en modelos de psicologa que, al estar derivados del estudio de la mente humana, permiten conceptuaciones ms naturales y algoritmos de razonamiento ms eficientes, pero que tienen una sintaxis menos formalizada y carecen de una definicin semntica precisa (a pesar de que uno de ellos se llama redes semnticas).
Como es natural, diversos investigadores trataron de elaborar propuestas para aunar las ventajas de unos lenguajes y otros (Hayes, 1979, Nilsson, 1982, Brachman y Levesque, 1985), pero no fue hasta el final de los 90 cuando quedaron relativamente establecidas las llamadas lgicas de descripciones, que en el momento actual son los lenguajes por antonomasia para la representacin del conocimiento.
[SISTEMAS INTELIGENTES] IDSYSTEMS 2014
Leccion 3.1 Representacion del conocimiento y razonamiento Pgina 6
A las lgicas de descripciones dedicaremos el Captulo. Pero hay al menos cuatro razones por las que nos parece conveniente detenernos previamente en los lenguajes ms antiguos: la lgica clsica de primer orden sigue siendo la base fundamental de las dems formulaciones de la lgica; en el diseo de muchos sistemas basados en conocimiento, especialmente los que no son muy complejos, se siguen utilizando algunos de esos lenguajes; las ideas originales ayudan a entender y justifican ciertas decisiones de diseo, y la naturaleza interdisciplinaria de estos primeros trabajos hace muy interesante su estudio.