コード例 #1
0
	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
コード例 #2
0
	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