Esempio n. 1
0
def rule(verb, main_obj, obj):
    """ question : VERB object object """ # ! shift/reduce
    if verb.base != 'be':
        raise AISyntaxError('Expected *be* in the question.')
    action = Action(verb.word, **verb.form)
    action.objects[''] = obj
    ret = Thought(main_obj, action)
    ret.set_question(True)
    return ret
Esempio n. 2
0
 def statement2thought(self, statement):
     """
     Переводит утверждение в мысль.
     Получает на вход строку с удаленными
     начальными и конечными пробельными символами.
     Возвращает мысль (класс Thought).
     """
     # Утверждение имеет структуру:
     # подлежащее сказуемое.
     # задача функции распознать эти части
     # и перевести слова в концепты (Concept)
     # План действий такой:
     #   1) Разбить предложение на список слов.
     #   2) Извлечь из начала подлежащее.
     #   3) Из начала того, что осталось, извлечь сказуемое.
     res = Thought()
     words = textprocess.text2words(statement)
     subject = self.extract_subject(words)
     action = self.extract_action(words)
     res.set_subject(subject)
     res.set_action(action)
     
     return res