
¿Qué son los sistemas expertos?
Los sistemas expertos se definen como sistemas informáticos que emulan la capacidad de toma de decisiones de un experto humano en un ámbito particular. Utilizan estrategias heurísticas y hechos para resolver problemas complejos de toma de decisiones de forma confiable e interactiva.
Su diseño se basa en el razonamiento mediante bases de conocimiento. En lugar de representarse con un código basado en procedimientos, lo hacen con reglas del tipo Si-Entonces.
Son capaces de expresarse y razonar sobre algún ámbito del conocimiento, lo que les permite resolver muchos problemas que requerirían de un experto humano. Estos sistemas precedieron los sistemas actuales de inteligencia artificial, aprendizaje profundo y aprendizaje automático.
Un sistema experto no puede sustituir el desempeño general de un trabajador en la tarea de resolución de problemas. Sin embargo, reducen drásticamente el trabajo que el individuo debe hacer para resolver un problema, dejándole los aspectos creativos e innovadores de la resolución de problemas.
Han jugado un papel importante en muchas industrias, como servicios financieros, telecomunicaciones, atención médica, servicio al cliente, videojuegos y manufactura.
Historia de los sistemas expertos
- Desarrollos iniciales. A fines de los 50 se comenzó a experimentar con la posibilidad de usar tecnología informática para emular la toma de decisiones de los humanos. Por ejemplo, se comenzaron a crear sistemas asistidos por computadora para aplicaciones de diagnóstico en medicina. Estos sistemas iniciales de diagnóstico ingresaban al sistema síntomas de los pacientes y resultados de las pruebas de laboratorio, para generar un diagnóstico. Estas fueron las primeras formas de sistemas expertos.
- Principales desarrollos. A comienzos de los 60 se desarrollaron programas que resolvían problemas definidos. Por ejemplo, juegos o traducciones automáticas. Estos programas requerían técnicas de razonamiento inteligente para manejar los problemas lógicos y matemáticos que se presentaban, pero no requerían mucho conocimiento adicional. Los investigadores comenzaron a advertir que para resolver muchos problemas interesantes, los programas no solo debían ser capaces de interpretar los problemas, sino que también necesitaban conocimientos básicos para comprenderlos completamente. Esto condujo gradualmente al desarrollo de sistemas expertos enfocados más en el conocimiento. El concepto de sistemas expertos fue desarrollado formalmente en 1965 por Edward Feigenbaum, profesor de la Universidad de Stanford, EE.UU. Feigenbaum explicaba que el mundo estaba pasando del procesamiento de datos al procesamiento del conocimiento, gracias a la nueva tecnología de procesadores y arquitecturas informáticas.
- Dendral. A finales de los 60 se desarrolló uno de los primeros sistemas expertos, llamado Dendral, abordando el análisis de compuestos químicos. El conocimiento de Dendral consistía en cientos de reglas que describían las interacciones de los compuestos químicos. Estas reglas fueron el resultado de años de colaboración entre químicos e informáticos.
- Madurez. Los sistemas expertos comenzaron a proliferar en los 80. Gran cantidad de las compañías Fortune 500 aplicaban esta tecnología en sus actividades comerciales diarias. En los 90, muchos proveedores de aplicaciones empresariales, como Oracle y SAP, integraron en su conjunto de productos las capacidades de los sistemas expertos, como una forma de explicar la lógica empresarial.
Características de los sistemas expertos
– Nivel de experiencia. Un sistema experto debe ofrecer el nivel de experiencia más alto. Proporciona eficiencia, precisión y resolución imaginativa de los problemas.
– Reacción a tiempo. El usuario interactúa con el sistema experto durante un tiempo prudencial. El tiempo de esta interacción debe ser menor que el que un experto se tomaría para el mismo problema.
– Confiabilidad. El sistema experto debe tener buena confiabilidad. Para ello, no debe cometer ningún tipo de error.
– Mecanismo efectivo. El mecanismo es eficiente para administrar el compendio de conocimientos existentes en él.
– Maneja problemas. Es capaz de manejar problemas desafiantes y tomar decisiones adecuadas para brindar soluciones.
– Base de conocimiento. Es una colección organizada de datos correspondientes al ámbito de experiencia del sistema. A través de entrevistas y observaciones a expertos humanos deben tomarse los hechos que conforman la base de conocimiento.
– Motor de inferencia. Interpreta y evalúa los hechos en la base de conocimiento mediante reglas, para proporcionar una recomendación o conclusión. Este conocimiento se representa en forma de reglas de producción Si-Entonces: “Si una condición es verdadera, entonces se puede hacer la siguiente deducción”.
– Conclusiones. Con frecuencia se adjunta un factor de probabilidad a la conclusión de cada regla de producción y a la recomendación final, porque la conclusión a la que se llega no es una certeza absoluta. Por ejemplo, un sistema experto podría indicar, para el diagnóstico de enfermedades oculares, según la información proporcionada, que una persona tiene glaucoma con una probabilidad de 90%. Además, se puede mostrar la secuencia de reglas a través de las cuales se llegó a la conclusión. El seguimiento de esta cadena ayuda a evaluar la credibilidad de la recomendación y es útil como herramienta de aprendizaje.
Tipos de sistemas expertos
- Basado en reglas. El conocimiento se representa como un conjunto de reglas. La regla es una forma directa y flexible de expresar el conocimiento. Consta de dos partes: la parte “Si”, llamada condición, y la parte “Entonces”, llamada deducción. La sintaxis básica de una regla es: Si (condición) Entonces (deducción).
- Basado en lógica difusa. Cuando se quiere expresar un conocimiento utilizando palabras vagas como “muy reducido”, “moderadamente difícil”, “no tan viejo”, se puede usar la lógica difusa. Esta lógica se utiliza para describir una definición imprecisa. Se basa en la idea de que todas las cosas se describen en una escala variable. La lógica clásica opera con dos valores de certeza: Verdadero (1) y Falso (0). En la lógica difusa, todos los valores de certeza se expresan con números reales dentro del intervalo entre 0 y 1. Representa el conocimiento basado en un grado de veracidad, en lugar de la veracidad absoluta de la lógica clásica.
- Neuronal. Con las ventajas del sistema experto basado en reglas se combinan también las ventajas de la red neuronal, como el aprendizaje, la generalización, la solidez y el procesamiento paralelo de información. Este sistema tiene una base de conocimiento neuronal, en lugar de la base de conocimiento tradicional. Los conocimientos se almacenan como pesos en las neuronas. Esta combinación permite que el sistema experto neuronal pueda justificar sus conclusiones.
- Neuronal-difuso. La lógica difusa y las redes neuronales son herramientas complementarias para construir sistemas expertos. Los sistemas difusos carecen de la capacidad de aprender y no pueden adaptarse a un nuevo entorno. Por otro lado, aunque las redes neuronales pueden aprender, su proceso es muy complicado para el usuario. Los sistemas neuronal-difusos combinan las capacidades de computación y aprendizaje de la red neuronal con la representación del conocimiento humano y las habilidades de explicación de los sistemas difusos. Como resultado, las redes neuronales se hacen más transparentes, y el sistema difuso se vuelve capaz de aprender.
Ventajas y desventajas de los sistemas expertos
Ventajas
- Disponibilidad. Los sistemas expertos están disponibles fácilmente, en cualquier parte y a cualquier hora, debido a la producción en masa del software.
- Riesgo reducido. Una compañía puede operar un sistema experto en ambientes peligrosos para los humanos. Se pueden usar en cualquier entorno de riesgo donde los humanos no puedan trabajar.
- Conocimiento empresarial. Pueden convertirse en un vehículo para desarrollar un conocimiento organizacional, en contraste con el conocimiento de los individuos en una empresa.
- Explicación de respuesta. Son capaces de razonar su decisión. Cuando se usan como herramientas de entrenamiento dan como resultado una curva de aprendizaje más rápida para los principiantes.
- Respuesta rápida. Ayuda a obtener respuestas rápidas y precisas. Un sistema experto puede completar las tareas mucho más rápido que un experto humano.
- Tasa de error baja. La tasa de error de los sistemas expertos exitosos es bastante baja, a veces mucho más baja que la tasa de error del ser humano para la misma tarea.
- Respuesta no emotiva. Los sistemas expertos funcionan sin emocionarse. No están tensos, fatigados ni entran en pánico, y trabajan de manera constante en situaciones de emergencia.
- Permanencia del conocimiento. Mantiene un nivel significativo de información. Este conocimiento contenido durará indefinidamente, sin olvidarse.
- Creación rápida de prototipos. Con un sistema experto es posible ingresar algunas reglas y desarrollar un prototipo en días, en lugar de meses o años asociados comúnmente con proyectos complejos de informática.
- Múltiples experiencias. Se puede diseñar para que contenga el conocimiento de muchos expertos calificados y la capacidad de resolver problemas complejos. Esto reduce el gasto de recurrir a expertos consultores para la resolución de problemas. Son un vehículo para obtener fuentes de conocimiento difíciles de conseguir.
Desventajas
- Adquisición de conocimiento. Siempre es difícil obtener el tiempo de los expertos en ámbitos particulares para cualquier aplicación de software, pero para los sistemas expertos es especialmente dificultoso, porque los expertos son altamente valorados y constantemente solicitados por las organizaciones. En consecuencia, una gran cantidad de investigación en los últimos años se ha concentrado en herramientas para la adquisición de conocimiento, que ayuden a automatizar el proceso de diseño, depuración y mantenimiento de las reglas definidas por los expertos.
- Integración de sistemas. La integración de los sistemas con las bases de datos fue difícil para los primeros sistemas expertos, porque las herramientas estaban principalmente en lenguajes y plataformas no conocidas en los entornos corporativos. Como resultado, se hizo un gran esfuerzo para integrar las herramientas de sistemas expertos con entornos heredados, haciendo la transferencia a plataformas más estándares. Estos problemas fueron resueltos principalmente por el cambio de paradigma, ya que las PC fueron aceptadas gradualmente en el entorno informático como una plataforma legítima para el desarrollo de sistemas comerciales serios.
- Complejidad de procesamiento. Al aumentar el tamaño de la base de conocimiento se incrementa la complejidad del procesamiento. Por ejemplo, si un sistema experto tiene 100 millones de reglas es evidente que sería demasiado complejo, y enfrentaría muchos problemas computacionales. Un motor de inferencia tendría que poder procesar un gran número de reglas para tomar una decisión. Cuando hay demasiadas reglas también se complica verificar que estas reglas de decisión sean consistentes entre sí. Igualmente se complica priorizar el uso de las reglas para operar de manera más eficiente, o cómo resolver ambigüedades.
- Actualización del conocimiento. Un problema relacionado con la base de conocimiento es cómo hacer actualizaciones de manera rápida y efectiva. Además, cómo agregar un nuevo conocimiento, es decir, dónde agregarlo entre tantas reglas.
Aplicaciones de los sistemas expertos
- Diagnóstico y solución de problemas. Compendia todos los sistemas que infieren fallas y sugieren acciones correctivas para un proceso o dispositivo que funcione mal. Una de las primeras áreas de conocimiento donde se aplicó la tecnología de sistemas expertos fue el diagnóstico médico. Sin embargo, el diagnóstico de sistemas de ingeniería superó rápidamente al médico. El diagnóstico puede expresarse como: dada la evidencia que se presenta, ¿cuál es el problema, razón o causa subyacente?
- Planificación y programación. Estos sistemas analizan un conjunto de objetivos para determinar un conjunto de acciones que logren esos objetivos, brindando un ordenamiento detallado de esas acciones en el tiempo, considerando los materiales, el personal y otras restricciones. Por ejemplo, la programación de vuelos y personal de las aerolíneas, o la planificación del proceso de fabricación.
- Decisiones financieras. Los sistemas de asesoramiento financiero se crearon para ayudar a los banqueros a determinar si otorgar préstamos a individuos y compañías. Las empresas de seguros utilizan estos sistemas para evaluar el riesgo que el cliente presenta y determinar el precio del seguro.
- Monitoreo y control de procesos. Analizan en tiempo real los datos de aparatos físicos para notar anomalías, predecir tendencias y controlar tanto la optimización como la corrección de fallas. Por ejemplo, las industrias de refinación de petróleo y fabricación de acero.
- Asesoría de conocimiento. La función primordial de esta aplicación es suministrar un conocimiento significativo para el problema del usuario, dentro del entorno de ese problema. A esta categoría pertenecen los dos sistemas expertos que se distribuyen con mayor amplitud por todo el mundo. El primero es un asesor que aconseja al usuario sobre el uso correcto de la gramática en un texto. El segundo es un asesor fiscal adjunto a un sistema para preparar los impuestos. Asesora al usuario sobre la estrategia y políticas fiscales particulares.
Referencias
- Expert System in Artificial Intelligence: What is, Applications, Example. Recuperado de guru99.com.
- Expert system. Recuperado de en.wikipedia.org.
- Expert system. Recuperado de searchenterpriseai.techtarget.com.
- Expert system. Recuperado de britannica.com.
- The Applications of Expert Systems. Recuperado de wtec.org.