public Map<String, ArrayList<String>> getStructuredPhrasebyTF(int n){
		if(phraseMap.getSortedMap().size() == 0)
			loadphraseMap();
		Map<String, ArrayList<String>> phrases = new HashMap<String, ArrayList<String>>();
		phrases.put("food", new ArrayList<String>());
		phrases.put("decor", new ArrayList<String>());
		phrases.put("overall", new ArrayList<String>());
		phrases.put("service", new ArrayList<String>());
		phrases.put("price", new ArrayList<String>());
		for(Map.Entry<String, Integer> entry:phraseMap.getSortedMap().entrySet()){
			String[] pair = entry.getKey().split("\t");
			if(pair.length != 2)
				continue;
			String categ = getAttributeCategory(pair[1]);
			if(!categ.equals("unkown")){
				if(phrases.get(categ).size() <5 && !StopwordsFilter.getInstance().ifBannedAttr(pair[1]) 
						&& !StopwordsFilter.getInstance().ifBannedVal(pair[0])){
					phrases.get(categ).add(entry.getKey());
				}
			}
			if((phrases.get("food").size() + phrases.get("decor").size()+
					phrases.get("overall").size() + phrases.get("service").size() + 
					phrases.get("price").size())>25){
				break;
			}
		}
		return phrases;
	}