Core Amharic NLP Tasks: Classification, NER and Translation
WesenAI Research Team • •
#amharic#nlp#ner#machine-translation#text-classification#transformers#masakhane
1. Text Classification
The standard news dataset is the Amharic News Corpus compiled by Azime & Mohammed (2021): ~50,000 articles in 6 topic classes. Formal news text behaves differently from short informal text:
| Domain / Task | Benchmark Dataset | Primary Failure Mode |
|---|---|---|
| News Topic Classification | Amharic News (Azime & Mohammed 2021) | Standard journalistic vocabulary; high inter-class variance. |
| Twitter Sentiment Analysis | AfriSenti Amharic (Muhammad et al. 2023) | Sarcasm, implicit negation (አይደለምም), code-switching. |
2. Named Entity Recognition (NER)
Latin-script NER can use capitalized initials as a signal. Ethiopic script has no case, and many Amharic personal names are also common words:
ፀሐይ (Tsehay) -> Personal Name (PER) vs. "the sun" (NOUN)
ሰላም (Selam) -> Personal Name (PER) vs. "peace" (NOUN) vs. "hello" (GREETING)
አልማዝ (Almaz) -> Personal Name (PER) vs. "diamond" (NOUN)
ብርሃን (Birhan) -> Personal Name (PER) vs. "light" (NOUN)
መሰረት (Meseret)-> Personal Name (PER) vs. "foundation" (NOUN)
A model has to use the surrounding frame, such as whether ሰላም follows the honorific ወ/ሮ. The MasakhaNER corpus (Adelani et al., 2021) includes Amharic:
from transformers import pipeline
ner_pipeline = pipeline(
"token-classification",
model="masakhane/afroxlmr-large-ner-masakhaner-1.0_2.0",
aggregation_strategy="simple"
)
text = "ዶክተር አብይ አህመድ ወደ አዲስ አበባ ስታዲየም በመሄድ ንግግር አደረጉ።"
entities = ner_pipeline(text)
for ent in entities:
print(f"Entity: {ent['word']:<20} | Type: {ent['entity_group']:<6} | Score: {ent['score']:.3f}")
3. Machine Translation: SOV to SVO
Amharic (SOV): ተማሪው (S) መጽሐፉን (O) አነበበ (V)።
Literal: The student the book read.
English (SVO): The student (S) read (V) the book (O).
With embedded relative clauses (ያነበበው ተማሪ...), adverbial modifiers, and negative enclitics (-ም), the main verb comes at the end of the Amharic sentence. A translation model must hold attention across the whole sentence before generating the English predicate.