Logo Lanfrica

haben-ai/Tigrinya-Tokenizer

Domain:

natural language processing

Record type:

software
Creator:
hab
Host:
Tigriyna_BPE_Tokenizer is a Byte Pair Encoding (BPE)–based tokenizer designed specifically for the Tigrinya language, a low-resource Semitic language. The project focuses on reducing token fragmentation, minimizing out-of-vocabulary (OOV) issues, and enabling more efficient NLP pipelines for Tigrinya text. # Tigriyna_BPE_Tokenizer A Byte Pair Encoding (BPE) tokenizer for the Tigrinya language, designed for low-resource NLP research and machine learning pipelines. Tigrinya is a low-resource Semitic language, and most existing tokenizers are optimized for high-resource languages. This project aims to reduce token fragmentation, lower out-of-vocabulary (OOV) rates, and better capture Tigrinya morphology. --- ## Features - BPE-based subword tokenization for Tigrinya - Optimized for low-resource settings - Reduced OOV rate and token fragmentation - Easy integration into NLP pipelines - Reproducible tokenizer training and evaluation --- ## Motivation Tokenization plays a critical role in NLP system performance. Generic tokenizers often perform poorly on Tigrinya due to: - Rich morphology - Limited training data - Underrepresentation in multilingual models This project addresses these challenges by providing a tokenizer tailored specifically to the Tigrinya language. --- ## Project Structure ```text Tigriyna_BPE_Tokenizer/ ├── data/ │ ├── raw/ # Raw text data (ignored) │ ├── processed/ # Processed text data (ignored) ├── tokenizer/ │ ├── train_bpe.py # Train BPE tokenizer │ ├── encode.py # Encode text │ └── decode.py # Decode tokens ├── experiments/ # Evaluation and analysis ├── requirements.txt ├── .gitignore └── README.md ``` from tokenizer.tokenizer import TigrinyaTokenizer # Initialize tokenizer tokenizer = TigrinyaTokenizer() # Sample Tigrinya text text = "ሰላም ኩን ኣደርካ?" # 1️ Word Tokenization word_tokens = tokenizer.word_tokenize(text) print("\nWord Tokens:") print(word_tokens) # 2️ Character Tokenization char_tokens = tokenizer.char_tokenize(text) print("\nCharacter Tokens:") print(char_tokens) # 3 Subword Tokenization (BPE) subword_tokens = tokenizer.subword_tokenize(text) print("\nSubword Tokens (BPE):") print(subword_tokens) ```

Languages