feat: интеграция LLAIM Legal NER как третьей ступени распознавания
- Подключение ru-legal-ner (ONNX) для юридических реквизитов: ИНН, ОГРН, СНИЛС, паспорт, телефон, email, банковский счёт, дата. - Отдельный проход LEGAL_CANDIDATE, чтобы не вытеснять кандидатов имён и адресов. - coversAny(policy) в Pipeline вместо проверки только FIO. - Нормализация цифровых ПД (ИНН/СНИЛС/карта/ОГРН) в свободной форме. - Фикс ложного срабатывания ФИО на аббревиатуре «ИНН» (PD_MARKERS). - Рефакторинг конструкторов NameCascade через record EngineConfig (Sonar S107).
This commit is contained in:
@@ -40,6 +40,21 @@ fetch "https://huggingface.co/onnx-community/bert-base-NER-Russian-ONNX/resolve/
|
||||
mv -f models/rubert-ner/onnx/model_int8.onnx models/rubert-ner/model.onnx 2>/dev/null || true
|
||||
rmdir models/rubert-ner/onnx 2>/dev/null || true
|
||||
|
||||
# LLAIM Legal NER (LLAIMlegal/ru-legal-ner, MIT) — юридические реквизиты и
|
||||
# документы: ИНН, ОГРН, СНИЛС, паспорт, телефон, email, банковский счёт, дата.
|
||||
# Готового ONNX нет — скачиваем веса и конвертируем скриптом (нужны torch,
|
||||
# transformers, optimum, onnx).
|
||||
fetch "https://huggingface.co/LLAIMlegal/ru-legal-ner/resolve/main" \
|
||||
models/ru-legal-ner model.safetensors \
|
||||
config.json tokenizer.json tokenizer_config.json
|
||||
|
||||
if command -v python3 >/dev/null 2>&1; then
|
||||
python3 tools/convert_ru_legal_ner.py || echo "Не удалось сконвертировать ru-legal-ner в ONNX"
|
||||
else
|
||||
echo "python3 не найден: ru-legal-ner не сконвертирован в ONNX"
|
||||
fi
|
||||
|
||||
echo "Готово. Включить:"
|
||||
echo " pdguard.ner.name-engine=wikineural, pdguard.ner.name-model=models/wikineural-ner"
|
||||
echo " pdguard.ner.address-engine=rubert, pdguard.ner.address-model=models/rubert-ner"
|
||||
echo " pdguard.ner.address-engine=rubert, pdguard.ner.address-model=models/rubert-ner"
|
||||
echo " pdguard.ner.legal-engine=ru-legal-ner, pdguard.ner.legal-model=models/ru-legal-ner"
|
||||
Reference in New Issue
Block a user