Spaces:
Runtime error
Runtime error
File size: 4,063 Bytes
4954c84 edf08e6 4954c84 edf08e6 09bd8f1 edf08e6 4954c84 edf08e6 09bd8f1 edf08e6 09bd8f1 4954c84 09bd8f1 edf08e6 09bd8f1 edf08e6 09bd8f1 edf08e6 09bd8f1 edf08e6 09bd8f1 edf08e6 4954c84 09bd8f1 edf08e6 09bd8f1 edf08e6 09bd8f1 edf08e6 09bd8f1 |
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
import gradio as gr
from gradio_highlightedtextbox import HighlightedTextbox
def convert_tagged_text_to_highlighted_text(
tagged_text: str,
tag_id: str | list[str],
tag_open: str | list[str],
tag_close: str | list[str],
) -> list[tuple[str, str | None]]:
return HighlightedTextbox.tagged_text_to_tuples(
tagged_text, tag_id, tag_open, tag_close
)
def convert_highlighted_text_to_tagged_text(
highlighted_text: dict[str, str | list[tuple[str, str | None]]],
tag_id: str | list[str],
tag_open: str | list[str],
tag_close: str | list[str],
) -> str:
return HighlightedTextbox.tuples_to_tagged_text(
highlighted_text["data"], tag_id, tag_open, tag_close
)
initial_text = "It is not something to be ashamed of: it is no different from the <d>personal fears</d> and <tm>dislikes</tm> of other things that <t>manny peopl</t> have."
with gr.Blocks() as demo:
gr.Markdown("### Parameters to control the highlighted textbox:")
with gr.Row():
tag_id = gr.Dropdown(
choices=["Typo", "Terminology", "Disfluency"],
value=["Typo", "Terminology", "Disfluency"],
multiselect=True,
allow_custom_value=True,
label="Tag ID",
show_label=True,
info="Insert one or more tag IDs to use in the highlighted textbox.",
)
tag_open = gr.Dropdown(
choices=["<t>", "<tm>", "<d>"],
value=["<t>", "<tm>", "<d>"],
multiselect=True,
allow_custom_value=True,
label="Tag open",
show_label=True,
info="Insert one or more tags to mark the beginning of a highlighted section.",
)
tag_close = gr.Dropdown(
choices=["</t>", "</tm>", "</d>"],
value=["</t>", "</tm>", "</d>"],
multiselect=True,
allow_custom_value=True,
label="Tag close",
show_label=True,
info="Insert one or more tags to mark the end of a highlighted section.",
)
gr.Markdown("### Example tagged to highlight:")
with gr.Row():
tagged_t2h = gr.Textbox(
initial_text,
interactive=True,
label="Tagged Input",
show_label=True,
info="Tagged text using the format above to mark spans that will be highlighted.",
)
high_t2h = HighlightedTextbox(
convert_tagged_text_to_highlighted_text(
tagged_t2h.value, tag_id.value, tag_open.value, tag_close.value
),
interactive=False,
label="Highlighted Output",
info="Highlighted textbox intialized from the tagged input.",
show_legend=True,
show_label=True,
legend_label="Legend:",
show_legend_label=True,
)
gr.Markdown("### Example highlight to tagged:")
with gr.Row():
high_h2t = HighlightedTextbox(
convert_tagged_text_to_highlighted_text(
initial_text, tag_id.value, tag_open.value, tag_close.value
),
interactive=True,
label="Highlighted Input",
info="Highlighted textbox using the format above to mark spans that will be highlighted.",
show_legend=True,
show_label=True,
legend_label="Legend:",
show_legend_label=True,
)
tagged_h2t = gr.Textbox(
initial_text,
interactive=False,
label="Tagged Output",
info="Tagged text intialized from the highlighted textbox.",
show_label=True,
)
# Functions
tagged_t2h.input(
fn=convert_tagged_text_to_highlighted_text,
inputs=[tagged_t2h, tag_id, tag_open, tag_close],
outputs=high_t2h,
)
high_h2t.input(
fn=convert_highlighted_text_to_tagged_text,
inputs=[high_h2t, tag_id, tag_open, tag_close],
outputs=tagged_h2t,
)
if __name__ == "__main__":
demo.launch()
|