File size: 4,064 Bytes
54db2f4
8def904
 
d41f437
8def904
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54db2f4
 
 
8def904
 
 
 
 
 
af4aff6
0637144
 
 
 
 
 
 
 
 
 
 
 
 
af4aff6
 
8def904
 
 
 
 
 
 
 
 
 
 
 
6e05030
8def904
6e05030
8def904
6e05030
 
 
8def904
 
 
 
6e05030
8def904
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134

---
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)