peter.murray.rust
peter.murray.rust

Reputation: 38043

Natural language command language

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.

Upvotes: 7

Views: 1479

Answers (3)

peter.murray.rust
peter.murray.rust

Reputation: 38043

I have also just encountered Regulus (http://en.wikipedia.org/wiki/Regulus_Grammar_Compiler) which has been extensively used by NASA.

Upvotes: 0

Kaarel
Kaarel

Reputation: 10672

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.

Upvotes: 2

luvieere
luvieere

Reputation: 37494

Take a look at OpenCyc, a general knowledge base and commonsense reasoning engine.

Upvotes: 3

Related Questions