Coverage for presidio_analyzer / predefined_recognizers / nlp_engine_recognizers / transformers_recognizer.py: 100%
9 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-03-29 09:03 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-03-29 09:03 +0000
1import logging
2from typing import Optional
4from presidio_analyzer.predefined_recognizers.nlp_engine_recognizers.spacy_recognizer import ( # noqa: E501
5 SpacyRecognizer,
6)
8logger = logging.getLogger("presidio-analyzer")
11class TransformersRecognizer(SpacyRecognizer):
12 """
13 Recognize entities using the spacy-huggingface-pipeline package.
15 The recognizer doesn't run transformers models,
16 but loads the output from the NlpArtifacts
17 See:
18 - https://huggingface.co/docs/transformers/main/en/index for transformer models
19 - https://github.com/explosion/spacy-huggingface-pipelines on the spaCy wrapper to transformers
20 """ # noqa: E501
22 ENTITIES = [
23 "PERSON",
24 "LOCATION",
25 "ORGANIZATION",
26 "AGE",
27 "ID",
28 "EMAIL",
29 "DATE_TIME",
30 "PHONE_NUMBER",
31 ]
33 def __init__(self, name: Optional[str] = None, **kwargs):
34 self.DEFAULT_EXPLANATION = self.DEFAULT_EXPLANATION.replace(
35 "Spacy", "Transformers"
36 )
37 super().__init__(name=name, **kwargs)