Bangla / Bengali Heteronym / Homograph Reader Demo
Picks the right pronunciation of Bangla heteronyms (same spelling, different reading) from the sentence.
All 15 models are fine-tuned on the bangla-heteronyms dataset. Models · Dataset · Code
Model
Replace every heteronym in the text with its reading.
Readings and confidence
Examples
| Method | Input (one per line) |
|---|
ব্যাংককে | ব্যাংক্কে | রোন্জিত্ | কোরো |
আঁক | আঁক্ | আঁকো | |
আসর | আশোর | আসোর | |
আসল | আশোল্ | আশ্লো | |
আসলে | আশ্লে | আশোলে | |
এল | এল্ | এলো | |
কমল | কমোল্ | কোম্লো | |
কমলে | কোম্লে | কমোলে | |
কমে | কমে | কোমে | |
কর | কর্ | করো | কোরো |
করাত | করাত্ | করাতো | |
করে | করে | কোরে | |
কষ | কশ্ | কশো | |
কষে | কশে | কোশে | |
কাল | কাল্ | কালো | |
কাশ | কাশ্ | কাশো | |
কেন | ক্যানো | কেনো | |
কোট | কোট্ | কোটো | |
কোন | কোন্ | কোনো | |
কোপ | কোপ্ | কোপো | |
খসে | খশে | খোশে | |
খাট | খাট্ | খাটো | |
খেত | খেত্ | খেতো | |
খেপে | খ্যাপে | খেপে | |
খেল | খ্যাল্ | খ্যালো | খেলো |
খেলে | খ্যালে | খেলে | |
খোঁজ | খোঁজ্ | খোঁজো | |
খোল | খোল্ | খোলো | |
গড় | গড়্ | গড়ো | |
গড়ে | গড়ে | গোড়ে | |
গলে | গলে | গোলে | |
গেল | গ্যালো | গেলো | |
গোঁজ | গোঁজ্ | গোঁজো | |
ঘটে | ঘটে | ঘোটে | |
ঘষে | ঘশে | ঘোশে | |
ঘেঁষে | ঘ্যাঁশে | ঘেঁশে | |
ঘোর | ঘোর্ | ঘোরো | |
চট | চট্ | চটো | |
চটি | চটি | চোটি | |
চটে | চটে | চোটে | |
চড় | চড়্ | চড়ো | |
চড়ে | চড়ে | চোড়ে | |
চমকে | চোম্কে | চমোকে | |
চরে | চরে | চোরে | |
চল | চল্ | চলো | |
চলে | চলে | চোলে | |
চষে | চশে | চোশে | |
চাট | চাট্ | চাটো | |
চাপ | চাপ্ | চাপো | |
চাল | চাল্ | চালো | |
চির | চির্ | চিরো | |
চেন | চেন্ | চেনো | |
ছাঁট | ছাঁট্ | ছাঁটো | |
ছাড় | ছাড়্ | ছাড়ো | |
ছাপ | ছাপ্ | ছাপো | |
ছেঁচে | ছ্যাঁচে | ছেঁচে | |
ছোট | ছোটো | ছোট্ | |
জপে | জপে | জোপে | |
জমে | জমে | জোমে | |
জাগ | জাগ্ | জাগো | |
জান | জান্ | জানো | |
জোড় | জোড়্ | জোড়ো | |
জ্বলে | জলে | জোলে | |
জ্বাল | জাল্ | জালো | |
ঝরে | ঝরে | ঝোরে | |
ঝলকে | ঝোল্কে | ঝলোকে | |
ঝাড় | ঝাড়্ | ঝাড়ো |
| Model | Approach | Params | Accuracy (%) | Macro-F1 (%) | GPU p50 (ms) | CPU p50 (ms) | GPU sent./s (batch 32) |
|---|---|---|---|---|---|---|---|
| BanglaBERT | Classifier | 110M | 99.46 ± 0.16 | 99.40 | 12.5 | 32.8 | 1,500 |
| BanglaBERT-large | Candidate scorer | 335.6M | 99.73 ± 0.09 | 99.72 | 23.8 | 138.9 | 327 |
| BanglaBERT-small | Classifier | 13.7M | 98.16 ± 0.14 | 98.09 | 12.6 | 13 | 1,488 |
| BanglaBERT-large | Classifier | 335.6M | 99.18 ± 0.16 | 99.14 | 22.8 | 107.8 | 820 |
| BanglaBERT | Candidate scorer | 110M | 99.37 ± 0.16 | 99.34 | 13.6 | 44.1 | 1,001 |
| XLM-R-large | Classifier | 559.9M | 98.43 ± 0.19 | 98.34 | 17.8 | 126.4 | 668 |
| BanglaT5 | Seq2seq | 247.6M | 98.37 ± 0.18 | 98.37 | 236.8 | 323.3 | 67 |
| IndicBERTv2-MLM | Classifier | 278M | 98.34 ± 0.21 | 98.29 | 11.3 | 31.4 | 1,972 |
| Bangla-BERT-base | Classifier | 164.4M | 98.01 ± 0.39 | 97.93 | 10.6 | 30.5 | 2,068 |
| mDeBERTa-v3-base | Classifier | 278.2M | 97.61 ± 0.14 | 97.48 | 24.9 | 118.2 | 235 |
| XLM-R-base | Classifier | 278M | 97.37 ± 0.39 | 97.27 | 10.3 | 37.5 | 1,845 |
| mT5-base | Seq2seq | 582.4M | 96.11 ± 0.16 | 95.99 | 436.2 | 1758.6 | 24 |
| MuRIL-base | Classifier | 237.6M | 95.89 ± 1.04 | 95.54 | 10.3 | 39.8 | 1,976 |
| mT5-small | Seq2seq | 300.2M | 93.36 ± 0.21 | 92.99 | 307.6 | 923.6 | 42 |
| XLM-R-large | Candidate scorer | 559.9M | 83.30 ± 23.82 | 81.52 | 19.9 | 174.6 | 306 |
Approaches
- Classifier: reads the word and the sentence with the word marked, and picks one of the word's readings.
- Candidate scorer: scores the marked sentence together with each reading; the highest score wins.
- Seq2seq: rewrites the whole sentence with the reading; the word at the marked position is the answer.
Measurements
- Accuracy: share of the 1,104 test sentences whose reading is correct. Mean ± standard deviation over 3 training seeds.
- Macro-F1: F1 averaged over all readings, so every reading counts the same.
- Confidence: the model's probability for the reading it chose (for seq2seq models, the mean probability of the generated tokens).
- p50: median time for one sentence at batch size 1, for the whole pipeline (normalization, marking, tokenization, model, decoding). GPU: Tesla T4. CPU: Intel Xeon E5-2650 v3, 4 threads.
- Sent./s (batch 32): sentences per second on the GPU when 32 sentences go through the model together.
- Batch: all inputs go through the model in one call. One by one: one call per input.
- Time on the Try it tab: measured live on this Space's shared, limited hardware. It is not the real speed of a model; use the benchmark numbers above to compare models.
Outputs of the BanglaBERT model.
| Method | Input | Output | Confidence |
|---|---|---|---|
phoneticize |
তুমি মাকে বল, আমি দেরিতে ফিরব। নতুন বল হাতে তাসকিন আগুন ঝরাচ্ছে। কাল নিশ্চয়ই রোদ উঠবে। মেয়েটার চোখ দুটো কাল আর গভীর। সে রোজ রাতে টিভি দেখে। |
তুমি মাকে বলো, আমি দেরিতে ফিরব। নতুন বল্ হাতে তাসকিন আগুন ঝরাচ্ছে। কাল্ নিশ্চয়ই রোদ উঠবে। মেয়েটার চোখ দুটো কালো আর গভীর। সে রোজ রাতে টিভি দ্যাখে। |
বল → বলো (1.00) বল → বল্ (1.00) কাল → কাল্ (1.00) কাল → কালো (1.00) দেখে → দ্যাখে (1.00) |
phoneticize_detailed |
সে জাতীয় দলের হয়ে হকি খেলে। মাঠে দুই ঘণ্টা খেলে বাড়ি ফিরল ছেলেরা। মন খারাপ হলে গান শুনি। |
সে জাতীয় দলের হয়ে হকি খ্যালে। [খেলে → খ্যালে (1.00)] মাঠে দুই ঘণ্টা খেলে বাড়ি ফিরল ছেলেরা। [খেলে → খেলে (1.00)] মন খারাপ হোলে গান শুনি। [হলে → হোলে (1.00)] |
খেলে → খ্যালে (1.00) খেলে → খেলে (1.00) হলে → হোলে (1.00) |
predict |
সবার মত নিয়ে সিদ্ধান্ত হবে। | মত মধুর মত মিষ্টি গলা। | মত চাল ফুরিয়েছে, আজ রুটি। | চাল কে এত রাতে চিৎকার করে? | করে |
মত্ মতো চাল্ করে |
মত → মত্ (1.00) মত → মতো (1.00) চাল → চাল্ (1.00) করে → করে (1.00) |
predict_marked |
ও খুব মন দিয়ে [পড়ে]। বৃষ্টিতে পিছলে [পড়ে] কোমরে ব্যথা পেয়েছি। [হলে] বড় পর্দায় সিনেমা দেখার মজাই আলাদা। মোবাইলে একশো টাকা রিচার্জ [করে] দাও তো। |
পড়ে পোড়ে হলে কোরে |
পড়ে → পড়ে (1.00) পড়ে → পোড়ে (1.00) হলে → হলে (1.00) করে → কোরে (1.00) |
phoneticize_marked |
সরকার [কর] বাড়িয়েছে, তাই হিসাবটা আবার [কর]। নতুন [বল] হাতে নিয়ে মাঠে যাও, আর মাকে [বল] আমি দেরিতে ফিরব। [কাল] নিশ্চয়ই রোদ উঠবে। মেয়েটার চোখ দুটো [কাল] আর গভীর। সে রোজ রাতে টিভি [দেখে], আর আমি বই পড়ে ঘুমাই। |
সরকার কর্ বাড়িয়েছে, তাই হিসাবটা আবার করো। নতুন বল্ হাতে নিয়ে মাঠে যাও, আর মাকে বলো আমি দেরিতে ফিরব। কাল্ নিশ্চয়ই রোদ উঠবে। মেয়েটার চোখ দুটো কালো আর গভীর। সে রোজ রাতে টিভি দ্যাখে, আর আমি বই পড়ে ঘুমাই। |
কর → কর্ (0.99) কর → করো (0.62) বল → বল্ (1.00) বল → বলো (1.00) কাল → কাল্ (1.00) কাল → কালো (1.00) দেখে → দ্যাখে (1.00) |
phoneticize |
আগে কর কাজটা, তারপর আবার কর। | আগে কোরো কাজটা, তারপর আবার করো। | কর → কোরো (0.71) কর → করো (0.78) |
phoneticize |
আজ আকাশ পরিষ্কার। | আজ আকাশ পরিষ্কার। | – |
Prepared by
Kawshik Kumar Paul
Senior Software Engineer | Researcher
Department of Computer Science and Engineering (CSE)
Bangladesh University of Engineering and Technology (BUET)
Email: kawshikbuet17@gmail.com