public void fillSets(String categoryFile) throws IOException{
		FileReader file = new FileReader(categoryFile);
		BufferedReader br = new BufferedReader(file);
		String cat;
		while ((cat = br.readLine())!= null){
			// check the validity of the category file to see if every line is 
			// separated with ":"
			String[] temp = cat.split(":");
			if(temp[0] == null)
				System.out.println("bad category file input");
			else
			{
				// add the name of the category to the categories ArrayList
				categories.add(temp[0]);
				HashSet<String> catHash = new HashSet<String>();
				// get the key words separated with ";" from the categoryFile
				String[] words = temp[1].split(";");
				// add the key words into the hash table
				for(String word : words){
					catHash.add(word);
				}
				categoryHashsets.add(catHash);
			}	
		}
	}