-
Notifications
You must be signed in to change notification settings - Fork 3
/
app.py
85 lines (69 loc) · 2.6 KB
/
app.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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
from function.rank_similarity import rank_sim
from function.nlp_problem import *
from function.summarizer import *
from flask import Flask, request, json, jsonify
import pandas as pd
app = Flask(__name__)
@app.route("/")
def hi():
return 'Success'
@app.route("/cosine_sim", methods=['POST'])
def calc_sim():
json_ = request.json
sims = rank_sim(json_)
return jsonify(sims)
@app.route("/translate",methods=['POST'])
def translate():
json_ = request.json
count = 0
for i in json_:
temp = json_[count]
if 'feedback' in temp:
temp['translate'] = to_translate(dest='en',data=temp['feedback'])
count +=1
return jsonify(json_)
@app.route("/translated-sentiment",methods=['POST'])
def translated_sentiment():
json_ = request.json
for item in json_:
if 'feedback' in item:
item['translate'] = to_translate(dest='en',data=item['feedback'])
item['sentiment'] = binary_score_abil_dicoding(item['translate'])
return jsonify(json_)
@app.route("/translate-en-id",methods=['POST'])
def translated_sentiment_en_id():
json_ = request.json
for item in json_:
if 'feedback' in item:
item['translate'] = to_translate(dest='id',data=item['feedback'])
return jsonify(json_)
@app.route("/feedback_summarizer",methods=['POST'])
def summarize_text():
json_ = request.json
summarized_texts = inference_all_data(json_)
return jsonify(summarized_texts)
@app.route("/feedback_summarizer_id",methods=['POST'])
def summarize_text_id():
json_ = request.json
summarized_texts = inference_all_data(json_)
feedback_list = summarized_texts["feedback"]
if len(feedback_list) > 0: # check that there's at least one item in the list
feedback_text = feedback_list[0] # get the first item
feedback_dict = {'feedback': feedback_text} # create a dictionary
id_summarized = to_translate(dest='id', data=[feedback_dict]) # note the list around feedback_dict
else:
id_summarized = {'error': 'No feedback to translate'}
return jsonify(id_summarized)
# @app.route("/sentiment",methods=['POST'])
# def sentiment():
# json_ = request.json
# count = 0
# for i in json_:
# if 'feedback' in json_[count]:
# temp = json_[count]
# a = polarity_scores_roberta(temp['feedback'])[1]
# temp['sentiment'] = a['Status']
# count +=1
# return jsonify(json_)
if __name__ == '__main__':
app.run(debug=True, port=5000)