jflo commited on
Commit
1b0a68c
·
1 Parent(s): 424dc61

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -11
app.py CHANGED
@@ -7,32 +7,35 @@ import maven_text_preprocessing
7
 
8
  app = FastAPI()
9
 
10
- class SentimentRequest(BaseModel):
11
  message: str
12
 
13
  @app.get("/")
14
  def greet_json():
15
  return {"Hello": "World!"}
16
 
17
- @app.post("/sentiment")
18
- def sentiment_analysis(payload: SentimentRequest):
19
 
20
- model = joblib.load("logistic_model.joblib")
21
  vectorizer = joblib.load("vectorizer.joblib")
22
 
23
- dirty_text_series = pd.Series([payload.message])
24
- clean_text = maven_text_preprocessing.clean_and_normalize(dirty_text_series)
25
 
26
  X = vectorizer.transform(clean_text) # ⚠️ transform, NOT fit_transform
27
 
 
 
28
  predictions = model.predict(X)
29
  pred_prob = model.predict_proba(X)
30
 
31
- pred_list = [predictions.tolist()[0],pred_prob.tolist()[0][0],pred_prob.tolist()[0][1]]
32
 
33
  return {
34
- "gender": pred_list[0],
35
- "f_perc": pred_list[1],
36
- "m_perc": pred_list[2]
37
- }
 
 
 
38
 
 
7
 
8
  app = FastAPI()
9
 
10
+ class ClassificationRequest(BaseModel):
11
  message: str
12
 
13
  @app.get("/")
14
  def greet_json():
15
  return {"Hello": "World!"}
16
 
17
+ @app.post("/classify")
18
+ def sentiment_analysis(payload: ClassificationRequest):
19
 
20
+ model = joblib.load("naive_bayes.joblib")
21
  vectorizer = joblib.load("vectorizer.joblib")
22
 
23
+ clean_text = maven_text_preprocessing.clean_and_normalize(pd.Series([payload.message]))
 
24
 
25
  X = vectorizer.transform(clean_text) # ⚠️ transform, NOT fit_transform
26
 
27
+ category_list = ["Politics", "Sport", "Technology", "Entertainment", "Business"]
28
+
29
  predictions = model.predict(X)
30
  pred_prob = model.predict_proba(X)
31
 
 
32
 
33
  return {
34
+ category_list[predictions.tolist()[0]]: pred_prob[predictions.tolist()[0]],
35
+ category_list[0]: pred_prob[0],
36
+ category_list[1]: pred_prob[1],
37
+ category_list[2]: pred_prob[2],
38
+ category_list[3]: pred_prob[3],
39
+ category_list[4]: pred_prob[4]
40
+ }
41