您的位置:首页 > 其它

TF-IDF计算四

2011-08-31 00:21 288 查看
最后, 开始计算TF-IDF

TF i - IDF i,j = TF i,j * IDF i

代码:

class TFIDF

{

ArrayList<HashMap<String,Double>> TFIDFMainFileList = new ArrayList<HashMap<String,Double>>();

ArrayList<HashMap<String,Double>> TFMainFileList = new ArrayList<HashMap<String,Double>>();

ArrayList<ArrayList<String>> MainFileList = new ArrayList<ArrayList<String>>();

HashMap<String,Double> IDFMainFileList = new HashMap<String, Double>();

public TFIDF(ArrayList<ArrayList<String>> mfl, HashMap<String,Double> idfm, ArrayList<HashMap<String,Double>> tfmfl)

{

MainFileList = mfl;

IDFMainFileList = idfm;

TFMainFileList = tfmfl;

}

public ArrayList<HashMap<String,Double>> PrintTFIDF()

{

for(int i=0; i<MainFileList.size(); i++)

{

ArrayList<String> SubFileList = MainFileList.get(i);

HashMap<String,Double> tfFile = TFMainFileList.get(i);

HashMap<String,Double> GetTFIDF = new HashMap<String, Double>();

ArrayList<String> Index = new ArrayList<String>();

//Take hashmap level from ArrayList<HashMap<String,Double>>

for(int j=0; j<SubFileList.size(); j++)

{

Index.add(SubFileList.get(j));

double tf = tfFile.get(SubFileList.get(j));

double idf = IDFMainFileList.get(SubFileList.get(j));

double tfidf = tf * idf;

GetTFIDF.put(SubFileList.get(j),tfidf);

}

TFIDFMainFileList.add(GetTFIDF);

//==========================================================

}

return TFIDFMainFileList;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: