Kikbert / README.md
fhenrivx's picture
Update README.md
0637144 verified
---
language:
-pt # Português (ISO 639-1)
tags:
- kikbert
- transformer
- roberta
- masked-language-model
- nlp
- african-language
license: apache-2.0
datasets:
- kikongo_corpus
metrics:
- accuracy
- perplexity
model-index:
- name: KiKBERT
results:
- task:
name: Masked Language Modeling
type: masked-language-modeling
dataset:
name: Kikongo Corpus
type: text
metrics:
- name: Accuracy
type: accuracy
value: 0.95
- name: Perplexity
type: perplexity
value: 12.5
---
# KiKBERT: Modelo de Linguagem para Kikongo
**KiKBERT** é o primeiro modelo Transformer desenvolvido especificamente para a língua **Kikongo**, baseado na arquitetura **RoBERTa-base**.
O modelo foi treinado com um grande corpus textual de Kikongo, incluindo dados linguísticos, morfológicos e contextuais, provenientes de textos literários, religiosos e culturais.
---
## Arquitetura do Modelo
- **Backbone:** RoBERTa-base
- **Número de camadas:** 12
- **Cabeças de atenção:** 12
- **Dimensão oculta:** 768
- **Tarefas principais:**
- Masked Language Modeling (treino principal)
- Análise morfológica
- Classificação de sentimentos
### O que é o Backbone?
O **backbone** é a espinha dorsal do modelo — a parte responsável por extrair representações (features) linguísticas a partir do texto.
No **KiKBERT**, o backbone é o **RoBERTa-base**, que foi adaptado e reentreinado com o corpus Kikongo para aprender as dependências e estruturas linguísticas dessa língua.
---
## Dados de Treino
O modelo foi treinado com o **Kikongo Corpus**, um conjunto cuidadosamente compilado com mais de **150.000 palavras**, incluindo variantes regionais como:
- **Kisikongo**
- **Kiyombe**
- **Kimbata**
- **Kisolongo**
O corpus abrange textos religiosos, literários, conversacionais e educacionais, permitindo uma cobertura lexical e morfológica ampla da língua Kikongo.
---
## Aplicações Práticas
- **Análise Sintática**: identificação da estrutura das frases e relações entre palavras.
- **Análise Morfológica**: classificação das palavras em suas classes gramaticais (substantivos, verbos, adjetivos, etc.).
- **Sumarização de Texto**: geração de resumos de textos escritos em Kikongo.
- Ferramentas de Processamento de Linguagem Natural para línguas bantu
---
## Desempenho
![image](https://cdn-uploads.huggingface.co/production/uploads/690ddbcc36f9e9b8d366a54d/P30OUKcdP2zIUEzXEqkUT.png)
| Classe | Precisão | Recall | F1-score | Suporte |
|---------|----------|--------|----------|---------|
| ADJ | 0.79 | 0.97 | 0.87 | 65 |
| ADV | 0.97 | 0.79 | 0.87 | 81 |
| CONJ | 1.0 | 1.0 | 1.0 | 92 |
| INTERJ | 0.89 | 0.86 | 0.87 | 90 |
| NUM | 1.0 | 1.0 | 1.0 | 75 |
| PREP | 0.91 | 0.93 | 0.92 | 146 |
| PRON | 1.0 | 1.0 | 1.0 | 70 |
| SUBST | 1.0 | 1.0 | 1.0 | 75 |
| VERB | 1.0 | 1.0 | 1.0 | 70 |
| Métrica | Valor |
|----------|--------|
| **Accuracy** | 0.95 |
| **Perplexity** | 12.5 |
Esses resultados mostram que o modelo atinge um bom nível de compreensão linguística e coerência textual, considerando a complexidade morfológica do Kikongo.
---
## 💡 Exemplo de Uso
```python
from transformers import AutoTokenizer, AutoModelForMaskedLM
import torch
# Carregar o modelo e o tokenizer
tokenizer = AutoTokenizer.from_pretrained("fhenrivx/Kikbert")
model = AutoModelForMaskedLM.from_pretrained("fhenrivx/Kikbert")
# Exemplo de frase
text = "Nzambi ke __ bantu yandi."
# Tokenização
inputs = tokenizer(text, return_tensors="pt")
# Predição
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.argmax(outputs.logits, dim=-1)
# Resultado
predicted_token = tokenizer.decode(predictions[0])
print(predicted_token)