-
Notifications
You must be signed in to change notification settings - Fork 2
/
prod.py
65 lines (52 loc) · 2.1 KB
/
prod.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# -*- coding: utf-8 -*-
import fastai
from fastai import *
from fastai.text import *
from functools import partial
import io
import os
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import ipywidgets as widgets
learn_trained = load_learner(model_path)
def record_review(org_name, polarity_value):
with open("test.txt", "a") as myfile:
write_text = org_name+ ',' + str(polarity_value[0]) + ',' + str(polarity_value[1]) + '\n'
myfile.write(write_text)
def overall_company_review(name_of_company):
data = pd.read_csv('test.txt', names=['company','positive','negative'])
value = data.groupby(['company']).mean().loc[name_of_company]
sns.barplot(x=['positive','negative'], y=tuple(reversed([100*val for val in value])))
print('overall opinion of employee for',name_of_company,'is positive',value[1],' negative',value[0])
# from matplotlib.widgets import RadioButtons
def find_result(x):
if abs(x[0]-x[1]) <= 0.15:
return ('neutral',5)
elif (x[0] - x[1]) >= 0.6:
return ('extremly negative',1)
elif (x[1] - x[0]) >= 0.6:
return ('extremly positive',9)
elif x[0] > x[1]:
return ('negative',3)
else:
return('positive',7)
def prediction_result(x):
a= learn_trained.predict(x)
size = a[2].tolist()
labels = 'negative', 'positive'
colors = ['yellowgreen','lightskyblue']
# a = plt.pie(size, labels=labels, colors=colors,shadow=True,autopct='%1.0f%%')
# radio = RadioButtons(a, ('extremly negative', 'negative', 'neutral','positive','extremly positive'))
# plt.show()
# print(size)
print('Text:',x)
result = find_result(size)
print("Sentiment class:",result[0])
return result[1],size
def review_show(org_name,review):
res = prediction_result(review)
widgets.IntSlider(value=res[0],min=0,max=10,step=1,description='Sentiment:',disabled=False,continuous_update=False,orientation='horizontal',readout=False,readout_format='d')
record_review(org_name, res[1])
print(review_show('leapfrog','it feels good working in abc company'))
print(overall_company_review('leapfrog'))