    def _create_response(self, sentence):
        """
        Construct Response Body
        :param sentence: string
        :return: string
        """
        parts_of_speech = self.create_parts_of_speech(sentence)

        # --------------------
        # Extract speech parts
        # --------------------
        verb = self._extract_verb(parts_of_speech)
        modal = self._extract_modal(parts_of_speech)
        noun = self._extract_noun(parts_of_speech)

        # ----------------------------
        # Command type classification
        # ----------------------------
        if self.is_question_with_modal(parts_of_speech):
            logging.info('The user speech has a modal question')
            answer = 'I ' + modal + ' ' + verb + ' ' + noun
        elif self.is_question_with_inversion(parts_of_speech):
            logging.info('The user speech has an inverse question')
            answer = 'I ' + ' ' + verb + ' ' + noun
        else:
            logging.info('Unclassified user command..')
            answer = ''

        return re.sub('\s\s+', ' ', answer)
Construct Response Body
:param sentence: string
:return: string
src/jarvis/jarvis/core/nlp.py