Example usage for edu.stanford.nlp.ie.util RelationTriple relationLemmaGloss

List of usage examples for edu.stanford.nlp.ie.util RelationTriple relationLemmaGloss

Introduction

In this page you can find the example usage for edu.stanford.nlp.ie.util RelationTriple relationLemmaGloss.

Prototype

public String relationLemmaGloss() 

Source Link

Document

The relation of this relation triple, as a String of the relation's lemmas.

Usage

From source file:edu.illinois.cs.cogcomp.pipeline.handlers.StanfordOpenIEHandler.java

License:Open Source License

@Override
protected void addView(TextAnnotation ta) throws AnnotatorException {
    Annotation document = new Annotation(ta.text);
    pipeline.annotate(document);// w  ww  .j  a v  a  2  s.co  m
    SpanLabelView vu = new SpanLabelView(viewName, ta);
    for (CoreMap sentence : document.get(CoreAnnotations.SentencesAnnotation.class)) {
        Collection<RelationTriple> triples = sentence
                .get(NaturalLogicAnnotations.RelationTriplesAnnotation.class);
        for (RelationTriple triple : triples) {
            Constituent subject = getConstituent(triple.subjectGloss(), triple.subjectTokenSpan(), sentence,
                    ta);
            subject.addAttribute("subjectGloss", triple.subjectGloss());
            subject.addAttribute("subjectLemmaGloss", triple.subjectLemmaGloss());
            subject.addAttribute("subjectLink", triple.subjectLink());
            Constituent object = getConstituent(triple.objectGloss(), triple.objectTokenSpan(), sentence, ta);
            object.addAttribute("objectGloss", triple.objectGloss());
            object.addAttribute("objectLemmaGloss", triple.objectLemmaGloss());
            object.addAttribute("objectLink", triple.objectLink());
            Constituent relation = getConstituent(triple.relationGloss(), triple.relationTokenSpan(), sentence,
                    ta);
            relation.addAttribute("relationGloss", triple.relationGloss());
            relation.addAttribute("relationLemmaGloss", triple.relationLemmaGloss());
            Relation subj = new Relation("subj", relation, subject, triple.confidence);
            Relation obj = new Relation("obj", relation, object, triple.confidence);
            vu.addRelation(subj);
            vu.addRelation(obj);
            vu.addConstituent(subject);
            vu.addConstituent(object);
            vu.addConstituent(relation);
        }
    }
    ta.addView(viewName, vu);
}

From source file:iitg.cs565.Alphabet.InfoExtracter.RealationBuilder.java

public void buildAllRelations() {
    try {/*  w  w  w.  ja  v a 2  s  .  com*/
        Properties props = new Properties();
        props.setProperty("annotators", "tokenize,ssplit,pos,lemma,depparse,natlog,openie");
        StanfordCoreNLP core = new StanfordCoreNLP(props);

        System.out.println("Stanford Core NLP Initialized");

        BufferedReader br = null;
        PrintWriter pw = null;
        String line;
        int fileIndex = 1;

        for (; fileIndex < AlphabetConstants.LARGEST_FILE_INDEX; fileIndex++) {
            StringBuffer inFilePath = new StringBuffer();
            StringBuffer outFilePath = new StringBuffer();
            inFilePath.append(AlphabetConstants.TAGGED_PROTEST_ARTICLES_PATH).append(fileIndex);
            outFilePath.append(AlphabetConstants.RELATION_PATH).append(fileIndex);

            File file = new File(inFilePath.toString());

            if (file.exists()) {
                System.out.println("File exists: " + fileIndex);

                // Read file                   
                br = new BufferedReader(new FileReader(inFilePath.toString()));
                pw = new PrintWriter(new FileWriter(outFilePath.toString()));

                // Read all lines
                while ((line = br.readLine()) != null) {

                    Annotation doc = new Annotation(line);
                    core.annotate(doc);

                    for (CoreMap sentence : doc.get(CoreAnnotations.SentencesAnnotation.class)) {
                        Collection<RelationTriple> triples = sentence
                                .get(NaturalLogicAnnotations.RelationTriplesAnnotation.class);
                        for (RelationTriple triple : triples) {

                            pw.write("(" + triple.subjectLemmaGloss() + "#" + triple.relationLemmaGloss() + "#"
                                    + triple.objectLemmaGloss() + ")\n");

                        }
                    }
                }
                br.close();
                ;
                pw.close();

            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

}