 |
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. |
|
 |