Example usage for edu.stanford.nlp.ling LabelFactory newLabel

List of usage examples for edu.stanford.nlp.ling LabelFactory newLabel

Introduction

In this page you can find the example usage for edu.stanford.nlp.ling LabelFactory newLabel.

Prototype

public Label newLabel(Label oldLabel);

Source Link

Document

Create a new Label, where the label is formed from the Label object passed in.

Usage

From source file:elkfed.expletives.EF_Tree.java

License:Apache License

public static Tree tagged_word(String word, String tag) {
    LabelFactory lf = new StringLabelFactory();
    Tree result = new LabeledScoredTreeNode();
    result.setLabel(lf.newLabel(tag));
    Tree[] dtrs = new Tree[1];
    dtrs[0] = new LabeledScoredTreeNode(lf.newLabel(word));
    result.setChildren(dtrs);/*from   w w w  . jav a  2 s  .  com*/
    return result;

}

From source file:elkfed.expletives.EF_Tree.java

License:Apache License

public static Tree tree_pred(Tree node) {
    LabelFactory lf = new StringLabelFactory();
    Tree result = new LabeledScoredTreeNode();
    result.setLabel(lf.newLabel(node.value() + "-PRD"));
    if (node.value().equals("PP") && node.children().length == 2 && node.children()[0].value().equals("IN")) {
        Tree[] dtrs = new Tree[2];
        dtrs[0] = node.children()[0];//from   ww  w  . j a v a 2s . c o m
        dtrs[1] = node.children()[1].headPreTerminal(new ModCollinsHeadFinder());
        result.setChildren(dtrs);
    }
    Tree[] dtrs = new Tree[1];
    dtrs[0] = node.headPreTerminal(new ModCollinsHeadFinder());
    result.setChildren(dtrs);
    return result;
}

From source file:elkfed.expletives.EF_Tree.java

License:Apache License

/** constructs a marked subtree for a subclause
 * outside the path to the pronoun/*w w  w  .j a  va 2 s . c  o m*/
 * @param node the starting point
 * @return a marked subtree for the tree starting with node
 */
public static Tree tree_pruned(Tree node) {
    LabelFactory lf = new StringLabelFactory();
    Tree result = new LabeledScoredTreeNode();
    result.setLabel(lf.newLabel(node.value() + "-X"));
    List<Tree> dtrs = new ArrayList<Tree>();
    boolean cpl_seen = false;
    if (node.value().matches("S|SBAR|VP")) {
        for (Tree t : node.children()) {
            // modals are copied verbatim
            String cat = t.value();
            if (cat.matches("TO|MD|IN")) {
                dtrs.add(t);
                cpl_seen = true;
            } else if (cat.startsWith("WH")) {
                Tree dtr = tagged_word(cat, "WH");
                cpl_seen = true;
            } else if (t.value().startsWith("VB")) {
                break;
            } else if (t.value().matches("S|SBAR|VP")) {
                if (cpl_seen) {
                    //ignore
                } else {
                    dtrs.add(tree_pruned(t));
                }
            }
        }
    }
    result.setChildren(dtrs);
    return result;
}

From source file:elkfed.expletives.EF_Tree.java

License:Apache License

/** constructs a marked subtree for parts which are
 * outside the path to the pronoun/*w w w. ja v  a2 s  .  c o  m*/
 * @param node the starting point
 * @return a marked subtree for the tree starting with node
 */
public static Tree tree_outside(Tree node) {
    LabelFactory lf = new StringLabelFactory();
    // verbs and modals are copied verbatim
    if (node.value().matches("VB[DZPNG]?")) {
        return tagged_word(Morphology.stemStatic(node.children()[0].value(), node.value()).value(), "VBX");
        //return node;
    } else if (node.value().matches("TO|MD|IN|RB")) {
        return node;
    }
    Tree result = new LabeledScoredTreeNode();
    result.setLabel(lf.newLabel(node.value()));
    if (node.value().matches("VP")) {
        List<Tree> dtrs = new ArrayList<Tree>();
        dtrs_inside(node, dtrs);
        result.setChildren(dtrs);
    } else {
        List<Tree> dtrs = null;
        result.setChildren(dtrs);
    }
    return result;
}

From source file:elkfed.expletives.EF_Tree.java

License:Apache License

/**
 * constructs a marked subtree for the part where the
 * pronoun is <i>inside</i> the subtree
 * @param node the starting point/*w  w w.jav a 2  s .c  o m*/
 * @param pron our pronoun
 * @return a marked subtree for the tree starting with node
 */
public static Tree tree_inside(Tree node, Tree pron) {
    LabelFactory lf = new StringLabelFactory();
    int pron_left = pron.leftCharEdge(node);
    int pron_right = pron.rightCharEdge(node);
    List<Tree> dtrs = new ArrayList<Tree>(node.children().length);
    boolean node_seen = false;
    for (Tree t : node.children()) {
        if (t == pron) {
            dtrs.add(t);
            node_seen = true;
        } else if (t.dominates(pron)) {
            dtrs.add(tree_inside(t, pron));
            node_seen = true;
        } else {
            String cat = t.value();
            if (cat.matches("S|SBAR")) {
                dtrs.add(tree_pruned(t));
            } else {
                dtrs.add(tree_outside(t));
            }
        }
    }
    Tree result = new LabeledScoredTreeNode();
    result.setLabel(lf.newLabel(node.value() + "-I"));
    result.setChildren(dtrs);
    return result;
}

From source file:elkfed.expletives.EF_Tree.java

License:Apache License

public static Tree tree_markonly(Tree node, Tree pron) {
    LabelFactory lf = new StringLabelFactory();
    List<Tree> dtrs = new ArrayList<Tree>(node.children().length);
    for (Tree t : node.children()) {
        if (t == pron) {
            dtrs.add(t);/*from w w w.  j a  v  a2s  .c  om*/
        } else if (t.dominates(pron)) {
            dtrs.add(tree_markonly(t, pron));
        } else {
            dtrs.add(t);
        }
    }
    Tree result = new LabeledScoredTreeNode();
    result.setLabel(lf.newLabel(node.value() + "-I"));
    result.setChildren(dtrs);
    return result;
}