我有一个HashMap
called List<String, Intger> wordFreqMap
whose size
is 234
wordFreqMap = {radiology=1, shift=2, mummy=1, empirical=1, awful=1, geoff=1, .......}
我想计算term frequency
每个词的。
term frequency = frequency of term / total number of terms
public static Map<String, Double> getTFMap (Map<String, Integer> wordFreqMap)
{
Map<String, Double> tfMap = new HashMap<String, Double>();
int noOfTerms = wordFreqMap.size();
Double tf;
for (Entry<String, Integer> word : wordFreqMap.entrySet() )
{
tf = (double) ( word.getValue() / noOfTerms );
tfMap.put(word.getKey(), tf );
}
return tfMap;
}
我的问题是,tfMap
正在返回{radiology=0.0, shift=0.0, mummy=0.0, empirical=0.0, awful=0.0, geoff=0.0, .....}
我不明白为什么它会返回0.0
每个学期。我如何解决它?
我应该得到类似的东西{radiology=0.00427, shift=0.00854, ...}