Create README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
datasets:
|
| 4 |
+
- kalixlouiis/myX-Corpus
|
| 5 |
+
language:
|
| 6 |
+
- my
|
| 7 |
+
- en
|
| 8 |
+
metrics:
|
| 9 |
+
- perplexity
|
| 10 |
+
pipeline_tag: feature-extraction
|
| 11 |
+
tags:
|
| 12 |
+
- tokenizer
|
| 13 |
+
- burmese
|
| 14 |
+
- myanmar
|
| 15 |
+
- nlp
|
| 16 |
+
- sentencepiece
|
| 17 |
+
- unigram
|
| 18 |
+
- syllable-aware
|
| 19 |
+
- datarrx
|
| 20 |
+
---
|
| 21 |
+
# DatarrX - myX-Tokenizer
|
| 22 |
+
|
| 23 |
+
မြန်မာဘာသာစကားအတွက် အထူးရည်ရွယ်၍ တည်ဆောက်ထားသော Syllable-aware Unigram Tokenizer တစ်ခု ဖြစ်ပါသည်။ ဤ Model ကို [**DatarrX (Open Source NGO)**](https://huggingface.co/DatarrX) မှ ထုတ်ဝေခြင်းဖြစ်ပြီး [**Khant Sint Heinn (Kalix Louis)**](https://huggingface.co/kalixlouiis) မှ အဓိက ဖန်တီးတည်ဆောက်ထားခြင်း ဖြစ်ပါသည်။
|
| 24 |
+
|
| 25 |
+
## 🎯 Model ရဲ့ ရည်ရွယ်ချက်နှင့် အဓိက အယူအဆ (Core Concept & Motivation)
|
| 26 |
+
|
| 27 |
+
လက်ရှိ မြန်မာ NLP နယ်ပယ်တွင် ကြုံတွေ့နေရသော Tokenization အခက်အခဲများကို ဖြေရှင်းရန်အတွက် ဤ Model ကို ဖန်တီးခြင်း ဖြစ်ပါသည်။
|
| 28 |
+
|
| 29 |
+
* **Syllable-aware Efficiency:** စာသားများကို ဖြတ်တောက်ရာတွင် အဓိပ္ပာယ်မဲ့ Character များအဖြစ် မပြိုကွဲစေဘဲ ဝဏ္ဏဗေဒဆိုင်ရာ စနစ်တကျရှိမှုအပေါ် အခြေခံ၍ ဖြတ်တောက်ပေးနိုင်ရန်။
|
| 30 |
+
* **Bilingual Optimization:** မြန်မာစာနှင့် အင်္ဂလိပ်စာ ရောနှောပါဝင်နေသော Code-mixed စာသားများတွင်ပါ ကျစ်ကျစ်လျစ်လျစ်ရှိသော Tokenization Result ကို ရရှိစေရန်။
|
| 31 |
+
* **LLM Inference Efficiency:** Large Language Models (LLMs) များတွင် အသုံးပြုပါက Token အရေအတွက်ကို လျှော့ချပေးနိုင်သဖြင့် တွက်ချက်မှုဆိုင်ရာ ကုန်ကျစရိတ် (Inference Cost) ကို သက်သာစေရန်။
|
| 32 |
+
|
| 33 |
+
---
|
| 34 |
+
|
| 35 |
+
## 🛠️ နည်းပညာပိုင်းဆိုင်ရာ အချက်အလက်များ (Technical Specifications)
|
| 36 |
+
|
| 37 |
+
ဤ Model သည် မည်သည့် အပို Pre-processing မျှ ထပ်မံလုပ်ဆောင်ထားခြင်းမရှိဘဲ သန့်စင်ပြီးသား Cleaned Raw Text များမှ တိုက်ရိုက် လေ့ကျင့်တည်ဆောက်ထားခြင်း ဖြစ်ပါသည်။
|
| 38 |
+
|
| 39 |
+
* **Algorithm:** Unigram Language Model (၎င်းသည် BPE ထက် ပိုမို၍ Probabilistic ဖြစ်သောကြောင့် ဘာသာစကား၏ သဘာဝကို ပိုမိုဖော်ဆောင်နိုင်ပါသည်)
|
| 40 |
+
* **Vocab Size:** 64,000
|
| 41 |
+
* **Normalization:** NFKC (Normalization Form KC)
|
| 42 |
+
* **Features:** Byte-fallback (Out-of-vocabulary စာလုံးများအတွက်) နှင့် Split Digits အင်္ဂါရပ်များ ပါဝင်ပါသည်။
|
| 43 |
+
|
| 44 |
+
### အသုံးပြုထားသော Dataset (Training Data)
|
| 45 |
+
ဤ Model ကို [kalixlouiis/myX-Corpus](https://huggingface.co/datasets/kalixlouiis/myX-Corpus) ကို အသုံးပြု၍ လေ့ကျင့်ထားခြင်း ဖြစ်ပါသည်။ ၎င်း Corpus ထဲမှ အရည်အသွေးမြင့် စာကြောင်းပေါင်း **၁.၅ သန်း (1.5 Million)** ကို Random Sample ယူ၍ Train ထားခြင်း ဖြစ်ပါသည်။
|
| 46 |
+
|
| 47 |
+
|
| 48 |
+
---
|
| 49 |
+
|
| 50 |
+
## ⚠️ သိထားရန် ကန့်သတ်ချက်များ (Limitations & Bias)
|
| 51 |
+
|
| 52 |
+
* **Syllable Consistency:** ရင်းမြစ်စာသားများ၏ စာလုံးပေါင်းသတ်ပုံ မမှန်ကန်ပါက Tokenization ရလဒ်အပေါ် သက်ရောက်မှု ရှိနိုင်ပါသည်။
|
| 53 |
+
* **Bilingual Trade-off:** မြန်မာစာကို အဓိကထား တည်ဆောက်ထားသဖြင့် အင်္ဂလိပ်စာ သီးသန့်စာကြောင်းများတွင် အခြား Global Tokenizer များထက် Token count အနည်းငယ် ပိုများနိုင်သော်လည်း မြန်မာစာနှင့် ရောနှောရာတွင် ပိုမို ကောင်းမွန်ပါသည်။
|
| 54 |
+
* **Domain Specificity:** ရှေးဟောင်းစာပေ သို့မ��ုတ် အလွန်ရှားပါးသော ပါဠိ/သက္ကတ စာပေများတွင် Character level အထိ ပြန်လည် ခွဲထွက်သွားနိုင်သည့် အခြေအနေ ရှိနိုင်ပါသည်။
|
| 55 |
+
|
| 56 |
+
---
|
| 57 |
+
|
| 58 |
+
## 💻 စတင်အသုံးပြုပုံ (How to Use)
|
| 59 |
+
|
| 60 |
+
ဤ Model ကို အသုံးပြုရန် `sentencepiece` library လိုအပ်ပါသည်။ အောက်ပါ Code ဖြင့် တိုက်ရိုက် ခေါ်ယူသုံးစွဲနိုင်ပါသည် -
|
| 61 |
+
|
| 62 |
+
```python
|
| 63 |
+
import sentencepiece as spm
|
| 64 |
+
from huggingface_hub import hf_hub_download
|
| 65 |
+
|
| 66 |
+
# Model file ကို download ရယူခြင်း
|
| 67 |
+
model_path = hf_hub_download(repo_id="DatarrX/myX-Tokenizer", filename="myX-Tokenizer.model")
|
| 68 |
+
|
| 69 |
+
# Load Tokenizer
|
| 70 |
+
sp = spm.SentencePieceProcessor(model_file=model_path)
|
| 71 |
+
|
| 72 |
+
# Test Sentence
|
| 73 |
+
text = "မြန်မာစာ NLP နည်းပညာ ဖွံ့ဖြိုးတိုးတက်ရေးအတွက် ကျွန်တော်တို့ ကြိုးစားနေပါသည်။"
|
| 74 |
+
print(f"Pieces: {sp.encode_as_pieces(text)}")
|
| 75 |
+
```
|
| 76 |
+
|
| 77 |
+
# ✍️ Project Authors
|
| 78 |
+
- Principal Developer: [**Khant Sint Heinn (Kalix Louis)**](https://huggingface.co/kalixlouiis)
|
| 79 |
+
- Organization: [**DatarrX (Myanmar Open Source NGO)**](https://huggingface.co/DatarrX)
|
| 80 |
+
|
| 81 |
+
ဤ Model နှင့် ပတ်သက်၍ အကြံပြုချက်များ သို့မဟုတ် မေးမြန်းလိုသည်များရှိပါက Hugging Face Discussion မှတစ်ဆင့် ဆက်သွယ်နိုင်ပါသည်။ ကျွန်တော်တို့သည် မြန်မာစာ NLP ဖွံ့ဖြိုးတိုးတက်ရေးအတွက် အမြဲမပြတ် ကြိုးစားနေပါသည်။
|