Spaces:
Sleeping
Sleeping
File size: 7,443 Bytes
407b426 065c1c6 407b426 065c1c6 407b426 065c1c6 407b426 9b0be64 7e29b15 9b0be64 7e29b15 9b0be64 407b426 9b0be64 7e29b15 9b0be64 407b426 9b0be64 407b426 |
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 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
import gradio as gr
from gradio_rich_textbox import RichTextbox
from helper.text_preprocess import space_punc
from helper.alignment_mappers import select_model
from helper.pos_taggers import select_pos_tagger
from helper.translators import select_translator
def bn_postagger(src, translator, model_name, tagger):
"""
Bangla PoS Tagger
"""
src = space_punc(src)
tgt_base, tgt = select_translator(src, translator)
model_name = select_model(model_name)
result, pos_accuracy = select_pos_tagger(src, tgt, model_name, tagger)
return tgt_base, result, pos_accuracy
# Define the Gradio interface
# demo = gr.Interface(
# fn=bn_postagger,
# inputs=[
# gr.Textbox(label="Enter Bangla Sentence", placeholder="বাংলা বাক্য লিখুন"),
# gr.Dropdown(["Google", "BanglaNMT", "MyMemory"], label="Select a Translator"),
# gr.Dropdown(["spaCy", "NLTK", "Flair", "TextBlob"], label="Select a PoS Tagger")
# ],
# outputs= [
# gr.Textbox(label="English Translation"),
# RichTextbox(label="PoS Tags"),
# gr.Textbox(label="Overall PoS Tagging Accuracy")
# ],
# live=False,
# title="Bangla PoS Taggers",
# theme='',
# examples=[
# ["বাংলাদেশ দক্ষিণ এশিয়ার একটি সার্বভৌম রাষ্ট্র।"],
# ["বাংলাদেশের সংবিধানিক নাম কি?"],
# ["বাংলাদেশের সাংবিধানিক নাম গণপ্রজাতন্ত্রী বাংলাদেশ।"],
# ["তিনজনের কেউই বাবার পথ ধরে প্রযুক্তি দুনিয়ায় হাঁটেননি।"],
# ["বিশ্বের আরও একটি সেরা ক্লাব।"]
# ]
# )
with gr.Blocks(css="styles.css") as demo:
gr.HTML("<h1>Bangla PoS Taggers</h1>")
gr.HTML("<p>Parts of Speech (PoS) Tagging of Bangla Sentence using Bangla-English <strong>Word Alignment</strong></p>")
with gr.Tab("Using Alignment"):
with gr.Row():
with gr.Column():
inputs = [
gr.Textbox(
label="Enter Bangla Sentence",
show_copy_button=True,
placeholder="বাংলা বাক্য লিখুন"
),
gr.Dropdown(
choices=["Google", "BanglaNMT", "MyMemory"],
label="Select a Translator"
),
gr.Dropdown(
choices=["Google-mBERT (Base-Multilingual)", "Neulab-AwesomeAlign (Bn-En-0.5M)", "BUET-BanglaBERT (Large)", "SagorSarker-BanglaBERT (Base)", "SentenceTransformers-LaBSE (Multilingual)"],
label="Select a Model"
),
gr.Dropdown(
choices=["spaCy", "NLTK", "Flair", "TextBlob"],
label="Select a PoS Tagger"
)
]
with gr.Row():
btn = gr.Button(value="Submit", variant="primary")
gr.ClearButton(inputs)
with gr.Column():
outputs = [
gr.Textbox(label="English Translation", show_copy_button=True),
RichTextbox(label="PoS Tags"),
gr.Textbox(label="PoS Tagging Accuracy (Based on Unknown(UNK) Tags)")
]
btn.click(bn_postagger, inputs, outputs)
gr.Examples([
[
"বাংলাদেশ দক্ষিণ এশিয়ার একটি সার্বভৌম রাষ্ট্র।",
"Google",
"Neulab-AwesomeAlign (Bn-En-0.5M)",
"NLTK"
],
[
"বাংলাদেশের সংবিধানিক নাম কি?",
"Google",
"Google-mBERT (Base-Multilingual)",
"spaCy"
],
[
"বাংলাদেশের সাংবিধানিক নাম গণপ্রজাতন্ত্রী বাংলাদেশ।",
"Google",
"Google-mBERT (Base-Multilingual)",
"TextBlob"
],
[
"তিনজনের কেউই বাবার পথ ধরে প্রযুক্তি দুনিয়ায় হাঁটেননি।",
"Google",
"Neulab-AwesomeAlign (Bn-En-0.5M)",
"spaCy"
],
[
"তিনজনের কেউই বাবার পথ ধরে প্রযুক্তি দুনিয়ায় হাঁটেননি।",
"BanglaNMT",
"Google-mBERT (Base-Multilingual)",
"spaCy"
],
[
"তিনজনের কেউই বাবার পথ ধরে প্রযুক্তি দুনিয়ায় হাঁটেননি।",
"MyMemory",
"Google-mBERT (Base-Multilingual)",
"spaCy"
],
[
"বিশ্বের আরও একটি সেরা ক্লাব।",
"Google",
"Neulab-AwesomeAlign (Bn-En-0.5M)",
"Flair"
]
], inputs)
with gr.Tab("Using Bangla Library"):
with gr.Row():
with gr.Column():
inputs = [
gr.Textbox(
label="Enter Bangla Sentence",
show_copy_button=True,
placeholder="বাংলা বাক্য লিখুন"
),
gr.Dropdown(
choices=["BNLTK", "SBNLTK"],
label="Select a Bangla NLP Library"
)
]
with gr.Row():
btn = gr.Button(value="Submit", variant="primary")
gr.ClearButton(inputs)
with gr.Column():
outputs = [
RichTextbox(label="PoS Tags")
]
btn.click(bn_postagger, inputs, outputs)
gr.Examples([
[
"বাংলাদেশ দক্ষিণ এশিয়ার একটি সার্বভৌম রাষ্ট্র।",
"BNLTK"
],
[
"বাংলাদেশের সংবিধানিক নাম কি?",
"SBNLTK"
],
[
"বাংলাদেশের সাংবিধানিক নাম গণপ্রজাতন্ত্রী বাংলাদেশ।",
"SBNLTK"
],
[
"তিনজনের কেউই বাবার পথ ধরে প্রযুক্তি দুনিয়ায় হাঁটেননি।",
"BNLTK"
]
], inputs)
# Launch the Gradio app
if __name__ == "__main__":
demo.launch() |