Реализация извлечения ключевых фраз (Keyword/Keyphrase Extraction)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Реализация извлечения ключевых фраз (Keyword/Keyphrase Extraction)
Простая
~2-3 рабочих дня
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Реализация извлечения ключевых фраз (Keyword/Keyphrase Extraction)

Ключевые фразы — короткие n-граммы, отражающие основные темы документа. Применение широкое: индексирование, поиск, теггирование контента, автоматические аннотации.

Методы извлечения

Статистические методы — быстро, без обучения:

  • YAKE (Yet Another Keyword Extractor): учитывает позицию слова, коллокации, частоту. Работает без корпуса, 5ms/документ
  • RAKE (Rapid Automatic Keyword Extraction): разбивка по стоп-словам, scoring по co-occurrence
  • TF-IDF: лучшие слова по TF-IDF весу — эффективно при наличии корпуса для IDF

Граф-based методы:

  • TextRank (аналог PageRank для слов): строит граф co-occurrence, ранжирует узлы. Реализация: gensim, pytextrank

Семантические методы (лучшее качество):

  • KeyBERT: эмбеддинги документа и кандидатов сравниваются косинусным сходством
from keybert import KeyBERT
kw_model = KeyBERT(model="cointegrated/rubert-tiny2")
keywords = kw_model.extract_keywords(text, keyphrase_ngram_range=(1, 3), top_n=10)

Для русского языка

Статистические методы работают хуже без лемматизации. Правильный пайплайн: лемматизация (pymorphy3) → YAKE/KeyBERT. KeyBERT с rubert-tiny2 даёт хорошее качество при latency ~50ms/документ.

Применение в production

Типичная задача: теггирование 10K статей в день. Оптимальный стек: YAKE для скорости + KeyBERT для топ-документов. Результаты нормализуются (лемматизация, lowercase, дедупликация) и сохраняются в поисковый индекс (Elasticsearch с полем keywords).