Я пытаюсь запустить пример кода в этой документации Microsoft, но получаю сообщение об ошибке «Пакет не найден». Я использую MAC, и у моего друга тоже была такая же проблема на его машине. Я уверен, что у меня установлен пакет трансформаторов. Я импортировал без ошибок. Я нахожусь в виртуальной среде, на ноутбуке Jupyter с кодом.
Если я удалю файл config.yaml, он запустится без ошибок, так что, возможно, в нем что-то есть. Но это та же версия, что и в документации.
Код:
from presidio_analyzer import AnalyzerEngine, RecognizerRegistry
from presidio_analyzer.nlp_engine import NlpEngineProvider
conf_file = 'config.yaml'
provider = NlpEngineProvider(conf_file=conf_file)
nlp_engine = provider.create_engine()
analyzer = AnalyzerEngine(
nlp_engine=nlp_engine,
supported_languages=["en"]
)
results_english = analyzer.analyze(text = "My name is Morris", language = "en")
print(results_english)
Стек ошибок:
ValueError Traceback (most recent call last)
Cell In[3], line 6
4 # Create NLP engine based on configuration
5 provider = NlpEngineProvider(conf_file=conf_file)
----> 6 nlp_engine = provider.create_engine()
8 # Pass the created NLP engine and supported_languages to the AnalyzerEngine
9 analyzer = AnalyzerEngine(
10 nlp_engine=nlp_engine,
11 supported_languages=["en"]
12 )
File ~/Projects/pii/lib/python3.12/site-packages/presidio_analyzer/nlp_engine/nlp_engine_provider.py:81, in NlpEngineProvider.create_engine(self)
79 nlp_engine_name = self.nlp_configuration["nlp_engine_name"]
80 if nlp_engine_name not in self.nlp_engines:
---> 81 raise ValueError(
82 f"NLP engine '{nlp_engine_name}' is not available. "
83 "Make sure you have all required packages installed"
84 )
85 try:
86 nlp_engine_class = self.nlp_engines[nlp_engine_name]
ValueError: NLP engine 'transformers' is not available. Make sure you have all required packages installed
Мой конфиг.yaml:
nlp_engine_name: transformers
models:
-
lang_code: en
model_name:
spacy: en_core_web_sm
transformers: StanfordAIMI/stanford-deidentifier-base
ner_model_configuration:
labels_to_ignore:
- O
aggregation_strategy: simple # "simple", "first", "average", "max"
stride: 16
alignment_mode: strict # "strict", "contract", "expand"
model_to_presidio_entity_mapping:
PER: PERSON
LOC: LOCATION
EMAIL: EMAIL
PHONE: PHONE_NUMBER
low_confidence_score_multiplier: 0.4
low_score_entity_names:
- ID






Вам потребуется установить пакет Presidio Analyser с дополнительным спецификатором зависимости transformers:
pip install "presidio-analyzer[transformers]"
Это установит дополнительные зависимости, необходимые для механизма NLP на основе трансформаторов.