You are on page 1of 6

UTN FRSF Inteligencia Artificial Ao 2012

Trabajo Prctico

Inteligencia Artificial Trabajo prctico CHAT-BOT Objetivo: construir un agente inteligente, para comprender como ste se relaciona con el mundo en donde se desenvuelve y cmo utiliza las tcnicas vistas en clase para tomar las decisiones sobre las acciones que puede emprender. Un CHAT-BOT es un programa de computadora diseado para simular una conversacin inteligente con uno o ms usuarios humanos a travs de mtodos auditivos o textuales. Aqu se puede ver un ejemplo de dos chatbots conversando entre s: http://theinstitute.ieee.org/technology-focus/technology-topic/chatbot-conversation-goes-viral En este trabajo se considerar una conversacin entre dos estudiantes de inteligencia artificial de la FRSF, uno ser un alumno real y el otro su CHAT-BOT. Para poder delimitar el tema, los alumnos podrn hablar sobre cuestiones relacionadas al cursado y no a cuestiones tericas o prcticas de los contenidos dados en la materia. As estos estudiantes podrn hablar sobre el parcial, si es fcil o difcil, cuando es, a que hora, en que lugar, que temas entran, cuando se entrega el tp, y otras cuestiones. El trabajo prctico en este sentido es libre y los alumnos pueden determinar sobre qu temas su CHAT-BOT va a poder contestar. Una forma posible de implementar un CHAT-BOT es la siguiente: a priori se conoce un conjunto de frases formadas nicamente por palabras claves que son todas aquellas frases que el CHAT-BOT ser capaz de reconocer y responder correctamente. Para cada frase que reconoce el CHAT-BOT tendr un conjunto de frases asociadas con las que pueda responder, es decir no siempre va a responder igual cuando se escriba la misma frase. El caso ms simple es el saludo, el CHAT-BOT tendr varias formas de saludar. A partir de una frase de chat tipeada por un usuario, es posible filtrar las palabras claves de la frase (eliminando conectores, artculos, adjetivos, adverbios, etc.) y con esas palabras claves hacer una bsqueda en un espacio de estado que seala, para determinada conjuncin de palabras claves, un grupo posible de reglas (respuestas a la frase de chat) a activar. Luego, un sistema de reglas aplicar distintos criterios para seleccionar cul de todas las reglas posibles, efectivamente debe activarse para proveer una respuesta al usuario. PARTE 1: bsqueda En la primera parte del tp, se deber implementar el mecanismo de bsqueda que utilizar el CHAT-BOT para encontrar todas las posibles reglas que den respuesta a la frase de entrada al CHAT. Para esta etapa se considera que el agente conoce el conjunto de frases que reconocer (mundo totalmente observable), las cuales estarn implementadas como el grafo de la figura 1 a). Cada camino del grafo es una frase reconocida. Una vez que el agente recibe una frase, debe buscar 1 de 6

UTN FRSF Inteligencia Artificial Ao 2012

Trabajo Prctico

en el espacio de estado cuales son todas las posibles reglas que se pueden disparar, esta es la fase de bsqueda la cual generar el rbol que aparece en la figura 1 b). Este ciclo se repite con cada nueva frase recibida por el agente CHAT-BOT. El resultado de la bsqueda es un conjunto de reglas posibles que el agente puede ejecutar para dar su respuesta. Esta solucin ser utilizada en la segunda parte del tp.

(a)

(b)

Figura 1: (a) Lenguaje (dominio, ambiente), (b) rbol de bsqueda resultante PARTE 2: sistema de produccin La segunda etapa del tp, consiste en aplicar un sistema de produccin que permita tomar la decisin sobre que accin de todas las posibles se ejecutar para dar una contestacin a la frase de entrada al chat. La figura 2 muestra un ejemplo de dos reglas que presentan una respuesta diferente a la misma frase de entrada. Se debe implementar reglas de este tipo (dos o ms reglas para cada frase) e implementar un mecanismo de seleccin de las mismas al estilo de los sistemas de produccin: especificidad, no duplicacin, novedad, prioridad y aleatorio. seleccionada se ejecuta dando la respuesta en el chat. R1: IF {hola,qu,tal} THEN {"todo bien!"} Figura 2 El TP se entregar en dos etapas: La primer etapa consiste en dos entregas. La primer entrega se debe realizar el Viernes 23/03 y consiste en definir un vocabulario de palabras que va a utilizar el CHAT-BOT. Esta tarea queda a su criterio, sin embargo se tendr en cuenta los esfuerzos que cada grupo realiza para promocionar la materia. Se debe entregar: 2 de 6 R2: IF {hola,qu,tal} THEN {"hola"} Una vez que una regla fue

UTN FRSF Inteligencia Artificial Ao 2012

Trabajo Prctico

1. El vocabulario generado. Puede ser un chat armado especficamente para el TP. 2. El grafo dirigido que contiene las relaciones de las palabras definidas en el vocabulario. Ambos debern ser enviados a la ctedra por correo para su validacin antes de comenzar a desarrollar el TP. La segunda entrega se debe realizar el Lunes 14/05 y consiste en:
1.

Modelar el problema de encontrar el conjunto de reglas a aplicar como problema de bsqueda, definiendo: estado, prueba de meta, operadores y percepciones. Aplicar al menos 2 (dos) de los mtodos de bsqueda vistos en clase. Solucin implementada: justificar la aplicacin de una de las tcnicas de bsqueda presentadas en clase y mostrar algunos rboles de bsqueda que se obtienen al buscar la solucin de este problema.

2. 3.

4.

Elaborar un informe tcnico en el cual se muestre el modelado realizado del problema y los resultados obtenidos. Este informe debe respetar el formato de informe provisto por la ctedra.

5.

Para el coloquio de defensa de esta parte del TP se pide que la salida por pantalla de comando muestre, para cada secuencia percepcin-accin: estado interno del agente, estado real del ambiente, rbol de bsqueda para la toma de decisin y accin elegida.

La segunda etapa tiene como fecha lmite de presentacin el da 25/06/2012 y consiste de:
1. 2.

Determinar el conjunto de reglas a utilizar en el sistema de producciones. Implementar el encadenamiento hacia adelante, aplicando los siguientes criterios: especificidad, no-duplicacin, prioridad, novedad y aleatorio. Mostrar una interface mnima de chat donde se pueda ingresar una frase y ver lo que el CHAT-BOT contesta. Mostrar un archivo de log donde se puede ver claramente cuales fueron las reglas seleccionadas, por que se eligi la regla, es decir indicar el criterio de seleccin entre las reglas candidatas y el resultado de la ejecucin de la regla.

3.

4.

5. 6. 7.

Mostrar mnimo una prueba de 10 frases contestadas. Presentar el informe siguiendo los lineamientos establecidos por la ctedra. Ejecutar el programa y explicar en el coloquio las caractersticas propias del programa.

DESAFO! Implementar las tcnicas definidas en el CHAT-BOT en un dispositivo mvil (como por ej. un smartphone con Android) tal que cuando llegue un mensaje de texto automticamente le proponga

3 de 6

UTN FRSF Inteligencia Artificial Ao 2012

Trabajo Prctico

al usuario la respuesta que debe enviar. (Este desafo no es obligatorio y no es condicionante ni para regularizar ni para promocionar la materia). Notas:

Todas las entregas deben hacerse a travs del sitio de la ctedra en el campus (http://campusvirtual.frsf.utn.edu.ar). Para la arquitectura del agente: cada grupo puede hacer una arquitectura propia (ayuda abajo) o usar el Framework FAIA provisto por la ctedra (http://code.google.com/p/faia/). Ver paper en repositorio de la pgina de la materia. Se habilitar un foro en el campus para discutir sobre el tp. Entregar informe respetando al formato propuesto por la ctedra detallado en el Anexo A. para consultas y entrega del TP http://campusvirtual.frsf.utn.edu.ar/

4 de 6

UTN FRSF Inteligencia Artificial Ao 2012

Trabajo Prctico

ANEXO A: Formato del informe del TP Nombre del TP


Nro. de Grupo Nombre y Apellido integrante1 - e-mail Nombre y Apellido integrante2 - e-mail Nombre y Apellido integrante3 - e-mail

Resumen. Ac se escribe un pequeo resumen del trabajo que se presenta. Por ejemplo, la aplicacin de IA que se va a hacer, el problema concreto que se va a resolver, si fue o no resuelto y cmo, y los resultados que se presentan. Todo en pocas palabras (entre 70 y 150 palabras).

Introduccin

En esta seccin se introduce el rea de aplicacin en la que se va a trabajar, se explica el problema que se va a resolver. Se puede usar una figura o esquema para explicar mejor lo que se quiere hacer en el trabajo. Se puede mostrar un grfico con los datos que se estn usado. En ese caso se dira p.e. "los datos usados para el entrenamiento se pueden ver en la figura 1, ... . Esto quiere decir que ". Esta forma de nombrar los grficos se mantiene para todo el informe, es decir, se usar este formato cada vez que se presente una figura.

Figura 1. Explicacin de lo que se ve en la figura.


Si los datos o alguna otra informacin a lo largo del trabajo se quiere presentar en forma de tabla, ac se muestra un formato posible como ejemplo.
XX Col 1 xxx xxx xxx xxx Col 2 xx.xx xx.xx xx.xx xx.xx XXXX Col 3 xx.xx xx.xx xx.xx xx.xx

Tabla 1. Explicacin de lo que se ve en la tabla.


Generalmente, al final de la introduccin se describe cmo sigue el informe, es decir, se explica que hay en cada seccin siguiente. Por ejemplo: en la seccin 2 se explica ... . En la seccin 3 se muestra ... . Finalmente en la seccin xx .

5 de 6

UTN FRSF Inteligencia Artificial Ao 2012

Trabajo Prctico

Solucin

En esta parte se debera explicar la solucin conceptual del problema (estado del agente, estado inicial y final del agente, estado del ambiente, percepciones, prueba de meta, operadores, heurstica, estrategia seleccionada). Si se aplic alguna metodologa para resolver el problema, explicarla. Justificar la solucin y las elecciones hechas. Si se va a hacer alguna comparacin, explicar entre qu cosa y qu cosa, y por qu se comparan. Mostrar por ejemplo algn grfico con el modelo del problema resuelto. Si se quiere escribir alguna ecuacin, la forma de hacerlo se muestra ac abajo. Se coloca la ecuacin en el texto (es un objeto equation en word) y a la derecha se pone un nmero para identificarla, que aumenta secuencialmente a medida que se agregan ms ecuaciones al informe. y=x (1)

Resultados

En esta seccin se deberan mostrar las pruebas que se han hecho para verificar que la solucin al problema propuesto funciona y explicar los resultados obtenidos. Se deben mostrar los resultados obtenidos para una ejecucin con el ciclo percepcin, actualizacin del estado, accin. Se pueden mostrar grficos o tablas con los resultados obtenidos de las ejecuciones, con los errores obtenidos, etc. Si se trat de resolver un problema, hay que mostrar cmo el agente lo resolvi (o no), o si se buscaba una respuesta a una pregunta, cul es la respuesta que brinda el agente propuesto.

Conclusiones

En esta seccin se deben obtener conclusiones del trabajo presentado. Que conclusin se puede sacar luego de haber aplicado una tcnica de IA para resolver un problema. Si el modelo propuesto para resolver el problema es bueno o no, por qu, ventajas, desventajas, puntos positivos, puntos negativos, etc ACLARACION: este documento pretende ser de base en cuanto al FORMATO del trabajo prctico, es decir, el tipo de letra, tamao, como mostrar figuras y tablas, etc., para uniformar las presentaciones de los distintos grupos. Los nombres de las secciones son sugerencias, no etiquetas obligatorias. Cada grupo elegir la cantidad y nombres de secciones y el tipo y cantidad de informacin que agregar al informe, segn el problema que haya (o no) resuelto.

Referencias (aclaracin: si se consultaron libros, o papers, o se bajaron datos de internet, etc., se deben colocar las referencias en esta seccin)
1. 2. Apellido, Nombre: Nombre LIBRO. Editorial (ao) Apellido, Nombre: Nombre PAPER. Nombre REVISTA o CONGRESO, volumen, numero, nro. de paginas (desde-hasta), (ao)

EJEMPLOS 1. 2. 3. Martin del Brio, B., Sanz Molina, A.: Redes Neuronales y sistemas difusos. Ed. Alfaomega (2002) Meireles, M.R.G., Almeida, P.E.M., Simoes, M.G.: A comprehensive review for the industrial applicability of Artificial Neural Networks. IEEE Transactions on Industrial Electronics, vol. 5, no. 3, pp. 585-601 (2003) http://www.iee.org

6 de 6

You might also like