Spaces:
Sleeping
Sleeping
File size: 5,523 Bytes
41dfb3a e40da07 41dfb3a 5581e99 41dfb3a 5581e99 035182f 7d4468d 49c6fa3 7d4468d 41dfb3a af1568e 41dfb3a fcbd881 fcb599a fcbd881 fcb599a fcbd881 fcb599a fcbd881 41dfb3a 5581e99 41dfb3a 812bb26 f049fd3 2f70820 41dfb3a |
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 |
import torch
import random
import gradio as gr
from language_bpe import BPETokenizer
hinglish_tokenizer = BPETokenizer()
hinglish_tokenizer.load('models/hinglish_5000.model')
hindi_tokenizer = BPETokenizer()
hindi_tokenizer.load('models/hindi_5000.model')
english_tokenizer = BPETokenizer()
english_tokenizer.load('models/english_5000.model')
tokenizer_dict = {"Hinglish_5k": hinglish_tokenizer, "Hindi_5k": hindi_tokenizer, "English_5k": english_tokenizer}
def inference(input_text, tokenizer):
encoding = tokenizer_dict[tokenizer].encode_ordinary(input_text)
sentence = [tokenizer_dict[tokenizer].decode([x]) for x in encoding]
color_sentence = []
color_encoding = []
for word, encode in zip(sentence, encoding):
color_sentence.append((word, str(encode)))
color_encoding.append((str(encode), str(encode)))
return len(encoding), color_sentence, color_encoding
title = "Bilingual Tokenizer"
description = "A simple Gradio interface to see tokenization of Hindi and English(Hinglish) text"
examples = [["I can't believe this is the eighth time I've smashed open my piggy bank on the same day! मैं विश्वास नहीं कर सकता कि यह आठवीं बार है जब मैंने उसी दिन अपना गुल्लक तोड़ा है!", "Hinglish_5k"],
["Please wait outside of the house. कृपया घर के बाहर प्रतीक्षा करें.", "Hinglish_5k"],
["He said he was not there yesterday; however, many people saw him there. उन्होंने कहा कि वह कल वहां नहीं थे; हालाँकि, कई लोगों ने उसे वहाँ देखा।", "Hinglish_5k"],
["The door swung open to reveal pink giraffes and red elephants. गुलाबी जिराफ और लाल हाथियों को दिखाने के लिए दरवाजा खुला।", "Hinglish_5k"],
["There's enough glass in my cupboard to build an undersea aquarium. समुद्र के अंदर एक मछलीघर बनाने के लिए मेरी अलमारी में पर्याप्त ग्लास हैं।", "Hinglish_5k"],
["I can't believe this is the eighth time I've smashed open my piggy bank on the same day! मैं विश्वास नहीं कर सकता कि यह आठवीं बार है जब मैंने उसी दिन अपना गुल्लक तोड़ा है!", "Hindi_5k"],
["Please wait outside of the house. कृपया घर के बाहर प्रतीक्षा करें.", "Hindi_5k"],
["He said he was not there yesterday; however, many people saw him there. उन्होंने कहा कि वह कल वहां नहीं थे; हालाँकि, कई लोगों ने उसे वहाँ देखा।", "Hindi_5k"],
["The door swung open to reveal pink giraffes and red elephants. गुलाबी जिराफ और लाल हाथियों को दिखाने के लिए दरवाजा खुला।", "Hindi_5k"],
["There's enough glass in my cupboard to build an undersea aquarium. समुद्र के अंदर एक मछलीघर बनाने के लिए मेरी अलमारी में पर्याप्त ग्लास हैं।", "Hindi_5k"],
["I can't believe this is the eighth time I've smashed open my piggy bank on the same day! मैं विश्वास नहीं कर सकता कि यह आठवीं बार है जब मैंने उसी दिन अपना गुल्लक तोड़ा है!", "English_5k"],
["Please wait outside of the house. कृपया घर के बाहर प्रतीक्षा करें.", "English_5k"],
["He said he was not there yesterday; however, many people saw him there. उन्होंने कहा कि वह कल वहां नहीं थे; हालाँकि, कई लोगों ने उसे वहाँ देखा।", "English_5k"],
["The door swung open to reveal pink giraffes and red elephants. गुलाबी जिराफ और लाल हाथियों को दिखाने के लिए दरवाजा खुला।", "English_5k"],
["There's enough glass in my cupboard to build an undersea aquarium. समुद्र के अंदर एक मछलीघर बनाने के लिए मेरी अलमारी में पर्याप्त ग्लास हैं।", "English_5k"]
]
demo = gr.Interface(
inference,
inputs = [
gr.Textbox(label="Enter any sentence in Hindi, English or both language", type="text"),
gr.Dropdown(label="Tokenizer", choices=["Hinglish_5k", "Hindi_5k", "English_5k"], value="Hinglish_5k")
],
outputs = [
gr.Label(label="Token count"),
gr.HighlightedText(label="Sentence", show_inline_category=False),
gr.HighlightedText(label="Encoding", show_inline_category=False)
],
title = title,
description = description,
examples = examples,
)
demo.launch() |