Syntax of Discourse Representation Structures (DRSs)
The Prolog syntax of DRSs is defined below in BNF. There are basic and complex DRSs:
<drs> ::= <basic-drs> |
<complex-drs>
A basic DRS comprises a set of discourse referents and a set of DRS-conditions. Note that all discourse referents and DRS-conditions are prefixed by a list of indices that refer to word positions.
<basic-drs> ::= drs(<referents>,<conditions>)
<referents> ::= [] |
[<indices>:<referent>{,<indices>:referent>}]
<conditions> ::= [] |
[<indices>:<condition>{,<indices>:condition>}]
<indices> ::= [] |
[<number>{,<number>}]
<referent> ::= <prolog-atom> |
<prolog-variable>
Complex DRSs are constructed with the merge (conjoining two DRSs), the sentence-merge (conjoining two DRSs denoting sentences) or with alfa (representing anaphoric or presuppositional information).
<complex-drs> ::= merge(<drs>,<drs>) |
smerge(<drs>,<drs>) |
alfa(<alfa-type>,<drs>,<drs>)
The alfa-type specifies the kind of anaphoric information: anaphoric pronoun, definite description, proper name, reflexive pronoun, or deictic pronoun.
<alfa-type> ::= pro |
def |
nam |
ref |
dei
There are basic and complex DRS-conditions:
<condition> :: = <basic-condition> |
<complex-condition>
The basic conditions are one-place properties (predicates), two-place properties (relations), named entities, time-expression, cardinal expressions, or equality:
<basic-condition> ::= pred(<referent>,<symbol>,<pos-type>,<sense>) |
rel(<referent>,<referent>,<symbol>,<sense>) |
named(<referent>,<symbol>,<ne-type>,<sense>) |
timex(<referent>,<time-expression>) |
card(<referent>,<number>,<cardinality-type> |
eq(<referent>,<referent>)
The part of speech type gives more information on the kind of predicate: noun, verb, or adjective/adverb. Note that predicates with the same symbol but with different part of speech type are considered to be different predicates.
<pos-type> ::= n |
v |
a
The sense is denoted by a positive integer (for instance a WordNet? sense) or by 0 if the sense is unknown:
<sense> ::= 0 | 1 | 2 | ...
Named entity types comprise organsiation, person, title, quoted, location, first name, surname, url, email, or just name when unknown:
<ne-type> ::= org |
per |
ttl |
quo |
loc |
fst |
sur |
url |
ema |
nam
The cardinality type is equal, less or equal, or greater or equal.
<card-type> ::= eq |
le |
ge
Time expressions follow more or less the syntax of TimeML.
<time-expression> ::= date(<indices>:<pol>,<indices>:<year>,<indices>:<month>,<indices>:<day>) |
time(<indices>:<hour>,<indices>:<minute>,<indices>:<second>)
<pol> ::= + | -
<year> ::= '0001' | '0002' | ... | '9999'
<month> ::= '01' | '02' | ... | '12'
<day> ::= '01' | '02' | ... | '07'
<hour> ::= '00' | '01' | ... | '23'
<minute> ::= '00' | '01' | ... | '59'
<second> ::= '00' | '01' | ... | '59'
The complex DRS-conditions express disjunction, implication, negation, a question, or a propositional attitude:
<complex-condition> ::= or(<drs>,<drs>) |
imp(<drs>,<drs>) |
not(<drs>) |
whq(<answer-type>,<drs>,<referent>,<drs>) |
prop(<refererent>,<drs>)
Example
As an example, consider the DRS for Every man loves Mia.
drs([[4]:Y],
[[4]:named(Y,mia,per,0),
[1]:imp(drs([[1]:X],
[[2]:pred(X,man,n,1)]),
drs([[3]:E],
[[3]:pred(E,love,v,0),
[3]:rel(E,X,agent,0),
[3]:rel(E,Y,patient,0)]))])
Fixed Symbols
There is a set of fixed symbols used in basic DRS conditions. One-place predicates:
- topic,a,1 (elliptical noun phrases)
- thing,n,12 (used in NP quantifiers: 'something', etc.)
- person,n,1 (used in first-person pronouns, 'who'-questions)
- event,n,1 (introduced by main verbs)
- group,n,1 (used for plural descriptions)
- reason,n,2 (used in 'why'-questions)
- manner,n,2 (used in 'how'-questions)
- proposition,n,1 (arguments of propositional complement verbs)
- unit_of_time,n,1 (used in 'when'-questions)
- location,n,1 (used in 'there' insertion, 'where'-questions)
- quantity,n,1 (used in 'how many')
- amount,n,3 (used in 'how much')
- degree,n,1
- age,n,1
- neuter,a,0 (used in third-person pronouns: it, its)
- male,a,0 (used in third-person pronouns: he, his, him)
- female,a,0 (used in third-person pronouns: she, her)
- base,v,2
- bear,v,2
Two-place relations:
- rel,0 (general, underspecified type of relation)
- loc_rel,0 (locative relation)
- role,0 (underspecified role: agent,patient,theme)
- member,0 (used for plural descriptions)
- agent,0 (subject)
- theme,0 (indirect object)
- patient,0 (semantic object, subject of passive verbs)