def extend(request): probabilityTable = bayesian.defaultTokensProbabilityTable() requestResults = dict() requestResults.update(csrf(request)) if "string" in request.POST: testString = request.POST["string"].strip() probability = bayesian.eventProbabilityFromStringAndTokensProbabilityTable(testString, probabilityTable) requestResults["text"] = testString requestResults["probability"] = probability return render_to_response("amour/extend.html", requestResults)
def training(request): requestResults = dict() requestResults.update(csrf(request)) print request.POST if "train1" in request.POST: hitList = list() misList = list() counter = 1 trainLabel = "train%d" % counter while trainLabel in request.POST: if request.POST[trainLabel] == "pass": pass elif request.POST[trainLabel] == "hit": text = request.POST["text%d" % counter] hitList.append(text) elif request.POST[trainLabel] == "mis": text = request.POST["text%d" % counter] misList.append(text) counter = counter + 1 trainLabel = "train%d" % counter bayesian.appendListToDefaultHitFileWithList(hitList) bayesian.appendListToDefaultMisFileWithList(misList) requestResults["message"] = "Training Completed" print "Training Completed" # client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL) # access_token = request.COOKIES["access_token"] # expires_in = request.COOKIES["expires_in"] # client.set_access_token(access_token, expires_in) # # publicTimeline = client.get.statuses__public_timeline(count=10) trainFileName = "trainFile.txt" testStringList = bayesian.readListFromFileWithFileName(trainFileName) statusesList = list() probabilityTable = bayesian.defaultTokensProbabilityTable() for item in testStringList: state = dict() state["text"] = item state["probability"] = bayesian.eventProbabilityFromStringAndTokensProbabilityTable(item, probabilityTable) statusesList.append(state) statusesList.sort(key=itemgetter("probability"), reverse=True) requestResults["statusesList"] = statusesList response = render_to_response("amour/training.html", requestResults) return response
def analysis(request): requestResults = dict() requestResults.update(csrf(request)) realHitCounter = 0 realMisCounter = 0 postFlag = False #print request.POST if request.POST: postFlag = True counter = 1 trainLabel = "analysis%d" % counter while trainLabel in request.POST: if request.POST[trainLabel] == "hit": realHitCounter += 1 else: realMisCounter += 1 counter = counter + 1 trainLabel = "analysis%d" % counter testFileName = "testFile.txt" testStringList = bayesian.readListFromFileWithFileName(testFileName) tokensProbabilityTable = bayesian.defaultTokensProbabilityTable() hitCounter = 0 misCounter = 0 statusesList = list() for item in testStringList: probability = bayesian.eventProbabilityFromStringAndTokensProbabilityTable(item, tokensProbabilityTable) if probability >= 0.9: hitCounter += 1 else: misCounter += 1 state = dict() state["text"] = item state["probability"] = probability statusesList.append(state) #statusesList.sort(key=itemgetter("probability"), reverse=True) requestResults["totalCounter"] = hitCounter + misCounter requestResults["postFlag"] = postFlag requestResults["statusesList"] = statusesList requestResults["hitCounter"] = hitCounter requestResults["misCounter"] = misCounter requestResults["realHitCounter"] = realHitCounter requestResults["realMisCounter"] = realMisCounter requestResults["error"] = float(math.fabs(realHitCounter - hitCounter) + math.fabs(realMisCounter - misCounter)) / ( hitCounter + misCounter) return render_to_response("amour/analysis.html", requestResults)
def single(request): probabilityTable = bayesian.defaultTokensProbabilityTable() requestResults = dict() requestResults.update(csrf(request)) if "string" in request.POST: testString = request.POST["string"].strip() probability = bayesian.eventProbabilityFromStringAndTokensProbabilityTable(testString, probabilityTable) requestResults["text"] = testString requestResults["probability"] = probability elif "train" in request.POST: text = request.POST["text"] train = request.POST["train"] tempList = [text] if train == "hit": bayesian.appendListToDefaultHitFileWithList(tempList) elif train == "mis": bayesian.appendListToDefaultMisFileWithList(tempList) requestResults["message"] = "Training Completed" response = render_to_response("amour/single.html", requestResults) return response