RU2790033C2 - System and method for formation of training set for machine learning algorithm - Google Patents

System and method for formation of training set for machine learning algorithm Download PDF

Info

Publication number
RU2790033C2
RU2790033C2 RU2020117960A RU2020117960A RU2790033C2 RU 2790033 C2 RU2790033 C2 RU 2790033C2 RU 2020117960 A RU2020117960 A RU 2020117960A RU 2020117960 A RU2020117960 A RU 2020117960A RU 2790033 C2 RU2790033 C2 RU 2790033C2
Authority
RU
Russia
Prior art keywords
search
request
query
serp
page
Prior art date
Application number
RU2020117960A
Other languages
Russian (ru)
Other versions
RU2020117960A (en
Inventor
Эдуард Мечиславович Волынец
Original Assignee
Общество С Ограниченной Ответственностью «Яндекс»
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью «Яндекс» filed Critical Общество С Ограниченной Ответственностью «Яндекс»
Priority to RU2020117960A priority Critical patent/RU2790033C2/en
Priority to US17/123,749 priority patent/US20210374606A1/en
Publication of RU2020117960A publication Critical patent/RU2020117960A/en
Application granted granted Critical
Publication of RU2790033C2 publication Critical patent/RU2790033C2/en

Links

Images

Abstract

FIELD: machine learning.
SUBSTANCE: present technology relates to machine learning algorithms for formation of a training set for a machine learning algorithm in search engines. The method is implemented by a server, and it includes extraction from a database of a search log on the server of the first request previously sent to the server, the first SERP page related to the first request, the second request other than the first request and sent after the first request, and the second SERP page related to the second request. In this case, the first request and the second request are sent by an electronic device, the first SERP page contains the first set of search results, and the second SERP page contains the second set of search results. In response to the second request sent in the same search session as the first request, a training set is formed for use as negative training examples in training MLA algorithm.
EFFECT: provision of determination of relevant data by close related requests and documents to increase contrast by an example in training, increasing the quality of MLA training.
20 cl, 5 dwg

Description

Область техники, к которой относится изобретениеThe technical field to which the invention belongs

[1] Настоящая технология относится, в целом, к алгоритмам машинного обучения и, в частности, к способу и системе для формирования обучающего набора для алгоритма машинного обучения.[1] The present technology relates generally to machine learning algorithms and, in particular, to a method and system for generating a training set for a machine learning algorithm.

Уровень техникиState of the art

[2] Алгоритмы машинного обучения (MLA, Machine Learning Algorithm) используются для удовлетворения многих потребностей в компьютерных технологиях. Обычно алгоритмы MLA применяются для формирования прогноза, связанного с взаимодействием пользователя с компьютерным устройством. В качестве примера сферы, где требуется такой прогноз, можно привести действия пользователя в отношении контента, доступного в сети Интернет.[2] Machine learning algorithms (MLA, Machine Learning Algorithm) are used to meet many needs in computer technology. Typically, MLA algorithms are used to generate predictions related to user interaction with a computing device. An example of an area where such a forecast is required is the user's actions in relation to content available on the Internet.

[3] Объем информации, доступной на различных Интернет-ресурсах, в течение последних двух лет растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из примеров таких решений является поисковая система. В качестве примера можно привести поисковые системы GOOGLE™, YANDEX™, YAHOO!™ и т.д. Пользователь может получать доступ к интерфейсу такой поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ поисковая система выдает ранжированный список результатов поиска, потенциально релевантных поисковому запросу. Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, применяемых конкретной поисковой системой, используемой пользователем для поиска. Общая цель таких алгоритмов ранжирования состоит в том, чтобы представить наиболее релевантные результаты поиска в верхней части ранжированного списка, в то время как менее релевантные результаты поиска располагаются на менее заметных позициях ранжированного списка результатов поиска (позиции с наименее релевантными результатами поиска расположены в нижней части ранжированного списка результатов поиска).[3] The volume of information available on various Internet resources has grown exponentially over the past two years. Several solutions have been developed to help the typical user find the information they need. One example of such solutions is a search engine. Examples include search engines GOOGLE™, YANDEX™, YAHOO!™, etc. The user may access the interface of such a search engine and submit a search query related to information to be found on the Internet. In response, the search engine returns a ranked list of search results that are potentially relevant to the search query. The ranked list of search results is generated based on various ranking algorithms applied by the particular search engine used by the user to search. The general goal of such ranking algorithms is to present the most relevant search results at the top of the ranked list, while the less relevant search results are placed in the less prominent positions of the ranked list of search results (the positions with the least relevant search results are located at the bottom of the ranked list). list of search results).

[4] Поисковые системы обычно являются эффективным инструментом поиска в случае поискового запроса, когда пользователь заранее знает, что он хочет найти. Другими словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. когда тема поиска известна), он может отправить поисковый запрос: «Самые популярные места в Италии?» После этого поисковая машина представляет ранжированный список ресурсов Интернета, потенциально имеющих отношение к данному поисковому запросу. Затем пользователь может просмотреть ранжированный список результатов поиска и получить интересующую его информацию о достопримечательностях Италии. Если пользователь по какой-либо причине не удовлетворен предоставленными результатами поиска, он может повторно запустить поиск, например, с более точным поисковым запросом, таким как «Самые популярные места в Италии летом?», «Самые популярные достопримечательности на юге Италии?», «Самые популярные места для романтического отдыха в Италии?».[4] Search engines are usually an effective search tool in the case of a search query, when the user knows in advance what he wants to find. In other words, if the user is interested in getting information about the most popular places in Italy (i.e. when the search topic is known), he can send a search query: "The most popular places in Italy?" The search engine then presents a ranked list of Internet resources potentially relevant to the given search query. Then the user can view the ranked list of search results and get information about the sights of Italy of interest to him. If the user is not satisfied with the provided search results for any reason, he can re-run the search, for example with a more precise search term such as "The most popular places in Italy in summer?", "The most popular attractions in southern Italy?", " The most popular places for a romantic getaway in Italy?

[5] Когда пользователь отправляет поисковый запрос, поисковая система формирует список релевантных веб-ресурсов (на основе анализа просмотренных обходчиком веб-ресурсов, указания на которые хранятся в базе данных обходчика в виде списков вхождений (posting lists) и т.п.). Затем поисковая система использует алгоритм MLA для ранжирования сформированного таким образом списка результатов поиска. Алгоритм MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Такой алгоритм MLA обучен прогнозировать степень соответствия результата поиска поисковому запросу на основе большого количества признаков, связанных с этим результатом поиска, и указаний на прошлые действия пользователей в отношении результатов поиска при отправке подобных поисковых запросов в прошлом.[5] When a user submits a search query, the search engine generates a list of relevant web resources (based on the analysis of web resources viewed by the crawler, indications of which are stored in the crawler's database in the form of posting lists, etc.). The search engine then uses the MLA algorithm to rank the resulting list of search results. The MLA algorithm ranks a list of search results based on their relevance to the search query. Such an MLA algorithm is trained to predict the degree to which a search result matches a search query based on a large number of features associated with that search result and indications of past user behavior on search results when submitting similar search queries in the past.

[6] Перед использованием алгоритма MLA для прогнозирования релевантности результатов поиска отправленному пользователем запросу этот алгоритм MLA должен быть обучен. В зависимости от реализации алгоритма MLA, обучение может выполняться различными способами, такими как обучение с учителем, обучение без учителя и т.д. В типовом подходе к обучению алгоритму MLA предоставляется несколько обучающих примеров (размеченных обучающих наборов), используемых для обучения алгоритма MLA способности делать выводы в рамках поставленной задачи (такой как прогнозирование релевантности документов поисковому запросу). Обычно алгоритму MLA предоставляются положительные примеры (в данном случае релевантные документы) и отрицательные примеры (в данном случае нерелевантные документы).[6] Before an MLA algorithm can be used to predict the relevance of search results to a query submitted by a user, the MLA algorithm must be trained. Depending on the implementation of the MLA algorithm, learning can be done in various ways such as supervised learning, unsupervised learning, etc. The exemplary MLA training approach provides several training examples (labeled training sets) used to train the MLA algorithm to make inferences within a given task (such as predicting the relevance of documents to a search query). Typically, the MLA algorithm is provided with positive examples (in this case, relevant documents) and negative examples (in this case, irrelevant documents).

[7] В патентной заявке US2017220575A1 «Identification of Synthetic Examples for Improving Search Ranking» («Идентификация синтетических примеров для улучшения поискового ранжирования», Shutterstock Inc., 03.07.2017) раскрыты способы, системы и машиночитаемые носители для идентификации примеров синтетических медиафайлов для обучения с учителем алгоритма MLA, предназначенного для ранжирования медиафайлов по релевантности поисковому запросу. В одном аспекте способ включает в себя идентификацию запроса к поисковой системе для коллекции медиафайлов из ранее полученных поисковых запросов и выбор по меньшей мере одного обучающего медиафайла из этой коллекции в качестве синтетического отрицательного примера для этого поискового запроса. Способ также включает в себя предоставление обучающего набора для обучения с учителем алгоритма ранжирования. Обучающий набор содержит идентификатор поискового запроса, копию обучающего медиафайла и первый указатель того, что этот обучающий медиафайл является синтетическим отрицательным примером для этого поискового запроса. Способ дополнительно включает в себя предоставление данному алгоритму поискового запроса и коллекции и получение от алгоритма данных о ранжировании этой коллекции.[7] Patent application US2017220575A1 "Identification of Synthetic Examples for Improving Search Ranking", Shutterstock Inc., 07/03/2017 discloses methods, systems and computer-readable media for identifying synthetic media examples for training with the teacher of the MLA algorithm, designed to rank media files by relevance to a search query. In one aspect, the method includes identifying a search engine query for a collection of media files from previously received search queries and selecting at least one training media file from that collection as a synthetic negative example for that search query. The method also includes providing a training set for supervised learning of the ranking algorithm. The training set contains a search query identifier, a copy of the training media, and a first indication that the training media is a synthetic negative example for that search. The method further includes providing a given algorithm with a search query and a collection, and receiving from the algorithm data about the ranking of this collection.

[8] В статье авторов Xuanhui Wang et al. «Improved Retrieval Accuracy for Difficult Queries using Negative Feedback» («Повышение точности получения сложных запросов с использованием отрицательной обратной связи», Conference on Information and Knowledge Management (CIKM), 2007), рассматривается ситуация, когда результаты поиска настолько плохи, что ни один из документов с высоким рангом не релевантен запросу пользователя. Для повышения точности поиска по таким сложным запросам предлагается использовать отрицательную обратную связь.[8] Xuanhui Wang et al. “Improved Retrieval Accuracy for Difficult Queries using Negative Feedback” (Conference on Information and Knowledge Management (CIKM), 2007), discusses the situation when the search results are so bad that none from documents with a high rank is not relevant to the user's query. To improve the accuracy of the search for such complex queries, it is proposed to use negative feedback.

Раскрытие изобретенияDisclosure of invention

[9] Разработчики настоящей технологии обнаружили по меньшей мере одну техническую проблему, связанную с известными подходами.[9] The developers of the present technology have discovered at least one technical problem associated with known approaches.

[10] Настоящая технология относится к алгоритмам машинного обучения, в целом, и к способам и к системам для формирования обучающего набора для алгоритма машинного обучения, в частности. Как описано выше, при обучении различных основанных на обучении с учителем алгоритмов MLA, таких как основанный на дереве решений алгоритм MLA или нейронная сеть (NN, Neural Network), алгоритму MLA предоставляются обучающие наборы. Обучающие наборы представляют собой размеченные примеры, иллюстрирующие как положительные примеры, так и отрицательные примеры. Положительные примеры при обучении алгоритма MLA соответствуют наличию целевых выходных данных, отрицательные примеры при обучении алгоритма MLA соответствуют отсутствию целевых выходных данных.[10] The present technology relates to machine learning algorithms in general, and to methods and systems for generating a training set for a machine learning algorithm in particular. As described above, when training various supervised MLA algorithms such as a decision tree based MLA algorithm or a neural network (NN, Neural Network), training sets are provided to the MLA algorithm. Training sets are labeled examples illustrating both positive examples and negative examples. Positive examples when training the MLA algorithm correspond to the presence of the target output data, negative examples when training the MLA algorithm correspond to the absence of the target output data.

[11] В общем случае положительные примеры легко сформировать. Например, примеры для пар поисковых запросов и документов можно получить с использованием журналов поисковых запросов сервера поисковой системы, при этом «клики» пользователей представляют собой хороший показатель релевантности прошлого документа прошлому пользовательскому запросу. Формирование отрицательных примеров может оказаться более сложным.[11] In the general case, positive examples are easy to form. For example, examples for search query and document pairs can be obtained using the search query logs of the search engine server, with user "clicks" being a good indication of the relevance of a past document to a past user query. Forming negative examples can be more difficult.

[12] Типовая система обучения алгоритма MLA использует случайные отрицательные примеры, исходя из предположения, что большинство случайных примеров будет кардинально отличаться от положительных примеров и, следовательно, они будут представлять собой подходящие отрицательные примеры. Тем не менее, на практике эффективность отрицательных примеров не равна 100% (ближе к 80%).[12] The exemplary learning system for the MLA algorithm uses random negative examples, on the assumption that most random examples will be drastically different from positive examples and therefore they will be suitable negative examples. However, in practice, the effectiveness of negative examples is not 100% (closer to 80%).

[13] В соответствии с первым широким аспектом настоящей технологии в системе поиска информации реализован компьютерный способ формирования обучающего набора для обучения алгоритма MLA, выполняемого на сервере, доступном для электронного устройства. Способ выполняется сервером и включает в себя извлечение из базы данных журнала поиска на сервере первого запроса, ранее отправленного на сервер, первой страницы результатов поисковой системы (SERP, Search Engine Result Page) связанной с первым запросом, второго запроса, отличного от первого запроса и отправленного после него, и второй страницы SERP, связанной со вторым запросом. Первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска. В ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формируется обучающий набор для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, причем этот обучающий набор содержит второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.[13] In accordance with the first broad aspect of the present technology, the information retrieval system implements a computer method for generating a training set for training an MLA algorithm running on a server accessible to an electronic device. The method is performed by the server and includes extracting from the search log database on the server the first request previously sent to the server, the first page of search engine results (SERP, Search Engine Result Page) associated with the first request, the second request, different from the first request and sent after it, and the second SERP page associated with the second query. The first query and the second query are sent by the electronic device, the first SERP page contains the first set of search results, and the second SERP page contains the second set of search results. In response to the second query, sent in the same search session as the first query, a training set is formed to be used as negative training examples when training the MLA algorithm, and this training set contains the second query paired with a predefined search result from the first set search results.

[14] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ перед формированием обучающего набора дополнительно включает в себя проверку того, были ли первый запрос и второй запрос отправлены на сервер электронным устройством в одном сеансе поиска.[14] In some non-limiting embodiments of the present technology, the method, before generating the training set, further includes checking whether the first request and the second request were sent to the server by the electronic device in the same search session.

[15] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, включает в себя анализ разницы во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.[15] In some non-limiting embodiments of the present technology, determining that the first request and the second request were sent in the same search session includes analyzing the time difference between the first time the first request was sent and the second time the second request was sent. .

[16] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый запрос и второй запрос определяются как отправленные в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.[16] In some non-limiting embodiments of the present technology, the first request and the second request are determined to be sent in the same search session if the time difference is less than a predetermined threshold.

[17] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, дополнительно включает в себя анализ первого запроса и второго запроса.[17] In some non-limiting embodiments of the present technology, determining that the first request and the second request were sent in the same search session further includes parsing the first request and the second request.

[18] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя анализ первого запроса и второго запроса для выявления некоторой степени совпадения между первым запросом и вторым запросом, и при этом формирование обучающего набора выполняется только при наличии такой степени совпадения.[18] In some non-limiting embodiments of the present technology, the method further includes parsing the first query and the second query to determine some degree of match between the first query and the second query, and wherein the training set is only performed if there is such a degree of match.

[19] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется при наличии по меньшей мере одного общего условия поиска у первого запроса и второго запроса.[19] In some non-limiting embodiments of the present technology, a degree of match is determined by having at least one common search term for the first query and the second query.

[20] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется при наличии по меньшей мере одного общего условия поиска у первого запроса и второго запроса.[20] In some non-limiting embodiments of the present technology, a degree of match is determined by having at least one common search term for the first query and the second query.

[21] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется, если единственное условие поиска у первого запроса и второго запроса является общим.[21] In some non-limiting embodiments of the present technology, a degree of match is determined if the only search term of the first query and the second query is common.

[22] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя извлечение из базы данных журнала поиска на сервере набора параметров взаимодействия с пользователем, указывающих на один или несколько видов взаимодействия пользователя электронного устройства со второй страницей SERP для результата поиска из второго набора результатов поиска, при этом набор параметров взаимодействия с пользователем содержит «время наведения» для результата поиска и/или событие «клика» для результата поиска.[22] In some non-limiting embodiments of the present technology, the method further includes retrieving from a search log database on the server a set of user interaction parameters indicative of one or more interactions of an electronic device user with the second SERP page for a search result from a second set of search results, wherein the set of user interaction parameters comprises a "hover time" for the search result and/or a "click" event for the search result.

[23] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя выбор результата поиска из второго набора результатов поиска с наибольшим значением параметра взаимодействия с пользователем и выбор заранее заданного результата поиска на основе позиции этого результата поиска на второй странице SERP.[23] In some non-limiting embodiments of the present technology, the method further includes selecting a search result from the second set of search results with the highest user interaction parameter value and selecting a predetermined search result based on the position of that search result on the second SERP page.

[24] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданный результат поиска соответствует первому результату поиска, имеющему ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, и/или второму результату поиска, имеющему позицию выше или ниже позиции результата поиска на первой странице SERP.[24] In some non-limiting embodiments of the present technology, the predetermined search result corresponds to a first search result having the same position on the first SERP page as a search result on the second SERP page and/or a second search result having a position higher than or below the position of the search result on the first page of the SERP.

[25] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя случайный выбор заранее заданного результата поиска - первого результата поиска, имеющего ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, или второго результата поиска, занимающего позицию выше или ниже позиции результата поиска на первой странице SERP.[25] In some non-limiting embodiments of the present technology, the method further includes randomly selecting a predetermined search result, the first search result having the same position on the first page of the SERP as the search result on the second page of the SERP, or the second result search ranking above or below the position of the search result on the first page of the SERP.

[26] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя анализ взаимодействия пользователя с заранее заданным результатом поиска, при этом формирование обучающего набора выполняется только если взаимодействие пользователя с заранее заданным результатом поиска оказывается ниже заранее заданного порога взаимодействия.[26] In some non-limiting embodiments of the present technology, the method further includes analyzing a user's interaction with a predefined search result, wherein training set generation is performed only if the user's interaction with the predefined search result is below a predefined interaction threshold.

[27] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданный порог взаимодействия составляет тридцать секунд.[27] In some non-limiting embodiments of the present technology, the predetermined interaction threshold is thirty seconds.

[28] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеанс поиска содержит множество страниц SERP, сформированных в ответ на множество запросов, включая первую страницу SERP и вторую страницу SERP, и множество запросов, включая первый запрос и второй запрос, при этом вторая страница SERP является последней страницей SERP из множества страниц SERP.[28] In some non-limiting embodiments of the present technology, a search session comprises a plurality of SERPs generated in response to a plurality of queries, including a first SERP page and a second SERP page, and a plurality of queries, including a first query and a second query, wherein the second The SERP page is the last SERP page out of many SERP pages.

[29] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первая страница SERP непосредственно предшествует второй странице SERP во множестве страниц SERP.[29] In some non-limiting embodiments of the present technology, the first SERP page immediately precedes the second SERP page in a plurality of SERP pages.

[30] В соответствии с другим широким аспектом настоящей технологии реализована система для формирования обучающего набора для обучения алгоритма MLA, выполняемого сервером, доступным для электронного устройства и содержащим процессор. Процессор способен извлекать из базы данных журнала поиска на сервере первый запрос, ранее отправленный на сервер, первую страницу SERP, связанную с первым запросом, второй запрос, отличный от первого запроса и отправленный после него, и вторую страницу SERP, связанную со вторым запросом. Первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска. В ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, процессор способен формировать обучающий набор для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, содержащий второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.[30] In accordance with another broad aspect of the present technology, a system is implemented for generating a training set for training an MLA algorithm executed by a server accessible to an electronic device and containing a processor. The processor is capable of retrieving from the search log database on the server the first request previously sent to the server, the first SERP page associated with the first request, the second request different from and sent after the first request, and the second SERP page associated with the second request. The first query and the second query are sent by the electronic device, the first SERP page contains the first set of search results, and the second SERP page contains the second set of search results. In response to a second query sent in the same search session as the first query, the processor is able to generate a training set for use as negative training examples when training the MLA algorithm, containing the second query paired with a predetermined search result from the first set of search results. .

[31] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор способен перед формированием обучающего набора проверять, были ли первый и второй запросы отправлены на сервер электронным устройством в одном сеансе поиска.[31] In some non-limiting embodiments of the present technology, the processor is configured to check whether the first and second queries were sent to the server by the electronic device in the same search session before generating the training set.

[32] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор для определения того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, способен анализировать разницу во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.[32] In some non-limiting embodiments of the present technology, the processor for determining that the first request and the second request were sent in the same search session is able to analyze the time difference between the first time the first request was sent and the second time the second request was sent. .

[33] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор способен определять, что первый запрос и второй запроса были отправлены в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.[33] In some non-limiting embodiments of the present technology, the processor is able to determine that the first request and the second request were sent in the same search session if the time difference is less than a predetermined threshold.

[34] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать через сеть запросы (например, от электронных устройств) и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[34] In the context of the present description, the term "server" means a computer program executed by appropriate hardware and capable of receiving requests via a network (for example, from electronic devices) and fulfill these requests or initiate their execution. The hardware may be one physical computer or one computer system, which is not essential to the present technology. In the present context, the expression "server" does not mean that every task (for example, a received command or request) or some specific task is received, executed or started by the same server (i.e. the same software and/or hardware ). This means that any number of software or hardware can receive, send, execute or initiate the execution of any task or request or the results of any tasks or requests. All of these software and hardware may be a single server or multiple servers, both of which are meant by the expression "at least one server".

[35] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[35] In the context of the present description, the term "electronic device" means any computer hardware capable of executing programs suitable for solving the task. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches, and gateways. It should be noted that in this context, a device functioning as an electronic device may also function as a server in relation to other electronic devices. The use of the term "electronic device" does not preclude the use of multiple electronic devices to receive, send, perform or initiate any task or request, or the results of any tasks or requests or steps of any method described herein.

[36] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, что и процесс, обеспечивающий хранение или использование информации, хранящейся в этой базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.[36] In the context of the present description, the term "database" means any structured set of data, regardless of its specific structure, database management software or computer hardware for storing this data, using them or providing them with use in another way. The database may reside on the same hardware as the process that stores or uses the information stored in the database, or the database may reside on separate hardware such as a dedicated server or multiple servers.

[37] В контексте настоящего описания выражение «информация» означает информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя без ограничения аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.[37] In the context of the present description, the expression "information" means information of any kind or type that can be stored in a database. Thus, information includes, without limitation, audiovisual works (images, films, sound recordings, presentations, etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages etc.), documents, spreadsheets, etc.

[38] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.[38] In the context of the present description, the term "computer usable storage medium" means media of any kind and form, including RAM, ROM, disks (CD-ROM, DVD, floppy disks, hard disks, etc.), USB -drives, solid state drives, tape drives, etc.

[39] В контексте настоящего описания, если специально не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или других мест, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень точности, требуемая для такого указания, зависит от объема предварительных пояснений относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.[39] As used herein, unless specifically noted otherwise, an information element can be referred to by the information element itself, as well as a pointer, link, hyperlink, or other indirect means by which a data recipient can locate a location in a network, memory , database, or other machine-readable storage medium from which the information element can be retrieved. For example, a reference to a document may include the document itself (i.e., its contents), or the reference may be a unique document descriptor pointing to a file on a specific file system, or some other means to indicate a location on a network to the recipient of the data. , memory addresses, a table in a database, or other places where the file can be accessed. It should be apparent to one skilled in the art that the degree of precision required for such an indication depends on the amount of prior clarification regarding the interpretation of the information exchanged between the sender and recipient of the data. For example, if it is known before the communication between the sender and the recipient that the reference to the information element is the database key for the element in a certain table of the predefined database containing this information element, then in order to efficiently transmit this information element to the recipient, it is enough to send the database key data, even if the information element itself is not transmitted between the sender and receiver of the data.

[40] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается здесь в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.[40] In the context of the present description, the numerals "first", "second", "third", etc. are used only to indicate the difference between the nouns they refer to, but not to describe any specific relationship between these nouns. For example, it should be clear that the use of the terms "first server" and "third server" does not imply any particular order, type, chronology, hierarchy, or classification of, in this case, servers, and that their use (by itself) does not imply a "second server" in every situation. Also, as occurs here in another context, referring to a "first" element and a "second" element does not preclude that the two elements may in fact be the same element. Thus, for example, in some cases the "first" server and the "second" server may be the same software and/or hardware, and in other cases different software and/or hardware.

[41] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.[41] Each embodiment of the present technology relates to at least one of the above objectives and/or aspects, but not necessarily all of them. It should be understood that some aspects of the present technology, associated with an attempt to achieve the above goal, may not meet this goal and/or may meet other goals not explicitly mentioned here.

[42] Дополнительные и/или альтернативные особенности, аспекты и преимущества реализаций настоящей технологии изложены в последующем описании, на сопроводительных чертежах и в приложенной формуле изобретения.[42] Additional and/or alternative features, aspects, and advantages of implementations of the present technology are set forth in the following description, in the accompanying drawings, and in the appended claims.

Краткое описание чертежейBrief description of the drawings

[43] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.[43] The following description is provided for a better understanding of the present technology, as well as other aspects and their features, and should be used in conjunction with the attached drawings.

[44] На фиг. 1 представлена схема системы, реализованной согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[44] FIG. 1 is a diagram of a system implemented in accordance with non-limiting embodiments of the present technology.

[45] На фиг. 2 схематично представлен журнал запросов, связанный с электронным устройством в системе, показанной на фиг. 1.[45] FIG. 2 is a schematic representation of a request log associated with an electronic device in the system shown in FIG. 1.

[46] На фиг. 3 представлен пример процесса обучения алгоритма машинного обучения, используемого системой, показанной на фиг. 1.[46] FIG. 3 shows an example of a learning process for a machine learning algorithm used by the system shown in FIG. 1.

[47] На фиг. 4 представлены две страницы результатов поисковой системы, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.[47] FIG. 4 shows two pages of search engine results implemented in accordance with a non-limiting embodiment of the present technology.

[48] На фиг. 5 представлена схема процесса формирования обучающих наборов для алгоритма машинного обучения.[48] FIG. Figure 5 shows a diagram of the process of forming training sets for a machine learning algorithm.

Осуществление изобретенияImplementation of the invention

[49] Представленные в данном описании примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема. [49] The examples and conventions presented herein are intended to provide a better understanding of the principles of the present technology, and not to limit its scope to such specifically given examples and terms. It is obvious that specialists in the art are able to develop various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its essence and scope.

[50] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что различные варианты осуществления данной технологии могут быть значительно сложнее.[50] In addition, to facilitate a better understanding, the following description may contain simplified implementations of the present technology. Those skilled in the art will appreciate that various embodiments of this technology can be significantly more complex.

[51] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[51] In some cases, useful examples of modifications to the present technology are provided. They contribute to understanding, but also do not define the scope or boundaries of the present technology. The presented list of modifications is not exhaustive and the person skilled in the art can develop other modifications within the scope of this technology. In addition, if modifications are not described in some cases, this does not mean that they are impossible and / or that the description contains the only possible implementation of one or another element of the present technology.

[52] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[52] Moreover, the description of principles, aspects, and embodiments of the present technology, as well as their specific examples, is intended to cover their structural and functional equivalents, whether they are currently known or will be developed in the future. For example, it should be apparent to those skilled in the art that any block diagrams described herein correspond to conceptual representations of illustrative circuit diagrams that implement the principles of the present technology. It should also be obvious that any flowcharts, process diagrams, state transition diagrams, pseudocodes, etc. correspond to various processes that may be represented on a computer-readable physical storage medium and may be performed by a computer or processor, whether such a computer or processor is explicitly shown or not.

[53] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, общего назначения и/или специализированные.[53] The functions of the various elements shown in the drawings, including any functional unit labeled "processor" or "graphics processing unit", may be implemented using specialized hardware, as well as using hardware capable of executing the corresponding software. If a processor is used, these functions may be performed by a single dedicated processor, a single shared processor, or multiple individual processors, some of which may be shared. In some embodiments of the present technology, the processor may be a general purpose processor such as a central processing unit (CPU) or a specialized processor such as a graphics processing unit (GPU). In addition, explicit use of the term "processor" or "controller" should not be construed as referring solely to the hardware capable of executing the software and may refer to, but is not limited to, digital signal processor (DSP) hardware, network processor, ASIC (ASIC), Field Programmable Gate Array (FPGA), Software ROM, RAM, and NVRAM. Other general purpose and/or specialized hardware may also be contemplated.

[54] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[54] Software modules, or simply modules that are intended to be implemented in software, may be represented here as any combination of flowchart elements or other elements indicating the steps of a process and/or containing a textual description. Such modules may be implemented in hardware, as shown or implied.

[55] Учитывая вышеизложенные принципы, далее рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.[55] In view of the foregoing principles, the following are some non-limiting examples illustrating various embodiments of aspects of the present technology.

[56] Как показано на фиг. 1, система 100 представляет собой систему для поиска информации и содержит электронное устройство 102. Электронное устройство 102 обычно связано с пользователем (не показан) и, как таковое, иногда может называться «клиентским устройством».[56] As shown in FIG. 1, system 100 is an information retrieval system and includes an electronic device 102. Electronic device 102 is typically associated with a user (not shown) and as such may sometimes be referred to as a "client device".

[57] В контексте настоящего описания, если явно не указано другое, термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[57] In the context of the present description, unless expressly indicated otherwise, the term "electronic device" means any computer hardware capable of executing programs suitable for solving a corresponding task. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches, and gateways. It should be noted that in this context, a device functioning as an electronic device may also function as a server with respect to other electronic devices. The use of the term "electronic device" does not preclude the use of multiple client devices to receive, send, perform or initiate any task or request or the results of any tasks or requests or steps of any method described herein.

[58] Электронное устройство 102 содержит энергонезависимое запоминающее устройство (ЗУ) 104. Энергонезависимое ЗУ 104 может содержать один или несколько носителей информации и в общем случае обеспечивает пространство для хранения компьютерных команд, исполняемых процессором 106. Например, энергонезависимое ЗУ 104 может быть реализовано в виде носителя, пригодного для чтения компьютером, включая ПЗУ, жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.[58] The electronic device 102 includes a non-volatile memory (memory) 104. The non-volatile memory 104 may include one or more storage media and generally provides storage space for computer instructions executed by the processor 106. For example, the non-volatile memory 104 may be implemented as computer-readable media, including ROMs, hard disk drives (HDDs), solid state drives (SSDs), and flash memory cards.

[59] Электронное устройство 102 содержит аппаратное и/или программное обеспечение, и/или микропрограммное обеспечение (или их сочетание), как это известно в данной области техники, для выполнения приложения 108 поисковой системы. В целом, посредством приложения 108 поиска пользователь (не показан) может выполнять поиск, например в Интернете, с использованием расположенной на сервере (описано ниже) поисковой системы. Для этого приложение 108 поисковой системы содержит интерфейс 110 поискового запроса и интерфейс 112 результатов поиска.[59] The electronic device 102 includes hardware and/or software and/or firmware (or a combination thereof), as is known in the art, to execute the search engine application 108. In general, through the search application 108, a user (not shown) can search, for example on the Internet, using a server-based search engine (described below). To do this, the search engine application 108 includes a search query interface 110 and a search results interface 112.

[60] На реализацию приложения 108 поисковой системы не накладывается особых ограничений. Один пример приложения 108 поисковой системы может быть реализован в устройстве пользователя (не показан), обращающемся к связанному с поисковой системой веб-сайту для доступа к приложению 108 поисковой системы. Например, к приложению 108 поисковой системы можно получить доступ, введя унифицированный указатель ресурса (URL, Uniform Resource Locator), связанный с поисковой системой Yandex™, на сайте www.yandex.ru. Следует ясно понимать, что к приложению 108 поисковой системы можно получить доступ с помощью любой другой коммерчески доступной или проприетарной поисковой системы.[60] The implementation of the search engine application 108 is not particularly limited. One example of a search engine application 108 may be implemented on a user's device (not shown) accessing a search engine associated website to access the search engine application 108. For example, the search engine application 108 can be accessed by entering a Uniform Resource Locator (URL) associated with the Yandex™ search engine at www.yandex.ru. It should be clearly understood that the search engine application 108 can be accessed using any other commercially available or proprietary search engine.

[61] В альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии приложение 108 поисковой системы может быть реализовано как приложение браузера на портативном устройстве (таком как устройство беспроводной связи). Например, если электронное устройство 102 реализовано как портативное устройство, такое как Samsung™ Galaxy™ S10, на электронном устройстве 102 может выполняться браузерное приложение Yandex™. Следует ясно понимать, что для реализации не имеющих ограничительного характера вариантов осуществления настоящей технологии может использоваться любое другое коммерчески доступное или проприетарное приложение браузера.[61] In alternative non-limiting embodiments of the present technology, the search engine application 108 may be implemented as a browser application on a portable device (such as a wireless communication device). For example, if the electronic device 102 is implemented as a portable device, such as a Samsung™ Galaxy™ S10, the Yandex™ browser application may be running on the electronic device 102. It should be clearly understood that any other commercially available or proprietary browser application may be used to implement non-limiting embodiments of the present technology.

[62] Электронное устройство 102 содержит пользовательский интерфейс ввода (не показан), такой как клавиатура, для приема данных, вводимых пользователем, например, в интерфейс 110 поискового запроса. На реализацию пользовательского интерфейса ввода не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализовано в виде устройства беспроводной связи (такого как смартфон iPhone™), пользовательский интерфейс ввода может быть реализован в виде программной клавиатуры (также называемой экранной или виртуальной клавиатурой). Если электронное устройство 102 реализовано как персональный компьютер, пользовательский интерфейс ввода может быть реализован в виде аппаратной клавиатуры.[62] The electronic device 102 includes an input user interface (not shown), such as a keyboard, for receiving user input, for example, into the search query interface 110. The implementation of the input user interface is not particularly limited, but depends on the implementation of the electronic device 102. By way of non-limiting example only, in those embodiments of the present technology where the electronic device 102 is implemented as a wireless communication device (such like an iPhone™ smartphone), the input user interface can be implemented as a software keyboard (also called an on-screen or virtual keyboard). If the electronic device 102 is implemented as a personal computer, the input user interface may be implemented as a hardware keyboard.

[63] Электронное устройство 102 соединено с сетью 114 связи с использованием линии 116 связи. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 114 связи может представлять собой сеть Интернет. В других вариантах осуществления настоящей технологии сеть 114 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, частной сети связи и т.д.[63] The electronic device 102 is connected to the communication network 114 using a communication line 116 . In some non-limiting embodiments of the present technology, communications network 114 may be the Internet. In other embodiments of the present technology, communication network 114 may be implemented differently, such as an arbitrary wide area network, local area network, private network, and so on.

[64] На реализацию линии 116 связи не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализовано в виде беспроводного устройства связи (такого как смартфон), линия связи (не показана) может быть реализована в виде беспроводной линии связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 102 реализовано в виде ноутбука, линия связи может быть беспроводной (такой как Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.д.) или проводной (такой как соединение на основе Ethernet).[64] The implementation of the communication link 116 is not particularly limited, but depends on the implementation of the electronic device 102. By way of non-limiting example only, in those embodiments of the present technology where the electronic device 102 is implemented as a wireless device communication link (such as a smartphone), a communication link (not shown) may be implemented as a wireless link (such as a 3G network link, a 4G network link, Wireless Fidelity or WiFi® , Bluetooth® for short, etc.). In instances where electronic device 102 is implemented as a laptop, the link may be wireless (such as Wireless Fidelity or WiFi® , Bluetooth®, etc. for short) or wired (such as an Ethernet-based connection).

[65] Должно быть очевидно, что варианты реализации электронного устройства 102, линии 116 связи и сети 114 связи приведены лишь для иллюстрации. Специалисту в данной области должны быть понятны и другие конкретные детали реализации электронного устройства 102, линии 116 связи и сети 114 связи. По существу, приведенные выше примеры не предназначены для ограничения объема или границ настоящей технологии.[65] It should be obvious that the embodiments of the electronic device 102, communication line 116, and communication network 114 are for illustration purposes only. A person skilled in the art should be clear and other specific details of the implementation of the electronic device 102, communication line 116 and communication network 114. As such, the above examples are not intended to limit the scope or scope of the present technology.

[66] Система 100 также содержит сервер 118, соединенный с сетью 114 связи. Сервер 118 может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 118 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 118 может быть реализован на любом другом подходящем аппаратном и/или программном и/или встроенном программном обеспечении или их сочетании. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 118 реализован в виде одного сервера. В других не имеющих ограничительного характера вариантах осуществления данной технологии функции сервера 118 могут быть распределены между несколькими серверами.[66] System 100 also includes a server 118 connected to a communication network 114. Server 118 may be implemented as a conventional computer server. In an exemplary embodiment of the present technology, server 118 may be implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system. Obviously, the server 118 may be implemented in any other suitable hardware and/or software and/or firmware, or a combination thereof. In the present non-limiting embodiment of the present technology, the server 118 is implemented as a single server. In other non-limiting embodiments of this technology, the functions of the server 118 may be distributed among multiple servers.

[67] Практическая реализация сервера 118 хорошо известна. В целом, сервер 118 содержит интерфейс связи (не показан), структура и функции которого позволяют осуществлять связь с различными объектами (такими как электронное устройство 102 и другие устройства, которые могут быть подключены к сети 114 связи) по сети 114 связи.[67] The practical implementation of the server 118 is well known. In general, server 118 includes a communication interface (not shown) whose structure and functions allow communication with various entities (such as electronic device 102 and other devices that may be connected to communication network 114) via communication network 114.

[68] Сервер 118 содержит память 120 сервера, которая содержит один или несколько носителей информации и в общем случае обеспечивает пространство для хранения компьютерных программных команд, исполняемых процессором 122 сервера. Например, память 120 сервера может быть реализована как физический машиночитаемый носитель информации, включая ПЗУ и/или ОЗУ. Память 120 сервера также может включать в себя одно или несколько устройств длительного хранения, например, жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.[68] The server 118 includes a server memory 120 that contains one or more storage media and generally provides storage space for computer program instructions executed by the server processor 122. For example, server memory 120 may be implemented as a physical computer-readable storage medium, including ROM and/or RAM. Server memory 120 may also include one or more persistent storage devices such as hard disk drives (HDDs), solid state drives (SSDs), and flash memory cards.

[69] В некоторых не имеющих ограничительного характера вариантах осуществления данной технологии сервер 118 может управляться той же организацией, что предоставляет вышеописанное приложение 108 поиска. Например, сервер 118 может управляться компанией ООО «Яндекс» (119021, Россия, Москва, ул. Льва Толстого, 16). В других вариантах осуществления сервер 118 может управляться организацией, отличной от предоставляющей приложение 108 поиска.[69] In some non-limiting embodiments of this technology, the server 118 may be operated by the same organization that provides the search application 108 described above. For example, server 118 may be operated by Yandex LLC (119021, Russia, Moscow, Lev Tolstoy St., 16). In other embodiments, the implementation of the server 118 may be operated by an organization other than providing the application 108 search.

[70] В некоторых вариантах осуществления настоящей технологии сервер 118 обеспечивает доступ к поисковой системе 124 (такой как Yandex Search™), доступной через сеть 114 связи с использованием приложения 108 поиска. Способ практической реализации поисковой системы 124 известен в данной области техники и здесь подробно не описан. Достаточно сказать, что поисковая система 124 способна выполнять один или несколько поисковых запросов в Интернете после ввода пользователем (не показан) строки поиска в интерфейс 110 поискового запроса. Затем поисковая система 124 может передавать в электронное устройство 102 набор результатов поиска для их отображения пользователю электронного устройства 102 посредством интерфейса 112 результатов поиска в виде страницы SERP.[70] In some embodiments of the present technology, the server 118 provides access to the search engine 124 (such as Yandex Search™) accessible via the communication network 114 using the search application 108. The method of practical implementation of the search engine 124 is known in the art and is not described in detail here. Suffice it to say that the search engine 124 is capable of performing one or more search queries on the Internet after a user (not shown) enters a search string into the search query interface 110 . The search engine 124 may then send a set of search results to the electronic device 102 for display to the user of the electronic device 102 via the search results interface 112 as a SERP page.

[71] Сервер 118 позволяет формировать ранжированный список результатов поиска, включая результаты общего и вертикального поиска в Интернете. Известно несколько алгоритмов ранжирования результатов поиска, которые могут быть реализованы сервером 118.[71] Server 118 is capable of generating a ranked list of search results, including general and vertical Internet search results. There are several algorithms for ranking search results that can be implemented by the server 118.

[72] В качестве примера, не имеющего ограничительного характера, некоторые известные способы ранжирования результатов поиска по степени соответствия поисковому запросу пользователя основаны на некоторых или всех следующих критериях: (а) популярность поискового запроса или соответствующего ответа при выполнении поисков; (б) количество результатов; (в) наличие в запросе определяющих терминов (таких как «изображения», «фильмы», «погода» и т.п.); (г) частота использования другими пользователями данного поискового запроса с определяющими терминами; (д) частота выбора другими пользователями, выполнявшими подобный поиск, определенного ресурса или определенных результатов вертикального поиска, когда результаты были представлены с использованием страницы SERP. Сервер 118 поисковой системы может рассчитывать и назначать оценку релевантности (основанную на различных представленных выше критериях) для каждого результата поиска, полученного по поисковому запросу пользователя, а также формировать страницу SERP, где результаты поиска ранжированы согласно их оценкам релевантности. В данном варианте осуществления изобретения сервер 118 поисковой системы может выполнять множество алгоритмов машинного обучения для ранжирования документов и/или формировать признаки для ранжирования документов.[72] By way of a non-limiting example, some well-known methods for ranking search results according to the degree of relevance to a user's search query are based on some or all of the following criteria: (a) the popularity of the search query or the corresponding answer when performing searches; (b) the number of results; (c) the presence of defining terms in the query (such as "images", "movies", "weather", etc.); (d) frequency of use by other users of this search query with defining terms; (e) the frequency with which other users performing similar searches selected a particular resource or particular vertical search results when the results were submitted using the SERP page. The search engine server 118 may calculate and assign a relevance score (based on the various criteria presented above) for each search result obtained for the user's search query, and also generate a SERP page where the search results are ranked according to their relevance scores. In this embodiment, the search engine server 118 may execute a plurality of machine learning algorithms for ranking documents and/or generate features for ranking documents.

[73] В некоторых не имеющих ограничительного характера вариантах осуществления данной технологии сервер 118 связан с базой данных 126 журнала по выделенному каналу (не обозначено). Обычно база 126 журналов может поддерживать журнал 128 запросов.[73] In some non-limiting embodiments of this technology, the server 118 is connected to the log database 126 via a dedicated channel (not indicated). Typically, the log base 126 can support a query log 128 .

[74] Журнал 128 запросов предназначен для регистрации поисков, выполненных с использованием сервера 118. В частности, в журнале 128 запросов хранятся термины поисковых запросов (т.е. искомые слова) и связанные с ними результаты поиска. Следует отметить, что журнал 128 запросов может поддерживаться в обезличенной форме, когда поисковые запросы невозможно соотнести с пользователями, отправившими эти поисковые запросы.[74] The query log 128 is for recording searches performed using the server 118. In particular, the query log 128 stores search query terms (ie, search words) and associated search results. It should be noted that the query log 128 may be maintained in an anonymous form when search queries cannot be correlated with the users who submitted those search queries.

[75] В частности, журнал 128 запросов может содержать список запросов с соответствующими терминами и информацией о документах, список которых был передан сервером 118 в ответ на соответствующий запрос, метку времени, а также может содержать список пользователей с их анонимными идентификаторами и соответствующие документы, выбранные ими после отправки запроса. В некоторых вариантах осуществления настоящей технологии журнал 128 запросов может обновляться каждый раз, когда на сервере 118 выполняется новый поиск. В других вариантах осуществления изобретения журнал 128 запросов может обновляться в заранее заданные моменты времени. В некоторых вариантах осуществления изобретения может существовать множество копий журнала 128 запросов, каждая из которых соответствует журналу 128 запросов в различные моменты времени.[75] In particular, the request log 128 may contain a list of requests with the corresponding terms and information about the documents, the list of which was transmitted by the server 118 in response to the corresponding request, a timestamp, and may also contain a list of users with their anonymous identifiers and corresponding documents, chosen by them after sending the request. In some embodiments of the present technology, the query log 128 may be updated each time a new search is performed on the server 118. In other embodiments, the request log 128 may be updated at predetermined times. In some embodiments of the invention, there may be multiple copies of the query log 128, each corresponding to the query log 128 at different points in time.

[76] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии журнал 128 запросов дополнительно содержит параметры взаимодействия с пользователем, указывающие на действия, такие как «клики» на одном или нескольких документах на странице SERP.[76] In some non-limiting embodiments of the present technology, the query log 128 further includes user interaction parameters indicative of actions such as "clicks" on one or more documents on the SERP page.

[77] Неограничивающие примеры параметров взаимодействия с пользователем, хранящихся в журнале 128 запросов, включают в себя (но не ограничиваются ими):[77] Non-limiting examples of user interaction parameters stored in the request log 128 include (but are not limited to):

- проигрыш/выигрыш - был результат поиска в ответе на поисковый запрос выбран или нет (событие «клика»);- lose/win - was the search result in the response to the search query selected or not ("click" event);

- время ожидания - время, затраченное пользователем на результат поиска до возврата на страницу SERP или до прекращения поиска (например, из-за того, что пользователь нашел нужную информацию);- waiting time - the time spent by the user on the search result before returning to the SERP page or until the search is terminated (for example, due to the fact that the user found the necessary information);

- время наведения - время, на которое пользователь наводит курсор на результат поиска;- hover time - the time for which the user points the cursor at the search result;

- длинный/короткий «клик»: было ли действие пользователя в отношении результата поиска долгим или коротким по сравнению с действиями пользователя в отношении других документов на данной странице SERP.- long/short "click": whether the user's action on the search result was long or short compared to the user's actions on other documents on this SERP page.

[78] Разумеется, что представленный выше список не является исчерпывающим и может включать в себя другие виды действий пользователей без выхода за границы настоящей технологии.[78] Of course, the above list is not exhaustive and may include other types of user actions without going beyond the boundaries of the present technology.

[79] На фиг. 2 приведена схематическая иллюстрация журнала 128 запросов, связанного с электронным устройством 102.[79] FIG. 2 is a schematic illustration of a request log 128 associated with electronic device 102.

[80] В проиллюстрированном примере журнала 128 запросов электронного устройства 102 показано, что электронное устройство 102 отправило 5 запросов (а именно, первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210). Каждый из этих 5 запросов связан с соответствующей отметкой 212 времени, соответствующей страницей 214 SERP и соответствующим параметром 216 взаимодействия с пользователем. Несмотря на то, что журнал 128 запросов электронного устройства 102 содержит лишь 5 запросов, это не является ограничением и предполагается, что журнал 128 запросов может содержать больше или меньше 5 запросов.[80] In the illustrated example query log 128 of the electronic device 102, it is shown that the electronic device 102 sent 5 queries (namely, the first search query 202, the second search query 204, the third search query 206, the fourth search query 208, and the fifth search query 210) . Each of these 5 queries is associated with a respective timestamp 212, a respective SERP page 214, and a respective user experience parameter 216. While the request log 128 of the electronic device 102 contains only 5 requests, this is not a limitation and it is contemplated that the request log 128 may contain more or less than 5 requests.

[81] На иллюстрациях показано, что пользователь, связанный с электронным устройством 102, выполнил несколько поисковых запросов с двумя разными намерениями. В частности, у пользователя было два намерения в отношении поиска - каждый поиск содержал одно или несколько уточнений. В контексте настоящей технологии термин «уточнение» соответствует поисковому запросу, в котором совпадает или имеется по меньшей мере один общий поисковый термин с предыдущим поисковым запросом. В частности, уточнения возникают, когда пользователь отправляет первый поисковый запрос (обычно более широкий поисковый запрос) и не удовлетворен результатами поиска, представленными в ответ на него (например, результаты поиска слишком широкие и не соответствуют намерению пользователя). Тогда пользователь отправляет второй поисковый запрос, содержащий более узкие, более сфокусированные условия поиска, соотнося поиск с целью поиска.[81] The illustrations show that the user associated with the electronic device 102 performed several search queries with two different intents. In particular, the user had two search intents - each search contained one or more refiners. In the context of the present technology, the term "refinement" corresponds to a search query that matches or has at least one common search term with a previous search query. In particular, refinements occur when a user submits a first search query (usually a broader search query) and is not satisfied with the search results returned in response to it (eg, the search results are too broad and do not match the user's intent). The user then submits a second search query containing narrower, more focused search terms, matching the search to the search intent.

[82] Например, пятый поисковый запрос 210 «pizza montreal takeout» («пицца Монреаль на вынос») является уточнением четвертого поискового запроса 208 «pizza montreal» («пицца Монреаль»). В другом примере третий поисковый запрос 206 «103 rejection USPTO overcome» («отказ по ст. 103 Патентное ведомство США преодоление») является уточнением предыдущего второго поискового запроса 204 «103 rejection USPTO» («отказ по ст. 103 Патентное ведомство США»), который сам по себе также является уточнением предыдущего первого поискового запроса 202 «103 rejection» («отказ по ст. 103»). В целом, наличие уточнения в цепочке поисковых запросов указывает на то, что поисковое намерение пользователя не было должным образом учтено в более ранних запросах, а последнее уточнение потенциально обеспечило удовлетворение пользователя результатами (т.е. пользователь прекратил поиск после достижения цели поиска).[82] For example, the fifth search term 210 "pizza montreal takeout" is a refinement of the fourth search term 208 "pizza montreal" ("pizza Montreal"). In another example, the third search 206 "103 rejection USPTO overcome" is a refinement of the previous second search 204 "103 rejection USPTO" , which itself is also a refinement of the previous first search query 202 "103 rejection" ("refusal under Art. 103"). In general, the presence of a refiner in the search chain indicates that the user's search intent was not properly addressed in earlier queries, and the latter refinement potentially provided user satisfaction with the results (i.e., the user stopped searching after reaching the search intent).

[83] Кроме того, следует отметить, что сразу после поиска по третьему поисковому запросу 206 в отношении того, как преодолеть отказ Патентного ведомства США по ст. 103, пользователь отправил запрос совершенно другого вида, а именно, где купить пиццу на вынос в Монреале. Это, в свою очередь, может указывать на то, что пользователь осуществил поисковое намерение и теперь сосредоточился на другом поисковом намерении.[83] In addition, it should be noted that immediately after searching the third search term 206 regarding how to overcome the US Patent Office's refusal under Art. 103, the user sent a request of a completely different kind, namely, where to buy takeaway pizza in Montreal. This, in turn, may indicate that the user has completed a search intent and is now focusing on a different search intent.

[84] На фиг. 1 также показано, что к серверу 118 через выделенный канал подключен сервер 130 обучения. Сервер 130 обучения может быть реализован как традиционный компьютерный сервер. В примере осуществления настоящей технологии сервер 130 обучения может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 130 обучения может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 130 обучения могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и системы могут быть реализованы на сервере 130 обучения частично. В некоторых вариантах осуществления настоящей технологии сервер 130 обучения управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 130 обучения может управляться и/или администрироваться другим поставщиком услуг. Несмотря на то, что сервер 130 обучения показан на чертежах как сервер, отличный от сервера 118, предполагается, что функциональные возможности сервера 130 обучения, описанные ниже, могут выполняться сервером 118.[84] FIG. 1 also shows that the learning server 130 is connected to the server 118 via a dedicated channel. The learning server 130 may be implemented as a traditional computer server. In an exemplary embodiment of the present technology, the learning server 130 may be implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system. Obviously, the learning server 130 may be implemented using any other suitable hardware and/or application software and/or firmware, or a combination thereof. In the present non-limiting embodiment of the present technology, the learning server 130 is a single server. In other non-limiting embodiments of the present technology, the functions of the learning server 130 may be distributed among multiple servers. In the context of the present technology, the methods and systems described herein may be implemented on the learning server 130 in part. In some embodiments of the present technology, the learning server 130 is controlled and/or administered by a search engine operator. Alternatively, the learning server 130 may be managed and/or administered by another service provider. Although the learning server 130 is shown in the drawings as a server other than the server 118, it is contemplated that the functionality of the learning server 130 described below can be performed by the server 118.

[85] В целом, цель сервера 130 обучения состоит в обучении одного или нескольких алгоритмов MLA, используемых поисковой службой 124, путем формирования обучающего набора.[85] In general, the purpose of the training server 130 is to train one or more MLA algorithms used by the search service 124 by forming a training set.

[86] Сервер 130 обучения может, например, обучать один или несколько алгоритмов MLA, связанных с сервером 118, для улучшения общего поиска в Интернете, вертикального поиска в Интернете, предоставления рекомендаций, прогнозирования результатов и других вариантов применения. Обучение и усовершенствование алгоритма MLA может выполняться в заранее заданные периоды времени или когда поставщик поисковой системы сочтет это необходимым.[86] The learning server 130 may, for example, train one or more MLA algorithms associated with the server 118 to improve general web search, vertical web search, recommendation, result prediction, and other applications. Training and improvement of the MLA algorithm can be performed at predetermined periods of time or when the search engine provider deems it necessary.

Обучение алгоритма MLAMLA Algorithm Training

[87] На фиг. 3 изображена схематическая иллюстрация процесса обучения алгоритма 300 MLA. Алгоритм 300 MLA используется поисковой службой 124.[87] FIG. 3 is a schematic illustration of the MLA algorithm 300 learning process. The MLA algorithm 300 is used by the search service 124.

[88] Для лучшего понимания базовых концепций настоящей технологии следует понимать, что в целом обучение алгоритма 300 MLA можно разделить на первый и второй этапы. На первом этапе формируются обучающие входные данные 304 (описанные ниже). На втором этапе алгоритм 300 MLA обучается с использованием обучающих входных данных 304. Кроме того, несмотря на то, что шаги обучения алгоритма 300 MLA представлены как выполняемые сервером 130 обучения, предполагается, что алгоритм 300 MLA может обучаться другим объектом, таким как сервер 118.[88] For a better understanding of the basic concepts of the present technology, it should be understood that, in general, the training of the MLA algorithm 300 can be divided into the first and second stages. In the first step, training input 304 (described below) is generated. In the second step, the MLA algorithm 300 is trained using the training input 304. In addition, although the training steps of the MLA algorithm 300 are presented as being performed by the training server 130, it is contemplated that the MLA algorithm 300 may be trained by another entity, such as the server 118.

[89] В соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии, формирование обучающих входных данных 304 начинается с того, что сервер 130 обучения получает пакет 302 данных от базы 126 данных журнала. Пакет 302 данных содержит журнал 128 запросов, связанный с электронным устройством 102 (см. фиг. 2). Несмотря на то, что согласно описанию, сервером 130 обучения извлекается только журнал 128 запросов, связанный с электронным устройством 102, следует понимать, что это сделано лишь для простоты объяснения. Предполагается, что пакет 302 данных может содержать один или несколько журналов запросов, связанных с другими электронными устройствами (не показаны), или, другими словами, журналы запросов, связанные с поисками нескольких пользователей. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 130 обучения может извлекать журнал 128 запросов периодически, например, раз в день, раз в неделю и т.п. В другом не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может извлекать один или несколько журналов запросов, соответствующих заранее заданным критериям, например, журналы запросов с поисковыми запросами, выполненными за последний час, за прошедший день и т.п.[89] According to a non-limiting embodiment of the present technology, the generation of training input 304 begins with the training server 130 receiving a data packet 302 from the log database 126 . Data packet 302 contains a query log 128 associated with electronic device 102 (see FIG. 2). Although, as described, only the request log 128 associated with the electronic device 102 is retrieved by the learning server 130, it should be understood that this is done for simplicity of explanation only. It is contemplated that data packet 302 may contain one or more query logs associated with other electronic devices (not shown) or, in other words, query logs associated with multi-user searches. In some non-limiting embodiments of the present technology, learning server 130 may retrieve query log 128 periodically, such as once a day, once a week, or the like. In another non-limiting embodiment of the present technology, the learning server 130 may retrieve one or more query logs that match predetermined criteria, such as query logs with search queries completed in the last hour, the past day, and the like.

[90] После получения журнала 128 запросов сервер 130 обучения может идентифицировать один или несколько сеансов поиска в журнале 128 запросов. В контексте настоящей технологии термин «сеанс поиска» относится к периоду времени, начинающемуся с того, что пользователь начинает поиск (например, с запуска приложения 108 поисковой системы) и заканчивается после завершения поиска пользователем (например, после закрытия приложения 108 поисковой системы). В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеанс поиска определяется периодом времени, например 7 минутами. Другими словами, один или несколько поисковых запросов, отправленных в течение 7-минутного скользящего периода, совместно образуют сеанс поиска. Следует отметить, что в других не имеющих ограничительного характера вариантах осуществления настоящей технологии используемый период времени может варьироваться (т.е. может быть больше или меньше 7 минут).[90] Upon receipt of the query log 128, the learning server 130 may identify one or more search sessions in the query log 128. In the context of the present technology, the term "search session" refers to the period of time starting when the user starts searching (for example, when the search engine application 108 starts) and ends after the user completes the search (for example, after closing the search engine application 108). In some non-limiting embodiments of the present technology, a search session is defined by a period of time, such as 7 minutes. In other words, one or more search requests sent within a 7-minute rolling period collectively form a search session. It should be noted that in other non-limiting embodiments of the present technology, the time period used may vary (ie, may be greater or less than 7 minutes).

[91] На фиг. 2 сервер 130 обучения идентифицировал сеанс 218 поиска, содержащий первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210, все отправленные в течение 7 минут.[91] FIG. 2, the learning server 130 has identified a search session 218 containing a first search query 202, a second search query 204, a third search query 206, a fourth search query 208, and a fifth search query 210, all submitted within 7 minutes.

[92] На фиг. 3 показано, что после идентификации сеанса 218 поиска сервер 130 обучения может выбирать два поисковых запроса из сеанса 218 поиска. В целом, не имеющие ограничительного характера варианты осуществления настоящей технологии предполагают два способа выбора двух поисковых запросов в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.[92] FIG. 3 shows that once the search session 218 is identified, the learning server 130 can select two search queries from the search session 218. In general, the non-limiting embodiments of the present technology provide two ways of selecting two search queries in accordance with the non-limiting embodiments of the present technology.

УточнениеClarification

[93] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии два поисковых запроса соответствуют поисковому запросу и его уточнению.[93] In some non-limiting embodiments of the present technology, two search queries correspond to a search query and its refinement.

[94] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии, где множество поисковых запросов совместно образуют цепочку измененных формулировок, сервер 130 обучения может выбирать самый последний поисковый запрос (т.е. третий поисковый запрос 206 и пятый поисковый запрос 210) и непосредственно предшествующий ему поисковый запрос. Другими словами, два поисковых запроса могут выбираться только при совпадении единого общего условия поиска или при наличии по меньшей мере одного общего условия поиска у двух последовательных поисковых запросов. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии отрицательные примеры могут быть сформированы с использованием любых двух поисковых запросов. В других не имеющих ограничительного характера вариантах осуществления два запроса проверяются на степень совпадения условий запроса и используются для формирования отрицательного примера только при заранее заданном количестве совпадающих условий поиска, например, при одном совпадающем поисковом термине или при не менее двух совпадающих поисковых терминах. Эти различные не имеющие ограничительного характера варианты осуществления полезны для уравновешивания сходства поисковых запросов (путем проверки условий поиска в целом) и обеспечения того, чтобы результаты поиска были достаточно разными (для формирования хороших отрицательных примеров).[94] In some non-limiting embodiments of the present technology, where multiple search queries collectively form a reformulation chain, learning server 130 may select the most recent search query (i.e., third search query 206 and fifth search query 210) and directly the search term that preceded it. In other words, two search queries can only be selected if a single common search term matches, or if two consecutive search queries have at least one common search term. In some non-limiting embodiments of the present technology, negative examples may be generated using any two search queries. In other non-limiting embodiments, two queries are checked for the degree of matching of the query terms and used to generate a negative example only when a predetermined number of matching search terms, for example, one matching search term or at least two matching search terms. These various non-limiting embodiments are useful for balancing the similarity of search queries (by checking the search terms as a whole) and ensuring that the search results are sufficiently different (to form good negative examples).

[95] Следует понимать, что в приведенном выше примере первый запрос шире, а второй запрос уже для более точной фокусировки поиска, поскольку первый запрос предположительно не дал удовлетворительных результатов. Таким образом, наличие уточнения в сеансе поиска является сигналом, указывающим на наличие отрицательного примера, что дополнительно описано ниже.[95] It should be understood that in the above example, the first query is wider and the second query is narrower in order to more precisely focus the search, since the first query did not presumably give satisfactory results. Thus, the presence of a refiner in a search session is a signal indicating the presence of a negative example, as described further below.

Отсутствие уточнения / случайностьLack of clarification / randomness

[96] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии два поисковых запроса выбираются случайным образом или, другими словами, как не следующие друг за другом изменения формулировки. Например, два поисковых запроса могут включать в себя пятый поисковый запрос 210 «pizza montreal takeout» и третий поисковый запрос 206 «103 rejection USPTO overcome».[96] In some non-limiting embodiments of the present technology, two search queries are selected randomly, or, in other words, as non-consecutive wording changes. For example, two search queries may include a fifth search query 210 "pizza montreal takeout" and a third search query 206 "103 rejection USPTO overcome".

[97] Следует понимать, что в приведенном выше примере два несвязанных поисковых запроса и их соответствующие результаты поиска могут быть полезными при формировании отрицательных обучающих примеров, как описано ниже.[97] It should be understood that in the example above, two unrelated search queries and their respective search results can be useful in generating negative training examples, as described below.

[98] После определения двух поисковых запросов из сеанса 218 поиска сервер 130 обучения может проанализировать соответствующую страницу SERP. Для примера можно предположить, что два поисковых запроса соответствуют второму поисковому запросу 204 и третьему поисковому запросу 206.[98] After determining the two search queries from the search session 218, the learning server 130 may parse the corresponding SERP page. For example, two search queries can be assumed to match the second search query 204 and the third search query 206.

[99] На фиг. 4 изображены первая страница 402 SERP второго поискового запроса 204 и вторая страница 404 SERP третьего поискового запроса 206, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.[99] FIG. 4 shows the first SERP page 402 of the second search query 204 and the second SERP page 404 of the third search query 206 implemented in accordance with a non-limiting embodiment of the present technology.

[100] В проиллюстрированном примере и первая страница 402 SERP, и вторая страница 404 SERP включает в себя соответствующий набор результатов поиска (содержащий четыре результата поиска, соответственно). Следует понимать, что это не является ограничением, и предполагается, что и первая страница 402 SERP, и вторая страница 404 SERP могут содержать больше или меньше четырех результатов поиска. Эти четыре результата поиска расположены согласно их релевантности (в порядке убывания).[100] In the illustrated example, both the first SERP page 402 and the second SERP page 404 include a respective search result set (comprising four search results, respectively). It should be understood that this is not a limitation, and it is contemplated that both the first SERP page 402 and the second SERP page 404 may contain more or less than four search results. These four search results are ranked according to their relevance (in descending order).

[101] Затем сервер 130 обучения способен формировать обучающие входные данные 304 (см. фиг. 3). В целом, обучающие входные данные 304 являются отрицательным обучающим примером для обучения алгоритма 300 MLA на втором этапе и содержат третий поисковый запрос 206 в паре с одним из результатов поиска с первой страницы 402 SERP. Как проиллюстрировано ниже, настоящая технология включает в себя не имеющие ограничительного характера варианты идентификации результата поиска с первой страницы 402 SERP, сопоставляемого с третьим поисковым запросом 206.[101] The training server 130 is then able to generate training input 304 (see FIG. 3). In general, the training input 304 is a negative training case for training the MLA algorithm 300 in the second stage and contains a third search query 206 paired with one of the search results from the first SERP page 402. As illustrated below, the present technology includes non-limiting options for identifying a search result from the first SERP page 402 matched against the third search query 206.

[102] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 130 обучения случайным образом выбирает результат поиска с первой страницы 402 SERP для сопоставления с третьим поисковым запросом 206.[102] In some non-limiting embodiments of the present technology, the learning server 130 randomly selects a search result from the first SERP page 402 to match against the third search query 206.

[103] В еще одном не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может выбирать результат поиска с первой страницы 402 SERP на основе параметра 216 взаимодействия с пользователем, связанного с третьим поисковым запросом 206. В частности, учитывая, что журнал 128 запросов содержит параметр 216 взаимодействия с пользователем, указывающий на один или несколько видов действий пользователя электронного устройства 102 в отношении каждого из поисковых запросов, сервер 130 обучения позволяет выбирать результат поиска на второй странице 404 SERP, получивший наибольшее количество действий.[103] In yet another non-limiting embodiment of the present technology, the learning server 130 may select a search result from the first SERP page 402 based on the user interaction parameter 216 associated with the third search query 206. In particular, given that the query log 128 contains a user interaction parameter 216 indicating one or more user actions of the electronic device 102 in relation to each of the search queries, the learning server 130 allows you to select the search result on the second SERP page 404 that received the most actions.

[104] Например, можно предположить, что параметр 216 взаимодействия пользователя для третьего поискового запроса 206 указывает на то, что пользователь больше всего взаимодействовал с третьим результатом 406 поиска (выбрал только третий результат поиска 406), который расположен в третьей позиции на второй странице 404 SERP.[104] For example, it can be assumed that the user interaction parameter 216 for the third search query 206 indicates that the user interacted the most with the third search result 406 (selected only the third search result 406), which is located in the third position on the second page 404 SERP.

[105] Тогда сервер 130 обучения может выбрать результат 408 поиска, расположенный в той же позиции (то есть в третьей позиции) на первой странице 402 SERP, для сопоставления с третьим поисковым запросом 206. В альтернативном не имеющем ограничительного характера варианте осуществления сервер 130 обучения может выбрать результат поиска, расположенный в случайной позиции в пределах заранее заданного расстояния от той же позиции (то есть от третьего места) на первой странице 402 SERP, сопоставляемой с третьим поисковым запросом 206. Например, сервер 130 обучения может случайным образом выбрать результат поиска из результатов поиска, расположенных на одну позицию ниже, в той же позиции или на одну позицию выше третьей позиции на первой странице 402 SERP («Результат № 2» и/или «Результат № 4»), для сопоставления с третьим поисковым запросом 206.[105] The learning server 130 may then select the search result 408 located in the same position (i.e., third position) on the first SERP page 402 to match the third search query 206. In an alternative non-restrictive embodiment, the learning server 130 may select a search result located at a random position within a predetermined distance from the same position (i.e., the third position) on the first SERP page 402 associated with the third search query 206. For example, the learning server 130 may randomly select a search result from search results one position below, in the same position, or one position above the third position on the first SERP page 402 ("Result #2" and/or "Result #4") to match against the third search query 206.

[106] В не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может дополнительно проверять параметр взаимодействия с пользователем, связанный с выбранным таким образом результатом поиска с первой страницы 402 SERP. В частности, если предположить, что был выбран результат 408 поиска, сервер 130 обучения может определять, указывает ли параметр взаимодействия с пользователем для результата 408 поиска на то, что время ожидания пользователя было меньше заранее заданного порога, например, равного 30 секундам (или любого другого подходящего временного интервала). Если параметр взаимодействия с пользователем превышает заданный порог, сервер 130 обучения может отбрасывать результат поиска 408, сопоставляемого с третьим поисковым запросом 206, и переходить к проверке других результатов поиска на первой странице 402 SERP (или на других страницах SERP того же сеанса поиска или сеансов поиска других пользователей) для сопоставления с третьим поисковым запросом 206. Это основано на предположении, что даже если пользователь уточнил поисковый запрос, но потребовалось более 30 секунд для получения определенного результата поиска, то результат поиска содержал некоторую информацию, которая была воспринята как подходящая для пользователя и, следовательно, его следует исключить при формировании отрицательных примеров.[106] In a non-limiting embodiment of the present technology, the learning server 130 may further check the user interaction parameter associated with the thus selected search result from the first page 402 of the SERP. In particular, assuming that a search result 408 has been selected, the learning server 130 may determine whether the user interaction parameter for the search result 408 indicates that the user timeout was less than a predetermined threshold, such as 30 seconds (or any other suitable time interval). If the user interaction parameter exceeds a predetermined threshold, the learning server 130 may discard the search result 408 associated with the third search query 206 and proceed to check other search results on the first SERP page 402 (or on other SERP pages of the same search session or search sessions). other users) to match against the third search query 206. This is based on the assumption that even if the user refined the search query, but it took more than 30 seconds to get a specific search result, the search result contained some information that was perceived as appropriate for the user and , therefore, it should be excluded when forming negative examples.

[107] Несмотря на то, что приведенное выше описание формирования отрицательных обучающих примеров относится к двум поисковым запросам, являющимся измененными формулировками или уточнениями (то есть ко второму поисковому запросу 204 и третьему поисковому запросу 206), оно этим не ограничено. В действительности, как обсуждалось выше, в дополнение или вместо второго поискового запроса 204 и третьего поискового запроса 206 сервер 130 обучения может формировать один или несколько отрицательных обучающих примеров из других пар поисковых запросов, таких как, например, пятый поисковый запрос 210 и первый поисковый запрос 202. Более того, несмотря на то, что один или несколько отрицательных обучающих примеров описаны как сформированные на основе лишь части журнала 128 запросов, связанной с электронным устройством 102, следует понимать, что это сделано для простоты объяснения и предполагается, что другие отрицательные обучающие примеры могут быть сформированы с использованием одного или нескольких журналов запросов, связанных с одним или несколькими электронными устройствами (отличными от электронного устройства 102), а также обновленной версии журнала 128 запросов, когда электронное устройство 102 выполняет дополнительные поисковые запросы. Также предполагается, что поскольку пользователь может иметь несколько целей поиска в течение одного сеанса поиска, с использованием простого сеанса поиска может быть сформировано несколько отрицательных примеров, например, один отрицательный пример для каждого поискового намерения, проявленного во время одного сеанса поиска.[107] Although the above description of the generation of negative training examples refers to two search queries that are reformulations or refinements (ie, the second search query 204 and the third search query 206), it is not limited to this. Indeed, as discussed above, in addition to or instead of the second search query 204 and the third search query 206, the learning server 130 may generate one or more negative training examples from other pairs of search queries, such as, for example, the fifth search query 210 and the first search query. 202. Moreover, while one or more negative training cases are described as being generated based on only a portion of the request log 128 associated with the electronic device 102, it should be understood that this is done for ease of explanation and it is assumed that other negative training cases may be generated using one or more query logs associated with one or more electronic devices (other than the electronic device 102) as well as an updated version of the query log 128 when the electronic device 102 performs additional search queries. It is also contemplated that since a user may have multiple search intents during a single search session, multiple negative examples can be generated using a simple search session, such as one negative example for each search intent displayed during one search session.

[108] Отрицательные обучающие примеры, сформированные для сеанса 218 поиска, образуют обучающие входные данные 304. Очевидно, что несмотря на описание лишь одного случая формирования отрицательных обучающих примеров, следует ясно понимать, что это сделано для простоты объяснения и что обучающие входные данные 304 могут содержать больше отрицательных обучающих примеров, сформированных из других журналов поиска.[108] The negative training examples generated for the search session 218 form the training input 304. Obviously, while only one instance of generating negative training examples has been described, it should be clearly understood that this is for ease of explanation and that the training input 304 may contain more negative training examples formed from other search logs.

[109] Несмотря на то, что в приведенном выше описании обучающие входные данные 304 содержат лишь отрицательные обучающие примеры, это не является ограничением. Предполагается, что сервер 130 обучения может формировать один или несколько положительных обучающих примеров. Например, если пользователь нажал на третий результат 406 поиска в ответ на третий поисковый запрос 206, сервер 130 обучения может сформировать положительный обучающий пример, в котором третий результат 406 поиска сопоставлен с третьим поисковым запросом 206.[109] Although in the above description, the training input 304 contains only negative training examples, this is not a limitation. It is contemplated that the training server 130 may generate one or more positive training examples. For example, if the user clicked on the third search result 406 in response to the third search query 206, the learning server 130 may generate a positive training example in which the third search result 406 is matched to the third search query 206.

[110] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для определения того, что третий результат 406 поиска должен использоваться для положительного обучающего примера, сервер 130 обучения может определять, был ли просмотрен третий результат 406 поиска (или взаимодействовал ли пользователь с ним другим образом) в течение заранее заданного времени, до формирования положительного обучающего примера, в котором третий результат 406 поиска сопоставлен с третьим поисковым запросом 206. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданное время соответствует 30 секундам. Очевидно, что заранее заданное время может быть больше или меньше 30 секунд.[110] In some non-limiting embodiments of the present technology, in order to determine that the third search result 406 should be used for a positive training example, the learning server 130 may determine whether the third search result 406 has been viewed (or interacted with by another user). manner) for a predetermined time until a positive training example is generated in which the third search result 406 is matched with the third search query 206. In some non-limiting embodiments of the present technology, the predetermined time is 30 seconds. Obviously, the predetermined time may be more or less than 30 seconds.

[111] В другом не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения способен назначать оценку ранжирования каждому результату поиска на второй странице 404 SERP. На реализацию такого ранжирования не накладывается ограничений. Например, оценка ранжирования может быть двоичным числом, где результату поиска, выбранному пользователем и являющемуся подходящим кандидатом для положительных примеров обучения (например, третьему результату 406 поиска), присваивается оценка ранжирования 1, а невыбранные результаты поиска (т.е. потенциально подходящие для отрицательных обучающих примеров) получают оценку 0 (или наоборот). В другом примере оценка ранжирования может быть целочисленной оценкой, основанной на продолжительности просмотра для всех видов или для конкретного вида взаимодействия с результатами поиска. Например, если пользователь просматривал третий результат 406 поиска в течение 1300 секунд, оценка ранжированная может составлять log(1300) (или 3,114). В некоторых не имеющих ограничительного характера вариантах осуществления время просмотра может быть ограничено 10 минутами (т.е. 600 секундами) или любым другим значением, тогда если пользователь просматривал третий результат 406 поиска в течение 1300 секунд, оценка ранжирования составляет log(600). Результатам поиска, оставшимся без просмотра, присваивается оценка ранжирования 0.[111] In another non-limiting embodiment of the present technology, the learning server 130 is able to assign a ranking score to each search result on the second SERP page 404. There are no restrictions on the implementation of such ranking. For example, the ranking score may be a binary number, where a user-selected search result that is a good candidate for positive learning examples (e.g., third search result 406) is assigned a ranking score of 1, and unselected search results (i.e., potentially eligible for negative learning examples) are assigned a ranking score of 1. training examples) get a score of 0 (or vice versa). In another example, the ranking score may be an integer score based on browsing time for all views or for a particular kind of interaction with search results. For example, if the user viewed the third search result 406 for 1300 seconds, the ranked score could be log(1300) (or 3,114). In some non-limiting embodiments, browsing time may be limited to 10 minutes (i.e., 600 seconds) or any other value, then if the user viewed the third search result 406 for 1300 seconds, the ranking score is log(600). Search results that are not viewed are assigned a ranking score of 0.

[112] После присвоения оценок ранжирования каждому из результатов поиска, включенных во вторую страницу 404 SERP, для формирования положительного обучающего примера сервер 130 обучения может сопоставлять результат поиска с высшей оценкой с третьим поисковым запросом 206.[112] After assigning ranking scores to each of the search results included in the second SERP page 404, the learning server 130 may match the highest-ranked search result with the third search query 206 to generate a positive training example.

[113] Далее со ссылкой на фиг. 3 описано обучение алгоритма 300 MLA с использованием обучающих входных данных 304.[113] Next, with reference to FIG. 3 describes training an MLA algorithm 300 using training input 304.

[114] Обучающие входные данные 304 вводятся в алгоритм 300 MLA. Алгоритм 300 MLA содержит логику обучения для определения набора признаков, связанных с каждым отрицательным примером обучения. На реализацию алгоритма 300 MLA не накладывается ограничений. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии алгоритм 300 MLA реализован как нейронная сеть.[114] Training input 304 is input to the MLA algorithm 300. The MLA algorithm 300 contains learning logic for determining a set of features associated with each negative learning example. There are no restrictions on the implementation of the MLA algorithm 300. In some non-limiting embodiments of the present technology, the MLA algorithm 300 is implemented as a neural network.

[115] В частности, с учетом того, что каждый из обучающих примеров является отрицательным обучающим примером, алгоритм 300 MLA может определять, какой набор признаков указывает на низкую релевантность результата поиска поисковому запросу.[115] In particular, given that each of the training examples is a negative training example, the MLA algorithm 300 can determine which set of features indicates a low relevance of the search result to the search query.

[116] Соответственно, алгоритм 300 MLA может формировать предполагаемую функцию, когда он выполняется сервером 118 как частью поисковой службы 124, способной назначать параметр ранжирования результату поиска в ответ на полученный поисковый запрос этапа использования на основе набора признаков, связанных с поисковым запросом и с результатом поиска.[116] Accordingly, the MLA algorithm 300 may generate an intended function when it is executed by the server 118 as part of the search service 124 capable of assigning a ranking parameter to a search result in response to a received use-phase search query based on a set of features associated with the search query and with the result. search.

[117] Несмотря на то что, здесь представлен лишь один пример обучения алгоритма 300 MLA, это сделано для простоты иллюстрации. Следует ясно понимать, что обучение алгоритма 300 MLA выполняется итерационно с использованием множества как отрицательных, так и положительных обучающих примеров.[117] Although only one example of training the MLA algorithm 300 is presented here, this is done for ease of illustration. It should be clearly understood that the training of the MLA algorithm 300 is performed iteratively using a plurality of both negative and positive training examples.

[118] Приведенные выше архитектура и примеры позволяют выполнять реализуемый на компьютере вышеуказанный способ. Способ 500 выполняется в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии. Способ 500 может выполняться сервером 130 обучения.[118] The above architecture and examples allow the implementation of the above method implemented on a computer. Method 500 is performed in accordance with non-limiting embodiments of the present technology. Method 500 may be performed by learning server 130.

[119] Шаг 502: извлечение из базы данных журнала поиска на сервере первого запроса, ранее отправленного на сервер, первой страницы SERP, связанной с первым запросом, второго запроса, отличного от первого запроса и отправленного после первого запроса, и второй страницы SERP, связанной со вторым запросом, причем первый запрос и второй запрос были отправлены электронным устройством.[119] Step 502: Retrieving from the server search log database the first request previously sent to the server, the first SERP page associated with the first request, the second request different from the first request and sent after the first request, and the second SERP page associated with a second request, wherein the first request and the second request were sent by the electronic device.

[120] Способ 500 начинается на шаге 502, на котором сервер 130 обучения извлекает журнал 128 запросов электронного устройства 102 из базы 126 журналов с использованием пакета 302 данных.[120] The method 500 begins at step 502, where the learning server 130 retrieves the request log 128 of the electronic device 102 from the log base 126 using the data package 302.

[121] В представленном примере журнала 128 запросов электронного устройства 102 показано, что электронное устройство 102 отправило 5 запросов (а именно, первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210). Каждый из этих 5 запросов связан с соответствующей отметкой 212 времени, соответствующей страницей 214 SERP и соответствующим параметром 216 взаимодействия с пользователем. Несмотря на то, что журнал 128 запросов электронного устройства 102 содержит лишь 5 запросов, это не является ограничением и предполагается, что журнал 128 запросов может содержать больше или меньше 5 запросов.[121] In the presented example query log 128 of the electronic device 102, it is shown that the electronic device 102 sent 5 queries (namely, the first search query 202, the second search query 204, the third search query 206, the fourth search query 208 and the fifth search query 210) . Each of these 5 queries is associated with a respective timestamp 212, a respective SERP page 214, and a respective user experience parameter 216. While the request log 128 of the electronic device 102 contains only 5 requests, this is not a limitation and it is contemplated that the request log 128 may contain more or less than 5 requests.

[122] Шаг 504: в ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формирование обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, содержащего второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.[122] Step 504: in response to a second query sent in the same search session as the first query, generate a training set for use as negative training examples in training the MLA algorithm, comprising the second query paired with a predetermined search result from the first set of search results.

[123] На шаге 504 сервер обучения способен идентифицировать сеанс 218 поиска.[123] At step 504, the learning server is able to identify the search session 218.

[124] Идентифицировав один или несколько сеансов поиска в журнале 128 запросов, сервер 130 обучения дополнительно может выбрать два поисковых запроса из сеанса 218 поиска. Например, если в качестве примера взять сеанс 218 поиска, сервер 130 обучения может выбрать третий поисковый запрос 206 и либо первый поисковый запрос 202, либо второй поисковый запрос 204 (непосредственно предшествующий третьему поисковому запросу 206).[124] Having identified one or more search sessions in the query log 128, the learning server 130 can additionally select two search queries from the search session 218. For example, taking search session 218 as an example, learning server 130 may select third search 206 and either first search 202 or second search 204 (immediately preceding third search 206).

[125] Идентифицировав два поисковых запроса из сеанса 218 поиска и второго сеанса 220 поиска, сервер 130 обучения может проанализировать соответствующую страницу SERP.[125] Having identified two search queries from the search session 218 and the second search session 220, the learning server 130 can parse the corresponding SERP page.

[126] На фиг. 4 показаны первая страница 402 SERP для второго поискового запроса 204 и вторая страница 404 SERP для третьего поискового запроса 206, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.[126] FIG. 4 shows a first SERP page 402 for a second search query 204 and a second SERP page 404 for a third search query 206 implemented in accordance with a non-limiting embodiment of the present technology.

[127] В представленном примере и первая страница 402 SERP, и вторая страница 404 SERP содержат соответствующие наборы результатов поиска (содержащие по четыре результата поиска, соответственно). Следует понимать, что это не является ограничением и предполагается, что и первая страница 402 SERP, и вторая страница 404 SERP может содержать больше или меньше четырех результатов поиска. Четыре результата поиска расположены согласно их релевантности (в порядке убывания).[127] In the example shown, both the first SERP page 402 and the second SERP page 404 contain respective search result sets (containing four search results, respectively). It should be understood that this is not a limitation and it is contemplated that both the first SERP page 402 and the second SERP page 404 may contain more or less than four search results. The four search results are arranged according to their relevance (in descending order).

[128] Затем сервер 130 обучения формирует обучающие входные данные 304. В целом, обучающие входные данные 304 являются отрицательным обучающим примером для обучения алгоритма 300 MLA на втором этапе и содержат третий поисковый запрос 206 в паре с одним из результатов поиска с первой страницы 402 SERP.[128] The training server 130 then generates the training input 304. In general, the training input 304 is a negative training case for training the MLA algorithm 300 in the second step and contains a third search query 206 paired with one of the search results from the first SERP page 402 .

[129] Затем способ 500 завершается или возвращается к шагу 502 с новым журналом запросов.[129] Method 500 then ends or returns to step 502 with a new query log.

[130] Специалистам в данной области должно быть очевидно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение арсенала технических решений конкретной технической проблемы, с которой сталкивается традиционный метод.[130] Those skilled in the art should appreciate that at least some embodiments of the present technology are directed to expanding the arsenal of technical solutions to a particular technical problem faced by the conventional method.

[131] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не может использовать некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь использует другие технические эффекты, либо технический эффект полностью отсутствует.[131] It is obvious that not all of the technical effects mentioned in this description should be present in every embodiment of the present technology. For example, there may be embodiments of the present technology where the user cannot use some of these technical effects, or other implementations where the user uses other technical effects, or there is no technical effect at all.

[132] Модификации и улучшения описанных выше вариантов реализации настоящей технологии могут быть очевидными для специалистов в данной области техники. Предшествующее описание приведено лишь в качестве примера, но не для ограничения объема изобретения. Следовательно, объем настоящей технологии ограничен исключительно объемом приложенной формулы изобретения.[132] Modifications and improvements to the embodiments of the present technology described above may be apparent to those skilled in the art. The foregoing description is given by way of example only and is not intended to limit the scope of the invention. Therefore, the scope of the present technology is limited solely by the scope of the appended claims.

[133] Несмотря на то, что описанные выше варианты реализации приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или что их порядок может быть изменен без отклонения от настоящей технологии. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.[133] Although the embodiments described above are given with reference to specific steps performed in a certain order, it should be understood that these steps can be combined, separated, or that their order can be changed without deviating from the present technology. Accordingly, the order and grouping of steps is not limiting to the present technology.

Claims (24)

1. Компьютерный способ формирования обучающего набора для обучения алгоритма машинного обучения (MLA), реализованного в системе поиска информации и выполняемого сервером, доступным для электронного устройства, выполняемый сервером и включающий в себя:1. A computer method for generating a training set for training a machine learning algorithm (MLA) implemented in an information retrieval system and performed by a server accessible to an electronic device, performed by the server and including: - извлечение из базы данных журнала поиска на сервере (а) первого запроса, ранее отправленного на сервер, (б) первой страницы результатов поисковой системы (SERP), связанной с первым запросом, (в) второго запроса, отличного от первого запроса и отправленного после первого запроса, и (г) второй страницы SERP, связанной со вторым запросом, при этом первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска; и- extracting from the server search log database (a) the first request previously sent to the server, (b) the first search engine results page (SERP) associated with the first request, (c) the second request, different from the first request and sent after the first query, and (d) a second SERP page associated with the second query, wherein the first query and the second query are sent by the electronic device, the first SERP page contains a first set of search results, and the second SERP page contains a second set of search results; And - в ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формирование обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, при этом обучающий набор содержит второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.- in response to the second request sent in the same search session as the first request, the formation of a training set for use as negative training examples when training the MLA algorithm, while the training set contains the second request paired with a predefined search result from the first search result set. 2. Способ по п. 1, отличающийся тем, что перед формированием обучающего набора способ дополнительно включает в себя проверку того, были ли первый и второй запросы отправлены на сервер электронным устройством в одном сеансе поиска. 2. The method of claim. 1, characterized in that before generating the training set, the method further includes checking whether the first and second requests were sent to the server by the electronic device in the same search session. 3. Способ по п. 2, отличающийся тем, что определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, включает в себя анализ разницы во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.3. The method according to claim 2, characterized in that determining that the first request and the second request were sent in the same search session includes analyzing the time difference between the first time the first request was sent and the second time the second request was sent. 4. Способ по п. 3, отличающийся тем, что первый запрос и второй запрос определяются как отправленные в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.4. The method according to claim 3, characterized in that the first request and the second request are determined to have been sent in the same search session if the time difference is less than a predetermined threshold. 5. Способ по п. 3, отличающийся тем, что определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, дополнительно включает в себя анализ первого запроса и второго запроса.5. The method of claim 3, wherein determining that the first request and the second request were sent in the same search session further includes parsing the first request and the second request. 6. Способ по п. 5, отличающийся тем, что способ дополнительно включает в себя анализ первого запроса и второго запроса для выявления некоторой степени совпадения между первым запросом и вторым запросом, при этом формирование обучающего набора выполняется только при наличии такой степени совпадения.6. The method of claim. 5, characterized in that the method further includes analyzing the first query and the second query to identify some degree of match between the first query and the second query, while the training set is performed only if there is such a degree of match. 7. Способ по п. 6, отличающийся тем, что степень совпадения выявляется при наличии по меньшей мере одного общего условия поиска у первого запроса и второго запроса. 7. The method according to claim 6, characterized in that the degree of match is revealed in the presence of at least one common search condition for the first query and the second query. 8. Способ по п. 7, отличающийся тем, что степень совпадения выявляется при наличии общего единственного условия поиска у первого запроса и второго запроса. 8. The method according to claim 7, characterized in that the degree of coincidence is revealed if there is a common single search condition for the first query and the second query. 9. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя извлечение из базы данных журнала поиска на сервере набора параметров взаимодействия с пользователем, указывающих на один или несколько видов взаимодействия пользователя электронного устройства со второй страницей SERP для результата поиска из второго набора результатов поиска, при этом набор параметров взаимодействия с пользователем содержит время наведения для этого результата поиска и/или событие «клика» для этого результата поиска. 9. The method according to claim. 1, characterized in that it further includes extracting from the database of the search log on the server a set of user interaction parameters indicating one or more types of interaction of the user of the electronic device with the second SERP page for the search result from the second a set of search results, wherein the set of user interaction parameters comprises a hover time for that search result and/or a "click" event for that search result. 10. Способ по п. 9, отличающийся тем, что он дополнительно включает в себя выбор результата поиска из второго набора результатов поиска с наибольшим значением параметра взаимодействия с пользователем и выбор заранее заданного результата поиска на основе позиции этого результата поиска на второй странице SERP. 10. The method of claim 9, further comprising selecting a search result from the second set of search results with the highest user interaction parameter value and selecting a predetermined search result based on the position of that search result on the second SERP page. 11. Способ по п. 10, отличающийся тем, что заранее заданный результат поиска соответствует первому результату поиска, имеющему ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, и/или второму результату поиска, имеющему позицию выше или ниже позиции результата поиска на первой странице SERP.11. The method of claim. 10, characterized in that the predetermined search result corresponds to the first search result having the same position on the first page of the SERP as the search result on the second page of the SERP, and/or the second search result having a position higher or below the position of the search result on the first page of the SERP. 12. Способ по п. 11, отличающийся тем, что он дополнительно включает в себя случайный выбор заранее заданного результата поиска из первого результата поиска, имеющего ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, и второго результата поиска, имеющего позицию выше или ниже позиции результата поиска на первой странице SERP.12. The method of claim 11, further comprising randomly selecting a predetermined search result from a first search result having the same position on the first page of the SERP as the search result on the second page of the SERP, and the second search result , which has a position above or below the position of the search result on the first page of the SERP. 13. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя анализ взаимодействия пользователя с заранее заданным результатом поиска, при этом формирование обучающего набора выполняется только, если взаимодействие пользователя с заранее заданным результатом поиска оказывается ниже заранее заданного порога взаимодействия.13. The method according to claim 1, characterized in that it further includes analyzing the user's interaction with a predefined search result, wherein the formation of a training set is performed only if the user's interaction with a predefined search result is below a predefined interaction threshold. 14. Способ по п. 13, отличающийся тем, что заранее заданный порог взаимодействия составляет тридцать секунд. 14. The method according to claim 13, characterized in that the predetermined interaction threshold is thirty seconds. 15. Способ по п. 1, отличающийся тем, что сеанс поиска содержит множество страниц SERP, сформированных в ответ на множество запросов, включая первую страницу SERP и вторую страницу SERP, и множество запросов, включая первый запрос и второй запрос, при этом вторая страница SERP является последней страницей SERP из множества страниц SERP.15. The method of claim 1, wherein the search session comprises a plurality of SERP pages generated in response to a plurality of queries, including a first SERP page and a second SERP page, and a plurality of queries, including a first query and a second query, wherein the second page The SERP is the last SERP page of the many SERP pages. 16. Способ по п. 15, отличающийся тем, что первая страница SERP непосредственно предшествует второй странице SERP во множестве страниц SERP.16. The method of claim 15, wherein the first SERP page immediately precedes the second SERP page in the plurality of SERP pages. 17. Система для формирования обучающего набора для обучения алгоритма машинного обучения (MLA), исполняемого сервером, доступным для электронного устройства и содержащим процессор, выполненный с возможностью:17. A system for generating a training set for training a machine learning algorithm (MLA) executed by a server accessible to an electronic device and containing a processor configured to: - извлечения из базы данных журнала поиска на сервере (а) первого запроса, ранее отправленного на сервер, (б) первой страницы результатов поисковой системы (SERP), связанной с первым запросом, (в) второго запроса, отличного от первого запроса и отправленного после первого запроса, и (г) второй страницы SERP, связанной со вторым запросом, при этом первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска; и- extracting from the search log database on the server (a) the first request previously sent to the server, (b) the first search engine results page (SERP) associated with the first request, (c) the second request, different from the first request and sent after the first query, and (d) a second SERP page associated with the second query, wherein the first query and the second query are sent by the electronic device, the first SERP page contains a first set of search results, and the second SERP page contains a second set of search results; And - в ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формирования обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, при этом обучающий набор содержит второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.- in response to the second request, sent in the same search session as the first request, to form a training set for use as negative training examples when training the MLA algorithm, while the training set contains the second request paired with a predetermined search result from the first search result set. 18. Система по п. 17, отличающаяся тем, что процессор выполнен с возможностью проверки того, были ли первый и второй запросы отправлены на сервер электронным устройством в одном сеансе поиска, перед формированием обучающего набора.18. The system of claim. 17, characterized in that the processor is configured to check whether the first and second requests were sent to the server by the electronic device in the same search session, before generating the training set. 19. Система по п. 18, отличающаяся тем, что для определения того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, процессор выполнен с возможностью анализа разницы во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.19. The system according to claim 18, characterized in that in order to determine that the first request and the second request were sent in the same search session, the processor is configured to analyze the time difference between the first time of sending the first request and the second time of sending the second request. 20. Система по п.19, отличающаяся тем, что процессор выполнен с возможностью определения первого запроса и второго запроса как отправленных в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.20. The system of claim 19, wherein the processor is configured to determine the first request and the second request were sent in the same search session if the time difference is less than a predetermined threshold.
RU2020117960A 2020-06-01 2020-06-01 System and method for formation of training set for machine learning algorithm RU2790033C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2020117960A RU2790033C2 (en) 2020-06-01 System and method for formation of training set for machine learning algorithm
US17/123,749 US20210374606A1 (en) 2020-06-01 2020-12-16 Method of and system for generating a training set for a machine learning algorithm (mla)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020117960A RU2790033C2 (en) 2020-06-01 System and method for formation of training set for machine learning algorithm

Publications (2)

Publication Number Publication Date
RU2020117960A RU2020117960A (en) 2021-12-01
RU2790033C2 true RU2790033C2 (en) 2023-02-14

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012524A1 (en) * 2013-07-02 2015-01-08 Google Inc. Using models for triggering personal search
US20160299899A1 (en) * 2014-08-19 2016-10-13 Yandex Europe Ag Generating a user-specific ranking model on a user electronic device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012524A1 (en) * 2013-07-02 2015-01-08 Google Inc. Using models for triggering personal search
US20160299899A1 (en) * 2014-08-19 2016-10-13 Yandex Europe Ag Generating a user-specific ranking model on a user electronic device

Similar Documents

Publication Publication Date Title
US9177018B2 (en) Cross language search options
JP5745627B2 (en) Predictive query suggestion cache
US9183277B1 (en) Providing intent sensitive search results
RU2720905C2 (en) Method and system for expanding search queries in order to rank search results
US10726083B2 (en) Search query transformations
RU2744029C1 (en) System and method of forming training set for machine learning algorithm
RU2731335C2 (en) Method and system for generating recommendations of digital content
US9679027B1 (en) Generating related questions for search queries
RU2632148C2 (en) System and method of search results rating
US8959093B1 (en) Ranking search results based on anchors
US20150169576A1 (en) Dynamic Search Results
US10353974B2 (en) Methods and systems for refining search results
US9251202B1 (en) Corpus specific queries for corpora from search query
US8682892B1 (en) Ranking search results
RU2733481C2 (en) Method and system for generating feature for ranging document
US10891340B2 (en) Method of and system for updating search index database
RU2743932C2 (en) Method and server for repeated training of machine learning algorithm
RU2744028C2 (en) Method and system for storing multiple documents
US9110943B2 (en) Identifying an image for an entity
US20210075809A1 (en) Method of and system for identifying abnormal site visits
US20060149606A1 (en) System and method for agent assisted information retrieval
US9031929B1 (en) Site quality score
RU2790033C2 (en) System and method for formation of training set for machine learning algorithm
US9449095B1 (en) Revising search queries
US9152701B2 (en) Query classification