File size: 1,513 Bytes
d062429 0013101 d062429 0013101 d062429 | 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 | import gradio as gr
import pandas as pd
from nltk.corpus import wordnet as wn
import nltk
nltk.download('wordnet')
df_tree = pd.read_csv("data/20k_tree.csv")
df_metrics = pd.read_csv("data/benchmark.csv")
def query_interface(model, synset):
if model == "*":
return df_metrics.query(f"synset =='{synset}'")
else:
return df_metrics.query(f"synset =='{synset}' and model == '{model}'")
def find_synsets(lemma):
synsets = wn.synsets(lemma)
valid_set = set(df_metrics.synset.values)
synset_names = [s.name() for s in synsets if s.name() in valid_set]
return df_tree.query(f"synset in @synset_names", engine='python')
with gr.Blocks() as app:
gr.Label("WordNet Explorer", style="h1")
lemma = gr.Textbox(label="find synsets")
gr.Button("Search").click(find_synsets, lemma, outputs=[gr.DataFrame()])
gr.Label("Benchmark Explorer", style="h1")
model_list = list(set(df_metrics.model.values.tolist()))
gr.TextArea(f"This is a simple interface to query the benchmark results. You can use * as a wildcard for the model name. The available models are {', '.join(model_list)}.", lines=2)
with gr.Row():
# model = gr.inputs.Dropdown(label="model",choices=list(set(df_metrics.model.values.tolist())))
model = gr.Textbox(label="model")
synset = gr.inputs.Textbox(label="synset")
btn = gr.Button("Query", label="query")
btn.click(query_interface, inputs=[model, synset], outputs=[gr.DataFrame()])
app.launch() |