package uk.ac.shef.dcs.jate.feature;
import java.util.HashMap;
import java.util.Map;
/**
*Specifically used by ChiSquare. This feature keeps expected probability (p_g) of frequent terms. See page 3, 1st bullet point on the left
*/
public class ChiSquareFrequentTerms extends AbstractFeature {
private Map<String, Double> expProb;
private double sumExpProb=0.0;
private double maxExpProb=0.0;
public ChiSquareFrequentTerms(){
expProb =new HashMap<>();
}
public synchronized void add(String freqTerm, double prob){
expProb.put(freqTerm, prob);
sumExpProb+=prob;
if(prob>maxExpProb)
maxExpProb=prob;
}
public double get(String freqTerm){
Double d = expProb.get(freqTerm);
if(d==null) {
System.err.println("no such ref term:"+freqTerm);
return 0.0;
}
return d;
}
public double getSumExpProb(){
return sumExpProb;
}
public double getMaxExpProb(){return maxExpProb;}
}