miniaturadeimagen|Modelo de memoria basado en categorías para razonamiento basado en casos. Razonamiento basado en casos es el proceso de solucionar nuevos problemas basándose en las soluciones de problemas anteriores. Un mecánico de automóviles que repara un motor porque recordó que otro coche presentaba los mismos síntomas está usando razonamiento basado en casos. Un abogado que apela a precedentes legales para defender alguna causa está usando razonamiento basado en casos. También un ingeniero cuando copia elementos de la naturaleza, está tratando a esta como una “base de datos de soluciones”. El razonamiento basado en casos es una manera de razonar haciendo analogías. Se ha argumentado que el razonamiento basado en casos no solo es un método poderoso para el razonamiento de computadoras, sino que es usado por las personas para solucionar problemas cotidianos. Más radicalmente se ha sostenido que todo razonamiento es basado en casos porque está basado en la experiencia previa.

Contextualización Antes de empezar a tratar el tema del razonamiento basado en los casos de uso es necesario situar el contexto en el que se encuentran para poder realizar una primera aproximación al tema y poder comprender el porqué de su utilización.

Así pues el razonamiento basado en casos de uso o case base reasoning (CBR) es un tipo de sistema experto. Un sistema experto, desde el punto de vista de la inteligencia artificial, es un sistema que intenta imitar el comportamiento de un ser humano experto en alguna temática, es decir imitan las actividades de un ser humano para intentar resolver los problemas de distinta índole. Un ejemplo de sistema experto sería uno que se encargase de diagnosticar problemas mecánicos en un coche. Es suficientemente claro que el sistema experto lo que intentará será imitar el comportamiento que seguiría el mecánico para intentar determinar cual es el problema que presenta el automóvil. Para ello, lo que intentará el sistema básicamente será imitar el comportamiento que sigue el propio ser humano, en este caso un mecánico, para llegar a la misma conclusión a la que el llegaría, y poder dar la solución que daría un mecánico después de su análisis. Las ventajas de la creación de un sistema experto son claras, facilitar el trabajo de los expertos. Es evidente que con la creciente popularización de los medios informáticos y su continua implantación en la sociedad, han provocado que mucha gente busque estas soluciones para solucionar los problema cotidianos, que les hagan recomendaciones, sistemas de ayuda, etc. y los sistemas expertos lo que hacen es permitir a las empresas otorgar estos servicios sin la necesidad de que exista una persona física que lo haga, con lo que supone una reducción de los costes importantes. Por otro lado, cada día la información con la que se encuentran delante los sistemas expertos va creciendo, y eso provoca que en muchos casos el tratamiento de esta información sea lento y en muchos casos intratables, no por la dificultad del problema, sino por la gran cantidad de datos de entrada que tienen. Como podemos ver, en todos estos casos el sistema experto resulta de una enorme utilidad.

Ahora bien, deberíamos analizar cuales son los elementos necesarios para que un sistema experto sea realmente útil y una herramienta efectiva tanto en la propia interacción con el usuario como la calidad de la respuesta aportada por el mismo. Así pues, tenemos que todo sistema experto tendría que reunir dos cualidades claramente diferenciadas, de un lado debería de ser capaz de explicar sus propios razonamiento, es decir, aquel conjunto de reglas o pasos que utiliza el experto ir deduciendo diferentes hechos hasta llegar a una conclusión final. Por otro lado, si nos fijamos bien veremos que hasta ahora no habíamos mencionado una de la cualidades innatas que tienen los seres humanos y gracias a la cual han ido mejorando a lo largo de la historia, y que es la adquisición de nuevos conocimientos. Dada su importancia en los seres humanos no podría serlo menos en los sistema expertos, ya que sin esto puede que consiguiésemos un sistema de una gran calidad en la actualidad, pero la gran velocidad a la que avanza el mundo actualmente harían que rápidamente este se quedase obsoleto y por lo tanto resultará inútil. Para solucionar estos problemas los expertos recurren a mecanismos de razonamiento que sirven para modificar los conocimientos anteriores. Viendo esto podemos llegar a la conclusión de que los sistemas expertos, en muchos campos no intentan substituir a los expertos humanos, sino que lo que se persigue es realizar con más rapidez y eficacia todas las tareas que realiza. Debido a esto en la actualidad se están mezclando diferentes técnicas o aplicaciones aprovechando las ventajas que cada una de estas ofrece para poder tener empresas más seguras. Un ejemplo de estas técnicas sería los agentes que tienen la capacidad de negociar y navegar a través de recursos en línea; y es por eso que en la actualidad juega un papel preponderante en los sistemas expertos.

Una vez definidos con exactitud los objetivos que se persiguen con la utilización de los sistemas expertos sería interesante establecer en qué elementos se divide un sistema experto. Así pues podemos ver que según lo explicado hasta ahora existe en un primer lugar una base de conocimientos, que básicamente es donde se almacenara el conocimiento que tenga el experto sobre el tema que tratará. Aquí es donde se ve claramente que si se quisiese abarcar una gran cantidad de temas de conocimiento esto aumentaría desmesuradamente provocando o bien que el tamaño de la información lo hiciese intratable, o por otro lado que el ser coherentes con el tamaño utilizado nos llevase a penalizar la cantidad de conocimiento que tenemos del tema y por lo tanto obtener como resultado un experto mediocre. En segundo lugar tenemos una base de hechos, que será donde se irán almacenando todas aquellas deducciones que se vayan realizando en el proceso de inferencia. Una vez tenemos estos dos elementos, el siguiente paso lógico es tener un elemento que se encargue de a partir de los hechos y del conocimiento para ir generando conclusiones, más hechos, para ir siguiendo un proceso de razonamiento que le lleve a la solución final; estamos hablando de un motor de inferencia. Lo podríamos resumir en el elemento que modela el razonamiento humano. Por último, tenemos la interfaz con el usuario. Este, puesto que no es un elemento puramente del sistema de razonamiento tiene una gran importancia, ya que será la puerta de entrada del sistema. Su importancia recae principalmente en la forma que tendrá de recoger la información del usuario, ya que si la información recogida no es la adecuada, por muy buen motor de inferencia y reglas que tengamos, el resultado no será satisfactorio. Es por eso de la importancia de esta interfaz.

Habiendo definido perfectamente qué es un sistema experto y las partes que lo componen, el siguiente paso lógico seria comentar que tipos de sistemas existen y más concretamente que tipo de sistema deductivo utilizan para poder llegar a la conclusión. Utilizando esto último podríamos dividirlos en 3 tipos bien diferenciados:

SE basados en reglas

Los sistemas expertos basados en reglas se utilizan para el proceso de inferencia de un conjunto de reglas que constituyen la base de conocimiento del experto. Este conjunto de reglas pueden ser activadas a medida que las condiciones son evaluadas positivamente y su utilización implica la creación de nuevos hechos. Este proceso permitirá a partir de unos hechos iniciales desarrollar un proceso deductivo que concluirá el momento en que no quede ninguna otra regla por utilizar.

Para realizar este tipo de tratamiento es posible hacerlo de dos maneras diferentes, por un lado realizarlo desde las evidencias hasta los objetivos (Forward chaining) o por otro lado en orden inverso que seria comenzar desde el objetivo hasta llegar al conjunto de evidencias que lo han provocado (Backward chaining).

SE basados en redes bayesianas Este otro tipo de sistema experto basa su funcionamiento como su nombre propio indica en las redes bayesianas. Así pues se trata de un modelo probabilístico que relaciona un conjunto de variables aleatorias mediante un grafo dirigido. El motor de inferencia que utiliza para procesar las evidencias se basa en la teoría de probabilidades y más concretamente con el Teorema de Bayes. Este método es especialmente una herramienta extremadamente útil en la estimación de probabilidades ante nuevas evidencias.

SE basados en casos Este último tipo de sistema experto será el que procederemos a explicar en este trabajo y analizaremos con más detalle en los siguientes apartados. Es importante este primer capítulo del trabajo para hacer ver el contexto en que se encuentra este tipo de sistema experto y poder entender con mayor profundidad el modo con el que trabaja.

A grandes rasgos, este tipo de sistemas basa su funcionamiento en experiencias anteriormente vividas, ya sea por el propio sistema o bien por la persona experta, y a partir de este conocimiento de vivencias realizar una asociación con estas experiencias para extraer una solución de esto. Como podemos ver de los tres métodos existentes, este es el que más se asemeja al modo de pensar que tenemos los seres humanos. Si nos ponemos a pensar en los niños pequeños, el tipo de razonamiento que utilizan es el basado en las experiencias que le proporciona su trato con el medio. Un ejemplo relacionado con esto sería que cuando un niño está en la cocina y toca una olla puesta en el fuego y se quema, habrá adquirido una nueva experiencia. Si otro día ve una olla en el fuego ya no la tocará porque tendrá esa experiencia. Aun así podría tener la experiencia de ver a su madre coger esa olla con los paños de cocina. De todo ese conjunto de experiencias, el niño, la siguiente vez que quisiese tocar una olla sabría que si quiere hacerlo debería servirse de paños para no quemarse. Este es un claro ejemplo del funcionamiento del razonamiento basado en casos. Podemos ver cómo el niño pequeño a través de vivencias anteriores, tanto si se trata de errores como de aciertos, adquiere experiencias que utilizará cuando tenga que enfrentarse a una nueva situación y que constituirán su nueva base de razonamiento. Esto es una pequeña introducción del funcionamiento. A continuación se hará una explicación mucho más detallada de su funcionamiento, así como de las diversas posibilidades que ofrece.

Definición

En este capítulo comenzaremos a explicar uno de los tipos de sistema experto que existen: el razonamiento basado en casos o case based reasoning (CBR). La mejor forma para comenzar a entender una palabra es intentando entender su significado, es por eso que comenzaremos analizando su definición:

“A case is a contextualized piece of knowledge representing an experience that teaches a lesson fundamental to achieving the goals of the reasoner”, [Kolodner, 1993]

Como podéis ver el análisis de la expresión se hace directamente del inglés y esto viene motivada directamente por el hecho de que la propia traducción puede hacer perder parte del significado de la definición, cosa que perjudicaría su análisis.