Модель для поиска ссылок на нормы в проектной документации
Модель предназначена для извлечения ссылок на нормативные документы и конкретные структурные элементы норм из русскоязычных текстов проектной и нормативной документации.
Формат промптов на которых была обучена модель хранятся в папке prompts в репозитории.
Основная задача модели — поиск ссылок вида:
п.7.1.8 СП 1.13130ч.1 ст.6 184-ФЗтаблица 7 СП 4.13130приложение А ГОСТ ...
Модель ориентирована на работу с документами в области:
- пожарной безопасности;
- строительного проектирования;
- технического регулирования;
- нормативной экспертизы;
- проверки соответствия проектной документации.
Что делает модель
Модель получает:
- код интересующего нормативного документа (
doc_code); - фрагмент текста (
text);
и возвращает ссылки только на конкретные места внутри указанного нормативного документа.
Пример
Input
{
"doc_code": "СП 1.13130",
"text": "...Коридоры отделены перегородками (что соответствует п.7.1.11 СП 1.13130)."
}
Output
[
{
"punkt": "п.7.1.11 СП 1.13130",
"full_paragraph": "Коридоры отделены перегородками (что соответствует п.7.1.11 СП 1.13130)."
}
]
Что НЕ считается ссылкой
Простое перечисление нормативных документов без указания конкретного пункта НЕ считается ссылкой.
Пример
СП 1.13130.2020 Системы противопожарной защиты...
В таком случае результат должен быть пустым:
[]
Формат выходных данных
[
{
"punkt": "<найденная ссылка>",
"full_paragraph": "<полный текст абзаца>"
}
]
Пример использования
from transformers import pipeline
pipe = pipeline(
"text-generation",
model="GreenMap/qwen3.5-2b-ru-norm-link-extractor",
tokenizer="GreenMap/qwen3.5-2b-ru-norm-link-extractor"
)
doc_code = "СП 1.13130"
text = """
9.3.23 Коридоры, холлы, вестибюли во всем здании отделены
перегородками с пределом огнестойкости не менее (R)EI(W) 30
(что соответствует п.7.1.11 СП 1.13130).
"""
prompt = f"""
Верни отрывок и ссылку на "{doc_code}" на основе текста. Если в тексте нет ссылок на конкретное место нормативного документа верни []. Верни в формате JSON: [{{"punkt": "<ссылка на норму>", "full_paragraph": "<релевантный фрагмент текста>"}}]
Текст: {text}
Ответ:
"""
result = pipe(
prompt,
max_new_tokens=1024,
do_sample=False
)
print(result[0]["generated_text"])
Пример ожидаемого результата
[
{
"punkt": "п.7.1.11 СП 1.13130",
"full_paragraph": "9.3.23 Коридоры, холлы, вестибюли во всем здании отделены перегородками с пределом огнестойкости не менее (R)EI(W) 30 (что соответствует п.7.1.11 СП 1.13130)."
}
]
Датасет
Датасет был сформирован вручную.
Язык
Русский.
Лицензия
Apache 2.0
- Downloads last month
- 166