sculptor_NER: Модель для извлечения спортивных сущностей

Модель для распознавания именованных сущностей (NER) в спортивных текстах на русском языке. Разработана для проекта Sculptor Sport.

Типы сущностей

  • EXERCISE - название упражнения (например: "приседания", "жим штанги лежа")
  • QUANTITY - количественные характеристики:
    • вес (кг)
    • количество подходов/повторений
    • время выполнения (секунды, минуты)
    • дистанция (метры, км)
    • угол наклона (градусы)

Использование

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)
Downloads last month
2
Safetensors
Model size
0.2B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support