ner-spd / README.md
alanpbrito's picture
Update README.md
2e81e18 verified
metadata
base_model:
  - celiudos/legal-bert-lgpd
datasets:
  - carolina-c4ai/corpus-carolina
language:
  - pt
metrics:
  - precision
  - recall
  - f1
  - accuracy
tags:
  - generated_from_trainer
  - legal
widget:
  - text: >-
      EMENTA : APELAÇÃO CÍVEL - AÇÃO DE INDENIZAÇÃO POR DANOS MORAIS -
      PRELIMINAR - ARGUIDA PELO MINISTÉRIO PÚBLICO EM GRAU RECURSAL - NULIDADE -
      AUSÊNCIA DE INTERVENÇÃO DO PARQUET NA INSTÂNCIA A QUO - PRESENÇA DE
      INCAPAZ - PREJUÍZO EXISTENTE - PRELIMINAR ACOLHIDA - NULIDADE RECONHECIDA.
      O processo foi movido por Gabriela Costa, com CPF 510.673.229-68 e
      telefone (61) 8926 3623, que alegou ter sofrido danos morais devido à
      conduta do réu. A defesa da parte autora foi realizada pelo advogado
      Daniel, com e-mail daniel02@example.com. O valor da indenização pleiteada
      era de R$37.507,96. O juiz responsável pelo processo era o Dr. João, que
      residiu em Lagoa Ravi Lucca Moraes, 3 - Ventosa - 04712-184 Cunha / MS. A
      parte ré foi representada pela advogada Sará Camargo, com CPF
      084.653.927-73 e telefone (021) 8769-0609, que residia em Rua de Guerra -
      Santa Helena - 98902-701 Sousa / GO. O Ministério Público interveio no
      processo, alegando ausência de intervenção do parquet na instância a quo.
      A preliminar foi acolhida e a nulidade reconhecida. O valor da causa era
      de R$99.304,53 e o CEP do local onde ocorreu o fato era 94376166. A parte
      autora é branca, religião evangélica e bissexual.
model-index:
  - name: checkpoints
    results:
      - task:
          type: token-classification
          name: Token Classification
        dataset:
          name: carolina-c4ai/corpus-carolina
          type: carolina-c4ai/corpus-carolina
        metrics:
          - type: f1
            value: 0.9026
            name: F1
          - type: precision
            value: 0.9039
            name: Precision
          - type: recall
            value: 0.9025
            name: Recall
          - type: accuracy
            value: 0.9658222399960595
            name: Accuracy
          - type: loss
            value: 0.939724603793193
            name: Loss
pipeline_tag: token-classification

NER-SPD: Modelo de Reconhecimento de Dados Pessoais Sensíveis no Domínio Jurídico Brasileiro (LGPD)

Descrição do Modelo

O NER-SPD (Named Entity Recognition for Sensitive Personal Data) é um modelo de Reconhecimento de Entidades Nomeadas (NER) baseado na arquitetura BERT , especializado para o domínio jurídico brasileiro. Sua principal função é identificar e classificar automaticamente dados pessoais, com ênfase em dados pessoais sensíveis, conforme definido pela Lei Geral de Proteção de Dados (LGPD).

Este modelo é um dos resultados da dissertação de mestrado "NER-SPD: Uma Abordagem de Fine-Tuning de Modelos BERT para Reconhecimento de Dados Pessoais Sensíveis em Textos Jurídicos à Luz da LGPD". Foi desenvolvido através de uma metodologia híbrida que combina fine-tuning, data augmentation e engenharia de prompts para superar a escassez de dados jurídicos rotulados. O objetivo é fornecer uma ferramenta de alta performance e computacionalmente viável para auxiliar organizações na conformidade com a LGPD.

O modelo foi treinado em um dataset híbrido composto por 103 documentos jurídicos reais e 9.979 textos sintéticos ( com dados pessoais falsos ) gerados automaticamente, garantindo uma cobertura ampla e contextualizada das entidades-alvo.

Por motivos de privcidade de complaince com a LGPD não foram incluídos na pasta dataset os arquivos de documento reias uma vez que apesar de serem textos coletatos de processos sem segredo de justiça, este estudo não deseja exposição desnecessária de dados pessoais.

Entidades Reconhecidas

O ner-spd foi treinado para classificar tokens nas seguintes nove categorias. As entidades marcadas com (Dado Sensível) recebem proteção especial sob a LGPD .

  • NOME: Nomes completos de pessoas físicas.
  • CPF: Números do Cadastro de Pessoas Físicas.
  • ENDERECO: Endereços postais completos ou parciais.
  • CEP: Códigos de Endereçamento Postal.
  • TELEFONE: Números de telefone.
  • EMAIL: Endereços de correio eletrônico.
  • RELIGIAO (Dado Sensível): Convicções religiosas.
  • RACA_ETNIA (Dado Sensível): Origem racial ou étnica.
  • ORIENTACAO_SEXUAL (Dado Sensível): Orientação sexual.

Desempenho do Modelo

O modelo alcançou um F1-Score médio de 96,4% no conjunto de teste. A performance para dados sensíveis foi particularmente robusta, validando a eficácia da metodologia de treinamento especializado:

Entidade F1-Score
RELIGIAO 99.51%
RACA_ETNIA 98.02%
ORIENTACAO_SEXUAL 94.93%
CPF 98.96%
EMAIL 96.02%
NOME 94.99%
CEP 89.76%
ENDERECO 83.51%
TELEFONE 56.35%

*(Resultados obtidos com divisão simples 80/20 do dataset) *

Uso Pretendido

Este modelo destina-se a desenvolvedores, advogados, profissionais de proteção de dados e pesquisadores que trabalham com textos jurídicos em português. Suas principais aplicações incluem:

  • Anonimização e Pseudonimização: Automatizar a ocultação de dados pessoais e sensíveis em documentos para conformidade com a LGPD.
  • Análise de Documentos: Identificar rapidamente a presença e a localização de informações sensíveis em grandes volumes de textos.
  • Data Discovery: Mapear a ocorrência de dados pessoais em sistemas e bases de dados não estruturadas.

Usage

import torch
from transformers import pipeline, AutoTokenizer

MODEL_NAME = "alanpbrito/ner-spd"
tokenizer = AutoTokenizer.from_pretrained(
    MODEL_NAME,
    model_max_length=512,
)

pipe = pipeline(
    "ner",
    tokenizer=tokenizer,
    model=MODEL_NAME,
    stride=100,
    aggregation_strategy="first",
    device=0 if torch.cuda.is_available() else -1,
)

pipe(
    "EMENTA : APELAÇÃO CÍVEL - AÇÃO DE INDENIZAÇÃO POR DANOS MORAIS - PRELIMINAR - ARGUIDA PELO MINISTÉRIO PÚBLICO EM GRAU RECURSAL - NULIDADE - AUSÊNCIA DE INTERVENÇÃO DO PARQUET NA INSTÂNCIA A QUO - PRESENÇA DE INCAPAZ - PREJUÍZO EXISTENTE - PRELIMINAR ACOLHIDA - NULIDADE RECONHECIDA. O processo foi movido por Gabriela Costa, com CPF 510.673.229-68 e telefone (61) 8926 3623, que alegou ter sofrido danos morais devido à conduta do réu. A defesa da parte autora foi realizada pelo advogado Daniel, com e-mail daniel02@example.com.  O juiz responsável pelo processo era o Dr. João, que residiu em Lagoa Ravi Lucca Moraes, 3 - Ventosa - 04712-184 Cunha / MS. A parte ré foi representada pela advogada Sará Camargo, com CPF 084.653.927-73 e telefone (021) 8769-0609, que residia em Rua de Guerra - Santa Helena - 98902-701 Sousa / GO. O Ministério Público interveio no processo, alegando ausência de intervenção do parquet na instância a quo. A preliminar foi acolhida e a nulidade reconhecida. O valor da causa era de R$99.304,53 e o CEP do local onde ocorreu o fato era 94376166. A parte autora é branca, religião evangélica e bissexual."
)

Output

[
  {
    "entity_group": "NOME",
    "score": 0.9960784,
    "word": "Gabriela Costa",
    "start": 309,
    "end": 323
  },
  {
    "entity_group": "CPF",
    "score": 0.7930292,
    "word": "510.673.229-68",
    "start": 333,
    "end": 347
  },
  {
    "entity_group": "TELEFONE",
    "score": 0.97771186,
    "word": "(61) 8926 3623",
    "start": 359,
    "end": 373
  },
  {
    "entity_group": "NOME",
    "score": 0.99474216,
    "word": "Daniel",
    "start": 489,
    "end": 495
  },
  {
    "entity_group": "EMAIL",
    "score": 0.9641984,
    "word": "daniel02@example.com",
    "start": 508,
    "end": 528
  },
  {
    "entity_group": "NOME",
    "score": 0.99585056,
    "word": "João",
    "start": 574,
    "end": 578
  },
  {
    "entity_group": "ENDERECO",
    "score": 0.9989402,
    "word": "Lagoa Ravi Lucca Moraes",
    "start": 595,
    "end": 618
  },
  {
    "entity_group": "ENDERECO",
    "score": 0.73866546,
    "word": "Ventosa",
    "start": 624,
    "end": 631
  },
  {
    "entity_group": "CEP",
    "score": 0.9416942,
    "word": "04712-184",
    "start": 634,
    "end": 643
  },
  {
    "entity_group": "NOME",
    "score": 0.99615496,
    "word": "Sará Camargo",
    "start": 698,
    "end": 710
  },
  {
    "entity_group": "CPF",
    "word": "084.653.927-73",
    "start": 720,
    "end": 734
  },
  {
    "entity_group": "TELEFONE",
    "score": 0.9925872,
    "word": "( 021 ) 8769 - 0609",
    "start": 746,
    "end": 761
  },
  {
    "entity_group": "ENDERECO",
    "score": 0.9989684,
    "word": "Rua de Guerra",
    "start": 778,
    "end": 791
  },
  {
    "entity_group": "ENDERECO",
    "score": 0.9752308,
    "word": "Santa Helena",
    "start": 794,
    "end": 806
  },
  {
    "entity_group": "CEP",
    "score": 0.857177,
    "word": "98902-701",
    "start": 809,
    "end": 818
  },
  {
    "entity_group": "ENDERECO",
    "score": 0.5837238,
    "word": "G",
    "start": 827,
    "end": 828
  },
  {
    "entity_group": "CPF",
    "score": 0.6357114,
    "word": "99.30",
    "start": 1017,
    "end": 1022
  },
  {
    "entity_group": "CEP",
    "word": "94376166",
    "start": 1068,
    "end": 1076
  },
  {
    "entity_group": "RACA_ETNIA",
    "score": 0.9975738,
    "word": "branca",
    "start": 1095,
    "end": 1101
  },
  {
    "entity_group": "RELIGIAO",
    "score": 0.5804555,
    "word": "evangélica",
    "start": 1112,
    "end": 1122
  },
  {
    "entity_group": "ORIENTACAO_SEXUAL",
    "score": 0.8357099,
    "word": "bissexual",
    "start": 1125,
    "end": 1134
  }
]

Custom Input Usage

import gradio as gr

def ner(text):
    return {"text": text, "entities": pipe(text)}

gr.Interface(
    ner,
    gr.Textbox(placeholder="Enter sentence here..."),
    gr.HighlightedText(),
    live=True,
    examples=[
        "EMENTA : APELAÇÃO CÍVEL - AÇÃO DE INDENIZAÇÃO POR DANOS MORAIS - PRELIMINAR - ARGUIDA PELO MINISTÉRIO PÚBLICO EM GRAU RECURSAL - NULIDADE - AUSÊNCIA DE INTERVENÇÃO DO PARQUET NA INSTÂNCIA A QUO - PRESENÇA DE INCAPAZ - PREJUÍZO EXISTENTE - PRELIMINAR ACOLHIDA - NULIDADE RECONHECIDA. O processo foi movido por Gabriela Costa, com CPF 510.673.229-68 e telefone (61) 8926 3623, que alegou ter sofrido danos morais devido à conduta do réu. A defesa da parte autora foi realizada pelo advogado Daniel, com e-mail daniel02@example.com.  O juiz responsável pelo processo era o Dr. João, que residiu em Lagoa Ravi Lucca Moraes, 3 - Ventosa - 04712-184 Cunha / MS. A parte ré foi representada pela advogada Sará Camargo, com CPF 084.653.927-73 e telefone (021) 8769-0609, que residia em Rua de Guerra - Santa Helena - 98902-701 Sousa / GO. O Ministério Público interveio no processo, alegando ausência de intervenção do parquet na instância a quo. A preliminar foi acolhida e a nulidade reconhecida. O valor da causa era de R$99.304,53 e o CEP do local onde ocorreu o fato era 94376166. A parte autora é branca, religião evangélica e bissexual.",
    ],
).launch()

Train Configuration

  Num examples = 10.
  Num Epochs = 3
  Instantaneous batch size per device = 8
  Total train batch size (w. parallel, distributed & accumulation) = 8
  Number of trainable parameters =  103.950

Citation

Citação Se você utilizar este modelo ou a metodologia em sua pesquisa, por favor, cite a dissertação original: BRITO, Alan Pinheiro. NER-SPD: Uma Abordagem de Fine-Tunning de Modelos BERT para Reconhecimento de Dados Pessoais Sensíveis em Textos Jurídicos à Luz da LGPD. 2025. Dissertação (Mestrado Profissional em Engenharia de Software) – Centro de Estudos e Sistemas Avançados do Recife, Recife, 2025 }