Package opennlp.maxent

Examples of opennlp.maxent.Event


    ce = new ClassificationEvaluator();
    List<Event> trainEvents = new ArrayList<Event>();
    List<Event> testEvents = new ArrayList<Event>();
    for(BagEvent be : bagEvents) {
      trainEvents.add(new Event(be.getClassLabel(), be.getFeatures().getSet().toArray(new String[0])));
    }
    for(BagEvent be : testBagEvents) {
      testEvents.add(new Event(be.getClassLabel(), be.getFeatures().getSet().toArray(new String[0])));
    }
    DataIndexer di = new TwoPassDataIndexer(new EventCollectorAsStream(new SimpleEventCollector(trainEvents)), 1);
    GISModel gm = GIS.trainModel(100, di);
   
    //ClassificationEvaluator ce = new ClassificationEvaluator();
View Full Code Here


    for(String word : trainSet) {
      Collection<String> f = overallFeatures.get(word);
      //System.out.println(f);
      String type = chemFeatures.containsKey(word) ? "CHEM" : "NONCHEM";

      Event event = new Event(type, f.toArray(new String[0]));
      events.add(event);
    }
    if(events.size() == 1) events.add(events.get(0));
    DataIndexer di = new TwoPassDataIndexer(new EventCollectorAsStream(new SimpleEventCollector(events)), 3);
    GISModel gm = GIS.trainModel(100, di);
View Full Code Here

        //tokenSet.remove(stemmer.getStem(s));
        tokenSet.add("PROTECT:" + s);
        tokenSet.add("PROTECT:stem=" + stemmer.getStem(s));
      }
      if(hasPotentialReact) {
        Event e = new Event(hasReact ? "TRUE" : "FALSE", tokenSet.toArray(new String[0]));
        events.add(e);
        BagEvent be = new BagEvent(hasReact ? "TRUE" : "FALSE", tokenBag);
        eventBags.add(be);
      }
    }
       
    if(false) {
      ClassificationEvaluator ce = new ClassificationEvaluator();

      MultinomialNaiveBayes mnb = new MultinomialNaiveBayes(eventBags);
      for(int i=0;i<eventBags.size();i++) {
        BagEvent be = eventBags.get(i);
      //for(BagEvent be : eventBags) {
        Map<String,Double> results = mnb.testBag(be.getClassLabel(), be.getFeatures());
        System.out.println(be.getClassLabel() + "\t" + mnb.testBag(be.getFeatures()));
        ce.logEvent(be.getClassLabel(), mnb.bestResult(results));
        String rf = "MNB:" + mnb.bestResult(results);
        Event e = events.get(i);
        String [] sa = new String[e.getContext().length + 1];
        for(int j=0;j<e.getContext().length;j++) {
          sa[j] = e.getContext()[j];
        }
        sa[e.getContext().length] = rf;
        events.set(i, new Event(e.getOutcome(), sa));
      }
      System.out.println(ce.getAccuracy());
      System.out.println(ce.getKappa());     
      ce.pprintConfusionMatrix();
      ce.pprintPrecisionRecallEval();
View Full Code Here

    classifiers = new HashMap<String,GISModel>();
    for(String type : trainingData.keySet()) {
      List<Event> events = new ArrayList<Event>();
      for(String subtype : trainingData.get(type).keySet()) {
        for(List<String> features : trainingData.get(type).get(subtype)) {
          Event ev = new Event(subtype, features.toArray(new String[0]));
          events.add(ev);
        }
      }
      if(events.size() < 2) continue;
      DataIndexer di = null;
View Full Code Here

   
    List<Event> events = new ArrayList<Event>();
    for(String s : batch1) {
      String outcome = "E";
      if(isChem.get(s)) outcome = "C";
      events.add(new Event(outcome, getFeatures(s)));
    }
    SimpleEventCollector sec = new SimpleEventCollector(events);
    DataIndexer di = new TwoPassDataIndexer(new EventCollectorAsStream(sec), 1);
    GISModel gis = GIS.trainModel(100, di);
   
    System.out.println(gis.getIndex("FOO"));
    if(true) return;
   
   
    long time = System.currentTimeMillis();
    StringGISModelWriter sgmw = new StringGISModelWriter(gis);
    sgmw.persist();
    String modelStr = sgmw.toString();

    //System.out.println(modelStr);
   
    StringGISModelReader sgmr = new StringGISModelReader(modelStr);
    gis = sgmr.getModel();
    System.out.println("Round trip in " + (System.currentTimeMillis() - time));
    System.out.println(modelStr.length());
   
    //if(true) return;
   
    GISModel gis2 = null;
   
    if(false) {
      List<Event> events2 = new ArrayList<Event>();
      for(String s : batch2) {
        double prob = gis.eval(getFeatures(s))[gis.getIndex("C")];
        String outcome = "E";
        if(isChem.get(s)) outcome = "C";
        events.add(new Event(outcome, probToFeatures(prob)));
      }
      sec = new SimpleEventCollector(events);
      di = new TwoPassDataIndexer(new EventCollectorAsStream(sec), 2);
      gis2 = GIS.trainModel(1000, di);     
    }
View Full Code Here

      for(Entry e : entriesByFileName.get(fn)) {
        Token t = procDoc.getTokenByStart(e.start);
        if(t != null) {
          List<String> features = featuresForToken(t);
          Event event = new Event(e.type, features.toArray(new String[0]));
          events.add(event);
        }
      }
      //System.out.println(nr.tokensByEnd);
    }
   
    Collections.shuffle(events, new Random(5));
   
    List<Event> trainData = events.subList(0, events.size()/2);
    List<Event> testData = events.subList(events.size()/2, events.size());
   
    if(trainData.size() == 1) trainData.add(trainData.get(0));
    DataIndexer di = new TwoPassDataIndexer(new EventCollectorAsStream(new SimpleEventCollector(trainData)), 1);
    GISModel gm = GIS.trainModel(100, di);
   
    ClassificationEvaluator ce = new ClassificationEvaluator();
   
    for(Event event : testData) {
      double [] results = gm.eval(event.getContext());
      String result = gm.getBestOutcome(results);
      System.out.println(event.getOutcome() + "\t" + result + "\t" + results[gm.getIndex(event.getOutcome())] + "\t" + StringTools.arrayToList(event.getContext()));
      ce.logEvent(event.getOutcome(), result);
    }
    System.out.println(ce.getAccuracy());
    System.out.println(ce.getKappa());
    ce.pprintConfusionMatrix();
    ce.pprintPrecisionRecallEval();
View Full Code Here

    if(false) {
      ce = new ClassificationEvaluator();
      List<Event> trainEvents = new ArrayList<Event>();
      List<Event> testEvents = new ArrayList<Event>();
      for(BagEvent be : bagEvents) {
        trainEvents.add(new Event(be.getClassLabel(), be.getFeatures().getSet().toArray(new String[0])));
      }
      for(BagEvent be : testBagEvents) {
        testEvents.add(new Event(be.getClassLabel(), be.getFeatures().getSet().toArray(new String[0])));
      }
      DataIndexer di = new TwoPassDataIndexer(new EventCollectorAsStream(new SimpleEventCollector(trainEvents)), 1);
      GISModel gm = GIS.trainModel(100, di);
     
      //ClassificationEvaluator ce = new ClassificationEvaluator();
View Full Code Here

        words.add(st.getStem(termArray[j]).intern());
        words.add(termArray[j].intern());
      }
    }
    String c = hasCue ? "TRUE" : "FALSE";
    return new Event(c, words.toArray(new String[0]));
  }
View Full Code Here

    Map<String,Double> byProb = new HashMap<String,Double>();
    Map<String,String> res = new HashMap<String,String>();
    int mp = 0;
    int mn = 0;
    for(int i=numDocs/2;i<numDocs;i++) {
      Event e = docToEvent(ir, i, c);
      //System.out.println(gm.getBestOutcome(gm.eval(e.getContext())));
      double prob = gm.eval(e.getContext())[gm.getIndex("TRUE")];
      //System.out.println(ir.document(i).getField("filename").stringValue().replaceAll("markedup", "source"));
      String name = ir.document(i).getField("filename").stringValue().replaceAll("markedup", "source");
      byProb.put(name, prob);
      res.put(name, e.getOutcome());
      if(e.getOutcome().equals("TRUE")) {
        mp++;
      } else {
        mn++;
      }
    }
View Full Code Here

      List<String> features = new ArrayList<String>();
      for(int i=0;i<event.getContext().length;i++) {
        String feature = event.getContext()[i];
        if(allowableFeatures.contains(feature)) features.add(feature);
      }
      Event newEvent = new Event(event.getOutcome(), features.toArray(new String[0]));
      newEvents.add(newEvent);
    }

    if(Oscar3Props.getInstance().verbose) System.out.println("Selected " + allowableFeatures.size() + " features from " + featureCounts.size());
    return newEvents;
View Full Code Here

TOP

Related Classes of opennlp.maxent.Event

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.