Search in sources :

Example 16 with Parser

use of edu.illinois.cs.cogcomp.lbjava.parse.Parser in project cogcomp-nlp by CogComp.

the class SegmentTagPlain method main.

public static void main(String[] args) {
    String taggerName = null;
    String inputFile = null;
    String parserName = null;
    try {
        taggerName = args[0];
        inputFile = args[1];
        if (args.length > 2) {
            parserName = args[2];
            if (args.length > 3)
                throw new Exception();
        }
    } catch (Exception e) {
        System.err.println("usage: java edu.illinois.cs.cogcomp.lbjava.edu.illinois.cs.cogcomp.lbjava.nlp.seg.SegmentTagPlain <word classifier> " + "<input file> \\\n" + "                                         [<parser>]");
        System.exit(1);
    }
    Classifier tagger = ClassUtils.getClassifier(taggerName);
    Parser parser;
    if (parserName == null)
        parser = new PlainToTokenParser(new WordSplitter(new SentenceSplitter(inputFile)));
    else
        parser = ClassUtils.getParser(parserName, new Class[] { Parser.class }, new Parser[] { new WordSplitter(new SentenceSplitter(inputFile)) });
    String previous = "";
    for (Word w = (Word) parser.next(); w != null; w = (Word) parser.next()) {
        String prediction = tagger.discreteValue(w);
        if (prediction.startsWith("B-") || prediction.startsWith("I-") && !previous.endsWith(prediction.substring(2)))
            System.out.print("[" + prediction.substring(2) + " ");
        System.out.print(w.form + " ");
        if (!prediction.equals("O") && (w.next == null || tagger.discreteValue(w.next).equals("O") || tagger.discreteValue(w.next).startsWith("B-") || !tagger.discreteValue(w.next).endsWith(prediction.substring(2))))
            System.out.print("] ");
        if (w.next == null)
            System.out.println();
        previous = prediction;
    }
}
Also used : Word(edu.illinois.cs.cogcomp.lbjava.nlp.Word) SentenceSplitter(edu.illinois.cs.cogcomp.lbjava.nlp.SentenceSplitter) Classifier(edu.illinois.cs.cogcomp.lbjava.classify.Classifier) WordSplitter(edu.illinois.cs.cogcomp.lbjava.nlp.WordSplitter) Parser(edu.illinois.cs.cogcomp.lbjava.parse.Parser)

Aggregations

Parser (edu.illinois.cs.cogcomp.lbjava.parse.Parser)16 SentenceSplitter (edu.illinois.cs.cogcomp.lbjava.nlp.SentenceSplitter)5 WordSplitter (edu.illinois.cs.cogcomp.lbjava.nlp.WordSplitter)5 CoNLL2000Parser (edu.illinois.cs.cogcomp.chunker.utils.CoNLL2000Parser)4 Token (edu.illinois.cs.cogcomp.lbjava.nlp.seg.Token)4 Chunker (edu.illinois.cs.cogcomp.chunker.main.lbjava.Chunker)3 Word (edu.illinois.cs.cogcomp.lbjava.nlp.Word)3 PlainToTokenParser (edu.illinois.cs.cogcomp.lbjava.nlp.seg.PlainToTokenParser)3 Classifier (edu.illinois.cs.cogcomp.lbjava.classify.Classifier)2 TestDiscrete (edu.illinois.cs.cogcomp.lbjava.classify.TestDiscrete)2 BatchTrainer (edu.illinois.cs.cogcomp.lbjava.learn.BatchTrainer)2 POSBracketToToken (edu.illinois.cs.cogcomp.lbjava.nlp.seg.POSBracketToToken)2 ChildrenFromVectors (edu.illinois.cs.cogcomp.lbjava.parse.ChildrenFromVectors)2 PrepSRLDataReader (edu.illinois.cs.cogcomp.prepsrl.data.PrepSRLDataReader)2 ConstrainedPrepSRLClassifier (edu.illinois.cs.cogcomp.prepsrl.inference.ConstrainedPrepSRLClassifier)2 Test (org.junit.Test)2 ChunkLabel (edu.illinois.cs.cogcomp.chunker.main.lbjava.ChunkLabel)1 FeatureVector (edu.illinois.cs.cogcomp.lbjava.classify.FeatureVector)1 Learner (edu.illinois.cs.cogcomp.lbjava.learn.Learner)1 SparseAveragedPerceptron (edu.illinois.cs.cogcomp.lbjava.learn.SparseAveragedPerceptron)1