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
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for linc42/pii-ner-pt-br-bertimbau

Finetuned
(241)
this model