Thursday, September 24, 2009

Architecture Plan

So, how will it work?
The project is going to have three parts:
AI part - will be written in AIML - an xml language for creating interactive chat bots. The AIML will be processed by pyAIML, and will be based on the ALICE chatbot AIML files.
Speech part - speech will probably be analysed by CMUSphinx - an open source speech recognition library, in order to generate text. Speech will (probably) be generated, in Java, by FreeTTS.
Modules - some python modules will be written by the project team, in order to enable special functioning (downloading information from web resources, accessing phone functionality such as taking pictures...)

Most programming work will go to:
1. connecting the python server which will run the AI and the modules, and the (probably) Java server which will run the speech recognition and generation.
2. designing modules

What is this?

reMind is a project for the N900Push competition. The concept is to make an N900 cellular phone run a full-blown talking AI - you will be able to go into the room and start talking to your phone. Even better, you will be able to configure multiple personalities on the phone, and bring your household objects (dolls, toys) to life... The technology used will be composed of several open source packages.
The next phase is modules - in some points in the conversation, the bot might go on wikipedia to search for some info, take a picture for you, and all in natural speech, not specific commands ("please take a picture", "photo me", "take a photo now", etc.). Other modules can improve the brain, for example adding the ability to analyze google news articles and talk about them.