Spaces:
Sleeping
Sleeping
from git import Repo | |
import gradio as gr | |
from huggingface_hub import snapshot_download | |
import penman | |
import sys | |
Repo.clone_from("https://github.com/AbdiHaryadi/amr-tst-indo.git", "amr-tst-indo") | |
sys.path.append("./amr-tst-indo") | |
from text_to_amr import TextToAMR | |
# Gold v2 | |
amr_parsing_model_name = "mbart-en-id-smaller-indo-amr-parsing-translated-nafkhan" | |
snapshot_download( | |
repo_id=f"abdiharyadi/{amr_parsing_model_name}", | |
local_dir=f"./amr-tst-indo/AMRBART-id/models/{amr_parsing_model_name}", | |
ignore_patterns=[ | |
"*log*", | |
"*checkpoint*", | |
] | |
) | |
t2a = TextToAMR(model_name=amr_parsing_model_name) | |
def run(text, source_style): | |
source_amr, *_ = t2a([text]) | |
source_amr_display = penman.encode(source_amr) | |
yield source_amr_display, "...", "...", "...", "..." | |
triplets = [ | |
("kamar", "sangat bagus", "positif"), | |
("kamar", "bersih", "positif") | |
] | |
triplets_display = "\n".join(f"({x[0]}, {x[1]}, {x[2]})" for x in triplets) | |
yield source_amr_display, triplets_display, "...", "...", "..." | |
style_words = ["bagus", "bersih"] | |
style_words_display = ", ".join(style_words) | |
yield source_amr_display, triplets_display, style_words_display, "...", "..." | |
target_amr = penman.decode("(z0 / dunia)") | |
target_amr_display = penman.encode(target_amr) | |
yield source_amr_display, triplets_display, style_words_display, target_amr_display, "..." | |
result = f"dunia ({text=}, {source_style=})" | |
yield source_amr_display, triplets_display, style_words_display, target_amr_display, result | |
demo = gr.Interface( | |
fn=run, | |
inputs=[ | |
gr.Textbox(label="Teks (Text)"), | |
gr.Radio(label="Gaya sumber (Source style)", choices=[ | |
("Positif (Positive)", "LABEL_1"), | |
("Negatif (Negative)", "LABEL_0"), | |
], value="LABEL_1"), | |
], | |
outputs=[ | |
gr.Textbox(label="Graf AMR sumber (Source AMR graph)"), | |
gr.Textbox(label="Triplet (Triplets)"), | |
gr.Textbox(label="Kata bergaya (Style words)"), | |
gr.Textbox(label="Graf AMR target (Target AMR graph)"), | |
gr.Textbox(label="Hasil (Result)"), | |
] | |
) | |
demo.launch() | |