Implementation thoughts

I'd like to use C#
I'd like to have a web interface so that other can play with it
The basic web UI would simply allow statements and questions to be posed
A more advanced UI would allow the user to edit the AI's internal data structures
The input to the program will consist of the following:
A file that will represent the AI's knowledge of the world, consisting of entities, relationships, values, rules, etc.
A file that will represent the AI's mapping of words to entities
A file that will contain the linguistic transformations
A set of stories. Each story will consist of one or more statements, followed by one or more questions, each question having an expected answer.
For now, the data files will be parsed and read into memory at the start of the program's execution. Perhaps in the future they would be stored in a database.
I'll use NUnit to execute each of the stories to make sure that as new stories are added, old ones aren't broken.
I may implement a UI to make it easier to represent what the engine is doing. A big part of a successful implementation would be developing debugging tools... however, I don't know how much of that I want to get into at this point. I will likely create them as needed.

As for what to name the C# project, I'll go with Plato for now.

To make the implementation manageable, I'll break it down into "Exercises" that will iteratively get me closer to my goal.