Spaces:
Build error
Build error
File size: 2,653 Bytes
e38d825 828b751 e38d825 828b751 4257568 828b751 4257568 69b9967 1a06981 4257568 828b751 b613751 828b751 1a06981 2ed6184 4257568 dc32f0a e419026 69b9967 14b51c3 a702acd 14b51c3 2ed6184 8ff9a48 4f938db ab6efc7 4f938db 8ff9a48 dc32f0a |
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
import gradio as gr
from transformers import BartForSequenceClassification, BartTokenizer
# model = pipeline("text-generation")
# following https://joeddav.github.io/blog/2020/05/29/ZSL.html
tokenizer_bart = BartTokenizer.from_pretrained('facebook/bart-large-mnli')
model_bart_sq = BartForSequenceClassification.from_pretrained('facebook/bart-large-mnli')
title = "Stance Detection using Zero Shot"
description1 = "Welcome to the side where the grass is greener."
description2 = "This is a simple tool which was created with an aim to stance towards a given entity in a sentence. However, this is not the only use case of it!"
description3 = "What did I do with it? Check out this [blog post](https://rachithaiyappa.github.io/science/Zero-Shot-for-Stance-Detection/) to see how it performs on some [SemEval](https://semeval.github.io/) tasks."
def zs(premise,hypothesis):
input_ids = tokenizer_bart.encode(premise, hypothesis, return_tensors='pt')
logits = model_bart_sq(input_ids)[0]
# entail_contradiction_logits = logits[:,[0,1,2]]
entail_contradiction_logits = logits[:,[0,2]]
probs = entail_contradiction_logits.softmax(dim=1)
contra_prob = round(probs[:,0].item(),4)
# neut_prob = round(probs[:,1].item(),4)
entail_prob = round(probs[:,1].item(),4)
# return contra_prob, neut_prob, entail_prob
return contra_prob, entail_prob
# gr.Interface(fn=zs, inputs=["text", "text"], outputs=["text","text","text"]).launch()
with gr.Blocks() as demo:
gr.Markdown(f" # {title}")
gr.Markdown(f" ## {description1}")
gr.Markdown(f"{description2}")
gr.Markdown(f"{description3}")
with gr.Row():
# premise = gr.Textbox(label="Premise",placeholder = "Roger Federer is an amazing tennis player.")
# hypothesis = gr.Textbox(label="Hypothesis", placeholder = "The stance to Roger Federer is positive.")
premise = gr.Textbox(label="Premise")
hypothesis = gr.Textbox(label="Hypothesis")
with gr.Row():
greet_btn = gr.Button("Compute")
with gr.Row():
entailment = gr.Textbox(label="Entailment Probability")
contradiction = gr.Textbox(label="Contradiction Probability")
# neutral = gr.Textbox(label="Neutral Probability")
# greet_btn.click(fn=zs, inputs=[premise,hypothesis], outputs=[contradiction,neutral,entailment])
greet_btn.click(fn=zs, inputs=[premise,hypothesis], outputs=[contradiction,entailment])
gr.Examples(
fn = zs,
examples = [["Roger Federer is an amazing tennis player.","The stance to Roger Federer is positive."]],
inputs = [premise,hypothesis]
)
demo.launch() |