Boceto IAN (V2.0)

Creación de Conceptos para una Inteligencia Artificial

(Boceto IAN)

Introducción:

Las formas sintácticas, pueden ser implementadas, para lograr una apariencia de conversación. Existen programas que tienen como meta la creación de IAs con capacidad de mantener una aparente conversación. Pero una conversación es un proceso muy complejo y carente de una finalidad útil y práctica. No tiene sentido dedicar tiempo y recursos a crear sistemas de IA independientes de un proyecto práctico y aplicable. Pero enfocando el desarrollo de un proyecto IA con Objetivos Concretos; la definición de Símbolos y Conceptos, puede resultar clave la para la creación de procesos de IA aplicables a fines prácticos y comerciales.

La utilización de Conceptos ajenos a Objetivos Concretos, está totalmente fuera de lugar y sólo lleva a proyectos poco prácticos, muy complejos e inestables. La parametrización de Conceptos Abstractos y la construcción de Objetivos Concretos, pueden resultar la clave para el desarrollo de proyectos IA viables.

Símbolos y Conceptos:

Símbolos como los emoticons ( :-) / ;-) / :-( ) son agrupaciones de caracteres con significación completa. Como conjuntos de 2 o 3 caracteres, que agrupan en si mismos, una serie de valoraciones muy amplias, pudiendo llegar a considerarse casi como Conceptos absolutos.

:-) <=> Contento

El entorno de uso y la significación del emoticon :-), es fácilmente universalizable dentro de un entorno humano. ¿Pero qué sería lo más próximo a "Contento" dentro de un sistema informático?.

De un plumazo podemos ver que una ejecución sin errores, un buen resultado en las tareas realizadas o un SO funcionando bien; son motivos para que un sistema esté :-).

Como símbolo, los emoticons son un buen punto de partida, en la creación de Conceptos para una IA. Pues están compuestos por caracteres informáticos, podemos parametrizar la definición de los Conceptos que representan (su forma abstracta los hace más asimilables para un sistema informático) y por último, por su universalidad de significado.

Resulta más sencillo parametrizar la definición de "sistema funcionando de forma óptima", que de "zapato rojo". De manera que al utilizar Conceptos abstractos nos es más fácil transcribir en definición parametrizada aquellos símbolos que forman parte de nuestro diccionario de Conceptos.

Puesto que un programa de ordenador no tiene contacto con el mundo físico, las barreras ante la comprensión de elementos del mundo físicos son enormes. Sin embargo, estas barreras disminuyen, cuando abstraemos los Conceptos que en verdad puede ser necesarios para un sistema IA (siempre que se trate de un proyecto de un Objetivo Concreto).

Los Conceptos abstraídos y parametrizados dentro de la IA, deben favorecer una optima interrelación usuario-maquina. De tal manera, que una de las prioridades en la creación de Conceptos IA, será la universalidad semántica del propio Concepto. Universalidad que debe abarcar a todas las personas-usuario, de la época actual, en cualquier lugar del mundo; así como su viable parametrización todos los sistemas informáticos actuales.

De nuevo, los emoticons constituyen buenos ejemplos de Concepto universal maquina-humano:

:-) (<-Contento, buen funcionamiento, sin errores, sin problemas, etc)

XD (<-Muy contento, todos los procesos funcionando con perfecta sincronización o concluidos)

:-( (Sistema mal funcionando o elemento externo produciendo mal función).

;-) (Solicitud de delegación de responsabilidad de un proceso, con certeza de buenos resultados).

Existen miles de Conceptos que pueden encajar estas premisas para construir un sistema usable IA. Pero para un sistema básico inicial, se podrían trabajar los siguientes grupos.

Grandes grupos de Conceptos para el desarrollo de IAN:

- Objeto. Ej :

- Persona.

- Programa.

- Fichero.

- Estado. Ej:

- De Sistema.

- De IA.

- De la relación actual.

- Del proceso actual.

- Accion. Ej:

- Comandos - Acciones.

- Objeto Directo.

- Objeto Indirecto.

- Evento Sistema.

- Flujos de datos.

- Interrelación y aprendizaje. Ej:

- Comprensión. (Explicación => Concepto Acción)

- Síntesis. (Conceptos + Estados => Texto humano)

- Feedback.

- Confirmación.

- Forma (Saludos y despedidas).

- Informes. Flujos de datos. Ej:

- Errores.

- Procesos.

- Estados

- Históricos.

- de Aprendizaje.

Conceptos de Estado:

Directamente ligados a los Conceptos comunicativos de una IA, están los Conceptos de Estado de la misma. Los límites o momentos concretos en el estado de una IA, vienen siendo los Eventos provocados por ella.

El evento: "Solicitar confirmación de proceso", se ejecutará reticentemente, mientras no se obtenga una respuesta claramente afirmativa o negativa a dicha confirmación. En este punto es donde entran los Conceptos de Estado, como Conceptos abiertos(tendencias de estados) y no como estados cerrados(variables con valores concretos); de tal forma que Conceptos como: Paciencia, Preocupación, Interés o Pasividad. Pueden ser definidos y parametrizados dentro del entorno informático, así como comprendidos dentro del lenguaje humano.

De tal manera, la Paciencia puede representar una variable de retardo de respuesta ante los eventos del sistema, combinada con una leve subida en el Índice de Alarma(variable que se usaría para la Preocupación). De tal manera, que el sistema no nos bombardeará constantemente con pequeñas alertas del sistema. Si no que lo hará cada cierto tiempo, sólo de los problemas más importantes, simplemente pidiéndole más paciencia:

Más Pacienciaó Variación en la forma de la entidad IA al notificar estados y alertas del sistema.

Creando de esta manera un puente comunicativo directo y abierto, entre el lenguaje humano y la interacción de un programa con su sistema.

El estado actual del sistema IA, es la combinación de todos sus estados y el conjunto de todas sus respuestas. La IA debe estar construida en Multithread, de manera que pueda llevar a cabo varios procesos simultáneamente, dando lugar a complejos estados "de ánimo", motivados por las diversas situaciones provocadas en cada proceso, que interferirán directamente sobre el estado final de la IA; lo que a su vez provocará respuestas específicas(comunicativas o no).

Otra línea de Conceptos importantes, son los relacionados con la interrelación humano-maquina. El Concepto Usuario debe ser muy bien definido dentro del sistema.

Concepto Usuario y Conversación:

Basado en el Concepto Objeto, un Usuario será un Objeto con capacidad de solicitar y de realizar procesos. Otros programas serán Objetos capaces de realizar procesos, pero no de solicitarlos. Cada usuario, con capacidad de solicitar procesos al sistema, debe ser tratado como una entidad de relación única. Hasta el punto de llegar a utilizar distintos esquemas comunicativos de Conceptos, para cada usuario. Por lo que la entidad IA debe priorizar la identificación del usuario y así establecer un marco conversacional adecuado y específico (así como limitar de sus poderes, mediante permisos).

Cada relación específica con cada usuario, obligará a crear un esquema de Conceptos evolutivo único. Partiendo de un esquema general (tipo línea de comandos), se realizará un intensivo Feedback, durante los primeros contactos maquina-usuario, con el fin de definir esquemas personalizados de manejo, de abreviaturas, de estructuras y de los hábitos para cada usuario.

De manera que se solicitará confirmación en todos los pequeños procesos que se realicen, incluso se sugerirán formas de trabajo; con el fin de construir un perfil de uso óptimo para cada usuario. Dicho perfil es básicamente un diccionario de sinónimos entre formas semánticas y Acciones concretas.

*Fases de una conversación:

1 - Saludo : Definido y universal(como mucho dependiente de la hora)

2 - Presentación / Reconocimiento.(Obtención del usuario actual).

3 - Solicitud de procesos pendientes al usuario: así como mostrar informes más Interesantes(El estado "Alterado" será más patente, cuanto mayor cantidad de alertas estén pendientes de comunicar.).

4 - Solicitud de la(s) tarea(s) que el usuario desea realizar a través de la IA.

5 - 6 - 7- Pulir cíclicamente el Concepto-Deseo del usuario, hasta descomponerlo en una acción o lista de acciones de estructura valida para la IA: De forma cíclica y mediante feedback, este proceso se realizará, hasta confirmar que se realizarán exactamente la(s) acción(es) deseada(s).

6 - Mejorar el sistema comunicativo máquina-usuario. Incluyendo abreviaturas, formas de expresión personales y asociándolas al usuario(Como en un diccionario de sinónimos). Utilizar técnicas de aprendizaje evolutivo de redes neurales, por las cuales la siguiente vez, ante el mismo usuario, ante la misma solicitud, se acudirá directamente al la confirmación de acciones.

7 - Construcción de las solicitudes de Confirmaciones/Denegaciones: a las cuestiones que surjan durante el proceso de "mutuo entendimiento", así como los mensajes-pregunta necesarios durante la realización de los procesos.

8 - Descubrir la propias limitaciones al encontrarse ante ellas. La capacidad de reconocer acciones que no puede realizar y la documentación de este hecho(por informes o por email), llevarán a un proceso externo de constante mejora y ampliación de horizontes del sistema.

9 - Informar sobre el resultado de las acciones y solicitar nuevas órdenes.

(en función de los estados de la IA)

10 - Despedirse y cerrar comunicación.

Todas las conversaciones comienzan con la premisa de que se aspira a conseguir un resultado concreto. Por lo tanto, serán tratadas como procesos: un comienzo, una serie de estados y un final de proceso (con sus correspondientes resultados).

Conceptos de Acción:

Por otro lado, todo el sistema de símbolos(Lenguaje y "Conciencia") del programa dependen directamente de los objetivos de su entorno y de su relación para con ellos. Aquí es donde entran en juego los Conceptos Acción.

Estos Conceptos son la dinámica de la existencia de la IA. La descripción de la realidad de su entorno, que será una combinación de Conceptos de Acción y Conceptos de Objeto.

Objetos que realizan acciones sobre otros Objetos. Acción-Reacción. La potencia real del sistema IA, depende principalmente de la correcta y estructurada definición de la colección de Conceptos Acción. Los Conceptos Objeto, serán todas las entidades definibles como tales en el sistema.

Pero las Acciones representan la forma de interacción entre los objetos, por lo tanto, a mayor cantidad de Acciones que nuestra IA sea capaz de reconocer y ejecutar, mayor será potencial técnico de la misma.

Siendo tan amplio este marco, debemos delimitarlo al Objetivo. Los Conceptos Acción que deben ser definidos, son aquellos necesarios para cumplir el Objetivo. Así, al igual que creamos un modelo de interacción para cada usuario, tendremos que crear un Modelo de Acciones, propio, para cada Objetivo Concreto.

La estructura del sistema será la misma, pero el núcleo de acción debe ser concreto y específico para cada objetivo.

Conclusión:

Definiendo, montando e implementando Conceptos, de esta manera, podría crearse la base de un sistema IA abierto. Capaz de aportar una interface de conversación sencilla, con acceso potencial a acciones de muy alto rendimiento y complejidad. Corriendo sobre un sistema "consciente" de su finalidad y "atento" a cualquier contratiempo. Podría obtenerse como resultado una herramienta de puesta en marcha y supervisión de procesos, de increíble estabilidad y con la posibilidad de sintetizar conclusiones e informes muy elaborados para cualquier tipo de proyecto. En resumen: un sistema comercialmente y técnicamente viable.

Exquema general del sistema IAN:

0 - Conciencia del instante actual. Combinación de análisis del entorno y estados actuales. Si comienza un proceso de conversación:

1 - Reconocer al usuario:

* Modelación parametrizada de usuarios.

* Aprendizaje y lenguaje específico para cada usuario.

* ¿Control estadístico de escritura, para auto detectar cambios de usuario?

2 - Establecer objetivos y prioridades para cada conversación.

3 - Solicitar acciones y confirmaciones al usuario.

4 - Ejecutar acciones solicitadas por el usuario: acciones que puede realizar la IA; sobre las que basa su existencia y el lenguaje con el que se comunica.

5 - Aprender. (Feedback)

6 - Padecer y actualizar estados de ánimo:

- Paciencia/Impaciencia.

- Curiosidad / Respeto.

- Ganas de auto Mejorarse / Pasividad.

- Preocupación / Pasividad (Ante procesos concretos o ante todo el sistema).

7 - Conciencia del instante actual. Combinación de análisis del entorno y estados actuales.

Santiago Dopazo Hilario (cc) 19/04/2006
Creative Commons License
Esta obra está bajo una licencia de Creative Commons.

1 comentario:

sorciere dijo...

Que bueno!
"que alegría, que buen día"
que orgullosa estoy de ti,
que bonito.

enhorabuena!

beso

Ana