Foros del Web » Soporte técnico » Ayuda General »

Inteligencia Artificial

Estas en el tema de Inteligencia Artificial en el foro de Ayuda General en Foros del Web. Soy un programador autodidacta y necesitaría saber si se puede hacer un programa que se retroprograme. O sea inteligencia artificial pero del cual no he ...
  #1 (permalink)  
Antiguo 28/03/2013, 18:17
 
Fecha de Ingreso: marzo-2013
Ubicación: Buenos Aires
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 2
Busqueda Inteligencia Artificial

Soy un programador autodidacta y necesitaría saber si se puede hacer un programa que se retroprograme. O sea inteligencia artificial pero del cual no he encontrado ejemplos.

Por ejemplo: un programa base en el cual se introduzcan todas las palabras existentes en castellano a una base de datos pero que este programa a su vez genere automaticamente una cadena de if-then en un archivo secundario de como emplear los artículos, proposiciones, preposiciones, conjunciones, sustantivos, verbos y adjetivos de acuerdo a datos gramáticos que se introduzcan. Que ese programa pueda utilizar ese archivo generado por si mismo y devuelva oraciones coherentes en algún otro archivo que se utilice para entablar una conversación con el programa, del cual tambien genere una cadena de if-then de acuerdo a las correcciones que se hagan durante la conversación sobre el buen uso del lenguaje.

No se si me explico bien respecto de que es lo que quiero hacer.

Y la otra pregunta es que si puede hacerse, cual sería el lenguaje apropiado para hacerlo.

Espero sus respuestas: muchas gracias!
  #2 (permalink)  
Antiguo 28/03/2013, 23:32
 
Fecha de Ingreso: marzo-2011
Mensajes: 342
Antigüedad: 13 años, 9 meses
Puntos: 97
Respuesta: Inteligencia Artificial

Este nuevo hilo es muy parecido a este , más allá de esa observación, sin dudas es un proyecto interesante de realizar, como poder hacerse hoy en día se puede hacer prácticamente todo, ¿va a ser fácil?, desde ya te digo que NO.

Para empezar hablamos del lenguaje castellano, si bien según esta infografía establece que es uno de los más "sencillos" de aprender, una cosa es nosotros que ya lo hablamos y otra comprender el lenguaje en todos sus cabales a nivel gramatical para diseñar un software inteligente que lo use. A nivel genérico y escribiendo rápido, tu trabajo implicaría:

Primero: aprender el lenguaje a un nivel profundo (gramaticalmente hablando).
Segundo: si, seguramente sería necesario usar una gran base de datos que contenga todas las palabras (si es que tu programa va a responderle al usuario), o la gran mayoría (supongo que por ahí debe andar alguna base que puedas conseguir), salvo que quieras que se genere a medida que los usuarios escriben.
Tercero: (sin entrar a detallar en todo el proceso de ing. de software), la creación de los algoritmos que permitan estructurar la gramática correcta de respuestas de tu programa, cosa nada sencilla. Podría desde tomarte meses, hasta años.

En pocas palabras, algo como Google translate

_Donde uno carga del lado izquierdo "aqui en playa la pasamos bien estamos"
_Y el programa devuelve "pasamos bien aqui en la playa estamos"

_Si se pone "aquí en playa la pasamos bien estamos"
_el programa devuelve "here en la playa pasamos bien estamos"
(errores, si... y hablamos de Google, con sus bases de datos y capacidad de inteligencia humana detrás). O tal vez "word".

La otra opción es que consigas algún software open source que te permita tener una base de comienzo para reutilizar, más alguna que otra librería, porque sino, más allá de que busques retroalimentación por parte de los usuarios, es un trabajo que podría tomarte mucho tiempo de investigación y desarrollo, aunque como práctica y base para algo distinto puede servirte, saludos
  #3 (permalink)  
Antiguo 29/03/2013, 06:16
 
Fecha de Ingreso: marzo-2013
Ubicación: Buenos Aires
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Inteligencia Artificial

Gracias Sebastopol!

En parte mi pretensión es algo como lo que describes pero en general va mas allá.
Tampoco es que quisiera que corrigiera el buen uso de una frase, sino que pudiera hablar coherentemente.

Para ello necesitaria que el mismo programa fuera generando su propio codigo en un archivo escrito por el mismo y este archivo fuera a su vez empleado para correrse. Como el aprendizaje humano: un programa base y a medida que vas aprendiendo estas generando tu propia programación que te faculta para procesar toda la información que tienes.

Sería algo asi como correr un programa en donde se ingresan datos y que a su vez el programa genera otro lenguaje de máquina aparte para entender como manejar los datos ingresados. Se que es un poco loco lo que pregunto, pero no se si existen ejemplos y si algún lenguaje puede llegar a ese nivel.

Se que basicamente se puede programar casi todo lo que explico siempre y cuando yo lo haga, pero pretendo un programa autónomo que pueda generar su propio código.

Un abrazo!
  #4 (permalink)  
Antiguo 29/03/2013, 13:06
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 11 meses
Puntos: 57
Respuesta: Inteligencia Artificial

Esto es mas bien un problema que se resuelve con un compilador en lugar de un software que haga lo que quieres. El compilador tendria que aceptar archivos de entrada con la reglas que quieres seguir. No habria necesidad de desarrollar nada nuevo cada vez que cambias el archivo de reglas.

Investiga sobre algunas herramientas en Linux como bison, yacc, lex, flex que son analizadores sintacticos y semanticos.
No se si habra esas herramientas para Windows
  #5 (permalink)  
Antiguo 29/03/2013, 15:01
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años, 1 mes
Puntos: 84
Respuesta: Inteligencia Artificial

no soy un programador senior que conozca todos los entresijos de un código determinado, conozco los fundamentos de programación y desarrollar herramientas web. de momento no sé más.

pero sí tengo culturilla general sobre lo que planteas bifeancho.

un programa que responda coherentemente necesita entender lo que le dicen para saber qué responder con coherencia. doy por hecho que eso ya lo sabes.

la inteligencia artificial humana no hay llegado todavía. para ello se necesitan principalmente tres cosas:

hardware que se autodefina (ese material no está desarrollado todavía). los ordenadores procesan la información en hardware inamovible (chips y transistores rígidos), para poder tener inteligencia humana necesitan crear nuevas conexiones que le sirvan para definir su propia entidad, como las neuronas humanas.

psicología. oí que en España hay universidades, dos como mucho, creo, que están realizando trabajos interdisciplinares entre ingeniería informática y psicología para entender cómo piensa un ser humano y cómo trasladarlo a un lenguaje de programación.

software: el principal limitante de los lenguajes actuales es que ante un problema puedes pre-establecer cómo solucionar un determinado problema, no cómo solucionar cualquier problema con el mismo código, para ello tendrías que desarrollar código para cada nuevo problema, evidentemente no vas a estar programando (literlamente) todo un universo de problemas (desde problemas sentimentales, matemáticos, cuestiones filosóficas, empáticas, gustos, etc. sería imposible programar eso.)

todo esto parece que se sale de lo que quieres, pero es la única manera de que yo al introducir en un <input> la frase "estoy aburrido, no sé qué hacer, recomiéndame algo pero que no sea comer helado porque hoy he comido helado, y que no requiera llegar tarde a casa porque no tengo ganas de dormir muy tarde" el programa entienda

1º) qué problema le estoy planteando entre todo ese string, qué posibilidades puede ofrecerme, sobre qué temática y qué debe descartar.

2º) que no cualquier plan que me ofrezca es factible, como visitar una funeraria porque en su base de datos una de las opciones que tiene como palabra es funeraria, lo mismo con maceta, o serpiente.

no se, puede que después de todo esté metiendo la pata y me haya lanzado a darte una respuesta que no te sirva. pero es lo que yo se y quería compartirlo contigo.

ejemplo de lo que digo es el programa online cleverbot, que casi nunca da respuestas coherentes.

un saludo!! :)
  #6 (permalink)  
Antiguo 29/03/2013, 16:56
 
Fecha de Ingreso: marzo-2013
Ubicación: Buenos Aires
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Inteligencia Artificial

Muchas gracias Guardamicorreo!!!!!

A eso me refería exactamente, pero en algo mas simple ya que desde lo físico lo necesario ya existe. Que el aprendizaje humano requiera de conexiones nerviosas nuevas, en programación se soluciona con programación nueva sin necesitar mas chips con conexiones físicas.

Y esa programación nueva debería ser creada por el mismo programa base a medida que aprende. O crear conexiones entre diferentes archivos determinados, en biología es necesaria la conexion física pero en programación no.

Gracias a tu explicación puedo centrarme mas en que estoy buscando: si existe algún lenguaje que permita programar para crear enlaces automaticamente entre archivos de forma que al correr el programa, este genere enlaces de datos entre diferentes bases de datos.

Por ejemplo: en un input ingreso 3 animales (perro, gato y vaca) que se guardan en una base de datos. En otra base de datos guardo 3 sonidos (perro, gato y vaca). De tal manera que cuando le pida la imagen al programa de un perro y me devuelva el sonido de una vaca, con dos botones de SI y NO pueda enseñarle que sonido corresponde al nombre del animal y de esta manera genere esa relación por si misma. Al poner imagenes relaciones la imagen, con el sonido y el nombre del animal.

De esa manera generaría una enorme base de datos interrelacionadas, pero que estas relaciones las genere el mismo programa sin que tenga que hacerlo el programador.

Un abrazo amigo! Y gracias por el enorme aporte que me ha ayudado a ser mas especifico en la pregunta!
  #7 (permalink)  
Antiguo 29/03/2013, 18:09
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años, 1 mes
Puntos: 84
Respuesta: Inteligencia Artificial

buscando recursos para programación y maquetación web he ido a parar a esos sitios que me encantan que son las librerias opensource.

allí encontré un libro gratuito titulado 'programación lógica e I.A.' (I.A.=Inteligencia Artificial)

ni lo he abierto, pero viendo el índice creo que te puede interesar (te resalto en negrita lo que creo que más te puede alentar a leerlo, aunque es obvio que es mejor leer todo el libro)

El sistema deductivo de Prolog
Introducción a la programación lógica con Prolog
Programación con Prolog
Resolución de problemas de espacios de estados
Procesamiento del lenguaje natural
Ingeniería del conocimiento y metaintérpretes
Razonamiento por defecto y razonamiento abductivo
Programación lógica con restricciones
Formalización en Prolog de la lógica proposicional
Programación lógica y aprendizaje automático

http://www.etnassoft.com/biblioteca/...-logica-e-i-a/

espero que te sirva, hasta aquí puedo ayudarte, más no, lo siento xD

saludos y ya me cuentas si quieres por mensaje privado qué tal te fué en tu desarrollo.
suerte amigo! un placer haber contribuido con un granito de arena a tu causa!! :D
  #8 (permalink)  
Antiguo 30/03/2013, 13:24
 
Fecha de Ingreso: marzo-2013
Ubicación: Buenos Aires
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Inteligencia Artificial

Gracias Guardamicorreo!!!!

Excelente libro, estuve ojeandoló y hay mucho de lo que busco. Veré si encuentro solución al tema mas específico de programación y como lograr la autoprogramación.

Excelente libro! Muchas gracias por todo !

Un abrazo!

Etiquetas: inteligencia, programación-general
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

SíEste tema le ha gustado a 1 personas




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