HACKER Q&A
📣 dogweather

How would you program a rule-based chatbot or web app?


I've done lots of old-school Prolog and CLIPS rule-based expert systems.

Now, zooming to the present, I want to support Ukraine with an in-browser app that teaches and applies international criminal law. (The "Rome Statute of the International Criminal Court.)

Criminal Law — including the Rome Statute — always consists of a set of "elements" that need to be present. These change very infrequently, so I think that "hard-coding" them in a platform is fine. I don't believe I need any kind of self-discovery of rules and classifications.

Now, I've found a great Javascript, in-browser Prolog implementation, Tau Prolog. I've taken a first stab at some Prolog code.

What else should I consider? I'd like the system to support lots of info for the user such as how decisions were made, and what facts are missing in order to make a conclusion.

My rough initial code: https://github.com/public-law/war-crimes-explorer/blob/master/crimes.pl


  👤 bckr Accepted Answer ✓
A modern NLP system might help extract user intention from the user input.

Or you could use "chat" where chat actually means pre-fabricated inputs in a simple decision tree.