# Logic for a knowledge based expert system

Basically, I want a system that reads blobs of text, parses it and stores related chunks and when the user asks a question, it returns with an in-context answer which groups together a bunch of facts. The topic and the initial blob set is hardcoded.

I am noober than a newbie and I don't understand how the chunks would form relationships amongst themselves by logic and not by rule when the inference engine would run and also, how they would be stored together.

Also, if I am trying to reinvent the wheel, I'd be grateful if you could point me to open-source systems that already exist which just take in data and produce answers to questions after having performed some logical operations on it.

• What papers and books have you read about Natural Language Processing ? – Basile Starynkevitch Mar 25 '18 at 11:19
• I understand what the op wants here,which is out of the scope,as defined in our community guidelines.So you want to know how you can create a knowledge based system/expert system?,you want the concept behind! – quintumnia Mar 27 '18 at 18:37

In the context of case-based reasoning the chunks are called “cases” and are equal to memory from the past. Let us investigate an example how a knowledge based expert system looks like. At first, we have the knowledge itself which is determined by symbolic events happening over time:

time event
0   carIsArriving
1   personIsLeavingCar
1   carIsArriving
2   carDrivesAway
3   personEntersCar


This is an example of a surveillance camera at a gas station which is monitoring the traffic. The events are stored in the form subject-verb-object in a database. All events around a single car can be aggregated to a chunk of information, that is a case. If a new case is happening it can be compared with existing cases for determine a stochastic similarity. This answer the question, if a case is normal or not. The quality of the AI can be improved, if not only a text-based storage is used, but a symbolic model is in place in which the events are triggering game states. This is comparable to a text-adventure which knows also moves which are fulfill certain rules.

• didn't want to edit the answer, but are there minor typos? ("person-isleaving-car" as opposed to "person-is-leaving-car"?; "car is arriving" vs. "car-is-arriving") – DukeZhou Apr 6 '18 at 17:50
• @DukeZhou I believe this is his method of avoiding spaces in the names. He really should use camelCase though. – FreezePhoenix Apr 6 '18 at 19:30
• @Pheo I use camel sometimes, but for absolute clarity tend to prefer the underscore: car_is_arriving. – DukeZhou Apr 6 '18 at 20:28