Swa bhasha XLMR Sinhala Transliteration Model

This model transliterates Romanized Sinhala text to Sinhala script.

Model description

This is a fine-tuned version of FacebookAI/xlm-roberta-base specialized for Sinhala transliteration. It converts romanized Sinhala (using Latin characters) to proper Sinhala script. Due to the training limitation only 2/3 of data from deshanksuman/Augmented_SinhalatoRomanizedSinhala_Dataset was utilized for the training purposes.

Intended uses & limitations

This model is intended for transliterating Romanized Sinhala text to proper Sinhala script. It can be useful for:

  • Text input conversion in applications
  • Helping non-native speakers type in Sinhala
  • Converting legacy text in romanized format to proper Sinhala

Acknowledgement

We acknowledge the support of the Supercomputing Wales project, which is part-funded by the European Regional Development Fund (ERDF) via Welsh Government.

How to use the code


import torch
from transformers import EncoderDecoderModel, XLMRobertaTokenizer

# Model repo on Hugging Face
MODEL_NAME = "deshanksuman/swaBhahsa_XLMR_Transliteration"

# Load tokenizer
tokenizer = XLMRobertaTokenizer.from_pretrained("FacebookAI/xlm-roberta-base")

# Load encoder-decoder model
model = EncoderDecoderModel.from_pretrained(MODEL_NAME)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
model.eval()

def transliterate(text, model, tokenizer, device, max_length=128):
    inputs = tokenizer(
        text,
        return_tensors="pt",
        max_length=max_length,
        padding="max_length",
        truncation=True
    )

    input_ids = inputs["input_ids"].to(device)
    attention_mask = inputs["attention_mask"].to(device)

    with torch.no_grad():
        outputs = model.generate(
            input_ids=input_ids,
            attention_mask=attention_mask,
            max_length=max_length,
            num_beams=5,
            early_stopping=True
        )

    return tokenizer.decode(outputs[0], skip_special_tokens=True)


# Example
text = "rate aluthma thathwaya sambandhawa mokada hithenne"
result = transliterate(text, model, tokenizer, device)

print("Romanized :", text)
print("Sinhala   :", result)

Sample Examples

Romanized: karandeniya em Expected: කරන්දෙණිය එම් Predicted: කරන්දෙණිය එම් Correct: True

Example 2: Romanized: yatawena minissu hoya ganna beriwa mihidan wenawa Expected: යටවෙන මිනිස්සු හොයා ගන්න බැරිව මිහිදන් වෙනවා Predicted: යටවෙන මිනිස්සු හොයා ගන්න බැරිව මිහිදන් වෙනවා Correct: True

Example 3: Romanized: deshapalanayata adhunikayekgotabhaya rajapaksha mahatha deshapalanayata adhunikayeki Expected: දේශපාලනයට ආධුනිකයෙක්ගෝඨාභය රාජපක්ෂ මහතා දේශපාලනයට ආධුනිකයෙකි Predicted: දේශපාලනයට ආධුනිකයෙක්ගෝඨය රාජපක්ෂ මහතා දේශපාලනයට ආධුනිකයෙකි Correct: False

Example 4: Romanized: ma newathath kiya sitinne hadisi thaththwaya yatathe pewaree ethi balathala anuwa owun grahanayata geneemata athadanguwata geneemata ho awashya wuwahoth wedi thebeema dakwa awama balaye sita uparima balaya yedaweemata pasubata nowana bawayi Expected: මා නැවතත් කියා සිටින්නේ හදිසි තත්ත්වය යටතේ පැවරී ඇති බලතල අනුව ඔවුන් ග්රහණයට ගැනීමට අත්අඩංගුවට ගැනීමට හෝ අවශ්ය වුවහොත් වෙඩි තැබීම දක්වා අවම බලයේ සිට උපරිම බලය යෙදවීමට පසුබට නොවන බවයි Predicted: මා නැවතත් කියා සිටින්නේ හදිසි තත්ත්වය යටතේ පැවරී ඇති බලතල අනුව ඔවුන් ග්රහණයට ගැනීමට අත්අඩංගුවට ගැනීමට හෝ අවශ්ය වුවහොත් වෙඩි තැබීම දක්වා අවම බලයේ සිට උපරිම බලය යෙදවීමට පසුබට නොවන බවයි Correct: True

Example 5: Romanized: me athara diwayine prasiddhi bhikshun wahanse namak da rupiyal rupiyal koti ka pamana witina subhopabhogi motar rathayak ayojanaya sadaha mema sekakariyata laba dee ethi bawath sekakariya ema motar rathaya alewi kara ethath himinamata mudal laba dee nomethi bawada wartha we Expected: මේ අතර දිවයිනේ ප්රසිද්ධි භික්ෂුන් වහන්සේ නමක් ද රුපියල් රුපියල් කෝටි ක පමණ විටිනා සුභෝපභෝගි මෝටර් රථයක් ආයෝජනය සදහා මෙම සැකකාරියට ලබා දී ඇති බවත් සැකකාරිය එම මොටර් රථය අලෙවි කර ඇතත් හිමිනමට මුදල් ලබා දී නොමැති බවද වාර්තා වේ Predicted: මේ අතර දිවයිනේ ප්රසිද්ධි භික්ෂූන් වහන්සේ නමක් ද රුපියල් රුපියල් කෝටි ක පමණ විටින සුභෝපභෝගි මෝටර් රථයක් ආයෝජනය සදහා මෙම සැකකාරියට ලබා දී ඇති බවත් සැකකාරිය එම මෝටර් රථය අලෙවි කර ඇතත් හිමිනමට මුදල් ලබා දී නොමැති බවද වාර්තා වේ Correct: False

Example 6: Romanized: mama oyata adare karanawa Transliterated: මම ඔයාට ආදරේ කරනවා Correct: True

Downloads last month
3
Safetensors
Model size
0.6B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for deshanksuman/swaBhahsa_XLMR_Transliteration

Finetuned
(3903)
this model
Adapters
1 model

Dataset used to train deshanksuman/swaBhahsa_XLMR_Transliteration