NERDD / README.md
birdred's picture
Update README.md
00daf6f verified
|
Raw
History Blame Contribute Delete
4.56 kB
metadata
language:
  - pt
license: apache-2.0
metrics:
  - f1
  - precision
  - recall
pipeline_tag: token-classification
tags:
  - ner
  - named-entity-recognition
  - gliner
  - portuguese
  - information-extraction
  - public-security
  - crime
base_model:
  - urchade/gliner_large-v1

NERDD (Portuguese)

NERDD is a fine-tuned version of GLiNER Large for Named Entity Recognition (NER) in Brazilian Portuguese criminal reports collected from the Disque Denúncia anonymous crime reporting system.

The model recognizes three entity types:

  • PER — Person
  • LOC — Location
  • ORG — Organization

Unlike general-purpose NER models, this model was trained on highly informal criminal reports containing abbreviations, slang, nicknames, misspellings and domain-specific terminology commonly found in Brazilian public security datasets.


Quick Start

pip install gliner
from gliner import GLiNER

model = GLiNER.from_pretrained("BIRDRED/NERDD")

text = """
Traficantes do Comando Vermelho estão escondidos na comunidade Cidade Alta.
Segundo a denúncia, Biel foi visto armado próximo à Avenida Brasil.
"""

labels = ["PER","LOC","ORG"]

entities = model.predict_entities(
    text,
    labels
)

print(entities)

Example output

[
 {'text': 'Comando Vermelho', 'label': 'ORG', 'score': 0.97},
 {'text': 'Cidade Alta', 'label': 'LOC', 'score': 0.95},
 {'text': 'Biel', 'label': 'PER', 'score': 0.94},
 {'text': 'Avenida Brasil', 'label': 'LOC', 'score': 0.96}
]

Supported Labels

Label Description
PER Persons, suspects, nicknames and aliases
LOC Streets, neighborhoods, communities, cities and geographic locations
ORG Criminal organizations, police units, institutions and companies

Benchmark Results

The best model was obtained after the fourth pseudo-labeling iteration, using metadata during the self-training process.

Metric Score
F1-score 67.0%
Precision 66.2%
Recall 67.9%

These results were obtained on the held-out test set after fine-tuning GLiNER and applying iterative self-training with metadata-enhanced pseudo-labeling.


Dataset

The model was fine-tuned using a manually annotated corpus of criminal reports.

Dataset statistics:

Item Value
Reports 5,230
Annotated entities 49,069
Person entities 20,903
Location entities 23,213
Organization entities 4,953

The original corpus is not publicly available because it contains sensitive criminal intelligence information.


Training Details

Detail Value
Base model GLiNER Large
Learning Rate 3e-5
Weight Decay 0.01
Batch Size 8
Random Seed 42
Max Length 384 tokens
Validation 5-fold Nested Cross Validation

When to Use This Model

Use case Description
Criminal intelligence Extract entities from crime reports
Public security Information extraction from anonymous reports
Academic research Portuguese NER evaluation
Information extraction Structured entity extraction from unstructured reports

Limitations

  • The model was trained specifically on criminal reports from Rio de Janeiro.
  • Performance may decrease on other Portuguese domains.
  • The training dataset is not publicly available.
  • Organization entities are less frequent than location entities, which may slightly affect performance on this class.

Citation

If you use this model, please cite:

@mastersthesis{melo2026,
  author={Gustavo Melo},
  title={Named Entity Recognition in Brazilian Criminal Reports Using GLiNER, Metadata Integration and Iterative Self-Training},
  school={CEFET/RJ},
  year={2026}
}

Related work

@inproceedings{zaratiana2024gliner,
  title={GLiNER: Generalist Model for Named Entity Recognition using Bidirectional Transformer},
  author={Zaratiana, Urchade and others},
  booktitle={NAACL},
  year={2024}
}

Acknowledgements

This model was developed as part of a Master's dissertation at CEFET/RJ focused on Named Entity Recognition for Brazilian Public Security applications using the Disque Denúncia dataset.


License

Apache 2.0