Train your own AI by chatting to it
I often wish I was studying artificial intelligence. Whether it is because it involves several beautiful fields of science, the philosophical aspects of what to answer the day your PC claims it has become alive all of a sudden, or just the sheer thrill of trying to play god is not important. Nevertheless, the subject consists of many easy to grasp, difficult to understand and hard to learn subfields. While it is quite possible to get a basic knowledge of concepts such as neural nets, genetic algorithms or expert systems from a little reading in bed, the science behind is so far way beyond my reach. I therefore welcome any news about developments in the more layman-applicable parts of AI research.
KurzweilAI.net (via The Speculist) writes about the merging of two tools for AI enthusiasts. Combining open source software, HTML-like structures, databases and relationships, this seems to be a development at such an aggregated level that even I should be able to play around with it.
OpenCyc is a database of general knowledge, a big collection of concepts and their assertions, as well as an ontology of the concepts. Basically, the data stored in the database can be accessed by an AI program. Instead of entering information into the database manually, it is preferable to 'teach' the database by talking to an AI program (a chatbot) in a natural language.
AIML is an XML structured markup language. It is used to structure the knowledge base of ALICE chatbots. It includes tags for a category/concept, a pattern which represents what a user might say to the chatbot to trigger the identification of the concept, and a template for a response to the user. To use this knowledge base better, the chatbot can benefit greatly from an inference engine such as OpenCyc.
Enter project CyN. CyN is an AIML interpreter that communicates with the OpenCyc engine, enabling the training of a chatbot in a natural language. The project team describes their vision:
One of the first questions that interested programmers want to know about OpenCyc is what kind of natural language interface is there and can they talk with it. And one of the things that interested programmers who learn AIML ask is how to make their chat bots appear smarter. CyN tries to address the desires of both communities.Having been inspired by the book I am currently recommending to anyone who cares to listen, Ray Kurzweil's The Age of Spiritual Machines, Gordon at the Speculist has been musing about enhancing the Ramona chatbot by distributed computing and training. Interesting thoughts, after all teaching a mind of any sort requires quite an effort and a shared training will increase reliability and performance.
The CyN project seems to pave the way for small groups to achieve such goals, where individuals train their personal AIs, and the AI relays knowledge to one or more aggregated AI personalities, being a synthesis of its individual members. Maybe future developments will allow a global inferrence engine containing the combined knowledge of several trained-by-humans niche AIs. With everyone talking to their personal AI, both these and the community AIs can develop the global database of all knowledge knwon by AIs. From such a synthesis of human memes, values, morale and knowledge, it should not be long before the AI reaches a sophisticated level, asking the age-old question of Where should we have lunch?
And it's all open source...
Old commenting service: |