def _parse(self, raw_input_string, g):
        tokenized_string = g.generate_tokenized_string(raw_input_string)

        yesDistanceSet = utils.min_synset_distance_in_sentence(
            YesNoMessage.yes_keywords, tokenized_string)
        noDistanceSet = utils.min_synset_distance_in_sentence(
            YesNoMessage.no_keywords, tokenized_string)

        # check minDistance and fill out variables
        if yesDistanceSet and yesDistanceSet[1] <= self.minDistance:
            yesSet, yesDistance = yesDistanceSet
            yesToken, yesIndex = yesSet
        else:
            yesDistanceSet = None
        if noDistanceSet and noDistanceSet[1] <= self.minDistance:
            noSet, noDistance = noDistanceSet
            noToken, noIndex = noSet
        else:
            noDistanceSet = None

        # check conflicts and update frame
        if yesDistanceSet and noDistanceSet == None:
            self.frame['decision'] = {
                'id': yesIndex,
                'word': yesToken,
                'decision': True,
            }
        elif noDistanceSet and yesDistanceSet == None:
            self.frame['decision'] = {
                'id': noIndex,
                'word': noToken,
                'decision': False,
            }
        else:  # conflict
            self.frame['decision'] = None
 def _parse(self, raw_input_string, g):
     tokenized_string = g.generate_tokenized_string(raw_input_string)
     
     yesDistanceSet = utils.min_synset_distance_in_sentence(
                         YesNoMessage.yes_keywords,
                         tokenized_string)
     noDistanceSet = utils.min_synset_distance_in_sentence(
                         YesNoMessage.no_keywords,
                         tokenized_string)
                         
     # check minDistance and fill out variables
     if yesDistanceSet and yesDistanceSet[1] <= self.minDistance:
         yesSet, yesDistance = yesDistanceSet
         yesToken, yesIndex = yesSet
     else:
         yesDistanceSet = None
     if noDistanceSet and noDistanceSet[1] <= self.minDistance:
         noSet, noDistance = noDistanceSet
         noToken, noIndex = noSet
     else:
         noDistanceSet = None
     
     # check conflicts and update frame
     if yesDistanceSet and noDistanceSet == None:
         self.frame['decision'] = {'id': yesIndex,
                                   'word': yesToken,
                                   'decision': True,
                                  }
     elif noDistanceSet and yesDistanceSet == None:
         self.frame['decision'] = {'id': noIndex,
                                   'word': noToken,
                                   'decision': False,
                                  }
     else: # conflict
         self.frame['decision'] = None
    def confidence(raw_input_string, g):
        tokenized_string = g.generate_tokenized_string(raw_input_string)

        yesDistanceSet = utils.min_synset_distance_in_sentence(
            YesNoMessage.yes_keywords, tokenized_string)
        noDistanceSet = utils.min_synset_distance_in_sentence(
            YesNoMessage.no_keywords, tokenized_string)

        # check minDistance
        if yesDistanceSet and yesDistanceSet[1] <= YesNoMessage.minDistance:
            return 1.0
        else:
            yesDistanceSet = None
        if noDistanceSet and noDistanceSet[1] <= YesNoMessage.minDistance:
            return 1.0
        else:
            noDistanceSet = None
        if yesDistanceSet == None and noDistanceSet == None:
            return 0.0
 def confidence(raw_input_string, g):
     tokenized_string = g.generate_tokenized_string(raw_input_string)
     
     yesDistanceSet = utils.min_synset_distance_in_sentence(
                         YesNoMessage.yes_keywords,
                         tokenized_string)
     noDistanceSet = utils.min_synset_distance_in_sentence(
                         YesNoMessage.no_keywords,
                         tokenized_string)
                         
     # check minDistance
     if yesDistanceSet and yesDistanceSet[1] <= YesNoMessage.minDistance:
         return 1.0
     else:
         yesDistanceSet = None
     if noDistanceSet and noDistanceSet[1] <= YesNoMessage.minDistance:
         return 1.0
     else:
         noDistanceSet = None
     if yesDistanceSet == None and noDistanceSet == None:
         return 0.0
 def confidence(raw_input_string):
     tokenizer = nltk.WordPunctTokenizer()
     tokenized_string = tokenizer.tokenize(raw_input_string)
     
     yesDistanceSet = utils.min_synset_distance_in_sentence(
                         YesNoMessage.yes_keywords,
                         tokenized_string)
     noDistanceSet = utils.min_synset_distance_in_sentence(
                         YesNoMessage.no_keywords,
                         tokenized_string)
                         
     # check minDistance
     if yesDistanceSet and yesDistanceSet[1] <= YesNoMessage.minDistance:
         return 1.0
     else:
         yesDistanceSet = None
     if noDistanceSet and noDistanceSet[1] <= YesNoMessage.minDistance:
         return 1.0
     else:
         noDistanceSet = None
     if yesDistanceSet == None and noDistanceSet == None:
         return 0.0