OpenCog

Dependency relations

From OpenCog

RelEx generates dependency relations that connect pairs of words or phrases, and name the relationship between these parts. Thus, for example, int the sentence "John threw the ball", "John" is the subject who is doing the throwing, and "the ball" is the object being thrown. This is denoted as

  _subj (throw, John)
  _obj (throw, ball)

These dependency relations come in two forms: a fixed number of predefined relations, and a much larger number (hundreds) of prepositional relations.

A list of relations, as commonly used by linguistics researchers, is included at the bottom. As far as possible, RelEx attempts to adhere to the relations as they are commonly named. However, there is one point on which ReleEx differs significantly: it collapses together prepositional and prepositional object relationships, so that a single free-form relationship takes the place of the two distinct relations. So, for example, for the sentence "It happened in the garden", instead of generating the two relations prep(happen,in) and pobj(garden, in), RelEx generates a combined form: in(happen, garden). This is done because virtually all prepositional phrases are unambiguous; the combined form expressed the relationship more directly and clearly.

Contents

Table

The fixed relations are given in the table below. This table is attempting to be authoritative.

Relex relation Formal description Example Relation Example Sentence
_amod attributive adjectival modifier _amod(locked, door) The locked door fell open.
_advmod adverbial modifier _advmod(ago, start) The game started an hour ago.
_appo appositive of a noun (appositional modifier) _appo(bird, robin) The bird, a robin, sang sweetly.
_%atLocation _%atLocation(happen, _$qVar) Where did that happen?
_%atTime _%atTime(happen, _$qVar) When did that happen?
_%because _%because(fall, _$qVar) Why did he fall?
_iobj indirect object _iobj(give, push) The linebacker gave the quarterback a push.
_nn prenomial modifier of a noun _nn(goal, line) He stood at the goal line.
_obj object. Also used for passive nominal subject _obj(eat, sandwich) He ate the sandwich.
_pobj object of preposition _pobj(next_to, house) The garage is next to the house.
_poss genitive modifier of a noun (sometimes termed "gen") _poss(hand, John) John's hand slipped.
_predadj predicative adjectival modifier _predadj(late, Smith) Mr. Smith is late.
_psubj subject of preposotion _psubj(next_to, garage) The garage is next to the house.
_%quantity_mult quantity multiplier _%quantity_mult(hundred, three) He lost three hundred dollars.
_%quantity_mod quantity modifier _%quantity_mod(three, almost) He lost almost three dollars.
_%quantity numeric modifier _%quantity(dollar, three) He lost three dollars.
_subj subject of a verb _subj(be, he) _subj(do, one) He is the one that did it.
_that implied preposition "that" _that(know, angry) He knew I was angry.
_to-be _to-be(smell, sweet) The rose smelled sweet.
_to-do _to-do(like, row) Linas likes rowing.

Any given relation may occur mutiple times in one sentence, including _subj, _obj; for example "He is the one that did it." -- the object of "he" is the subject of "do".

Note that attributive adjectives, and predicative adjectives can have different meanings: Mr. Smith is late vs. The late Mr. Smith. Thus, relex attempts to distinguish these.

Prepositional relations

Rather than generating a prepositional object, and a prepositional complement (the way that many other parsers do), RelEx collapses both of these into a single prepositional relation, with the preposition linking the th object to its verb. As a result, RelEx generates at least as many prepositional relations as there are prepsitions. Thus, for example, consider the sentence He went to the store. Dependency parsers might typically output something like

pobj (go, store)
pcomp (go, to)

RelEx will collapse these two into one relation:

to(go, store) 

Collapsing these two into one seems reasonable, as the result is completely unambiguous, (the traditional form can be easily obtained, if needed), and it is also easier to scan/comprehend with a quick glance.

Some additional examples follow.

Preposition Relation Example Example Sentence
to to(go, store) He went to the store.
at at(look, building) He looked at the building.
off off(wander, field) He wandered off the field.
for for(jump, ball) He jumped for the ball.
by by(cause, linebacker) That fumble was caused by the linebacker.

Other dependency relations

Other dependenncy grammars, such as Dkang Lin's miniPar, generate similar relations. The table below documents some of the other commonly used relation types, and their equivalents in RelEx. The point is that RelEX does not generate these relations.

Relation Description Example text Example relation comment
det determiner of a noun the cookie det(cookie, the) RelEx uses the DEFINITE-FLAG feature instead.
gen genitive modifier of a noun Alice's cookie gen(cookie, Alice) Identical to _poss, which RelEx does generate.
nsubjpass passive nominal subject rocks were thrown nsubjpass(thrown, rocks) Relex currently identifies these as obj.
num numeric modifier three dollars num(dollar, three) RelEx uses _%quantity instead
pcomp complement of a preposition It happened in the garden pcomp(garden, in) RelEx uses the general prepositional relations instead, e.g. in(happen, garden)
sc small clause complement of a verb. Alice forced him to stop. sc(stop, to) RelEx uses the general prepositional relations instead, e.g. to(force,stop)

Standard list of dependency relations

Below is a list of "industry standard" dependency relations, as defined in de Marneffe (2006). This is in turn derived from King et al. (2003), which in turn derives from Carroll et al. (1999).

The list is structured as a tree, with dep as the root of the tree. Marking a relation as being of type dep simply implies that there is a dependency relation between words. Ideally, relations are marked with the most refined relation possible.

dep - dependent

aux - auxiliary
auxpass - passive auxiliary
cop - copula
conj - conjunct
cc - coordination
arg - argument
subj - subject
nsubj - nominal subject
nsubjpass - passive nominal subject
csubj - clausal subject
comp - complement
obj - object
dobj - direct object
iobj - indirect object
pobj - object of preposition
attr - attributive
ccomp - clausal complement with internal subject
xcomp - clausal complement with external subject
compl - complementizer
mark - marker (word introducing an advcl)
rel - relative (word introducing a rcmod)
acomp - adjectival complement
agent - agent
ref - referent
expl - expletive (expletive there)
mod - modifier
advcl - adverbial clause modifier
purpcl - purpose clause modifier
tmod - temporal modifier
rcmod - relative clause modifier
amod - adjectival modifier
infmod - infinitival modifier
partmod - participial modifier
num - numeric modifier
number - element of compound number
appos - appositional modifier
nn - noun compound modifier
abbrev - abbreviation modifier
advmod - adverbial modifier
neg - negation modifier
poss - possession modifier
possessive - possessive modifier ('s)
prt - phrasal verb particle
det - determiner
prep - prepositional modifier (also pmod, sometimes)
sdep - semantic dependent
xsubj - controlling subject

References

  • Marie-Catherine de Marneffe, Bill MacCartney, and Christopher D. Manning, Generating Typed Dependency Parses from Phrase Structure Parses (2006)
  • John Carroll, Guido Minnen, and Ted Briscoe. 1999. Corpus annotation for parser evaluation. In Proceedings of the EACL workshop on Linguistically Interpreted Corpora (LINC).
  • Tracy H. King, Richard Crouch, Stefan Riezler, Mary Dalrymple, and Ronald Kaplan. 2003. The PARC 700 dependency bank. In 4th International Workshop on Linguistically Interpreted Corpora (LINC-03).