def is_user_input_trigger_similar(self, user_input, trigger):
        if self._filter:
            # remove non-interrogative sentences, filter tags, remove stop words, stemming
            user_input, trigger = self.filter_sentence(user_input), self.filter_sentence(trigger)
        else:
            user_input, trigger = RegexUtil.normalize_string(user_input),  RegexUtil.normalize_string(trigger)

        return dice_sentence(user_input, trigger) >= self._threeshold
 def are_answer_similar_enough(self, answer1, answer2):
     if self.__filter:
         # remove stop words then stem then normalize string
         answer1, answer2 = remove_stop_words(answer1), remove_stop_words(answer2)
         answer1, answer2 = tok_stem(answer1), tok_stem(answer2)
         answer1, answer2 = RegexUtil.normalize_string(answer1), RegexUtil.normalize_string(answer2)
     else:
         answer1, answer2 = RegexUtil.normalize_string(answer1), RegexUtil.normalize_string(answer2)
     return dice_sentence(answer1, answer2) >= self.__threshold
    def are_answer_similar_enough(self, answer1, answer2):
        if self._filter:
            # remove stop words then stem then normalize string
            answer1 = RegexUtil.normalize_string(tok_stem(remove_stop_words(answer1)))
            answer2 = RegexUtil.normalize_string(tok_stem(remove_stop_words(answer2)))
        else:
            answer1 = RegexUtil.normalize_string(answer1)
            answer2 = RegexUtil.normalize_string(answer2)

        return med_sentence(answer1, answer2) <= self._med_answers_min
    def are_answer_similar_enough(self, answer1, answer2):
        if self.__filter:
            # remove stop words then stem then normalize string
            answer1, answer2 = remove_stop_words(answer1), remove_stop_words(answer2)
            answer1, answer2 = tok_stem(answer1), tok_stem(answer2)
            answer1, answer2 = RegexUtil.normalize_string(answer1), RegexUtil.normalize_string(answer2)
        else:
            answer1, answer2 = RegexUtil.normalize_string(answer1), RegexUtil.normalize_string(answer2)

        return similar_yes_no(answer1, answer2, self.__weight, self.__measure) >= self.__threshold
    def filter_sentence(self, sentence):
        # remove non-interrogative sentence
        sentence = filter_non_interrogative_sentence(sentence)
        tagged_sentence = self._tagger.tag_sentence(sentence)

        # filtering sentence by the tags
        sentence = self._tagger.construct_sentence(filter_tags(tagged_sentence, self._tags_to_filter_triggers))

        # removing stop words and steming
        sentence = RegexUtil.normalize_string(tok_stem(remove_stop_words(sentence)))
        return sentence
 def is_user_input_trigger_similar(self, user_input, trigger):
     return RegexUtil.normalize_string(user_input) == RegexUtil.normalize_string(trigger)
 def _normalize_trigger(self, trigger):
     # lowercase, no punctuation diacritics transformation
     return RegexUtil.normalize_string(trigger)
 def _normalize_user_input(self, user_input):
     # lowercase, no punctuation diacritics transformation
     return RegexUtil.normalize_string(user_input)
 def is_user_input_trigger_identical(self, user_input, trigger):
     return RegexUtil.normalize_string(user_input) == RegexUtil.normalize_string(trigger)