Обработка естественного языка

TF-IDF

TF-IDF

актуальноТекущий рабочий стандарт

Направления: Прикладные направления · NLP

Взвешивает частоту слова в документе на его редкость в корпусе, подавляя общеупотребительные слова.

Что означает каждый компонент
  • частота слова в документе: насколько оно важно именно здесь
  • редкость слова в корпусе: «и» встречается везде и получает почти нулевой вес

Ключевые тезисы

  • Классический для поиска и классификации текстов.
  • BM25 — его усовершенствованная версия, стандарт лексического поиска.
  • В гибридном поиске отлично дополняет плотные .

Какую задачу решает

Простой подсчёт слов в документе делает самыми важными предлоги и союзы. исправляет это, домножая частоту слова в документе на обратную частоту его встречаемости в коллекции: слово, которое есть везде, получает нулевой вес, а слово, редкое в корпусе и частое в этом документе, — максимальный.

Метод остаётся практически ценным через тридцать лет после появления. Он не понимает смысла и не видит синонимов, зато работает мгновенно, объясним до каждого числа и точен там, где важны конкретные термины: коды, названия, артикулы, редкие слова. В современных поисковых системах его наследник BM25 стоит рядом с поиском, а не вместо него.

Почему в RAG нужны оба поиска

Запрос «ошибка ORA-01555». поиск найдёт документы про ошибки Oracle вообще, потому что кода ошибки почти не отличается от эмбеддинга соседних кодов — для модели это редкая строка без семантики. BM25 найдёт ровно те документы, где эта строка встречается. Обратный случай: запрос «как ускорить медленный отчёт» — здесь BM25 бесполезен, потому что в документах написано «оптимизация производительности выгрузки». Гибридная схема берёт кандидатов из обоих источников и объединяет их ранги — отсюда и её повсеместность.

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

Обозначения
  • число объектов в выборке
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • суммирование по всем перечисленным элементам
  • логарифм: превращает произведения в суммы и сжимает масштаб

Слово «и» встречается в каждом документе — его idf близок к нулю. Слово «гидроразрыв» встречается в трёх документах из миллиона — его idf огромен, и присутствие такого слова почти однозначно определяет тему.

  • Насыщение по частоте: десятое вхождение слова добавляет намного меньше, чем второе.
  • Нормировка на длину документа: длинные тексты не получают преимущества автоматически.
  • Типичные параметры: , .
На практике

В RAG-системах BM25 в паре с плотными почти всегда лучше любого из методов по отдельности: лексический поиск ловит точные термины и артикулы, — смысл.

Где применяется

  • Полнотекстовый поискBM25 — базовый ранжировщик Elasticsearch и большинства поисковых движков.
  • Гибридный поиск в Ловит точные термины и коды, которые поиск размывает.
  • Классификация текста плюс линейная модель — крепкая , которую стоит побить перед .
  • Извлечение ключевых словСлова с наибольшим весом в документе — готовый набор тегов.

Плюсы, минусы и альтернативы

Плюсы

  • Мгновенно считается и не требует обучения.
  • Полностью объясним: вклад каждого слова виден.
  • Точен на редких терминах, именах и кодах.
  • Не требует и работает на любом объёме.

Минусы

  • Не видит синонимов: «автомобиль» и «машина» — разные слова.
  • Игнорирует порядок слов и контекст.
  • Разреженные огромной размерности.
  • Требует текста (лемматизация, стоп-слова) для приличного качества.
  • Плохо работает на коротких текстах, где совпадений мало.

Брать, если

  • Нужен поиск по точным терминам, кодам, названиям.
  • Нужна быстрая интерпретируемая .
  • Ресурсов на нейросетевые нет.

Не брать, если

  • Нужен поиск по смыслу и синонимам — берите .
  • Тексты короткие, а формулировки разнообразны.

Чем заменяют

Связанные темы

Поиск, эмбеддинги и RAG · От слов к векторам

Embeddings95%

Эмбеддинги · Обработка естественного языка

Плотные векторные представления объектов, где геометрическая близость означает смысловое сходство.

Semantic Search80%

Семантический поиск · Обработка естественного языка

Поиск по смыслу, а не по совпадению слов: запрос и документы сравниваются в пространстве эмбеддингов.

RAG80%

Retrieval-Augmented Generation · Обработка естественного языка

Языковая модель отвечает, опираясь на найденные во внешней базе фрагменты, а не только на память весов.

RAG80%

RAG · Генеративный ИИ

Подмешивание найденных документов в контекст модели вместо хранения знаний в весах.

LLM80%

Большие языковые модели · Генеративный ИИ

Трансформеры-декодеры, обученные на огромных корпусах предсказывать следующий токен.

Agents80%

Агенты · Генеративный ИИ

LLM, которая планирует, вызывает инструменты и итеративно движется к цели.

NDCG80%

NDCG · Метрики

Нормированный дисконтированный кумулятивный выигрыш: учитывает градации релевантности и позиции с логарифмическим дисконтом.

MRR80%

Средний обратный ранг · Метрики

Среднее значение 1/rank первого релевантного результата.

MAP80%

Средняя усреднённая точность · Метрики

Среднее по запросам от average precision — учитывает и релевантность, и позиции.

Precision@K80%

Точность@K · Метрики

Доля релевантных объектов среди первых K позиций выдачи.

Recall@K80%

Полнота@K · Метрики

Какая доля всех релевантных объектов попала в топ-K.

Tokenization75%

Токенизация · Обработка естественного языка

Разбиение текста на единицы, с которыми работает модель: слова, подслова или байты.

Bag of Words75%

Мешок слов · Обработка естественного языка

Текст представляется вектором частот слов, порядок полностью игнорируется.

Word2Vec75%

Word2Vec · Обработка естественного языка

Обучает плотные векторы слов по контексту: близкие по смыслу слова оказываются рядом в пространстве.

GloVe75%

GloVe · Обработка естественного языка

Строит эмбеддинги из глобальной матрицы совстречаемости слов, а не только из локальных окон.

FastText75%

FastText · Обработка естественного языка

Представляет слово суммой векторов его символьных n-грамм, что даёт эмбеддинги даже для незнакомых слов.

Кому эта тема нужна

Профильная компетенция для ролей: NLP-инженер, Инженер речи.

Усиливает профиль: LLM-инженер.

Спрашивают на собеседовании: Яндекс — NLP, Авито — Поиск и ранжирование, Ozon — Поиск и рекомендации.

Проверить себя

Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.

Тема в работе целиком

Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.

Следующий шагПроверить себя: NLPТема встречается в этом тесте 1 раз. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Обработка естественного языка» последний раз правилась . Нашли ошибку — напишите.