File size: 11,851 Bytes
5653b24 0f27e8c 19e6e46 0f27e8c 19e6e46 0f27e8c 2e81e18 0f27e8c 19e6e46 0f27e8c 19e6e46 0f27e8c 5653b24 0f27e8c c1101aa 0f27e8c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 |
---
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
```python
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
```json
[
{
"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
```python
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
```python
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
} |