Arquitectura de un Sistema Experto

22 Mar

La estructura de un Sistema experto está organizada alrededor de 3 elementos principales: Base de conocimiento, Motor de inferencia y Base de hechos.
Pero para asegurar el diálogo entre el hombre y la máquina se requiere los siguientes:

1. La Componente Humana
Un sistema experto es generalmente el resultado de la colaboracion de uno o varios expertos humanos especialistas en el tema de estudio y los ingenieros del conocimiento, con los usuarios en mente. Los expertos humanos suministran el conocimiento basico en el tema de interes, y los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema experto pueda entender. Esta etapa requiere una enorme dedicacion y un gran esfuerzo debido a los diferentes lenguajes que hablan las distintas partes y a las diferentes experiencias que tienen.
2. La Base de Conocimiento
Los especialistas son responsables de suministrar a los ingenieros del conocimiento una base de conocimiento ordenada y estructurada, y un conjunto de relaciones bien definidas y explicadas. Esta forma estructurada de pensar requiere que los expertos humanos repiensen, reorganicen, y reestructuren la base de conocimiento y, como resultado, el especialista se convierte en un mejor conocedor de su propio campo de especialidad.
Pero hay que diferenciar entre datos y conocimiento, el conocimiento se refiere a afirmaciones de validez general tales como reglas, distribuciones de probabilidad, etc. y los datos se refieren a la informacion relacionada con una aplicacion particular. Por ejemplo, en diagnostico medico, los sıntomas, las enfermedades y las relaciones entre ellos, forman parte del conocimiento, mientras los sıntomas particulares de un paciente dado forman parte de los datos. Mientras el conocimiento es permanente, los datos son efımeros, es decir, no forman parte de la componente permanente de un sistema y son destruıdos despues de usarlos. El conocimiento se almacena en la base de conocimiento y los datos se alma cenan en la memoria de trabajo. Todos los procedimientos de los diferentes sistemas y subsistemas que son de carácter transitorio se almacenan tambien en la memoria de trabajo.
3. Subsistema de Adquisicion de Conocimiento
El subsistema de adquisicion de conocimiento controla el flujo del nuevo conocimiento que fluye del experto humano a la base de datos. El sistema determina que nuevo conocimiento se necesita, o si el conocimiento recibido es en realidad nuevo, es decir, si debe incluirse en la base de datos y, en caso necesario, incorpora estos conocimientos a la misma.
4. Control de la Coherencia
El subsistema de control de la coherencia ha aparecido en los sistemas expertos muy recientemente, pero es una componente esencial de  un sistema experto. Este susbsistema controla la consistencia de la base de datos y evita que unidades de conocimiento inconsistentes entren en la misma. Sin un subsistema de control de la coherencia, unidades de conocimiento contradictorio pueden formar parte de la base de conocimiento, dando lugar a un comportamiento insatisfactorio del sistema. Es tambien bastante comun, especialmente en sistemas con mecanismos de propagacion de incertidumbre, que se llegue a conclusiones absurdas o en conflicto como, por ello, el subsistema de control de la coherencia comprueba e informa a los expertos de las inconsistencias. Por otra parte, cuando se solicita informacion de los expertos humanos, este subsistema informa sobre las restricciones que esta debe cumplir para ser coherente con la existente en la base de conocimiento. De esta forma, ayuda a los expertos humanos a dar informacion fiable.
5. El Motor de Inferencia
El motor de inferencia es el corazon de todo sistema experto. El cometido principal de esta componente es el de sacar conclusiones aplicando el conocimiento a los datos. Por ejemplo, en diagnostico medico, los sıntomas de un paciente (datos) son analizados a la luz de los sıntomas y las enfermedades y de sus relaciones (conocimiento). Las conclusiones del motor de inferencia pueden estar basadas en conocimiento determinista o conocimiento probabilıstico. Como puede esperarse, el tratamiento de situaciones de incertidumbre (probabilısticas) puede ser considerablemente mas difıcil que el tratamiento de situaciones ciertas (deterministas).
En muchos casos, algunos hechos (datos) no se conocen con absoluta certeza. Por ejemplo, piensese en un paciente que no esta seguro de sus sıntomas. En los sistemas expertos basados en probabilidad, la propagacion de incertidumbre es la tarea principal del motor de inferencia, que permite sacar conclusiones bajo incertidumbre. Esta tarea es tan compleja que da lugar a que esta sea probablemente la componente mas debil de casi todos los sistemas expertos existentes.
6. El Subsistema de Adquisicion de Conocimiento
Si el conocimiento inicial es muy limitado y no se pueden sacar conclusiones, el motor de inferencia utiliza el subsistema de adquisicion de conocimiento para obtener el conocimiento necesario y continuar con el proceso de inferencia hasta que se hayan sacado conclusiones. En algunos casos, el usuario puede suministrar la informacion requerida para este y otros objetivos. De ello resulta la necesidad de una interfase de usuario y de una comprobación de la consistencia de la informacion suministrada por el usuario antes de introducirla en la memoria de trabajo.
7. Interfase de Usuario
La interfase de usuario es el enlace entre el sistema experto y el usuario. Por ello, para que un sistema experto sea una herramienta efectiva, debe incorporar mecanismos eficientes para mostrar y obtener informacion de forma facil y agradable. Un ejemplo de la informacion que tiene que ser mostrada tras el trabajo del motor de inferencia, es el de las conclusiones, las razones que expliquen tales conclusiones y una explicacion de las acciones iniciadas por el sistema experto. Por otra parte, cuando el motor de inferencia no puede concluir debido, por ejemplo, a la ausencia de informacion, la interfase de usuario es un vehıculo para obtener la información necesaria del usuario. Consecuentemente, una implementacion inadecuada de la interfase de usuario que no facilite este proceso minarıa notablemente la calidad de un sistema experto. Otra razon de la importancia de la interfase de usuario es que los usuarios evaluan comunmente los sistemas expertos y otros sistemas por la calidad de dicha interfase mas que por la del sistema experto mismo, aunque no se deberıa juzgar la calidad de un libro por su portada.
8. El Subsistema de Ejecucion de  Ordenes
El subsistema de ejecucion de ordenes es la componente que permite al sistema experto iniciar acciones. Estas acciones se basan en las conclusiones sacadas por el motor de inferencia. Como ejemplos, un sistema experto diseñado para analizar el trafico ferroviario puede decidir retrasar o parar ciertos trenes para optimizar el trafico global, o un sistema para controlar una central nuclear puede abrir o cerrar ciertas valvulas, mover barras, etc., para evitar un accidente. La explicacion de las razones por las que se inician estas acciones pueden darse al usuario mediante el subsistema de explicacion.
9. El Subsistema de Explicacion
El usuario puede pedir una explicacion de las conclusiones sacadas o de las acciones iniciadas por el sistema experto. Por ello, es necesario un subsistema que explique el proceso seguido por el motor de inferencia o por el subsistema de ejecucion. Por ejemplo, si un cajero automatico decide rechazar la palabra clave (una accion), la maquina puede mostrar un mensaje (una explicacion) como la siguiente:
¡Lo siento!, su palabra clave es todavıa incorrecta tras tres intentos.
Retenemos su tarjeta de credito, para garantizar su seguridad.
Por favor, pongase en contacto con su banco en horas de oficina.
En muchos dominios de aplicaciones, es necesaria la explicacion de las conclusiones debido a los riesgos asociados con las acciones a ejecutar. Por ejemplo, en el campo del diagnostico medico, los doctores son responsables ultimos de los diagnosticos, independientemente de las herramientas tecnicas utilizadas para sacar conclusiones. En estas situaciones, sin un subsistema de explicacion, los doctores pueden no ser capaces de explicar a sus pacientes las razones de su diagnostico.
10. El Subsistema de Aprendizaje
Una de las principales caracterısticas de un sistema experto es su capacidad para aprender. Diferenciaremos entre aprendizaje estructural y aprendizaje parametrico. Por aprendizaje estructural nos referimos a algunos aspectos relacionados con la estructura del conocimiento (reglas, distribuciones de probabilidad, etc.). Por ello, el descubrimiento de nuevos sıntomas relevantes para una enfermedad o la inclusion de una nueva regla en la base de conocimiento son ejemplos de aprendizaje estructural. Por aprendizaje parametrico nos referimos a estimar los parametros necesarios para construir la base de conocimiento. Por ello, la estimacion de frecuencias o probabilidades asociadas a sıntomas o enfermedades es un ejemplo de aprendizaje parametrico.
Otra caracterıstica de los sistemas expertos es su habilidad para obtener experiencia a partir de los datos disponibles. Estos datos pueden ser obtenidos por expertos y no expertos y pueden utilizarse por el subsistema de adquisicion de conocimiento y por el subsistema de aprendizaje.

ENLACES

Sistemas Expertos y Modelos de Redes Probabilísticas

Teoría de Sistemas Expertos

1. La Componente Humana
Un sistema experto es generalmente el resultado de la colaboracion de uno o varios expertos humanos especialistas en el tema de estudio y los ingenieros del conocimiento, con los usuarios en mente. Los expertos humanos suministran el conocimiento basico en el tema de interes, y los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema experto pueda entender. La colaboracion de los expertos humanos, los ingenieros del conocimiento y los usuarios es, quizas, el elemento mas importante en el desarrollo de un sistema experto. Esta etapa requiere una enorme dedicacion y un gran esfuerzo debido a los diferentes lenguajes que hablan las distintas partes y a las diferentes experiencias que tienen.
2. La Base de Conocimiento
Los especialistas son responsables de suministrar a los ingenieros del conocimiento una base de conocimiento ordenada y estructurada, y un conjunto de relaciones bien definidas y explicadas. Esta forma estructurada de pensar requiere que los expertos humanos repiensen, reorganicen, y reestructuren la base de conocimiento y, como resultado, el especialista se convierte en un mejor conocedor de su propio campo de especialidad.
Hay que diferenciar entre datos y conocimiento. El conocimiento se refiere a afirmaciones de validez general tales como reglas, distribuciones de probabilidad, etc. Los datos se refieren a la informacion relacionada con una aplicacion particular. Por ejemplo, en diagnostico medico, los sıntomas, las enfermedades y las relaciones entre ellos, forman parte del conocimiento, mientras los sıntomas particulares de un paciente dado forman parte de los datos. Mientras el conocimiento es permanente, los datos son efımeros, es decir, no forman parte de la componente permanente de un sistema y son destruıdos despues de usarlos. El conocimiento se almacena en la base de conocimiento y los datos se almacenan en la memoria de trabajo. Todos los procedimientos de los diferentes sistemas y subsistemas que son de carácter transitorio se almacenan tambien en la memoria de trabajo.
3. Subsistema de Adquisicion de Conocimiento
El subsistema de adquisicion de conocimiento controla el flujo del nuevo conocimiento que fluye del experto humano a la base de datos. El sistema determina que nuevo conocimiento se necesita, o si el conocimiento recibido es en realidad nuevo, es decir, si debe incluirse en la base de datos y, en caso necesario, incorpora estos conocimientos a la misma.
4. Control de la Coherencia
El subsistema de control de la coherencia ha aparecido en los sistemas expertos muy recientemente. Sin embargo, es una componente esencial de  un sistema experto. Este susbsistema controla la consistencia de la base de datos y evita que unidades de conocimiento inconsistentes entren en la misma. En situaciones complejas incluso un experto humano puede formular afirmaciones inconsistentes. Por ello, sin un subsistema de control de la coherencia, unidades de conocimiento contradictorio pueden formar parte de la base de conocimiento, dando lugar a un comportamiento insatisfactorio del sistema. Es tambien bastante comun, especialmente en sistemas con mecanismos de propagacion de incertidumbre, que se llegue a conclusiones absurdas o en conflicto como, por ejemplo, situaciones en las que el sistema genera probabilidades mayores que la unidad o negativas. Por ello, el subsistema de control de la coherencia comprueba e informa a los expertos de las inconsistencias. Por otra parte, cuando se solicita informacion de los expertos humanos, este subsistema informa sobre las restricciones que esta debe cumplir para ser coherente con la existente en la base de conocimiento.
De esta forma, ayuda a los expertos humanos a dar informacion fiable.
5. El Motor de Inferencia
El motor de inferencia es el corazon de todo sistema experto. El cometido principal de esta componente es el de sacar conclusiones aplicando el conocimiento a los datos. Por ejemplo, en diagnostico medico, los sıntomas de un paciente (datos) son analizados a la luz de los sıntomas y las enfermedades y de sus relaciones (conocimiento).
Las conclusiones del motor de inferencia pueden estar basadas en conocimiento determinista o conocimiento probabilıstico. Como puede esperarse, el tratamiento de situaciones de incertidumbre (probabilısticas) puede ser considerablemente mas difıcil que el tratamiento de situaciones ciertas (deterministas).
En muchos casos, algunos hechos (datos) no se conocen con absoluta certeza. Por ejemplo, piensese en un paciente que no esta seguro de sus sıntomas. Puede darse el caso de tener que trabajar con conocimiento de tipo no determinista, es decir, de casos en los que se dispone solo de informacion aleatoria o difusa. El motor de inferencia es tambien responsable de la propagacion de este conocimiento incierto. De hecho, en los sistemas expertos basados en probabilidad, la propagacion de incertidumbre es la tarea principal del motor de inferencia, que permite sacar conclusiones bajo incertidumbre. Esta tarea es tan compleja que da lugar a que esta sea probablemente la componente mas debil de casi todos los sistemas expertos existentes. Por esta razon, la mayor parte de este libro se dedica al analisis y resolucion del problema de la propagacion de incertidumbre.
6. El Subsistema de Adquisicion de Conocimiento
Si el conocimiento inicial es muy limitado y no se pueden sacar conclusiones, el motor de inferencia utiliza el subsistema de adquisicion de conocimiento para obtener el conocimiento necesario y continuar con el proceso de inferencia hasta que se hayan sacado conclusiones. En algunos casos, el usuario puede suministrar la informacion requerida para este y otros objetivos. De ello resulta la necesidad de una interfase de usuario y de una comprobación de la consistencia de la informacion suministrada por el usuario antes de introducirla en la memoria de trabajo.
7. Interfase de Usuario
La interfase de usuario es el enlace entre el sistema experto y el usuario. Por ello, para que un sistema experto sea una herramienta efectiva, debe incorporar mecanismos eficientes para mostrar y obtener informacion de forma facil y agradable. Un ejemplo de la informacion que tiene que ser mostrada tras el trabajo del motor de inferencia, es el de las conclusiones, las razones que expliquen tales conclusiones y una explicacion de las acciones iniciadas por el sistema experto. Por otra parte, cuando el motor de inferencia no puede concluir debido, por ejemplo, a la ausencia de informacion, la interfase de usuario es un vehıculo para obtener la información necesaria del usuario. Consecuentemente, una implementacion inadecuada de la interfase de usuario que no facilite este proceso minarıa notablemente la calidad de un sistema experto. Otra razon de la importancia de la interfase de usuario es que los usuarios evaluan comunmente los sistemas
expertos y otros sistemas por la calidad de dicha interfase mas que por la del sistema experto mismo, aunque no se deberıa juzgar la calidad de un libro por su portada. Los lectores que esten interesados en el dise˜no de una interfase de usuario pueden consultar los libros de Shneiderman (1987) y Brown y Cunningham (1989).
8. El Subsistema de Ejecucion de  Ordenes
El subsistema de ejecucion de ordenes es la componente que permite al sistema experto iniciar acciones. Estas acciones se basan en las conclusiones sacadas por el motor de inferencia. Como ejemplos, un sistema experto disenado para analizar el trafico ferroviario puede decidir retrasar o parar ciertos trenes para optimizar el trafico global, o un sistema para controlar una central nuclear puede abrir o cerrar ciertas valvulas, mover barras, etc., para evitar un accidente. La explicacion de las razones por las que se inician estas acciones pueden darse al usuario mediante el subsistema de explicacion.
9. El Subsistema de Explicacion
El usuario puede pedir una explicacion de las conclusiones sacadas o de las acciones iniciadas por el sistema experto. Por ello, es necesario un subsistema que explique el proceso seguido por el motor de inferencia o por el subsistema de ejecucion. Por ejemplo, si un cajero automatico decide rechazar la palabra clave (una accion), la maquina puede mostrar un mensaje (una explicacion) como la siguiente:
¡Lo siento!, su palabra clave es todavıa incorrecta tras tres intentos.
Retenemos su tarjeta de credito, para garantizar su seguridad.
Por favor, pongase en contacto con su banco en horas de oficina.
En muchos dominios de aplicaciones, es necesaria la explicacion de las conclusiones debido a los riesgos asociados con las acciones a ejecutar. Por ejemplo, en el campo del diagnostico medico, los doctores son responsables ultimos de los diagnosticos, independientemente de las herramientas tecnicas utilizadas para sacar conclusiones. En estas situaciones, sin un subsistema de explicacion, los doctores pueden no ser capaces de explicar a sus pacientes las razones de su diagnostico.
10. El Subsistema de Aprendizaje
Una de las principales caracterısticas de un sistema experto es su capacidad para aprender. Diferenciaremos entre aprendizaje estructural y aprendizaje parametrico. Por aprendizaje estructural nos referimos a algunos aspectos relacionados con la estructura del conocimiento (reglas, distribuciones de probabilidad, etc.). Por ello, el descubrimiento de nuevos sıntomas relevantes para una enfermedad o la inclusion de una nueva regla en la base de conocimiento son ejemplos de aprendizaje estructural. Por aprendizaje parametrico nos referimos a estimar los parametros necesarios para construir la base de conocimiento. Por ello, la estimacion de frecuencias o probabilidades asociadas a sıntomas o enfermedades es un ejemplo de aprendizaje
parametrico.
Otra caracterıstica de los sistemas expertos es su habilidad para obtener experiencia a partir de los datos disponibles. Estos datos pueden ser obtenidos por expertos y no expertos y pueden utilizarse por el subsistema de adquisicion de conocimiento y por el subsistema de aprendizaje.
De las componentes antes mencionadas puede verse que los sistemas expertos pueden realizar varias tareas. Estas tareas incluyen, pero no se limitan a, las siguientes:
• Adquisicion de conocimiento y la verificacion de su coherencia; por lo que el sistema experto puede ayudar a los expertos humanos a dar conocimiento coherente.
• Almacenar (memorizar) conocimiento.
• Preguntar cuando se requiere nuevo conocimiento.
• Aprender de la base de conocimiento y de los datos disponibles.
• Realizar inferencia y razonamiento en situaciones deterministas y de incertidumbre.
• Explicar conclusiones o acciones tomadas.
• Comunicar con los expertos y no expertos humanos y con otros sistemas expertos.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: