Did you know ... Search Documentation:
Pack ape -- prolog/utils/drs_to_coreace.pl
PublicShow source

Translates an Attempto DRS into the Core ACE fragment of Attempto Controlled English (ACE).

- Kaarel Kaljurand
- 2012-07-15

The setup: we have DRS-boxes and discourse referents, such that

Each referent lives-in exactly 1 box. For each box at least 1 referent lives-in it. Each referent has a unique ID and maps-to a set of conditions. Each box has a unique ID and has a name (if, then, '', or, `it is false that', etc.)

The task: verbalize each discourse referent, i.e. the conditions of each discourse referent. And do it in the context of

  1. the box,
  2. whether the referent has been verbalized already,
  3. whether some other referent from the same box has been verbalized already.

The order is important. It is set by referents_to_orderedreferents/2.

For the developer: to see the internals, use:

?- drs_to_coreace:ref2conds(Referent, Conditions, BoxId, SentenceId).
To be done
- URGENT: Use "Is it true that ... ?" for Yes/No questions
- Reorder conditions in OR-contructs so that the implications always come last Every dog barks and it is false that a cat sleeps or there is a man. (3711) There is a man or it is false a cat sleeps and if there is a dog ...
- Every pet is a dog or is a cat ,and is not a cow. # Support for mixing 'and' and 'or' is buggy.
- A customer enters every card or enters every code. # Serious scoping problem.
- Every book is something that an author that a publisher that John hates knows writes. (can be improved)
- What does every man like?
- What does no man like?
- There are less than 3 men and less than 3 women.
- Less than 3 men and John wait.
- /for-each-of plural constructions/
- Make `less than' and `at most' work in general
- Maybe use reflexive pronouns also when definite NPs are available: himself, herself, itself.
 drs_to_coreace(+Drs:drs, -AceSentenceList:list) is det
 Empty DRS -> []
 Unsupported DRS -> []
 Supported DRS -> [sentence1, sentence2, ..., sentenceN], where sentence is an atom
Drs- is an Attempto DRS
AceSentenceList- is a verbalization of the input DRS in Core ACE (a list of Core ACE sentences)

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

 bigdrs_to_coreace(Arg1, Arg2)