Scores
{'eval_accuracy': 0.87955,
'eval_f1_score': 0.8794755507923356,
'eval_recall': 0.8797246969797138,
'eval_precision': 0.881040811800798}
How to use
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained('nairaxo/bantu-language-identification')
model = AutoModelForSequenceClassification.from_pretrained("nairaxo/bantu-language-identification")
nlp = pipeline('text-classification', model=model, tokenizer=tokenizer)
dic = {
'chichewa' : 0,
'kikongo' : 1,
'kimbundu' : 2,
'kinyarwanda' : 3,
'lingala' : 4,
'lubakasai' : 5,
'luganda' : 6,
'northernsotho' : 7,
'rundi' : 8,
'southernsotho' : 9,
'swahili' : 10,
'swati' : 11,
'tsonga' : 12,
'tswana' : 13,
'tumbuka' : 14,
'umbundu' : 15,
'xhosa' : 16,
'zulu' : 17
}
dic = {v: k for k, v in dic.items()}
sentences = [
"gari langu lilipata ajali jana usiku",
"ndamcela ukuba ahambe nam",
"tango nafungolaki porte azalaki déjà te"
]
results = nlp(sentences)
for i in range(len(results)):
results[i]['label'] = dic[int(results[i]['label'].replace('LABEL_', ''))]
print(results)
Output:
[{'label': 'swahili', 'score': 0.9996045231819153},
{'label': 'xhosa', 'score': 0.9882974028587341},
{'label': 'lingala', 'score': 0.9983460903167725}]