Instructions to use linc42/pii-ner-pt-br-bertimbau with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use linc42/pii-ner-pt-br-bertimbau with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="linc42/pii-ner-pt-br-bertimbau")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("linc42/pii-ner-pt-br-bertimbau") model = AutoModelForTokenClassification.from_pretrained("linc42/pii-ner-pt-br-bertimbau", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Detector de dados pessoais em português brasileiro
Classificador de tokens treinado com textos em português brasileiro para identificar dados pessoais. Baseado em BERTimbau, pode ser integrado a ferramentas de detecção e mascaramento de entidades.
Entidades reconhecidas
| Rótulo | Entidade |
|---|---|
NOME |
Nomes de pessoas, incluindo apelidos |
CPF |
Cadastro de Pessoas Físicas |
TELEFONE |
Números de telefone |
EMAIL |
Endereços de e-mail |
CHAVE |
Identificadores alfanuméricos pessoais |
O modelo usa rótulos BIO: B- marca o início de uma entidade, I- sua continuação e O os demais tokens. A classe CHAVE não representa um detector geral de senhas ou segredos.
Uso
from transformers import pipeline
detector = pipeline(
"token-classification",
model="linc42/pii-ner-pt-br-bertimbau",
aggregation_strategy="simple",
device=-1,
)
entidades = detector("Entre em contato com Ana pelo e-mail ana@example.com.")
for entidade in entidades:
print(entidade["entity_group"], entidade["start"], entidade["end"], entidade["score"])
A saída contém os tipos, scores e posições das entidades. O mascaramento do texto é uma etapa posterior. Para textos longos, processe janelas sobrepostas em vez de descartar o trecho que excede o contexto.
Avaliação em datasets públicos
Os resultados abaixo foram registrados com este checkpoint em um sistema híbrido de mascaramento, combinando o modelo e regras determinísticas. Não representam uma avaliação isolada do modelo nem os resultados do exemplo de pipeline acima.
Precisão e recall medidos por palavra de nome, nas partições de avaliação utilizadas:
| Dataset | Partição | Recall (%) | Precisão (%) |
|---|---|---|---|
| EliMC/esic-ner | Teste | 100,0 | 99,3 |
| guardion/BR-Agentic-PII-Benchmark | Avaliação | 100,0 | 99,5 |
| lucianfialho/privacy-filter-br-dataset | Partição reservada | 100,0 | 99,0 |
Cobertura de dados estruturados no mesmo sistema híbrido:
| Dataset | CPF (%) | Telefone (%) |
|---|---|---|
| EliMC/esic-ner | 100,0 | 100,0 |
| guardion/BR-Agentic-PII-Benchmark | 97,0 | 100,0 |
| lucianfialho/privacy-filter-br-dataset | 100,0 | 100,0 |
As partições de avaliação não participaram do treino nem da seleção de limiares. ESIC e privacy-filter-br têm partições de treino usadas no ajuste; BR-Agentic-PII-Benchmark não participou do treino. No gabarito de privacy-filter-br, foi corrigida uma omissão de anotação de nome. Os números descrevem as partições avaliadas, não necessariamente cada dataset completo.
Limitações
Nomes ambíguos ou em minúsculas podem não ser detectados. Números escritos por extenso não têm cobertura assegurada. Os scores não são garantia de detecção, e os resultados publicados não asseguram anonimização completa de novos textos.
Modelo base
neuralmind/bert-base-portuguese-cased, revisão 94d69c95f98f7d5b2a8700c420230ae10def0baa.
Licença e créditos
Disponibilizado sob MIT, com preservação dos avisos do BERTimbau. Atribuições e licenças das fontes de dados estão em THIRD_PARTY_NOTICES.md. As licenças das fontes permanecem aplicáveis aos respectivos materiais.
- Downloads last month
- 47
Model tree for linc42/pii-ner-pt-br-bertimbau
Base model
neuralmind/bert-base-portuguese-cased