I'm interested in developing a natural language command language for a domain with existing rules. I was very impressed when Terry Winograd's SHRDLU showed the way (the conversation below is 40 years old! Astonishing). Can we do better now and if so where can I get examples?
Person: Pick up a big red block.
Computer: OK.
Person: Grasp the pyramid.
Computer: I don't understand which pyramid you mean.
Person (changing their mind): Find a block which is taller than the one you are holding and put it into the box.
Computer: By "it", I assume you mean the block which is taller than the one I am holding.
Computer: OK.
Person: What does the box contain?
Computer: The blue pyramid and the blue block.
Person: What is the pyramid supported by?
Computer: The box.
Person: How many blocks are not in the box?
Computer: Four of them.
Person: Is at least one of them narrower than the one which I told you to pick up?
Computer: Yes, the red cube.
I have an ontology for the domain so can reason over common problems.
Take a look at the controlled English (ACE) that has been developed in the Attempto project. It seems to have the required expressivity and flexibility. The ACE parser parses ACE sentences into a first order logic formula (a variant called DRS) which can then be used for further processing, e.g. automatic reasoning. The parser is available under LGPL, see the demo here.
Take a look at OpenCyc, a general knowledge base and commonsense reasoning engine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With