示例#1
0
 def run_bot(self, sentence):
     """function to run the bot"""
     intent = action_predict(str(sentence), self.botname)
     reply = self.dsl(intent, sentence)
     if reply == "none":
         reply = random.choice([
             "there must be an error", "ask that gopi to fix me :(",
             "sorry this is a prototype"
         ])
     return reply
示例#2
0
def action_train_protocol(sentence, Train=True):
    """function to train the action prediction model"""
    if Train:
        training_data = []
        with open('datasets/action_dataset.json') as data_file:
            data = json.load(data_file)

        for line in data:
            #fetching training data
            training_data.append(line)
        action_train(training_data, 20000, 'bulb')
        print(action_predict(sentence, 'bulb'))
示例#3
0
def send_recieve():
    control = {'status': None, 'text': None, 'blue_state': 0, 'red_state': 0}
    if request.method == 'GET':
        try:
            data = json.loads(request.data.decode('utf-8'))
            log(data)
        except (ValueError, TypeError, KeyError):
            print("Error caught")
            control['status'] = 0
            return json.dumps(control)
        control['status'] = 1
        data = request.args.get('text')
        intent = action_predict(str(data), 'bulb')
        ent = ner_predict(str(data), 'bulb')
        entities = []
        for i in ent:
            entities.append(i[1])
        log(entities)
        if intent == 'ON':
            control['text'] = "intent recognised ON \n"
            if 'blue' in entities:
                control['text'] = control[
                    'text'] + 'entity recognised Blue light \n'
                control['blue_state'] = 1
            elif 'red' in entities:
                control['text'] = control[
                    'text'] + 'entity recognised Red light \n'
                control['red_state'] = 1
            elif 'lights' in entities:
                control['text'] = control[
                    'text'] + 'entity recognised Blue light and Red light\n'
                control['red_state'] = 1
                control['blue_state'] = 1
        elif intent == 'OFF':
            control['text'] = "intent recognised OFF \n"
            if 'blue' in entities:
                control['text'] = control[
                    'text'] + 'entity recognised Blue light \n'
                control['blue_state'] = 2
            elif 'red' in entities:
                control['text'] = control[
                    'text'] + 'entity recognised Red light \n'
                control['red_state'] = 2
            elif 'lights' in entities:
                control['text'] = control[
                    'text'] + 'entity recognised Blue light and Blue light\n'
                control['red_state'] = 2
                control['blue_state'] = 2
        control = json.dumps(control)
        return control
示例#4
0
    def action_train_protocol(self, sentence, Train=True):
        """function to train the action prediction model"""
        if Train:
            training_data = []
            with open(self.botname +
                      '/datasets/action_dataset.json') as data_file:
                data = json.load(data_file)

            for line in data:
                #fetching training data
                training_data.append(line)
            action_train(training_data, 20000,
                         self.botname)  #training the model
        print("intent:" + action_predict(sentence, self.botname))
示例#5
0
def send_recieve():
    control = {'status': None, 'text': None, 'blue_state': 0, 'red_state': 0}
    if request.method == 'GET':
        control['status'] = 1
        data = request.args.get('text')
        intent = action_predict(str(data).lower(), 'bulb')
        ent = ner_predict(str(data).lower(), 'bulb')
        entities = []
        for i in ent:
            entities.append(i[1])
        log(entities)
        arr = []
        if intent == 'ON':
            arr.append("Intent recognised : ON")
            if 'blue' in entities:
                arr.append("Entity recognised : Blue light")
                control['blue_state'] = 1
            if 'red' in entities:
                arr.append("Entity recognised : Red light")
                control['red_state'] = 1
            elif 'lights' in entities:
                arr.append("Entity recognised : Blue light and Red light")
                control['red_state'] = 1
                control['blue_state'] = 1
        elif intent == 'OFF':
            arr.append("Intent recognised : OFF")
            if 'blue' in entities:
                arr.append("Entity recognised : Blue light")
                control['blue_state'] = 2
            elif 'red' in entities:
                arr.append("Entity recognised : Red light")
                control['red_state'] = 2
            elif 'lights' in entities:
                arr.append("Entity recognised : Lights")
                control['red_state'] = 2
                control['blue_state'] = 2
        control["text"] = arr
        control = json.dumps(control)
        return control
示例#6
0
from ghee.ner import ner_predict
from ghee.action import action_predict

print(ner_predict('turn on all lights', 'bulb'))
print(action_predict('turn off lights', 'bulb'))