TGViewer
OK ML OK ML @okmlai · 977 subscribers
Post #14 326
🛠️ Инструмент недели. SpaCy - промышленный NLP

💫 Если нужен продакшен-уровень NLP на Python, spaCy - осознанный выбор. Это бесплатная open-source библиотека под MIT-лицензией, рассчитанная именно на боевое применение. Из коробки идут предобученные пайплайны, поддержка токенизации и обучения для 70+ языков и вагон готовых моделей (на которых как минимум можно прокачать насмотренность, и как максимум - свои тулы по поиску уязвимостей).

🧠 Библиотека сочетает очень высокую скорость с нейросетевыми компонентами для разметки частей речи, синтаксического анализа, распознавания сущностей, классификации текста и других задач. Можно обучать мультизадачные пайплайны с предобученными трансформерами вроде BERT, а продакшен-цикл закрывается удобной упаковкой моделей, деплоем и управлением рабочими процессами. Есть визуализаторы синтаксиса и NER, поддержка своих компонентов и атрибутов, а также подключение кастомных моделей на PyTorch или TensorFlow. В генерацию «с нуля» spaCy не целится — это про обработку и извлечение информации из больших массивов текста — зато в роли надёжного кирпича для RAG (родненький, куда без него), извлечения данных из документов (пу-пу-пу, тут и поиск сенситив дата, на заметку!), логов и тикетов, пред-/пост-обработки вокруг LLM справляется.

Короткий пример на русском

Представь новость: «В 2025 году OpenAI открыла офис в Берлине».

NER автоматически извлекает из текста даты, организации и локации. Выделяет именно куски текста (spans, спаны) и подписывает их типами — DATE, ORG, LOC. Дальше это превращается в поля в базе: date=2025, org=OpenAI, city=Берлин. Нужен другой домен? В тексте «Вендор X выпустил v1.2.3 для продукта Y» NER даёт ORG/PRODUCT, а простым правилом добавляешь VERSION — и вот у тебя структура для отчёта или поиска. Смысл в том, что при любом «плавающем» языке — письма, заявки, коммиты, новости — ты перестаёшь писать хрупкие регексы и получаешь стабильные поля «кто/что/где/когда».

И так, загружаем среднего размера русскую модель, запускаем пайплайн и извлекаем сущности; в ответе - географические названия и организация.

import spacy, sys
print("spaCy:", spacy.__version__)
print("python:", sys.executable)

nlp = spacy.load("ru_core_news_md") # можно начать и с ru_core_news_sm
print("pipe:", nlp.pipe_names)

doc = nlp("Москва — столица России. В 2025 году OpenAI открыла офис в Берлине.")
print("ents:", [(e.text, e.label_) for e in doc.ents])

Вывод у меня сейчас такой (проверяй):

spaCy: 3.7.6
python: /Users/okmlai/anaconda3/bin/python
pipe: ['tok2vec', 'morphologizer', 'parser', 'attribute_ruler', 'lemmatizer', 'ner']
ents: [('Москва', 'LOC'), ('России', 'LOC'), ('OpenAI', 'ORG'), ('Берлине', 'LOC')]


Установка занимает минуту:
pip install -U spacy
python -m spacy download ru_core_news_md


Если увидите предупреждение о несовместимости версии модели и библиотеки, просто обновите spaCy до 3.8.0 и перекачайте модель теми же командами — это уберёт лишний шум и синхронизирует компоненты.


#ИнструментНедели #spaCy #NLP #RAG #MLOps #DataEngineering
  • 🔥 12
  • ❤ 5
  • 🥰 4
  • 💯 3
  • 👍 2
More from @okmlai
  1. Sep 23, 2026Зачем писать стилер, если у пользователя уже есть ИИ-ассистент с доступом ко всему? Патрик…
  2. Sep 21, 2026ИИ получил доступ к своим весам. ЧБД? 16 сентября Irregular опубликовала исследование agen…
  3. Sep 14, 202610 сентября Anthropic опубликовала Detecting and countering misuse of AI — отчёт о злоупот…
  4. Sep 11, 2026Репозиторий недели. Mantis разделить нельзя объединять 📬 У Google есть Mantis — набор нав…
  5. Sep 9, 2026Пароль сменили. Сессии закрыли. А чужие инструкции остались в памяти ИИ. Именно такой сцен…
  6. Sep 4, 2026AI-агенты начали действовать вне инструкций. Вот что нужно знать разработчикам ⤵️ Недавно…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →