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), развернул это в продакшене и собрал данные о кликах пользователей — то есть метки. Затем эти метки можно использовать для семантического поиска. Ручную разметку он считает оправданной лишь для дефектов или граничных случаев из-за её высокой стоимости.

Mailbag: How to Bootstrap Labels for Relevant Docs in Search

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

[ machinelearning 📬 ] · 1 min read

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

A writes:

A пишет:

Recently I’m trying to build a semantic search system with my own data and I came across your blog post. I found quite a few papers using “Recall@K” as an evaluation metric (e.g. Semantic Product Search by Amazon, Embedding-based Retrieval in Facebook Search by Facebook, Embedding-based Product Retrieval in Taobao Search), but it is unclear how they obtain the total number of relevant documents (or items) for their query-document pairs.

While it is totally possible to hire a lot of annotators to figure out which documents are relevant to a search query, I don’t think that is economically feasible at all. Do you have any idea how engineers in industry figure out the total number of relevant documents (or items) for their query-document pairs? Many thanks!

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

If I had to build a search engine from scratch, I would:

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

  • Start with lexical matching such BM25 or what’s available in Elasticsearch or Solr
  • Deploy this in production and collect data on what users click on (i.e., labels)
  • Then, use these labels for semantic search
  • Начал с лексического сопоставления, такого как BM25 или того, что доступно в Elasticsearch или Solr. Развернул бы это в продакшене и собрал данные о том, на что кликают пользователи (то есть метки). Затем использовал бы эти метки для семантического поиска.

    I think using human annotators can work, but probably only for defects or edge cases, given how costly it is.

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


    Have a question for me? Happy to answer concise questions via email on topics I know about. More details in How I Can Help.

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


    Join 11,800+ readers getting updates on machine learning, RecSys, LLMs, and engineering.

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