СПОСОБ И СЕРВЕР ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТОВ НА СТРАНИЦЕ РЕЗУЛЬТАТОВ ПОИСКА
METHOD AND SERVER FOR RANGING DOCUMENTS ON SEARCH RESULTS PAGE

ОБЛАСТЬ ТЕХНИКИ
[01] Настоящая технология относится к области страниц результатов поиска в целом, и в частности - к способу и серверу для ранжирования документов на странице результатов поиска.
УРОВЕНЬ ТЕХНИКИ
[02] Интернет предоставляет доступ к широкому спектру ресурсов, например, видеофайлам, файлам изображений, аудио-файлам или веб-страницам. Поисковые системы используются для поиска этих ресурсов. Например, цифровые изображения, которые удовлетворяют информационным нуждам пользователя, могут быть идентифицированы с помощью поисковой системы в ответ на получения пользовательского запроса, введенного пользователем. Пользовательские запросы могут быть состоять из одного или нескольких терминов запроса. Поисковая система выбирает и ранжирует поисковые результаты на основе их релевантности к пользовательскому запросу и/или их важности по отношению к другим поисковым результатам, и также предоставляет верхние поисковые результаты пользователю.
[03] Многие существующие алгоритмы ранжирования выполняются для ранжирования поисковых результатов на данной странице результатов поиска, которая создается и предоставляется пользователю, который ввел запрос.
РАСКРЫТИЕ ТЕХНОЛОГИИ
[04] Разработчики настоящей технологии обратили внимание на некоторые технические недостатки, связанные с существующими поисковыми системами. Обычные системы нацелены на предоставление страницы результатов пользователя, где поисковые результаты адекватно ранжированы на основе их релевантности поисковому запросу. Тем не менее, в некоторых случаях, некоторые поисковые запросы либо (i) могут не быть адекватно ранжированы из-за различных недостатков системы ранжирования обычных поисковых систем или (ii) могут быть ранжированы низко на странице результатов поиска, но, тем не менее, могут быть полезны для удовлетворения поисковых нужд пользователя. Это, в свою очередь, может привести к снижению пользы страницы результатов поиска в целом для пользователя, который выполняет поиск.
[05] Задачей предлагаемой технологии является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
[06] Следовательно, разработчики настоящей технологии разработали серверы и способы, которые позволяют изначально ранжировать релевантные документы с помощью системы ранжирования поисковой системы, и далее повторно ранжировать на странице результатов поиска для увеличения пользы страницы результатов поиска в целом в ответ на текущий поисковый запрос текущего пользователя. Несмотря на то, что обычные системы ранжирования могут подходить для оценки релевантности данного документа для данного запроса (и ранжирования их на основе соответствующей примерной релевантности), в некоторых случаях, повторное ранжирование по меньшей мере некоторых релевантных документов на странице результатов поиска может потенциально привести к более полезной странице результатов поиска в целом для текущего пользователя.
[07] С этой целью, разработчики настоящей технологии могли разработать способы для создания оценки корректировки ранга для данной текущей поисковой пары для использования оценки корректировки ранга для повторного ранжирования соответствующего релевантного документа в данной текущей поисковой парке таким образом, чтобы новый ранг соответствующего релевантного документа отличается от его предварительного ранга, который был назначен на основе базовой оценки ранга, созданной для соответствующего релевантного документ с помощью одного или нескольких алгоритмов машинного обучения во время первоначального ранжирования.
[08] Можно сказать, что разработчики настоящей технологии разработали способы для бустинга соответствующей базовой оценки ранга, созданной одним или несколькими алгоритмами машинного обучения с помощью соответствующей оценки корректировки ранга таким образом, чтобы повторно ранжировать релевантные документы на странице результатов поиска на основе подвергнутых бустингу базовых оценок ранга. Страница поисковой системы с таким образом ранжированными релевантными документами может быть более полезной в целом для текущего пользователя, чем страница результатов поиска, на которой релевантные документы не ранжированы таким образом.
[09] Первым объектом настоящей технологии является способ ранжирования документов в ответ на текущий запрос. Документы будут представлены на странице результатов поиска. Текущий запрос был получен от пользовательского устройства, связанного с пользователем. Страница результатов поиска предназначена для отображения пользователю пользовательского устройства. Способ выполняется сервером, который коммуникативно связан с пользовательским устройством и обладает доступом к базе данных. База данных хранит множество сохраненных поисковых пар, связанных с соответствующими зависящими от пары значениями. Данное зависящее от пары значение для данной сохраненной поисковой пары указывает на пользу данного документа в данной сохраненной поисковой паре для данного запроса в данной сохраненной поисковой паре. Способ включает в себя, для текущего запроса, ранжирование сервером, реализующим алгоритм машинного обучения, множество релевантных документов, которые предназначены для включения на страницу результатов поиска в ответ на текущий запрос. Множество релевантных документов связано с соответствующими предварительными рангами на странице результатов поиска. Текущий запрос и соответствующий один из множества релевантных документов формируют соответствующую текущую поисковую пару. Способ включает в себя, для данной текущей поисковой пары, создание сервером оценки ранжирования, связанной с данной сохраненной поисковой парой из множества сохраненных поисковых пар, основанной на: зависящей от конкретной данной сохраненной поисковой пары, и парной зависимости между текущей поисковой парой и данной сохраненной поисковой парой. Способ также включает в себя, для текущего запроса, повторное ранжирование сервером данного релевантного документа из данной текущего поисковой пары на странице результатов поиска с помощью соответствующей оценки корректировки ранга таким образом, чтобы данный релевантный документ был связан с рангом на странице результатов поиска, которая отличается от соответствующего предварительного ранга на странице результатов поиска.
[10] В некоторых вариантах осуществления способа, данная сохраненная поисковая пара выбирается таким образом, что оценка корректировки ранга для данной текущей поисковой пары является наивысшей среди множества сохраненных поисковых запросов.
[11] В некоторых вариантах осуществления способа, для данной текущей поисковой пары создание оценки корректировки ранга включает в себя: (i) создание сервером множества потенциальных оценок корректировки ранга, связанных с соответствующей одной из множества сохраненных поисковых пар на основе зависящего от пары значения соответствующей сохраненной поисковой пары и парного сходства между данной текущей парой и соответствующей сохраненной поисковой парой; и (ii) выбор сервером наиболее высокой среди множества потенциальных оценок корректировки ранга в качестве оценки корректировки ранга.
[12] В некоторых вариантах осуществления способа, для данной текущей поисковой пары создание оценки корректировки ранга включает в себя: (i) создание сервером множества потенциальных оценок корректировки ранга, связанных с соответствующей одной из множества сохраненных поисковых пар на основе зависящего от пары значения соответствующей сохраненной поисковой пары и парного сходства между данной текущей парой и соответствующей сохраненной поисковой парой; и (ii) выбор сервером заранее определенного числа наибольших среди множества потенциальных оценок корректировки ранга в качестве оценки корректировки ранга.
[13] В некоторых вариантах осуществления способа, выбор дополнительно включает в себя усреднение наибольших среди множества потенциальных оценок корректировки ранга для определения оценки корректировки ранга.
[14] В некоторых вариантах осуществления способа, способ далее включает в себя: создание сервером соответствующей оценки корректировки ранга для каждой текущей поисковой пары; и использование сервером оценок корректировки ранга для повторного ранжирования релевантных документов соответствующих текущих поисковых пар на странице результатов поиска для текущего запроса.
[15] В некоторых вариантах осуществления способа, использование оценок корректировки ранга включает в себя повторное ранжирование сервером релевантных документов на странице результатов поиска в отношении друг друга для текущего запроса на основе комбинации (i) соответствующих оценок корректировки ранга и (ii) соответствующих базовых оценок ранга, определенных алгоритмом машинного обучения.
[16] В некоторых вариантах осуществления способа, сохраненные поисковые пары представляют собой одно из: либо предыдущую поисковую пару, либо размеченную асессором поисковую пару.
[17] В некоторых вариантах осуществления способа, соответствующие базовые оценки ранжирования определяются алгоритмом машинного обучения на основе (i) факторов соответствующих релевантных документов и (ii) факторов текущего запроса.
[18] В некоторых вариантах осуществления способа, способ далее включает в себя определение парного сходства между текущей поисковой парой и данной сохраненной поисковой парой на основе по меньшей мере одного из (i) сходства текущего запроса с данным запросом из данной сохраненной поисковой пары и (ii) сходства соответствующего релевантного документа из данной текущей поисковой пары и соответствующего документа из данной сохраненной поисковой пары.
[19] Вторым объектом настоящей технологии является сервер для ранжирования документов в ответ на текущий запрос. Документы будут представлены на странице результатов поиска. Текущий запрос был получен от пользовательского устройства, связанного с пользователем. Страница результатов поиска предназначена для отображения пользователю пользовательского устройства. Сервер коммуникативно связан с пользовательским устройством и обладает доступом к базе данных. База данных хранит множество сохраненных поисковых пар, связанные с соответствующими зависящими от пары значениями. Данное зависящее от пары значение для данной сохраненной поисковой пары указывает на пользу данного документа в данной сохраненной поисковой паре для данного запроса в данной сохраненной поисковой паре. Сервер выполнен с возможностью осуществлять, для текущего запроса, ранжирование сервером, реализующим алгоритм машинного обучения, множество релевантных документов, которые предназначены для включения на страницу результатов поиска в ответ на текущий запрос. Множество релевантных документов связано с соответствующими предварительными рангами на странице результатов поиска. Текущий запрос и соответствующий один из множества релевантных документов формируют соответствующую текущую поисковую пару. Сервер выполнен с возможностью осуществлять, для данной текущей поисковой пары, создание оценки ранжирования, связанной с сохраненной поисковой парой, основанной на: зависящей от конкретной сохраненной поисковой пары, и парной зависимости между текущей поисковой парой и сохраненной поисковой парой. Сервер также выполнен с возможностью осуществлять, для текущего запроса, повторное ранжирование данного релевантного документа из данной текущего поисковой пары на странице результатов поиска с помощью соответствующей оценки корректировки ранга таким образом, чтобы данный релевантный документ был связан с рангом на странице результатов поиска, которая отличается от соответствующего предварительного ранга на странице результатов поиска.
[20] В некоторых вариантах осуществления сервера, данная сохраненная поисковая пара выбирается таким образом, что оценка корректировки ранга для данной текущей поисковой пары является наивысшей среди множества сохраненных поисковых запросов.
[21] В некоторых вариантах осуществления сервер, для данной текущей поисковой пары, сервер, который выполнен с возможностью создавать оценку корректировки ранга, включает в себя сервер, выполненный с возможностью осуществлять: создание сервером множества потенциальных оценок корректировки ранга, связанных с соответствующей одной из множества сохраненных поисковых пар на основе зависящего от пары значения соответствующей сохраненной поисковой пары и парного сходства между данной текущей парой и соответствующей сохраненной поисковой парой; и выбор наиболее высокой среди множества потенциальных оценок корректировки ранга в качестве оценки корректировки ранга.
[22] В некоторых вариантах осуществления сервер, для данной текущей поисковой пары, сервер, который выполнен с возможностью создавать оценку корректировки ранга, включает в себя сервер, выполненный с возможностью осуществлять: создание сервером множества потенциальных оценок корректировки ранга, связанных с соответствующей одной из множества сохраненных поисковых пар на основе зависящего от пары значения соответствующей сохраненной поисковой пары и парного сходства между данной текущей парой и соответствующей сохраненной поисковой парой; и выбор заранее определенного числа наивысших среди множества потенциальных оценок корректировки ранга в качестве оценки корректировки ранга.
[23] В некоторых вариантах осуществления сервера, сервер, выполненный с возможностью осуществлять выбор, дополнительно включает в себя сервер, который выполнен с возможностью осуществлять усреднение наибольших среди множества потенциальных оценок корректировки ранга для определения оценки корректировки ранга.
[24] В некоторых вариантах осуществления сервера, сервер далее выполнен с возможностью осуществлять: создание соответствующей оценки корректировки ранга для каждой текущей поисковой пары; и использование оценок корректировки ранга для повторного ранжирования релевантных документов соответствующих текущих поисковых пар на странице результатов поиска для текущего запроса.
[25] В некоторых вариантах осуществления сервера, сервер, который выполнен с возможностью использовать оценки корректировки ранга, включает в себя сервер, выполненный с возможностью выполнять повторное ранжирование сервером релевантных документов на странице результатов поиска в отношении друг друга для текущего запроса на основе комбинации соответствующих оценок корректировки ранга и соответствующих базовых оценок ранжирования, определенных алгоритмом машинного обучения.
[26] В некоторых вариантах осуществления сервера, сохраненные поисковые пары представляют собой одно из: либо предыдущую поисковую пару, либо размеченную асессором поисковую пару.
[27] В некоторых вариантах осуществления сервера, соответствующие базовые оценки ранжирования определяются алгоритмом машинного обучения на основе (i) факторов соответствующих релевантных документов и (ii) факторов текущего запроса.
[28] В некоторых вариантах осуществления сервера, сервер далее выполнен с возможностью осуществлять определение парного сходства между текущей поисковой парой и данной сохраненной поисковой парой на основе по меньшей мере одного из (i) сходства текущего запроса с данным запросом из данной сохраненной поисковой пары и (ii) сходства соответствующего релевантного документа из данной текущей поисковой пары и соответствующего документа из данной сохраненной поисковой пары.
[29] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения "сервер" не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение "по меньшей мере один сервер".
[30] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения "клиентское устройство" не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.
[31] В контексте настоящего описания, "база данных" подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. В контексте настоящего описания слова "первый", "второй", "третий" и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными.
[32] В контексте настоящего описания "информация" включает в себя информацию любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы, списки слов и т.д.
[33] В контексте настоящего описания "компонент" подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[34] В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[35] В контексте настоящего описания слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый сервер" и "третий сервер" не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[36] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
[37] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[38] Для лучшего понимания настоящей технологии, а также других ее аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[39] На Фиг. 1 представлена система, подходящая для реализации неограничивающих вариантов осуществления настоящей технологии.
[40] На Фиг. 2 представлено множество исполняемых на компьютере процедур, исполняемых сервером системы, изображенной на Фиг. 1, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[41] На Фиг. 3 представлены данные о сохраненной поисковой паре, содержащие множество записей о сохраненной поисковой паре, которые хранятся в базе данных системы, изображенной на Фиг. 1, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[42] На Фиг. 4 представлена реализуемая на компьютере процедура создания базовой оценки релевантности для множества релевантных документов для текущего запроса в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[43] На Фиг. 5 представлена реализуемая на компьютере процедура определения парного сходства между текущей поисковой парой и сохраненной поисковой парой в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[44] На Фиг. 6 представлена реализуемая на компьютере процедура создания множества потенциальных оценок корректировки ранга для текущей поисковой пары в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[45] На Фиг. 7 представлено упрощенное представление страницы результатов с релевантными документами, связанными с предварительными рангами, и другое упрощенное представление страницы результатов поиска с релевантным документом, который был повторно ранжирован с помощью оценок корректировки ранга в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[46] На Фиг. 8 представлена блок-схема способа ранжирования документов в ответ на текущий запрос в соответствии с неограничивающими вариантами осуществления настоящей технологии.
ОСУЩЕСТВЛЕНИЕ
[47] На Фиг. 1 представлена принципиальная схема системы 100, с возможностью реализации вариантом осуществления настоящей технологии, не ограничивающих ее объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящей технологии. Это описание не предназначено для определения объема или установления границ настоящей технологии. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящей технологии. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящей технологии, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
[48] В общем случае, система 100 выполнен с возможностью создавать и предоставлять страницу результатов поиска, содержащую различные поисковые результаты, электронному устройству 104 для отображения их пользователю 102 в ответ на данный запрос, предоставленный пользователем 102. Далее будут описаны по меньшей мере некоторые компоненты системы 100, но следует иметь в виду, что другие компоненты, отличные от того, что представлено на Фиг. 1, могут быть частью системы 100, не выходя за границы настоящей технологии.
Электронное устройство
[49] Система 100 содержит электронное устройство 104, электронное устройство 104 связано с пользователем 102. Таким образом, электронное устройство 104 может иногда упоминаться как "клиентское устройство", "устройство конечного пользователя", "клиентское электронное устройство" или просто "устройство". Следует отметить, что тот факт, что устройство 104 связано с пользователем 102, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.
[50] Варианты осуществления устройства 104 конкретно не ограничены, но в качестве примера устройства 104 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), устройства беспроводной связи (смартфоны, мобильные телефоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Устройство 104 включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в данной области техники, для выполнения данного браузерного приложения. В общем случае, задачей данного браузерного приложения является предоставление пользователю 102 доступа к одному или нескольким веб-ресурсам. Реализация данного браузерного приложения 103 никак конкретно не ограничена. Например, данное браузерное приложение может быть реализовано как браузер Яндекс (Yandex™).
[51] В некоторых вариантах осуществления настоящей технологии, данное браузерное приложение, которое выполняется устройством 104, может позволить пользователю 102 ввести поисковые запросы в данную поисковую систему (например, размещенную на сервере 106) и отображать страницу результатов поиска в ответ на введенные пользователем 102 запросы. В общем случае, данная поисковая система представляет собой систему, выполненную с возможностью получать запросы от множества пользователей, искать информацию в ответ на полученных запросы и создавать страницу результатов поиска, содержащую поисковые результаты, которые ранжированы на основе их релевантности полученным запросам. Примерами поисковых системы являются такие поисковые системы как Яндекс™, Google™, Yahoo™ и тому подобные.
[52] Например, пользователь 102 может использовать данное браузерное приложение для ввода/подтверждения текущего запроса, и устройство 104 может быть выполнено с возможностью создавать пакет 150 данных запроса, содержащий данные, указывающие на текущий запрос пользователя 102. Подразумевается, что множества пакетов данных может создаваться множеством устройств системы 100 аналогично тому, как устройство 104 создает пакет 150 данных на основе текущего запроса, введенного/подтвержденного пользователем 102 в данное браузерное приложение, не выходя за границы настоящей технологии.
Сеть передачи данных;
[53] Устройство 104 соединено с сетью 108 передачи данных для получения доступа к данной поисковой системе сервера 106. В некоторых вариантах осуществления настоящего технического решения, не ограничивающих ее объем, сеть 108 передачи данных может представлять собой Интернет. В других неограничивающих вариантах осуществления настоящей технологии, сеть 108 передачи данных может быть реализована иначе - в виде глобальной сети связи, локальной сети связи, частной сети связи и т.п. Реализация линии передачи данных (отдельно не пронумерована) между устройством 104 и сетью 108 передачи данных будет зависеть среди прочего от того, как именно реализовано устройство 104.
[54] В качестве примера, но не ограничения, в данных вариантах осуществления настоящей технологии в случаях, когда устройство 104 представляет собой беспроводное устройство связи (например, смартфон), линия передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линия передачи данных 3G, линия передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi, Bluetooth и т.п.). В тех примерах, где устройство 104 представляет собой портативный компьютер, линия связи может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi, Bluetooth и т.п) так и проводной (соединение на основе сети Ethernet).
[55] Сеть 108 передачи данных выполнена с возможностью передавать, среди прочего, пакет 150 данных запроса от устройства 104 серверу 106 и страницу результатов поиска 160 от сервера 106 устройству 104. Например, пакет 150 данных страницы результатов поиска может содержать данные, указывающие на то, что данная страница результатов поиска была создана сервером 106, и который включает в себя поисковые результаты, отвечающие на текущий запрос пользователя 102. То, как именно сервер 106 создает пакет 160 данных страницы результатов поиска и данную страницу результатов поиска будет более подробно описано далее.
Сервер
[56] Система 100 также включает в себя сервер 106, который может быть реализован как обычный сервер. В примере варианта осуществления настоящей технологии, сервер 106 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 106 может представлять собой любое другое подходящее аппаратное, прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, сервер 106 является одиночным сервером. В других вариантах осуществления настоящей технологии, не ограничивающих ее объем, функциональность сервера 106 может быть разделена, и может выполняться с помощью нескольких серверов.
[57] В общем случае, сервер 106 может находиться под контролем и/или управлением поставщика поисковой системы (не показан), такого, например, как оператор данной поисковой системы (например, поисковой системы Яндекс™). Следовательно, как уже было упомянуто ранее, сервер 112 может размещать данную поисковую систему. Таким образом, сервер 106 может быть выполнен с возможностью выполнять один или несколько информационных поисков в ответ на поисковые запросы, введенные пользователями данной поисковой системы.
[58] Сервер 106 выполнен с возможностью выполнять по меньшей мере некоторые из множества исполняемых на компьютере процедур 200, как будет более подробно описано со ссылкой на Фиг. 2. Следует иметь в виду, что сервер 106 может также выполнять дополнительные исполняемые на компьютере процедуры, кроме тех, которые неисчерпывающим списком представлены на Фиг. 2, не выходя за границы настоящей технологии.
[59] Сервер 106 может выполнен с возможность исполнять процедуру 202 обнаружения документов, которая обычно используется сервером 106 для обнаружения документов, доступных по сети 108 передачи данных. Например, сервер 106 может выполнять приложение "поискового робота", который "посещает" сетевые ресурсы, доступные по сети 108 передачи данных и скачивает их для дальнейшей обработки.
[60] Природа документов, которые сервер 106 может посещать и скачивать, никак конкретно не ограничена, но для целей иллюстрации, описанные здесь документы могут представлять собой веб-страницы, которые доступны по сети 108 передачи данных.
[61] Сервер 106 может также выполнять процедуру 204 индексирования, которая в общем случае используется сервером 106 для создания и/или поддержки структур индексирования, используемых данной поисковой системой для выполнения поисков. Например, сервер 106 может создавать и/или поддерживать инвертированный индекс.
[62] То, как именно реализован инвертированный индекс, никак не ограничено в настоящей системе, но, ради примера, инвертированный индекс обычно содержит ряд списков словопозиций, каждый из которых связан с соответствующим "поисковым термином". Данная словопозиция в данном списке словопозиций включает в себя некоторый тип данных, которые указывают на то, что данный документ включает в себя поисковый термин, связанный с данным списком словопозиций и, опционально, включает в себя некоторые дополнительные данные. Суммируя, каждый список словопозиций соответствует соответствующему доступному для поиска термину и включает в себя серии словопозиций, ссылающиеся на обнаруженные документы, которые содержат по меньшей мере одно вхождение соответствующего доступного для поиска термина.
[63] Следует отметить, что дополнительные данные также могут быть обнаружены в данной словопозиций; например, число вхождений данного поискового термина в данном документе; входит ли этот поисковый термин в заголовок данного документа и т.д. Естественно, эти дополнительные данные могут отличаться в зависимости от поисковой системы и, среди прочего, различных вариантов осуществления настоящей технологии.
[64] Доступные для поиска термины обычно (но не обязательно) представляют собой слова или другие последовательности символов. Данная поисковая система может обычно работать с практически каждым словом в различных языках, а также в нарицательными, числительными, символами и т.д. Широко используемое слово может обладать списком словопозиций длинной в миллиард словопозиций (или более). В некоторых вариантах осуществления настоящей технологии поисковый запрос также может представлять собой основанный на изображении поисковый запрос для поиска "похожих" изображений.
[65] Сервер 106 может также выполнять процедуру 206 запроса, которая в общем случае используется сервером 106 для идентификации документов, которые могут содержать некоторую часть данного запроса, введенного в данную поисковую систему. Например, когда данный запрос (например, текущий запрос пользователя 102) получен сервером 106, сервер 106 может анализировать (парсить) данный запрос на множество доступных для поиска терминов. Сервер 106 может далее получать доступ к инвертированному индексу и идентифицировать списки, которые связаны по меньшей мере со множеством доступных для поиска терминов. В результате, сервер 106 может получать доступ к некоторым словопозициям в идентифицированных списках словопозиций и идентифицировать по меньшей мере некоторые документы, которые могут содержать по меньшей мере некоторые из множества доступных для поиска терминов данного запроса.
[66] Сервер 106 может также быть выполнен с возможностью выполнять процедуру 208 оценки базовой релевантности, которая в общем случае используется для оценки релевантности данного документа для данного запроса. Например, сервер 106 может быть выполнен с возможностью выполнять один или несколько алгоритмов машинного обучения, которые были обучены для оценки релевантности данного документа для данного запроса на основе, среди прочего, (i) факторов данного документа и (ii) факторов данного запроса. То как именно обучаются один или несколько алгоритмов машинного обучения и далее используются для оценки релевантности документов для данного запроса, описано в американской патентной заявке №2017/0185681, озаглавленной "METHOD OF AND SYSTEM FOR PROCESSING A PREFIX ASSOCIATED WITH A SEARCH QUERY" ("СПОСОБ И СИСТЕМА ДЛЯ ОБРАБОТКИ ПРЕФИКСА, СВЯЗАННОГО С ПОИСКОВЫМ ЗАПРОСОМ"), поданной 1 декабря 2016, содержимое которой включено здесь полностью посредством ссылки и, следовательно, не будет описано более подробно.
[67] То, как именно сервер выполняет процедуру 208 оценки базовой релевантности для текущего запроса пользователя 102 будет описано далее со ссылкой на Фиг. 4.
[68] Следует отметить, что в некоторых вариантах осуществления настоящей технологии, выполнение процедуры 208 оценки базовой релевантности может приводить к тому, что сервер 106 ранжирует документы в отношении друг друга на основе соответствующих базовых оценок ранжирования, которые указывают на оцененную релевантность соответствующих документов для данного запроса. Другими словами, подразумевается, что сервер 106 может создавать данную страницу результатов поиска, когда документы связаны с соответствующими предварительными рангами на основе их соответствующих базовых оценок релевантности. Как будет описано далее, в дополнении к ранжированию на основе соответствующих базовых оценок ранжирования, сервер 106 также выполнен с возможностью повторно ранжировать по меньшей мере некоторые документы на данной странице результатов поиска для потенциального увеличения пользы страницы результатов поиска в целом.
[69] Сервер 106 также может выполнять процедуру 210 определения парного сходства, которая в общем случае используется сервером 106 для определения того, насколько похожа данная пара запрос-документ на другую данную пару запрос-документ. В контексте настоящего описания, пара запрос-документ может упоминаться как данная "поисковая пара" для целей упрощения.
[70] То, как именно сервер выполняет процедуру 210 определения парного сходства по меньшей мере на некоторых поисковых парах будет описано далее со ссылкой на Фиг. 5.
[71] Сервер 106 может также быть выполнен с возможностью выполнять процедуру 212 определения оценки корректировки ранга, которая в общем случае используется сервером 106 для создания оценки корректировки ранга документов для повторного ранжирования по меньшей мере некоторых документов на странице результатов поиска, причем документы связаны с соответствующими предварительными рангами. Другими словами, выполнение процедуры 212 определения оценки корректировки ранга может привести к тому, что сервер 106 повторно ранжирует документы в отношении друг друга, по меньшей мере частично на основе соответствующих оценок корректировки ранга. Это означает, что по меньшей мере один документ на странице результатов поиска, благодаря подобному повторному ранжированию документов, может быть связан с новым рангом, который отличается от его соответствующего предварительного ранга.
[72] Подразумевается, что в некоторых вариантах осуществления настоящей технологии, выполнение процедуры 212 определения оценки корректировки ранга может позволить создать сервером 106 оценки корректировки ранга для документов на странице результатов поиска таким образом, чтобы, в некотором смысле, "бустить" ("увеличить") базовые оценки ранжирования соответствующих документов. В результате, некоторые документы на странице результатов поиска могут обладать различными рангами благодаря этому "бустингу" по сравнению с их соответствующими предварительными рангами. Это может привести к созданию в целом более полезной страницы результатов поиска в ответ на данный запрос.
База данных
[73] Возвращаясь к Фиг. 1, на ней представлена база 110 данных, коммуникативно связанная с сервером 106 и выполненная с возможностью сохранять информацию, извлеченную или иным образом определенную или созданную сервером 106. В общем случае, база 110 данных может получать данные с сервера 106, которые были извлечены или иным образом определены или созданы сервером 106 во время обработки для временного и/или постоянного хранения, и могут предоставлять сохраненные данные серверу 106 для их использования. Подразумевается, что база 110 данных может быть разделена на несколько распределенных баз данных, не выходя за границы настоящей технологии.
[74] В некоторых вариантах осуществления настоящей технологии, база 110 данных может быть выполнена с возможностью размещать инвертированный индекс, который может создаваться или поддерживаться сервером 106. Другими словами, база 110 данных может быть выполнена с возможностью сохранять множество списков словопозиций, связанных с соответствующими доступными для поиска терминами, как описано выше.
[75] В других вариантах осуществления настоящей технологии, подразумевается, что база 110 данных может сохранять подобные данные 300 о поисковой паре, как описано на Фиг. 3. Например, сервер 106 может быть выполнен с возможностью использовать сохраненные данные 300 о поисковой паре во время процедуры 210 определения парного сходства и во время процедуры 212 определения оценки корректировки ранга, как будет более подробно описано далее.
[76] Сохраненные данные 300 о поисковой паре могут содержать, среди прочего, множество сохраненных записей 350 о поисковой паре. Например, множество сохраненных записей 350 о поисковой паре может содержать большое число сохраненных записей о поисковой паре, например, (i) первую сохраненную запись 302 о поисковой паре, (ii) вторую сохраненную запись 304 о поисковой паре, и (iii) другие сохраненные записи о поисковых парах.
[77] Следует отметить, что данная сохраненная запись о поисковой паре может содержать (i) соответствующую сохраненную поисковую пару и (ii) соответствующее зависящее от пары значение. Например, первая сохраненная запись 302 о поисковой паре содержит (i) первую сохраненную поисковую пару 311, которая включает в себя указание на первый запрос 310 и первый документ 312 и (ii) первое зависящее от пары значение 314. Аналогично, вторая сохраненная запись 304 о поисковой паре содержит (i) вторую сохраненную поисковую пару 321, которая включает в себя указание на второй запрос 320 и второй документ 322 и (ii) второе зависящее от пары значение 324.
[78] Следует иметь в виду, что тот факт, что первая сохраненная поисковая пара 311 включает в себя указание на первый запрос 310, не означает, что другие сохраненные пары не могут включать в себя указание на первый запрос 310. В самом деле, более чем одна сохраненная поисковая пара может включать в себя указание на один и тот же запрос. Аналогично, тот факт, что первая сохраненная поисковая пара 311 включает в себя указание на первый документ 312, не означает, что другие сохраненные пары могут не включать в себя указание на первый документ 312. В самом деле, более одной сохраненной поисковой пары может включать в себя указание данный документ.
[79] Данное зависящее от пары значение указывает на пользу данного документа в соответствующей сохраненной поисковой паре для данного запроса в отношении данной сохраненной поисковой пары. Например, первое зависящее от пары значение 314 указывает на пользу первого документа 312 для первого запроса 310. В другом примере, второе зависящее от пары значение 324 указывает на пользу второго документа 322 для второго запроса 320.
[80] Множество сохраненных записей 350 о поисковых парах может быть собрано и сохранено сервером 106 в базе 110 данных различными способами.
[81] В некоторых вариантах осуществления настоящей технологии, множество сохраненных записей 350 о поисковых парах может быть собрано и сохранено сервером 106 благодаря разметке асессоров соответствующих сохраненных поисковых пар. Например, данному асессору может быть (i) представлен первый запрос 310 и первый документ 312, и (ii) необходимо оценить пользу первого документа 312 для первого запроса 310. В результате, сервер 106 может создавать первое зависящее от пары значение 314 на основе рейтинга пользы данного асессора, и сохранять его соответственно как часть первой сохраненной записи 302 о поисковой паре в связи с первой сохраненной поисковой парой 311. Можно сказать, что по меньшей мере некоторые из сохраненных поисковых пар в базе 110 данных могут представлять собой размеченные асессорами поисковые пары.
[82] В других вариантах осуществления технологии, множество сохраненных записей 350 о поисковых парах могут быть собраны и сохранены сервером 106 на основе (i) предыдущих запросов, введенных в данную поисковую систему, (ii) предыдущих документов, представленных в ответ на соответствующие предыдущие запросы, и (iii) предыдущих пользовательских взаимодействий с предыдущими документами. Например, сервер 106 может быть выполнен с возможностью анализировать пользовательские взаимодействия, которые выполнялись пользователями данной поисковой системы в момент представления данных документов в ответ на данные запросы. Сервер 106 может быть выполнен с возможностью оценивать, на основе пользовательских взаимодействий, то, насколько полезны данные документы для данных запросов, и использовать эту оцененную пользу для создания соответствующих зависящих от пары значений. Можно сказать, что по меньшей мере некоторые из сохраненных поисковых пар в базе 110 данных могут представлять собой предыдущие поисковые пары.
[83] Подразумевается, что данное зависящее от пары значение указывает на пользу данного документа для соответствующего запроса, и может вычисляться и/или выражаться различными способами. Например, в случаях, когда данная сохраненная поисковая пара является данной размеченной асессором поисковой парой, польза соответствующего документа для соответствующего запроса может представлять собой оцененную кликабельность (CTR) соответствующего документа на основе рейтинга асессоров для соответствующего документа. В другом примере, в случаях, когда данная сохраненная поисковая пара является данной предыдущей поисковой парой, польза соответствующего документа для соответствующего запроса может представлять собой предыдущую кликабельность соответствующего документа, определенную сервером 106.
[84] Как было описано ранее, пользователь 102 может использовать данное браузерное приложение для ввода/подтверждения текущего запроса, и устройство 104 может быть выполнено с возможностью создавать пакет 150 данных запроса, содержащий данные, указывающие на текущий запрос пользователя 102. Пакет 150 данных запроса передается через сеть 108 передачи данных, и он получен сервером 106, который приводит к предоставлению данных, указывающих на текущий запрос к данной поисковой системе.
[85] Сервер 106 может быть выполнен с возможностью выполнять процедуру 206 запроса для идентификации релевантных документов для текущего запроса, как было описано ранее. Следует отметить, что текущий запрос и релевантные документы могут векторизованы или, другими словами, переведены в форму векторов. Различные способы "word2vec" и другие способы векторизации могут использоваться для достижения этого векторного формата запросов и документов, не выходя за границы настоящей технологии.
[86] Например, на Фиг. 4 представлен текущий запрос 402 (в векторной форме) и множество релевантных документов 404 (в форме векторов), которые определяются во время процедуры 306 в качестве релевантных документов для текущего запроса 402. Следует иметь в виду, что при упоминании запросов и документов, эти запросы и документы могут создаваться, обрабатываться, использоваться и/или сохраняться в векторной форме и необязательно в текстовой форме, не выходя за границы настоящей технологии.
[87] Когда сервер 106 определяет множество релевантных документов 404 для текущего запроса 402, который включает в себя первый релевантный документ 410, второй релевантный документ 412, третий релевантный документ 414 и четвертый релевантный документ 416, сервер 106 может быть выполнен с возможностью выполнять процедуру 208 оценки базовой релевантности. Например, как было упомянуто ранее, по меньшей мере некоторые из множества релевантных документов 404 может быть идентифицирован сервером 106, получающих доступ к одному или нескольким спискам словопозиций инвертированного индекса, хранящегося в базе 110 данных, эти списки словопозиций связаны с доступными для поиска терминами, совпадающими по меньшей мере с некоторыми терминами текущего запроса 402. Другими словами, множество релевантных документов 404 может быть идентифицировано из одного или нескольких списков словопозиций инвертированного индекса, которые связаны по меньшей мере с одним доступным для поиска термином, находящимся в текущем запросе 402.
[88] То, как именно может выполняться процедура 208 оценки базовой релевантности для текущего запроса 402 и множества релевантных документов 404, будет описано далее.
[89] Сервер 106 может быть выполнен с возможностью вводить текущий запрос 402 и множество релевантных документов 404 в один или несколько алгоритмов машинного обучения, которые были обучены оценивать релевантность документов для данного запроса на основе, среди прочего, (i) факторов множества релевантных документов 404 и (ii) факторов текущего запроса 402, как описано ранее. В результате, один или несколько алгоритмов машинного обучения может быть выполнен с возможностью создавать соответствующие базовые оценки ранжирования для множества релевантных документов 404.
[90] Например, путем учета текущего запроса 402 и множества релевантных документов 404, один или несколько алгоритмов машинного обучения могут создавать:
• первую базовую оценку 420 ранжирования для первого релевантного документа 410;
• вторую базовую оценку 422 ранжирования для второго релевантного документа 412;
• третью базовую оценку 424 ранжирования для третьего релевантного документа 414; и
• четвертую базовую оценку 426 ранжирования для четвертого релевантного документа 416.
[91] Как было упомянуто ранее, в некоторых вариантах осуществления технологии, сервер 106 может быть выполнен с возможностью ранжировать множество релевантных документов 404 на основе соответствующих базовых оценок ранжирования, созданных одним или несколькими алгоритмами машинного обучения. В самом деле, со ссылкой на Фиг. 7, слева представлено упрощенное представление 702 страницы результатов поиска в ответ на текущий запрос 402, где множество релевантных документов 404 ранжировано в соответствии с соответствующими базовыми оценками ранжирования.
[92] Предположим, что первая базовая оценка 420 ранжирования является наивысшей базовой оценкой ранжирования среди базовых оценок множества релевантных документов 404, а вторая базовая оценка 422 ранжирования является самой низкой базовой оценкой ранжирования среди базовых оценок из множества релевантных документов 404, и что третья базовая оценка 424 ранжирования ниже четвертой базовой оценки 426 ранжирования. Следовательно, сервер 106 ранжирует множество релевантных документов 404 в соответствии с соответствующими базовыми оценками ранжирования таким образом, что:
• первый релевантный документ 410 ранжируется как первый на странице результатов поиска (предварительный ранг "1"),
• четвертый релевантный документ 416 ранжируется как второй на странице результатов поиска (предварительный ранг "2"),
• третий релевантный документ 414 ранжируется как третий на странице результатов поиска (предварительный ранг "3"), и
• второй релевантный документ 412 ранжируется как четвертый на странице результатов поиска (предварительный ранг "4").
[93] Несмотря на то, что один или несколько алгоритмов машинного обучения могут подходить для оценки релевантности данного документа для данного запроса, в некоторых случаях путем использования вариантов осуществления настоящей технологии, повторное ранжирование по меньшей мере некоторых из множества релевантных документов 404 на странице результатов поиска может потенциально привести к более полезной странице результатов поиска в целом для пользователя 102, который ввел текущий запрос 402, если сравнивать множество релевантных документов 404, которые были ранжированы только на основе соответствующих базовых оценок ранжирования.
[94] Как будет более подробно описано далее, использование сохраненных данных 400 о поисковых парах сервером 106 для повторного ранжирования множества релевантных документов на странице результатов поиска и/или для бустинга соответствующих базовых оценок ранжирования может, по меньшей мере в некоторых случаях, улучшить пользу страницы результатов поиска в целом для пользователя 102, который ввел текущий запрос 402.
[95] Возвращаясь к описанию Фиг. 4, сервер 106 может формировать множество текущих поисковых пар 450, где каждая из множества текущих поисковых пар 450 включает в себя указание на текущий запрос 402 и указание на соответствующее одно из множества релевантных документов 404.
[96] В этом примере, множество текущих поисковых пар 450 включает в себя:
• первая текущая поисковая пара 452 включает в себя указания на текущий запрос 402 и первый релевантный документ 410;
• вторая текущая поисковая пара 454 включает в себя указания на текущий запрос 402 и второй релевантный документ 412;
• третья текущая поисковая пара 456 включает в себя указания на текущий запрос 402 и третий релевантный документ 414;
• четвертая текущая поисковая пара 458 включает в себя указания на текущий запрос 402 и четвертый релевантный документ 416.
[97] Опционально, сервер 106 может быть выполнен с возможностью связывать каждую из множества текущих поисковых пар 450 с соответствующими базовыми оценками ранжирования, как показано на Фиг. 4.
[98] В некоторых вариантах осуществления настоящей технологии, сервер 106 может быть создан с возможностью выполнять процедуру 210 определения парного сходства по меньшей мере для некоторых из множества текущих поисковых пар 450. То как именно сервер 106 может быть выполнен с возможностью выполнять процедуру 210 определения парного сходства для первой текущей поисковой пары 452, будет далее описано со ссылкой на Фиг. 5, тем не менее, сервер 106 может быть выполнен с возможностью выполнять процедуру 210 определения парного сходства для другой текущей поисковой пары из множества текущих поисковых пар 450 аналогичным образом, не выходя за границы настоящей технологии.
[99] На Фиг. 5 представлена первая текущая поисковая пара 452 и множество сохраненных поисковых пар 550, которые используются сервером 106 во время процедуры 210 определения парного сходства.
[100] Например, сервер 106 может быть выполнен с возможностью извлекать или получать множество сохраненных поисковых пар 550 из соответствующих из множества сохраненных записей 350 о поисковых парах (см. Фиг. 3). Например, только в качестве примера, множество сохраненных поисковых пар 550 может включать в себя первую сохраненную поисковую пару 311, вторую сохраненную поисковую пару 321 и другие сохраненные поисковые пары, доступные из базы 110 данных (см. Фиг. 1). Например, сервер 106 может извлекать или получать заранее определенное число сохраненных поисковых пар из множества сохраненных записей 350 о поисковых парах. В другом примере, сервер 106 может извлекать или получать все сохраненные поисковые пары из множества сохраненных записей 350 о поисковых парах, не выходя за пределы настоящей технологии.
[101] Подразумевается, что сервер 106 может быть выполнен с возможностью извлекать данные записи о поисковых парах для использования соответствующих сохраненных поисковых пар за время процедуры 210 определения парного сходства и для использования соответствующих зависящих от пары значений во время процедуры 212 определения оценки корректировки ранга. Подразумевается, что сервер 106 может быть выполнен с возможностью извлекать данные записи о поисковых парах для использования соответствующих сохраненных поисковых пар за время процедуры 210 определения парного сходства и для использования соответствующих зависящих от пары значений во время процедуры 212 определения оценки корректировки ранга.
[102] Можно сказать, что сервер 106 выполнен с возможностью выполнять сравнение между первой текущей поисковой парой 452 и каждой из множества сохраненных поисковых пар 550 "попарно". Это означает, что сервер 106 может определять множество значений 580 сходства, которые указывают на парное сходство между данной парой из соответствующих поисковых пар (одна из данной пары является данная текущая поисковая пара, а другая из данной пары является данной сохраненной поисковой парой).
[103] Например, сервер 106 может определять первое значение 582 сходства, которое указывает на парное сходство между первой текущей поисковой парой 452 и первой сохраненной поисковой парой 311. В другом примере, сервер 106 может определять второе значение 584 сходства, которое указывает на парное сходство между первой текущей поисковой парой 452 и второй сохраненной поисковой парой 321. Подразумевается, что парное сходство может указывать на то, насколько схожи данные запросы из пары поисковых пар. Подразумевается, что парное сходство может указывать на то, насколько схожи данные документы из пары поисковых пар. Также подразумевается, что парное сходство может указывать на то, насколько схожа комбинация данных запросов и данных документов из пары поисковых пар.
[104] В некоторых вариантах осуществления настоящей технологии, сервер 106 может определять парное сходство между первой текущей поисковой парой 452 и первой сохраненной поисковой парой 311 на основе сходства между текущим запросом 402 и первым запросом 310. Например, сервер 106 может быть выполнен с возможностью определять скалярное произведение векторной формы текущего запроса 402 и векторной формы первого запроса 310. В другом примере, сервер 106 может быть выполнен с возможностью определять векторное расстояние векторной формы текущего запроса 402 и векторной формы первого запроса 310.
[105] В других вариантах осуществления настоящей технологии, сервер 106 может определять парное сходство между первой текущей поисковой парой 452 и первой сохраненной поисковой парой 311 на основе сходства между первым релевантным документом 410 и первым документом 312. Например, сервер 106 может быть выполнен с возможностью определять скалярное произведение векторной формы первого релевантного документа 410 и векторной формы первого документа 312. В другом примере, сервер 106 может быть выполнен с возможностью определять векторное расстояние векторной формы первого релевантного документа 410 и векторной формы первого документа 312.
[106] В дальнейших вариантах осуществления настоящей технологии, сервер 106 может определять парное сходство между первой текущей поисковой парой 452 и первой сохраненной поисковой парой 311 на основе (i) сходства между текущим запросом 402 и и первым запросом 310 и (ii) сходства между первым релевантным документом 410 и первым документом 312. В дальнейших вариантах осуществления настоящей технологии, сервер 106 может определять парное сходство между первой текущей поисковой парой 452 и первой сохраненной поисковой парой 311 на основе (i) сходства между текущим запросом 402 и и первым запросом 310 и (ii) сходства между первым релевантным документом 410 и первым документом 312.
[107] В целом, во время процедуры 210 определения парного сходства для первой текущей поисковой пары 452, сервер 106 может быть выполнен с возможностью определять множество значений 580 сходства, где каждое из множества значений 580 сходства указывает на соответствующее парное сходство между первой текущей поисковой парой 452 и соответствующей одной из множества сохраненных поисковых пар 550. Подразумевается, что сервер 106 может определять соответствующее множество значений сходства для каждого из множества текущих поисковых пар 450 аналогично тому, как сервер 106 определяет множество значений 580 сходства для первой текущей поисковой пары 452, не выходя за пределы настоящей технологии.
[108] Как упоминалось ранее, сервер 106 также выполнен с возможностью выполнять процедуру 212 определения оценки корректировки ранга. То как именно сервер 106 выполнен с возможностью выполнять процедуру 212 определения оценки корректировки ранга для первой текущей поисковой пары 452, будет далее описано со ссылкой на Фиг. 6, тем не менее, но следует иметь в виду, что сервер 106 может быть выполнен с возможностью выполнять процедуру 212 определения оценки корректировки ранга для другой текущей поисковой пары из множества текущих поисковых пар 450 аналогичным образом, не выходя за границы настоящей технологии.
[109] На Фиг. 6 представлено (i) множество значений 580 сходства определено для первой текущей поисковой пары 452 и которые соответственно связаны со множеством сохраненных поисковых пар 550, и (ii) множество зависящих от пар значений 600, которые соответствуют зависящим от пары значениям, хранящимся в базе 110 данных для множества хранящихся сохраненных пар 550.
[110] Например, сервер 106 может извлекать или получать множество зависящих от пары значений 600 из соответствующих из множества сохраненных записей 350 о поисковых парах (см. Фиг. 3). Например, множество зависящих от пары значений 600 может включать в себя первое зависящее от пары значение 314, связанное с первой хранящейся поисковой парой 311, второе зависящее от пары значение 324, связанное со второй сохраненной поисковой парой 321, и другие зависящие от пары значения, связанные с другими из множества сохраненных поисковых пар 550, и которые доступны из базы 110 данных (см. Фиг. 1). Например, сервер 106 может извлекать или получать зависящие от пары значения 600, которые связаны со множеством сохраненных поисковых пар 550, не выходя за пределы настоящей технологии.
[111] В некоторых вариантах осуществления настоящей технологии, сервер 106 выполнен с возможностью создавать множество потенциальных оценок 680 для первой текущей поисковой пары 452. Как показано на Фиг. 6, сервер 106 может быть выполнен с возможностью создавать:
• первая потенциальная оценка 682 корректировки ранга на основе (i) первого значения 582 сходства, связанного с первой сохраненной поисковой парой 311 и (ii) первое зависящее от пары значение 314, связанное с первой сохраненной поисковой парой 311;
• вторая потенциальная оценка 684 корректировки ранга на основе (i) второго значения 584 сходства, связанного со второй сохраненной поисковой парой 321 и (ii) второе зависящее от пары значение 324, связанное со второй сохраненной поисковой парой 321; и
• так далее для всех из множества сохраненных поисковых пар 550.
[112] Таким образом, подразумевается, что данная из множества потенциальных оценок 680 корректировки ранга (i) связана с первой текущей поисковой парой 452 и соответствующей одной из множества сохраненных поисковых пар 550 и (ii) создана на основе соответствующей одной из множества оценок 580 сходства и основана на соответствующей одной из множества зависящих от пары оценок 600.
[113] Следует отметить, что данная одна из множества потенциальных оценок 680 корректировки ранга может быть представлена соответствующим одним из множества зависящих от пары значений 600, которые взвешиваются с помощью соответствующего одного из множества значений 580 сходства. В результате, можно сказать, что данная одна из множества потенциальных оценок 680 корректировки ранга указывает на пользу соответствующей одной из множества сохраненных поисковых пар 550, взвешенной с помощью соответствующего парного сходства между соответствующей одной из множества сохраненных поисковых пар 550 и первой текущей поисковой пары 452.
[114] Подразумевается, что сервер 106 может быть выполнен с возможностью создавать данную оценку корректировки ранга для первой текущей поисковой пары 452 на основе по меньшей мере множества потенциальных оценок 680 корректировки ранга. Например, в некоторых случаях, сервер 106 может быть выполнен с возможностью создавать данную оценку корректировки ранга для первой текущей поисковой пары 452 путем выбора наиболее высокой/самой высокой потенциальной оценки корректировки ранга из множества потенциальных оценок 680 корректировки ранга.
[115] В других случаях, что сервер 106 может быть выполнен с возможностью создавать данную оценку корректировки ранга для первой текущей поисковой пары 452 на основе заранее определенного числа наиболее высоких потенциальных оценок корректировки ранга из множества потенциальных оценок 680 корректировки ранга. Например, сервер 106 может быть выполнен с возможностью усреднять заранее определенное число наиболее высоких потенциальных оценок корректировок ранга для создания данной оценки корректировки ранга для первой текущей поисковой пары 452.
[116] Подразумевается, что в некоторых вариантах осуществления настоящей технологии, сервер 106 может быть выполнен с возможностью создавать данную оценку корректировки ранга на основе соответствующего множества потенциальных оценок корректировки ранга путем выполнения алгоритма k-ближайших соседей (KNN). В общем случае, алгоритм k-ближайших соседей является методом классификации, который позволяет идентифицировать элементы, наиболее близкие к другому данному элементу в факторном пространстве. В данном случае, алгоритм k-ближайших соседей может позволить определить ближайшие сохраненные поисковые пары для данной текущей поисковой пары. В результате, сервер 106 может быть выполнен с возможностью создавать данную оценку корректировки ранга на основе данного множества потенциальных оценок корректировки ранга, связанных с ближайшими сохраненными поисковыми парами для данной текущей поисковой пары.
[117] Вкратце, во время процедуры 202 определения оценки корректировки ранга для первой текущей поисковой пары 452, сервер 106 может быть выполнен с возможностью создавать множество потенциальных оценок 680 корректировки ранга и создавать данную оценку корректировки ранга для текущей поисковой пары 452 на основе по меньшей мере одной из множества потенциальных оценок 680 корректировки ранга. Подразумевается, что сервер 106 может создавать соответствующее множество потенциальных оценок корректировки ранга и соответствующую оценку корректировки ранга для каждой из множества текущих поисковых пар 450 на основе по меньшей мере одного соответствующего множества потенциальных оценок корректировки ранга, аналогично тому, как сервер 106 создает множество потенциальных оценок 680 корректировки ранга и данную оценку корректировки ранга для текущей поисковой пары 452, не выходя за границы настоящей технологии.
[118] Как было упомянуто ранее, сервер 106 может быть выполнен с возможностью использовать соответствующие оценки корректировки ранга, связанные с каждой из множества текущих поисковых пар 450 для повторного ранжирования множества релевантных документом 404 на странице результатов поиска. Со ссылкой на Фиг. 7, справа представлено другое представление 702 страницы результатов поиска в ответ на текущий 402, где множество релевантных документов 404 было повторно ранжировано сервером 106 с помощью, среди прочего, соответствующих оценок корректировки ранга.
[119] Подразумевается, что сервер 106 может быть выполнен с возможностью создавать соответствующие оценки корректировки ранга для каждого из множества релевантных документов 404 на основе соответствующих базовых оценок ранга и на основе соответствующих оценок корректировки ранга.
[120] Следует отметить, что повторное ранжирование основано по меньшей мере на соответствующих оценках корректировки ранга. В результате, повторное ранжирование может не требовать одного или нескольких алгоритмов машинного обучения в отличие от первоначального ранжирования множества релевантных документов 404 на странице результатов поиска. Это означает, что в некоторых вариантах осуществления технологии, повторное ранжирование может быть основано на результате алгоритма k-ближайших соседей, использованном для создания соответствующих оценок корректировки ранга дополнительно или альтернативно по отношению к результату одного или нескольких алгоритмов машинного обучения.
[121] Например, сервер 106 может быть выполнен с возможностью создавать первую оценку 720 корректировки ранга для первого релевантного документа 410 на основе первой базовой оценки 420 ранга и данной оценки корректировки ранга, связанной с первой текущей поисковой парой 452. В другом примере, сервер 106 может быть выполнен с возможностью создавать вторую оценку 722 корректировки ранга для второго релевантного документа 412 на основе второй базовой оценки 422 ранга и данной оценки корректировки ранга, связанной со второй текущей поисковой парой 454. Аналогично, сервер 106 может быть выполнен с возможностью создавать (i) третью скорректированную оценку 724 ранга для третьего релевантного документа 414, и (ii) четвертую скорректированную оценку 726 ранга для четвертого релевантного документа 416.
[122] Подразумевается, что сервер 106 может быть выполнен с возможностью создавать данную скорректированную оценку ранжирования путем добавления соответствующей оценки корректировки ранга к соответствующей базовой оценке ранга. В других вариантах осуществления, сервер 106 может быть выполнен с возможностью создавать данную скорректированную оценку ранга путем вычисления взвешенной суммы соответствующей оценки корректировки ранга и соответствующей базовой оценкой ранга. Например, оценки корректировки ранга может быть взвешены для "повторного масштабирования" значений для масштаба значений базовой оценки ранга.
[123] В некоторых вариантах осуществления настоящей технологии, сервер 106 может быть создан с возможностью повторно ранжировать релевантные документы 404 на основе соответствующих скорректированных оценок ранга. Предположим, что (i) первая скорректированная оценка 720 ранга является наивысшей среди скорректированных оценок ранга множества релевантных документов 404, (i) вторая скорректированная оценка 722 ранга является самой низкой среди соответствующих скорректированных оценок ранга из множества релевантных документов 404, и (iii) третья скорректированная оценка 724 ранга ниже четвертой скорректированной оценки 726 ранга.
[124] В результате, в данном случае сервер 106 повторно ранжирует множество релевантных документов 404 на странице результатов поиска на основе соответствующих скорректированных оценок ранжирования таким образом, что третий релевантный документ 414 передвигается на более высокий ранг, а четвертый релевантный документ 416 передвигается на более низкий ранг по сравнению с их предварительными рангами, которые показаны на упрощенном представлении 702 страницы результатов поиска, где множество релевантных документов 404 было ранжировано на основе их соответствующих базовых оценок ранжирования.
[125] Подразумевается, что в некоторых вариантах осуществления настоящей технологии, сервер 106 может быть выполнен с возможностью повторно ранжировать по меньшей мере некоторые из множества релевантных документов 404 путем бустинга их соответствующих базовых оценок ранжирования с помощью из соответствующих оценок корректировки ранга. В результате, по меньшей мере один из множества релевантных документов 404 может быть связан с рангом, который отличается от своего предварительного ранга (см. упрощенное представление 702 страницы результатов поиска), когда повторное ранжирование на основе его соответствующих скорректированных оценок ранга (например, на основе соответствующих базовых оценок ранга, к которым было применен бустинг / скорректированных оценок ранга).
[126] Сервер 106 далее выполнен с возможностью создавать пакет данных 160 страницы результатов поиска, который содержит данные, указывающие на страницу результатов поиска, на которой множество релевантных документов 404 повторно ранжировано на основе соответствующих скорректированных оценок ранга (в соответствии с рангами, показанными на другом упрощенном представлении 702' страницы результатов поиска).
[127] На Фиг. 8 представлена иллюстрация блок-схемы способа 800 ранжирования документов в ответ на текущий запрос 402. Документы, которые ранжированы и повторно ранжированы после выполнения способа 800 сервером 106, будут представлены на данной странице результатов поиска. Указание на текущий запрос 402 может быть получено с помощью пакета 150 данных запроса от устройства 104, связанного с пользователем 102. Различные этапы способа 800 будут описаны далее.
ЭТАП 802: Для текущего запроса, ранжирование множества релевантных документов, предназначенных для включения на страницу результатов поиска
[128] Способ 800 начинает на этапе 802, когда сервер 106 для текущего запроса 402 ранжирует множество релевантных документов 404, предназначенных для включения на страницу результатов поиска. Сервер 106 может быть выполнен с возможностью применять один или несколько алгоритмов машинного обучения для ранжирования множества релевантных документов 404.
[129] Например, как показано на Фиг. 4, сервер 106 может быть выполнен с возможностью применять один или несколько алгоритмов машинного обучения для того, чтобы создать:
• первую базовую оценку 420 ранжирования для первого релевантного документа 410;
• вторую базовую оценку 422 ранжирования для второго релевантного документа 412;
• третью базовую оценку 424 ранжирования для третьего релевантного документа 414; и
• четвертую базовую оценку 426 ранжирования для четвертого релевантного документа 416.
[130] Как было упомянуто выше, один или несколько алгоритмов машинного обучения были обучены оценивать релевантность документов по отношению к данному запросу на основе, среди прочего, (i) факторов множества релевантных документов 404 и (ii) факторов текущего запроса 402. Соответствующие базовые оценки ранга могут указывать на примерную релевантность соответствующего релевантного документа по отношению к текущему запросу, как определено одним или несколькими алгоритмами машинного обучения.
[131] Следует отметить, что сервер 106 может ранжировать множество релевантных документов на основе соответствующих базовых оценок ранга таким образом, как показано на упрощенном представлении 702 страницы результатов поиска на Фиг. 7, что:
• первый релевантный документ 410 ранжируется как первый на странице результатов поиска (предварительный ранг "1"),
• четвертый релевантный документ 416 ранжируется как второй на странице результатов поиска (предварительный ранг "2"),
• третий релевантный документ 414 ранжируется как третий на странице результатов поиска (предварительный ранг "3"), и
• второй релевантный документ 412 ранжируется как четвертый на странице результатов поиска (предварительный ранг "4").
ЭТАП 804: Для данной текущей поисковой пары для текущего запроса, создание оценки корректировки ранга
[132] Способ 800 продолжается на этапе 804, где сервер 106 создает данную оценку корректировки ранга для данного текущей поисковой пары. Следует иметь в виду, что текущий запрос и каждый из множества релевантных документов 404 формирует соответствующую текущую поисковую пару из множества текущих поисковых пар 450 (см. Фиг. 4).
[133] В некоторых вариантах осуществления настоящей технологии, подразумевается, что сервер 106 может быть выполнен с возможностью выполнять этап 804 для каждой множества текущих поисковых пар 450, связанных с текущим запросом 402, не выходя за границы настоящей технологии.
[134] В примере первой текущей поисковой пары 452, сервер 106 может быть выполнен с возможностью создавать соответствующую оценку корректировки ранга для первой текущей поисковой пары 452 и которая связана с данной поисковой парой из множества сохраненных поисковых пар 550. Например, сервер 106 может быть выполнен с возможностью извлекать или получать множество сохраненных поисковых пар 550 из соответствующих из множества сохраненных записей 350 о поисковых парах (см. Фиг. 3).
[135] Соответствующая оценка корректировки ранга для первой текущей поисковой пары 452 создается сервером 106 на основе соответствующего зависящего от пары значения данной сохраненной поисковой пары и на основе парного сходства между первой текущей поисковой парой 452 и данной сохраненной поисковой парой.
[136] В некоторых вариантах осуществления технологии, для создания оценки корректировки ранга для первой текущей поисковой пары 452, сервер 106 может быть выполнен с возможностью создавать множество потенциальных оценок 680 корректировки ранга (см. Фиг 6), связанных с соответствующими из множества сохраненных поисковых пар 550 на основе (i) соответствующих зависящих от пары значений из множества сохраненных поисковых пар 550 и (ii) парного сходства между первой поисковой парой 452 и соответствующими сохраненным поисковыми парами из множества сохраненных поисковых пар 550 (см. Фиг. 5).
[137] Для парного сходства между первой текущей поисковой парой 452 и соответствующими сохраненным поисковыми парами из множества сохраненных поисковых пар 550, можно сказать, что сервер 106 может быть выполнен с возможностью выполнять сравнение между первой текущей поисковой парой 452 и каждой из множества сохраненных поисковых пар 550 "попарно". Например, сервер 106 может определять первое значение 582 сходства, которое указывает на парное сходство между первой текущей поисковой парой 452 и первой сохраненной поисковой парой 311. В другом примере, сервер 106 может определять второе значение 584 сходства, которое указывает на парное сходство между первой текущей поисковой парой 452 и второй сохраненной поисковой парой 321.
[138] Подразумевается, что сервер 106 может быть выполнен с возможностью осуществлять определение парного сходства между текущей поисковой парой 452 и данной сохраненной поисковой парой на основе по меньшей мере одного из (i) сходства текущего запроса 402 с данным запросом из данной сохраненной поисковой пары и (ii) сходства первого релевантного документа 410 и данного документа из данной сохраненной поисковой пары.
[139] В некоторых вариантах осуществления настоящей технологии, сервер 106 может быть выполнен с возможностью выбирать наивысшую/наиболее высокую потенциальную оценку корректировки ранга из множества потенциальных оценок 680 корректировки ранга в качестве соответствующей оценки корректировки ранга для первой текущей поисковой пары.
[140] Другими словами, сервер 106 может быть выполнен с возможностью выбирать заранее определенное число наивысших/наиболее высоких оценок корректировки ранга из множества потенциальных оценок 680 корректировки ранга. В этом случае, сервер 105 может усреднять наивысшие/наиболее высокие потенциальные оценки корректировки ранга из множества потенциальных оценок 680 корректировки ранга для определения соответствующей оценки корректировки ранга для первой текущей поисковой пары 452.
[141] Как было упомянуто ранее, сервер 106 может быть выполнен с возможностью создавать соответствующую оценку корректировки ранга для каждой из множества текущих поисковых пар 450. Сервер 106 может также использовать оценки корректировки ранга для повторного ранжирования соответствующих релевантных документов соответствующей одной из множества текущих поисковых пар 450 на странице результатов поиска для текущего запроса 402.
ЭТАП 806: Для текущего запроса, повторное ранжирование данного релевантного документа из данной текущей поисковой пары на странице результатов поиска с помощью соответствующей оценки корректировки ранга
[142] Способ 800 продолжается на этапе 806, где сервер 106 выполняет, для текущего запроса, повторное ранжирование данного релевантного документа из данной текущего поисковой пары на странице результатов поиска с помощью соответствующей оценки корректировки ранга таким образом, чтобы данный релевантный документ был связан с рангом на странице результатов поиска, отличающимся от соответствующего предварительного ранга на странице результатов поиска.
[143] Например, на Фиг. 7, справа представлено другое упрощенное представление 702 страницы результатов поиска в ответ на текущий 402, где множество релевантных документов 404 было повторно ранжировано сервером 106 с помощью, среди прочего, соответствующих оценок корректировки ранга.
[144] Подразумевается, что сервер 106 может быть выполнен с возможностью создавать соответствующие оценки корректировки ранга для каждого из множества релевантных документов 404 на основе соответствующих базовых оценок ранга и на основе соответствующих оценок корректировки ранга. Другими словами, сервер 106 может быть выполнен с возможностью выполнять повторное ранжирование множества релевантных документов 404 на странице результатов поиска в отношении друг друга для текущего запроса 402 на основе комбинации (i) соответствующих оценок корректировки ранга и (ii) соответствующих базовых оценок ранжирования, определенных одним или несколькими алгоритмами машинного обучения.
[145] Например, сервер 106 может быть выполнен с возможностью создавать первую оценку 720 корректировки ранга для первого релевантного документа 410 на основе первой базовой оценки 420 ранга и данной оценки корректировки ранга, связанной с первой текущей поисковой парой 452. В другом примере, сервер 106 может быть выполнен с возможностью создавать вторую оценку 722 корректировки ранга для второго релевантного документа 412 на основе второй базовой оценки 422 ранга и данной оценки корректировки ранга, связанной со второй текущей поисковой парой 454. Аналогично, сервер 106 может быть выполнен с возможностью создавать (i) третью скорректированную оценку 724 ранга для третьего релевантного документа 414, и (ii) четвертую скорректированную оценку 726 ранга для четвертого релевантного документа 416.
[146] В некоторых вариантах осуществления настоящей технологии, сервер 106 может быть создан с возможностью повторно ранжировать релевантных документов 404 на основе соответствующих скорректированных оценок ранга. В результате, в данном случае сервер 106 повторно ранжирует множество релевантных документов 404 на странице результатов поиска на основе соответствующих скорректированных оценок ранжирования таким образом, что третий релевантный документ 414 передвигается на более высокий ранг, а четвертый релевантный документ 416 передвигается на более низкий ранг по сравнению с их предварительными рангами, которые показаны на упрощенном представлении 702 страницы результатов поиска, где множество релевантных документов 404 было ранжировано на основе их соответствующих базовых оценок ранжирования.
[147] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не устанавливает никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.