Foros del Web » Programación para mayores de 30 ;) » Programación General »

programar "conversador"

Estas en el tema de programar "conversador" en el foro de Programación General en Foros del Web. Hola, mi experiencia con lenguajes de programación es bastante limitada, tan sólo di un curso de Visual Basic y sé html y lo básico de ...
  #1 (permalink)  
Antiguo 05/09/2008, 03:10
 
Fecha de Ingreso: septiembre-2008
Mensajes: 118
Antigüedad: 15 años, 8 meses
Puntos: 4
programar "conversador"

Hola, mi experiencia con lenguajes de programación es bastante limitada, tan sólo di un curso de Visual Basic y sé html y lo básico de php.

¿Conocéis esos bot que agregas al messenger y puedes hablar con ellos de una forma más o menos humana? O el programa "Dr. Abuse" que hace lo mismo...

Pues bien, a mí me gustaría desarrollar un bot de estos, y que sea mi ingenio el que permita que el programa responda de la forma más humana y coherente posible.

Lo que no sé es cual es la forma más sencilla de programarlo, supongo que en algún lenguaje de programación (no programación web).

¿Visual Basic, o hay algún programa mejor? ¿Conocen alguna guía que explique cómo hacer lo que yo quiero?

¡Muchas gracias desde ya!

P.D. Por cierto que me inauguro en este foro, un saludo a todos!
  #2 (permalink)  
Antiguo 05/09/2008, 09:44
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: programar "conversador"

Hola!

Realmente, para crear ese tipo de aplicaciones no se requiere ser un virtuoso de la programación... pero sí ser muy metódico y tener mucha imaginación, ya que estamos hablando de una de las ramas de la inteligencia artificial

Lo más sencillo que puedes encontrar (e implementar) en este aspecto son los llamados "chatterbox", que simplemente contestan a cada pregunta que les hagas, sin tener mucha memoria ni crear conversaciones que sean muy coherentes, aunque quedan muy resultonas, eso sí...

Los chatterboxes más sencillos, como Eliza (de los primeros, si no el primero; en la wikipedia puedes encontrar información sobre ella y sobre los chatterboxes en general), Herbie o el Dr. Sbaitso, se suelen basar en una lista de frases entre las que buscan palabras coincidentes con lo que el usuario le pregunte.

Para que te hagas una idea, con un ejemplo muy sencillo, supón que el chatterbox tiene varias frases, entre ellas "me gustan los coches", "tengo un coche amarillo" y "las paredes oyen". Supongamos que el usuario le dice "¿qué piensas si me compro un coche?", el programa encontraría dos frases con la palabra "coche", que aparece en la frase del usuario, y le mostraría una de ellas al azar, dando la ilusión de continuidad en el diálogo.

Herbie, aunque tenía límites, aprendía algunas frases del usuario y te las sacaba cuando menos te lo esperabas, y creo que el Dr Sbaitso tambien, aunque éste las olvidaba de una ejecución a otra. También no hace mucho, encontré otro chatterbox (con el curioso aspecto de una tabla de ouija en 3D) que aunque no recordaba las frases, sí se las podías agregar manualmente, editando un fichero de texto plano. Y dada la temática, daba mucho juego para poner tonterías y asustar a la gente

Si quieres algo más realista... las buenas noticias son que en este campo aún no está todo inventado

Como te decía, en los artículos de la wikipedia puedes encontrar bastante información y utilizarlos como punto de origen para una búsqueda más amplia.


Espero no desanimarte con esto, si no todo lo contrario ¡Bienvenido al foro!
__________________
wile sona li mute e sona
  #3 (permalink)  
Antiguo 05/09/2008, 14:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 118
Antigüedad: 15 años, 8 meses
Puntos: 4
De acuerdo Respuesta: programar "conversador"

No me desanimas para nada, muchísimas gracias por ofrecerme una visión tan amplia sobre el asunto. La verdad que ahora lo veo de una forma mucho más general.

Eso sí, sigo con mi duda, de... ¿cómo hacer que si el usuario introduce "qué tal" el robot responda "bien y tú?". Es decir, ¿cómo lo programo?

Sé que el resultado depende de la habilidad en cuato a IA del programador... pero me gustaría alguna referencia básica, saber qué lenguaje de programación hace falta y eso...

¡Pero muchísimas gracias, en serio!
  #4 (permalink)  
Antiguo 09/09/2008, 21:10
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 2 meses
Puntos: 142
Respuesta: programar "conversador"

La verdad no tengo mucha experiencia con esto, pero te podré dar un ejemplo, tomando que pones como propuesta Visual Basic:

Tienes dos cajas de Texto: Una editable para escribir y otra de solo lectura donde mostrará la conversación (Supongamos con aspecto de un messenger). Entonces al oprimir el botón "Enviar" (Que puedes configurar con un Ok-Button para que lo ejecute automáticamente al presionar enter), harás un código como este:

-Insertar la línea en la conversación.
-Llamar al Sub "Comparar" (Te lo explico más abajo).
-Insertar la frase con el Sub anterior, borrar la caja de la línea y regresar el foco a esta.

Con este sencillo código tendríamos la base. Ahora solo sería de agregar en el Sub las condiciones, por ejemplo, si el contenido de la caja línea es igual a "Que tal?" "Cómo estás?" o cualquier cosa similar, te responda "Bien y tú?", y cosas similares. Ya es aquí donde necesitarás tus habilidades para saber como hacerlo "inteligente".

Espero esto te ayude. Suerte
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #5 (permalink)  
Antiguo 25/10/2008, 20:05
 
Fecha de Ingreso: septiembre-2008
Mensajes: 118
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: programar "conversador"

Muchas gracias, he pillado la idea.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.