Programación Específica > Inteligencia Artificial

 Presentacion de un programa de IA(Glupet). Teoría y Práctica

<< < (3/6) > >>

Nebire:

--- Cita de: "daniloski" ---En chile, existe una palabra llamada "tongo". se refiere a exponer (comentar) algo que solo existe en la imaginacion del locutor.
un "buen tongo", es el que logra consitar la atencion de muchos "inocentes", amantes de la ficcion.
Pregunta.¿sera un tongo este tema en particular?, Ya que que lisp, prolog, etc. si existen.
--- Fin de la cita ---
en España Tongo es sinónimo de estafa,trampa, engaño. normalmente con carácter deportivo o de otra naturaleza que requiera competición, sorteo, votaciones,etc... Para el caso son muy similares...

Sobre si deaven fuera un tongo (usando tu significado), lo ignoro, lo cierto es que sólo ha colocada 5 mensajes, 3 cuando anunció que quería hacer ... pero que dijo que no pudo y ahora meses más tarde para decir que no lo pone ahora por otras razones.. quizás sólo quiera publicidad, no lo sé. No hace falta prejuzgar, el tiempo hablará por sí sólo...

daniloski:
Junto con dar las gracias a Nebire, comento que voy a iniciar un hilo ("espero no tener la partida del caballo de carrera"), con el tema de la IA, desde la perspectiva delphi. Ojo. existen herramientas altamente especilizadas, lisp, xlisp, prolog, logo. La cuestion es estoy enquistado con pascal (borlan, inprice, codegear), me siento tan comodo con la sintaxis de borland delphi 7. Hace tiempazo (varios meses atras) , vaje cuanto codigo existe disponible de ejemplos de ia (especificamente redes neuronales ) para delphi, pero ahora al buscar encuentro casi nada de informacion.
algo interesante fue el siguiente link
newlisp_wordpress_com+2008+06+24+usare-newlisp-da-delphi
reemplace _ por punto
reemplace + por /
esta en italiano pero google lo traduce bastante bien al castellano
esperando ser un aporte se despide afectuosamente daniloski

Dario Mena:
No creo que tal proyecto capaz de aprender cualquier idioma, etc. Algo asi no lo han logrado ni en el MIT ni en los 35 años de investigación mundial en IA . Ademas dividir la capacidad de aprendizaje de un robot comparando con los años de una persona es absurdo teniendo presente la velocidad de entrada de datos que se le puede hacer a cualquier sistema. Comprato que este sistema llamdo Glupet debe ser un cuento o tongo .

A continuación envio unos fundamentos muy lementales de como crear un robot de charla escrita.

Para comenzar definamos lo que es un robot virtual, un robot virtual es un programa de charla también llamado chatbot que simula las respuestas como si se tratara de una persona.

Los primeros chatterbots aparecieron junto con las salas de chat del viejo sistema Mirc , en estas salas siempre habían unos usuarios que estaban todo el día conectados o buena cantidad de horas , no eran usuario eran pequeños programas llamados bots encargados de sacar la sala a los usuarios que insultaban o decían cosas inapropiadas. Estos programas detectaban frases inapropiadas o frases que estaban precargas en la base de conocimiento del bot. Es así que si un usuario repetía un carácter indefinidamente era echado , lo mismo ocurría si el usuario insultaba o usaba términos incorrectos. De ese tiempo hasta hoy se ha avanzado mucho.

Lo principal de cualquier robot y particularmente de un robot virtual es la base de conocimientos que posea. Utilizando su base de conocimientos un robot podrá responder mas preguntas. Crear una base de conocimientos puede llevar mucho tiempo, de hecho tanto como el que lleva capacitar a un ser humano. ¿Cuánto tiempo lleva para que una persona se desarrolle y sea capaz de contestar sobre los mas variados tópicos? 15  -  20 años. Aprovechando la ley de aceleramiento de los resultados donde el trabajo en colaboración permite aumentar los tiempos de desarrollo exponencialmente, crear la base de conocimientos puede llevar mucho menos tiempo por la sencilla razón de que ya hay base de conocimientos disponibles para que un robot pueda llevar una charla común sin mayores sobresaltos. Desdichadamente la mayoría de las bases de conocimiento más completas están en ingles. Por que hay solo base de conocimiento en ingles , por la sencilla razón de que el ingles es un idioma mucho más sencillo que el castellano.

Veamos un simple ejemplo:

La conjugación en presente del verbo ir :

En castellano :

Yo voy
Tu vas
El va
Nosotros vamos
Vosotros vais
Ellos van

En ingles

I go
You go
He goes
She goes
We go
They go
En castellano el verbo cambia para cada persona (hay seis cambios) mientras que ingles hay solo dos cambios. Es un sencillo ejemplo, la complejidad es aún mayor por el uso de tildes y estructuras gramaticales más complejas que en las ingles.

Es así que todo desarrollo de crear un robot en castellano choca de entrada con un sin fin de problemas que parecen decir que no se puede crear un robot que hable español .

Para crear una base de conocimientos en castellano hay que tomarse bastante mas trabajo partiendo del análisis de cómo nos comunicamos habitualmente.

Hay trucos para no caer en algo que el robot no sepa, una táctica básica es que el robot lleve el control de la conversación , para esto si este responde con preguntas podrá “saber” un tipo de respuesta determinado. Por ejemplo:

Usuario : Hola
Robot : Hola, ¿Cómo te llamas?
Usuario : Pedro
Robot: Pedro, ¿Eres usuario de mi servicio?
Usuario : Si
Robot : ¿ En cual servicio estas suscripto?
Usuario : En recibir información económica semanalmente.
Robot: ¿Qué consulta deseas hacer al respecto?
Usuario : No recibí información de la ultima semana.
Robot : Ok te la enviare enseguida.

En este ejemplo vemos como el robot lleva el control de la charla desde el inicio acotando el número de respuestas que el usuario puede dar.

El robot espera patrones de escritura que no necesariamente tiene que coincidir con lo que se diga exactamente el usuario sino que coincida con el sentido exacto de la frase.

Veamos en seudo código como se vería el dialogo anterior:

Usuario : Hola
Robot : Hola, ¿Cómo te llamas?
Usuario : Pedro
Robot: Pedro, ¿Eres usuario de nuestros servicios?
Usuario : Si
Robot : ¿ En cual servicio estas suscripto?
Usuario : *  información económica semanalmente *
Robot: ¿Qué consulta deseas hacer al respecto?
Usuario : No * información * semana.
Robot : Ok te la enviare enseguida.

  Los asteriscos o comodín tiene la función de permitir que la frase dicha por el usuario fuera otra sin alterar el significado principal de la frase.
El patrón : *  información económica semanalmente *
incluye frases dichas por el usuario que pueden ser :

Estoy suscripto a  información económica semanalmente.
Recibo  información económica semanalmente en mi casa.
Me inscribí en  información económica semanalmente la semana pasada.
Etc

Al robot le interesa saber a que servicio esta suscripto entonces como comienza o termina la frase puede ser secundario.

Lo mismo sucede con el patrón
Usuario : No * información * semana.

Este puede incluir:

No recibí información la ultima semana.
No me enviaron información de la  semana.
No estoy recibiendo información hace una semana.
.....

Como vamos aquí lo que interesa saber es si recibe o no la información semanal.

Claro, hay que especificar la mayor cantidad de patrones de entrada posibles para que el robot pueda responder el mayor número de entradas (input) que haga el usuario . Y además hay que crear toda una estructura ramificada que permita responder la mayor cantidad de preguntas.
El manejo de lenguaje es uno de los aspectos fundamentales de la Inteligencia Artificial y Robótica. Luego que tenemos solucionado este aspecto para pasar el texto a voz sonora alcanza con tener un programa de sintetizador de de texto hacia voz .

Si reconocer las entradas escritas lleva su trabajo imaginense lo que es reconocer voz hablada donde aparte de valer todo lo explicado anteriormente hay que agregar acentos, entonaciones, modismos , etc.

Es por este motivo que el reconocimiento de voz que se viene prometiendo hace muchos años no ha tenido resultado en los robots o en algo más cotidiano como los teléfonos moviles.

Pero por algo tenemos que empezar y crear un chatbot es una manera relativamente fácil de crear un entidad virtual que responda y actue (los chatbots no solo hablan pueden ejecutar programas del sistema y via el puerto adecuado ejecutar aparatos externos al PC)  como un ser humano.

En Red21.com junto a estudiantes de la Universidad de Valencia hemos creado una base de conocimientos para chatbots o robots virtuales. El desarrollo de la misma nos llevo 5 años y esta base de conocimientos está disponible para los estudiantes del curso a distancia de Inteligencia artificial y robótica que se imparte en Red21.

daniloski:
hace , varios, varios años atras, lei parte de un un libro de "herbert schildt", llamado "utilizacion de "C" en la inteligencai artificial"
(exactamener osborne/McGraw -hill , traduccion:
 jose andres moreno ruiz, Julio baron Martinez, andres Jesus Caparros Lorenzo)
Ojo: mi intencion no es hacer publicidad sino, "universalizar el conocimiento"
Aqui, en este libro se habla de los arboles binarios( pero no se habla de los avl "balanceados")
Se ha habla de la "la tecnica de escalada de la colina", "procesamiemto de lenguaje natural",
"analizador pln recursivo descendente de contecto libre"
Otro tema relaciondo  es el "sintagma nominal" (sn) y el sintagma verbal(sv).
Ej:
oracion-> sn+sv
sn-> articulo+nombre
Ojo: que este analisis , es "transparente". La utilizacion de Ingles  y el castellano es indistinta (ojo: desde la perspectiva del traductor).

creo que lo planteado vale vale la pena ser traducido al PASCAL DELPHI 7), pues toda la exposicion esta definida en "C", que en lo personal no me es es comodo.

"Mi rrollo", (problematica ha ser resuelta), es el reconcimiendo de "patrones en imagenes" para poder efectuar ocr (pero desde una camara web y no desde un scanner convencional).

en delphi 7 existe una rutina, al parecer creada (o traducida) por Ramesh Sabeti - danilo_seron@yahoo.com (haber si en una de esas podemos crear un equipo que reconozca patrones en imagenes).

Si he cometido erres espero , sean corregidos "con altura de mira".  :rolleyes:
Esperando haber aportado halgo se despide afectuosamente Daniloski.

deaven:
Hola

Si alguien piensa k el programa Glupet es un tongo, está en todo su derecho de pensarlo, espero pronto poder hacer k cambien de opinión.

Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa