About...

NICOLE is an attempt to simulate a conversation by learning how words are related to other words. A Human communicates with NICOLE via the keyboard and NICOLE responds back with its own sentences which are automatically generated, based on what NICOLE has stored in it's database. Each new sentence that has been typed in, and NICOLE doesn't know about it, it is included into NICOLE's database, thus extending the knowledge base of NICOLE.

There are similar programs out there that do this (such as the classic 'Eliza' program), but none of them, that I have come across, extend their vocabulary or knowledge base. NICOLE is an attempt to bridge this gap.

The original idea came from a program written by Matthew Peck in 1990. He wrote a program called NIALL. This program ran under AMOS for the Amiga computer (Ahh.. those were the days). His original version can be found in the files section. If anyone knows of how to get in touch with Matthew then please let me know as I wouldn't mind chatting to him (after all, NICOLE was inspired by NIALL).

The original NICOLE was written back in 1992, in Turbo Pascal 7, and ran on an IBM XT 386. Unfortunately due to a computer virus, I no longer have the original course code. I intend to re-write NICOLE from the ground up, so it is probably a good idea that I don't have the original code, leaving plenty of room for new ideas. :)

C/C++ will be my language of choice and I intend to develop NICOLE on the Linux operating system (of course, feel free to port it to other platforms if you like). I find that Linux has the 'grunt' I need compared to other OS's (no flame wars please). The code will be released under the GNU Public License as I intend to share my project with everyone else.

The theory of NICOLE was tested with the original version, however due to hardware limitations, and my poor knowledge of data structure algorithms, it was VERY slow. (As an example, between each sentence and a NICOLE respone, there was a delay of over 20 minutes. A very painful conversation indeed!). After a knowledge base of 200 words, and a vocabulary of about 50 sentences, NICOLE started to generate its own sentences and could even understand the context that you were conversing in.

With today's fast hardware and knowledge of better algorithms, the NICOLE project should be much more viable and realistic.

If you wish to contribute to this project, or have any questions you want to ask, then feel free to drop me an email or three, and I'll answer you as best as I can.

Cheers,
Phil Howlett.
1st Feb 2000.



Phil Howlett
19th June 2000