|
|
| --- |
| language: |
| -pt |
| 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 |
|
|
|  |
|
|
| | 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) |
| |