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