/
kuklindal
/
RealEstateAnalyzer
Обзор
Документация
Войти
/
kuklindal
/
RealEstateAnalyzer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
backend/train.py
44 строки
1 KB
Daniil Kuklin
refactor: improve code style, async handling and project documentation
08 май 2026, 13:19
08 май 2026, 13:19
f87acd4
Код
Авторство
О чём код?
import spacy from spacy.training.example import Example from prepare_data import convert_dataset from spacy.training import offsets_to_biluo_tags # загружаем данные train_data = convert_dataset( "data/annotations/train.json", "data/images/train" ) # создаем модель nlp = spacy.blank("ru") ner = nlp.add_pipe("ner") # добавляем метки labels = ["ADDRESS", "AREA", "CADASTRAL_NUMBER", "PRICE", "OWNER_NAME", "BUYER_NAME"] for label in labels: ner.add_label(label) # обучение optimizer = nlp.begin_training() for epoch in range(15): print(f"Epoch {epoch}") losses = {} for text, annotations in train_data: doc = nlp.make_doc(text) tags = offsets_to_biluo_tags(doc, annotations["entities"]) if "-" in tags: print("⚠️ MISALIGNED:", text[:120]) print("ENTITIES:", annotations["entities"]) example = Example.from_dict(doc, annotations) nlp.update([example], sgd=optimizer, losses=losses) print(losses) # сохраняем модель nlp.to_disk("ner_model") print("Model saved!")