TGViewer
Maxim.ML - канал Maxim.ML - канал @ml_maxim · 1.05K subscribers
Post #75 884
BERTScore vs косинус: лайфхак для подготовки к конференции с помощью алгоритмов RAG-а

Недавно готовился к выступлению на AhaConf, а это, на минуточку, 70+ спикеров и 1000+ слушателей. Сразу возникает классическая проблема: как сделать свой доклад уникальным и не повторить то, что уже рассказали до тебя?

Многие думают, что RAG - это какая-то сложная штука для enterprise-задач. Но на деле это просто очень здравый подход к работе с информацией. И я применил его при подготовке к выступлению: нашел релевантные данные (Retrieval) в программе конференции, чтобы улучшить свое выступление. Получился такой RAG для одного человека

Зачем вообще искать похожие доклады?

Главный страх любого спикера - выйти на сцену и понять, что твою ключевую мысль только что озвучил предыдущий оратор. Чтобы избежать этого фейла и выжать из конфы максимум, я поставил две цели:

1️⃣Дифференцироваться от коллег. Найти тех, кто говорит на смежные темы, чтобы скорректировать свой доклад, добавить уникальности и не лить воду, которую слушатели уже слышали

2️⃣Нетворкинг. Заранее вычислить «своих» по духу и темам. С таким списком можно подходить в кулуарах не с банальным «чем занимаешься?», а с конкретным «слушай, видел твой доклад про X, у меня как раз очень похожий кейс»

План эксперимента: старый добрый косинус против BERTScore

Мой план был прост:

1️⃣Собрать данные: выгрузить все названия и описания докладов

2️⃣Измерить близость: прогнать каждый доклад через два фильтра для сравнения с моим - старую добрую косинусную близость и более «вдумчивый» BERTScore

3️⃣Проанализировать топ-5 от каждого метода и посмотреть, какие доклады попали в топ

Что получилось

И вот тут-то и проявилась вся разница подходов

Косинусная близость. Этот метод представляет каждый текст как единый числовой вектор (эмбеддинг), усредняя его семантическое содержание. Он эффективно находит документы с лексическими пересечениями, но из-за усреднения контекста может упустить более сложные семантические связи, если они выражены синонимичными или описательными конструкциями

BERTScore. Этот подход работает на более детальном уровне, сопоставляя контекстные эмбеддинги каждого токена из одного текста с токенами другого. На основе этой матрицы попарных сходств он вычисляет метрику F1, что позволяет улавливать локальные семантические связи, например, между «ML-платформой» и «автоматизацией ресурсов», даже при отсутствии общих ключевых слов. (подробнее в оригинальной статье «BERTScore: Evaluating Text Generation with BERT»). Но из-за циклично расчета эмбедингов время получения метрики растет в разы

Главный вывод: дилемма близости в RAG - скорость или глубина?

Мой эксперимент отлично подсветил классический компромисс в мире RAG: выбор между скоростью и семантической глубиной. Здесь нет однозначного победителя, потому что косинусная близость и BERTScore решают разные задачи

По сути, идеальный RAG-пайплайн часто использует оба подхода в связке, как это подтверждают и исследования, и многочисленные гайды от практиков. Использовать только косинус - быстро, но рискуешь получить поверхностный результат (привет реранкерам). Использовать только BERTScore - качественно, но непозволительно медленно

Если бы кто-то придумал «быстрый BERTScore», это бы кардинально изменило подходы к поиску релевантных чанков в RAG. Мы бы получили поиск, который по-настоящему понимает запрос. Но пока приходится жить в мире компромиссов

А для тех, кто хочет провести похожий анализ, я, по традиции, выложил весь код в репозиторий. Забирайте и экспериментируйте 💪
  • ❤ 8
  • 🔥 3
More from @ml_maxim
  1. Sep 23, 2026У меня было много образовательных активностей: преподавал школьникам, студентам и олимпиад…
  2. Sep 17, 2026Тут huawei выпустила отчёт intelligent world 2035, там целых 10 смелых прогнозов, советую…
  3. Sep 14, 2026Показательно получилось 🛌 Вчера таки написал на habr про то, как легко теперь копировать…
  4. Sep 11, 2026Сходил за сырниками, а пришлось анализировать данные 📈 В магазине играла знакомая песня.…
  5. Sep 8, 2026Выхожу из декретного творческого отпуска 🛌 и сразу рассказываю свои апдейты и новости, на…
  6. Apr 14, 2026Архитектуру построили. А ML - нет 🤷‍♂️ Завершился наш с Никитой модуль по AI-агентам в ВШ…
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 →