File size: 872 Bytes
c0de02a |
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 |
import gradio as gr
import model_wrapper
model = model_wrapper.PredictionModel()
def pretty_print_opinion(opinion_dict):
res = []
maxlen = max([len(key) for key in opinion_dict.keys()]) + 2
maxlen = 0
for key, value in opinion_dict.items():
if key == 'Polarity':
res.append(f'{(key + ":").ljust(maxlen)} {value}')
else:
res.append(f'{(key + ":").ljust(maxlen)} \'{" ".join(value[0])}\'')
return '\n'.join(res) + '\n'
def predict(text):
predictions = model.predict([text])
prediction = predictions[0]
results = []
if not prediction['opinions']:
return 'No opinions detected'
for opinion in prediction['opinions']:
results.append(pretty_print_opinion(opinion))
return '\n'.join(results)
iface = gr.Interface(fn=predict, inputs="text", outputs="text")
iface.launch() |