Esempio n. 1
0
class LearnUttering(Learn):
    '''
    classdocs
    '''
    def __init__(self, name):
        '''
        Constructor
        '''
        super(LearnUttering, self).__init__()
        if name:
            self.subjectLemmaLearner = Learner(["S1", "S2", "S3", "S4"])
        else:
            self.subjectLemmaLearner = Learner(["S1", "S2"])
        self.verbLemmaLearner = Learner(["V1", "V2", "V3"])

    def learnedUtterance(self):
        subjLemma = self.subjectLemmaLearner.chooseAction()
        self.learnerLogger("S", self.subjectLemmaLearner.getContext(),
                           subjLemma)
        if subjLemma == "S1":
            subj = "Io"
        elif subjLemma == "S2":
            subj = "Tu"
        elif subjLemma == "S3":
            subj = "Luca"
        elif subjLemma == "S4":
            subj = "Mario"
        verbLemma = self.verbLemmaLearner.chooseAction()
        self.learnerLogger("V", self.verbLemmaLearner.getContext(), verbLemma)
        if verbLemma == "V1":
            verb = "gira"
        elif verbLemma == "V2":
            verb = "veni"
        else:
            verb = "vade"
        return subj + " " + verb + "."

    def setContext(self, context):
        self.subjectLemmaLearner.setContext(context)
        self.verbLemmaLearner.setContext(context)
        self.context = context

    def reward(self, reward):
        self.subjectLemmaLearner.reward(reward)
        self.verbLemmaLearner.reward(reward)
        self.rewardLogger("S", self.subjectLemmaLearner.getContext(),
                          self.subjectLemmaLearner.getLastAction(), reward)
        self.rewardLogger("V", self.verbLemmaLearner.getContext(),
                          self.verbLemmaLearner.getLastAction(), reward)

    def uttered(self, utterance):
        if utterance == "":
            self.subjectLemmaLearner.skip()
            self.verbLemmaLearner.skip()
Esempio n. 2
0
class LearnActing(Learn):
    '''
    classdocs
    '''
    def __init__(self):
        '''
        Constructor
        '''
        super(LearnActing, self).__init__()
        self.actionLearner = Learner(["turn", "go_away", "come"])

    def learnedAct(self):
        act = self.actionLearner.chooseAction()
        self.learnerLogger("A", self.actionLearner.getContext(), act)
        return act

    def setContext(self, context):
        self.actionLearner.setContext(context)
        self.context = context

    def reward(self, reward):
        self.actionLearner.reward(reward)
        self.rewardLogger("A", self.actionLearner.getContext(),
                          self.actionLearner.getLastAction(), reward)

    def acted(self, action):
        if action == "":
            self.actionLearner.skip()