Micro ELI (English Language Interpreter) takes in an input sentence and outputs its conceptual dependency (CD) form. BABEL takes in a CD form and outputs natural language sentences of the same meaning. Micro SAM (Script Applier Mechanism) matches stories to scripts (templates for stereotypical social situations).
Install clisp. To run Micro ELI, run clisp, and once in the interpreter, run this:
(load 'qa)
- It can output the CD form of a simple statement. Given "jack got a red kite", it outputs: (ACTOR (JACK) <=> (*ATRANS*) OBJECT (KITE (COLOR (RED))) TO (JACK)).
- It can output the CD form of a simple question. Given "who went to the store", it outputs: (ACTOR (BOB) <=> (*PTRANS*) OBJECT (BOB) TO (*?*)).
- Combined with BABEL, it can produce natural language answers to a question given a simple story. If the story is ((jack went to the store) (bob went to the beach) (jack got a kite) (bob got a seashell)) and the question is "where did bob go", it outputs: (bob is going to beach) (bob is coming to beach).
- It can work with MicroSAM and answer questions given an input story.
- The current lexicon is small.
- More CD predicates need to be added.
- Distinguishing between word senses: To successfully parse "jack paid the check with a check", articles "the" and "a" must take on a different form of definition where they don't look for a noun to form a noun phrase. Otherwise, the control flow of the stack will not have given *predicted* a value by the time the program gets to the first "check". However, these alternative definitions will not correctly parse "jack got a red kite". In this scenario, "a" must look for an adjective to form a noun phrase so that the predicates defined in "red" can be appended to the final CD form.
Predicate | Parameters | Variable Name | Definition |
---|---|---|---|
ATRANS | (ACTOR, OBJECT, FROM, THRU, TO) | get-var | The transfer of an abstract relationship such as possession, ownership or control. |
PTRANS | (ACTOR, OBJECT, FROM, THRU, TO) | go-var | The transfer of physical location of an object. |
PBUILD | (ACTOR, OBJECT) | pb-var | The change in the physical form of an object. |
STRANS | (ACTOR, OBJECT) | st-var | The change in the status of an object. |
PROPEL | (ACTOR, OBJECT, FROM, TO) | prop-var | The application of a physical force to an object. |
INGEST | (ACTOR, OBJECT, FROM, TO) | in-var | The taking in of an object by another object. |
GRASP | (ACTOR, OBJECT) | gs-var | To grasp an object. |
ATTEND | (ACTOR, OBJECT) | att-var | To focus a sense organ to an object. |
MOVE | (ACTOR, OBJECT, FROM, TO) | mov-var | To move a body part. |
EXPEL | (ACTOR, OBJECT, FROM, TO) | exp-var | To push something out of the body. |
JOIN | (ACTOR, OBJECT, FROM, TO) | j-var | To change the physical relationship between objects. |