Token Classification
Transformers
ONNX
Safetensors
Portuguese
bert
speech-acts
atos-de-fala
dialogue-acts
portuguese
pt-br
bertimbau
bioes
Instructions to use lucianfialho/atos-de-fala-ptbr with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lucianfialho/atos-de-fala-ptbr with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="lucianfialho/atos-de-fala-ptbr")# Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("lucianfialho/atos-de-fala-ptbr") model = AutoModelForTokenClassification.from_pretrained("lucianfialho/atos-de-fala-ptbr", device_map="auto") - Notebooks
- Google Colab
- Kaggle
model card: v2 class-weights eval results
Browse files
README.md
CHANGED
|
@@ -52,20 +52,34 @@ Agrupe as tags BIOES (B/I/E/S por ato) em spans `(start, end, ato)`.
|
|
| 52 |
## Treino
|
| 53 |
- ~5.000 exemplos sintéticos (frases PT-BR + anotação span-level) gerados por um teacher
|
| 54 |
DeepSeek, com balanceamento por ato.
|
| 55 |
-
- LoRA nos módulos de atenção (`query`/`value`) + cabeça `classifier`
|
| 56 |
-
|
|
|
|
|
|
|
| 57 |
|
| 58 |
## Avaliação (honesta)
|
| 59 |
-
Eval **sentence-level** no Porttinari (notícias; da Silva et al., PROPOR 2024),
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
|
| 65 |
## Limitações
|
| 66 |
-
-
|
| 67 |
- Fronteiras de span podem errar por alguns caracteres.
|
| 68 |
-
- Falta gold humano conversacional — sendo coletado no jogo aberto
|
|
|
|
| 69 |
|
| 70 |
## Licença e contato
|
| 71 |
MIT (respeite a licença do modelo base, BERTimbau). Base teórica: pragmática — atos de fala (Searle) + ISO 24617-2.
|
|
|
|
| 52 |
## Treino
|
| 53 |
- ~5.000 exemplos sintéticos (frases PT-BR + anotação span-level) gerados por um teacher
|
| 54 |
DeepSeek, com balanceamento por ato.
|
| 55 |
+
- LoRA nos módulos de atenção (`query`/`value`) + cabeça `classifier`. O adapter foi
|
| 56 |
+
**mesclado** (`merge_and_unload`) e exportado pra **ONNX int8** (roda no navegador).
|
| 57 |
+
- **v2 (atual): loss com class-weights** (inverse-frequency). Desbalanço — não domínio — era o
|
| 58 |
+
gargalo: a loss ponderada tira os atos raros do zero sem precisar de mais dado.
|
| 59 |
|
| 60 |
## Avaliação (honesta)
|
| 61 |
+
Eval **sentence-level** no Porttinari (notícias; da Silva et al., PROPOR 2024), **zero-shot**
|
| 62 |
+
(o modelo treinou em sintético, não no Porttinari):
|
| 63 |
+
|
| 64 |
+
| Métrica | v1 (sem pesos) | **v2 (class-weights)** |
|
| 65 |
+
|---|---|---|
|
| 66 |
+
| macro-F1 (13 atos) | 0,201 | **0,233** |
|
| 67 |
+
| macro-F1 (coarse, Searle) | 0,407 | **0,428** |
|
| 68 |
+
| accuracy | 0,827 | 0,834 |
|
| 69 |
+
|
| 70 |
+
A v2 é melhora Pareto: `perguntar` 0,62→0,71, `informar` ~0,91 estável, e atos raros saem do
|
| 71 |
+
zero (desculpar 0,25 · concordar 0,20 · discordar/expressar 0,15 · agradecer/sugerir 0,13 …).
|
| 72 |
+
Referência: o BERTimbau do paper, treinado **in-domain** no Porttinari, faz 0,295 macro-F1.
|
| 73 |
+
|
| 74 |
+
- **Caveat:** Porttinari é notícia → mede bem `informar`/`perguntar`, mas tem pouquíssimos
|
| 75 |
+
exemplos dos atos sociais (`oferecer`/`despedir` seguem ~0 por falta de positivos no teste).
|
| 76 |
+
Span-F1 exato ≈ 0 por granularidade (gold de frase vs spans).
|
| 77 |
|
| 78 |
## Limitações
|
| 79 |
+
- Texto de treino **sintético** (sabor "LLM"), carrega o **viés do teacher**.
|
| 80 |
- Fronteiras de span podem errar por alguns caracteres.
|
| 81 |
+
- Falta gold humano conversacional — sendo coletado no jogo aberto
|
| 82 |
+
([atos-de-fala.vercel.app](https://atos-de-fala.vercel.app)) para treinar versões futuras.
|
| 83 |
|
| 84 |
## Licença e contato
|
| 85 |
MIT (respeite a licença do modelo base, BERTimbau). Base teórica: pragmática — atos de fala (Searle) + ISO 24617-2.
|