Puedes mirarte a Anabel, es el chatbot que consiguio pasar el test de turing hace unos años. LLeva varias redes neuronales y va aprendiendo. La estructuras de las redes estan en el propio paper. El link del paper creo que este:
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0140866Era fácil de entender con conocimientos mas o menos básicos de redes neuronales. Por otro lado, tendrás por ahi el motor para usar en plan binario que tendra salida y entrada de texto para escriptarlo y meterlo donde quieras.
Si quieres algo mas potable aunque notablemente más viejo tienes el mitico eliza, o tambien llamado psiquiatra, para empezar:
http://web.stanford.edu/class/cs124/p36-weizenabaum.pdfAunque este último no aprende de verdad, hace un estudio de la estructura semantica para hacerse pasar por un humano usando el contexto del que se habla (creo recoradar que de la ultima frase, en plan psiquiatra). Es del año 66 pero a mi me sigue pareciendo muy guai. De este hay monton de implementaciones y tambien tendras versiones (como la de emacs) que son texto y son fácilmente scriptables.
No se si te sirve para tirar del hilo.
Podrias compartir el programa ?