cliff_viz / app.py
cattana's picture
add article
ea9342f
import gradio as gr
import spacy
from spacy import displacy
import pandas as pd
df = pd.read_json("cliff_gradio.jsonl", orient="index")
colors = {"ext": "#aa9cfc", "int": "#ff6961", "wor": "#7aecec"}
options = {"colors": colors}
nlp = spacy.blank("en")
def viz(topic_id):
row = df.loc[topic_id]
summary = row["summary"]
labels = row["labels"]
score = row["score"]
ex = [{"text": summary,
"ents": [{"start": token.idx, "end": token.idx + token.__len__() + 1, "label": label[:3]} for token, label in zip(nlp(summary), labels) if label != "correct"],
"title": None}]
return row["article"], displacy.render(ex, style="ent", manual=True, options=options), score
demo = gr.Interface(fn=viz,
inputs=[gr.Dropdown(df.index.tolist(), label="Select Topic Id")],
outputs=[gr.Text(label="Source article"),
gr.HTML(label="summary"),
gr.Number(label="score")])
demo.launch()