@Override
  protected void collapseDependencies(List<TypedDependency> list, boolean CCprocess) {
    if (DEBUG) {
      printListSorted("collapseDependencies: CCproc: " + CCprocess, list);
    }
    correctDependencies(list);
    if (DEBUG) {
      printListSorted("After correctDependencies:", list);
    }

    eraseMultiConj(list);
    if (DEBUG) {
      printListSorted("After collapse multi conj:", list);
    }

    collapse2WP(list);
    if (DEBUG) {
      printListSorted("After collapse2WP:", list);
    }

    collapseFlatMWP(list);
    if (DEBUG) {
      printListSorted("After collapseFlatMWP:", list);
    }

    collapse2WPbis(list);
    if (DEBUG) {
      printListSorted("After collapse2WPbis:", list);
    }

    collapse3WP(list);
    if (DEBUG) {
      printListSorted("After collapse3WP:", list);
    }

    collapsePrepAndPoss(list);
    if (DEBUG) {
      printListSorted("After PrepAndPoss:", list);
    }

    collapseConj(list);
    if (DEBUG) {
      printListSorted("After conj:", list);
    }

    collapseReferent(list);
    if (DEBUG) {
      printListSorted("After collapse referent:", list);
    }

    if (CCprocess) {
      treatCC(list);
      if (DEBUG) {
        printListSorted("After treatCC:", list);
      }
    }

    removeDep(list);
    if (DEBUG) {
      printListSorted("After remove dep:", list);
    }

    Collections.sort(list);
    if (DEBUG) {
      printListSorted("After all collapse:", list);
    }
  }
@ Override protected void collapseDependencies ( List < TypedDependency > list , boolean CCprocess ) { if ( DEBUG ) { printListSorted ( "collapseDependencies: CCproc: " + CCprocess , list ) ; } correctDependencies ( list ) ; if ( DEBUG ) { printListSorted ( "After correctDependencies:" , list ) ; } eraseMultiConj ( list ) ; if ( DEBUG ) { printListSorted ( "After collapse multi conj:" , list ) ; } collapse2WP ( list ) ; if ( DEBUG ) { printListSorted ( "After collapse2WP:" , list ) ; } collapseFlatMWP ( list ) ; if ( DEBUG ) { printListSorted ( "After collapseFlatMWP:" , list ) ; } collapse2WPbis ( list ) ; if ( DEBUG ) { printListSorted ( "After collapse2WPbis:" , list ) ; } collapse3WP ( list ) ; if ( DEBUG ) { printListSorted ( "After collapse3WP:" , list ) ; } collapsePrepAndPoss ( list ) ; if ( DEBUG ) { printListSorted ( "After PrepAndPoss:" , list ) ; } collapseConj ( list ) ; if ( DEBUG ) { printListSorted ( "After conj:" , list ) ; } collapseReferent ( list ) ; if ( DEBUG ) { printListSorted ( "After collapse referent:" , list ) ; } if ( CCprocess ) { treatCC ( list ) ; if ( DEBUG ) { printListSorted ( "After treatCC:" , list ) ; } } removeDep ( list ) ; if ( DEBUG ) { printListSorted ( "After remove dep:" , list ) ; } Collections . sort ( list ) ; if ( DEBUG ) { printListSorted ( "After all collapse:" , list ) ; } }
Destructively modifies this <code>Collection&lt;TypedDependency&gt;</code>
by collapsing several types of transitive pairs of dependencies.
<dl>
<dt>prepositional object dependencies: pobj</dt>
<dd>
<code>prep(cat, in)</code> and <code>pobj(in, hat)</code> are collapsed to
<code>prep_in(cat, hat)</code></dd>
<dt>prepositional complement dependencies: pcomp</dt>
<dd>
<code>prep(heard, of)</code> and <code>pcomp(of, attacking)</code> are
collapsed to <code>prepc_of(heard, attacking)</code></dd>
<dt>conjunct dependencies</dt>
<dd>
<code>cc(investors, and)</code> and
<code>conj(investors, regulators)</code> are collapsed to
<code>conj_and(investors,regulators)</code></dd>
<dt>possessive dependencies: possessive</dt>
<dd>
<code>possessive(Montezuma, 's)</code> will be erased. This is like a collapsing, but
due to the flatness of NPs, two dependencies are not actually composed.</dd>
<dt>For relative clauses, it will collapse referent</dt>
<dd>
<code>ref(man, that)</code> and <code>dobj(love, that)</code> are collapsed
to <code>dobj(love, man)</code></dd>
</dl>