Sistemas expertos: Estructura y Desarrollo

Sistemas expertos: Estructura y Desarrollo

Un sistema experto (SE) es un programa que está diseñado para resolver problemas dentro de un dominio especializado que normalmente requiere un experto humano. Al imitar el pensamiento de los expertos humanos, el sistema puede realizar el análisis, diseño o monitoreo, tomar decisiones y más.

De hecho, estos sistemas se construyeron hace mucho tiempo y fueron la primera implicación exitosa de la Inteligencia Artificial. Pero debido al pobre desarrollo de la IA, la PNL, los sistemas expertos no estuvieron a la altura de las expectativas del mundo empresarial y el término en sí se ha quedado fuera del léxico del mundo de las TI.

Pero ahora, con el rápido desarrollo y los avances destacados de la inteligencia artificial, el aprendizaje automático, el aprendizaje profundo y el procesamiento del lenguaje natural, estamos a viendo su regreso. Dicho esto, conozcamos la estructura que conforma a un sistema experto y cuáles son las aplicaciones que puede tener. 

Estructura 

Un sistema experto consta principalmente de tres componentes:

  • Interfaz de usuario
  • Máquina de inferencia
  • Base de conocimientos

Interfaz de usuario

Con la ayuda de una interfaz de usuario, el sistema experto interactúa con el usuario, toma las consultas como una entrada en un formato legible y las pasa al motor de inferencia.

Después de obtener la respuesta del motor de inferencia, muestra la salida al usuario. En otras palabras, es una interfaz que ayuda a un usuario no experto a comunicarse con el sistema experto para encontrar una solución.

Motor de inferencia (reglas del motor)

El motor de inferencia se conoce como el cerebro del sistema experto, ya que es la principal unidad de procesamiento del sistema. Aplica reglas de inferencia a la base de conocimientos para derivar una conclusión o deducir nueva información.

Ayuda a obtener una solución sin errores de las consultas realizadas por el usuario. Con la ayuda de un motor de inferencia, el sistema extrae el conocimiento de la base de conocimientos.

Hay dos tipos de motor de inferencia:

Motor de inferencia determinista: se supone que las conclusiones extraídas de este tipo de motor de inferencia son verdaderas. Se basa en hechos y reglas.

Motor de inferencia probabilístico: este tipo de motor de inferencia contiene incertidumbre en las conclusiones y se basa en la probabilidad.

El motor de inferencia utiliza los siguientes modos para derivar las soluciones:

Encadenamiento hacia adelante: parte de los hechos y reglas conocidos, y aplica las reglas de inferencia para agregar su conclusión a los hechos conocidos.

Encadenamiento hacia atrás: es un método de razonamiento hacia atrás que comienza desde la meta y trabaja hacia atrás para probar los hechos conocidos.

Base de conocimientos

La base de conocimiento es un tipo de almacenamiento que almacena el conocimiento adquirido de los diferentes expertos del dominio en particular. Se considera como un gran almacenamiento de conocimiento.

Cuanto mayor sea la base de conocimientos, más preciso será el sistema experto. Es similar a una base de datos que contiene información y reglas de un dominio o tema en particular.

También se puede ver la base de conocimientos como colecciones de objetos y sus atributos. Por ejemplo, un león es un objeto y sus atributos son un mamífero, no un animal doméstico, etc.

Componentes de la base de conocimientos

Conocimiento fáctico: el conocimiento que se basa en hechos y es aceptado por los ingenieros del conocimiento se incluye en el conocimiento fáctico.

Conocimiento heurístico: este conocimiento se basa en la práctica, la capacidad de adivinar, evaluar y experimentar.

Representación del conocimiento: se utiliza para formalizar el conocimiento almacenado en la base de conocimiento utilizando las reglas If-else.

Adquisición de conocimiento: es el proceso de extraer, organizar y estructurar el conocimiento del dominio, especificando las reglas para adquirir el conocimiento de varios expertos y almacenar ese conocimiento en la base de conocimiento.

Aplicaciones

Solicitud

Descripción

Dominio de diseño

Diseño de lentes de cámara, diseño de automóviles.

Dominio médico

Sistemas de diagnóstico para deducir la causa de la enfermedad a partir de datos observados, realización de operaciones médicas en humanos.

Sistemas de monitoreo

Comparar datos continuamente con el sistema observado o con el comportamiento prescrito, como el control de fugas en una tubería de petróleo larga.

Sistemas de control de procesos

Controlar un proceso físico basado en la monitorización.

Dominio del conocimiento

Descubrimiento de fallas en vehículos, computadoras.

Finanzas / Comercio

Detección de posibles fraudes, transacciones sospechosas, negociación bursátil, programación de aerolíneas, programación de carga.

 

Beneficios de los sistemas expertos

  • Disponibilidad: están fácilmente disponibles debido a la producción masiva de software.
  • Menor costo de producción: el costo de producción es razonable. Esto los hace asequibles.
  • Velocidad: ofrecen una gran velocidad. Reducen la cantidad de trabajo que realiza una persona.
  • Menos tasa de errores: la tasa de errores es baja en comparación con los errores humanos.
  • Reducción del riesgo: pueden trabajar en un entorno peligroso para los humanos.
  • Respuesta constante: funcionan de manera constante sin moverse, tensarse o fatigarse.

Desarrollo de sistemas expertos: pasos generales

El proceso de desarrollo de SE es iterativo. Los pasos para desarrollar el EE incluyen:

Identificar el dominio del problema

  • El problema debe ser adecuado para que un sistema experto lo resuelva.
  • Encuentra a los expertos en el dominio de tareas para el proyecto SE.
  • Establecer la rentabilidad del sistema.

Diseñar el sistema

  • Identificar la tecnología SE
  • Conocer y establecer el grado de integración con el resto de sistemas y bases de datos.
  • Darse cuenta de cómo los conceptos pueden representar mejor el conocimiento del dominio.

Desarrollar el prototipo

De la base de conocimientos: el ingeniero del conocimiento trabaja para:

  • Adquirir conocimientos de dominio del experto.
  • Represéntelo en forma de reglas If-THEN-ELSE.

Prueba y perfeccionamiento del prototipo

  • El ingeniero del conocimiento utiliza casos de muestra para probar el prototipo en busca de deficiencias en el rendimiento.
  • Los usuarios finales prueban los prototipos del SE.

Desarrollar y completar el SE

  • Probar y asegurar la interacción del SE con todos los elementos de su entorno, incluidos los usuarios finales, las bases de datos y otros sistemas de información.
  • Documentar bien el proyecto de SE.
  • Entrenar al usuario para usar SE.

Mantener el sistema

  • Mantener la base de conocimientos actualizada mediante revisiones y actualizaciones periódicas.
  • Abordar nuevas interfaces con otros sistemas de información a medida que esos sistemas evolucionen.