Go to content Go to menu

A Web-Based Expert System

6 November 2006

An expert system is a program that uses a set of rules to analyse information about a specific subject with a view to solving problems or giving advice. It emulates a human expert’s problem solving ability by performing relevant tasks as well as, or better than, the expert. Often, the expert system will explain and justify its output and provide a measure of certainty in the appropriateness of the output. Furthermore, the output given by an expert system is, as is the case with humans, heuristic (a rule of thumb) rather than algorithmic (guaranteed to succeed).

Expert systems are incredibly useful tools. Traditional tasks have included:

  • Data interpretation – such as responding to business “intelligence” like key performance indicators.
  • Problem diagnosis – such as advising on equipment failure or human diseases.
  • Configuration of complex systems – such as guiding the set-up of computer software.
  • Planning actions – such as advising on business strategy or suggesting robotic manoeuvres.

This article briefly explains the capabilities of yet another project I am currently developing: an easy-to-use web-based expert system that acts as a marketplace for sharing and disseminating knowledge and expertise.


Read the full article...

My original .NET chat bot was written over three years ago and is based upon the AIML standard. It was also my first project in C# and became a vehicle for me to learn about the .NET platform.

Now that I have extensive experience and knowledge of .NET, I am re-designing this library to include several modifications and improvements. This article describes how I want Program# to develop and how I intend contribute to a version written in Ruby.


Read the full article...

Program# is a .NET implementation of the ALICE chatterbot using the AIML specification. Put simply, this software will allow you to chat (by entering text) with your computer using natural language.

Program# is available under the Gnu GPL. This means that you are free to download, modify and share it.

This article contains an overview of how the software works, coding examples and instructions for how to download Program#.


Read the full article...

Computational Creativity

23 January 2005

I am fascinated by creativity and artificial intelligence.

This article, based upon an unpublished academic paper, is a very short summary of work completed as part of my MSc dissertation.

An exploratory model of creativity is demonstrated by implementing a genetic algorithm that attempts a type of musical creativity called species counterpoint (see my guide to species counterpoint).

Initial results are of comparable quality to counterpoint composed by humans. I conclude by describing areas and techniques for further development.


Read the full article...