About NICOLE:

N.I.C.O.L.E. is the mad creation of Phil Howlett. :)

N.I.C.O.L.E. is an acronym which stands for Nearly-Intelligent Computer
Operated Language Examiner.

It 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.
pghowlett@ozemail.com.au

Project Administrator