Example usage for edu.stanford.nlp.trees EnglishGrammaticalRelations RELATIVE_CLAUSE_MODIFIER

List of usage examples for edu.stanford.nlp.trees EnglishGrammaticalRelations RELATIVE_CLAUSE_MODIFIER

Introduction

In this page you can find the example usage for edu.stanford.nlp.trees EnglishGrammaticalRelations RELATIVE_CLAUSE_MODIFIER.

Prototype

GrammaticalRelation RELATIVE_CLAUSE_MODIFIER

To view the source code for edu.stanford.nlp.trees EnglishGrammaticalRelations RELATIVE_CLAUSE_MODIFIER.

Click Source Link

Document

The "relative clause modifier" grammatical relation.

Usage

From source file:knu.univ.lingvo.coref.Mention.java

License:Open Source License

public String getRelation() {

    if (headIndexedWord == null)
        return null;

    if (dependency.getRoots().isEmpty())
        return null;
    // root relation
    if (dependency.getFirstRoot().equals(headIndexedWord))
        return "root";
    if (!dependency.vertexSet().contains(dependency.getParent(headIndexedWord)))
        return null;
    GrammaticalRelation relation = dependency.reln(dependency.getParent(headIndexedWord), headIndexedWord);

    // adjunct relations
    if (relation.toString().startsWith("prep") || relation == EnglishGrammaticalRelations.PREPOSITIONAL_OBJECT
            || relation == EnglishGrammaticalRelations.TEMPORAL_MODIFIER
            || relation == EnglishGrammaticalRelations.ADV_CLAUSE_MODIFIER
            || relation == EnglishGrammaticalRelations.ADVERBIAL_MODIFIER
            || relation == EnglishGrammaticalRelations.PREPOSITIONAL_COMPLEMENT)
        return "adjunct";

    // subject relations
    if (relation == EnglishGrammaticalRelations.NOMINAL_SUBJECT
            || relation == EnglishGrammaticalRelations.CLAUSAL_SUBJECT
            || relation == EnglishGrammaticalRelations.CONTROLLING_SUBJECT)
        return "subject";
    if (relation == EnglishGrammaticalRelations.NOMINAL_PASSIVE_SUBJECT
            || relation == EnglishGrammaticalRelations.CLAUSAL_PASSIVE_SUBJECT)
        return "subject";

    // verbal argument relations
    if (relation == EnglishGrammaticalRelations.ADJECTIVAL_COMPLEMENT
            || relation == EnglishGrammaticalRelations.CLAUSAL_COMPLEMENT
            || relation == EnglishGrammaticalRelations.XCLAUSAL_COMPLEMENT
            || relation == EnglishGrammaticalRelations.AGENT
            || relation == EnglishGrammaticalRelations.DIRECT_OBJECT
            || relation == EnglishGrammaticalRelations.INDIRECT_OBJECT)
        return "verbArg";

    // noun argument relations
    if (relation == EnglishGrammaticalRelations.RELATIVE_CLAUSE_MODIFIER
            || relation == EnglishGrammaticalRelations.NOUN_COMPOUND_MODIFIER
            || relation == EnglishGrammaticalRelations.ADJECTIVAL_MODIFIER
            || relation == EnglishGrammaticalRelations.APPOSITIONAL_MODIFIER
            || relation == EnglishGrammaticalRelations.POSSESSION_MODIFIER)
        return "nounArg";

    return null;/*from  w w  w . j  a va 2  s.c  om*/
}

From source file:knu.univ.lingvo.coref.Mention.java

License:Open Source License

public int getModifiers(Dictionaries dict) {

    if (headIndexedWord == null)
        return 0;

    int count = 0;
    List<Pair<GrammaticalRelation, IndexedWord>> childPairs = dependency.childPairs(headIndexedWord);
    for (Pair<GrammaticalRelation, IndexedWord> childPair : childPairs) {
        GrammaticalRelation gr = childPair.first;
        IndexedWord word = childPair.second;
        if (gr == EnglishGrammaticalRelations.ADJECTIVAL_MODIFIER
                || gr == EnglishGrammaticalRelations.VERBAL_MODIFIER
                || gr == EnglishGrammaticalRelations.RELATIVE_CLAUSE_MODIFIER
                || gr.toString().startsWith("prep_")) {
            count++;/*from   w w w .j  a v  a  2 s. c  o m*/
        }
        // add noun modifier when the mention isn't a NER
        if (nerString.equals("O") && gr == EnglishGrammaticalRelations.NOUN_COMPOUND_MODIFIER) {
            count++;
        }

        // add possessive if not a personal determiner
        if (gr == EnglishGrammaticalRelations.POSSESSION_MODIFIER && !dict.determiners.contains(word.lemma())) {
            count++;
        }
    }
    return count;
}