@Override public void GenerateFeatures(EntityMention mention) throws SQLException { Set<String> words = new HashSet<String>(); for (Sentence sentence : document) { words.addAll(Arrays.asList(sentence.getTokens())); } // get a histogram of all words in sentences Histogram documentHistogram = Histogram.extractFromSentenceArray(document, words); Map<Entity, Features> candidateFeatures = mention.candidateFeatures; for (Entry<Entity, Features> entry : candidateFeatures.entrySet()) { Entity candidate = entry.getKey(); String[] tokens = Util.tokenizeText(wiki.GetCleanedWikiText(candidate.wikiTitle)); Histogram hist = Histogram.fromTokens(tokens); double dotProduct = Util.computeDotProduct(documentHistogram, hist); entry.getValue().setFeature(GetFeatureName(), dotProduct); } }