СПОСОБ И СИСТЕМА ГЕНЕРИРОВАНИЯ ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТА Российский патент 2020 года по МПК G06F16/248 G06N3/08 G06N20/20 G06N5/04 

Описание патента на изобретение RU2733481C2

ОБЛАСТЬ ТЕХНИКИ

[1] Настоящая технология в общем относится к извлечению информации, а точнее, к способу и системе генерирования признака для ранжирования по меньшей мере одного документа в ответ на запрос.

УРОВЕНЬ ТЕХНИКИ

[001] Алгоритмы машинного обучения (MLA) используются для удовлетворения многочисленных потребностей в реализуемых компьютером технологиях. Как правило, MLA используются для генерирования прогноза, связанного с пользовательским взаимодействием с компьютерным устройством. Одним примером области, где такой прогноз требуется, является пользовательское взаимодействие с содержимым, доступным в Интернете (как пример).

[002] Объем доступной через различные Интернет-ресурсы информации вырос за последние пару лет экспоненциально. Было разработано несколько решений, чтобы позволить обычному пользователю находить информацию, которую этот пользователь ищет. Одним примером такого решения является поисковая система. Примерами поисковых систем являются поисковая система GOOGLE™, поисковая система YANDEX™, поисковая система YAHOO!™ и подобные. Пользователь может осуществить доступ к интерфейсу поисковой системы и отправить поисковый запрос, связанный с информацией, местоположение которой в Интернете этот пользователь желает определить. В ответ на поисковый запрос поисковая система предоставляет ранжированный список результатов поиска. Ранжированный список результатов поиска генерируется на основе различных алгоритмов ранжирования, используемых конкретной поисковой системой, которая используется пользователем, выполняющим поиск. Общая цель таких алгоритмов ранжирования состоит в том, чтобы представить наиболее релевантные результаты поиска в верхней части ранжированного списка, в то время как менее релевантные результаты поиска располагаются в менее заметных положениях в ранжированном списке результатов поиска (с наименее релевантными результатами поиска, располагаемыми ближе к нижней части ранжированного списка результатов поиска).

[003] Поисковые системы обычно предоставляют хороший инструмент поиска на предмет поискового запроса, в отношении которого пользователь знает априори, что поиск по нему он хочет выполнить. Другими словами, если пользователь заинтересован в получении информации о самых популярных направлениях в Италии (т.е. известном предмете поиска), пользователь может отправить поисковый запрос: "Самые популярные направления в Италии?" Тогда поисковая система представит ранжированный список Интернет-ресурсов, которые являются потенциально релевантными такому поисковому запросу. Затем пользователь может просмотреть ранжированный список результатов поиска, чтобы получить интересующую его информацию, поскольку она связана с местами для посещения в Италии. Если пользователь по какой-либо причине не удовлетворен раскрытыми результатами поиска, пользователь может запустить поиск повторно, например, с более узконаправленным поисковым запросом, таким как: "Самые популярные направления в Италии этим летом?", "Самые популярные направления на юге Италии?", "Самые популярные направления для романтической поездки в Италию?".

[004] В примере поисковой системы MLA используется для генерирования ранжированных результатов поиска. Когда пользователь отправляет поисковый запрос, поисковая система генерирует список соответствующих веб-ресурсов (на основе анализа веб-ресурсов, по которым выполнен обход и указание на которые хранится в базе данных обходчика в форме списков публикаций или подобного). Затем поисковая система исполняет MLA, чтобы ранжировать сгенерированный таким образом список результатов поиска. MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Такой MLA "обучают" прогнозировать релевантность данного результата поиска поисковому запросу на основе изобилия "признаков", связанных с данным результатом поиска, а также указаний взаимодействий прошлых пользователей с результатами поиска при отправке аналогичных поисковых запросов в прошлом.

[005] Патент США №9,009,146 В1, выданный 14 апреля 2014 года компании Google LLC и озаглавленный "Ranking search results based on similar queries" раскрывает реализуемый компьютером способ обеспечения ввода в процесс ранжирования документов для ранжирования множества документов, причем процесс ранжирования документов принимает в качестве ввода качество статистического результата для отдельного документа из множества документов, причем множество документов идентифицировано в ответ на запрос, а качество статистического результата предназначено для запроса и отдельного документа. Этот способ обеспечения ввода может включать в себя, для первого документа, идентифицированного в качестве результата поиска по отправленному пользователем запросу, оценку одного или нескольких других запросов, основываясь на сходстве с отправленным пользователем запросом, причем каждый из одного или нескольких других запросов отличается от отправленного пользователем запроса.

[006] Патент США №8,452,758 В2, выданный 28 мая 2013 года компании Google LLC и озаглавленный "Methods and systems for improving a search ranking using related queries" раскрывает системы и способы, которые улучшают поисковые ранжирования для поискового запроса с использованием данных, ассоциированных с запросами, связанными с упомянутым поисковым запросом. В одном аспекте принимают поисковый запрос, определяют связанный запрос, связанный с упомянутым поисковым запросом, определяют статью (например, веб-страницу), ассоциированную с поисковым запросом, и показатель ранжирования для этой статьи определяют на основе, по меньшей мере частично, данных, ассоциированных со связанным запросом. Описаны несколько алгоритмов и типов данных, ассоциированных со связанными запросам, которые являются полезными при выполнения таких систем и способов.

[007] Патент США №6,185,558 В1, выданный 6 февраля 2001 года компании Amazon.com Inc и озаглавленный "Identifying the items most relevant to a current query based on items selected in connection with similar queries" раскрывает программное средство для идентификации элементов, наиболее релевантных текущему запросу, на основе элементов, выбранных в связи с аналогичными запросами. В предпочтительных вариантах осуществления изобретения упомянутое средство принимает запрос, определяющий один или несколько терминов запроса. В ответ упомянутое средство генерирует результат запроса, идентифицирующий множество элементов, которые удовлетворяют запросу. Затем средство получает значение ранжирования для по меньшей мере части элементов, идентифицированных в результате запроса, объединяя относительные частоты, с которыми пользователи выбирали данный элемент из результатов запроса, сгенерированных из запросов, определяющих каждый из терминов, определенных упомянутым запросом. Средство идентифицирует в качестве наиболее релевантных те элементы, которые имеют наивысшие значения ранжирования.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

[2] Целью настоящей технологии является устранение по меньшей мере некоторых неудобств, имеющихся в предшествующем уровне техники. Варианты осуществления настоящей технологии могут обеспечить и/или расширить сферу применения подходов и/или способов достижения целей и задач настоящей технологии.

[3] Разработчик(и) настоящей технологии определили по меньшей мере одну техническую проблему, связанную с подходами в предшествующем уровне техники.

[4] Разработчик(и) признали, что учет ориентированных на пользователя факторов, таких как прошлые пользовательские взаимодействия с документами, для ранжирования документов в ответ на запрос, улучшает качество ранжирования. В целом качество ранжирования может, среди прочего, оцениваться путем отслеживания пользовательских взаимодействий с документами, предоставленными в ответ на упомянутый запрос, которые были изначально ранжированы на основе их релевантности упомянутому запросу. Таким образом, документ более высокого ранга в SERP должен принимать больше взаимодействий со стороны пользователей (например, кликов), чем документ более низкого ранга, из-за его более высокой релевантности упомянутому запросу, которая спрогнозирована сервером поисковой системы. Однако, поскольку на ранжирование документов влияет целый ряд факторов, это может быть так не в каждом случае. Следовательно, MLA, используемый сервером поисковой системы, может быть "отрегулирован" таким образом, чтобы документы более низкого ранга, принимающие больше пользовательских взаимодействий, чем документы более высокого ранга, «продвигались» при ранжировании в будущем, и такая процедура может повторятся с предопределенными интервалами времени для учета изменений в пользовательских взаимодействиях. Кроме того, MLA также может быть обучен прогнозировать будущие пользовательские взаимодействия для некоторого документа, у которого их нет, на основе других признаков запроса и/или документа.

[5] Разработчик(и) настоящей технологии также осознали, что в некоторых ситуациях документ из набора документов может не иметь значений для одного или нескольких признаков, поскольку, как пример, MLA не может генерировать значения для одного или нескольких признаков из-за недостаточной информации. Следовательно, это может помешать ранжированию MLA ранжировать один или несколько документов, или ранжировать один или нескольких документов настолько хорошо, насколько это возможно, из-за такого полного отсутствия значений для одного или нескольких определенных признаков.

[6] Таким образом, разработчик(и) предполагает, что документ, релевантный некоторому запросу и не имеющий значений для одного или нескольких признаков, может иметь такие значения для одного или нескольких признаков для других запросов, в ответ на которые данный документ представлялся. Разработчик(и) также понял, что степень сходства между одним или несколькими другими запросами и имеющимся запросом может быть оценена количественно, и такая информация могла бы использоваться, по меньшей мере частично, для генерирования отсутствующих значений для одного или нескольких определенных признаков в ответ на данный запрос.

[7] Таким образом, варианты осуществления настоящей технологии направлены на способ и систему для генерирования признака для ранжирования документа.

[8] Такой подход может предоставить пользователю более удовлетворительные ответы, что сводит к минимуму необходимость для пользователя просматривать несколько SERP или выполнять повторную отправку запросов для нахождения информации, которую он ищет, что, в свою очередь, может сэкономить вычислительные ресурсы как на клиентском устройстве, связанном с пользователем, так и на сервере поисковой системы.

[9] В соответствии с первым обширным аспектом настоящей технологии, предусмотрен реализуемый компьютером способ ранжирования по меньшей мере одного документа в ответ на запрос с использованием алгоритма машинного обучения (MLA), исполняемого сервером, при этом способ исполняется сервером, причем сервер подключен к базе данных журнала поиска. Упомянутый запрос принимается и набор документов, релевантных упомянутому запросу, генерируется, причем набор документов имеет множество признаков. По меньшей мере один документ выбирается из набора документов, причем упомянутый по меньшей мере один документ не имеет соответствующего значения для признака из множества признаков. Набор прошлых запросов, которые были отправлены на сервер, извлекается из базы данных журнала поиска, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP). Для каждого соответствующего прошлого запроса соответствующее значение упомянутого признака для по меньшей мере одного документа извлекается из базы данных журнала поиска. Определяется соответствующий параметр сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов. Соответствующее значение упомянутого признака для по меньшей мере одного документа генерируется на основе, по меньшей мере частично: соответствующего параметра сходства по меньшей мере одного прошлого запроса из набора прошлых запросов и соответствующего значения упомянутого признака по меньшей мере одного прошлого запроса из набора прошлых запросов. MLA ранжирует набор документов для получения ранжированного списка документов, при этом ранжирование основано на множестве признаков, и при этом упомянутый по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака, и ранжированный список документов, подлежащих представлению в качестве SERP, передается на электронное устройство.

[10] В некоторых вариантах осуществления способа каждый соответствующий документ из набора документов, релевантных упомянутому запросу, имеет соответствующую аннотацию, при этом соответствующая аннотация включает в себя: по меньшей мере один соответствующий прошлый поисковый запрос, который был использован для доступа к соответствующему документу на сервере поисковой системы. Набор прошлых запросов извлекается на основе соответствующей аннотации по меньшей мере одного документа.

[11] В некоторых вариантах осуществления способа, способ дополнительно содержит, до определения соответствующего параметра сходства: извлечение из базы данных журнала поиска соответствующего набора прошлых документов для каждого соответствующего прошлого запроса из набора прошлых запросов, причем соответствующий набор прошлых документов был представлен в качестве соответствующих результатов поиска в ответ на соответствующий прошлый запрос. Соответствующий параметр сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов определяется на основе: набора документов, релевантных упомянутому запросу, и соответствующего набора документов соответствующего прошлого запроса.

[12] В некоторых вариантах осуществления способа, по меньшей мере подмножество набора документов связано с соответствующими параметрами пользовательских взаимодействий, и каждый соответствующий документ из соответствующего набора прошлых документов для каждого соответствующего запроса связан с соответствующими прошлыми параметрами пользовательских взаимодействий. Соответствующий параметр сходства определяется дополнительно на основе: соответствующих параметров пользовательских взаимодействий для соответствующего запроса подмножества документов и соответствующих параметров пользовательских взаимодействий для соответствующего набора прошлых документов.

[13] В некоторых вариантах осуществления способа сервер исполняет второй MLA, причем второй MLA был обучен для определения параметра сходства между запросами на основе их текстового содержимого. Соответствующий параметр сходства определяется вторым MLA.

[14] В некоторых вариантах осуществления способа, способ дополнительно содержит, во время фазы обучения: извлечение из базы данных журнала поиска множества поисковых запросов, отправленных на сервер поисковой системы, причем каждый из множества поисковых запросов связан с соответствующим набором результатов поиска, при этом каждый соответствующий результат поиска из соответствующего набора результатов поиска связан с по меньшей мере одним соответствующим параметром пользовательского взаимодействия. Для каждого запроса из множества поисковых запросов, соответствующий вектор запроса генерируется на основе по меньшей мере одного соответствующего параметра пользовательского взаимодействия, связанного с каждым результатом поиска из соответствующего набора результатов поиска. Для каждой возможной пары запросов в пределах множества поисковых запросов, соответствующий параметр сходства генерируется на основе соответствующих векторов запросов для каждого запроса из пары запросов, причем соответствующий параметр сходства указывает степень сходства между запросами в паре запросов. Генерируется набор обучающих объектов, причем каждый обучающий объект из набора обучающих объектов включает в себя указание соответствующей одной из каждой возможной пары запросов и соответствующего параметра сходства. Второй MLA обучается на наборе обучающих объектов для определения параметра сходства новой пары запросов на основе текстового содержимого каждой новой пары запросов, причем по меньшей мере один запрос из новой пары запросов не был включен в набор обучающих объектов.

[15] В некоторых вариантах осуществления способа, способ дополнительно содержит, до генерирования соответствующего значения упомянутого признака: выбор по меньшей мере одного соответствующего прошлого запроса на основе того, что соответствующий параметр сходства превышает предопределенный порог.

[16] В некоторых вариантах осуществления способа, извлечение соответствующего значения упомянутого признака по меньшей мере одного документа для каждого соответствующего прошлого запроса дополнительно содержит: извлечение соответствующего показателя релевантности по меньшей мере одного документа соответствующему прошлому запросу. Соответствующее значение упомянутого признака генерируется дополнительно на основе соответствующего показателя релевантности.

[17] В некоторых вариантах осуществления генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа дополнительно основано на: соответствующем значении по меньшей мере одного другого признака из множества признаков для упомянутого документа.

[18] В некоторых вариантах осуществления способа упомянутый признак является одним из: зависящего от запроса признака и параметра пользовательского взаимодействия.

[19] В соответствии со вторым обширным аспектом настоящей технологии, предусмотрена система ранжирования по меньшей мере одного документа в ответ на запрос с использованием алгоритма машинного обучения (MLA), исполняемого системой, при этом система подключена к базе данных журнала поиска и система подключена к электронному устройству. Система содержит: процессор, долговременный считываемый компьютером носитель, содержащий инструкции, при этом процессор, при исполнении упомянутых инструкций, сконфигурирован с возможностью: приема упомянутого запроса и генерирования набора документов, релевантных упомянутому запросу, при этом набор документов имеет множество признаков. Процессор сконфигурирован с возможностью выбора по меньшей мере одного документа из набора документов, причем упомянутый по меньшей мере один документ не имеет соответствующего значения для признака из множества признаков. Процессор сконфигурирован с возможностью извлечения из базы данных журнала поиска набора прошлых запросов, которые были отправлены на сервер, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP). Процессор сконфигурирован с возможностью извлечения из базы данных журнала поиска, для каждого соответствующего прошлого запроса, соответствующего значения упомянутого признака для по меньшей мере одного документа, и определения соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов. Процессор сконфигурирован с возможностью генерирования соответствующего значения упомянутого признака для по меньшей мере одного документа на основе, по меньшей мере частично: соответствующего параметра сходства по меньшей мере одного прошлого запроса из набора прошлых запросов и соответствующего значения для упомянутого признака по меньшей мере одного прошлого запроса из набора прошлых запросов. Процессор сконфигурирован с возможностью побуждения MLA к ранжированию набора документов для получения ранжированного списка документов, причем ранжирование основано на множестве признаков, упомянутый по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака, и передачи на электронное устройство ранжированного списка документов, подлежащего представлению в качестве SERP.

[20] В некоторых вариантах осуществления системы, каждый соответствующий документ из набора документов, релевантных упомянутому запросу, имеет соответствующую аннотацию, при этом соответствующая аннотация включает в себя: по меньшей мере один соответствующий прошлый поисковый запрос, который был использован для доступа к соответствующему документу на сервере поисковой системы. Набор прошлых запросов извлекается на основе соответствующей аннотации по меньшей мере одного документа.

[21] В некоторых вариантах осуществления системы, процессор дополнительно сконфигурирован с возможностью, до определения соответствующего параметра сходства: извлекать из базы данных журнала поиска соответствующий набор прошлых документов для каждого соответствующего прошлого запроса из набора прошлых запросов, причем соответствующий набор прошлых документов был представлен в качестве соответствующих результатов поиска в ответ на соответствующий прошлый запрос. Процессор сконфигурирован с возможностью определения соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов на основе: набора документов, релевантных упомянутому запросу, и соответствующего набора документов соответствующего прошлого запроса.

[22] В некоторых вариантах осуществления системы, по меньшей мере подмножество набора документов связано с соответствующими параметрами пользовательских взаимодействий, и каждый соответствующий документ из соответствующего набора прошлых документов для каждого соответствующего запроса связан с соответствующими прошлыми параметрами пользовательских взаимодействий. Соответствующий параметр сходства определяется дополнительно на основе: соответствующих параметров пользовательских взаимодействий для соответствующего запроса подмножества документов и соответствующих параметров пользовательских взаимодействий для соответствующего набора прошлых документов.

[23] В некоторых вариантах осуществления системы, система исполняет второй MLA, причем второй MLA был обучен для определения параметра сходства между запросами на основе их текстового содержимого, причем соответствующий параметр сходства определяется вторым MLA.

[24] В некоторых вариантах осуществления системы, процессор дополнительно сконфигурирован с возможностью, во время фазы обучения: извлечения из базы данных журнала поиска множества поисковых запросов, отправленных на сервер поисковой системы, причем каждый из множества поисковых запросов связан с соответствующим набором результатов поиска, при этом каждый соответствующий результат поиска из соответствующего набора результатов поиска связан с по меньшей мере одним соответствующим параметром пользовательского взаимодействия. Для каждого запроса из множества поисковых запросов, соответствующий вектор запроса генерируется на основе по меньшей мере одного соответствующего параметра пользовательского взаимодействия, связанного с каждым результатом поиска из соответствующего набора результатов поиска. Для каждой возможной пары запросов в пределах множества поисковых запросов, соответствующий параметр сходства генерируется на основе соответствующих векторов запросов для каждого запроса из пары запросов, причем соответствующий параметр сходства указывает степень сходства между запросами в паре запросов. Генерируется набор обучающих объектов, причем каждый обучающий объект из набора обучающих объектов включает в себя указание соответствующей одной из каждой возможной пары запросов и соответствующего параметра сходства. Второй MLA обучается на наборе обучающих объектов для определения параметра сходства новой пары запросов на основе текстового содержимого каждой новой пары запросов, причем по меньшей мере один запрос из новой пары запросов не был включен в набор обучающих объектов.

[25] В некоторых вариантах осуществления системы, процессор дополнительно сконфигурирован с возможностью, до генерирования соответствующего значения упомянутого признака: выбора по меньшей мере одного соответствующего прошлого запроса на основе того, что соответствующий параметр сходства превышает предопределенный порог.

[26] В некоторых вариантах осуществления системы, для извлечения соответствующего значения упомянутого признака по меньшей мере одного документа для каждого соответствующего прошлого запроса, процессор дополнительно сконфигурирован с возможностью: извлечения соответствующего показателя релевантности по меньшей мере одного документа для соответствующего прошлого запроса, и соответствующее значение данного признака генерируется дополнительно на основе соответствующего показателя релевантности.

[27] В некоторых вариантах осуществления системы, генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа дополнительно основано на: соответствующем значении по меньшей мере одного другого признака из множества признаков для упомянутого документа.

[28] В некоторых вариантах осуществления системы, упомянутый признак является одним из: зависящего от запроса признака и параметра пользовательского взаимодействия.

[29] В контексте настоящего описания "сервер" представляет собой компьютерную программу, которая работает на надлежащем аппаратном обеспечении и способна принимать запросы (например, от электронных устройств) по сети, а также выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть одним физическим компьютером или одной физической компьютерной системой, но ни то, ни другое не не является обязательным для настоящей технологии. В настоящем контексте использование выражения "сервер" не предполагает, что каждая задача (например, принятые инструкции или запросы) или какая-либо конкретная задача будут приняты, выполнены или вызваны для выполнения одним и тем же сервером (т.е. тем же самым программным обеспечением и/или аппаратным обеспечением); данное выражение предполагает, что любое количество программных элементов или аппаратных устройств может быть задействовано в приеме/отправке, выполнении или вызове для выполнения любой задачи или запроса, или последствий любой задачи или запроса; и все это программное обеспечение и аппаратное обеспечение может быть одним сервером или многочисленными серверами, причем оба данных случая включены в выражение "по меньшей мере один сервер".

[30] В контексте настоящего описания "электронное устройство" представляет собой любое компьютерное оборудование, которое способно выполнять программное обеспечение, которое является надлежащим для соответствующей поставленной задачи. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройство, выступающее в качестве электронного устройства в данном контексте, не исключается из возможности выступать в качестве сервера для других электронных устройств. Использование выражения "электронное устройство" не исключает использования многочисленных электронных устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.

[31] В контексте настоящего описания "база данных" представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программное обеспечение для администрирования базы данных, или компьютерное оборудование, на котором данные хранятся, реализуются или их делают доступными для использования иным образом. База данных может находиться на том же оборудовании, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например на выделенном сервере или множестве серверов.

[32] В контексте настоящего описания выражение "информация" включает в себя информацию любого характера или вида, который способен храниться в базе данных любым образом. Таким образом, информация включает в себя, но без ограничения, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.

[33] В контексте настоящего описания предполагается, что выражение "используемый компьютером носитель хранения информации" включает в себя носители любого характера и вида, в том числе RAM, ROM, диски (CD-ROM, DVD, дискеты, накопители на жестких дисках и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д.

[34] В контексте настоящего описания, если прямо не предусмотрено иное, "указание" информационного элемента может быть самим информационным элементом или указателем, ссылкой, гиперссылкой или другим опосредованным механизмом, позволяющим получателю такого указания найти местоположение в сети, памяти, базе данных или другом считываемом компьютером носителе, из которого информационный элемент может быть извлечен. Например, указание документа может включать в себя сам документ (т.е. его содержимое), или оно может быть уникальным дескриптором документа, идентифицирующим файл относительно некоторой конкретной файловой системы, или некоторым другим средством направления получателя такого указания в местоположение в сети, таблицу базы данных или иное местоположение, в котором можно осуществить доступ к файлу. Специалист в данной области поймет, что степень точности, требуемая в указании, зависит от степени какого-либо предварительного понимания того, какая интерпретация будет дана информации, обмениваемой во взаимодействии между отправителем и получателем такого указания. Например, если до связи между отправителем и получателем понимается, что указание информационного элемента будет иметь форму ключа базы данных для записи в некоторой конкретной таблице предопределенной базы данных, содержащей информационный элемент, то отправка ключа базы данных является всем, что требуется для эффективной передачи информационного элемента получателю, даже если сам информационный элемент не был передан во взаимодействии между отправителем и получателем такого указания.

[35] В контексте настоящего описания слова "первый", "второй", "третий" и т.д. используются в качестве прилагательных только для того, чтобы позволить отличать существительные, которые они модифицируют, друг от друга, а не для описания какой-либо особой взаимосвязи между такими существительными. Таким образом, например, следует понимать, что использование терминов "первый сервер" и "третий сервер" не подразумевает какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) таких серверов, равно как и их использование (само по себе) не означает, что какой-либо "второй сервер" должен обязательно существовать в любой определенной ситуации. Кроме того, как обсуждается в других контекстах данного документа, ссылка на "первый" элемент и "второй" элемент не исключает того, что эти два элемента фактически являются одним и тем же элементом реального мира. Таким образом, например, в некоторых случаях "первый" сервер и "второй" сервер могут быть одним и тем же программным обеспечением и/или аппаратным обеспечением, в других случаях они могут представлять собой разное программное обеспечение и/или аппаратное обеспечение.

[36] Каждая из реализаций настоящей технологии обладает по меньшей мере одним из вышеупомянутых аспектов и/или цели, но не обязательно имеет их все. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.

[37] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[38] Для лучшего понимания настоящей технологии, а также других аспектов и ее дополнительных признаков, ссылка приводится на нижеследующее описание, которое должно использоваться в сочетании с сопроводительными чертежами, на которых:

[39] Фигура 1 иллюстрирует схему системы, реализуемой в соответствии с неограничивающими вариантами осуществления настоящей технологии.

[40] Фигура 2 иллюстрирует схематичное представление множества алгоритмов машинного обучения, реализуемых сервером поисковой системы с Фигуры 1 в соответствии с вариантами осуществления настоящей технологии.

[41] Фигура 3 иллюстрирует схематичное представление процедуры генерирования аннотаций в соответствии с вариантами осуществления настоящей технологии.

[42] Фигура 4 иллюстрирует схематичное представление процедуры генерирования первого параметра сходства в соответствии с вариантами осуществления настоящей технологии.

[43] Фигура 5 иллюстрирует схематичное представление процедуры генерирования второго параметра сходства в соответствии с вариантами осуществления настоящей технологии.

[44] Фигура 6 иллюстрирует схематичное представление процедуры генерирования значения признака в соответствии с вариантами осуществления настоящей технологии.

[45] Фигура 7 иллюстрирует блок-схему способа генерирования признака для ранжирования документов, причем способ является исполняемым в рамках системы с Фигуры 1 в соответствии с вариантами осуществления настоящей технологии.

ПОДРОБНОЕ ОПИСАНИЕ

[46] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.

[47] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.

[48] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия понимаю и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.

[49] Кроме того, все содержащиеся в данном документе утверждения, в которых указываются принципы, аспекты и реализации настоящей технологии, а также их конкретные примеры, призваны охватить как структурные, так и функциональные эквиваленты, вне зависимости от того, известны ли они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдокоды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютерам носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.

[50] Функции различных элементов, показанных на фигурах, в том числе любого функционального блока, помеченного как "процессор" или "графический процессор", могут быть обеспечены с помощью специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного исполнять программное обеспечение и связанного с надлежащим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. В некоторых вариантах осуществления настоящей технологии процессор может быть процессором общего назначения, таким как центральный процессор (CPU) или процессор, выделенный для конкретной цели, например графический процессор (GPU). Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.

[51] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.

[52] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.

[53] Со ссылкой на Фигуру 1 иллюстрируется система 100, причем система 100 реализована в соответствии с неограничивающими вариантами осуществления настоящей технологии. Система 100 содержит множество клиентских устройств 102, причем множество клиентских устройств 102 включает в себя первое клиентское устройство 104, второе клиентское устройство 106, третье клиентское устройство 108 и четвертое клиентское устройство 110, подключенные к сети 112 связи через соответствующую линию 114 связи (на фигуре 1 данный номер присвоен только двум). Система 100 содержит сервер 120 поисковой системы, сервер 130 отслеживания и сервер 140 обучения, подключенные к сети 112 связи через соответствующую им линию 114 связи.

[54] Только в качестве примера, первое клиентское устройство 104 может быть реализовано как смартфон, второе клиентское устройство 106 может быть реализовано как ноутбук, третье клиентское устройство 108 может быть реализовано как смартфон, а четвертое клиентское устройство 110 может быть реализовано как планшет. В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 112 связи может быть реализована как Интернет. В других вариантах осуществления настоящей технологии сеть 112 связи может быть реализована иначе, например как какая-либо глобальная сеть связи, локальная сеть связи, частная сеть связи и тому подобное.

[55] То, как реализована определенная линия 114 связи, конкретным образом не ограничено и будет зависеть от того, как реализовано связанное одно из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110. Просто как пример, а не как ограничение, в тех вариантах осуществления настоящей технологии, в которых по меньшей мере одно из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110 реализовано как устройство беспроводной связи (например как смартфон), связанная одна из линии 114 связи может быть реализована как линия беспроводной связи (такая как, но без ограничения, линия сети связи 3G, линия сети связи 4G, Wireless Fidelity или WiFi® для краткости, Bluetooth® и тому подобные). В тех примерах, в которых по меньшей мере одно из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110 реализованы соответственно как ноутбук, смартфон, планшетный компьютер, связанная линия 114 связи может быть либо беспроводной (например, Wireless Fidelity или WiFi® для краткости, Bluetooth® и тому подобные), либо проводной (например, Ethernet-соединение).

[56] Следует четко понимать, что реализации для множества клиентских устройств 102, включающего в себя первое клиентское устройство 104, второе клиентское устройство 106, третье клиентское устройство 108, четвертое клиентское устройство 110, линии 114 связи и сети 112 связи предусмотрены лишь для иллюстративных целей. Таким образом специалисты в данной области без труда распознают другие конкретные детали реализации для первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108, четвертого клиентского устройства 110, а также линии 114 связи и сети 112 связи. Как таковые, примеры, представленные в настоящем документе выше, никоим образом не предназначены для ограничения объема настоящей технологии.

[57] Хотя проиллюстрированы только четыре клиентских устройства 104, 106, 108 и 110 (все показаны на Фигуре 1), предполагается, что любое количество клиентских устройств во множестве клиентских устройств 102 может быть подключено к системе 100. Кроме того, предполагается, что в некоторых реализациях количество клиентских устройств во множестве клиентских устройств 102, включенных в систему 100, может исчисляться десятками или сотнями тысяч.

[58] Сервер поисковой системы

[59] С сетью 112 связи также соединен вышеупомянутый сервер 120 поисковой системы. Сервер 120 поисковой системы может быть реализован как традиционный компьютерный сервер. В примере варианта осуществления настоящей технологии сервер 120 поисковой системы может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Само собой разумеется, сервер 120 поисковой машины может быть реализован в любом другом подходящем аппаратном и/или программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 120 поисковой системы является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 120 поисковой системы могут быть распределены и могут быть реализованы через многочисленные серверы. В некоторых вариантах осуществления настоящей технологии сервер 120 поисковой системы находится под управлением и/или администрированием оператора поисковой системы. Альтернативно, сервер 120 поисковой системы может находиться под управлением и/или администрированием поставщика услуг.

[60] Сервер 120 поисковой машины поддерживает базу 122 данных журнала поиска, причем база 122 данных журнала поиска включает в себя индекс 124.

[61] Вообще говоря, назначением сервера 120 поисковой системы является: (i) обнаружение и индексирование документов, доступных в Интернете; (ii) выполнение поиска в ответ на некоторый поисковый запрос; (iii) выполнение анализа документов и выполнение ранжирования документов в ответ на упомянутый поисковый запрос; (iv) группировка упомянутых документов и составление страницы результатов поиска (SERP) для вывода на клиентское устройство (например одно из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110), причем данное клиентское устройство использовалось для отправки упомянутого поискового запроса, который обеспечил в результате данную SERP.

[62] То, как сервер 120 поисковой системы сконфигурирован для обнаружения и индексации документов, выполнения поисков, анализа и ранжирования документов, конкретным образом не ограничено. Специалисты в данной области техники поймут несколько способов и средств реализации сервера 120 поисковой системы, и поэтому некоторые структурные компоненты сервера 120 поисковой системы будут описаны лишь на высоком уровне.

[63] Сервер 120 поисковой системы сконфигурирован с возможностью исполнения процедуры обнаружения документов (не проиллюстрирована), которая обычно используется сервером 120 поисковой системы для обнаружения документов, доступных по сети 112 связи. Например, сервер 120 поисковой системы сконфигурирован с возможностью исполнения «обходчика», который «посещает» сетевые ресурсы, доступные по сети 112 связи, и загружает их для дальнейшей обработки.

[64] Характер документов, которые сервер 120 поисковой системы сконфигурирован посещать и загружать, конкретным образом не ограничен, но, только в целях иллюстрации, описываемые здесь документы могут представлять веб-страницы, изображения, PDF-файлы, документы Word™, документы PowerPoint™, которые доступны по сети 112 связи.

[65] Сервер 120 поисковой системы также может быть сконфигурирован с возможностью исполнения процедуры индексации (не проиллюстрирована), которая обычно используется сервером 120 поисковой системы для построения и/или поддержания структур индексации, используемых данной поисковой системой для выполнения поисков. Например, сервер 120 поисковой системы сконфигурирован с возможностью построения и/или поддержания инвертированного индекса, который будет упоминаться как индекс 124.

[66] То, как индекс 124 реализован в настоящей технологии, конкретным образом не ограничено, но, в качестве примера, индекс 124 содержит некоторое число списков публикаций, каждый из которых связан с соответствующим «искомым термином». Некоторая публикация в списке публикаций включает в себя данные некоторого типа, которые указывают некоторый документ, который включает в себя искомый термин, связанный с упомянутым списком публикаций, и, необязательно, включает в себя некоторые дополнительные данные (например, где в документе искомый термин появляется, количество появлений в документе и т.п.). Таким образом, каждый список публикаций соответствует искомому (поисковому) термину и содержит ряд публикаций, ссылающихся на каждый из обнаруженных документов, которые содержат по меньшей мере одно вхождение этого соответствующего искомого термина (или его части).

[67] Следует отметить, что дополнительные данные, такие как признаки проиндексированных документов, также могут быть найдены в некоторой публикации; например, число вхождений некоторого искомого термина в некоторый документ; встречается ли этот поисковый термин в названии упомянутого документа и т.д. Естественно, эти дополнительные данные могут отличаться в зависимости от конкретной поисковой системы и, в частности, от различных реализаций настоящей технологии.

[68] Искомые термины, как правило, но не исключительно, являются словами или другими строками символов. Определенная поисковая система обычно может иметь дело практически с каждым словом на разных языках, а также с правильными наименованиями, числами, символами и т.д. Очень часто используемое слово может иметь список публикаций вплоть до одного миллиарда публикаций (или даже больше).

[69] Сервер 120 поисковой системы также может быть сконфигурирован с возможностью исполнения процедуры обеспечения запросов (не проиллюстрирована), которая обычно используется сервером 120 поисковой системы для идентификации документов, которые могут содержать некоторую часть запроса, отправленного в упомянутую поисковую систему. Например, когда сервер 120 поисковой системы принимает некоторый запрос (например, текущий запрос пользователя первого клиентского устройства 104), сервер 120 поисковой системы может осуществлять разбор упомянутого запроса на множество искомых терминов. Затем сервер 120 поисковой системы может осуществить доступ к индексу 124 и идентифицировать списки публикаций, которые связаны с по меньшей мере одним из множества искомых терминов. В результате сервер 120 поисковой системы может осуществить доступ к по меньшей мере некоторым публикациям в идентифицированных таким образом списках публикаций и идентифицировать по меньшей мере некоторые документы, которые могут содержать по меньшей мере некоторые из множества искомых терминов упомянутого запроса.

[70] Сервер 120 поисковой системы сконфигурирован с возможностью исполнения ранжирования идентифицированных документов в индексе 124, которые содержат по меньшей мере некоторые из множества искомых терминов упомянутого запроса.

[71] Просто в качестве примера, а не ограничения, некоторые из известных методик ранжирования результатов поиска по релевантности отправленному пользователем запросу основаны на некотором или всем из: (i) насколько популярен данный поисковый запрос или ответ на него в поисках; (ii) сколько результатов было возвращено; (iii) содержит ли поисковый запрос какие-либо определяющие термины (такие как «изображения», «фильмы», «погода» или тому подобное), (iv) как часто некоторый конкретный поисковый запрос обычно используется с определяющими терминами другими пользователями; и (v) как часто другие пользователи, выполняющие подобный поиск, выбирали некоторый конкретный ресурс или конкретные результаты вертикального поиска, когда результаты представлялись с использованием SERP. Таким образом, сервер 120 поисковой системы может вычислить и назначить показатель релевантности (на основе различных критериев, перечисленных выше) для каждого результата поиска, полученного в ответ на отправленный пользователем запрос, а также сгенерировать SERP, где результаты поиска ранжированы согласно их соответствующим показателям релевантности. Предполагается, что ранжирование документов в качестве результатов поиска может быть исполнено более чем за один этап.

[72] В варианте осуществления, проиллюстрированном в данном документе, сервер 120 поисковой машины исполняет множество алгоритмов 200 машинного обучения (MLA) для ранжирования документов в ответ на некоторый запрос. Множество MLA 200 будет описано более подробно ниже.

[73] В некоторых вариантах осуществления настоящей технологии сервер 120 поисковой системы может исполнять ранжирование для поисков нескольких типов, в том числе, но без ограничения, общего поиска и вертикального поиска.

[74] Сервер отслеживания

[75] С сетью 112 связи также соединен вышеупомянутый сервер 130 отслеживания. Сервер 130 отслеживания может быть реализован как традиционный компьютерный сервер. В примере варианта осуществления настоящей технологии сервер 130 отслеживания может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Само собой разумеется, сервер 130 отслеживания может быть реализован в любом другом подходящем аппаратном и/или программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 130 отслеживания является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 130 отслеживания могут быть распределены и могут быть реализованы через многочисленные серверы. В других вариантах осуществления функциональные возможности сервера 130 отслеживания могут выполняться сервером 120 поисковой системы полностью или частично. В некоторых вариантах осуществления настоящей технологии сервер 130 отслеживания находится под управлением и/или администрированием оператора поисковой системы. Альтернативно, сервер 130 отслеживания может находиться под управлением и/или администрированием другого поставщика услуг.

[76] Вообще говоря, сервер 130 отслеживания сконфигурирован с возможностью отслеживания пользовательских взаимодействий с результатами поиска, предоставленными сервером 120 поисковой системы в ответ на пользовательские запросы (например, сделанные пользователями одного из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110). Сервер 130 отслеживания может отслеживать пользовательские взаимодействия (такие как, например, данные по кликам), когда пользователи выполняют общие веб-поиски и вертикальные веб-поиски на сервере 120 поисковой системы, и сохранять эти пользовательские взаимодействия в базе 132 данных отслеживания.

[77] Сервер 130 отслеживания также может быть сконфигурирован с возможностью автоматического определения параметров пользовательских взаимодействий на основе отслеживаемых пользовательских взаимодействий с результатами поиска. В качестве неограничивающего примера сервер 130 отслеживания может вычислять показатель кликабельности (CTR), с предопределенными интервалами времени или после приема указания, на основе количества кликов по элементу и количества раз, когда элемент был показан (представлений) в SERP.

[78] Неограничивающие примеры пользовательских взаимодействий, отслеживаемых сервером 130 отслеживания, включают в себя:

- Потери/Приобретения (Loss/Win): кликнули ли документ в ответ на поисковый запрос или нет.

- Просмотры: сколько раз документ был показан.

- Время пребывания: время, затрачиваемое пользователем на документ перед возвратом к SERP.

- Длинный/короткий клик: было ли пользовательское взаимодействие с документом длинным или коротким по сравнению с пользовательским взаимодействием с другими документами в SERP.

[79] Естественно, приведенный выше список не является исчерпывающим и может включать в себя пользовательские взаимодействия других типов, не выходя за рамки настоящей технологии. В некоторых вариантах осуществления сервер 130 отслеживания может компилировать данные пользовательских взаимодействий (которые могут, в качестве неограничивающего примера, включать в себя пользовательские взаимодействия за каждый час) и генерировать пользовательские взаимодействия, которые подлежат сохранению в базе 132 данных отслеживания в подходящем формате для реализации настоящей технологии (что, в качестве неограничивающего примера, может представлять собой пользовательские взаимодействия за предопределенного периода времени в 3 месяца). В других вариантах осуществления сервер 130 отслеживания может сохранять данные пользовательских взаимодействий в необработанной форме в базе 132 данных отслеживания, так что они могут быть извлечены и скомпилированы по меньшей мере одним из сервера 120 поисковой системы, сервера 140 обучения или другого сервера (не проиллюстрирован) в подходящем формате для реализации настоящей технологии.

[80] Сервер 130 отслеживания обычно поддерживает вышеупомянутую базу 132 данных отслеживания, причем база 132 данных отслеживания включает в себя журнал 136 запросов и журнал 138 пользовательских взаимодействий.

[81] Назначение журнала 136 запросов состоит в том, чтобы регистрировать поиски, которые были выполнены с использованием сервера 120 поисковой системы. Более конкретно, журнал 136 запросов поддерживает термины поисковых запросов (то есть связанных поисковых слов) и связанные результаты поиска. Следует отметить, что журнал 136 запросов может поддерживаться анонимным образом, то есть поисковые запросы не отслеживаются относительно пользователей, которые отправили поисковый запрос.

[82] Более конкретно, журнал 136 запросов может включать в себя список запросов с их соответствующими терминами, с информацией о документах, которые были включены в список сервером 120 поисковой системы в ответ на соответствующий запрос, временную метку, а также может содержать список пользователей, идентифицированных по анонимным ID (или вообще без ID), и соответствующие документы, по которым они кликнули после отправки запроса. В некоторых вариантах осуществления журнал 136 запросов может обновляться каждый раз, когда новый поиск выполняется на сервере 120 поисковой системы. В других вариантах осуществления журнал 136 запросов может обновляться с предопределенными интервалами времени. В некоторых вариантах осуществления может быть множество копий журнала 136 запросов, каждая из которых соответствует журналу 136 запросов в разные моменты времени.

[83] Журнал 138 пользовательских взаимодействий может быть связан с журналом 136 запросов и может перечислять пользовательские взаимодействия, отслеживаемые сервером 130 отслеживания после того, как пользователь отправил запрос и кликнул по одному или нескольким документам в SERP на сервере 120 поисковой системы. В качестве неограничивающего примера журнал 138 пользовательских взаимодействий может содержать ссылку на документ, который может быть идентифицирован по ID-номеру или URL, список запросов, где каждый запрос из списка запросов использовался для доступа к данному документу, и соответствующие пользовательские взаимодействия, связанные с документом для соответствующего запроса из списка запросов (если с данным документом взаимодействовали), что будет описано более подробно в данном документе ниже. Множество пользовательских взаимодействий, как правило, могут отслеживаться и компилироваться сервером 130 отслеживания, а в некоторых вариантах осуществления могут быть включены в список для каждого отдельного пользователя.

[84] В некоторых вариантах осуществления сервер 130 отслеживания может отправлять отслеживаемые запросы, результат поиска и пользовательские взаимодействия на сервер 120 поисковой системы, который может сохранять отслеживаемые запросы, пользовательские взаимодействия и связанные результаты поиска в базе 122 данных журнала поиска. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 130 отслеживания и сервера 120 поисковой системы могут быть реализованы посредством единого сервера.

[85] Сервер обучения

[86] С сетью связи также соединен вышеупомянутый сервер 140 обучения. Сервер 140 обучения может быть реализован как традиционный компьютерный сервер. В примере варианта осуществления настоящей технологии сервер 140 обучения может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Само собой разумеется, сервер 140 обучения может быть реализован в любом другом подходящем аппаратном и/или программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 140 обучения является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 140 обучения могут быть распределены и могут быть реализованы через многочисленные серверы. В контексте настоящей технологии сервер 140 обучения может частично реализовать способы и систему, описанные в данном документе. В некоторых вариантах осуществления настоящей технологии сервер 140 обучения находится под управлением и/или администрированием оператора поисковой системы. Альтернативно, сервер 140 обучения может находиться под управлением и/или администрированием другого поставщика услуг.

[87] Вообще говоря, сервер 140 обучения сконфигурирован с возможностью обучения множества MLA 200, используемых сервером 120 поисковой системы, сервером 130 отслеживания и/или другими серверами (не проиллюстрированными), связанными с оператором поисковой системы. Сервер 140 обучения может, в качестве примера, обучать один или несколько MLA, связанных с поставщиком поисковой системы, для оптимизации общих веб-поисков, вертикальных веб-поисков, предоставления рекомендаций, прогнозирования результатов и других приложений. Обучение и оптимизация MLA могут исполняться в предопределенные периоды времени или когда поставщик поисковой системы считает это необходимым.

[88] В контексте настоящей технологии сервер 140 обучения сконфигурирован с возможностью: (i) генерирования векторов аннотаций для документов в индексе 214; (ii) генерирования векторов запросов для прошлых запросов на основе прошлых результатов поиска и прошлого пользовательского взаимодействия, и вычисления сходства между прошлыми запросами на основе этих векторов запросов; и (iii) обучения MLA во множестве MLA 200 для определения сходства на основе текстового содержимого новых запросов (запросов, не имевших прошлых пользовательских взаимодействий или результатов поиска). Однако неограничивающие варианты осуществления настоящей технологии также могут быть применены к новому запросу, который либо схож с одним из прошлых запросов, либо является тем же самым.

[89] Сервер 140 обучения может поддерживать базу 142 данных обучения для хранения векторов аннотаций и/или обучающих объектов и/или другой информации, которая может использоваться сервером 120 поисковой системы, сервером 130 отслеживания и/или другими серверами (не проиллюстрированными), связанными с оператором поисковой системы.

[90] Теперь обратимся к ФИГ. 2, на которой проиллюстрировано множество MLA 200 в соответствии с неограничивающими вариантами осуществления настоящей технологии. Множество MLA 200 включает в себя первый MLA 220, второй MLA 240, третий MLA 260 и четвертый MLA 280.

[91] Первый MLA 220 обычно может быть сконфигурирован с возможностью ранжирования результатов поиска на сервере 120 поисковой системы и может реализовывать алгоритм дерева решений с градиентным бустингом (GBRT). Вкратце, GBRT основан на деревьях решений, в результате чего генерируется модель прогнозирования в форме ансамбля деревьев. Ансамбль деревьев строится постадийным образом. Каждое последующее дерево решений в ансамбле деревьев решений фокусирует обучение на тех итерациях предыдущих деревьев решений, которые были «слабо обучаемыми» на предыдущей итерации(ях) ансамбля деревьев решений (то есть тех, которые связаны с плохим прогнозом/высокой ошибкой). Бустинг является способом, направленным на повышение качества прогнозирования MLA. В этом сценарии, вместо того, чтобы полагаться на прогноз единственного обученного алгоритма (то есть единственного дерева решений), система использует множество обученных алгоритмов (то есть ансамбль деревьев решений) и принимает окончательное решение на основе многочисленных результатов прогнозирования этих алгоритмов.

[92] При бустинге деревьев решений, первый MLA 220 сначала строит первое дерево, затем второе дерево, которое улучшает результат прогнозирования первого дерева, затем третье дерево, которое улучшает результат прогнозирования первых двух деревьев и так далее. Таким образом, первый MLA 220 в некотором смысле создает ансамбль деревьев решений, где каждое последующее дерево лучше, чем предыдущее, особо фокусируясь на слабо обучаемых с предыдущих итераций деревьев решений. Иными словами, каждое дерево строится на одном и том же обучающем наборе обучающих объектов, однако обучающие объекты, в которых первое дерево допустило «ошибки» в прогнозировании, имеют приоритет при построении второго дерева и т.д. Эти «грубые» обучающие объекты (те, которые предыдущие итерации деревьев решений предсказывают менее точно) взвешиваются с более высокими весовыми коэффициентами, чем те, в которых предыдущее дерево сделало удовлетворительный прогноз.

[93] Таким образом, первый MLA 220 может использоваться сервером 120 поисковой системы для классификации и/или регрессии и/или ранжирования. Первый MLA 220 может быть основным алгоритмом ранжирования сервера 120 поисковой системы или может быть частью алгоритма ранжирования сервера 120 поисковой системы.

[94] Второй MLA 240 может исполнять модифицированную глубоко структурированную семантическую модель (DSSM). Как правило, назначение второго MLA 240 состоит в том, чтобы обогатить признаки документа так, чтобы эти признаки могли использоваться первым MLA 320 для ранжирования документов на основе показателя релевантности. Второй MLA 240 сконфигурирован с возможностью обучения модифицированной DSSM на по меньшей мере поисковом запросе и наименовании документа. Модифицированная DSSM обычно принимает в качестве входа словесные униграммы (целые слова), словесные биграммы (пары слов) и словесные триграммы (последовательности из трех слов). В некоторых вариантах осуществления модифицированная DSSM также может принимать в качестве входа словесные n-граммы, где n больше 3. Модифицированная DSSM также обучается параметрам пользовательских взаимодействий, таким как, но без ограничения: клик/отсутствие клика, который может быть взвешен по времени пребывания или log (время пребывания), глубина клика, отказ от клика, количество уникальных кликов за сеанс, CTR и т.д. Выход второго MLA 240 может использоваться в качестве входа первым MLA 220. В некоторых вариантах осуществления настоящей технологии первый MLA 220 и второй MLA 240 могут быть реализованы одним MLA.

[95] Третий MLA 260 может быть в общем сконфигурирован с возможностью сравнения части поисковых запросов пары поисковых запросов и генерирования параметров сходства, которые указывают уровень сходства между запросами упомянутой пары. Третий MLA 260, после обучения, также может быть сконфигурирован с возможностью определения прошлого запроса, который схож с отправленным в настоящее время запросом, на основе по меньшей мере анализа сходства прошлого запроса и отправленного в настоящее время запроса.

[96] Третий MLA 260 может быть обучен на наборе обучающих объектов для обучения взаимосвязям между запросами некоторой пары и параметром сходства, которые были сгенерированы на основе схожих результатов поиска, полученных в ответ на запросы, и связанных параметров пользовательских взаимодействий. В качестве неограничивающего примера, третий MLA 260 может использовать текстовое содержимое и признаки запросов, которые являются частью пары, для установления взаимосвязи между запросами и параметром сходства. После обучения третий MLA 260 может затем выбрать схожий запрос, когда ему представлен новый и невиданный запрос, и спрогнозировать параметр сходства, который может использоваться в качестве признака первым MLA 220 и/или вторым MLA 240. В вариантах осуществления, проиллюстрированных в данном документе, третий MLA 260 может быть реализован как нейронная сеть.

[97] Со ссылкой на Фигуру 3 иллюстрируется процедура 300 генерирования аннотаций в соответствии с неограничивающими вариантами осуществления настоящей технологии.

[98] Сервер 140 обучения сконфигурирован с возможностью исполнения процедуры 300 генерирования аннотаций. Процедура 300 генерирования аннотаций может исполняться автономно сервером 140 обучения.

[99] Процедура генерирования аннотаций

[100] Вообще говоря, назначение процедуры 300 генерирования аннотаций состоит в том, чтобы сгенерировать аннотацию для документа, доступного в индексе 124 сервера 120 поисковой системы. Аннотация для документа, как правило, представляет собой представление одного или нескольких запросов, использованных для доступа к документу на сервере 120 поисковой системы, которое может быть представлено в форме вектора аннотации. В некоторых вариантах осуществления настоящей технологии вектор аннотации может дополнительно включать в себя соответствующие параметры пользовательских взаимодействий для одного или нескольких запросов, причем соответствующие параметры пользовательских взаимодействий указывают прошлые пользовательские взаимодействия с документом, предоставленным в ответ на соответствующий один или несколько запросов. В альтернативных вариантах осуществления настоящей технологии вектор аннотации для документа также может включать в себя признаки документа и/или соответствующие параметры запроса, а также другие параметры ранжирования, такие как соответствующие показатели релевантности документа в ответ на соответствующий один или несколько запросов, например.

[101] В контексте настоящей технологии вектор аннотации документа позволяет определить, каким запросам документ является по меньшей мере частично релевантным, и указывает для каждого из этих запросов интерес пользователя к документу.

[102] Сервер 140 обучения извлекает набор документов 302 из индекса 124. То, как сервер 140 обучения выбирает документы, которые будут частью упомянутого набора документов 302, не ограничено. В качестве неограничивающего примера, сервер 140 обучения может выбирать документы, связанные с большинством отправленных запросов, документы, получившие большинство пользовательских взаимодействий, документы из предопределенных «популярных» источников (таких как, например, страница Wikipedia™) или может выбирать документы случайным образом. Следует понимать, что набор документов 302 может быть указанием каждого из документов, векторов признаков документов или любым другим представлением документов, позволяющим их идентификацию в базе 122 данных журнала поиска.

[103] Сервер 140 обучения извлекает из журнала 136 запросов для каждого соответствующего документа 304 из набора документов 302 соответствующий набор запросов 312, причем каждый соответствующий запрос 314 в соответствующем наборе запросов 312 использовался для доступа к соответствующему документу 304 одним или несколькими из множества пользователей (не проиллюстрированы), причем соответствующий документ был представлен в SERP в ответ на соответствующий запрос 314.

[104] В некоторых вариантах осуществления настоящей технологии сервер 140 обучения извлекает из журнала 138 пользовательских взаимодействий набор параметров 322 пользовательских взаимодействий, причем каждый соответствующий параметр 324 пользовательского взаимодействия связан с соответствующим запросом 314 из набора прошлых запросов 312, причем соответствующий параметр 324 пользовательского взаимодействия указывает взаимодействие(я) пользователя с соответствующим документом 304 в ответ на соответствующий запрос 314. Предполагается, что сервер 140 обучения может получить данные пользовательских взаимодействий в необработанном виде и генерировать соответствующий параметр 322 пользовательского взаимодействия для каждого соответствующего запроса 314, например, сервер 140 обучения может получить количество кликов по документу 304 в ответ на соответствующий запрос 314 и получить количество представлений (т.е. число, которое документ 304 был показан в ответ на соответствующий запрос 314), и сгенерировать соответствующий CTR. В других вариантах осуществления сервер 140 обучения может непосредственно получать каждый соответствующий параметр 322 пользовательского взаимодействия, который мог быть сгенерирован ранее, например, сервером 130 отслеживания, и сохранен в журнале 138 пользовательских взаимодействий.

[105] Сервер 140 обучения генерирует соответствующий вектор 344 аннотации для документа 304 на основе соответствующего набора запросов 312. В некоторых вариантах осуществления настоящей технологии соответствующий вектор 344 аннотации генерируется на основе соответствующего набора прошлых запросов 312 и соответствующего набора параметра 322 пользовательского взаимодействия. Кроме того, в некоторых вариантах осуществления настоящей технологии соответствующий вектор 344 аннотации может быть сгенерирован дополнительно на основе признаков документа собственно документа 304 и/или соответствующих признаков запроса из соответствующего набора запросов 312, а также соответствующих показателей релевантности документа 304 в ответ на каждый соответствующий запрос 314. В некоторых вариантах осуществления настоящей технологии соответствующий вектор 344 аннотации может включать в себя только запросы из соответствующего набора прошлых запросов 312, имеющих соответствующий параметр 322 пользовательского взаимодействия выше некоторого предопределенного порога. Дополнительно или в качестве альтернативы, количество запросов в соответствующем векторе 344 аннотации может быть предопределенно, а сервер 140 обучения может включать в себя только предопределенное количество запросов, имеющих наибольшее значение соответствующего параметра 324 пользовательского взаимодействия.

[106] То, как сервер 140 обучения генерирует каждый соответствующий вектор 344 аннотации в соответствии с некоторыми вариантами осуществления настоящей технологии, описано в заявке на патент Российской Федерации №2017146890, озаглавленной «СПОСОБ И СИСТЕМА СОЗДАНИЯ ВЕКТОРОВ АННОТАЦИИ ДЛЯ ДОКУМЕНТА», и поданной 29 декабря 2017 года, содержимое которой включено в настоящий документ посредством ссылки в полном объеме и, следовательно, не будет описываться более подробно в данном документе. Достаточно сказать, что соответствующий вектор 344 аннотации, связанный с документом 304, обеспечивает по меньшей мере указание по меньшей мере части набора прошлых запросов 312, использованных для доступа к этому документу 304. Сервер 140 обучения генерирует набор векторов 342 аннотаций, где каждый соответствующий вектор 344 аннотации связан с соответствующим документом 304 в наборе документов 302.

[107] Сервер 140 обучения сохраняет набор векторов 342 аннотаций в базе 142 данных обучения. Сервер 140 обучения может повторять процедуру 300 генерирования аннотаций с предопределенными интервалами времени для генерирования новых векторов аннотаций для документов в индексе 124 и обновления набора векторов 342 аннотаций (то есть для отражения изменений в каждом соответствующем документе 304, добавления новых запросов, ведущих к соответствующему документу 304, а также обновления набора параметров 322 пользовательских взаимодействий).

[108] Со ссылкой на Фигуру 4 иллюстрируется процедура 400 генерирования первого параметра сходства в соответствии с неограничивающими вариантами осуществления настоящей технологии.

[109] Параметр сходства, основанный на пересекающихся результатах поиска

[110] Процедура 400 генерирования первого параметра сходства исполняется сервером 140 обучения.

[111] Вообще говоря, назначение процедуры 400 генерирования первого параметра сходства состоит в том, чтобы определить уровень сходства между двумя поисковыми запросами, используя в качестве представительной переменной (proxy) пересекающиеся результаты поиска, которые были представлены в ответ на упомянутые поисковые запросы, которые могут быть взвешены соответствующими параметрами пользовательских взаимодействий, указывающими прошлые пользовательские взаимодействия с соответствующими результатами поиска. Для реализации данного назначения сервер 140 обучения сконфигурирован с возможностью: (ii) получения набора запросов и соответствующих результатов поиска, которые были представлены в ответ на каждый из запросов в упомянутом наборе запросов; (ii) генерирования соответствующего вектора запроса для каждого запроса из набора запросов, причем соответствующий вектор запроса включает в себя указание того, что соответствующие результаты поиска были представлены в ответ на соответствующий запрос; (iii) определения параметра сходства для некоторой пары запросов путем сравнения их соответствующих векторов запросов, причем параметр сходства указывает степень сходства между запросами в упомянутой паре; и (iv) сохранения соответствующего параметра сходства в связи с указанием пары запросов.

[112] В некоторых вариантах осуществления настоящей технологии процедура 400 генерирования первого параметра сходства может исполняться автономно, а результаты (то есть соответствующие первые параметры сходства) могут сохраняться в базе 142 данных обучения и/или в базе 122 данных журнала поиска. Соответствующие параметры сходства для пар запросов могут использоваться непосредственно одним или несколькими из множества MLA 200 сервера 120 поисковой системы для, среди прочего, генерирования признаков для документов. Соответствующие параметры сходства для пар запросов также могут использоваться сервером 140 обучения для обучения третьего MLA 260 для генерирования второго параметра сходства для невиданных запросов на основе их текстового содержимого, что будет более подробно объяснено ниже в данном документе.

[113] Сервер 140 обучения извлекает набор запросов 402 из журнала 136 запросов, причем каждый соответствующий запрос 404 из набора запросов 402 был ранее отправлен на сервер 120 поисковой системы одним или несколькими пользователями через множество клиентских устройств 102. В некоторых вариантах осуществления настоящей технологии сервер 140 обучения извлекает набор запросов 402 из сервера 120 поисковой системы после приема указания.

[114] То, как сервер 140 обучения выбирает запросы, которые будут частью упомянутого набора запросов 402, не ограничено. В качестве неограничивающего примера, сервер 140 обучения может выбирать некоторое предопределенное количество наиболее часто отправляемых запросов на сервере 120 поисковой системы, наиболее часто отправляемых последних запросов на сервере 120 поисковой системы (то есть запросов, имеющих наибольшее количество отправлений за предопределенный период времени до текущего времени), запросы, связанные с документами, имеющими большое количество пользовательских взаимодействий на сервере 120 поисковой системы, запросы, имеющие предопределенное количество или предопределенный тип поисковых терминов, и тому подобное.

[115] В некоторых вариантах осуществления настоящей технологии запросы в наборе запросов 402 могут быть извлечены сервером 140 обучения после приема указания некоторого вектора аннотации, связанного с некоторым документом (не проиллюстрирован), и набор запросов 402 может включать в себя некоторый запрос и запросы в упомянутом векторе аннотации (запросы, который были использованы для доступа к данному документу).

[116] Сервер 140 обучения извлекает из журнала 136 запросов для каждого соответствующего запроса 404 из набора запросов 402 соответствующий набор документов 412, связанных с соответствующим запросом 404, причем соответствующий набор документов 412 был представлен в качестве результатов поиска множеству пользователей (не проиллюстрированы) в ответ на соответствующий запрос 404 на сервере 120 поисковой системы. Соответствующий набор документов 412, как правило, включает в себя предопределенное количество документов, таких как наиболее релевантные документы в самом верху 100, которые были представлены в SERP в ответ на соответствующий запрос 404. В других вариантах осуществления набор документов 412 может включать в себя все документы, которые были представлены в качестве результатов поиска в ответ на соответствующий запрос.

[117] В некоторых вариантах осуществления настоящей технологии сервер 140 обучения извлекает для каждого соответствующего набора документов 412, связанных с соответствующим запросом 404, соответствующий набор параметров 422 пользовательских взаимодействий, причем каждый соответствующий параметр 424 пользовательского взаимодействия указывает прошлые взаимодействия со стороны пользователей с соответствующим документом 414 в ответ на соответствующий запрос 404. Предполагается, что сервер 140 обучения может получить данные пользовательских взаимодействий в необработанном виде и сгенерировать соответствующий параметр 424 пользовательского взаимодействия для каждого соответствующего документа 414, например, сервер 140 обучения может получить количество кликов по соответствующему документу 414 в ответ на соответствующий запрос 404 и получить количество представлений (т.е. число, которое соответствующий документ 414 был показан в ответ на соответствующий запрос 404), и сгенерировать соответствующий CTR. В других вариантах осуществления сервер 140 обучения может непосредственно получить каждый соответствующий параметр 322 пользовательского взаимодействия, который мог быть вычислен ранее, в качестве примера сервером 130 отслеживания, и сохранен в журнале 138 пользовательских взаимодействий.

[118] Сервер 140 обучения генерирует для каждого запроса 404 из набора запросов 402 на основе соответствующего набора документов 412 соответствующий вектор 434 запроса. В некоторых вариантах осуществления настоящей технологии сервер 140 обучения генерирует соответствующий вектор 434 запроса на основе соответствующего набора документов 412 и набора параметров 422 пользовательских взаимодействий.

[119] То, как сервер 140 обучения генерирует каждый соответствующий вектор 434 запроса в соответствии с некоторыми вариантами осуществления настоящей технологии, описано в заявке на патент Российской Федерации №2018122689, озаглавленной «СПОСОБ И СИСТЕМА РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ», поданной 21 июня 2017 года, содержимое которой включено в настоящий документ посредством ссылки в полном объеме и, следовательно, не будет описываться более подробно в данном документе. Достаточно сказать, что назначение соответствующего вектора 434 запроса состоит в том, чтобы представлять информацию о результатах поиска и, необязательно, параметрах пользовательских взаимодействий, полученных в ответ на соответствующий запрос 404, в векторе таким образом, чтобы его можно было сравнить с другим соответствующим вектором, связанным с другим запросом, и чтобы сходство между этими запросами могло оцениваться по соответствующим векторам запросов как представительная переменная.

[120] Сервер 140 обучения выводит набор векторов 432 запросов, причем каждый соответствующий вектор 434 запроса связан с соответствующим запросом 404 из набора запросов 402.

[121] В некоторых вариантах осуществления настоящей технологии сервер 140 обучения сохраняет в базе 142 данных обучения набор векторов 432 запросов в связи с набором 402 запросов, причем каждый соответствующий вектор 434 запроса связан с соответствующим запросом 404.

[122] Сгенерировав соответствующие векторы 434 запросов, сервер 140 обучения сравнивает соответствующие запросы 404 в наборе запросов 402 на основе соответствующих векторов 434 запросов.

[123] Сервер 140 обучения генерирует соответствующий первый параметр 442 сходства между первым некоторым запросом и вторым некоторым запросом (не проиллюстрирован) на основе первого вектора 444 запроса (представляющего упомянутый первый запрос) и второго вектора 446 запроса (представляющего упомянутый второй запрос). Соответствующий первый параметр 442 сходства указывает степень сходства между упомянутым первым запросом и упомянутым вторым запросом, используя соответствующие результаты поиска упомянутого первого запроса и упомянутого второго запроса (не проиллюстрирован) в качестве представительной переменной. Таким образом, вообще говоря, чем больше общих результатов поиска имеют упомянутый первый запрос и упомянутый второй запрос, тем выше первый параметр 442 сходства, и наоборот. В некоторых вариантах осуществления настоящей технологии аналогичные результаты поиска могут быть взвешены соответствующими связанными параметрами 424 пользовательских взаимодействий.

[124] В качестве неограничивающего примера, первый параметр 442 подобия может быть сгенерирован посредством определения косинусного сходства между первым вектором 444 запроса и вторым вектором 446 запроса.

[125] Сервер 140 обучения генерирует соответствующий обучающий объект 474, причем соответствующий обучающий объект 474 включает в себя указание первого запроса 484, указание второго запроса 486 и соответствующий первый параметр 482 сходства.

[126] Сервер 140 обучения может генерировать соответствующий первый параметр 482 сходства для каждой возможной пары запросов в наборе 402 запросов на основе соответствующих векторов 434 запросов в наборе векторов 432 запросов аналогичным образом, описанным выше, чтобы получить набор обучающих объектов 472.

[127] Сервер 140 обучения сохраняет набор обучающих объектов 472 в базе 142 данных обучения.

[128] Со ссылкой на Фигуру 5 иллюстрируется процедура 500 обучения третьего MLA 260 и процедура 550 генерирования второго параметра сходства, исполняемая третьим MLA 260, в соответствии с неограничивающими вариантами осуществления настоящей технологии.

[129] Процедура 500 обучения исполняется сервером 140 обучения.

[130] Параметр сходства на основе текстового содержимого

[131] Сервер 140 обучения сконфигурирован с возможностью исполнения процедуры 500 обучения для обучения третьего MLA 260 для определения параметра сходства между двумя запросами на основе текстового содержимого запросов. Третий MLA 260 обучается на наборе обучающих объектов 472, ранее сгенерированных во время процедуры 400 генерирования первого параметра сходства.

[132] Сервер 140 обучения извлекает из базы 142 данных обучения набор обучающих объектов 472, причем некоторый соответствующий обучающий объект 474 из набора обучающих объектов включает в себя: указание некоторого первого запроса 484, указание некоторого второго запроса 486 и соответствующий первый параметр 482 сходства, причем соответствующий первый параметр 482 сходства был вычислен в ходе процедуры 400 генерирования первого параметра сходства, причем соответствующий первый параметр 482 сходства указывает степень сходства между упомянутым первым запросом 484 и упомянутым вторым запросом 486.

[133] Сервер 140 обучения генерирует на основе указания упомянутого первого запроса 484 и указания упомянутого второго запроса 486 в обучающем объекте 474, первый вектор 514 слов и второй вектор 516 слов, соответственно. Первый вектор 514 слов и второй вектор 516 слов генерируются посредством исполнения алгоритма вложения (векторного представления) слов (не проиллюстрирован).

[134] Как правило, назначение алгоритма вложения слов состоит в том, чтобы представить слово как вектор действительных чисел, используя набор языкового моделирования и методик обучения признаков в обработке естественного языка (NLP). Тип алгоритма вложения слов не ограничен и некоторые примеры включают в себя, но без ограничения: word2vec или латентное размещение Дирихле (LDA). Выбранный один или несколько алгоритмов вложения слов сконфигурирован с возможностью создания вектора слов для некоторого запроса, так что запросы могут сравниваться через их векторы слов. Предполагается, что в некоторых вариантах осуществления настоящей технологии алгоритм вложения слов может исполняться другим обученным MLA (не проиллюстрирован).

[135] Сервер 140 обучения обучает третий MLA 260 на наборе обучающих объектов 472, чтобы определить соответствующий второй параметр 532 сходства, причем соответствующий второй параметр 532 сходства указывает для каждого обучающего объекта 474 степень сходства между первым запросом 484 и вторым запросом 486 на основе первого вектора 514 слов и второго вектора 516 слов. Для реализации этого назначения сервер 140 обучения выдает в качестве ввода первый вектор 514 слов (представляющий первый запрос 484) и второй вектор 516 слов (представляющий второй запрос 486) и в качестве метки соответствующий первый параметр 482 сходства между упомянутым первым запросом 484 и упомянутым вторым запросом 486, причем соответствующий первый параметр 482 сходства был вычислен на основе пересекающихся результатов поиска в ходе процедуры 400 генерирования первого параметра сходства.

[136] Третий MLA 260 обучается генерировать соответствующий второй параметр 532 сходства на основе векторов слов, которые были сгенерированы с помощью алгоритма вложения слов. Как сервер 140 обучения генерирует соответствующий второй параметр 532 сходства на основе векторов слов в соответствии с некоторыми вариантами осуществления настоящей технологии, описано в заявке на патент Российской Федерации №2018122689, озаглавленной «СПОСОБ И СИСТЕМА РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ», поданной 21 июня 2017 года, содержимое которой включено в настоящий документ посредством ссылки в полном объеме и, следовательно, не будет описываться более подробно в данном документе.

[137] Вообще говоря, соответствующий второй параметр 532 сходства, сгенерированный на основе текстового содержимого запросов (то есть соответствующих векторов слов), должен быть гомологичен первому параметру 482 сходства, вычисленному на основе соответствующих результатов поиска запросов. Кроме того, после процедуры 500 обучения третий MLA 260 может генерировать второй параметр 532 сходства для двух запросов исключительно на основе соответствующих векторных представлений слов, что может позволить оценить степень сходства между этими запросами, которые не были отправлены на сервер 120 поисковой системы в прошлом или для которых отсутствуют результаты поиска и/или пользовательские взаимодействия.

[138] После процедуры 500 обучения третий MLA 260 сервера 120 поисковой системы исполняет процедуру 550 генерирования второго параметра сходства.

[139] Третий MLA 260 принимает первый текущий запрос 554, для которого необходимо оценить сходство с по меньшей мере одним другим прошлым запросом. Третий MLA 260 принимает второй прошлый запрос 556, который является прошлым запросом, ранее отправленным на сервер 120 поисковой системы. Второй прошлый запрос 556 мог быть извлечен сервером 120 поисковой системы из базы 122 данных журнала поиска например на основе анализа вектора аннотации (не проиллюстрирован).

[140] Третий MLA 260 генерирует посредством алгоритма вложения слов первый текущий вектор 564 слов и второй текущий вектор 566 слов. Следует отметить, что первый текущий запрос 554 и/или второй прошлый запрос 556 ранее могли на «рассматриваться» третьим MLA 260, т.е. третий MLA 260 не обучался на первом текущем запросе 552 и/или втором прошлом запросе 556.

[141] Третий MLA 260 вычисляет второй параметр 572 сходства между первым текущим запросом 552 и вторым прошлым запросом 556 на основе первого текущего вектора 562 слов и второго текущего вектора 566 слов.

[142] Затем третий MLA 260 может сохранять и/или передавать второй параметр 572 сходства на сервер 120 поисковой системы.

[143] Пояснив, со ссылкой на Фигуры 3-5, то, как векторы аннотаций генерируются и сходство между запросами определяется, далее со ссылкой на Фигуру 6 будет описана процедура 600 генерирования значения признака в соответствии с неограничивающими вариантами осуществления настоящей технологии.

[144] Процедура 600 генерирования значения признака исполняется сервером 120 поисковой системы. Процедура 600 генерирования значения признака может исполняться в режиме реального времени при приеме нового запроса 602 от одного из множества клиентских устройств 102. В альтернативных вариантах осуществления настоящей технологии процедура 600 генерирования значения признака может быть исполнена в автономном режиме, в качестве примера сервером 140 обучения, до приема нового запроса 602 от одного из множества клиентских устройств 102.

[145] Сервер 120 поисковой системы принимает новый запрос 602 от электронного устройства, такого как первое клиентское устройство 104.

[146] Сервер 120 поисковой системы извлекает из индекса 124 на основе терминов нового запроса 602 набор текущих документов 610, релевантных новому запросу 602, причем каждый текущий документ 612 из набора текущих документов 610 имеет первое множество признаков 622.

[147] Сервер 120 поисковой системы или первый MLA 220 выбирает документ 614 (который будет упоминаться как выбранный документ 614) в наборе текущих документов 610, причем выбранный документ 614 не имеет соответствующего значения для некоторого признака 624 из первого множества признаков 622. Упомянутый признак 624 может быть признаком, непосредственно используемым первым MLA 220 для ранжирования выбранного документа 614, или может быть признаком, который используется вторым MLA 240 для генерирования другого признака (не проиллюстрирован), который может быть, в качестве неограничивающего примера, прогнозируемым признаком, который может использоваться первым MLA 220 для ранжирования выбранного документа 614. В качестве еще одного неограничивающего примера, второй MLA 240 может быть неспособен генерировать значение для упомянутого признака 624 на основе, по меньшей мере частично, прошлых пользовательских взаимодействий, поскольку прошлые пользовательские взаимодействия ниже некоторого порога (например, прошлых пользовательских взаимодействий не достаточно). Упомянутый признак 624 может быть зависимым от запроса признаком или прогнозируемым параметром пользовательского взаимодействия.

[148] Достаточно сказать, что из-за отсутствия значения для упомянутого признака 624, в первом MLA 220 может отсутствовать информация для ранжирования выбранного документа 614 в ответ на новый запрос 602. Кроме того, в других вариантах осуществления настоящей технологии упомянутый признак 624 может быть показателем релевантности выбранного документа 614.

[149] Сервер 120 поисковой системы извлекает из базы 142 данных обучения на основе выбранного документа 614 вектор 632 аннотации, связанный с выбранным документом 614. Вектор 632 аннотации был сгенерирован в ходе процедуры 300 генерирования аннотаций и включает в себя: указание одного или нескольких прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на сервере 120 поисковой системы, и в некоторых вариантах осуществления настоящей технологии соответствующие параметры 636 пользовательских взаимодействий для каждого из одного или нескольких прошлых запросов 634.

[150] В альтернативных вариантах осуществления настоящей технологии, в которых векторы аннотаций ранее не были сгенерированы, сервер 120 поисковой системы извлекает из журнала 136 запросов один или несколько прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на сервере поисковой системы, и, необязательно, получает из журнала 138 пользовательских взаимодействий соответствующие параметры пользовательских взаимодействий для одного или нескольких прошлых запросов 634, связанных с выбранным документом 614.

[151] Сервер 120 поисковой системы генерирует: (i) новый вектор 642 запроса для нового запроса 602 и (ii) соответствующие векторы 644 запросов для каждого из одного или нескольких прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на основе одного или нескольких прошлых запросов 634 в векторе 632 аннотации и (iii) соответствующие параметры 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основе упомянутого вектора 642 запроса и соответствующих векторов 644 запросов.

[152] В некоторых вариантах осуществления настоящей технологии сервер 120 поисковой системы может извлечь по меньшей мере часть соответствующих векторов 644 запросов и новый вектор 642 запроса из базы 142 данных обучения, если соответствующие векторы 644 запросов, новый вектор 642 запроса были ранее сгенерированы сервером 140 обучения в ходе процедуры 400 генерирования первого параметра сходства. Дополнительно или альтернативно, сервер 120 поисковой системы может побудить сервер 140 обучения к исполнению процедуры 400 генерирования первого параметра сходства, чтобы сгенерировать соответствующие векторы 644 запросов и новый вектор 642 запроса.

[153] Сервер 120 поисковой системы может затем определить соответствующие параметры 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основании упомянутого вектора 642 запроса и соответствующих векторов 644 запросов, в качестве неограничивающего примера, путем определения косинусного сходства.

[154] В других вариантах осуществления настоящей технологии сервер 120 поисковой системы может использовать третий MLA 260, который был обучен в ходе процедуры 500 обучения, для генерирования соответствующих векторов 644 запросов и нового вектора 642 запроса путем исполнения алгоритма вложения слов, и генерирования соответствующих параметров 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основе упомянутого вектора 642 запроса и соответствующих векторов 644 запросов путем исполнения процедуры 550 генерирования второго параметра сходства.

[155] Затем сервер 120 поисковой системы выбирает по меньшей мере один прошлый запрос (которые будут упоминаться как выбранные прошлые запросы 648) на основе соответствующих параметров 650 сходства. В некоторых вариантах осуществления настоящей технологии выбранные прошлые запросы 648 могут быть выбраны на основе того, что их соответствующие параметры 650 сходства превышают некоторый предопределенный порог. Дополнительно или в качестве альтернативы сервер 120 поисковой системы может выбирать выбранные прошлые запросы 648 на основе того, что соответствующие параметры 650 сходства превышают все другие соответствующие параметры 646 сходства. Количество прошлых запросов в выбранных прошлых запросах 648 может быть предопределено или может включать в себя единственный прошлый запрос. В последнем примере этот единственный прошлый запрос мог быть выбран на основе того, что его соответствующий параметр сходства с новым запросом 602 превышает другие соответствующие параметры сходства.

[156] Сервер 120 поисковой системы извлекает, основываясь на выбранных прошлых запросах 648, соответствующие значения 652 упомянутого признака 624 для выбранного документа 614. Следует отметить, что в некоторых вариантах осуществления настоящей технологии соответствующие значения 652 упомянутого признака 624 для выбранного документа 614 могут быть извлечены до генерирования соответствующих параметров 646 сходства.

[157] Затем MLA 126 может сгенерировать значение упомянутого признака 624 для выбранного документа 614 в ответ на новый запрос 602 на основе: соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624 для выбранного документа 614.

[158] В качестве неограничивающего примера, первый MLA 220 и/или второй MLA 240 могут усреднять соответствующие значения 652 упомянутого признака 624, взвешенного соответствующими параметрами 650 сходства. В качестве другого неограничивающего примера, первый MLA 220 может непосредственно использовать соответствующие значения 652 упомянутого признака 624 в качестве значения упомянутого признака 624 для выбранного документа 614 в ответ на новый запрос 602. В качестве другого неограничивающего примера, первый MLA 220 и/или второй MLA 240 могут применять функцию другого типа или использовать другой MLA для генерирования значения упомянутого признака 624 для выбранного документа 614 на основе: соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624 для выбранного документа 614.

[159] Первый MLA 220 затем ранжирует набор текущих документов 610 на основе первого множества признаков 622, причем выбранный документ 614 ранжируется, основываясь, по меньшей мере частично, на значении упомянутого признака 624, которое было сгенерировано на основе соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624, чтобы получить окончательный ранжированный список документов 662.

[160] Затем сервер 120 поисковой системы генерирует SERP 664, включающую в себя окончательный ранжированный список документов 662, и передает SERP 664 первому клиентскому устройству 104.

[161] Следует отметить, что более чем один документ может не иметь значений для определенного признака, а другие документы могут не иметь значений для других признаков. Процедура 600 генерирования значения признака может быть исполнена аналогичным образом для каждого из отсутствующих значений.

[162] На Фигуре 7 проиллюстрирована блок-схема способа 700 для генерирования некоторого признака для ранжирования документа в ответ на некоторый запрос, причем документ не имеет значения для упомянутого признака для данного запроса, причем способ 700 исполняется в соответствии с неограничивающими вариантами осуществления настоящей технологии.

[163] Способ 700 исполняется сервером 120 поисковой системы и сервером 140 обучения.

[164] Способ 700 начинается с этапа 702.

[165] ЭТАП 702: прием некоторого запроса

[166] На этапе 702 сервер 120 поисковой системы принимает новый запрос 602 от электронного устройства, такого как первое клиентское устройство 104.

[167] Способ 700 затем переходит на этап 704.

[168] ЭТАП 704: генерирование набора документов, релевантных упомянутому запросу, причем набор документов имеет множество признаков

[169] На этапе 704 сервер 120 поисковой системы извлекает из индекса 124 на основе терминов нового запроса 602 набор текущих документов 610, релевантных новому запросу 602, причем каждый текущий документ 612 из набора текущих документов 610 имеет первое множество признаков 622.

[170] Способ 700 затем переходит на этап 706.

[171] ЭТАП 706: выбор по меньшей мере одного документа из набора документов, причем упомянутый по меньшей мере один документ не имеет соответствующего значения для некоторого признака из множества признаков;

[172] На этапе 706 сервер 120 поисковой системы выбирает документ 614 (который будет упоминаться как выбранный документ 614) в наборе текущих документов 610, причем выбранный документ 614 не имеет соответствующего значения для некоторого признака 624 из первого множества признаков 622. Упомянутый признак 624 может быть признаком, непосредственно используемым первым MLA 220 для ранжирования выбранного документа 614 или может быть признаком, который используется вторым MLA 240 для генерирования другого признака (не проиллюстрирован), который затем может использоваться первым MLA 220 для ранжирования выбранного документа 614.

[173] Способ 700 затем переходит на этап 708.

[174] ЭТАП 708: извлечение набора прошлых запросов, которые были отправлены на сервер, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP)

[175] На этапе 708 сервер 120 поисковой системы извлекает из базы 142 данных обучения на основе выбранного документа 614 вектор 632 аннотации, связанный с выбранным документом 614. Вектор 632 аннотации был сгенерирован в ходе процедуры 300 генерирования аннотаций и включает в себя: указание одного или нескольких прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на сервере 120 поисковой системы, и в некоторых вариантах осуществления настоящей технологии соответствующие параметры 636 пользовательских взаимодействий для каждого из одного или нескольких прошлых запросов 634.

[176] В альтернативных вариантах осуществления настоящей технологии, в которых векторы аннотаций ранее не были сгенерированы, сервер 120 поисковой системы извлекает из журнала 136 запросов один или несколько прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на сервере поисковой системы, и, необязательно, получает из журнала 138 пользовательских взаимодействий соответствующие параметры пользовательских взаимодействий для одного или нескольких прошлых запросов 634.

[177] Способ 700 затем переходит на этап 710.

[178] ЭТАП 710: определение соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов

[179] На этапе 710 сервер 120 поисковой системы генерирует: (i) новый вектор 642 запроса для нового запроса 602 и (ii) соответствующие векторы 644 запросов для каждого из одного или нескольких прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на основе одного или нескольких прошлых запросов 634 в векторе 632 аннотации.

[180] В некоторых вариантах осуществления настоящей технологии сервер 120 поисковой системы может извлечь по меньшей мере часть соответствующих векторов 644 запросов и новый вектор 642 запроса из базы 142 данных обучения, если соответствующие векторы 644 запросов, новый вектор 642 запроса были ранее сгенерированы сервером 140 обучения в ходе процедуры 400 генерирования первого параметра сходства. Дополнительно или альтернативно, сервер 120 поисковой системы может побудить сервер 140 обучения к исполнению процедуры 400 генерирования первого параметра сходства, чтобы сгенерировать соответствующие векторы 644 запросов и новый вектор 642 запроса.

[181] Сервер 120 поисковой системы может затем определить соответствующие параметры 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основании упомянутого вектора 642 запроса и соответствующих векторов 644 запросов, в качестве примера, путем определения косинусного сходства.

[182] В других вариантах осуществления настоящей технологии сервер 120 поисковой системы может использовать третий MLA 260, который был обучен в ходе процедуры 500 обучения, для генерирования соответствующих векторов 644 запросов и нового вектора 642 запроса путем исполнения алгоритма вложения слов, и вычисления соответствующих параметров 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основе упомянутого вектора 642 запроса и соответствующих векторов 644 запросов путем исполнения процедуры 550 генерирования второго параметра сходства.

[183] Способ 700 затем переходит на этап 712.

[184] ЭТАП 712: извлечение для по меньшей мере одного прошлого запроса из набора прошлых запросов соответствующего значения упомянутого признака для упомянутого по меньшей мере одного документа

[185] На этапе 712 сервер 120 поисковой системы выбирает по меньшей мере один прошлый запрос на основе соответствующих параметров 650 сходства в качестве части выбранных прошлых запросов 648. В некоторых вариантах осуществления настоящей технологии выбранные прошлые запросы 648 могут быть выбраны на основе того, что их соответствующие параметры 650 сходства превышают некоторый предопределенный порог. Дополнительно или в качестве альтернативы сервер 120 поисковой системы может выбирать выбранные прошлые запросы 648 на основе того, что соответствующие параметры 650 сходства превышают все другие соответствующие параметры 646 сходства. Количество прошлых запросов в выбранных прошлых запросах 648 может быть предопределено или может включать в себя единственный прошлый запрос.

[186] На этапе 710 сервер 120 поисковой системы извлекает соответствующие значения 652 упомянутого признака 624 для выбранного документа 614 относительно выбранных прошлых запросов 648.

[187] Способ 700 затем переходит на этап 714.

[188]

[189] ЭТАП 714: генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа, основываясь, по меньшей мере частично, на:

соответствующем параметре сходства по меньшей мере одного прошлого запроса из набора прошлых запросов, и

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

[190] Затем MLA 126 может сгенерировать значение упомянутого признака 624 для выбранного документа 614 в ответ на новый запрос 602 на основе: соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624 для выбранного документа 614.

[191]

[192] Способ 700 затем переходит на этап 716.

[193] ЭТАП 716: ранжирование набора документов для получения ранжированного списка документов, причем ранжирование основано на множестве признаков, упомянутый по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака

[194] На этапе 716 первый MLA 220 затем ранжирует набор текущих документов 610 на основе первого множества признаков 622, причем выбранный документ 614 ранжируется, основываясь, по меньшей мере частично, на значении упомянутого признака 624, которое было сгенерировано на основе соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624, чтобы получить окончательный ранжированный список документов 662.

[195] Способ 700 затем переходит на этап 718.

[196] ЭТАП 718: передача на электронное устройство ранжированного списка документов, подлежащего представлению в качестве SERP.

[197] На этапе 718 сервер 120 поисковой системы затем генерирует SERP 664, включающую в себя окончательный ранжированный список документов 662, и передает SERP 664 первому клиентскому устройству 104.

[198] Затем способ 700 завершается.

[199] Специалистам в данной области техники должно быть понятно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение арсената технических средств для решения конкретной технической задачи, а именно на улучшение ранжирования набора результатов поиска в ответ на некоторый запрос путем генерирования значения для некоторого признака для по меньшей мере одного документа, не имеющего соответствующего значения для упомянутого признака. Значение для упомянутого признака по меньшей мере одного документа относительно упомянутого запроса может быть сгенерировано на основе схожих запросов, которые были использованы для представления упомянутого по меньшей мере одного документа в качестве результата поиска, что может позволить улучшить ранжирование упомянутого по меньшей мере одного документа в наборе результатов поиска. Такие технические решения могут позволить сэкономить ресурсы, например, пространство хранения, пропускную способность и время, на клиентских устройствах, а также на сервере поисковой системы.

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

[201] Некоторые из упомянутых этапов, а также прием/отправка сигналов хорошо известны в данной области техники и, как таковые, были опущены в некоторых частях этого описания для простоты. Сигналы могут отправляться/приниматься с использованием оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, средств, основанных на давлении, на температуре, или любых других подходящих средств, основанных на некотором физическом параметре).

[202] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому подразумевается, что объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.

Похожие патенты RU2733481C2

название год авторы номер документа
СПОСОБ И СИСТЕМА ВЫБОРА ДЛЯ РАНЖИРОВАНИЯ ПОИСКОВЫХ РЕЗУЛЬТАТОВ С ПОМОЩЬЮ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ 2018
  • Дужик Валерий Иванович
  • Дроздовский Андрей Дмитриевич
  • Найдин Олег Павлович
RU2731658C2
СПОСОБ И СИСТЕМА СОЗДАНИЯ ВЕКТОРОВ АННОТАЦИИ ДЛЯ ДОКУМЕНТА 2017
  • Гусаков Алексей Юрьевич
  • Дроздовский Андрей Дмитриевич
  • Дужик Валерий Иванович
  • Калинин Павел Владимирович
  • Найдин Олег Павлович
  • Сафронов Александр Валерьевич
RU2720074C2
СПОСОБ И СЕРВЕР ГЕНЕРИРОВАНИЯ МЕТА-ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТОВ 2018
  • Сафронов Александр Валерьевич
  • Плошихин Виктор Витальевич
  • Белотелов Иван Иванович
RU2721159C1
СПОСОБ И СИСТЕМА ДЛЯ РАСШИРЕНИЯ ПОИСКОВЫХ ЗАПРОСОВ С ЦЕЛЬЮ РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА 2018
  • Готманов Александр Николаевич
  • Гречников Евгений Александрович
  • Сафронов Александр Валерьевич
RU2720905C2
СПОСОБ И СИСТЕМА ПОСТРОЕНИЯ ПОИСКОВОГО ИНДЕКСА С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ 2018
  • Филонов Егор Андреевич
  • Коростелев Иван Владимирович
  • Акулов Ярослав Викторович
RU2720954C1
Система и способ формирования обучающего набора для алгоритма машинного обучения 2018
  • Сафронов Александр Валерьевич
  • Антонова Александра Александровна
  • Мисюрев Алексей Владимирович
  • Платонов Владимир Александрович
  • Волынец Эдуард Мечиславович
RU2744029C1
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ РАНЖИРОВАННЫХ ПОЗИЦИЙ ЭЛЕМЕНТОВ СИСТЕМОЙ РАНЖИРОВАНИЯ 2020
  • Кацев Илья Владимирович
  • Цой Валерия Дмитриевна
RU2781621C2
Способ и сервер для ранжирования цифровых документов в ответ на запрос 2020
  • Дормидонтов Сергей Игоревич
  • Тямгин Иван Анатольевич
RU2818279C2
Способы и серверы для ранжирования цифровых документов в ответ на запрос 2020
  • Волынец Эдуард Мечиславович
  • Пастушик Денис Сергеевич
  • Гречников Евгений Александрович
RU2775815C2
СПОСОБ И СЕРВЕР ДЛЯ ПОВТОРНОГО ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ 2019
  • Певцов Сергей Евгеньевич
  • Костин Михаил Юрьевич
  • Чигин Антон Олегович
  • Васильев Дмитрий Сергеевич
RU2743932C2

Иллюстрации к изобретению RU 2 733 481 C2

Реферат патента 2020 года СПОСОБ И СИСТЕМА ГЕНЕРИРОВАНИЯ ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТА

Изобретение относится к извлечению информации, а точнее, к способу и системе генерирования признака для ранжирования по меньшей мере одного документа в ответ на запрос. Технический результат - улучшение ранжирования набора результатов поиска. Способ и система ранжирования документа в ответ на запрос, причем документ не имеет значения для признака относительно запроса. Генерируется набор документов, релевантных запросу. Документ выбирается, и набор прошлых запросов, которые представляли документ в качестве результата поиска, извлекается. Извлекаются соответствующие значения для упомянутого признака для документа относительно набора прошлых запросов. Соответствующий параметр сходства определяется между запросом и каждым из набора прошлых запросов. Значение упомянутого признака для документа генерируется на основе, по меньшей мере частично, соответствующего параметра сходства и соответствующего значения для упомянутого признака по меньшей мере одного прошлого запроса. Набор документов, в том числе упомянутый документ, ранжируется, основываясь, по меньшей мере частично, на упомянутом признаке. 2 н. и 18 з.п. ф-лы, 7 ил.

Формула изобретения RU 2 733 481 C2

1. Реализуемый компьютером способ ранжирования по меньшей мере одного документа в ответ на запрос с использованием алгоритма машинного обучения (MLA), исполняемого сервером, при этом способ исполняется сервером, причем сервер подключен к базе данных журнала поиска, сервер подключен к электронному устройству по сети связи, причем способ содержит:

прием сервером упомянутого запроса;

генерирование сервером набора документов, релевантных упомянутому запросу, причем набор документов имеет множество признаков;

выбор сервером по меньшей мере одного документа из набора документов, причем по меньшей мере один документ не имеет соответствующего значения для некоторого признака из множества признаков;

извлечение из базы данных журнала поиска набора прошлых запросов, которые были обеспечены на сервер, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP);

извлечение из базы данных журнала поиска для каждого соответствующего прошлого запроса соответствующего значения упомянутого признака для по меньшей мере одного документа;

определение сервером соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов;

генерирование сервером соответствующего значения упомянутого признака для по меньшей мере одного документа, основываясь, по меньшей мере частично, на:

соответствующем параметре сходства по меньшей мере одного прошлого запроса из набора прошлых запросов, и

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

ранжирование, посредством алгоритма машинного обучения, набора документов для получения ранжированного списка документов, причем ранжирование основано на множестве признаков, по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака; и

передачу на электронное устройство ранжированного списка документов, подлежащего представлению в качестве страницы результатов поиска.

2. Способ по п. 1, в котором

каждый соответствующий документ из набора документов, релевантных упомянутому запросу, имеет соответствующую аннотацию, причем соответствующая аннотация включает в себя:

по меньшей мере один соответствующий прошлый поисковый запрос, использованный для доступа к соответствующему документу на сервере поисковой системы; и в котором

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

3. Способ по п. 1, в котором

способ дополнительно содержит, до определения соответствующего параметра сходства:

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

определение соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов основано на:

наборе документов, релевантных упомянутому запросу, и

соответствующем наборе документов соответствующего прошлого запроса.

4. Способ по п. 3, в котором

по меньшей мере подмножество набора документов связано с соответствующими параметрами пользовательских взаимодействий; и в котором

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

определение соответствующего параметра сходства дополнительно основано на:

соответствующих параметрах пользовательских взаимодействий для соответствующего запроса подмножества документов и

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

5. Способ по п. 1, в котором

сервер исполняет второй алгоритм машинного обучения, причем второй алгоритм машинного обучения был обучен для определения параметра сходства между запросами на основе их текстового содержимого; и

определение соответствующего параметра сходства исполняется вторым алгоритмом машинного обучения.

6. Способ по п. 5, при этом способ дополнительно содержит,

во время фазы обучения:

извлечение из базы данных журнала поиска множества поисковых запросов, обеспеченных на сервер поисковой системы, причем каждый из множества поисковых запросов связан с соответствующим набором результатов поиска, каждый соответствующий результат поиска из соответствующего набора результатов поиска связан с по меньшей мере одним соответствующим параметром пользовательского взаимодействия;

генерирование, для каждого запроса из множества поисковых запросов, соответствующего вектора запроса, основанного на по меньшей мере одном соответствующем параметре пользовательского взаимодействия, связанном с каждым результатом поиска из соответствующего набора результатов поиска;

генерирование, для каждой возможной пары запросов в пределах множества поисковых запросов, на основе соответствующих векторов запросов для каждого запроса из пары запросов, соответствующего параметра сходства, причем соответствующий параметр сходства указывает степень сходства между запросами в паре запросов;

генерирования набора обучающих объектов, причем каждый обучающий объект из набора обучающих объектов включает в себя указание соответствующей одной из каждой возможной пары запросов и соответствующего параметра сходства;

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

7. Способ по п. 1, при этом способ дополнительно содержит до генерирования соответствующего значения упомянутого признака:

выбор сервером по меньшей мере одного соответствующего прошлого запроса на основе того, что соответствующий параметр сходства превышает предопределенный порог.

8. Способ по п. 1, в котором

извлечение соответствующего значения упомянутого признака по меньшей мере одного документа для каждого соответствующего прошлого запроса дополнительно содержит:

извлечение соответствующего показателя релевантности по меньшей мере одного документа соответствующему прошлому запросу; и в котором

генерирование соответствующего значения упомянутого признака дополнительно основано на соответствующем показателе релевантности.

9. Способ по п. 8, в котором генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа дополнительно основано на:

соответствующем значении по меньшей мере одного другого признака из множества признаков для данного документа.

10. Способ по п. 9, в котором данный признак является одним из:

зависящего от запроса признака, и

параметра пользовательского взаимодействия.

11. Система ранжирования по меньшей мере одного документа в ответ на запрос с использованием алгоритма машинного обучения (MLA), исполняемого системой, при этом система подключена к базе данных журнала поиска, система подключена к электронному устройству, причем система содержит:

процессор;

долговременный считываемый компьютером носитель, содержащий инструкции;

причем процессор, при исполнении инструкций, сконфигурирован с возможностью:

приема упомянутого запроса;

генерирования набора документов, релевантных упомянутому запросу, причем набор документов имеет множество признаков;

выбора по меньшей мере одного документа из набора документов, причем упомянутый по меньшей мере один документ не имеет соответствующего значения для признака из множества признаков;

извлечения из базы данных журнала поиска набора прошлых запросов, которые были обеспечены на сервер, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP);

извлечения из базы данных журнала поиска для каждого соответствующего прошлого запроса, соответствующего значения упомянутого признака для по меньшей мере одного документа;

определения соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов;

генерирования соответствующего значения упомянутого признака для по меньшей мере одного документа, основываясь, по меньшей мере частично, на:

соответствующем параметре сходства по меньшей мере одного прошлого запроса из набора прошлых запросов, и

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

ранжирования, посредством алгоритма машинного обучения, набора документов для получения ранжированного списка документов, причем ранжирование основано на множестве признаков, по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака; и

передачи на электронное устройство ранжированного списка документов, подлежащего представлению в качестве страницы результатов поиска.

12. Система по п. 11, в которой

каждый соответствующий документ из набора документов, релевантных упомянутому запросу, имеет соответствующую аннотацию, причем соответствующая аннотация включает в себя:

по меньшей мере один соответствующий прошлый поисковый запрос, использованный для доступа к соответствующему документу на сервере поисковой системы; и

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

13. Система по п. 11, в которой

процессор дополнительно сконфигурирован с возможностью, до определения соответствующего параметра сходства:

извлечения из базы данных журнала поиска соответствующего набора прошлых документов для каждого соответствующего прошлого запроса из набора прошлых запросов, причем соответствующий набор прошлых документов был представлен в качестве соответствующих результатов поиска в ответ на соответствующий прошлый запрос; и в которой

определение соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов основано на:

наборе документов, релевантных упомянутому запросу, и

соответствующем наборе документов соответствующего прошлого запроса.

14. Система по п. 13, в которой

по меньшей мере подмножество набора документов связано с соответствующими параметрами пользовательских взаимодействий; и в которой

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

определение соответствующего параметра сходства дополнительно основано на:

соответствующих параметрах пользовательских взаимодействий для соответствующего запроса подмножества документов и

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

15. Система по п. 11, в которой

система исполняет второй алгоритм машинного обучения, причем второй алгоритм машинного обучения был обучен для определения параметра сходства между запросами на основе их текстового содержимого; и

определение соответствующего параметра сходства исполняется вторым алгоритмом машинного обучения.

16. Система по п. 15, в которой процессор дополнительно сконфигурирован с возможностью,

во время фазы обучения:

извлечения из базы данных журнала поиска множества поисковых запросов, обеспеченных на сервер поисковой системы, причем каждый из множества поисковых запросов связан с соответствующим набором результатов поиска, каждый соответствующий результат поиска из соответствующего набора результатов поиска связан с по меньшей мере одним соответствующим параметром пользовательского взаимодействия;

генерирования, для каждого запроса из множества поисковых запросов, соответствующего вектора запроса, основанного на по меньшей мере одном соответствующем параметре пользовательского взаимодействия, связанном с каждым результатом поиска из соответствующего набора результатов поиска;

генерирования, для каждой возможной пары запросов в пределах множества поисковых запросов, на основе соответствующих векторов запросов для каждого запроса из пары запросов, соответствующего параметра сходства, причем соответствующий параметр сходства указывает степень сходства между запросами в паре запросов;

генерирования набора обучающих объектов, причем каждый обучающий объект из набора обучающих объектов включает в себя указание соответствующей одной из каждой возможной пары запросов и соответствующего параметра сходства;

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

17. Система по п. 11, в которой процессор дополнительно сконфигурирован с возможностью, до генерирования соответствующего значения упомянутого признака:

выбора по меньшей мере одного соответствующего прошлого запроса на основе того, что соответствующий параметр сходства превышает предопределенный порог.

18. Система по п. 11, в которой

для извлечения соответствующего значения упомянутого признака по меньшей мере одного документа для каждого соответствующего прошлого запроса процессор дополнительно сконфигурирован с возможностью:

извлечения соответствующего показателя релевантности по меньшей мере одного документа соответствующему прошлому запросу; и в которой

генерирование соответствующего значения упомянутого признака дополнительно основано на соответствующем показателе релевантности.

19. Система по п. 18, в которой генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа дополнительно основано на:

соответствующем значении по меньшей мере одного другого признака из множества признаков для данного документа.

20. Система по п. 19, в которой данный признак является одним из:

зависящего от запроса признака, и

параметра пользовательского взаимодействия.

Документы, цитированные в отчете о поиске Патент 2020 года RU2733481C2

СПОСОБ И СЕРВЕР ОБРАБОТКИ ПОИСКОВОГО ПРЕДЛОЖЕНИЯ 2015
  • Кривоконь Дмитрий Сергеевич
  • Шишкин Павел Алексеевич
  • Попов Олег Сергеевич
  • Гадельшин Ильнур Флюрович
  • Сухов Михаил Александрович
  • Мельников Андрей Александрович
  • Артемов Антон Павлович
RU2609079C2
US 9898554 B2, 20.02.2018
US 9009146 B1, 14.04.2015
US 8452758 B2, 28.05.2013.

RU 2 733 481 C2

Авторы

Сафронов Александр Валерьевич

Завьялов Василий Владимирович

Даты

2020-10-01Публикация

2018-12-13Подача