andersonabs/miniharemplus
收藏Hugging Face2026-04-21 更新2026-04-26 收录
下载链接:
https://hf-mirror.com/datasets/andersonabs/miniharemplus
下载链接
链接失效反馈官方服务:
资源简介:
---
license: cc-by-4.0
language:
- pt
task_categories:
- token-classification
tags:
- ner
- harem
- portuguese
- pt-br
- synthetic
- intermediate-training
- mundau
size_categories:
- 1K<n<10K
pretty_name: MiniHAREM Plus — HAREM tipo-nivel sintetico PT-BR
configs:
- config_name: default
data_files:
- split: train
path: "miniharemplus.jsonl"
---
# MiniHAREM Plus
**5011 sentenças em português brasileiro sinteticamente geradas e rotuladas em 33 tipos da ontologia HAREM (Primeiro HAREM, cenário seletivo, nível tipo).**
Produzido como dataset de **treino intermediate** para o especialista NER do modelo **Mundaú v4**. Complementa o MiniHAREM original (5 categorias) ao expandir para o nível tipo (33 categorias, 67 labels BIO), preenchendo a lacuna de dados PT-BR densos em entidades com granularidade fina.
## Números
| Métrica | Valor |
|---|---:|
| Sentenças | 5011 |
| Menções rotuladas | 14580 |
| Tipos | 33 (cobertura 100%) |
| Menções por tipo (mín / mediana / máx) | 168 / 300 / 1804 |
| Taxa de aceitação na validação | 99.88% (9 filtros) |
| Sentenças com ≥1 entidade | 100% |
## Ontologia (33 tipos → 67 labels BIO)
| Grupo | Tipos |
|---|---|
| PESSOA (7) | INDIVIDUAL, GRUPOIND, CARGO, GRUPOCARGO, MEMBRO, GRUPOMEMBRO, POVO |
| ORGANIZACAO (3) | ADMINISTRACAO, EMPRESA, INSTITUICAO |
| LOCAL (3) | HUMANO, FISICO, VIRTUAL |
| TEMPO (4) | GENERICO, TEMPO_CALEND, DURACAO, FREQUENCIA |
| OBRA (3) | ARTE, PLANO, REPRODUZIDA |
| ACONTECIMENTO (3) | EFEMERIDE, ORGANIZADO, EVENTO |
| ABSTRACCAO (4) | DISCIPLINA, ESTADO, IDEIA, NOME |
| COISA (3) | OBJECTO, SUBSTANCIA, CLASSE |
| VALOR (3) | QUANTIDADE, MOEDA, CLASSIFICACAO |
Label space final: `["O", "B-PESSOA_INDIVIDUAL", "I-PESSOA_INDIVIDUAL", ..., "I-VALOR_CLASSIFICACAO"]` — 67 labels em `label_list.json`.
## Formato
Cada linha do JSONL é um exemplo:
```json
{
"tokens": ["O", "presidente", "Fernando", "Henrique", "Cardoso", "lançou", "o", "Plano", "Real", "em", "1994", "."],
"ner_tags": ["O", "B-PESSOA_CARGO", "B-PESSOA_INDIVIDUAL", "I-PESSOA_INDIVIDUAL", "I-PESSOA_INDIVIDUAL", "O", "O", "B-OBRA_PLANO", "I-OBRA_PLANO", "O", "B-TEMPO_TEMPO_CALEND", "O"],
"source": "miniharemplus"
}
```
- `ner_tags` é lista de **strings** — converter para ids via `label_list.json`.
- Drop-in compatível com WikiNEuRal-PT e outros datasets intermediate de NER.
## Uso
```python
from datasets import load_dataset
import json
ds = load_dataset("andersonabs/miniharemplus", split="train")
# Mapear strings para ids
import huggingface_hub
path = huggingface_hub.hf_hub_download("andersonabs/miniharemplus", "label_list.json", repo_type="dataset")
with open(path) as f:
label_list = json.load(f)
label2id = {l: i for i, l in enumerate(label_list)}
ds = ds.map(lambda ex: {"ner_tag_ids": [label2id[t] for t in ex["ner_tags"]]})
```
## Decisões de consistência aplicadas
Para resolver ambiguidades ontológicas, estas convenções foram aplicadas consistentemente em todo o dataset:
- **Petrobras, Vale, Itaú, Ambev** → `ORGANIZACAO_EMPRESA` (controle acionário público não desclassifica como empresa).
- **STF, TRF, Receita Federal, Ministério X** → `ORGANIZACAO_ADMINISTRACAO`.
- **USP, UFRJ, Fiocruz, ONU, Cruz Vermelha** → `ORGANIZACAO_INSTITUICAO`.
- **"Presidente" sozinho** → `PESSOA_CARGO`; **"Presidente FHC"** → tags planas separadas.
- **"os brasileiros"** (nacionalidade) → `PESSOA_POVO`; **"os médicos brasileiros"** → `PESSOA_GRUPOMEMBRO` (filiação profissional domina).
- **Ano isolado** ("1994") → `TEMPO_TEMPO_CALEND`.
- **"R$ 500 milhões"** → `VALOR_MOEDA` (unidade+magnitude na mesma tag).
- **Twitter, Instagram** como plataforma → `LOCAL_VIRTUAL`; como empresa → `ORGANIZACAO_EMPRESA`.
- Pontuação e espaços FICAM FORA das tags.
## Processo de geração
Dataset produzido por **51 sub-agentes Claude (Opus 4.7, 1M context)** executando em paralelo via o Agent tool do Claude Code, em 4 waves:
| Wave | Agentes | Solicitadas | Aceitas | Taxa |
|---|---:|---:|---:|---:|
| Piloto | 2 | 100 | 100 | 100.0% |
| Wave 2 (diversa) | 15 | 1500 | 1506 | 99.9% |
| Wave 3 (focada em tipos raros) | 20 | 2000 | 2007 | 99.9% |
| Wave 4 (diversa) | 14 | 1400 | 1398 | 99.9% |
| **Total** | **51** | **5000** | **5011** | **99.88%** |
Cada sub-agente recebeu:
- Ontologia completa dos 33 tipos com exemplos.
- 10 regras de anotação (pontuação fora das tags, PT-BR estrito, etc.).
- 6 exemplos few-shot rotacionados de um pool gold manual de 28.
- 5 blocos de 20 sentenças cada, com tipos obrigatórios / tópico / comprimento / estrutura sorteados.
Wave 3 foi direcionada aos 16 tipos sub-representados após wave 2, garantindo piso de 168 ocorrências para **todos** os 33 tipos — sem tipo deixado para trás.
## Validação (9 filtros obrigatórios)
Cada sentença gerada passou por TODOS estes filtros antes de ser aceita:
| # | Filtro | Teste |
|---|---|---|
| F1 | Tags balanceadas | Todo `<X>` abre e fecha corretamente |
| F2 | Tags conhecidas | Apenas os 33 tipos da ontologia |
| F3 | Parseável | Inline-tags → tokens+BIO sem erro |
| F4 | BIO válido | `I-X` só após `B-X` ou `I-X` do mesmo tipo |
| F5 | Comprimento | 5 ≤ len(tokens) ≤ 80 |
| F6 | Tem entidade | Pelo menos um `B-X` |
| F7 | Anti-leakage | Não duplicata contra MiniHAREM oficial (train/val/test) |
| F8 | Anti-dup interno | Hash sha256 único dentro do próprio dataset + fewshot pool |
| F9 | PT-BR | Rejeita marcadores PT-PT fortes (autocarro, comboio, telemóvel, rapariga, etc.) |
Dos 5017 gerados, apenas **6 foram rejeitados** (todos em F9 por marcadores PT-PT — ex: "frigorífico"). Taxa de aceitação **99.88%**.
## Distribuição de comprimento
| Faixa | Quantidade |
|---|---:|
| curta (5-15 tokens) | 1318 |
| média (16-30) | 1809 |
| longa (31-50) | 1836 |
| muito longa (51+) | 48 |
## Distribuição por tipo (14580 menções)
| Tipo | Ocorrências |
|---|---:|
| LOCAL_HUMANO | 1804 |
| PESSOA_INDIVIDUAL | 1463 |
| TEMPO_TEMPO_CALEND | 890 |
| ORGANIZACAO_INSTITUICAO | 858 |
| ORGANIZACAO_ADMINISTRACAO | 650 |
| ABSTRACCAO_DISCIPLINA | 632 |
| OBRA_REPRODUZIDA | 490 |
| ORGANIZACAO_EMPRESA | 454 |
| VALOR_QUANTIDADE | 441 |
| PESSOA_MEMBRO | 439 |
| VALOR_CLASSIFICACAO | 423 |
| ACONTECIMENTO_EVENTO | 417 |
| OBRA_ARTE | 401 |
| PESSOA_CARGO | 362 |
| ACONTECIMENTO_ORGANIZADO | 314 |
| LOCAL_VIRTUAL | 302 |
| ABSTRACCAO_NOME | 300 |
| TEMPO_FREQUENCIA | 298 |
| TEMPO_DURACAO | 289 |
| OBRA_PLANO | 283 |
| PESSOA_GRUPOMEMBRO | 275 |
| ACONTECIMENTO_EFEMERIDE | 271 |
| PESSOA_POVO | 263 |
| PESSOA_GRUPOCARGO | 251 |
| COISA_SUBSTANCIA | 247 |
| LOCAL_FISICO | 246 |
| TEMPO_GENERICO | 242 |
| ABSTRACCAO_ESTADO | 241 |
| ABSTRACCAO_IDEIA | 236 |
| VALOR_MOEDA | 224 |
| COISA_OBJECTO | 221 |
| PESSOA_GRUPOIND | 185 |
| COISA_CLASSE | 168 |
Ver `generation_report.md` para 30 amostras aleatórias e 10 samples por tipo.
## Arquivos
| Arquivo | Descrição |
|---|---|
| `miniharemplus.jsonl` | **Dataset principal** — 5011 exemplos, drop-in compatível |
| `label_list.json` | Lista ordenada de 67 labels BIO |
| `generation_report.md` | Relatório completo (stats + amostras) |
| `fewshot_pool.jsonl` | 28 exemplos gold usados como few-shot na geração |
## Limitações e considerações
- **Síntese LLM**: geração feita por Claude Opus 4.7. Embora validada por 9 filtros e pool gold manual, pode conter sutilezas semânticas não capturadas — use como **intermediate**, sempre combinado a avaliação no MiniHAREM oficial (test set).
- **Nomes próprios reutilizados**: dentro de cada lote de sub-agente (100 sentenças) os nomes são distintos, mas nomes famosos (Pelé, Machado de Assis) aparecem em múltiplos lotes. Sem impacto para NER, mas considere para outras tarefas.
- **Discrepância de contagem**: briefing original falava "30 tipos"; a lista explícita enumera 33. O projeto seguiu a enumeração explícita. Label space 67 (1 O + 33 × B/I) em vez de 61.
- **Não usar sozinho**: como todo dataset sintético, o ganho de treino vem de combiná-lo com dados humanos reais (MiniHAREM, LeNER-Br, WikiNEuRal-PT).
## Citação
```bibtex
@misc{mundau2026miniharemplus,
title = {MiniHAREM Plus: A Synthetic HAREM Type-Level NER Dataset for Brazilian Portuguese},
author = {Melo, Anderson},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/datasets/andersonabs/miniharemplus}}
}
```
## Licença
Creative Commons Attribution 4.0 (CC BY 4.0). Uso livre com atribuição.
提供机构:
andersonabs



