package com.yc.nlp.prob;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public abstract class BaseProb implements Serializable {
private static final long serialVersionUID = 1L;
public Map<String, Double> data;
public Double total;
public Double none;
public BaseProb() {
this.data = new HashMap<String, Double>();
this.total = 0.0;
this.none = 0d;
}
public boolean exist(String key) {
return this.data.containsKey(key);
}
public double getSum() {
return this.total;
}
public double get(String key) {
return this.exist(key) ? this.data.get(key) : none;
}
public double frequency(String key) {
return get(key) / total;
}
public Set<String> samples() {
return data.keySet();
}
public abstract void add(String key, Integer value);
public Map<String, Double> getData() {
return data;
}
}