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()