--- language: - ru tags: - ner - named-entity-recognition - russian - sports - fitness - work out license: mit --- # sculptor_NER: Модель для извлечения спортивных сущностей Модель для распознавания именованных сущностей (NER) в спортивных текстах на русском языке. Разработана для проекта **Sculptor Sport**. ## Типы сущностей - `EXERCISE` - название упражнения (например: "приседания", "жим штанги лежа") - `QUANTITY` - количественные характеристики: - вес (кг) - количество подходов/повторений - время выполнения (секунды, минуты) - дистанция (метры, км) - угол наклона (градусы) ## Использование ```python from transformers import pipeline ner_pipeline = pipeline( "ner", model="ZPM07/sculptor_NER", aggregation_strategy="first", device=0 ) text = "3 подхода по 10 приседаний с весом 50 кг" entities = ner_pipeline(text) def clean_results(entities): cleaned = [] for entity in entities: word = entity['word'].replace('Ġ', ' ').strip() if word: cleaned.append({ 'word': word, 'entity': entity['entity_group'], 'score': round(entity['score'], 4), 'start': entity['start'], 'end': entity['end'] }) return cleaned cleaned_entities = clean_results(entities) print("Найденные сущности:") for entity in cleaned_entities: print(f"- {entity['word']} -> {entity['entity']} (доверие: {entity['score']:.2f}, позиция: {entity['start']}-{entity['end']})") ``` ## Пример вывода Найденные сущности: - 3 подхода -> QUANTITY (доверие: 1.00, позиция: 0-9) - 10 -> QUANTITY (доверие: 1.00, позиция: 13-15) - приседаний -> EXERCISE (доверие: 0.99, позиция: 16-26) - 50 кг -> QUANTITY (доверие: 1.00, позиция: 35-40)