[SOLUCIONADO] Como harian su propio Bot?

Iniciado por $Edu$, Enero 27, 2013, 12:08:23 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 27, 2013, 12:08:23 PM Ultima modificación: Agosto 22, 2013, 11:52:14 AM por Expermicid
Hablo de esos tipicos Chat Bot, pero obviamente que se podria agregarle para que obedezca ordenes y miles de cosas mas, pero la base de todo es Como enseñarle?

He buscado sobre estas cosas pero hay poco y nada, ademas de que hacer bot en ingles es mas facil que en español, por el tema de los verbos, etc.

Pero hago este tema para que el que quiera deje su idea de como empezarian, que programarian y como. Sin irse por las ramas de que hara el bot, solo interesa saber el mecanismo que utilizarian para enseñarle al bot a hablar y/o que entienda las ordenes.

Por ejemplo, yo tenia pensado hacer un programa con buena interfaz donde se "cargaria" el bot que ya esta entrenado. Y por otra parte hacer un Entrenador de Bot para que cada uno lo entrene como quiera.

Vendria a ser como hacer una aplicacion con sistema de plugins, donde el plugin es el bot.

Pero yo como programador del bot, tendria que entrenar a un bot para dejarlo con buena base, es decir, que sepa hablar y recibir ordenes basicas, todo a lo basico, pero luego cada usuario usando el Entrenador de Bot le entrenara con las cosas que quiera, con la personalidad que quiera, con los gustos que quiera, etc.

---------------------------------------------------------------------------------------

La idea es que den ideas para crear un algoritmo de aprendizaje, sabiendo que partiras de nada, como cuando nacimos, que nos enseñan a hablar de a poco (en este caso no habria que decir Papá muchas veces xD con una bastaria), pero tambien esta la habilidad que el bot "ya es inteligente" y tal vez puede aprender muy rapido dependiendo del algoritmo que se aplique.

Como comenzar?

inteligencia artificial? uhm es complicado, en principio te daré mi opinión.

aprender es una acción, tal como cualquier otra, por ende ya desde el vamos creo que estás errado al pensar en tenerlo por separado.

lo primero que deberías hacer es establecer un conjunto de normas básicas, un Protocolo en el cual basarte para desarrollar.

Por ejemplo establecer que todo usuario de dicho bot debe hablar en infinitivo, y con la siguiente estructura:

[accion] [parametros]

- apagar pc

como ves, no hay conjugaciones ni nada, entonces ya simplificas y ahorras todo ese problema con una simple regla que deben saber los usuarios.-

Así con todo lo que sea necesario para no hacer tan complicado el código, además de como se enseñaria y demaces.

no podrás hacer un bot basandote simplemente en el funcionamiento de un cerebro humano, puesto que la complejidad excede tus limites, los mios y los de todos aquí, ya que nadie se dedica a analizar el cerebro humano, no creo que alguien del foro tenga esa profesión, aunque si encuentras a uno te sería de buena ayuda.

yo creo que basandote en ese protocolo podrías hacer una forma sencilla, establecer 1 comando básico,

aprender nombre archivo_en_cuestion

si hablamos de manejar windows podrías establecer la funcion abrir y alias con ubicaciones por ejemplo de c:\windows\calc.exe podrías darle como alias calculadora, y enseñar alias.

y ejecutar la funcion

abrir calculadora

entendería que calculadora es el alias de esa ubicación.

debes establecer los comandos minimos y necesarios que tendría tu bot, y un método para enseñar nuevos comandos, pero para esto debes tener bien en claro el objetivo del bot.

de todos modos, esto es algo muy básico, que se me acaba de ocurrir, no me baso en nada ni nadie, por lo que probablemente mi teoría esté erronea o de como resultado una cosa en vez de un bot xD

saludos!

Gracias por responder! Me has dado la idea de simplemente hacer un asistente que responda comandos preestablecidos, pero no es lo que realmente quiero, pero lo hare cuando fracase en el intento de hacer mi super bot xD

Lo que pasa que viendo miles de ejemplos de Bots, veo que se manejan de una forma que es distinta a como lo hacemos nosotros. Esos bots si le pones "tengo mucho calor", buscara en su base de datos la palabra calor y ya tiene una respuesta para eso y dice "en estos dias habra mucho calor" pero analiza poco y nada toda la oracion como realmente lo hace nuestro cerebro. Solo busca en su base de datos conversaciones antiguas para contestar. De ahi que a veces los bots dan respuestas muy insolitas.

Se que no puedo hacer que un bot tenga uso de la razon, pero puedo hacer que decida su respuesta dependiendo de muchas cosas.
Me interesa la idea de crear un algoritmo que represente las neuronas y sus conexiones entre ellas (sinapsis).

Por ejemplo la palabra calor la tengo que asociar a palabras como verano, playa, etc. Y a la vez esas palabras se asociaran a otras.

Si un usuario escribe "tengo mucho calor", el bot tendra su algoritmo para preguntar Quien?, Cuando?, Donde?, Por que?, Como?, Para que?, etc, para sacar toda la idea de la oracion y contestar.

Pero es muy complicado esto, no se si me da la cabeza como para pensar algo, ni siquiera se como empezar, pero me motiva la idea de poder crear un algoritmo que funcione al 100%, aunque el bot sea igual a un bebe hasta que se le vaya enseñando, cosa que igual se demoraria años, ni idea, pero la idea es simplemente hacer el algoritmo, luego tener una buena base de datos o no, se vera con el tiempo.

Y por qué no usar una base de datos para almacenar los "aprendizajes" en lugar de simples plugins.
Así puedes consultar desde la aplicación las capacidades que tu bot puede "aprender" y "enseñarlo"
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Seria como una opcion para "Cargar Bot..." y con eso me refiero a su base de datos (su memoria a largo plazo) y preferencias o lo que sea que lo diferencie a un bot de otro, asi en mi sueño xD cuando haga ese bot y millones de personas lo utilizen xD, cada uno podria buscar bots personalizados por otros. Algunos tal vez quieren uno ya bastante personalizado, un bot que sea matematico por ejemplo xD otro que sea musico xD o tal vez uno que sea humorista xD

Luego en la Red Social Super Bot xD dentro de la aplicacion general donde esta cargado el bot, se podrian comunicar los creadores de los bots para charlar o hacer que los bots de ellos hablen entre ellos, haciendo debates o jugando al ta-te-ti (tres en rayas) jajaja.


No es que le puedas elejir una opcion que sea "Aprender Matematica avanzada", eso se lo tiene que enseñar cada uno en el Entrenador de Bot. Por eso hablo de otra aplicacion a parte, ya que seria un simple chat, de ventana chica, solo para ir enseñandole con algunos comandos para que se guarde en su base de datos.
Enseñarle en la aplicacion general, la que usaran los usuarios que no entrenaran bots y solo usaran los de los demas o el que viene por default, no vale la pena, ya que con el Entrenador de Bot como dije, habria comandos para enseñarle de la mejor forma cosas.


Me gusta soñar mucho veo jajaja, pero eso que digo se puede hacer y estaria bueno, por lo menos para algunos, eso de tener tu propio bot esta divertido. Imaginate en esa red social hablando tu bot que le has enseñado a seducir a mujeres y los haces chatear con el bot de una mujer, seria gracioso jaja. Y asi miles de cosas.

Lo anterior se puede hacer, la cosa es como hacer lo principal, la base de todo xD Las ideas para una vez que se puedan hacer bots de este nivel estan, lo que falta es hacer esos bots xD

Porque una vez que se crea el bot con cosas basicas aprendidas (metiendo cosas manualmente en la base de datos) como para que responda al Entrenador de Bots, luego ya se entrenaria "automaticamente" desde ahi, cosa que se demoraria muchisimo en hacerlo capas de hablar bien de bien pero bueno, el sistema seria seguro y estable.

Ese ultimo parrafo es lo que quiero hacer, que me digan ideas si se les ocurre, lo demas que dije antes, son cosas que vendrian despues :P

Sueñas con un mundo lleno de bots? , charlas de bots? , vete a un psiquiatra amigo xd.
No creo que los bots sean tan importantes en la vida cotidiana como para dedicarles tanto tiempo, son simples bots que puedes usar para reirte un rato pero para nada mas
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Enero 27, 2013, 02:47:50 PM #6 Ultima modificación: Enero 27, 2013, 02:49:32 PM por Snifer
Un claro ejemplo del bot que dices es La Piba que lo monte hace 2 años atras, lo unico q hace es tener un area de conocimiento, luego de eso tiene una analizador lexicografico semantico y sintactico para que analize las palabras que recibe y tenga relación con una respuesta.

Teniendo su base de conocimiento en un archivo xml en el cual carga todas las respuetas por ejemplo:

Hola como estas.

entra en un xml que tiene los saludos posibles
<hola como estas>
<hola que tal>
<hola linda>
etc

PD: Ando ejemplificando el xml ya que no es asi el file :P

Lo que hace es encontrar la secuencia de pregunta de saludo, dando como respuesta en otro banco de conocimiento.

Saludos.xml

Respondiendo en este caso segun la respuesta si no tuviera en su conocimiento lo que se hace es darle una respuesta random aleatorio o bien para salir de  la pregunta.

Ademas de ello para que puedas responder debidamente lo ultimo que agregue es agregar datos del nick con el que estaba hablando en el caso de ser msn el correo para saber con quien habla e ir guardando a la vez para responder.

Otra mas que se tiene es el autoconocimiento a lo que te refieres EDU lo que se hace es darle la capacidad de almacenar y preguntar es decir vamos al cine? al no haber cine en su BD pregunta automaticamente que es xxx = palabra desconocida escribe el xml y lo almacena teniendo nuevo conocimiento.

Saluods :P

El bot esta orientado para lo que es charlas en el IRC y msn :)

Ando usandolo y a la vez lo cree para la caza de pederastas en la RED es decir es un bot xxx porno por decirlo algunos miembros del foro se deben de acordar de ella xDD
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Sanko, a caso no te gustaria tener un robot al lado tuyo ahora? crei que todos deseabamos eso, hasta mi madre seguramente lo desearia. Como no puedo tenerlo fisicamente por lo menos me gusta pensar como podria hacerse uno virtualmente. Pero creeme que no necesito ningun psiquiatra, estoy mas cuerdo que muchos otros..

Snifer, tus ideas son buenas, yo he leido un monton y he visto cosas como lo que dices, esta bueno, solo que yo hablo de hacer algo innovador. Pero vamos, una persona sola no puede hacerlo, se hacen empresas para lograr cosas buenas, yo solo queria tener ideas para asi en un futuro con buena base tal vez pueda meterme en algo de todo esto de la inteligencia artificial.

Este software es lo que estoy esperando para comprarlo o esperar que sea gratis:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

fijate con el proyecto edi que esta programado en .NET te dejo el link









descarga: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Sanko, a caso no te gustaria tener un robot al lado tuyo ahora? crei que todos deseabamos eso, hasta mi madre seguramente lo desearia. Como no puedo tenerlo fisicamente por lo menos me gusta pensar como podria hacerse uno virtualmente. Pero creeme que no necesito ningun psiquiatra, estoy mas cuerdo que muchos otros..

Snifer, tus ideas son buenas, yo he leido un monton y he visto cosas como lo que dices, esta bueno, solo que yo hablo de hacer algo innovador. Pero vamos, una persona sola no puede hacerlo, se hacen empresas para lograr cosas buenas, yo solo queria tener ideas para asi en un futuro con buena base tal vez pueda meterme en algo de todo esto de la inteligencia artificial.

Este software es lo que estoy esperando para comprarlo o esperar que sea gratis:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

que puedo decir, la verdad es muy subjetivo, y yo por ejemplo no me interesa en absoluto un robot o algo así al lado mio, creo que deberías empezar por conseguir una buena base sólida de programación y pensar que si no lo hizo nadie por algo es, el nivel no es para cualquiera, y si quieres hacerlo parecido a un cerebro humano, te deceo suerte pero deberías entender primero como funciona el cerebro, que en realidad dudo que lo sepas ya que estás preguntando como hacer un algoritmo que lo emule, si supieras programación y mucho sobre el organo cerebro, quizá no sería tan complicado pensar en lo básico.

De todos modos yo creo que es un poco iluso pensar que tu solo puedes hacer un bot que realmente emule control sobre lo analógico.

El proyecto de snifer es muy bueno, recuerdo cuando trabajaba en el, que viejos tiempos snifer.

de todos modos, no digo que dejes de intentarlo ni nada, te deceo suerte ;)

saludos!

Debes meterte algo en la cabeza.
El cerebro humano tiene plasticidad y simultaneidad , estimulo  -  respuesta NO PROGRAMADA.
Al contrario las maquinas programadas conocen unas respuestas para unos estimulos reducidos que incluso nosotros mismos tenemos que indicarle y como reaccionar ante ellos.
El robot es creado para la automatización de procesos , es decir , un esclavo que haga las cosas por nosotros y para mi siempre tendrá ese fin.
El robot no deja de ser robot y jamas servira para otra cosa que para servirte
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Debes meterte algo en la cabeza.
El cerebro humano tiene plasticidad y simultaneidad , estimulo  -  respuesta NO PROGRAMADA.
Al contrario las maquinas programadas conocen unas respuestas para unos estimulos reducidos que incluso nosotros mismos tenemos que indicarle y como reaccionar ante ellos.
El robot es creado para la automatización de procesos , es decir , un esclavo que haga las cosas por nosotros y para mi siempre tendrá ese fin.
El robot no deja de ser robot y jamas servira para otra cosa que para servirte

la verdad, creo que nadie lo podría haber dicho mejor, estoy totalmente de acuerdo.

saludos!

Gracias AcidCode, pero has visto el video que yo deje? es mil veces mejor :P

Piensan que yo me meteria siquiera a soñar sobre algoritmos de aprendizaje (que es lo unico que queria hacer aca, dar ideas entre todos para crear algo distinto a los bots actuales como ese Denise que usa AIML) sin saber programacion y como funciona nuestro cerebro? No subestimen a la gente.

Pueden cerrar el tema, que yo me guardo mis ideas para mi.

Guardandose sus ideas cierro tema  8)
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!