Package com.jgaap.util

Examples of com.jgaap.util.EventSet


  @Test
  public void testCreateEventSetDocumentSet() throws EventGenerationException {
    String text = ("abcdefghijklmnopqrstuvwxyz .");
    EventDriver eventDriver = new CharacterNGramEventDriver();
    eventDriver.setParameter("N", 3);
    EventSet sampleEventSet = eventDriver.createEventSet(text.toCharArray());
    EventSet expectedEventSet = new EventSet();
    Vector<Event> tmp = new Vector<Event>();
    tmp.add(new Event("abc", eventDriver));
    tmp.add(new Event("bcd", eventDriver));
    tmp.add(new Event("cde", eventDriver));
    tmp.add(new Event("def", eventDriver));
    tmp.add(new Event("efg", eventDriver));
    tmp.add(new Event("fgh", eventDriver));
    tmp.add(new Event("ghi", eventDriver));
    tmp.add(new Event("hij", eventDriver));
    tmp.add(new Event("ijk", eventDriver));
    tmp.add(new Event("jkl", eventDriver));
    tmp.add(new Event("klm", eventDriver));
    tmp.add(new Event("lmn", eventDriver));
    tmp.add(new Event("mno", eventDriver));
    tmp.add(new Event("nop", eventDriver));
    tmp.add(new Event("opq", eventDriver));
    tmp.add(new Event("pqr", eventDriver));
    tmp.add(new Event("qrs", eventDriver));
    tmp.add(new Event("rst", eventDriver));
    tmp.add(new Event("stu", eventDriver));
    tmp.add(new Event("tuv", eventDriver));
    tmp.add(new Event("uvw", eventDriver));
    tmp.add(new Event("vwx", eventDriver));
    tmp.add(new Event("wxy", eventDriver));
    tmp.add(new Event("xyz", eventDriver));
    expectedEventSet.addEvents(tmp);
    expectedEventSet.addEvent(new Event("yz ", eventDriver));
    expectedEventSet.addEvent(new Event("z .", eventDriver));
   
    assertTrue(expectedEventSet.equals(sampleEventSet));
   
  }
View Full Code Here


    return true; // Make true once code can compile
  }

  @Override
  public EventSet createEventSet(char[] text) throws EventGenerationException {
    EventSet eventSet = new EventSet();

    if (classifier == null) {
      synchronized (this) {
        if (classifier == null) {
          try {
            classifier = CRFClassifier.getJarClassifier(serializedClassifier, null);
          } catch (Exception e) {
            e.printStackTrace();
            throw new EventGenerationException("Classifier failed to load");
          }
        }
      }
    }
    String fileContents = new String(text);
    List<List<CoreLabel>> out = classifier.classify(fileContents);
    for (List<CoreLabel> sentence : out) {
      for (int i = 0; i < sentence.size(); i++) {
        if (!sentence.get(i).get(AnswerAnnotation.class).equals("O")) {
          if (i > 0 && sentence.get(i - 1).get(AnswerAnnotation.class).equals("O")) {
            eventSet.addEvent(new Event("BEFORE " + sentence.get(i - 1).word(), this));
          }
          if (i < sentence.size() - 1 && sentence.get(i + 1).get(AnswerAnnotation.class).equals("O")) {
            eventSet.addEvent(new Event("AFTER " + sentence.get(i + 1).word(), this));
          }
        }
      }
    }
View Full Code Here

  }
 

  @Override
  public EventSet createEventSet(char[] text) {
    EventSet sentences = super.createEventSet(text);
    EventSet eventSet = new EventSet(sentences.size());
    for(Event sentence : sentences){
      String[] words = sentence.toString().split("\\s+");
      if(words.length>0)
        eventSet.addEvent(new Event(words[0], this));
    }
    return eventSet;
    }
View Full Code Here

    String text = (
"a aah Aaron aback abacus abandon abandoned zones zoning zoo " +
"zoologist zoology zoom zooming zooms zucchini Zurich");

    EventDriver eventDriver = new NamingTimeEventDriver();
    EventSet sampleEventSet = eventDriver.createEventSet(text.toCharArray());
    EventSet expectedEventSet = new NumericEventSet();
    Vector<Event> tmp = new Vector<Event>();


    tmp.add(new Event("662.09", eventDriver));
    tmp.add(new Event("646.40", eventDriver));
    tmp.add(new Event("686.11", eventDriver));
    tmp.add(new Event("596.54", eventDriver));
    tmp.add(new Event("792.69", eventDriver));
    tmp.add(new Event("623.96", eventDriver));
    tmp.add(new Event("635.16", eventDriver));
    tmp.add(new Event("590.08", eventDriver));
    tmp.add(new Event("694.85", eventDriver));
    tmp.add(new Event("662.57", eventDriver));
    tmp.add(new Event("732.70", eventDriver));
    tmp.add(new Event("687.12", eventDriver));
    tmp.add(new Event("639.86", eventDriver));
    tmp.add(new Event("672.37", eventDriver));
    tmp.add(new Event("613.83", eventDriver));
    tmp.add(new Event("756.00", eventDriver));
    tmp.add(new Event("822.64", eventDriver));

    expectedEventSet.addEvents(tmp);

// System.out.println("Expected is " + expectedEventSet.toString());/
// System.out.println("Actual is " + sampleEventSet.toString());
    assertTrue(expectedEventSet.equals(sampleEventSet));
  }
View Full Code Here

    p.setParameter("maxPercent", 0.25);
    //System.out.println(p.toString());
   
    List<EventSet> events = new ArrayList<EventSet>();
    List<EventSet> expected = new ArrayList<EventSet>();
    EventSet holder = new EventSet();
    holder.addEvent(new Event("This", null));
    holder.addEvent(new Event("is", null));
    holder.addEvent(new Event("a", null));
    holder.addEvent(new Event("test.", null));
    events.add(holder);
    expected.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("This", null));
    holder.addEvent(new Event("is", null));
    holder.addEvent(new Event("another", null));
    holder.addEvent(new Event("test.", null));
    events.add(holder);
    expected.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    events.add(holder);
    expected.add(new EventSet());
   
    try {
      p.init(events);
      for(int i = 0; i < events.size(); i++){
        assertTrue(p.cull(events.get(i)).equals(expected.get(i)));
View Full Code Here

  @Override
  public EventSet createEventSet(char[] text) {
    int N = getParameter("N", 3);
    int M = getParameter("M", 2);

    EventSet es = super.createEventSet(text);
    EventSet newEs = new EventSet();

    /**
     * Create histogram with all events from stream
     */
    EventHistogram hist = new EventHistogram(es);

    /**
     * Re-search event stream for rare events as measured by histogram
     * count. If count is 1, it's a hapax, etc.
     */
    System.out.println("M = " + M + "; N = " + N);
    for (Event e : es) {
      int n = hist.getAbsoluteFrequency(e);
      //System.out.println(e.toString() + " " + n);
      if (n >= M && n <= N)
        newEs.addEvent(e);
    }
    return newEs;
  }
View Full Code Here

    p.setParameter("minPercent", 0.0);
    p.setParameter("maxPercent", 0.25);
    //System.out.println(p.toString());
   
    List<EventSet> events = new ArrayList<EventSet>();
    EventSet holder = new EventSet();
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("blah", null));
    events.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("it", null));
    holder.addEvent(new Event("is", null));
    holder.addEvent(new Event("test", null));
    events.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("blah", null));
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    events.add(holder);
   
    List<EventSet> expected = new ArrayList<EventSet>();
    holder = new EventSet();
    holder.addEvent(new Event("blah", null));
    expected.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("it", null));
    holder.addEvent(new Event("is", null));
    expected.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("blah", null));
    expected.add(holder);
   
    try {
      p.init(events);
      for(int i = 0; i < events.size(); i++){
View Full Code Here

  @Test
  public void testAnalyze() throws AnalyzeException{
   
    //Test 1
   
    EventSet known1 = new EventSet();
    EventSet known2 = new EventSet();
    EventSet known3 = new EventSet();
    EventSet known4 = new EventSet();
    EventSet unknown = new EventSet();

    known1.addEvent(new Event("alpha", null));
    known1.addEvent(new Event("alpha", null));
    known1.addEvent(new Event("alpha", null));
    known1.addEvent(new Event("alpha", null));
    known1.addEvent(new Event("betta", null));
    //known1.setAuthor("Mary");
   
    known3.addEvent(new Event("alpha", null));
    known3.addEvent(new Event("alpha", null));
    known3.addEvent(new Event("alpha", null));
    known3.addEvent(new Event("betta", null));
    known3.addEvent(new Event("betta", null));
    //known3.setAuthor("Mary");

    known2.addEvent(new Event("alpha", null));
    known2.addEvent(new Event("betta", null));
    known2.addEvent(new Event("betta", null));
    known2.addEvent(new Event("betta", null));
    known2.addEvent(new Event("betta", null));
    //known2.setAuthor("Peter");
   
    known4.addEvent(new Event("alpha", null));
    known4.addEvent(new Event("alpha", null));
    known4.addEvent(new Event("betta", null));
    known4.addEvent(new Event("betta", null));
    known4.addEvent(new Event("betta", null));
    //known4.setAuthor("Peter");

    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("alpha", null));
   
    double[] probs = new double[2];
    //R code : pnorm(80,70,sqrt(200),lower.tail=FALSE)*pnorm(20,30,sqrt(200))*.5
    probs[0] = 0.02874005; //Mary
    //R code : pnorm(80,30,sqrt(200),lower.tail=FALSE)*pnorm(20,70,sqrt(200))*.5
    probs[1] = 2.070124e-08; //Peter
    weka.core.Utils.normalize(probs);
   
    Document unknownDocument = new Document();
    unknownDocument.addEventSet(null, unknown);
   
    List<Document> knowns = new ArrayList<Document>();
    Document knownDocument1 = new Document();
    knownDocument1.setAuthor("Mary");
    knownDocument1.addEventSet(null, known1);
    knowns.add(knownDocument1);
    Document knownDocument2 = new Document();
    knownDocument2.setAuthor("Peter");
    knownDocument2.addEventSet(null, known2);
    knowns.add(knownDocument2);
    Document knownDocument3 = new Document();
    knownDocument3.setAuthor("Mary");
    knownDocument3.addEventSet(null, known3);
    knowns.add(knownDocument3);
    Document knownDocument4 = new Document();
    knownDocument4.setAuthor("Peter");
    knownDocument4.addEventSet(null, known4);
    knowns.add(knownDocument4);

    WEKANaiveBayes classifier = new WEKANaiveBayes();
    classifier.train(knowns);
    List<Pair<String, Double>> t = classifier.analyze(unknownDocument);


    // Assert that the probability for each author match within a threshold
    if (t.get(0).getFirst().equals("Mary")) {
      assertTrue(Math.abs(t.get(0).getSecond() - probs[0]) < .005
          && Math.abs(t.get(1).getSecond() - probs[1]) < .005);
    } else {
      assertTrue(Math.abs(t.get(1).getSecond() - probs[0]) < .005
          && Math.abs(t.get(0).getSecond() - probs[1]) < .005);
    }
   
    //Test 2
    unknown = new EventSet();
   
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("betta", null));
   
    unknownDocument.addEventSet(null, unknown);
   
    //R code : pnorm(60,70,sqrt(200))*pnorm(40,30,sqrt(200),lower.tail=FALSE)*.5
    probs[0] = 0.02874005; //Mary
    //R code : pnorm(60,30,sqrt(200),lower.tail=FALSE)*pnorm(40,70,sqrt(200))*.5
    probs[1] = 0.0001436076; //Peter
    weka.core.Utils.normalize(probs);
   
    classifier = new WEKANaiveBayes();
    classifier.train(knowns);
    t = classifier.analyze(unknownDocument);
   
    /*System.out.println("Classified");
    System.out.println("First : "+t.get(0).getFirst()+" "+t.get(0).getSecond());
    System.out.println("Second: "+t.get(1).getFirst()+" "+t.get(1).getSecond());
    System.out.println("Expected");
    System.out.println("First : Mary "+probs[0]);
    System.out.println("Second: Peter "+probs[1]);*/
   
    if(t.get(0).getFirst().equals("Mary")){
      assertTrue(Math.abs(t.get(0).getSecond()-probs[0])<.005 && Math.abs(t.get(1).getSecond()-probs[1])<.005);
    }else{
      assertTrue(Math.abs(t.get(1).getSecond()-probs[0])<.005 && Math.abs(t.get(0).getSecond()-probs[1])<.005);
    }

   
    //Test 3
    unknown = new EventSet();
   
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
   
    unknownDocument.addEventSet(null, unknown);
   
    probs[0] = .5; //Mary
    probs[1] = .5; //Peter
   
    classifier = new WEKANaiveBayes();
    classifier.train(knowns);
    t = classifier.analyze(unknownDocument);
   
    if(t.get(0).getFirst().equals("Mary")){
      assertTrue(Math.abs(t.get(0).getSecond()-probs[0])<.005 && Math.abs(t.get(1).getSecond()-probs[1])<.005);
    }else{
      assertTrue(Math.abs(t.get(1).getSecond()-probs[0])<.005 && Math.abs(t.get(0).getSecond()-probs[1])<.005);

    }

   
    //Test 4
    unknown = new EventSet();
   
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("alpha", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
   
    unknownDocument.addEventSet(null, unknown);
   
    //R code : pnorm(40,70,sqrt(200))*pnorm(60,30,sqrt(200),lower.tail=FALSE)*.5
    probs[0] = 0.0001436076; //Mary
    //R code : pnorm(40,30,sqrt(200),lower.tail=FALSE)*pnorm(60,70,sqrt(200))*.5
    probs[1] = 0.02874005; //Peter
    weka.core.Utils.normalize(probs);
   
    classifier = new WEKANaiveBayes();
    classifier.train(knowns);
    t = classifier.analyze(unknownDocument);
   
    /*System.out.println("Classified");
    System.out.println(t.get(0).getFirst()+" "+t.get(0).getSecond());
    System.out.println(t.get(1).getFirst()+" "+t.get(1).getSecond());
    System.out.println("Expected");
    System.out.println("Mary "+probs[0]);
    System.out.println("Peter "+probs[1]);*/
   
    if(t.get(0).getFirst().equals("Mary")){
      assertTrue(Math.abs(t.get(0).getSecond()-probs[0])<.005 && Math.abs(t.get(1).getSecond()-probs[1])<.005);
    }else{
      assertTrue(Math.abs(t.get(1).getSecond()-probs[0])<.005 && Math.abs(t.get(0).getSecond()-probs[1])<.005);
    }

   
    //Test 5
    unknown = new EventSet();
   
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
   
    unknownDocument.addEventSet(null, unknown);
   
    //R code : pnorm(0,70,sqrt(200))*pnorm(100,30,sqrt(200),lower.tail=FALSE)*.5
    probs[0] = 6.90244e-14; //Mary
    //R code : pnorm(0,30,sqrt(200))*pnorm(100,70,sqrt(200),lower.tail=FALSE)*.5
    probs[1] = 0.0001436076; //Peter
    weka.core.Utils.normalize(probs);
   
    classifier = new WEKANaiveBayes();
    classifier.train(knowns);
    t = classifier.analyze(unknownDocument);
   
    System.out.println("Classified");
    System.out.println(t.get(0).getFirst()+" "+t.get(0).getSecond());
    System.out.println(t.get(1).getFirst()+" "+t.get(1).getSecond());
    System.out.println("Expected");
    System.out.println("Mary "+probs[0]);
    System.out.println("Peter "+probs[1]);
   
    if(t.get(0).getFirst().equals("Mary")){
      assertTrue(Math.abs(t.get(0).getSecond()-probs[0])<.005 && Math.abs(t.get(1).getSecond()-probs[1])<.005);
    }else{
      assertTrue(Math.abs(t.get(1).getSecond()-probs[0])<.005 && Math.abs(t.get(0).getSecond()-probs[1])<.005);

    }

   
    //Test 6
    unknown = new EventSet();
   
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("betta", null));
    unknown.addEvent(new Event("gamma", null));
    unknown.addEvent(new Event("betta", null));
   
    unknownDocument.addEventSet(null, unknown);;
   
    //R code : pnorm(0,70,sqrt(200))*pnorm(80,30,sqrt(200),lower.tail=FALSE)*.5*1e-50
    probs[0] = 3.780067e-61; //Mary
View Full Code Here

    EventDriver ed = new MNLetterWordEventDriver();
    ed.setParameter("M","3");
    ed.setParameter("N","4");

    EventSet sampleEventSet = ed.createEventSet(text.toCharArray());
    EventSet expectedEventSet = new EventSet();
    Vector<Event> tmp = new Vector<Event>();

    tmp.add(new Event("aaa", ed));
    tmp.add(new Event("bbb", ed));
    tmp.add(new Event("ccc", ed));
    tmp.add(new Event("aaaa", ed));
    tmp.add(new Event("bbbb", ed));
    tmp.add(new Event("cccc", ed));
    tmp.add(new Event("AAA", ed));
    tmp.add(new Event("BBB", ed));
    tmp.add(new Event("CCC", ed));
    tmp.add(new Event("AAAA", ed));
    tmp.add(new Event("BBBB", ed));
    tmp.add(new Event("CCCC", ed));
    tmp.add(new Event("333", ed));
    tmp.add(new Event("4444", ed));
    tmp.add(new Event("###", ed));
    tmp.add(new Event("$$$$", ed));


    expectedEventSet.addEvents(tmp);
    // System.out.println(sampleEventSet.toString());
    // System.out.println(expectedEventSet.toString());
    assertTrue(expectedEventSet.equals(sampleEventSet));
  }
View Full Code Here

    p.setParameter("minPercent", 0.5);
    p.setParameter("maxPercent", 0.75);
    //System.out.println(p.toString());
   
    List<EventSet> events = new ArrayList<EventSet>();
    EventSet holder = new EventSet();
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("blah", null));
    events.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("it", null));
    holder.addEvent(new Event("is", null));
    holder.addEvent(new Event("test", null));
    events.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("blah", null));
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    events.add(holder);
   
    List<EventSet> expected = new ArrayList<EventSet>();
    holder = new EventSet();
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    expected.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("test", null));
    expected.add(holder);
    holder = new EventSet();
    holder.addEvent(new Event("test", null));
    holder.addEvent(new Event("test", null));
    expected.add(holder);
   
    try {
      p.init(events);
      for(int i = 0; i < events.size(); i++){
View Full Code Here

TOP

Related Classes of com.jgaap.util.EventSet

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.