Friday, August 22, 2008

Machine Learning

machine learning is concerned with the development of algorithms and techniques that allow computers to “learn”. At a general level, there are two types of learning: inductive, and deductive. Inductive machine learning methods extract rules and patterns out of massive data sets.

Some parts of machine learning are closely related to data mining and statistics. Machine learning research is focused on the computational properties of the statistical methods, such as their computational complexity.

LISP Resources

AI Programming (Lisp) Resources Link Page

AIML Chatterbots

Alex, programmed to assist visitors looking for basic legal information on Jurist, the Legal Education Network from the University of Pittsburgh School of Law.

Amy, enjoying fun topics like everyone else, Amy is a gossip. Simply by asking her for gossip you will hear the latest from some of Amy's friends as she loves chatting online.

Cyber Ivar, created by software nodelling company Jaczone, Cyber Ivar teaches about software development, their processes and the advantages of the Unified Modeling Language.

iGod, repenting made easy. This simulation is convinced that it is the one and only answer to your prayers. This Macromedia Flash AIML bot is based on the teachings of Christianity.

Lauren, an Alice based diva with an outgoing personality. She was the winner of the Chatterbot Beauty Contest at the 2002 International Lisp Conference.

Ruby, working on any computer with Macromedia Flash installed, Ruby created by Lynn Hershman, this visually impressive bot wants to teach us to dream. (Pop-up window)

Jack the Ripper, in the autumn of 1888, a sadistic man prowled the dimly lit streets of London's East End. A disturbing use of Chatterbot technology has made him available to face charges via the Web.

John Lennon Artificial Intelligence Project, this highly ambitious product is programmed with John's own thoughts and words as expressed to those who knew him in an attempt to recreate the personality of the late Beatle.

What is a Chatterbot?

A Chatterbot is a program that attempts to simulate typed conversation, with the aim of at least temporarily fooling a human into thinking they were talking to another person.

Teachable Chatterbots

Corby, an intelligent conversation robot that simulates human verbal behaviour. It is based the stimulus-response model to use statements provided by the user to provide appropriate responses.

Dobot, a chatterbot that can be taught words, names and sentences. It can also customize the way you want it to reply to certain phrases. He can become very smart, but it depends on his teacher.

Jabberwacky, a wacky, humorous and surprisingly human bot that has learnt from millions of users, in many styles and languages. Warning: you may get hooked.

Leo and Dante, teachable chatterbots that learn from your conversation. However, as the author knows, starting from a clear database can be frustrating, so one is provided for you to build on.

MegaHal, not to be confused with the 2001 computer, Megahal was created by Jason Hutchens as a web experiment to learn what the public teach him, just like a baby does.

Mr Know-It-All, focusing on animals, plants and general science, this chatterbot by Paul Bird is able to remember what you teach him and can also do your sums.

Niall, The Non-Intelligent Acquired Language Learner is another chatterbot which in the beginning knows absolutely nothing. Created by Mat Peck, it is up to you to teach it.

Nicole, inspired by Mat Peck, the Nearly Intelligent Computer Operated Language Examiner is an attempt to simulate a conversation by learning how words are related to other words.

Omnibot, a Chatterbot that knows very little. However, like the other two, the more it is taught, the more it then knows. Be advised that to do this requires you to have a lot of spare time.

AIML: Artificial Intelligence Markup Language

AIML: Artificial Intelligence Markup Language

AIML (Artificial Intelligence Markup Language) is an XML-compliant language that's easy to learn, and makes it possible for you to begin customizing an Alicebot or creating one from scratch within minutes.

The most important units of AIML are:

  • : the tag that begins and ends an AIML document
  • : the tag that marks a "unit of knowledge" in an Alicebot's knowledge base
  • : used to contain a simple pattern that matches what a user may say or type to an Alicebot