<commit_before>---
layout: base
title: 'remnant'
shortdef: 'remnant'
---

## remnant: remnant

The *remnant* relation is used to provide a satisfactory treatment of ellipsis (in
the case of gapping and stripping, where a predicational or verbal
head gets elided). This is something that was lacking in earlier versions
of SD. 
It provides a basis for being able to reconstruct dependencies
in the enhanced representation of SD. 
In particular, the goal was to achieve this *without* having to postulate empty nodes in the basic representation.

To develop motivation, consider first a sentence without ellipsis:

<div class="sd-parse">
Marie went to Paris and Miriam went to Prague
nsubj(went-2, Marie-1)
root(root-0, went-2)
nmod(went-2, Paris-4)
case(Paris-4, to-3)
cc(went-2, and-5)
nsubj(went-7, Miriam-6)
conj(went-2, went-7)
case(Prague-9, to-8)
nmod(went-7, Prague-9)
</div>

The question is then how to treat *Marie went to Paris and Miriam to Prague*. One option would be to pretend that there is an empty verb and to have the final elements be dependents of it: *Marie went to Paris and Miriam ∅ to Prague*. This analysis has some appeal but also has some problems and at any rate stops the basic dependency graph from being simply a tree of dependencies over the words of a sentence. So, USD uses an analysis that notes that in ellipsis a *remnant* corresponds to a *correlate* in a preceding clause. The *remnant* relation connects a remnant to its correlate in the basic dependency representation. This is then a sufficient representation to reconstruct the predicate-argument sturcture in the enhanced representation. So, for this example, we have:

<div class="sd-parse">
Marie went to Paris and Miriam to Prague
nsubj(went-2, Marie-1)
root(root-0, went-2)
nmod(went-2, Paris-4)
case(Paris-4, to-3)
cc(went-2, and-5)
remnant(Marie-1, Miriam-6)
case(Prague-8, to-7)
remnant(Paris-4, Prague-9)
</div>

Even in the more complex example below, the *remnant*
relations enable us to correctly retrieve the subjects and objects in
the clauses with an elided verb.

<div class="sd-parse">
John won bronze , Mary silver , and Sandy gold
nsubj(won-2, John-1)
dobj(won-2, bronze-3)
remnant(John-1, Mary-5)
remnant(Mary-5, Sandy-9)
remnant(bronze-3, silver-6)
remnant(silver-6, gold-10)
</div>

The *remnant* relation is used when no predicational material is present. In contrast, in right-node-raising (RNR) and VP-ellipsis constructions in which some kind of predicational or verbal material is still present, the *remnant* relation is not used. In RNR, the verbs
are coordinated and the object is a *dobj* of the first verb:

<div class="sd-parse">
John bought and ate an apple
nsubj(bought-2, John-1)
cc(bought-2, and-3)
conj(bought-2, ate-4)
dobj(bought-2, apple-6)
</div>

In VP-ellipsis, we keep the auxiliary as the head, as shown below:

<div class="sd-parse">
John will win gold and Mary will too
nsubj(win-3, John-1)
aux(win-3, will-2)
dobj(win-3, gold-4)
cc(win-3, and-5)
conj(win-3, will-7)
nsubj(will-7, Mary-6)<commit_msg>Update remnant.md<commit_after>---
layout: base
title: 'remnant'
shortdef: 'remnant in ellipsis'
---

## remnant: remnant in ellipsis

The *remnant* relation is used to provide a satisfactory treatment of ellipsis (in
the case of gapping and stripping, where a predicational or verbal
head gets elided). This is something that was lacking in earlier versions
of SD. 
It provides a basis for being able to reconstruct dependencies
in the enhanced representation of SD. 
In particular, the goal was to achieve this *without* having to postulate empty nodes in the basic representation.

To develop motivation, consider first a sentence without ellipsis:

<div class="sd-parse">
Marie went to Paris and Miriam went to Prague
nsubj(went-2, Marie-1)
root(root-0, went-2)
nmod(went-2, Paris-4)
case(Paris-4, to-3)
cc(went-2, and-5)
nsubj(went-7, Miriam-6)
conj(went-2, went-7)
case(Prague-9, to-8)
nmod(went-7, Prague-9)
</div>

The question is then how to treat *Marie went to Paris and Miriam to Prague*. One option would be to pretend that there is an empty verb and to have the final elements be dependents of it: *Marie went to Paris and Miriam ∅ to Prague*. This analysis has some appeal but also has some problems and at any rate stops the basic dependency graph from being simply a tree of dependencies over the words of a sentence. 

Therefore, USD adopts an analysis that notes that in ellipsis a *remnant* corresponds to a *correlate* in a preceding clause. The *remnant* relation connects each remnant to its correlate in the basic dependency representation. This is then a sufficient representation to reconstruct the predicate-argument sturcture in the enhanced representation. So, for this example, we have:

<div class="sd-parse">
Marie went to Paris and Miriam to Prague
nsubj(went-2, Marie-1)
root(root-0, went-2)
nmod(went-2, Paris-4)
case(Paris-4, to-3)
cc(went-2, and-5)
remnant(Marie-1, Miriam-6)
case(Prague-8, to-7)
remnant(Paris-4, Prague-8)
</div>

Even in the more complex example below, the *remnant*
relations enable us to correctly retrieve the subjects and objects in
the clauses with an elided verb.

<div class="sd-parse">
John won bronze , Mary silver , and Sandy gold
nsubj(won-2, John-1)
dobj(won-2, bronze-3)
remnant(John-1, Mary-5)
remnant(Mary-5, Sandy-9)
remnant(bronze-3, silver-6)
remnant(silver-6, gold-10)
</div>

Note in particular that (unlike for *conj*), *remnant* uses a chaining analysis where each subsequent remnant depends on the immediately preceding remnant/correlate. The reason for this is that otherwise in a sentence with 2 or more chained ellipses the dependency structure would no longer track which remnants go together. It would become impossible to determine whether Mary won silver and Sandy gold, or Mary won gold and Sandy silver.

The *remnant* relation is used when no predicational material is present. In contrast, in right-node-raising (RNR) and VP-ellipsis constructions in which some kind of predicational or verbal material is still present, the *remnant* relation is not used. In RNR, the verbs
are coordinated and the object is a *dobj* of the first verb:

<div class="sd-parse">
John bought and ate an apple
nsubj(bought-2, John-1)
cc(bought-2, and-3)
conj(bought-2, ate-4)
dobj(bought-2, apple-6)
</div>

In VP-ellipsis, we keep the auxiliary as the head, as shown below:

<div class="sd-parse">
John will win gold and Mary will too
nsubj(win-3, John-1)
aux(win-3, will-2)
dobj(win-3, gold-4)
cc(win-3, and-5)
conj(win-3, will-7)
nsubj(will-7, Mary-6)
{'fraction_non_alphanumeric': 0.09032749428789033, 'fraction_numerical': 0.020563594821020565, 'mean_word_length': 4.55969517358171, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5237361', 'n_tokens_mistral': 2175, 'n_tokens_neox': 2065, 'n_words': 939}