File size: 2,056 Bytes
aea6ff4 3702ace c995fd5 b752604 13a9362 3163c0c 7127817 22aedd0 3163c0c b752604 3702ace b752604 aea6ff4 b0b0ba6 3702ace b752604 3702ace fb3b31f 3657834 6e12a49 dab52d1 cf4494f aea6ff4 |
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 |
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):
hypothesis_template = 'Dette eksempelet er {}.'
label_clean = str(labels).split(",")
response = classifier(sequence, label_clean, hypothesis_template=hypothesis_template, multi_class=True)
predicted_labels = response['labels']
predicted_scores = response['scores']
#clean_output = {labels[idx]: float(predicted_scores[idx]) for idx in range(len(predicted_labels))}
clean_output = {idx: float(predicted_scores.pop(0)) for idx in predicted_labels}
print("response is:{}".format(response))
print("clean_output: {}".format(clean_output))
print(predicted_labels)
print(predicted_scores)
return clean_output
example_text=["Folkehelseinstituttets mest optimistiske anslag er at alle voksne er ferdigvaksinert innen midten av september.","Kutt smør i terninger, og la det temperere seg litt mens deigen elter. Ha hvetemel, sukker, gjær, salt og kardemomme i en bakebolle til kjøkkenmaskin. Bruker du fersk gjær kan du smuldre gjæren i bollen, eller røre den ut i melken. Alt vil ettehvert blande seg godt, så begge deler er like bra."]
example_labels=["politikk,helse,sport,religion", "helse,sport,religion, mat"]
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=10,
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() |