(Solucionado) Ayuda con mi programa de inteligencia artificial escrito en Python

Iniciado por Danielbetu, 27 Agosto 2013, 20:43 PM

0 Miembros y 2 Visitantes están viendo este tema.

Danielbetu

Hola, quiero hacer programa de inteligencia artificial, y soy nuevo en Python (conozco el Visual Basic),
tengo que tomar el texto de un usuario en una variable (que luego debe ser analizada y procesada)

y luego la visualización de una respuesta,

(Mi problema es que logro tomar la frase del usuario, pero no logro imprimir una respuesta y no puedo seguir)

Muchas gracias por la ayuda!   ;)

Esto es todo lo que pude desarrollar después de buscar y buscar:

#! /usr/bin/env python
# -*- coding: utf-8 -*-

from Tkinter import *

respuesta = "¿Hola como estás? ¿Como te llamas?"

def onEnter (event):
....frase = entrada.get()

....# generar una "respuesta" a partir de la variable "entrada"
....respuesta = "te respondo" # es solo un ejemplo de respuesta

....# imprimir la respuesta
....imprimir()

def imprimir ():
....etiqueta = Label(frame, text = respuesta)
....etiqueta.pack()

root = Tk()
root.title('Danito')

frame = Frame(root)
frame.pack()


label = Label(frame,
....borderwidth=30,
....width=80,
....height=20,
....relief=RAISED,
....fg = "light green",
....bg = "dark green",
....font = "Helvetica 16 bold italic",
....cursor="hand1",
....text= respuesta,
....)

entrada = Entry(frame,
....justify="center",
....borderwidth=20,
....width=70,
....relief=RAISED,
....fg = "blue",
....bg = "yellow",
....font = "Verdana 14 bold",
....)

label.pack()
entrada.pack()

#tomar el texto de entrada del usuario
entrada.bind('<Return>', onEnter)

entrada.focus_set()

root.mainloop()

AdeLax

Hola,

Yo también quise hacer algo parecido (Chatbot), te recomiendo que busques información sobre aiml y el modulo pyaiml, te sera mas facil, luego elige como quieres la interfaz, por lo que veo en Tkinter, te recomiendo que también busques documentacion de este...

Suerte!!

Danielbetu

Cita de: R4z3L.hax en 28 Agosto 2013, 00:26 AM
Hola,

Yo también quise hacer algo parecido (Chatbot), te recomiendo que busques información sobre aiml y el modulo pyaiml, te sera mas facil, luego elige como quieres la interfaz, por lo que veo en Tkinter, te recomiendo que también busques documentacion de este...

Suerte!!

Gracias por responder, voy a investigar como dices, ya tengo uno bastante avanzado en Visual Basic, pero decidí dejar Windows y pasarme a Linux (tengo Mint 13, una belleza realmente) y también dejar VB y aprender un idioma multiplataforma, y fue entonces que me gustó mucho Python por su limpieza y facilidad de código y que es de propósito general,

solo quería empezar con Tkinter que dicen que es más fácil para principiantes, en una simple ventana tomar una frase, elaborar una respuesta e mostrarla, tratando de sacar lo mejor del otro programa que hice en VB, y luego más adelante darle un "look" mejor a la interfaz,

pero busqué en un montón de páginas y quedé confundido, apuntan a la versión 2.7 de Python, otras al 3.3, encima hay varias formas de hacer lo mismo, por eso decidí buscar ayuda de quienes ya dominen el lenguaje

gracias R4z3L.hax

Danielbetu

Ahí conseguí todo lo que quería, ahora "solo" me resta implementar todo el código de reconocimiento de las frases para dar una respuesta "inteligente" ja ja (bueno, de eso se trata en cierta forma la inteligencia artificial, ¿no?  :rolleyes:

que es un tema que me apasiona, estuve averiguando la forma de que mi programa hable el text (text to speech) como lo hice en Visual Basic 6, pero es tema para más adelante

y también me gustaría añadirle que me reconozca la voz, eso sería formidable

el código resultante es:

#! /usr/bin/env python
# -*- coding: utf-8 -*-

from Tkinter import *

resp1 = "¿Hola como estás? ¿Cómo te llamas?"

def onEnter (event):
            frase = entrada.get()
            entrada.delete(0,75)

            # generate a "response" from the variable "input"
            resp1 = "esta es mi respuesta"

            # print the answer
            imprimir(resp1)

def imprimir (resp1):

            texto.delete(1.0,END)
            texto.insert(INSERT, resp1, 'tag-center')

ventana = Tk()
ventana.geometry("1024x782+150+30")
'''The first two parameters are the width and height of the window.
   The last two parameters are x, y screen coordinates.
   '''
ventana.title('Danito')

texto = Text(ventana,
                     fg = "white",
                     font = "verdana 14 bold italic",
                     relief = SUNKEN,
                     width = 80,
                     height = 30,
                     bd = 10,
                     bg = "sea green",
                     #justify = "center",
                     )

texto.tag_configure('tag-center', justify='center')
texto.insert('end', resp1, 'tag-center')

entrada = Entry(ventana,
                    justify="center",
                    borderwidth=20,
                    width=75,
                    relief=RAISED,
                    fg = "DeepSkyBlue3",
                    bg = "yellow",
                    font = "Verdana 14 bold italic",
                    )
texto.pack()
entrada.pack()

#take the entry text of user
entrada.bind('<Return>', onEnter)

entrada.focus_set()

ventana.mainloop()

¡¡¡¡¡Muchas gracias a todos!!!!!