newsmode
search
Меню
arrow_back Назад

Mailbag: How to Bootstrap Labels for Relevant Docs in Search

auto_awesomeКраткое саммари

Читатель спрашивает, как в индустрии получают общее число релевантных документов для пар «запрос-документ», необходимое для расчёта метрики Recall@K (упоминаются работы Semantic Product Search от Amazon, Embedding-based Retrieval in Facebook Search и Embedding-based Product Retrieval in Taobao Search), ведь нанимать множество разметчиков экономически нецелесообразно. Eugene Yan отвечает, что, строя поисковую систему с нуля, он бы начал с лексического сопоставления вроде BM25 (или средствами Elasticsearch/Solr), развернул это в продакшене и собрал данные о кликах пользователей — то есть метки. Затем эти метки можно использовать для семантического поиска. Ручную разметку он считает оправданной лишь для дефектов или граничных случаев из-за её высокой стоимости.

Из почты: как получить начальные метки релевантных документов для поиска

[ machinelearning 📬 ] · 1 мин чтения

A пишет:

Недавно я пытаюсь построить систему семантического поиска на собственных данных и наткнулся на вашу статью в блоге. Я нашёл немало работ, использующих «Recall@K» в качестве метрики оценки (например, Semantic Product Search от Amazon, Embedding-based Retrieval in Facebook Search от Facebook, Embedding-based Product Retrieval in Taobao Search), но непонятно, как они получают общее число релевантных документов (или товаров) для своих пар «запрос-документ». Хотя вполне возможно нанять множество разметчиков, чтобы определить, какие документы релевантны поисковому запросу, я совсем не думаю, что это экономически осуществимо. Есть ли у вас идеи, как инженеры в индустрии определяют общее число релевантных документов (или товаров) для своих пар «запрос-документ»? Большое спасибо!

Если бы мне пришлось строить поисковую систему с нуля, я бы:

Начал с лексического сопоставления, такого как BM25 или того, что доступно в Elasticsearch или Solr. Развернул бы это в продакшене и собрал данные о том, на что кликают пользователи (то есть метки). Затем использовал бы эти метки для семантического поиска.

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


Есть вопрос ко мне? С радостью отвечу на краткие вопросы по электронной почте на темы, в которых разбираюсь. Подробнее в How I Can Help.


Присоединяйтесь к 11 800+ читателям, получающим обновления о машинном обучении, RecSys, LLM и инженерии.