def compareWithIdeal(self, response, ideals): max_overlap = 0 responseSet = set(util.str_to_word_list(response)) for ideal in ideals: idealSet = set(util.str_to_word_list(ideal)) N = len(idealSet | responseSet) if N: this_overlap = (1.0*len(idealSet & responseSet))/N max_overlap = max(max_overlap, this_overlap) return max_overlap
def compareWithIdeal(self, response, ideals): responseList = util.str_to_word_list(response) idealSentences = [s.encode('utf-8').split() for s in ideals] knownWords = filter(lambda s: self.model.__contains__(s), responseList) if len(knownWords) == 0: return 0 maxSimilarity = 0 for ideal in idealSentences: sim = self.model.n_similarity(ideal, knownWords) maxSimilarity = max(maxSimilarity, sim) return maxSimilarity