Package edu.umd.cloud9.util.map

Examples of edu.umd.cloud9.util.map.HMapIF$ValueIterator


    RankAndFeaturesSmallAdaptive generator = new RankAndFeaturesSmallAdaptive(env, fs);

    //Parse queries and find integer codes for the query terms.
    HMapIV<String> parsedQueries = QueryUtility.loadQueries(queryPath);
    HMapIV<int[]> queries = QueryUtility.queryToIntegerCode(env, parsedQueries);
    HMapIF idfs = QueryUtility.loadIdf(env, parsedQueries);
    HMapIF cfs = QueryUtility.loadCf(env, parsedQueries);
    HMapIV<int[]> qrels = QrelUtility.parseQrelsFromTabDelimited(qrelPath);
    Map<String, Feature> featuresMap = FeatureUtility.parseFeatures(featurePath);
    Feature[] features = new Feature[featuresMap.size()];
    int index = 0;
    for(String key: featuresMap.keySet()) {
View Full Code Here



  public static void addToTable(int curIndex, TreeSet<PairOfFloatString> topTrans, float cumProb, TTable_monolithic_IFAs table, Vocab trgVocab,
      float cumProbThreshold, HookaStats stats) {
    List<Integer> sortedIndices = new ArrayList<Integer>();
    HMapIF index2ProbMap = new HMapIF();

    float sumOfProbs = 0.0f;    //only extract the top K<15 if the mass prob. exceeds MAX_probThreshold
    while(!topTrans.isEmpty() && sumOfProbs < cumProbThreshold){
      PairOfFloatString e = topTrans.pollLast();
      String term = e.getRightElement();
      float pr = e.getLeftElement()/cumProb;    // normalize
      logger.debug(term+"-->"+pr);
      int trgIndex = trgVocab.addOrGet(term);
      sumOfProbs += e.getLeftElement();         // keep track of unnormalized cumulative prob for determining cutoff
      sortedIndices.add(trgIndex);
      index2ProbMap.put(trgIndex, pr);
    }

    // to enable faster access with binary search, we sort entries by vocabulary index.
    Collections.sort(sortedIndices);
    int numEntries = sortedIndices.size();

    // for statistics only
    stats.update(numEntries, sumOfProbs);

    // write translation list to TTable object
    int[] indices = new int[numEntries];
    float[] probs = new float[numEntries];
    int i=0;
    for(int sortedIndex : sortedIndices){
      indices[i]=sortedIndex;
      probs[i]=index2ProbMap.get(sortedIndex);
      i++;
    }     
    table.set(curIndex, new IndexedFloatArray(indices, probs, true));
  }
View Full Code Here

  }


  private static int addToTable(int curIndex, TreeSet<PairOfFloatString> topTrans, TTable_monolithic_IFAs table, Vocab trgVocab) {
    List<Integer> sortedIndices = new ArrayList<Integer>();
    HMapIF index2ProbMap = new HMapIF();

    float sumOfProbs = 0.0f;    //only extract the top K<15 if the mass prob. exceeds MAX_PROB_THRESHOLD
    while(!topTrans.isEmpty()){
      PairOfFloatString e = topTrans.pollLast();
      String term = e.getRightElement();
      float pr = e.getLeftElement();
      int trgIndex = trgVocab.addOrGet(term);
      sumOfProbs += pr;

      sortedIndices.add(trgIndex);
      index2ProbMap.put(trgIndex, pr);
      if(sumOfProbs > PROB_THRESHOLD){
        break;
      }
    }

    // to enable faster access with binary search, we sort entries by vocabulary index.
    Collections.sort(sortedIndices);
    int numEntries = sortedIndices.size();
    int[] indices = new int[numEntries];
    float[] probs = new float[numEntries];
    int i=0;
    for(int sortedIndex : sortedIndices){
      indices[i]=sortedIndex;
      probs[i]=index2ProbMap.get(sortedIndex);
      logger.debug("Added: "+indices[i]+" with prob: "+probs[i]);
      i++;
    }
    table.set(curIndex, new IndexedFloatArray(indices, probs, true));
    logger.debug(table.get(curIndex));
View Full Code Here

  public void testBasic1() {
    int size = 100000;
    Random r = new Random();
    float[] floats = new float[size];

    MapIF map = new HMapIF();
    for (int i = 0; i < size; i++) {
      int k = r.nextInt(size);
      map.put(i, k + 0.1f);
      floats[i] = k + 0.1f;
    }

    for (int i = 0; i < size; i++) {
      float v = map.get(i);

      assertEquals(floats[i], v, 0.0f);
      assertTrue(map.containsKey(i));
    }
  }
View Full Code Here

  public void testUpdate() {
    int size = 100000;
    Random r = new Random();
    float[] floats = new float[size];

    MapIF map = new HMapIF();
    for (int i = 0; i < size; i++) {
      int k = r.nextInt(size);
      map.put(i, k + 0.1f);
      floats[i] = k + 0.1f;
    }

    assertEquals(size, map.size());

    for (int i = 0; i < size; i++) {
      map.put(i, floats[i] + 1.0f);
    }

    assertEquals(size, map.size());

    for (int i = 0; i < size; i++) {
      float v = map.get(i);

      assertEquals(floats[i] + 1.0f, v, 0.0f);
      assertTrue(map.containsKey(i));
    }
  }
View Full Code Here

    }
  }

  @Test
  public void testBasic() throws IOException {
    HMapIF m = new HMapIF();

    m.put(1, 5.0f);
    m.put(2, 22.0f);

    float value;

    assertEquals(m.size(), 2);

    value = m.get(1);
    assertTrue(value == 5.0f);

    value = m.remove(1);
    assertEquals(m.size(), 1);

    value = m.get(2);
    assertTrue(value == 22.0f);
  }
View Full Code Here

    assertTrue(value == 22.0f);
  }

  @Test
  public void testPlus() throws IOException {
    HMapIF m1 = new HMapIF();

    m1.put(1, 5.0f);
    m1.put(2, 22.0f);

    HMapIF m2 = new HMapIF();

    m2.put(1, 4.0f);
    m2.put(3, 5.0f);

    m1.plus(m2);

    assertEquals(m1.size(), 3);
    assertTrue(m1.get(1) == 9);
View Full Code Here

    assertTrue(m1.get(3) == 5);
  }

  @Test
  public void testDot() throws IOException {
    HMapIF m1 = new HMapIF();

    m1.put(1, 2.3f);
    m1.put(2, 1.9f);
    m1.put(3, 3.0f);

    HMapIF m2 = new HMapIF();

    m2.put(1, 1.2f);
    m2.put(2, 4.3f);
    m2.put(4, 5.0f);

    float s = m1.dot(m2);

    assertTrue(s == 10.93f);
  }
View Full Code Here

    assertTrue(s == 10.93f);
  }

  @Test
  public void testLengthAndNormalize() throws IOException {
    HMapIF m1 = new HMapIF();

    m1.put(1, 2.3f);
    m1.put(2, 1.9f);
    m1.put(3, 3.0f);

    assertEquals(m1.length(), 4.2308393, 10E-6);

    m1.normalize();

    assertEquals(m1.get(1), 0.5436274, 10E-6);
    assertEquals(m1.get(2), 0.44908348, 10E-6);
    assertEquals(m1.get(3), 0.70907915, 10E-6);
    assertEquals(m1.length(), 1, 10E-6);

    HMapIF m2 = new HMapIF();

    m2.put(1, 1.2f);
    m2.put(2, 4.3f);
    m2.put(3, 5.0f);

    assertEquals(m2.length(), 6.7029843, 10E-6);

    m2.normalize();

    assertEquals(m2.get(1), 0.17902474, 10E-6);
    assertEquals(m2.get(2), 0.64150536, 10E-6);
    assertEquals(m2.get(3), 0.7459364, 10E-6);
    assertEquals(m2.length(), 1, 10E-6);
  }
View Full Code Here

    assertEquals(m2.length(), 1, 10E-6);
  }

  @Test
  public void testSortedEntries1() {
    HMapIF m = new HMapIF();

    m.put(1, 5.0f);
    m.put(2, 2.0f);
    m.put(3, 3.0f);
    m.put(4, 3.0f);
    m.put(5, 1.0f);

    Entry[] e = m.getEntriesSortedByValue();
    assertEquals(5, e.length);

    assertEquals(1, e[0].getKey());
    assertEquals(5.0f, e[0].getValue(), 10E-6);
View Full Code Here

TOP

Related Classes of edu.umd.cloud9.util.map.HMapIF$ValueIterator

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.