private void genProbMats(){
		clsMap_cls.addAll(this.cls_map.keySet());
		clsMap_count.addAll(this.cls_map.values());
		
		ArrayList<cls_cls> keys1 = new ArrayList<cls_cls>(this.cls_cls_map.keySet());
		for(int i = 0; i < keys1.size(); i++) {
			clsClsMap_cls1.add(keys1.get(i).getCls1());
			clsClsMap_cls2.add(keys1.get(i).getCls2());
		}
		clsClsMap_count.addAll(this.cls_cls_map.values());

		ArrayList<text_cls> keys2 = new ArrayList<text_cls>(this.text_cls_map.keySet());
		for(int i = 0; i < keys2.size(); i++) {
			textClsMap_text.add(keys2.get(i).getText());
			textClsMap_cls.add(keys2.get(i).getCls());
		}
		textClsMap_count.addAll(this.text_cls_map.values());

		int num = clsMap_cls.size();
		int num1 = distc_text.size();
		cls_cls_prob = new Double[num][num];
		cls_text_prob = new Double[num][num1];
		for(int i=0;i<clsMap_cls.size();i++){
			for(int j=0;j<clsMap_cls.size();j++){
				
				cls_cls_prob[i][j]=0.0;
			}
		}
		for(int i=0;i<num;i++){
			for(int j=0;j<num1;j++){
				cls_text_prob[i][j]=0.0;
			}
		}
		int cls1;
		int cls2;
		int pos1;
		int pos2;
		String text;
		int cls;
		for(int i=0;i<clsClsMap_cls1.size();i++){
			cls1 = clsClsMap_cls1.get(i);
			cls2 = clsClsMap_cls2.get(i);
			pos1 = clsMap_cls.indexOf(cls1);
			pos2 = clsMap_cls.indexOf(cls2);
			cls_cls_prob[pos1][pos2] = ((double)clsClsMap_count.get(i)/(double)clsMap_count.get(pos1));
		}
		for(int i=0;i<textClsMap_cls.size();i++){
			cls = textClsMap_cls.get(i);
			text = textClsMap_text.get(i);
			pos1 = clsMap_cls.indexOf(cls);
			pos2 = distc_text.indexOf(text);
			if(pos2<0)
				continue;
			cls_text_prob[pos1][pos2] = ((double)textClsMap_count.get(i)/(double)clsMap_count.get(pos1));
		}
	}