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
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'))
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
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))
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
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'))