import gradio as gr from sentence_transformers import CrossEncoder import numpy as np model = CrossEncoder("software-si/horeca-recensioni-ita-nli") def run_inference(premises, hypothesis): scores = model.predict((premises,hypothesis)) probs=np.exp(scores)/np.sum(np.exp(scores)) max_index = np.argmax(scores) if max_index == 0: result="FALSA" elif max_index == 1: result="VERA" else: result="NEUTRA" return result + " : " + str('{:.1%}'.format(probs[max_index])) #print(result + " : " + str('{:.1%}'.format(probs[max_index]))) testo_recensione='Il cibo era delizioso e il servizio eccellente. Ma la camera era troppo piccola' # Interfaccia Gradio gr.Interface( fn=run_inference, inputs=[ gr.Textbox(label="Inserisci la recensione completa", lines=4, placeholder=testo_recensione), gr.Textbox(label="Inserisci l'ipotesi da verificare", lines=2, placeholder="La stanza era grande"), ], #outputs=[gr.HighlightedText(label="Language detected", show_legend=True)], outputs=[gr.Text(label="Ipotesi è ...")], title="Recensioni HORECA - Italiano", description="Analizza se il testo inserito è FALSO, VERO o NEUTRO rispetto alla recensione data" ).launch()