Інтеграція Prodigy для розмітки даних

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Інтеграція Prodigy для розмітки даних
Середній
~2-3 дні
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Інтеграція Prodigy для розмітки даних

Prodigy — професійний інструмент для анотації даних від творців spaCy. Спеціалізується на NLP-завданнях: NER, класифікація тексту, семантична подібність. Active learning вбудований — модель вчиться по мірі розмітки та направляє анотатора до найбільш інформативних прикладів.

Переваги Prodigy

  • Active Learning: не потрібно розмічати все поряд. Prodigy вибирає приклади, де модель найменше впевнена — максимальна цінність кожної розміченої одиниці
  • Вбудовані рецепти: готові workflows для NER, класифікації, порівняння
  • spaCy-інтеграція: розмітка → навчання → оновлення моделі → нові приклади — безперебійно
  • Human-in-the-loop: модель пропонує анотації, людина коригує

Установка та запуск

pip install prodigy  # потребує ліцензійний ключ
prodigy ner.manual my_ner_dataset blank:ru texts.jsonl --label PER,ORG,LOC

Або з Active Learning (модель вже частково навчена):

prodigy ner.teach my_ner_dataset ru_core_news_lg texts.jsonl --label PRODUCT,FEATURE

Формати даних

Вхідні дані — JSONL, кожна строка — один приклад:

{"text": "Газпром підписав угоду з Deutsche Bank у Берліні."}
{"text": "Іван Петров, CEO компанії Яндекс, виступив на конференції."}

Експорт розміченого даних для навчання spaCy:

prodigy data-to-spacy ./train ./dev --ner my_ner_dataset
python -m spacy train config.cfg --output ./model

Workflows для різних завдань

Класифікація тексту:

prodigy textcat.manual news_cats dataset texts.jsonl \
    --label POSITIVE,NEGATIVE,NEUTRAL

Семантична подібність (навчання sentence-transformers):

prodigy pos.teach similarity_dataset en_core_web_md sentence_pairs.jsonl

Розмітка відносин між сутностями:

prodigy rel.manual rel_dataset blank:ru texts.jsonl \
    --label WORKS_AT,LOCATED_IN

Інтеграція в production pipeline

# Експорт з Prodigy
import prodigy
from prodigy.components.db import connect

db = connect()
examples = db.get_dataset("my_ner_dataset")

# Конвертація в HuggingFace dataset
from datasets import Dataset
hf_dataset = Dataset.from_list([
    {"tokens": ex["tokens"], "labels": convert_spans_to_bio(ex)}
    for ex in examples if ex["answer"] == "accept"
])

Вартість та альтернативи

Prodigy: $490 (одноразова ліцензія для особистого використання), $790 для команд. Open-source альтернативи: Label Studio (більше форматів, складніший UI), Doccano (простіше, тільки базові завдання), Argilla (якість даних + розмітка).

Для NER-завдань з active learning Prodigy залишається найкращим вибором незважаючи на платність: економія 2-3x часу анотаторів порівняно з ручною розміткою.