Короче, мой дневник скорее всего никто особо не читает, а я уже заебался писать конспекты в блокнотах и потом их терять, так что пускай тут будет хоть что-то полезное. Говорят что чтобы что-то запомнить - нужно конспектировать. Let's do it!

Первая часть основных идей из работы неких Manish Gupta из Microsoft и Michael Bendersky из Goole, которые не пожалели себя и в 2015 году выпустили 150 страничную работу - обзор основных техник для работы с длинными поисковыми запросами. Думаю им пришлось перелопатить кучи литературы, надеюсь им хоть премию выписали за это.

Итак - введение.

Длинные запросы обрабатываются плохо. Чаще всего это или очень маленькое количество результатов или вообще их отсутствие. Как мы знаем есть основные запросы, которые люди спрашивают часто и которые состоят в большинстве своем из нескольких термов. Типа "Iphone в кредит", "Средство для очистки стекол" и тд. Если кто-то читает это, то средство для очистки стекол - это один концепт целиком, а не три разных терма, так-то. Обычно такие запросы приносят бОльшую часть прибыли, если речь о магазине, например, поэтому спецкоманда поисковых аналитиков оптимизирует движок под них. Есть еще то что называется tail queries, хз как это (запросы в хвосте?), которых гораздо меньше и они обычно длиннее. В принципе это логично. Если вы ищете телевизор, например, то чем меньше слов вы введете, тем больше шанс что кто-то ввел такой же запрос ранее. Шанс что два человека поищут "новый телевизор" больше чем шанс что кто-то еще поищет "новый крутой телевизор с большой диагональю для зала и чтобы не дорого и andriod TV и доставкой". Так что обычно сил аналитиков не хватает на то чтобы дойти до этих единичных запросов. Но все меняется.

Во-первых, большую часть того что можно было придумать для оптимизации коротких запросов - уже придумали. Там и так чаще всего все нормально. Пора бы взяться и за оставшуюся часть. Она хоть и меньше (по разным прикидкам - от 20 до 15 процентов общего трафика, но это сильно зависит от предметной области), но это же тоже запросы, тоже деньги, пользовательский опыт и т.д. Во-вторых, расцвет и распространение голосовых помощников по типу Siri, ok google и Алисы привел к тому что люди по наивности своей начали верить что можно зайти на сайт магазина, вбить туда человеческий текст в целое предложение и оно как и в случае с голосовым помощником успешно будет проглочено и правильно переварено поисковым движком. Чаще всего происходит авотхрентам. И на то есть ряд причин:

- Слишком точный запрос. В списке документов может не быть того, который бы удовлетворял всем 10 словам из поисковой фразы. Чем больше слов - тем больше условий. Пользователь знает какая часть запроса основная, а что он добавил посто от души, а поисковый движок - нет.
- Лишние термы. Просто откуда-то скопированный кусок текста, или просто очень многословный пользователь. Часть запроса может не нести полезной нагрузки, но опять же, нужно понять какая именно.
- Малое количество похожих запросов. Поисковый движок оптимизировали под другие, более частые запросы.
- Отсутствие NLP (обработка естественного языка) в цикле обработки запроса. Действительно, короткие запросы могут быть обработаны просто поиском совпадений с брендом, названием продукта, категорией или свойством продукта (цвет, длина и т.д.), а если расширить все это синонимами то вообще хорошо. Но длинный запрос - это чаще всего не просто набор качеств, а целое предложение и чтобы успешно его обработать нужно разобрать это предложение и понять где там подлежащее, сказуемое, как слова связаны между собой, чтобы добраться до семантики и понять что в принципе нужно-то.
- Сложность в понимании что есть в запросе основная искомая сущность, а что - дополнительные, но менее важные пожелания.

Ну и дальше авторы обещают рассмотреть ряд изумительных подходов к решению вышеописанных проблем.

2 часть - свойства наших длинных запросов.
3 часть - Как из одного длинного запроса сделать один короткий.
4 часть - Как из одного длинного запроса сделать несколько вариантов коротких запросов.
5 часть - Как каждому слову в длинном запросе проставить его вес, то есть то насколько он важен для итогового результата поиска (это та часть из за которой я и начал это читать)
6 часть - Дополнение запроса - как добавить в запрос дополнительную информацию, которая поможет поисковому движку переварить это.
7 часть - Переформулирование как спросить то же самое но так чтобы результат нашелся.
8 часть - Сегментация запросов. Честно говоря, я пока не очень понимаю что это, не сталкивался с таким. Надеюсь что-то крутое и полезное:)

Ссылка на оригинальную работу:
www.microsoft.com/en-us/research/publication/in...

Information Retrieval with Verbose Queries
Manish Gupta Michael Bendersky
March 2015

Published by ACM - Association for Computing Machinery

@темы: search, information retrieval, verbose query