public double getSerendipity(List<Map<Integer, Double>> resourceTopics, List<Integer> knownResources) {
		double serendipity = 0.0;
		if (this.predictionData == null || this.predictionData.size() == 0) {
			return serendipity;
		}
		if (knownResources == null || knownResources.size() == 0) {
			return 1.0;
		}
		
		for (String res : this.predictionData) {
			int resID = Integer.parseInt(res);
			serendipity += getNovelty(resID, knownResources, resourceTopics);
		}		
		return serendipity / this.predictionData.size();
	}