def post(self, request): layer = request.POST.get('layer') clas = request.POST.get('class') parent = request.POST.get('parent') sentence = request.POST.get('sentence') all_layer_objects = Layers.objects.all() all_class_objects = Classes.objects.all() msg1 = "invalid entry" if (layer is None or clas is None or parent is None or sentence == ''): return render( request, self.temp1, { 'msg1': msg1, 'user': request.session['users'], 'layers': all_layer_objects, 'classes': all_class_objects }) else: obj = sets.objects.filter(class_id_of=int(clas), layer_id_of=int(layer), parent_id=int(parent)) set_id = None set_object = '' for obje in obj: set_id = obje.set_id set_object = obje if set_id is not None: newObj = train(sentence=sentence, set_id=set_object) newObj.save() finalSet = (trainData.makeBags(set_object)) set = finalSet[0] write(set[0], set[1], str(layer), str(parent), finalSet[1]) #write(set[0],set[1],layer,parent) result = read(layer, parent) #result = clasify("bus does not come at time",1,0,set[0],set[1],list(["bus","train"])) return render( request, self.temp, { 'layer': layer, 'clas': clas, 'parent': parent, 'sentence': sentence, 'obj': obj, 'msg': "yes", 'words': finalSet[1], 'allsent': finalSet[2], 'classes': finalSet[3] }) else: return render( request, self.temp1, { 'msg1': msg1, 'user': request.session['users'], 'layers': all_layer_objects, 'classes': all_class_objects })
def think(sentence, layer, parent, synapse_0, synapse_1): y = give_word_bag(sentence.lower(), (storeSynapes.read(layer, parent))[2]) x = y[0] l0 = numpy.array(x) # matrix multiplication of input and hidden layer l1 = sigmoid(numpy.dot(x, synapse_0)) # output layer l2 = sigmoid(numpy.dot(l1, synapse_1)) return l2
def post(self, request): sentence = request.POST.get('text') synap = read(2, 1) result = clasify( sentence, 2, 1, synap[0], synap[1], list(["conductor", "passengers", "route", "busitself", "driver"])) return render(request, self.temp2, { 'result': result, 'words': synap[2] })
def post(self,request): layer = request.POST.get('layer') clas = request.POST.get('class') parent = request.POST.get('parent') sentence = request.POST.get('sentence') all_layer_objects = Layers.objects.all() all_class_objects = Classes.objects.all() msg1 = "invalid entry" if(layer is None or clas is None or parent is None or sentence == '' ): return render(request, self.temp1, {'msg1': msg1, 'user': request.session['users'], 'layers': all_layer_objects, 'classes': all_class_objects}) else: obj = sets.objects.filter(class_id_of=int(clas),layer_id_of=int(layer),parent_id=int(parent)) set_id=None set_object='' for obje in obj: set_id = obje.set_id set_object = obje if set_id is not None: newObj = train(sentence=sentence, set_id=set_object,train_state=False) newObj.save() #writeNumOfTrains(str(layer),str(parent)) #increment number of trains incrementCount(str(layer),str(parent)) numOfunTrains = readNumOfUnTrains(str(layer),str(parent)) #change this number as you wish if(int(numOfunTrains)>=1000): writeNumOfTrains(layer,parent) finalSet = (trainData.makeBags(set_object)) set = finalSet[0] write(set[0],set[1], str(layer), str(parent),finalSet[1]) result = read(layer,parent) return render(request,self.temp1,{'layer':layer, 'clas':clas ,'parent':parent, 'sentence':sentence,'obj':obj,'msg':"yes", 'words':finalSet[1],'allsent':finalSet[2],'classe':finalSet[3], 'untrains':numOfunTrains, 'user': request.session['users'], 'layers': all_layer_objects, 'classes': all_class_objects} ) else: return render(request, self.temp1, { 'user': request.session['users'], 'layers': all_layer_objects, 'classes': all_class_objects}) else: return render(request,self.temp1,{'msg1':msg1,'user': request.session['users'], 'layers': all_layer_objects, 'classes': all_class_objects})
def post(self,request): sentence = request.POST.get('text') synap = read(1,0) result = clasify(sentence,1,0,synap[0],synap[1],list(["bus","train"])) return render(request, self.temp2, {'result': result,'words':synap[2]})
def reply(message, user): output = "" while (True): #start if (count == 0): clearInr() if (message.lower() == "hi bot"): output = "Hi " + user + " " + "! Welcome to InquaMaK...type your inquiry here" setTo(1) else: output = "Error! Type 'hi bot' to start the chat" break #work with user inquiry (inconvenences or problems) elif (count == 1): synap = read(1, 0) msg = clasify(message, 1, 0, synap[0], synap[1], list(["bus", "train"])) if (len(msg) > 1 or len(msg) == 0): setPreCount(count) output = "Invalid Input! Type 'cancel' to cancel the recording and see the user guidance" setTo(7) else: if (str(msg[0][0]) == "bus"): output = "enter bus number" setTo(2) setInquiry("Inquiry: " + message + '<br>') setCat1("bus") #catogorize furture synap = read(2, 1) cat2 = clasify( message, 2, 1, synap[0], synap[1], list([ "conductor", "passengers", "route", "busitself", "driver" ])) if (len(cat2) > 1 or len(cat2) == 0): setCat2('') else: setCat2(str(cat2[0][0])) elif (str(msg[0][0]) == "train"): output = "enter train name" setTo(2) setInquiry("Inquiry: " + message + '<br>') setCat1("train") synap = read(2, 2) cat2 = clasify( message, 2, 2, synap[0], synap[1], list(["passenger", "route", "trainitself", "driver"])) if (len(cat2) > 1 or len(cat2) == 0): setCat2('') else: setCat2(str(cat2[0][0])) break #get the date and valid inquiry elif (count == 2): if (catogary1 == "bus"): setInquiry("Bus No: " + message + '<br>') validity = validate_inputs.validBusNumber(message) if (validity == True): output = "enter the date you faced the inconvenience" setTo(3) else: setPreCount(count) output = "Invalid Input! Type 'cancel' to cancel the recording and see the user guidance" setTo(7) elif (catogary1 == "train"): if (validate_inputs.validateTrainName(message)): setInquiry("Train Name: " + message + '<br>') output = "enter the date you faced the inconvenience" setTo(3) else: setPreCount(count) output = "Invalid Input! Type 'cancel' to cancel the recording and see the user guidance" setTo(7) break #valid date and ask goe time elif (count == 3): now = datetime.datetime.now() date = message dateValidity = validate_inputs.validDate(str(date)) if (dateValidity[0] == True): output = "enter the time you faced the inconvenience" setInquiry("Date: " + message + '<br>') setDate(dateValidity[1], dateValidity[2], dateValidity[3]) setTo(4) else: setPreCount(count) output = "Invalid Input! Type 'cancel' to cancel the recording and see the user guidance" setTo(7) break #show full inquiry and ask goe confirmation elif (count == 4): time = message validity = validate_inputs.valiTime(time, day, month, year) if (validity == True): setInquiry("Time: " + message) #output = inquiry+'<br>'+'<br>'+"Confirm the Inquiry(yes/no)" if (catogary2 != ''): output = getOutPut(catogary2, catogary1) if (output != ''): setTo(5) break else: setTo(8) else: output = inquiry + '<br>' + '<br>' + "Confirm the Inquiry(yes/no)" setTo(6) break else: setPreCount(count) output = "Invalid Input! Type 'cancel' to cancel the recording and see the user guidance" setTo(7) break #ask for confirmation elif (count == 5): if (message.lower() != 'ignore' and message != ''): #validate a name of driver or conductor if (catogary2 == 'conductor' or catogary2 == "driver"): if (validate_inputs.validateName(message)): setInquiry(message) else: setPreCount(count) output = "Invalid Input! Type 'cancel' to cancel the recording and see the user guidance" setTo(7) break elif (message == ''): setPreCount(count) output = "Invalid Input! Type 'cancel' to cancel the recording and see the user guidance" setTo(7) break else: setInquiry(message) else: setInquiry("not known") output = inquiry + '<br>' + '<br>' + "Confirm the Inquiry(yes/no)" setTo(6) break elif (count == 8): output = inquiry + '<br>' + '<br>' + "Confirm the Inquiry(yes/no)" setTo(6) break elif (count == 6): if (message.lower() == 'yes'): #output = saveData.saveInq(user,inquiry,1) #save the inquiry if (catogary1 == 'bus'): saveData.saveInq(user, inquiry, 1) elif (catogary1 == 'train'): saveData.saveInq(user, inquiry, 2) clearInr() setTo(0) output = "recording has been saved" elif (message.lower() == 'no'): output = "recording has been canceled" clearInr() setTo(0) else: setPreCount(count) output = "Invalid Input! Type 'cancel' to cancel the recording and see the user guidance" setTo(7) break #work with cancelations and retries elif (count == 7): if (message.lower() == 'cancel'): clearInr() setTo(0) output = 'recording has been canceled' break else: setTo(previous_count) return output