marcelcastrobr's picture
update of application
237ab4a
raw
history blame
2.12 kB
import gradio as gr
from transformers import pipeline
classifier = pipeline("zero-shot-classification", model="NbAiLab/nb-bert-base-mnli")
def sequence_to_classify(sequence, labels):
response = { 'sequence': "Folkehelseinstituttets mest optimistiske anslag er at alle voksne er ferdigvaksinert innen midten av september.",'labels': ['helse', 'politikk', 'religion', 'sport'],'scores': [0.7680550217628479,0.21670468151569366,0.01563994586467743,0.00441053556278348]}
clean_output = {idx: float(response['scores'].pop()) for idx in response['labels']}
hypothesis_template = 'Dette eksempelet er {}.'
label_clean = str(labels).split(",")
response1 = classifier(sequence, label_clean, hypothesis_template=hypothesis_template, multi_class=True)
labels = response1['labels']
scores = response1['scores']
clean_output1 = {labels[idx]: float(scores[idx]) for idx in range(len(labels))}
print("response is:{}".format(response))
print(type(response))
print("clean_output: {}".format(clean_output))
print("\n")
print("\n")
print("response1 is:{}".format(response1))
print(type(response1))
print("clean_output1: {}".format(clean_output1))
return clean_output1
example_text="Folkehelseinstituttets mest optimistiske anslag er at alle voksne er ferdigvaksinert innen midten av september."
example_labels=[["politikk", "helse", "sport", "religion"]]
def greet(name):
return "Hello " + name + "!!"
iface = gr.Interface(
title = "Zero-shot Classification of Norwegian Text",
description = "Demo of zero-shot classification using NB-Bert base model (Norwegian).",
fn=sequence_to_classify,
inputs=[gr.inputs.Textbox(lines=2,
label="Write a norwegian text you would like to classify...",
placeholder="Text here..."),
gr.inputs.Textbox(lines=2,
label="Possible candidate labels",
placeholder="labels here...")],
outputs=gr.outputs.Label(num_top_classes=3),
capture_session=True,
interpretation="default"
,examples=[
[example_text, example_labels]
])
iface.launch()