Область техники, к которой относится изобретение
[1] Настоящая технология относится, в целом, к алгоритмам машинного обучения и, в частности, к способу и системе для формирования обучающего набора для алгоритма машинного обучения.
Уровень техники
[2] Алгоритмы машинного обучения (MLA, Machine Learning Algorithm) используются для удовлетворения многих потребностей в компьютерных технологиях. Обычно алгоритмы MLA применяются для формирования прогноза, связанного с взаимодействием пользователя с компьютерным устройством. В качестве примера сферы, где требуется такой прогноз, можно привести действия пользователя в отношении контента, доступного в сети Интернет.
[3] Объем информации, доступной на различных Интернет-ресурсах, в течение последних двух лет растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из примеров таких решений является поисковая система. В качестве примера можно привести поисковые системы GOOGLE™, YANDEX™, YAHOO!™ и т.д. Пользователь может получать доступ к интерфейсу такой поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ поисковая система выдает ранжированный список результатов поиска, потенциально релевантных поисковому запросу. Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, применяемых конкретной поисковой системой, используемой пользователем для поиска. Общая цель таких алгоритмов ранжирования состоит в том, чтобы представить наиболее релевантные результаты поиска в верхней части ранжированного списка, в то время как менее релевантные результаты поиска располагаются на менее заметных позициях ранжированного списка результатов поиска (позиции с наименее релевантными результатами поиска расположены в нижней части ранжированного списка результатов поиска).
[4] Поисковые системы обычно являются эффективным инструментом поиска в случае поискового запроса, когда пользователь заранее знает, что он хочет найти. Другими словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. когда тема поиска известна), он может отправить поисковый запрос: «Самые популярные места в Италии?» После этого поисковая машина представляет ранжированный список ресурсов Интернета, потенциально имеющих отношение к данному поисковому запросу. Затем пользователь может просмотреть ранжированный список результатов поиска и получить интересующую его информацию о достопримечательностях Италии. Если пользователь по какой-либо причине не удовлетворен предоставленными результатами поиска, он может повторно запустить поиск, например, с более точным поисковым запросом, таким как «Самые популярные места в Италии летом?», «Самые популярные достопримечательности на юге Италии?», «Самые популярные места для романтического отдыха в Италии?».
[5] Когда пользователь отправляет поисковый запрос, поисковая система формирует список релевантных веб-ресурсов (на основе анализа просмотренных обходчиком веб-ресурсов, указания на которые хранятся в базе данных обходчика в виде списков вхождений (posting lists) и т.п.). Затем поисковая система использует алгоритм MLA для ранжирования сформированного таким образом списка результатов поиска. Алгоритм MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Такой алгоритм MLA обучен прогнозировать степень соответствия результата поиска поисковому запросу на основе большого количества признаков, связанных с этим результатом поиска, и указаний на прошлые действия пользователей в отношении результатов поиска при отправке подобных поисковых запросов в прошлом.
[6] Перед использованием алгоритма MLA для прогнозирования релевантности результатов поиска отправленному пользователем запросу этот алгоритм MLA должен быть обучен. В зависимости от реализации алгоритма MLA, обучение может выполняться различными способами, такими как обучение с учителем, обучение без учителя и т.д. В типовом подходе к обучению алгоритму MLA предоставляется несколько обучающих примеров (размеченных обучающих наборов), используемых для обучения алгоритма MLA способности делать выводы в рамках поставленной задачи (такой как прогнозирование релевантности документов поисковому запросу). Обычно алгоритму MLA предоставляются положительные примеры (в данном случае релевантные документы) и отрицательные примеры (в данном случае нерелевантные документы).
[7] В патентной заявке US2017220575A1 «Identification of Synthetic Examples for Improving Search Ranking» («Идентификация синтетических примеров для улучшения поискового ранжирования», Shutterstock Inc., 03.07.2017) раскрыты способы, системы и машиночитаемые носители для идентификации примеров синтетических медиафайлов для обучения с учителем алгоритма MLA, предназначенного для ранжирования медиафайлов по релевантности поисковому запросу. В одном аспекте способ включает в себя идентификацию запроса к поисковой системе для коллекции медиафайлов из ранее полученных поисковых запросов и выбор по меньшей мере одного обучающего медиафайла из этой коллекции в качестве синтетического отрицательного примера для этого поискового запроса. Способ также включает в себя предоставление обучающего набора для обучения с учителем алгоритма ранжирования. Обучающий набор содержит идентификатор поискового запроса, копию обучающего медиафайла и первый указатель того, что этот обучающий медиафайл является синтетическим отрицательным примером для этого поискового запроса. Способ дополнительно включает в себя предоставление данному алгоритму поискового запроса и коллекции и получение от алгоритма данных о ранжировании этой коллекции.
[8] В статье авторов Xuanhui Wang et al. «Improved Retrieval Accuracy for Difficult Queries using Negative Feedback» («Повышение точности получения сложных запросов с использованием отрицательной обратной связи», Conference on Information and Knowledge Management (CIKM), 2007), рассматривается ситуация, когда результаты поиска настолько плохи, что ни один из документов с высоким рангом не релевантен запросу пользователя. Для повышения точности поиска по таким сложным запросам предлагается использовать отрицательную обратную связь.
Раскрытие изобретения
[9] Разработчики настоящей технологии обнаружили по меньшей мере одну техническую проблему, связанную с известными подходами.
[10] Настоящая технология относится к алгоритмам машинного обучения, в целом, и к способам и к системам для формирования обучающего набора для алгоритма машинного обучения, в частности. Как описано выше, при обучении различных основанных на обучении с учителем алгоритмов MLA, таких как основанный на дереве решений алгоритм MLA или нейронная сеть (NN, Neural Network), алгоритму MLA предоставляются обучающие наборы. Обучающие наборы представляют собой размеченные примеры, иллюстрирующие как положительные примеры, так и отрицательные примеры. Положительные примеры при обучении алгоритма MLA соответствуют наличию целевых выходных данных, отрицательные примеры при обучении алгоритма MLA соответствуют отсутствию целевых выходных данных.
[11] В общем случае положительные примеры легко сформировать. Например, примеры для пар поисковых запросов и документов можно получить с использованием журналов поисковых запросов сервера поисковой системы, при этом «клики» пользователей представляют собой хороший показатель релевантности прошлого документа прошлому пользовательскому запросу. Формирование отрицательных примеров может оказаться более сложным.
[12] Типовая система обучения алгоритма MLA использует случайные отрицательные примеры, исходя из предположения, что большинство случайных примеров будет кардинально отличаться от положительных примеров и, следовательно, они будут представлять собой подходящие отрицательные примеры. Тем не менее, на практике эффективность отрицательных примеров не равна 100% (ближе к 80%).
[13] В соответствии с первым широким аспектом настоящей технологии в системе поиска информации реализован компьютерный способ формирования обучающего набора для обучения алгоритма MLA, выполняемого на сервере, доступном для электронного устройства. Способ выполняется сервером и включает в себя извлечение из базы данных журнала поиска на сервере первого запроса, ранее отправленного на сервер, первой страницы результатов поисковой системы (SERP, Search Engine Result Page) связанной с первым запросом, второго запроса, отличного от первого запроса и отправленного после него, и второй страницы SERP, связанной со вторым запросом. Первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска. В ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формируется обучающий набор для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, причем этот обучающий набор содержит второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.
[14] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ перед формированием обучающего набора дополнительно включает в себя проверку того, были ли первый запрос и второй запрос отправлены на сервер электронным устройством в одном сеансе поиска.
[15] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, включает в себя анализ разницы во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.
[16] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый запрос и второй запрос определяются как отправленные в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.
[17] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, дополнительно включает в себя анализ первого запроса и второго запроса.
[18] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя анализ первого запроса и второго запроса для выявления некоторой степени совпадения между первым запросом и вторым запросом, и при этом формирование обучающего набора выполняется только при наличии такой степени совпадения.
[19] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется при наличии по меньшей мере одного общего условия поиска у первого запроса и второго запроса.
[20] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется при наличии по меньшей мере одного общего условия поиска у первого запроса и второго запроса.
[21] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется, если единственное условие поиска у первого запроса и второго запроса является общим.
[22] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя извлечение из базы данных журнала поиска на сервере набора параметров взаимодействия с пользователем, указывающих на один или несколько видов взаимодействия пользователя электронного устройства со второй страницей SERP для результата поиска из второго набора результатов поиска, при этом набор параметров взаимодействия с пользователем содержит «время наведения» для результата поиска и/или событие «клика» для результата поиска.
[23] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя выбор результата поиска из второго набора результатов поиска с наибольшим значением параметра взаимодействия с пользователем и выбор заранее заданного результата поиска на основе позиции этого результата поиска на второй странице SERP.
[24] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданный результат поиска соответствует первому результату поиска, имеющему ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, и/или второму результату поиска, имеющему позицию выше или ниже позиции результата поиска на первой странице SERP.
[25] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя случайный выбор заранее заданного результата поиска - первого результата поиска, имеющего ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, или второго результата поиска, занимающего позицию выше или ниже позиции результата поиска на первой странице SERP.
[26] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя анализ взаимодействия пользователя с заранее заданным результатом поиска, при этом формирование обучающего набора выполняется только если взаимодействие пользователя с заранее заданным результатом поиска оказывается ниже заранее заданного порога взаимодействия.
[27] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданный порог взаимодействия составляет тридцать секунд.
[28] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеанс поиска содержит множество страниц SERP, сформированных в ответ на множество запросов, включая первую страницу SERP и вторую страницу SERP, и множество запросов, включая первый запрос и второй запрос, при этом вторая страница SERP является последней страницей SERP из множества страниц SERP.
[29] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первая страница SERP непосредственно предшествует второй странице SERP во множестве страниц SERP.
[30] В соответствии с другим широким аспектом настоящей технологии реализована система для формирования обучающего набора для обучения алгоритма MLA, выполняемого сервером, доступным для электронного устройства и содержащим процессор. Процессор способен извлекать из базы данных журнала поиска на сервере первый запрос, ранее отправленный на сервер, первую страницу SERP, связанную с первым запросом, второй запрос, отличный от первого запроса и отправленный после него, и вторую страницу SERP, связанную со вторым запросом. Первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска. В ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, процессор способен формировать обучающий набор для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, содержащий второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.
[31] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор способен перед формированием обучающего набора проверять, были ли первый и второй запросы отправлены на сервер электронным устройством в одном сеансе поиска.
[32] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор для определения того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, способен анализировать разницу во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.
[33] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор способен определять, что первый запрос и второй запроса были отправлены в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.
[34] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать через сеть запросы (например, от электронных устройств) и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».
[35] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.
[36] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, что и процесс, обеспечивающий хранение или использование информации, хранящейся в этой базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.
[37] В контексте настоящего описания выражение «информация» означает информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя без ограничения аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[38] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.
[39] В контексте настоящего описания, если специально не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или других мест, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень точности, требуемая для такого указания, зависит от объема предварительных пояснений относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.
[40] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается здесь в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.
[41] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.
[42] Дополнительные и/или альтернативные особенности, аспекты и преимущества реализаций настоящей технологии изложены в последующем описании, на сопроводительных чертежах и в приложенной формуле изобретения.
Краткое описание чертежей
[43] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.
[44] На фиг. 1 представлена схема системы, реализованной согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[45] На фиг. 2 схематично представлен журнал запросов, связанный с электронным устройством в системе, показанной на фиг. 1.
[46] На фиг. 3 представлен пример процесса обучения алгоритма машинного обучения, используемого системой, показанной на фиг. 1.
[47] На фиг. 4 представлены две страницы результатов поисковой системы, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.
[48] На фиг. 5 представлена схема процесса формирования обучающих наборов для алгоритма машинного обучения.
Осуществление изобретения
[49] Представленные в данном описании примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.
[50] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что различные варианты осуществления данной технологии могут быть значительно сложнее.
[51] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.
[52] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.
[53] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, общего назначения и/или специализированные.
[54] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.
[55] Учитывая вышеизложенные принципы, далее рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.
[56] Как показано на фиг. 1, система 100 представляет собой систему для поиска информации и содержит электронное устройство 102. Электронное устройство 102 обычно связано с пользователем (не показан) и, как таковое, иногда может называться «клиентским устройством».
[57] В контексте настоящего описания, если явно не указано другое, термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.
[58] Электронное устройство 102 содержит энергонезависимое запоминающее устройство (ЗУ) 104. Энергонезависимое ЗУ 104 может содержать один или несколько носителей информации и в общем случае обеспечивает пространство для хранения компьютерных команд, исполняемых процессором 106. Например, энергонезависимое ЗУ 104 может быть реализовано в виде носителя, пригодного для чтения компьютером, включая ПЗУ, жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.
[59] Электронное устройство 102 содержит аппаратное и/или программное обеспечение, и/или микропрограммное обеспечение (или их сочетание), как это известно в данной области техники, для выполнения приложения 108 поисковой системы. В целом, посредством приложения 108 поиска пользователь (не показан) может выполнять поиск, например в Интернете, с использованием расположенной на сервере (описано ниже) поисковой системы. Для этого приложение 108 поисковой системы содержит интерфейс 110 поискового запроса и интерфейс 112 результатов поиска.
[60] На реализацию приложения 108 поисковой системы не накладывается особых ограничений. Один пример приложения 108 поисковой системы может быть реализован в устройстве пользователя (не показан), обращающемся к связанному с поисковой системой веб-сайту для доступа к приложению 108 поисковой системы. Например, к приложению 108 поисковой системы можно получить доступ, введя унифицированный указатель ресурса (URL, Uniform Resource Locator), связанный с поисковой системой Yandex™, на сайте www.yandex.ru. Следует ясно понимать, что к приложению 108 поисковой системы можно получить доступ с помощью любой другой коммерчески доступной или проприетарной поисковой системы.
[61] В альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии приложение 108 поисковой системы может быть реализовано как приложение браузера на портативном устройстве (таком как устройство беспроводной связи). Например, если электронное устройство 102 реализовано как портативное устройство, такое как Samsung™ Galaxy™ S10, на электронном устройстве 102 может выполняться браузерное приложение Yandex™. Следует ясно понимать, что для реализации не имеющих ограничительного характера вариантов осуществления настоящей технологии может использоваться любое другое коммерчески доступное или проприетарное приложение браузера.
[62] Электронное устройство 102 содержит пользовательский интерфейс ввода (не показан), такой как клавиатура, для приема данных, вводимых пользователем, например, в интерфейс 110 поискового запроса. На реализацию пользовательского интерфейса ввода не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализовано в виде устройства беспроводной связи (такого как смартфон iPhone™), пользовательский интерфейс ввода может быть реализован в виде программной клавиатуры (также называемой экранной или виртуальной клавиатурой). Если электронное устройство 102 реализовано как персональный компьютер, пользовательский интерфейс ввода может быть реализован в виде аппаратной клавиатуры.
[63] Электронное устройство 102 соединено с сетью 114 связи с использованием линии 116 связи. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 114 связи может представлять собой сеть Интернет. В других вариантах осуществления настоящей технологии сеть 114 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, частной сети связи и т.д.
[64] На реализацию линии 116 связи не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализовано в виде беспроводного устройства связи (такого как смартфон), линия связи (не показана) может быть реализована в виде беспроводной линии связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 102 реализовано в виде ноутбука, линия связи может быть беспроводной (такой как Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.д.) или проводной (такой как соединение на основе Ethernet).
[65] Должно быть очевидно, что варианты реализации электронного устройства 102, линии 116 связи и сети 114 связи приведены лишь для иллюстрации. Специалисту в данной области должны быть понятны и другие конкретные детали реализации электронного устройства 102, линии 116 связи и сети 114 связи. По существу, приведенные выше примеры не предназначены для ограничения объема или границ настоящей технологии.
[66] Система 100 также содержит сервер 118, соединенный с сетью 114 связи. Сервер 118 может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 118 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 118 может быть реализован на любом другом подходящем аппаратном и/или программном и/или встроенном программном обеспечении или их сочетании. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 118 реализован в виде одного сервера. В других не имеющих ограничительного характера вариантах осуществления данной технологии функции сервера 118 могут быть распределены между несколькими серверами.
[67] Практическая реализация сервера 118 хорошо известна. В целом, сервер 118 содержит интерфейс связи (не показан), структура и функции которого позволяют осуществлять связь с различными объектами (такими как электронное устройство 102 и другие устройства, которые могут быть подключены к сети 114 связи) по сети 114 связи.
[68] Сервер 118 содержит память 120 сервера, которая содержит один или несколько носителей информации и в общем случае обеспечивает пространство для хранения компьютерных программных команд, исполняемых процессором 122 сервера. Например, память 120 сервера может быть реализована как физический машиночитаемый носитель информации, включая ПЗУ и/или ОЗУ. Память 120 сервера также может включать в себя одно или несколько устройств длительного хранения, например, жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.
[69] В некоторых не имеющих ограничительного характера вариантах осуществления данной технологии сервер 118 может управляться той же организацией, что предоставляет вышеописанное приложение 108 поиска. Например, сервер 118 может управляться компанией ООО «Яндекс» (119021, Россия, Москва, ул. Льва Толстого, 16). В других вариантах осуществления сервер 118 может управляться организацией, отличной от предоставляющей приложение 108 поиска.
[70] В некоторых вариантах осуществления настоящей технологии сервер 118 обеспечивает доступ к поисковой системе 124 (такой как Yandex Search™), доступной через сеть 114 связи с использованием приложения 108 поиска. Способ практической реализации поисковой системы 124 известен в данной области техники и здесь подробно не описан. Достаточно сказать, что поисковая система 124 способна выполнять один или несколько поисковых запросов в Интернете после ввода пользователем (не показан) строки поиска в интерфейс 110 поискового запроса. Затем поисковая система 124 может передавать в электронное устройство 102 набор результатов поиска для их отображения пользователю электронного устройства 102 посредством интерфейса 112 результатов поиска в виде страницы SERP.
[71] Сервер 118 позволяет формировать ранжированный список результатов поиска, включая результаты общего и вертикального поиска в Интернете. Известно несколько алгоритмов ранжирования результатов поиска, которые могут быть реализованы сервером 118.
[72] В качестве примера, не имеющего ограничительного характера, некоторые известные способы ранжирования результатов поиска по степени соответствия поисковому запросу пользователя основаны на некоторых или всех следующих критериях: (а) популярность поискового запроса или соответствующего ответа при выполнении поисков; (б) количество результатов; (в) наличие в запросе определяющих терминов (таких как «изображения», «фильмы», «погода» и т.п.); (г) частота использования другими пользователями данного поискового запроса с определяющими терминами; (д) частота выбора другими пользователями, выполнявшими подобный поиск, определенного ресурса или определенных результатов вертикального поиска, когда результаты были представлены с использованием страницы SERP. Сервер 118 поисковой системы может рассчитывать и назначать оценку релевантности (основанную на различных представленных выше критериях) для каждого результата поиска, полученного по поисковому запросу пользователя, а также формировать страницу SERP, где результаты поиска ранжированы согласно их оценкам релевантности. В данном варианте осуществления изобретения сервер 118 поисковой системы может выполнять множество алгоритмов машинного обучения для ранжирования документов и/или формировать признаки для ранжирования документов.
[73] В некоторых не имеющих ограничительного характера вариантах осуществления данной технологии сервер 118 связан с базой данных 126 журнала по выделенному каналу (не обозначено). Обычно база 126 журналов может поддерживать журнал 128 запросов.
[74] Журнал 128 запросов предназначен для регистрации поисков, выполненных с использованием сервера 118. В частности, в журнале 128 запросов хранятся термины поисковых запросов (т.е. искомые слова) и связанные с ними результаты поиска. Следует отметить, что журнал 128 запросов может поддерживаться в обезличенной форме, когда поисковые запросы невозможно соотнести с пользователями, отправившими эти поисковые запросы.
[75] В частности, журнал 128 запросов может содержать список запросов с соответствующими терминами и информацией о документах, список которых был передан сервером 118 в ответ на соответствующий запрос, метку времени, а также может содержать список пользователей с их анонимными идентификаторами и соответствующие документы, выбранные ими после отправки запроса. В некоторых вариантах осуществления настоящей технологии журнал 128 запросов может обновляться каждый раз, когда на сервере 118 выполняется новый поиск. В других вариантах осуществления изобретения журнал 128 запросов может обновляться в заранее заданные моменты времени. В некоторых вариантах осуществления изобретения может существовать множество копий журнала 128 запросов, каждая из которых соответствует журналу 128 запросов в различные моменты времени.
[76] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии журнал 128 запросов дополнительно содержит параметры взаимодействия с пользователем, указывающие на действия, такие как «клики» на одном или нескольких документах на странице SERP.
[77] Неограничивающие примеры параметров взаимодействия с пользователем, хранящихся в журнале 128 запросов, включают в себя (но не ограничиваются ими):
- проигрыш/выигрыш - был результат поиска в ответе на поисковый запрос выбран или нет (событие «клика»);
- время ожидания - время, затраченное пользователем на результат поиска до возврата на страницу SERP или до прекращения поиска (например, из-за того, что пользователь нашел нужную информацию);
- время наведения - время, на которое пользователь наводит курсор на результат поиска;
- длинный/короткий «клик»: было ли действие пользователя в отношении результата поиска долгим или коротким по сравнению с действиями пользователя в отношении других документов на данной странице SERP.
[78] Разумеется, что представленный выше список не является исчерпывающим и может включать в себя другие виды действий пользователей без выхода за границы настоящей технологии.
[79] На фиг. 2 приведена схематическая иллюстрация журнала 128 запросов, связанного с электронным устройством 102.
[80] В проиллюстрированном примере журнала 128 запросов электронного устройства 102 показано, что электронное устройство 102 отправило 5 запросов (а именно, первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210). Каждый из этих 5 запросов связан с соответствующей отметкой 212 времени, соответствующей страницей 214 SERP и соответствующим параметром 216 взаимодействия с пользователем. Несмотря на то, что журнал 128 запросов электронного устройства 102 содержит лишь 5 запросов, это не является ограничением и предполагается, что журнал 128 запросов может содержать больше или меньше 5 запросов.
[81] На иллюстрациях показано, что пользователь, связанный с электронным устройством 102, выполнил несколько поисковых запросов с двумя разными намерениями. В частности, у пользователя было два намерения в отношении поиска - каждый поиск содержал одно или несколько уточнений. В контексте настоящей технологии термин «уточнение» соответствует поисковому запросу, в котором совпадает или имеется по меньшей мере один общий поисковый термин с предыдущим поисковым запросом. В частности, уточнения возникают, когда пользователь отправляет первый поисковый запрос (обычно более широкий поисковый запрос) и не удовлетворен результатами поиска, представленными в ответ на него (например, результаты поиска слишком широкие и не соответствуют намерению пользователя). Тогда пользователь отправляет второй поисковый запрос, содержащий более узкие, более сфокусированные условия поиска, соотнося поиск с целью поиска.
[82] Например, пятый поисковый запрос 210 «pizza montreal takeout» («пицца Монреаль на вынос») является уточнением четвертого поискового запроса 208 «pizza montreal» («пицца Монреаль»). В другом примере третий поисковый запрос 206 «103 rejection USPTO overcome» («отказ по ст. 103 Патентное ведомство США преодоление») является уточнением предыдущего второго поискового запроса 204 «103 rejection USPTO» («отказ по ст. 103 Патентное ведомство США»), который сам по себе также является уточнением предыдущего первого поискового запроса 202 «103 rejection» («отказ по ст. 103»). В целом, наличие уточнения в цепочке поисковых запросов указывает на то, что поисковое намерение пользователя не было должным образом учтено в более ранних запросах, а последнее уточнение потенциально обеспечило удовлетворение пользователя результатами (т.е. пользователь прекратил поиск после достижения цели поиска).
[83] Кроме того, следует отметить, что сразу после поиска по третьему поисковому запросу 206 в отношении того, как преодолеть отказ Патентного ведомства США по ст. 103, пользователь отправил запрос совершенно другого вида, а именно, где купить пиццу на вынос в Монреале. Это, в свою очередь, может указывать на то, что пользователь осуществил поисковое намерение и теперь сосредоточился на другом поисковом намерении.
[84] На фиг. 1 также показано, что к серверу 118 через выделенный канал подключен сервер 130 обучения. Сервер 130 обучения может быть реализован как традиционный компьютерный сервер. В примере осуществления настоящей технологии сервер 130 обучения может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 130 обучения может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 130 обучения могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и системы могут быть реализованы на сервере 130 обучения частично. В некоторых вариантах осуществления настоящей технологии сервер 130 обучения управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 130 обучения может управляться и/или администрироваться другим поставщиком услуг. Несмотря на то, что сервер 130 обучения показан на чертежах как сервер, отличный от сервера 118, предполагается, что функциональные возможности сервера 130 обучения, описанные ниже, могут выполняться сервером 118.
[85] В целом, цель сервера 130 обучения состоит в обучении одного или нескольких алгоритмов MLA, используемых поисковой службой 124, путем формирования обучающего набора.
[86] Сервер 130 обучения может, например, обучать один или несколько алгоритмов MLA, связанных с сервером 118, для улучшения общего поиска в Интернете, вертикального поиска в Интернете, предоставления рекомендаций, прогнозирования результатов и других вариантов применения. Обучение и усовершенствование алгоритма MLA может выполняться в заранее заданные периоды времени или когда поставщик поисковой системы сочтет это необходимым.
Обучение алгоритма MLA
[87] На фиг. 3 изображена схематическая иллюстрация процесса обучения алгоритма 300 MLA. Алгоритм 300 MLA используется поисковой службой 124.
[88] Для лучшего понимания базовых концепций настоящей технологии следует понимать, что в целом обучение алгоритма 300 MLA можно разделить на первый и второй этапы. На первом этапе формируются обучающие входные данные 304 (описанные ниже). На втором этапе алгоритм 300 MLA обучается с использованием обучающих входных данных 304. Кроме того, несмотря на то, что шаги обучения алгоритма 300 MLA представлены как выполняемые сервером 130 обучения, предполагается, что алгоритм 300 MLA может обучаться другим объектом, таким как сервер 118.
[89] В соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии, формирование обучающих входных данных 304 начинается с того, что сервер 130 обучения получает пакет 302 данных от базы 126 данных журнала. Пакет 302 данных содержит журнал 128 запросов, связанный с электронным устройством 102 (см. фиг. 2). Несмотря на то, что согласно описанию, сервером 130 обучения извлекается только журнал 128 запросов, связанный с электронным устройством 102, следует понимать, что это сделано лишь для простоты объяснения. Предполагается, что пакет 302 данных может содержать один или несколько журналов запросов, связанных с другими электронными устройствами (не показаны), или, другими словами, журналы запросов, связанные с поисками нескольких пользователей. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 130 обучения может извлекать журнал 128 запросов периодически, например, раз в день, раз в неделю и т.п. В другом не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может извлекать один или несколько журналов запросов, соответствующих заранее заданным критериям, например, журналы запросов с поисковыми запросами, выполненными за последний час, за прошедший день и т.п.
[90] После получения журнала 128 запросов сервер 130 обучения может идентифицировать один или несколько сеансов поиска в журнале 128 запросов. В контексте настоящей технологии термин «сеанс поиска» относится к периоду времени, начинающемуся с того, что пользователь начинает поиск (например, с запуска приложения 108 поисковой системы) и заканчивается после завершения поиска пользователем (например, после закрытия приложения 108 поисковой системы). В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеанс поиска определяется периодом времени, например 7 минутами. Другими словами, один или несколько поисковых запросов, отправленных в течение 7-минутного скользящего периода, совместно образуют сеанс поиска. Следует отметить, что в других не имеющих ограничительного характера вариантах осуществления настоящей технологии используемый период времени может варьироваться (т.е. может быть больше или меньше 7 минут).
[91] На фиг. 2 сервер 130 обучения идентифицировал сеанс 218 поиска, содержащий первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210, все отправленные в течение 7 минут.
[92] На фиг. 3 показано, что после идентификации сеанса 218 поиска сервер 130 обучения может выбирать два поисковых запроса из сеанса 218 поиска. В целом, не имеющие ограничительного характера варианты осуществления настоящей технологии предполагают два способа выбора двух поисковых запросов в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
Уточнение
[93] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии два поисковых запроса соответствуют поисковому запросу и его уточнению.
[94] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии, где множество поисковых запросов совместно образуют цепочку измененных формулировок, сервер 130 обучения может выбирать самый последний поисковый запрос (т.е. третий поисковый запрос 206 и пятый поисковый запрос 210) и непосредственно предшествующий ему поисковый запрос. Другими словами, два поисковых запроса могут выбираться только при совпадении единого общего условия поиска или при наличии по меньшей мере одного общего условия поиска у двух последовательных поисковых запросов. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии отрицательные примеры могут быть сформированы с использованием любых двух поисковых запросов. В других не имеющих ограничительного характера вариантах осуществления два запроса проверяются на степень совпадения условий запроса и используются для формирования отрицательного примера только при заранее заданном количестве совпадающих условий поиска, например, при одном совпадающем поисковом термине или при не менее двух совпадающих поисковых терминах. Эти различные не имеющие ограничительного характера варианты осуществления полезны для уравновешивания сходства поисковых запросов (путем проверки условий поиска в целом) и обеспечения того, чтобы результаты поиска были достаточно разными (для формирования хороших отрицательных примеров).
[95] Следует понимать, что в приведенном выше примере первый запрос шире, а второй запрос уже для более точной фокусировки поиска, поскольку первый запрос предположительно не дал удовлетворительных результатов. Таким образом, наличие уточнения в сеансе поиска является сигналом, указывающим на наличие отрицательного примера, что дополнительно описано ниже.
Отсутствие уточнения / случайность
[96] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии два поисковых запроса выбираются случайным образом или, другими словами, как не следующие друг за другом изменения формулировки. Например, два поисковых запроса могут включать в себя пятый поисковый запрос 210 «pizza montreal takeout» и третий поисковый запрос 206 «103 rejection USPTO overcome».
[97] Следует понимать, что в приведенном выше примере два несвязанных поисковых запроса и их соответствующие результаты поиска могут быть полезными при формировании отрицательных обучающих примеров, как описано ниже.
[98] После определения двух поисковых запросов из сеанса 218 поиска сервер 130 обучения может проанализировать соответствующую страницу SERP. Для примера можно предположить, что два поисковых запроса соответствуют второму поисковому запросу 204 и третьему поисковому запросу 206.
[99] На фиг. 4 изображены первая страница 402 SERP второго поискового запроса 204 и вторая страница 404 SERP третьего поискового запроса 206, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.
[100] В проиллюстрированном примере и первая страница 402 SERP, и вторая страница 404 SERP включает в себя соответствующий набор результатов поиска (содержащий четыре результата поиска, соответственно). Следует понимать, что это не является ограничением, и предполагается, что и первая страница 402 SERP, и вторая страница 404 SERP могут содержать больше или меньше четырех результатов поиска. Эти четыре результата поиска расположены согласно их релевантности (в порядке убывания).
[101] Затем сервер 130 обучения способен формировать обучающие входные данные 304 (см. фиг. 3). В целом, обучающие входные данные 304 являются отрицательным обучающим примером для обучения алгоритма 300 MLA на втором этапе и содержат третий поисковый запрос 206 в паре с одним из результатов поиска с первой страницы 402 SERP. Как проиллюстрировано ниже, настоящая технология включает в себя не имеющие ограничительного характера варианты идентификации результата поиска с первой страницы 402 SERP, сопоставляемого с третьим поисковым запросом 206.
[102] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 130 обучения случайным образом выбирает результат поиска с первой страницы 402 SERP для сопоставления с третьим поисковым запросом 206.
[103] В еще одном не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может выбирать результат поиска с первой страницы 402 SERP на основе параметра 216 взаимодействия с пользователем, связанного с третьим поисковым запросом 206. В частности, учитывая, что журнал 128 запросов содержит параметр 216 взаимодействия с пользователем, указывающий на один или несколько видов действий пользователя электронного устройства 102 в отношении каждого из поисковых запросов, сервер 130 обучения позволяет выбирать результат поиска на второй странице 404 SERP, получивший наибольшее количество действий.
[104] Например, можно предположить, что параметр 216 взаимодействия пользователя для третьего поискового запроса 206 указывает на то, что пользователь больше всего взаимодействовал с третьим результатом 406 поиска (выбрал только третий результат поиска 406), который расположен в третьей позиции на второй странице 404 SERP.
[105] Тогда сервер 130 обучения может выбрать результат 408 поиска, расположенный в той же позиции (то есть в третьей позиции) на первой странице 402 SERP, для сопоставления с третьим поисковым запросом 206. В альтернативном не имеющем ограничительного характера варианте осуществления сервер 130 обучения может выбрать результат поиска, расположенный в случайной позиции в пределах заранее заданного расстояния от той же позиции (то есть от третьего места) на первой странице 402 SERP, сопоставляемой с третьим поисковым запросом 206. Например, сервер 130 обучения может случайным образом выбрать результат поиска из результатов поиска, расположенных на одну позицию ниже, в той же позиции или на одну позицию выше третьей позиции на первой странице 402 SERP («Результат № 2» и/или «Результат № 4»), для сопоставления с третьим поисковым запросом 206.
[106] В не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может дополнительно проверять параметр взаимодействия с пользователем, связанный с выбранным таким образом результатом поиска с первой страницы 402 SERP. В частности, если предположить, что был выбран результат 408 поиска, сервер 130 обучения может определять, указывает ли параметр взаимодействия с пользователем для результата 408 поиска на то, что время ожидания пользователя было меньше заранее заданного порога, например, равного 30 секундам (или любого другого подходящего временного интервала). Если параметр взаимодействия с пользователем превышает заданный порог, сервер 130 обучения может отбрасывать результат поиска 408, сопоставляемого с третьим поисковым запросом 206, и переходить к проверке других результатов поиска на первой странице 402 SERP (или на других страницах SERP того же сеанса поиска или сеансов поиска других пользователей) для сопоставления с третьим поисковым запросом 206. Это основано на предположении, что даже если пользователь уточнил поисковый запрос, но потребовалось более 30 секунд для получения определенного результата поиска, то результат поиска содержал некоторую информацию, которая была воспринята как подходящая для пользователя и, следовательно, его следует исключить при формировании отрицательных примеров.
[107] Несмотря на то, что приведенное выше описание формирования отрицательных обучающих примеров относится к двум поисковым запросам, являющимся измененными формулировками или уточнениями (то есть ко второму поисковому запросу 204 и третьему поисковому запросу 206), оно этим не ограничено. В действительности, как обсуждалось выше, в дополнение или вместо второго поискового запроса 204 и третьего поискового запроса 206 сервер 130 обучения может формировать один или несколько отрицательных обучающих примеров из других пар поисковых запросов, таких как, например, пятый поисковый запрос 210 и первый поисковый запрос 202. Более того, несмотря на то, что один или несколько отрицательных обучающих примеров описаны как сформированные на основе лишь части журнала 128 запросов, связанной с электронным устройством 102, следует понимать, что это сделано для простоты объяснения и предполагается, что другие отрицательные обучающие примеры могут быть сформированы с использованием одного или нескольких журналов запросов, связанных с одним или несколькими электронными устройствами (отличными от электронного устройства 102), а также обновленной версии журнала 128 запросов, когда электронное устройство 102 выполняет дополнительные поисковые запросы. Также предполагается, что поскольку пользователь может иметь несколько целей поиска в течение одного сеанса поиска, с использованием простого сеанса поиска может быть сформировано несколько отрицательных примеров, например, один отрицательный пример для каждого поискового намерения, проявленного во время одного сеанса поиска.
[108] Отрицательные обучающие примеры, сформированные для сеанса 218 поиска, образуют обучающие входные данные 304. Очевидно, что несмотря на описание лишь одного случая формирования отрицательных обучающих примеров, следует ясно понимать, что это сделано для простоты объяснения и что обучающие входные данные 304 могут содержать больше отрицательных обучающих примеров, сформированных из других журналов поиска.
[109] Несмотря на то, что в приведенном выше описании обучающие входные данные 304 содержат лишь отрицательные обучающие примеры, это не является ограничением. Предполагается, что сервер 130 обучения может формировать один или несколько положительных обучающих примеров. Например, если пользователь нажал на третий результат 406 поиска в ответ на третий поисковый запрос 206, сервер 130 обучения может сформировать положительный обучающий пример, в котором третий результат 406 поиска сопоставлен с третьим поисковым запросом 206.
[110] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для определения того, что третий результат 406 поиска должен использоваться для положительного обучающего примера, сервер 130 обучения может определять, был ли просмотрен третий результат 406 поиска (или взаимодействовал ли пользователь с ним другим образом) в течение заранее заданного времени, до формирования положительного обучающего примера, в котором третий результат 406 поиска сопоставлен с третьим поисковым запросом 206. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданное время соответствует 30 секундам. Очевидно, что заранее заданное время может быть больше или меньше 30 секунд.
[111] В другом не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения способен назначать оценку ранжирования каждому результату поиска на второй странице 404 SERP. На реализацию такого ранжирования не накладывается ограничений. Например, оценка ранжирования может быть двоичным числом, где результату поиска, выбранному пользователем и являющемуся подходящим кандидатом для положительных примеров обучения (например, третьему результату 406 поиска), присваивается оценка ранжирования 1, а невыбранные результаты поиска (т.е. потенциально подходящие для отрицательных обучающих примеров) получают оценку 0 (или наоборот). В другом примере оценка ранжирования может быть целочисленной оценкой, основанной на продолжительности просмотра для всех видов или для конкретного вида взаимодействия с результатами поиска. Например, если пользователь просматривал третий результат 406 поиска в течение 1300 секунд, оценка ранжированная может составлять log(1300) (или 3,114). В некоторых не имеющих ограничительного характера вариантах осуществления время просмотра может быть ограничено 10 минутами (т.е. 600 секундами) или любым другим значением, тогда если пользователь просматривал третий результат 406 поиска в течение 1300 секунд, оценка ранжирования составляет log(600). Результатам поиска, оставшимся без просмотра, присваивается оценка ранжирования 0.
[112] После присвоения оценок ранжирования каждому из результатов поиска, включенных во вторую страницу 404 SERP, для формирования положительного обучающего примера сервер 130 обучения может сопоставлять результат поиска с высшей оценкой с третьим поисковым запросом 206.
[113] Далее со ссылкой на фиг. 3 описано обучение алгоритма 300 MLA с использованием обучающих входных данных 304.
[114] Обучающие входные данные 304 вводятся в алгоритм 300 MLA. Алгоритм 300 MLA содержит логику обучения для определения набора признаков, связанных с каждым отрицательным примером обучения. На реализацию алгоритма 300 MLA не накладывается ограничений. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии алгоритм 300 MLA реализован как нейронная сеть.
[115] В частности, с учетом того, что каждый из обучающих примеров является отрицательным обучающим примером, алгоритм 300 MLA может определять, какой набор признаков указывает на низкую релевантность результата поиска поисковому запросу.
[116] Соответственно, алгоритм 300 MLA может формировать предполагаемую функцию, когда он выполняется сервером 118 как частью поисковой службы 124, способной назначать параметр ранжирования результату поиска в ответ на полученный поисковый запрос этапа использования на основе набора признаков, связанных с поисковым запросом и с результатом поиска.
[117] Несмотря на то что, здесь представлен лишь один пример обучения алгоритма 300 MLA, это сделано для простоты иллюстрации. Следует ясно понимать, что обучение алгоритма 300 MLA выполняется итерационно с использованием множества как отрицательных, так и положительных обучающих примеров.
[118] Приведенные выше архитектура и примеры позволяют выполнять реализуемый на компьютере вышеуказанный способ. Способ 500 выполняется в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии. Способ 500 может выполняться сервером 130 обучения.
[119] Шаг 502: извлечение из базы данных журнала поиска на сервере первого запроса, ранее отправленного на сервер, первой страницы SERP, связанной с первым запросом, второго запроса, отличного от первого запроса и отправленного после первого запроса, и второй страницы SERP, связанной со вторым запросом, причем первый запрос и второй запрос были отправлены электронным устройством.
[120] Способ 500 начинается на шаге 502, на котором сервер 130 обучения извлекает журнал 128 запросов электронного устройства 102 из базы 126 журналов с использованием пакета 302 данных.
[121] В представленном примере журнала 128 запросов электронного устройства 102 показано, что электронное устройство 102 отправило 5 запросов (а именно, первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210). Каждый из этих 5 запросов связан с соответствующей отметкой 212 времени, соответствующей страницей 214 SERP и соответствующим параметром 216 взаимодействия с пользователем. Несмотря на то, что журнал 128 запросов электронного устройства 102 содержит лишь 5 запросов, это не является ограничением и предполагается, что журнал 128 запросов может содержать больше или меньше 5 запросов.
[122] Шаг 504: в ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формирование обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, содержащего второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.
[123] На шаге 504 сервер обучения способен идентифицировать сеанс 218 поиска.
[124] Идентифицировав один или несколько сеансов поиска в журнале 128 запросов, сервер 130 обучения дополнительно может выбрать два поисковых запроса из сеанса 218 поиска. Например, если в качестве примера взять сеанс 218 поиска, сервер 130 обучения может выбрать третий поисковый запрос 206 и либо первый поисковый запрос 202, либо второй поисковый запрос 204 (непосредственно предшествующий третьему поисковому запросу 206).
[125] Идентифицировав два поисковых запроса из сеанса 218 поиска и второго сеанса 220 поиска, сервер 130 обучения может проанализировать соответствующую страницу SERP.
[126] На фиг. 4 показаны первая страница 402 SERP для второго поискового запроса 204 и вторая страница 404 SERP для третьего поискового запроса 206, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.
[127] В представленном примере и первая страница 402 SERP, и вторая страница 404 SERP содержат соответствующие наборы результатов поиска (содержащие по четыре результата поиска, соответственно). Следует понимать, что это не является ограничением и предполагается, что и первая страница 402 SERP, и вторая страница 404 SERP может содержать больше или меньше четырех результатов поиска. Четыре результата поиска расположены согласно их релевантности (в порядке убывания).
[128] Затем сервер 130 обучения формирует обучающие входные данные 304. В целом, обучающие входные данные 304 являются отрицательным обучающим примером для обучения алгоритма 300 MLA на втором этапе и содержат третий поисковый запрос 206 в паре с одним из результатов поиска с первой страницы 402 SERP.
[129] Затем способ 500 завершается или возвращается к шагу 502 с новым журналом запросов.
[130] Специалистам в данной области должно быть очевидно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение арсенала технических решений конкретной технической проблемы, с которой сталкивается традиционный метод.
[131] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не может использовать некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь использует другие технические эффекты, либо технический эффект полностью отсутствует.
[132] Модификации и улучшения описанных выше вариантов реализации настоящей технологии могут быть очевидными для специалистов в данной области техники. Предшествующее описание приведено лишь в качестве примера, но не для ограничения объема изобретения. Следовательно, объем настоящей технологии ограничен исключительно объемом приложенной формулы изобретения.
[133] Несмотря на то, что описанные выше варианты реализации приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или что их порядок может быть изменен без отклонения от настоящей технологии. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.
название | год | авторы | номер документа |
---|---|---|---|
Система и способ формирования обучающего набора для алгоритма машинного обучения | 2018 |
|
RU2744029C1 |
СПОСОБ И СЕРВЕР ДЛЯ ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ РАНЖИРОВАНИЮ ОБЪЕКТОВ | 2020 |
|
RU2782502C1 |
СПОСОБ И СИСТЕМА ДЛЯ РАСШИРЕНИЯ ПОИСКОВЫХ ЗАПРОСОВ С ЦЕЛЬЮ РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА | 2018 |
|
RU2720905C2 |
СПОСОБ И СЕРВЕР ДЛЯ ПОВТОРНОГО ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2019 |
|
RU2743932C2 |
СПОСОБ И СЕРВЕР ДЛЯ ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ ФОРМИРОВАНИЮ ТЕКСТОВОЙ ВЫХОДНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ | 2020 |
|
RU2798362C2 |
Способ и система для формирования карточки объекта | 2018 |
|
RU2739554C1 |
Способ и сервер для формирования расширенного запроса | 2021 |
|
RU2813582C2 |
СИСТЕМА И СПОСОБ ФОРМИРОВАНИЯ ОБУЧАЮЩЕГО НАБОРА ДЛЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2017 |
|
RU2711125C2 |
СПОСОБ И СИСТЕМА ГЕНЕРИРОВАНИЯ ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТА | 2018 |
|
RU2733481C2 |
СПОСОБ И СЕРВЕР ГЕНЕРИРОВАНИЯ МЕТА-ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТОВ | 2018 |
|
RU2721159C1 |
Настоящая технология относится к алгоритмам машинного обучения для формирования обучающего набора для алгоритма машинного обучения в поисковых системах. Способ выполняется сервером и включает в себя извлечение из базы данных журнала поиска на сервере первого запроса, ранее отправленного на сервер, первой страницы SERP, связанной с первым запросом, второго запроса, отличного от первого запроса и отправленного после первого запроса, и второй страницы SERP, связанной со вторым запросом, причем первый запрос и второй запрос были отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска. В ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формируется обучающий набор для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA. Технический результат – обеспечение определения релевантных данных по близким родственным запросам и документам с целью повышения контрастности примером при обучении, повышая качество обучения MLA. 2 н. и 18 з.п. ф-лы, 5 ил.
1. Компьютерный способ формирования обучающего набора для обучения алгоритма машинного обучения (MLA), реализованного в системе поиска информации и выполняемого сервером, доступным для электронного устройства, выполняемый сервером и включающий в себя:
- извлечение из базы данных журнала поиска на сервере (а) первого запроса, ранее отправленного на сервер, (б) первой страницы результатов поисковой системы (SERP), связанной с первым запросом, (в) второго запроса, отличного от первого запроса и отправленного после первого запроса, и (г) второй страницы SERP, связанной со вторым запросом, при этом первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска; и
- в ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формирование обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, при этом обучающий набор содержит второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.
2. Способ по п. 1, отличающийся тем, что перед формированием обучающего набора способ дополнительно включает в себя проверку того, были ли первый и второй запросы отправлены на сервер электронным устройством в одном сеансе поиска.
3. Способ по п. 2, отличающийся тем, что определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, включает в себя анализ разницы во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.
4. Способ по п. 3, отличающийся тем, что первый запрос и второй запрос определяются как отправленные в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.
5. Способ по п. 3, отличающийся тем, что определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, дополнительно включает в себя анализ первого запроса и второго запроса.
6. Способ по п. 5, отличающийся тем, что способ дополнительно включает в себя анализ первого запроса и второго запроса для выявления некоторой степени совпадения между первым запросом и вторым запросом, при этом формирование обучающего набора выполняется только при наличии такой степени совпадения.
7. Способ по п. 6, отличающийся тем, что степень совпадения выявляется при наличии по меньшей мере одного общего условия поиска у первого запроса и второго запроса.
8. Способ по п. 7, отличающийся тем, что степень совпадения выявляется при наличии общего единственного условия поиска у первого запроса и второго запроса.
9. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя извлечение из базы данных журнала поиска на сервере набора параметров взаимодействия с пользователем, указывающих на один или несколько видов взаимодействия пользователя электронного устройства со второй страницей SERP для результата поиска из второго набора результатов поиска, при этом набор параметров взаимодействия с пользователем содержит время наведения для этого результата поиска и/или событие «клика» для этого результата поиска.
10. Способ по п. 9, отличающийся тем, что он дополнительно включает в себя выбор результата поиска из второго набора результатов поиска с наибольшим значением параметра взаимодействия с пользователем и выбор заранее заданного результата поиска на основе позиции этого результата поиска на второй странице SERP.
11. Способ по п. 10, отличающийся тем, что заранее заданный результат поиска соответствует первому результату поиска, имеющему ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, и/или второму результату поиска, имеющему позицию выше или ниже позиции результата поиска на первой странице SERP.
12. Способ по п. 11, отличающийся тем, что он дополнительно включает в себя случайный выбор заранее заданного результата поиска из первого результата поиска, имеющего ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, и второго результата поиска, имеющего позицию выше или ниже позиции результата поиска на первой странице SERP.
13. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя анализ взаимодействия пользователя с заранее заданным результатом поиска, при этом формирование обучающего набора выполняется только, если взаимодействие пользователя с заранее заданным результатом поиска оказывается ниже заранее заданного порога взаимодействия.
14. Способ по п. 13, отличающийся тем, что заранее заданный порог взаимодействия составляет тридцать секунд.
15. Способ по п. 1, отличающийся тем, что сеанс поиска содержит множество страниц SERP, сформированных в ответ на множество запросов, включая первую страницу SERP и вторую страницу SERP, и множество запросов, включая первый запрос и второй запрос, при этом вторая страница SERP является последней страницей SERP из множества страниц SERP.
16. Способ по п. 15, отличающийся тем, что первая страница SERP непосредственно предшествует второй странице SERP во множестве страниц SERP.
17. Система для формирования обучающего набора для обучения алгоритма машинного обучения (MLA), исполняемого сервером, доступным для электронного устройства и содержащим процессор, выполненный с возможностью:
- извлечения из базы данных журнала поиска на сервере (а) первого запроса, ранее отправленного на сервер, (б) первой страницы результатов поисковой системы (SERP), связанной с первым запросом, (в) второго запроса, отличного от первого запроса и отправленного после первого запроса, и (г) второй страницы SERP, связанной со вторым запросом, при этом первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска; и
- в ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формирования обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, при этом обучающий набор содержит второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.
18. Система по п. 17, отличающаяся тем, что процессор выполнен с возможностью проверки того, были ли первый и второй запросы отправлены на сервер электронным устройством в одном сеансе поиска, перед формированием обучающего набора.
19. Система по п. 18, отличающаяся тем, что для определения того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, процессор выполнен с возможностью анализа разницы во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.
20. Система по п.19, отличающаяся тем, что процессор выполнен с возможностью определения первого запроса и второго запроса как отправленных в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.
US 2016042296 A1, 11.02.2016 | |||
US 20150012524 A1, 08.01.2015 | |||
US 20160299899 A1, 13.10.2016 | |||
US 2011093459 A1, 21.04.2011. |
Авторы
Даты
2023-02-14—Публикация
2020-06-01—Подача