RU2778385C1 - Method and system for formation of training set for machine learning algorithm - Google Patents

Method and system for formation of training set for machine learning algorithm Download PDF

Info

Publication number
RU2778385C1
RU2778385C1 RU2020117965A RU2020117965A RU2778385C1 RU 2778385 C1 RU2778385 C1 RU 2778385C1 RU 2020117965 A RU2020117965 A RU 2020117965A RU 2020117965 A RU2020117965 A RU 2020117965A RU 2778385 C1 RU2778385 C1 RU 2778385C1
Authority
RU
Russia
Prior art keywords
search
node
training
nodes
serp
Prior art date
Application number
RU2020117965A
Other languages
Russian (ru)
Inventor
Эдуард Мечиславович Волынец
Денис Сергеевич Пастушик
Original Assignee
Общество С Ограниченной Ответственностью «Яндекс»
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью «Яндекс» filed Critical Общество С Ограниченной Ответственностью «Яндекс»
Priority to US17/123,764 priority Critical patent/US11816159B2/en
Application granted granted Critical
Publication of RU2778385C1 publication Critical patent/RU2778385C1/en

Links

Images

Abstract

FIELD: machine learning algorithms.
SUBSTANCE: computer method for the formation of a training set for training a machine learning algorithm (hereinafter – MLA) implemented in an information search system and performed by a server is disclosed. In this case, the method is implemented by the server and includes: extraction from a search log database on the server of a set of search engine results page (hereinafter – SERP), while a page of the set of SERP pages is formed in response to a search request of a set of search requests, and it contains a set of documents responding to this search request; formation by the server of a graph, in which the set of documents on the set of SERP pages and the set of requests are combined in such a way that: a graph node contains a search request of the set of search requests, and it is connected to the first subset of nodes, while each node of the first subset of nodes contains a document of the set of documents, related to this search request, and the node of the first subset of nodes is connected to the second subset of nodes, while each node of the second subset of nodes contains search requests related to the document of this node; reception of an indication to a search request for the formation of a negative training example for training MLA algorithm; identification of the node in the graph, related to this search request; and formation of a training set for use as the negative training example for the search request in training MLA algorithm containing the search request in a pair with the document located in another node being at a distance of the predetermined number of nodes from this node.
EFFECT: provision of the formation of training sets for training machine learning algorithms implemented in an information search system.
20 cl, 8 dwg

Description

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

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

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

[002] Алгоритмы машинного обучения (MLA, Machine Learning Algorithm) используются для удовлетворения многих потребностей в компьютерных технологиях. Обычно алгоритмы MLA применяются для формирования прогноза, связанного с взаимодействием пользователя с компьютерным устройством. В качестве примера сферы, где требуется такой прогноз, можно привести действия пользователя в отношении контента, доступного в сети Интернет.[002] 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.

[003] Объем информации, доступной на различных Интернет-ресурсах, в течение последних двух лет растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из примеров таких решений является поисковая система. В качестве примера можно привести поисковые системы GOOGLE™, YANDEX™, YAHOO!™ и т.д. Пользователь может получать доступ к интерфейсу такой поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ поисковая система выдает ранжированный список результатов поиска, потенциально релевантных поисковому запросу. Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, применяемых конкретной поисковой системой, используемой пользователем для поиска. Общая цель таких алгоритмов ранжирования состоит в том, чтобы представить наиболее релевантные результаты поиска в верхней части ранжированного списка, в то время как менее релевантные результаты поиска располагаются на менее заметных позициях ранжированного списка результатов поиска (позиции с наименее релевантными результатами поиска расположены в нижней части ранжированного списка результатов поиска).[003] The amount 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). search results list).

[004] Поисковые системы обычно являются эффективным инструментом поиска в случае поискового запроса, когда пользователь заранее знает, что он хочет найти. Другими словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. когда тема поиска известна), он может отправить поисковый запрос «Самые популярные места в Италии?» После этого поисковая машина представляет ранжированный список Интернет-ресурсов, потенциально имеющих отношение к данному поисковому запросу. Затем пользователь может просмотреть ранжированный список результатов поиска и получить интересующую его информацию о достопримечательностях Италии. Если пользователь по какой-либо причине не удовлетворен представленными результатами поиска, он может повторно запустить поиск, например, с уточненным поисковым запросом, таким как «Самые популярные места в Италии летом?», «Самые популярные достопримечательности на юге Италии?», «Самые популярные места для романтического отдыха в Италии?».[004] 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 information about the most popular places in Italy (i.e. when the search topic is known), he can send the search query "The most popular places in Italy?" After that, the search engine presents a ranked list of Internet resources that are potentially relevant to this 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 for any reason with the presented search results, he can re-run the search, for example, with a refined search query, such as "The most popular places in Italy in the summer?", "The most popular attractions in southern Italy?", "The most popular destinations for a romantic getaway in Italy?

[005] Когда пользователь отправляет поисковый запрос, поисковая система формирует список релевантных веб-ресурсов (на основе анализа просмотренных обходчиком веб-ресурсов, указания на которые хранятся в базе данных обходчика в виде списков вхождений (posting lists) и т.п.). Затем поисковая система использует алгоритм MLA для ранжирования сформированного таким образом списка результатов поиска. Алгоритм MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Такой алгоритм MLA обучен прогнозировать степень релевантности результата поиска поисковому запросу на основе большого количества признаков, связанных с этим результатом поиска, и указаний на действия пользователей в отношении результатов поиска при отправке подобных поисковых запросов в прошлом.[005] 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 database as 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 of relevance of a search result to a search query based on a large number of features associated with that search result and indications of user behavior on search results when submitting similar search queries in the past.

[006] Перед использованием алгоритма MLA для прогнозирования релевантности результатов поиска отправленному пользователем запросу этот алгоритм MLA должен быть обучен. В зависимости от реализации алгоритма MLA, обучение может выполняться различными способами, такими как обучение с учителем, обучение без учителя и т.д. В типовом подходе к обучению алгоритму MLA предоставляется несколько обучающих примеров (размеченных обучающих наборов), используемых для обучения алгоритма MLA способности делать выводы в рамках поставленной задачи (такой как прогнозирование релевантности документов поисковому запросу). Обычно алгоритму MLA предоставляются положительные примеры (в данном случае релевантные документы) и отрицательные примеры (в данном случае нерелевантные документы).[006] Before using the MLA algorithm to predict the relevance of search results to the query submitted by the user, this 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).

[007] В патентной заявке US2017220575A1 «Identification of Synthetic Examples for Improving Search Ranking» («Идентификация синтетических примеров для улучшения поискового ранжирования», Shutterstock Inc., 03.07.2017) раскрыты способы, системы и машиночитаемые носители для идентификации примеров синтетических медиафайлов для обучения с учителем алгоритма MLA, предназначенного для ранжирования медиафайлов по релевантности поисковому запросу. В одном аспекте способ включает в себя идентификацию запроса к поисковой системе для коллекции медиафайлов из ранее полученных поисковых запросов и выбор по меньшей мере одного обучающего медиафайла из этой коллекции в качестве синтетического отрицательного примера для этого поискового запроса. Способ также включает в себя предоставление обучающего набора для обучения с учителем алгоритма ранжирования. Обучающий набор содержит идентификатор поискового запроса, копию обучающего медиафайла и первый указатель того, что этот обучающий медиафайл является синтетическим отрицательным примером для этого поискового запроса. Способ дополнительно включает в себя предоставление алгоритму поискового запроса и коллекции и получение от алгоритма данных о ранжировании этой коллекции.[007] 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 search query and a collection to the algorithm, and receiving ranking data from the algorithm about the collection.

[008] В статье авторов Xuanhui Wang et al. «Improved Retrieval Accuracy for Difficult Queries using Negative Feedback» («Повышение точности получения сложных запросов с использованием отрицательной обратной связи», Conference on Information and Knowledge Management (CIKM), 2007), рассматривается ситуация, когда результаты поиска настолько плохи, что ни один из документов с высоким рангом не релевантен запросу пользователя. Для повышения точности поиска по таким сложным запросам предлагается использовать отрицательную обратную связь.[008] 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

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

[0010] Настоящая технология относится к алгоритмам машинного обучения (в целом) и к способам и к системам для формирования обучающего набора для алгоритма машинного обучения (в частности). Как описано выше, при обучении различных основанных на обучении с учителем алгоритмов MLA, таких как основанный на дереве решений алгоритм MLA или нейронная сеть (NN, Neural Network), алгоритму MLA предоставляются обучающие наборы. Обучающие наборы представляют собой размеченные примеры, иллюстрирующие как положительные примеры, так и отрицательные примеры. Положительные примеры при обучении алгоритма MLA соответствуют наличию целевых выходных данных, отрицательные примеры при обучении алгоритма MLA соответствуют отсутствию целевых выходных данных.[0010] 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, negative examples when training the MLA algorithm correspond to the absence of the target output.

[0011] В общем случае положительные примеры легко сформировать. Например, примеры для пар поисковых запросов и документов можно получить с использованием журналов поисковых запросов сервера поисковой системы, при этом «клики» пользователей представляют собой хороший показатель релевантности прошлого документа прошлому пользовательскому запросу. Формирование отрицательных примеров может оказаться более сложным.[0011] In general, 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 indicator of the relevance of a past document to a past user query. Forming negative examples can be more difficult.

[0012] Типовая система обучения алгоритма MLA использует случайные отрицательные примеры, исходя из предположения, что большинство случайных примеров будет кардинально отличаться от положительных примеров и, следовательно, они будут представлять собой подходящие отрицательные примеры. Тем не менее, на практике эффективность отрицательных примеров не равна 100% (ближе к 80%).[0012] The exemplary MLA algorithm learning system 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%).

[0013] В соответствии с первым широким аспектом настоящей технологии реализован компьютерный способ формирования обучающего набора для обучения сервером алгоритма MLA в системе поиска информации. Способ выполняется сервером и включает в себя: извлечение из базы данных журнала поиска на сервере множества страниц результатов поисковой системы (SERP, Search Engine Result Page), при этом страница из множества страниц SERP формируется в ответ на поисковый запрос из множества поисковых запросов и содержит множество документов, отвечающих на этот поисковый запрос; формирование сервером графа, сопоставляющего множество документов на множестве страниц SERP и множество запросов таким образом, что узел графа содержит поисковый запрос из множества поисковых запросов и соединен с первым подмножеством узлов, при этом каждый узел из первого подмножества узлов содержит документ из множества документов, связанный с этим поисковым запросом, а узел из первого подмножества узлов соединен со вторым подмножеством узлов, при этом каждый узел из второго подмножества узлов содержит поисковые запросы, связанные с документом этого узла; получение указания на поисковый запрос для формирования отрицательного обучающего примера для обучения алгоритма MLA; идентификацию узла в графе, связанного с этим поисковым запросом; и формирование обучающего набора для использования в качестве отрицательного обучающего примера для поискового запроса при обучении алгоритма MLA, при этом обучающий набор содержит этот поисковый запрос в паре с документом, расположенным в другом узле, находящемся на расстоянии заранее заданного числа узлов от этого узла.[0013] In accordance with the first broad aspect of the present technology, a computer method for generating a training set for training a server of an MLA algorithm in an information retrieval system is implemented. The method is performed by the server and includes: extracting from the search log database on the server a plurality of search engine result pages (SERP, Search Engine Result Page), wherein a page of a plurality of SERP pages is formed in response to a search query from a plurality of search queries and contains a plurality documents that answer this search query; the formation by the server of a graph that maps a set of documents on a set of SERP pages and a set of queries in such a way that the graph node contains a search query from the set of search queries and is connected to the first subset of nodes, wherein each node from the first subset of nodes contains a document from the set of documents associated with this search query, and a node from the first subset of nodes is connected to the second subset of nodes, each node from the second subset of nodes contains search queries associated with the document of this node; obtaining an indication of a search query for generating a negative training example for training the MLA algorithm; identifying a node in the graph associated with this search query; and forming a training set to be used as a negative training example for the search query when training the MLA algorithm, wherein the training set contains the search query paired with a document located at another node that is a predetermined number of nodes away from that node.

[0014] В некоторых неограничивающих вариантах осуществления способа заранее заданное число узлов представляет собой случайное число от пяти до девяти.[0014] In some non-limiting embodiments of the method, the predetermined number of nodes is a random number between five and nine.

[0015] В некоторых неограничивающих вариантах осуществления способа заранее заданное число узлов является нечетным числом узлов.[0015] In some non-limiting embodiments of the method, the predetermined number of nodes is an odd number of nodes.

[0016] В некоторых неограничивающих вариантах осуществления способа связь между документом и поисковым запросом устанавливается при включении документа в соответствующую страницу SERP или при его выборе в ответ на отображение соответствующей страницы SERP.[0016] In some non-limiting embodiments of the method, an association between a document and a search query is established when the document is included in the corresponding SERP page or when it is selected in response to displaying the corresponding SERP page.

[0017] В некоторых неограничивающих вариантах осуществления способа упомянутый другой узел включен в третье подмножество узлов, находящихся на расстоянии заранее заданного числа узлов от этого другого узла, при этом этот способ дополнительно включает в себя выбор этого другого узла из третьего подмножества узлов.[0017] In some non-limiting embodiments of the method, said other node is included in a third subset of nodes that are a predetermined number of nodes away from that other node, the method further comprising selecting that other node from the third subset of nodes.

[0018] В некоторых неограничивающих вариантах осуществления способа выбор другого узла из третьего подмножества узлов включает в себя выбор этого другого узла, если этот другой узел имеет наибольший параметр взаимодействия с пользователем, указывающий на один или несколько видов действий одного или нескольких пользователей в третьем подмножестве узлов.[0018] In some non-limiting embodiments of the method, selecting another node from a third subset of nodes includes selecting that other node if that other node has the highest user interaction parameter indicative of one or more activities of one or more users in the third subset of nodes .

[0019] В некоторых неограничивающих вариантах осуществления способа параметр взаимодействия с пользователем для документа указывает на длительность наведения курсора на этот документ и/или на событие «клика» на этом документе.[0019] In some non-limiting embodiments of the method, a user interaction parameter for a document indicates the duration of hovering over that document and/or a "click" event on that document.

[0020] В некоторых неограничивающих вариантах осуществления способа граф представляет собой дерево данных.[0020] In some non-limiting embodiments of the method, the graph is a data tree.

[0021] В некоторых неограничивающих вариантах осуществления способа идентификация узла в графе, связанного с поисковым запросом, включает в себя идентификацию корневого узла.[0021] In some non-limiting embodiments of the method, identifying a node in a graph associated with a search query includes identifying a root node.

[0022] В некоторых неограничивающих вариантах осуществления способа граф представляет собой сетчатый граф.[0022] In some non-limiting embodiments of the method, the graph is a mesh graph.

[0023] В соответствии с другим широким аспектом настоящей технологии реализован компьютерный способ формирования обучающего набора для обучения сервером алгоритма MLA в системе поиска информации. Способ выполняется сервером и включает в себя: извлечение из базы данных журнала поиска первой страницы SERP, связанной с первым запросом, и второй страницы SERP, связанной со вторым запросом, при этом первая страница SERP содержит результат поиска в первой позиции, а вторая страница SERP содержит этот результат поиска во второй позиции; идентификация на первой странице SERP результата поиска с наибольшим взаимодействием; и формирование обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, если произведение первой позиции и второй позиции превышает заранее заданное пороговое значение, при этом обучающий набор содержит второй запрос в паре с результатом поиска с наибольшим взаимодействием.[0023] In accordance with another broad aspect of the present technology, a computerized method for generating a training set for training a server of an MLA algorithm in an information retrieval system is implemented. The method is performed by the server and includes: extracting from the search log database the first SERP page associated with the first request and the second SERP page associated with the second request, wherein the first SERP page contains the search result in the first position, and the second SERP page contains this search result in the second position; identification on the first page of the SERP of the search result with the highest engagement; and forming a training set to be used as negative training examples when training the MLA algorithm if the product of the first position and the second position exceeds a predetermined threshold, wherein the training set contains the second query paired with the most interacting search result.

[0024] В некоторых неограничивающих вариантах осуществления способа он дополнительно включает в себя формирование второго обучающего набора для использования в качестве положительного примера, при этом второй обучающий набор содержит первый запрос и результат поиска с наибольшим взаимодействием.[0024] In some non-limiting embodiments of the method, it further includes generating a second training set for use as a positive example, wherein the second training set contains the first query and the most interacting search result.

[0025] В некоторых неограничивающих вариантах осуществления способа результат поиска с наибольшим взаимодействием содержит результат поиска на первой странице SERP, выбранный пользователем.[0025] In some non-limiting embodiments of the method, the most engaged search result contains the search result on the first page of the SERP selected by the user.

[0026] В некоторых неограничивающих вариантах осуществления способа результат поиска является одним из множества результатов поиска с взаимодействием, а результат поиска с наибольшим взаимодействием является одним из множества результатов поиска с взаимодействием, имеющим наиболее длительное взаимодействие.[0026] In some non-limiting embodiments of the method, the search result is one of the plurality of interaction search results, and the longest interaction search result is one of the plurality of interaction search results having the longest interaction.

[0027] В некоторых неограничивающих вариантах осуществления способа заранее заданное пороговое значение равно пятидесяти.[0027] In some non-limiting embodiments of the method, the predetermined threshold value is fifty.

[0028] В соответствии с другим широким аспектом настоящей технологии реализована система для формирования обучающего набора для обучения сервером алгоритма MLA в системе поиска информации. Сервер содержит процессор, способный: извлекать из базы данных журнала поиска на сервере множество страниц SERP, при этом страница из множества страниц SERP формируется в ответ на поисковый запрос из множества поисковых запросов и содержит множество документов, отвечающих на этот поисковый запрос; формировать граф, сопоставляющий множество документов на множестве страниц SERP и множество запросов таким образом, что узел графа содержит поисковый запрос из множества поисковых запросов и соединен с первым подмножеством узлов, при этом каждый узел из первого подмножества узлов содержит документ из множества документов, связанный с этим поисковым запросом, узел из первого подмножества узлов соединен со вторым подмножеством узлов, при этом каждый узел из второго подмножества узлов содержит поисковые запросы, связанные с документом этого узла; получать указание на поисковый запрос для формирования отрицательного обучающего примера для обучения алгоритма MLA; идентифицировать узел в графе, связанный с этим поисковым запросом; и формировать обучающий набор для использования в качестве отрицательного обучающего примера для поискового запроса при обучении алгоритма MLA, при этом обучающий набор содержит этот поисковый запрос в паре с документом, расположенным в другом узле, находящемся на расстоянии заранее заданного числа узлов от этого узла.[0028] In accordance with another broad aspect of the present technology, a system is implemented for generating a training set for a server to train an MLA algorithm in an information retrieval system. The server comprises a processor capable of: retrieving a plurality of SERP pages from a search log database on the server, wherein a page of the plurality of SERP pages is formed in response to a search query from the plurality of search queries and contains a plurality of documents that respond to that search query; form a graph mapping a set of documents on a set of SERP pages and a set of queries such that a graph node contains a search query from the set of search queries and is connected to the first subset of nodes, each node from the first subset of nodes contains a document from the set of documents associated with it a search query, a node from the first subset of nodes is connected to a second subset of nodes, with each node from the second subset of nodes containing search queries associated with the document of this node; receive an indication of a search query for generating a negative training example for training the MLA algorithm; identify the node in the graph associated with this search query; and generate a training set for use as a negative training example for the search query when training the MLA algorithm, wherein the training set contains this search query paired with a document located at another node located at a distance of a predetermined number of nodes from this node.

[0029] В некоторых неограничивающих вариантах осуществления системы заранее заданное число узлов является нечетным числом узлов.[0029] In some non-limiting embodiments of the system, the predetermined number of nodes is an odd number of nodes.

[0030] В соответствии с другим широким аспектом настоящей технологии реализована система для формирования обучающего набора для обучения сервером алгоритма MLA в системе поиска информации. Сервер содержит процессор, способный: извлекать из базы данных журнала поиска первую страницу SERP, связанную с первым запросом, и вторую страницу SERP, связанную со вторым запросом, при этом первая страница SERP содержит результат поиска в первой позиции, а вторая страница SERP содержит этот результат поиска во второй позиции; идентифицировать на первой странице SERP результат поиска с наибольшим взаимодействием; и формировать обучающий набор для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, если произведение первой позиции и второй позиции превышает заранее заданное пороговое значение, при этом обучающий набор содержит второй запрос в паре с результатом поиска с наибольшим взаимодействием.[0030] In accordance with another broad aspect of the present technology, a system is implemented for generating a training set for a server to train an MLA algorithm in an information retrieval system. The server comprises a processor capable of: extracting from the search log database the first SERP page associated with the first query and the second SERP page associated with the second query, wherein the first SERP page contains the search result in the first position and the second SERP page contains the result search in the second position; identify the most engaged search result on the first page of the SERP; and generate a training set to be used as negative training examples when training the MLA algorithm if the product of the first position and the second position exceeds a predetermined threshold value, wherein the training set contains the second query paired with the most interacting search result.

[0031] В некоторых неограничивающих вариантах осуществления системы процессор дополнительно способен формировать второй обучающий набор для использования в качестве положительного примера, при этом второй обучающий набор содержит первый запрос и результат поиска с наибольшим взаимодействием.[0031] In some non-limiting embodiments of the system, the processor is further configured to generate a second training set for use as a positive example, wherein the second training set contains the first query and the most interacting search result.

[0032] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать через сеть запросы (например, от электронных устройств) и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, при этом оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[0032] 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 (e.g. 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".

[0033] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[0033] 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.

[0034] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, что и процесс, обеспечивающий хранение или использование информации, хранящейся в этой базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.[0034] 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.

[0035] В контексте настоящего описания выражение «информация» означает информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя без ограничения аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.[0035] 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, the 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.

[0036] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.[0036] 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-ROMs, DVDs, floppy disks, hard disks, etc.), USB -drives, solid state drives, tape drives, etc.

[0037] В контексте настоящего описания, если явно не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или других мест, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень точности, требуемая для такого указания, зависит от объема предварительных пояснений относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.[0037] In the context of the present description, unless explicitly stated otherwise, an information element can be referred to as the information element itself, as well as a pointer, link, hyperlink, or other indirect means by which the recipient of the data can find a place in the 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 network location 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.

[0038] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается здесь в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.[0038] 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.

[0039] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.[0039] 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.

[0040] Дополнительные и/или альтернативные особенности, аспекты и преимущества реализаций настоящей технологии изложены в последующем описании, на сопроводительных чертежах и в приложенной формуле изобретения.[0040] 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

[0041] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.[0041] 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.

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

[0043] На фиг. 2 схематично представлен журнал запросов.[0043] FIG. 2 is a schematic representation of the query log.

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

[0045] На фиг. 4 представлено дерево данных, сформированное согласно не имеющему ограничительного характера варианту осуществления настоящей технологии.[0045] FIG. 4 is a data tree generated according to a non-limiting embodiment of the present technology.

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

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

[0048] На фиг. 7 представлена блок-схема первого способа формирования отрицательного обучающего примера согласно не имеющему ограничительного характера варианту осуществления настоящей технологии.[0048] FIG. 7 is a flowchart of a first method for generating a negative training example according to a non-limiting embodiment of the present technology.

[0049] На фиг. 8 представлена блок-схема второго способа формирования отрицательного обучающего примера согласно другому не имеющему ограничительного характера варианту осуществления настоящей технологии.[0049] FIG. 8 is a flowchart of a second method for generating a negative training example according to another non-limiting embodiment of the present technology.

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

[0050] редставленные в данном описании примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Должно быть очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.[0050] The examples and conventions provided 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 should be 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.

[0051] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что различные варианты осуществления настоящей технологии могут быть значительно сложнее.[0051] 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 the present technology can be significantly more complex.

[0052] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[0052] 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 a 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.

[0053] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[0053] Moreover, the description of the 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.

[0054] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, общего назначения и/или специализированные.[0054] 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.

[0055] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[0055] 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.

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

[0057] Как показано на фиг. 1, система 100 представляет собой систему для поиска информации и содержит электронное устройство 102. Электронное устройство 102 обычно связано с пользователем (не показан) и иногда может называться «клиентским устройством».[0057] 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 may sometimes be referred to as a "client device".

[0058] В контексте настоящего описания, если явно не указано другое, термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает применения нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[0058] 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 in relation 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.

[0059] Электронное устройство 102 содержит энергонезависимое запоминающее устройство (ЗУ) 104. Энергонезависимое ЗУ 104 может содержать один или несколько носителей информации и в общем случае обеспечивает пространство для хранения компьютерных команд, исполняемых процессором 106. Например, энергонезависимое ЗУ 104 может быть реализовано в виде носителя, пригодного для чтения компьютером, включая ПЗУ, жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.[0059] 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.

[0060] Электронное устройство 102 содержит аппаратное и/или программное обеспечение и/или микропрограммное обеспечение (или их сочетание), как это известно в данной области техники, для выполнения приложения 108 поисковой системы. В целом, посредством приложения 108 поиска пользователь (не показан) может выполнять поиск, например, в Интернете, с использованием расположенной на сервере (описан ниже) поисковой системы. Для этого приложение 108 поисковой системы содержит интерфейс 110 поискового запроса и интерфейс 112 результатов поиска.[0060] 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 (described below) search engine. To do this, the search engine application 108 includes a search query interface 110 and a search results interface 112.

[0061] На реализацию приложения 108 поисковой системы не накладывается особых ограничений. Один пример приложения 108 поисковой системы может быть реализован в устройстве пользователя (не показан), обращающемся к связанному с поисковой системой веб-сайту для доступа к приложению 108 поисковой системы. Например, к приложению 108 поисковой системы можно получить доступ, введя унифицированный указатель ресурса (URL, Uniform Resource Locator), связанный с поисковой системой Yandex™, на сайте www.yandex.ru. Следует ясно понимать, что к приложению 108 поисковой системы можно получить доступ с помощью любой другой коммерчески доступной или проприетарной поисковой системы.[0061] There are no particular restrictions on the implementation of the search engine application 108. 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.

[0062] В альтернативных неограничивающих вариантах осуществления настоящей технологии приложение 108 поисковой системы может быть реализовано как приложение браузера на портативном устройстве (таком как устройство беспроводной связи). Например, если электронное устройство 102 реализовано как портативное устройство, такое как Samsung™ Galaxy™ S10, на электронном устройстве 102 может выполняться браузерное приложение Yandex™. Следует ясно понимать, что для реализации неограничивающих вариантов осуществления настоящей технологии может использоваться любое другое коммерчески доступное или проприетарное приложение браузера.[0062] 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.

[0063] В целом, электронное устройство 102 содержит пользовательский интерфейс ввода (не показан), такой как клавиатура, для приема данных, вводимых пользователем, например, в интерфейс 110 поискового запроса. На реализацию пользовательского интерфейса ввода не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализовано в виде устройства беспроводной связи (такого как смартфон iPhone™), пользовательский интерфейс ввода может быть реализован в виде программной клавиатуры (также называемой экранной или виртуальной клавиатурой). Если электронное устройство 102 реализовано как персональный компьютер, пользовательский интерфейс ввода может быть реализован в виде аппаратной клавиатуры.[0063] In general, the electronic device 102 includes an input user interface (not shown), such as a keyboard, for receiving user input into, for example, a 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.

[0064] Несмотря на то, что здесь представлено лишь одно электронное устройство 102, следует понимать, что это сделано для простоты иллюстрации и что система 100 может содержать более одного электронного устройства.[0064] While only one electronic device 102 is shown here, it should be understood that this is for ease of illustration and that system 100 may include more than one electronic device.

[0065] Электронное устройство 102 соединено с сетью 114 связи с использованием линии 116 связи. В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 114 связи может представлять собой сеть Интернет. В других вариантах осуществления настоящей технологии сеть 114 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, частной сети связи и т.д.[0065] 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, communication 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.

[0066] На реализацию линии 116 связи не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализовано в виде беспроводного устройства связи (такого как смартфон), линия связи (не показана) может быть реализована в виде беспроводной линии связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 102 реализовано в виде ноутбука, линия связи может быть беспроводной (такой как Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.д.) или проводной (такой как соединение на основе Ethernet).[0066] The implementation of the link 116 is not subject to any particular restrictions, it 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 those examples where the 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).

[0067] Должно быть очевидно, что варианты реализации электронного устройства 102, линии 116 связи и сети 114 связи приведены лишь для иллюстрации. Специалисту в данной области должны быть понятны и другие конкретные детали реализации электронного устройства 102, линии 116 связи и сети 114 связи. По существу, приведенные выше примеры не предназначены для ограничения объема настоящей технологии.[0067] 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 of the present technology.

[0068] Система 100 также содержит сервер 118, соединенный с сетью 114 связи. Сервер 118 может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 118 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 118 может быть реализован на любом другом подходящем аппаратном и/или программном и/или встроенном программном обеспечении или их сочетании. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 118 реализован в виде одного сервера. В других неограничивающих вариантах осуществления настоящей технологии функции сервера 118 могут быть распределены между несколькими серверами.[0068] 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 the present technology, the functions of the server 118 may be distributed among multiple servers.

[0069] Практическая реализация сервера 118 хорошо известна. В целом, сервер 118 содержит интерфейс связи (не показан), структура и функции которого позволяют осуществлять связь с различными объектами (такими как электронное устройство 102 и другие устройства, которые могут быть подключены к сети 114 связи) по сети 114 связи.[0069] 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.

[0070] Сервер 118 содержит память 120 сервера, включая один или несколько носителей информации, и в общем случае обеспечивает пространство для хранения компьютерных программных команд, исполняемых процессором 122 сервера. Например, память 120 сервера может быть реализована как физический машиночитаемый носитель информации, включая ПЗУ и/или ОЗУ. Память 120 сервера также может включать в себя одно или несколько устройств для длительного хранения информации, например, жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.[0070] Server 118 includes server memory 120, including one or more storage media, and generally provides storage space for computer program instructions executed by 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.

[0071] В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 118 может управляться той же организацией, что предоставляет вышеописанное приложение 108 поиска. Например, сервер 118 может управляться компанией ООО «Яндекс» (119021, Россия, Москва, ул. Льва Толстого, 16). В других вариантах осуществления сервер 118 может управляться организацией, отличной от организации, предоставляющей приложение 108 поиска.[0071] In some non-limiting embodiments of the present 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, server 118 may be operated by an organization other than the organization providing search application 108.

[0072] В некоторых вариантах осуществления настоящей технологии сервер 118 обеспечивает доступ к поисковой системе 124 (такой как Yandex.Search™), доступной через сеть 114 связи с использованием приложения 108 поиска. Способ практической реализации поисковой системы 124 известен в данной области техники и здесь подробно не описан. Достаточно сказать, что поисковая система 124 способна выполнять один или несколько поисковых запросов в Интернете после ввода пользователем (не показан) строки поиска в интерфейс 110 поискового запроса. Затем поисковая система 124 может передавать в электронное устройство 102 набор результатов поиска для их отображения пользователю электронного устройства 102 посредством интерфейса 112 результатов поиска в виде страницы SERP.[0072] 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.

[0073] Сервер 118 способен формировать ранжированный список результатов поиска, включая результаты общего и вертикального поиска в Интернете. Известно несколько алгоритмов ранжирования результатов поиска, которые могут быть реализованы сервером 118.[0073] 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.

[0074] В качестве примера, не имеющего ограничительного характера, некоторые известные способы ранжирования результатов поиска по степени релевантности поисковому запросу пользователя основаны на некоторых или всех следующих критериях: (а) популярность поискового запроса или соответствующего ответа при выполнении поисков; (б) количество результатов; (в) наличие в запросе определяющих терминов (таких как «изображения», «фильмы», «погода» и т.п.); (г) частота использования другими пользователями данного поискового запроса с определяющими терминами; (д) частота выбора другими пользователями, выполнявшими подобный поиск, определенного ресурса или определенных результатов вертикального поиска, когда результаты были представлены с использованием страницы SERP. Сервер 118 поисковой системы может рассчитывать и назначать оценку релевантности (основанную на различных представленных выше критериях) для каждого результата поиска, полученного по поисковому запросу пользователя, а также формировать страницу SERP, где результаты поиска ранжированы согласно их оценкам релевантности. В данном варианте осуществления изобретения сервер 118 поисковой системы может выполнять множество алгоритмов машинного обучения для ранжирования документов и/или формировать признаки для ранжирования документов.[0074] By way of non-limiting example, some well-known methods for ranking search results in terms 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 corresponding response in 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.

[0075] В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 118 соединен с базой данных 126 журнала по выделенному каналу (не обозначен). Обычно база 126 журналов может поддерживать журнал 128 запросов.[0075] In some non-limiting embodiments of the present 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 .

[0076] Журнал 128 запросов предназначен для регистрации поисков, выполненных с использованием сервера 118. В частности, в журнале 128 запросов хранятся термины поисковых запросов (т.е. искомые слова) и связанные с ними результаты поиска. Следует отметить, что журнал 128 запросов может поддерживаться в обезличенной форме, когда поисковые запросы невозможно соотнести с пользователями, отправившими эти поисковые запросы.[0076] 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.

[0077] В частности, журнал 128 запросов может содержать список запросов с соответствующими терминами и информацией о документах, список которых был передан сервером 118 в ответ на соответствующий запрос, метку времени, а также может содержать список пользователей с их анонимными идентификаторами и соответствующие документы, выбранные ими после отправки запроса. В некоторых вариантах осуществления настоящей технологии журнал 128 запросов может обновляться каждый раз, когда на сервере 118 выполняется новый поиск. В других вариантах осуществления изобретения журнал 128 запросов может обновляться в заранее заданные моменты времени. В некоторых вариантах осуществления изобретения может существовать множество копий журнала 128 запросов, каждая из которых соответствует журналу 128 запросов в различные моменты времени.[0077] In particular, the request log 128 may contain a list of requests with relevant terms and information about 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.

[0078] На фиг. 2 схематически показана часть 200 журналов 128 запросов.[0078] FIG. 2 schematically shows part 200 of query logs 128.

[0079] В проиллюстрированном примере часть 200 содержит пять ранее отправленных поисковых запросов (а именно, первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210). Каждый из этих пяти запросов связан с соответствующей страницей SERP (а именно, с первой страницей 212 SERP, второй страницей 214 SERP, третьей страницей 216 SERP, четвертой страницей 218 SERP и пятой страницей 220 SERP).[0079] In the illustrated example, portion 200 contains five previously submitted search queries (namely, first search query 202, second search query 204, third search query 206, fourth search query 208, and fifth search query 210). Each of these five queries is associated with a corresponding SERP page (namely, the first SERP page 212, the second SERP page 214, the third SERP page 216, the fourth SERP page 218, and the fifth SERP page 220).

[0080] В некоторых неограничивающих вариантах осуществления настоящей технологии эти пять поисковых запросов принимаются от электронного устройства 102. В качестве альтернативы, эти пять поисковых запросов могут быть получены от одного или нескольких электронных устройств.[0080] In some non-limiting embodiments of the present technology, these five search queries are received from electronic device 102. Alternatively, these five search queries may be received from one or more electronic devices.

[0081] Каждая из этих пяти страниц SERP содержит множество результатов поиска. Несмотря на то, что в представленном здесь варианте осуществления каждый результат поиска показан как комбинация буквы и числа (например, «А1»), это сделано для простоты иллюстрации, и следует понимать, что каждый результат поиска соответствует некоторой странице в Интернете.[0081] Each of these five SERP pages contains multiple search results. Although in the embodiment presented here, each search result is shown as a combination of a letter and a number (eg, "A1"), this is done for ease of illustration, and it should be understood that each search result corresponds to some page on the Internet.

[0082] Следует также понимать, что при выполнении разных поисковых запросов сформированные страницы SERP могут содержать некоторый общий результат поиска. Например, результат A1 поиска для первого поискового запроса 202 может быть тем же, что и результат поиска B4 для второго поискового запроса 204, несмотря на отличие первого поискового запроса 202 от второго поискового запроса 204.[0082] It should also be understood that when performing different search queries, the generated SERP pages may contain some common search result. For example, the search result A1 for the first search query 202 may be the same as the search result B4 for the second search query 204, despite the difference between the first search query 202 and the second search query 204.

[0083] В некоторых неограничивающих вариантах осуществления настоящей технологии журнал 128 запросов дополнительно содержит параметры взаимодействия с пользователем, указывающие на действия, такие как «клики» на одном или нескольких документах на странице SERP.[0083] 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.

[0084] Неограничивающие примеры параметров взаимодействия с пользователем, хранящихся в журнале 128 запросов, включают в себя (но не ограничиваются ими):[0084] Non-limiting examples of user interaction parameters stored in 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 или до прекращения поиска (например, из-за того, что пользователь нашел нужную информацию);- residence 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 desired information);

- длительность наведения - время, на которое пользователь наводит курсор на результат поиска;- hover duration - the time for which the user hover over 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.

[0085] Разумеется, что представленный выше список не является исчерпывающим и может включать в себя другие виды действий пользователей без выхода за границы настоящей технологии.[0085] 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.

[0086] На фиг. 1 также показано, что к серверу 118 через выделенный канал подключен сервер 130 обучения. Сервер 130 обучения может быть реализован как традиционный компьютерный сервер. В примере осуществления настоящей технологии сервер 130 обучения может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 130 обучения может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения представляет собой один сервер. В других неограничивающих вариантах осуществления настоящей технологии функции сервера 130 обучения могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и системы могут быть реализованы на сервере 130 обучения частично. В некоторых вариантах осуществления настоящей технологии сервер 130 обучения управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 130 обучения может управляться и/или администрироваться другим поставщиком услуг. Несмотря на то, что сервер 130 обучения показан на чертежах как сервер, отличный от сервера 118, предполагается, что функции сервера 130 обучения, описанные ниже, могут выполняться сервером 118.[0086] 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 functions of the learning server 130 described below can be performed by the server 118.

[0087] В целом, цель сервера 130 обучения состоит в обучении одного или нескольких алгоритмов MLA, используемых поисковой службой 124, путем формирования обучающего набора.[0087] 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.

[0088] Сервер 130 обучения может, например, обучать один или несколько алгоритмов MLA, связанных с сервером 118, для улучшения общего поиска в Интернете, вертикального поиска в Интернете, предоставления рекомендаций, прогнозирования результатов и других вариантов применения. Обучение и усовершенствование алгоритма MLA может выполняться в заранее заданные периоды времени или когда поставщик поисковой системы сочтет это необходимым.[0088] 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

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

[0090] Для лучшего осознания основных концепций настоящей технологии следует понимать, что в целом обучение алгоритма 300 MLA можно разделить на первый и второй этапы. На первом этапе формируются обучающие входные данные 304 (описанные ниже). На втором этапе алгоритм 300 MLA обучается с использованием обучающих входных данных 304. Кроме того, несмотря на то, что шаги обучения алгоритма 300 MLA представлены как выполняемые сервером 130 обучения, предполагается, что алгоритм 300 MLA может обучаться другим объектом, например, сервером 118.[0090] 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.

[0091] Формирование обучающих входных данных 304 поясняется далее со ссылкой на два неограничивающих варианта осуществления.[0091] The generation of training input 304 is explained next with reference to two non-limiting embodiments.

Первый вариантFirst option

[0092] В соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии, формирование обучающих входных данных 304 начинается с получения сервером 130 обучения пакета 302 данных от базы 126 данных журнала. Пакет 302 данных содержит журнал 128 запросов. В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 130 обучения может извлекать журнал 128 запросов периодически, например, раз в день, раз в неделю и т.п. В другом не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может извлекать один или несколько журналов запросов, соответствующих заранее заданным критериям, например, журналы запросов с поисковыми запросами, выполненными за последний час, за последний день и т.п.[0092] According to a non-limiting embodiment of the present technology, the generation of training input 304 begins with the training server 130 receiving the data packet 302 from the log database 126 . The data packet 302 contains a query log 128 . In some non-limiting embodiments of the present technology, the learning server 130 may retrieve the 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, last day, and the like.

[0093] После получения журналов 128 запросов сервер 130 обучения способен анализировать множество журналов 128 запросов для идентификации одного или нескольких результатов поиска, представленных в ответ на два или более поисковых запросов (более подробно описано ниже).[0093] Upon receipt of the query logs 128, the learning server 130 is able to parse a plurality of query logs 128 to identify one or more search results submitted in response to two or more search queries (described in more detail below).

[0094] На фиг. 6 представлен сетчатый граф 600, формируемый обучающим сервером 130.[0094] FIG. 6 shows a mesh graph 600 generated by a learning server 130.

[0095] В представленном варианте реализации графа 600 каждый из кругов соответствует уникальному поисковому запросу, а каждый из прямоугольников соответствует уникальному результату поиска. Для простоты все круги и прямоугольники называются здесь узлами.[0095] In the illustrated embodiment of graph 600, each of the circles corresponds to a unique search query, and each of the rectangles corresponds to a unique search result. For simplicity, all circles and rectangles are referred to here as nodes.

[0096] Например, первый узел 602 соответствует первому поисковому запросу 202, связанному с четырьмя узлами (в частности, со вторым узлом 604), каждый из которых соответствует результату поиска, представленному на первой странице 212 SERP. Несмотря на то, что первый узел 602 показан как соединенный с четырьмя узлами, это сделано лишь с целью иллюстрации. Предполагается, что первый узел 602 может быть соединен с больше или меньше чем четырьмя узлами. Например, первый узел 602 может быть связан со всеми или только с подмножеством (например, 10, 20 и т.д.) результатов поиска на первой странице 212 SERP. В другом примере первый узел 602 может быть связан с подмножеством результатов поиска на первой странице 212 SERP, имеющих наибольший параметр взаимодействия с пользователем.[0096] For example, the first node 602 corresponds to the first search query 202 associated with four nodes (in particular, the second node 604), each of which corresponds to the search result presented on the first page 212 SERP. Although the first node 602 is shown as being connected to four nodes, this is for illustration purposes only. It is contemplated that the first node 602 may be connected to more or less than four nodes. For example, the first node 602 may be associated with all or only a subset (eg, 10, 20, etc.) of the search results on the first SERP page 212. In another example, the first node 602 may be associated with a subset of the search results on the first SERP page 212 having the highest user experience parameter.

[0097] Пусть второй узел 604 (соответствующий результату A1 поиска) связан с первым узлом 602. Тогда второй узел 604 соединен с двумя другими узлами, каждый из которых соответствует поисковому запросу, отличному от первого поискового запроса 202 и связанному со страницей SERP, содержащей результат A1 поиска. В качестве примера можно предположить, что результат B4 поиска соответствует результату A1 поиска, тогда второй узел 604 соединен с третьим узлом 606, соответствующим второму поисковому запросу 204. В другом примере можно предположить, что результат C3 поиска соответствует результату A1 поиска (т.е. второму узлу 604), тогда четвертый узел 608 соответствует третьему поисковому запросу 206.[0097] Let the second node 604 (corresponding to the search result A1) be associated with the first node 602. Then the second node 604 is connected to two other nodes, each of which corresponds to a search query different from the first search query 202 and associated with the SERP page containing the result A1 search. As an example, search result B4 can be assumed to match search result A1, then second node 604 is connected to third node 606 corresponding to second search query 204. In another example, search result C3 can be assumed to match search result A1 (i.e., second node 604), then the fourth node 608 matches the third search query 206.

[0098] Другими словами, узел в графе 600 соответствует поисковому запросу или результату поиска, полученному из множества журналов 128 запросов. Если узел является поисковым запросом, то он соединен с одним или несколькими узлами, соответствующими результату поиска, отображенному на странице SERP, сформированной в ответ на этот поисковый запрос.[0098] In other words, the node in column 600 corresponds to a search query or search result obtained from a plurality of query logs 128. If the node is a search term, then it is connected to one or more nodes corresponding to the search result displayed on the SERP page generated in response to this search term.

[0099] Если узел является результатом поиска, то он соединен с одним или несколькими узлами, соответствующими поисковому запросу, связанному со страницей SERP, содержащей этот результат поиска.[0099] If a node is a search result, then it is connected to one or more nodes that match the search query associated with the SERP page containing that search result.

[00100] Несмотря на то, что граф 600 описан как формируемый на основе лишь части 200 журналов 128 запросов, следует понимать, что это сделано для простоты объяснения. Следует понимать, что граф 600 формируется из множества журналов 128 запросов с результатами поиска и поисковыми запросами, отправленными множеством электронных устройств.[00100] Although the graph 600 is described as being generated based on only a portion 200 of the query logs 128, it should be understood that this is done for ease of explanation. It should be understood that graph 600 is formed from a plurality of query logs 128 with search results and search queries sent by a plurality of electronic devices.

[00101] После формирования графа 600 сервер 130 обучения может формировать обучающие входные данные 304 (см. фиг. 3). В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 130 обучения способен в качестве отрицательного обучающего примера объединять в пару узел, соответствующий поисковому запросу, и узел, находящийся на расстоянии заранее заданного числа узлов от данного узла. Например, сервер 130 обучения может объединять в пару первый узел 602 и один из узлов, находящихся на расстоянии нечетного числа узлов от первого узла 602.[00101] After graph 600 is generated, training server 130 may generate training input 304 (see FIG. 3). In some non-limiting embodiments of the present technology, learning server 130 is capable of pairing a node that matches a search query with a node that is a predetermined number of nodes away from that node as a negative training example. For example, the learning server 130 may pair the first node 602 and one of the nodes that are an odd number of nodes away from the first node 602.

[00102] В некоторых неограничивающих вариантах осуществления настоящей технологии нечетное число узлов является случайным или заранее заданным числом от пяти до девяти. Например, пусть нечетное число узлов равно семи. Тогда сервер 130 обучения может найти узел, находящийся на расстоянии семи узлов от первого узла 602, например пятый узел 610, соответствующий определенному результату поиска (пунктирные линии показывают траекторию от первого узла 602). Очевидно, что сервер 130 обучения может объединять первый узел 602 в пару с каждым узлом, находящимся на расстоянии семи узлов от первого узла 602, или, в качестве альтернативы, объединять первый узел 602 в пару с узлом, находящимся на расстоянии семи узлов и имеющим наибольший параметр взаимодействия с пользователем.[00102] In some non-limiting embodiments of the present technology, the odd number of nodes is a random or predetermined number between five and nine. For example, let the odd number of nodes be seven. The learning server 130 can then find a node that is seven nodes away from the first node 602, such as a fifth node 610 corresponding to a particular search result (dashed lines show the trajectory from the first node 602). Obviously, the learning server 130 may pair the first node 602 with each node that is seven nodes away from the first node 602, or alternatively pair the first node 602 with the node that is seven nodes away and has the largest user interaction parameter.

[00103] В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 130 обучения дополнительно может формировать положительный обучающий пример путем объединения узла (такого как первый узел 602) в пару с одним из непосредственно соединенных с ним узлов (например, со вторым узлом 604). Тогда входные данные 304 обучения соответствуют отрицательному обучающему примеру и положительному обучающему примеру (если он имеется).[00103] In some non-limiting embodiments of the present technology, the learning server 130 can further generate a positive training example by pairing a node (such as the first node 602) with one of its directly connected nodes (such as the second node 604). The training input 304 then corresponds to a negative training example and a positive training example (if any).

[00104] Несмотря на то, что в приведенном выше примере граф 600 сформирован обучающим сервером как сетчатый граф, это не является ограничением. На фиг. 4 показано дерево 400 данных (или граф 400), формируемое обучающим сервером 130 после анализа.[00104] Although graph 600 is formed by the training server as a mesh graph in the above example, this is not a limitation. In FIG. 4 shows a data tree 400 (or graph 400) generated by the learning server 130 after analysis.

[00105] Дерево 400 данных содержит корневой узел 412 на первом уровне 402, соединенный с двумя дочерними узлами на втором уровне 404. Каждый из дочерних узлов соединен с двумя дочерними узлами на третьем уровне 406 и т.д.. Несмотря на то, что в показанном примере дерево 400 данных является пятиуровневым деревом данных (первый уровень 402, второй уровень 404, третий уровень 406, четвертый уровень 408 и пятый уровень 410), следует понимать, что это сделано лишь для иллюстрации и что дерево 400 данных является N-уровневым деревом данных. Более того, несмотря на то, что каждый узел показан как соединенный с двумя соответствующими дочерними узлам, это не является ограничением и предполагается, что каждый узел может быть соединен с большим или меньшим количеством дочерних узлов, соответственно.[00105] The data tree 400 comprises a root node 412 at a first level 402 connected to two child nodes at a second level 404. Each of the child nodes is connected to two child nodes at a third level 406, and so on. In the example shown, data tree 400 is a five-level data tree (first level 402, second level 404, third level 406, fourth level 408, and fifth level 410), it should be understood that this is for illustration purposes only and that data tree 400 is an N-level tree. data. Moreover, although each node is shown as being connected to two corresponding child nodes, this is not a limitation and it is contemplated that each node can be connected to more or less child nodes, respectively.

[00106] В некоторых неограничивающих вариантах осуществления настоящей технологии каждый из узлов на нечетных уровнях дерева данных 400 соответствует поисковому запросу, извлеченному из множества журналов 128 запросов, а каждый из узлов на четных уровнях дерева 400 данных соответствует результату поиска, извлеченному из множества журналов 128 запросов.[00106] In some non-limiting embodiments of the present technology, each of the nodes at odd levels of the data tree 400 corresponds to a search query retrieved from a plurality of query logs 128, and each of the nodes at even levels of the data tree 400 corresponds to a search result retrieved from a plurality of query logs 128 .

[00107] Далее описана взаимосвязь между узлами. Как кратко обсуждалось выше, сервер 130 обучения способен анализировать множество журналов 128 запросов для идентификации одного или нескольких результатов поиска, общих для одного или нескольких поисковых запросов. Другими словами, дерево 400 данных иллюстрирует связь одного или нескольких результатов поиска с двумя или более поисковыми запросами.[00107] The following describes the relationship between nodes. As briefly discussed above, the learning server 130 is capable of parsing a plurality of query logs 128 to identify one or more search results common to one or more search queries. In other words, the data tree 400 illustrates the association of one or more search results with two or more search queries.

[00108] Пусть, например, корневой узел 412 соответствует первому поисковому запросу 202. Корневой узел 412 соединен с двумя дочерними узлами, а именно, с первым узлом 414 и со вторым узлом 416, каждый из которых является результатом поиска на первой странице 212 SERP (а именно, A1 и A3).[00108] For example, let the root node 412 correspond to the first search query 202. The root node 412 is connected to two child nodes, namely the first node 414 and the second node 416, each of which is the result of a search on the first SERP page 212 ( namely, A1 and A3).

[00109] Каждый из первого узла 414 и второго узла 416 соединен с двумя соответствующими дочерними узлами. Например, первый узел 414 соединен с третьим узлом 418 и с четвертым узлом 420. Каждый из третьего узла 418 и четвертого узла 420 соответствует поисковому запросу, отличному от первого поискового запроса 202 и связанному со страницей SERP, содержащей результат поиска, имеющийся в его родительском узле (для первого узла 414 - результат A1 поиска). Если в качестве примера предположить, что результат поиска B4 соответствует результату A1 поиска (т.е. первому узлу 414), то третий узел 418 соответствует второму поисковому запросу 204. Если в другом примере предположить, что результат C3 поиска соответствует результату A1 поиска (т.е. первому узлу 414), то четвертый узел 420 соответствует третьему поисковому запросу 206.[00109] Each of the first node 414 and the second node 416 is connected to two respective child nodes. For example, the first node 414 is connected to the third node 418 and to the fourth node 420. Each of the third node 418 and the fourth node 420 corresponds to a search query different from the first search query 202 and associated with the SERP page containing the search result available in its parent node. (for the first node 414, the search result A1). Assuming, for example, that search result B4 corresponds to search result A1 (i.e., first node 414), then third node 418 corresponds to second search query 204. Assuming, in another example, that search result C3 corresponds to search result A1 (i.e., i.e. the first node 414), then the fourth node 420 matches the third search query 206.

[00110] Другими словами, узел в дереве данных 400 соответствует поисковому запросу или результату поиска, полученному из множества журналов 128 запросов. Если узел является поисковым запросом, то он является дочерним узлом для родительского узла и родительским узлом для двух дочерних узлов, где родительский и два дочерних узла соответствуют результату поиска, отображенному на странице SERP, сформированной в ответ на этот поисковый запрос.[00110] In other words, a node in the data tree 400 corresponds to a search query or search result obtained from a plurality of query logs 128. If the node is a search term, then it is a child node for a parent node and a parent node for two child nodes, where the parent and two child nodes correspond to the search result displayed on the SERP page generated in response to this search term.

[00111] Если узел является результатом поиска, то он является дочерним узлом для родительского узла и родительским узлом для двух дочерних узлов, где родительский и два дочерних узла соответствуют поисковому запросу, связанному со страницей SERP, содержащей этот результат поиска.[00111] If a node is a search result, then it is a child node for a parent node and a parent node for two child nodes, where the parent and two child nodes match the search query associated with the SERP page containing that search result.

[00112] Несмотря на то, что формирование дерева 400 данных показано на основе лишь части 200 журналов 128 запросов, следует понимать, что это сделано для простоты объяснения. Следует понимать, что дерево 400 данных формируется из множества журналов 128 запросов с результатами поиска и поисковыми запросами, отправленными множеством электронных устройств.[00112] Although the formation of the data tree 400 is shown based on only a portion 200 of the query logs 128, it should be understood that this is done for ease of explanation. It should be understood that the data tree 400 is formed from a plurality of query logs 128 with search results and search queries sent by a plurality of electronic devices.

[00113] В некоторых неограничивающих вариантах осуществления настоящей технологии каждый из узлов на четных уровнях (т.е. узлов с результатами поиска) соответствует результатам поиска с наибольшим параметром взаимодействия с пользователем. Например, если взять в качестве примера корневой узел 412 (соответствующий первому поисковому запросу 202), то первый узел 414 и второй узел 416 (два дочерних узла корневого узла 412) соответствуют результату поиска, параметр взаимодействия которого максимален во всем множестве журналов 128 запросов. Другими словами, сервер 130 обучения позволяет идентифицировать в журналах 128 запросов два результата поиска с наибольшим параметром взаимодействия, представленные в ответ на первый поисковый запрос 202.[00113] In some non-limiting embodiments of the present technology, each of the nodes at even levels (ie, nodes with search results) corresponds to the search results with the largest user interaction parameter. For example, taking the root node 412 (corresponding to the first search query 202) as an example, then the first node 414 and the second node 416 (two child nodes of the root node 412) correspond to the search result whose interaction parameter is maximum in the entire set of query logs 128. In other words, the learning server 130 is able to identify in the query logs 128 the two search results with the highest interaction parameter presented in response to the first search query 202.

[00114] Здесь также предполагается, что каждый узел может быть соединен более чем с двумя дочерними узлами. Например, корневой узел 412 может быть соединен с рядом дочерних узлов, каждый из которых соответствует, например, десяти лучшим результатам поиска на первой странице 212 SERP или всем результатам поиска на первой странице 212 SERP.[00114] It is also assumed here that each node can be connected to more than two child nodes. For example, the root node 412 may be connected to a number of child nodes, each of which corresponds to, for example, the top ten search results on the first SERP page 212 or all search results on the first SERP page 212.

[00115] После формирования дерева 400 данных сервер 130 обучения формирует обучающие входные данные 304 (см. фиг. 3). В целом, обучающие входные данные 304 являются отрицательным обучающим примером для обучения алгоритма 300 MLA на второй фазе и содержат один из узлов, соответствующий поисковому запросу, в паре с одним из узлов, соответствующим результату поиска.[00115] After the data tree 400 is generated, the training server 130 generates 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 phase and contains one of the nodes corresponding to the search query paired with one of the nodes corresponding to the search result.

[00116] В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 130 обучения может объединять первый поисковый запрос 202 (включенный в корневой узел 412) в пару с узлом, находящимся на заданном количестве узлов от корневого узла 412. В частности, сервер 130 обучения может объединять корневой узел 412 в пару с одним из узлов, отстоящем на нечетное число узлов от корневого узла 412, или, другими словами, расположенном на четном уровне дерева данных. 400.[00116] In some non-limiting embodiments of the present technology, the learning server 130 may combine the first search query 202 (included in the root node 412) with a node that is a predetermined number of nodes from the root node 412. In particular, the learning server 130 may combine the root node 412 is paired with one of the nodes that is an odd number of nodes away from the root node 412, or, in other words, located at an even level of the data tree. 400.

[00117] В некоторых неограничивающих вариантах осуществления настоящей технологии нечетное число узлов является случайным или заранее заданным числом от пяти до девяти. Например, пусть нечетное число узлов равно пяти. Тогда сервер 130 обучения имеет доступ к шестому уровню (не показан) и способен случайно выбирать узел, соответствующий результату поиска. Выбор узла на шестом уровне не ограничен, например, он может выбираться случайным образом. В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 130 обучения выбирает узел в пределах шестого уровня, связанный с наибольшим параметром взаимодействия с пользователем.[00117] In some non-limiting embodiments of the present technology, the odd number of nodes is a random or predetermined number between five and nine. For example, let the odd number of nodes be five. The learning server 130 then has access to the sixth layer (not shown) and is able to randomly select a node corresponding to the search result. The choice of a node at the sixth level is not limited, for example, it can be chosen randomly. In some non-limiting embodiments of the present technology, the learning server 130 selects the node within the sixth layer associated with the largest user experience parameter.

[00118] Несмотря на то, что в приведенном выше примере только корневой узел 412 объединен в пару с результатом поиска, следует понимать, что для формирования дополнительных отрицательных обучающих примеров в пары могут объединяться и другие узлы, например, третий узел 418 с поисковым запросом, включенным число узлов, отстоящих на нечетное число узлов от третьего узла 418.[00118] Although in the above example, only the root node 412 is paired with the search result, it should be understood that other nodes can be paired to form additional negative training examples, for example, the third node 418 with the search query, included the number of nodes spaced by an odd number of nodes from the third node 418.

[00119] Кроме того, несмотря на то, что в приведенном выше примере сформировано лишь одно дерево 400 данных, следует понимать, что это сделано для простоты иллюстрации и что сервер 130 обучения может формировать множество деревьев данных с различными поисковыми запросами в качестве родительских узлов.[00119] In addition, although only one data tree 400 is generated in the above example, it should be understood that this is done for ease of illustration and that the learning server 130 may generate multiple data trees with different search queries as parent nodes.

[00120] Наконец, несмотря на то, что в приведенном выше примере сформирован только один отрицательный обучающий пример, это не является ограничением. Следует понимать, что сервер 130 обучения может формировать более одного отрицательного обучающего примера путем объединения корневого узла 412 в пару с одним или несколькими другими результатами поиска на шестом уровне. В другом варианте осуществления сервер 130 обучения также может формировать один или несколько отрицательных обучающих примеров путем выбора одного или нескольких результатов поиска с другого уровня (например, с восьмого уровня (не показан)) для объединения в пару с корневым узлом 412.[00120] Finally, although only one negative training example is generated in the above example, this is not a limitation. It should be understood that the learning server 130 may generate more than one negative training example by pairing the root node 412 with one or more other sixth level search results. In another embodiment, the learning server 130 may also generate one or more negative training examples by selecting one or more search results from another level (e.g., from the eighth level (not shown)) to be paired with the root node 412.

[00121] В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 130 обучения дополнительно позволяет формировать положительный обучающий пример путем объединения в пару данного узла (такого как корневой узел 412) и одного из непосредственно соединенных с ним дочерних узлов (например, первого узла 414). В этом случае входные данные 304 обучения соответствуют отрицательному обучающему примеру и положительному обучающему примеру (если он имеется).[00121] In some non-limiting embodiments of the present technology, the learning server 130 further allows a positive training example to be generated by pairing a given node (such as the root node 412) and one of its directly connected child nodes (such as the first node 414). In this case, training input 304 corresponds to a negative training example and a positive training example (if any).

[00122][00122]

Второй вариантSecond option

[00123] Далее со ссылкой на фиг. 3 описан второй неограничивающий вариант осуществления для формирования обучающих входных данных 304.[00123] Next, with reference to FIG. 3 describes a second non-limiting embodiment for generating training input 304.

[00124] Подобно первому варианту осуществления, здесь сервер 130 обучения может принимать пакет 302 данных, содержащий множество журналов 128 запросов.[00124] Similar to the first embodiment, here the learning server 130 may receive a data packet 302 containing a plurality of query logs 128.

[00125] Затем сервер 130 обучения выбирает из множества журналов 128 запросов две страницы SERP, содержащие по меньшей мере один общий результат поиска.[00125] The learning server 130 then selects from the plurality of query logs 128 two SERP pages containing at least one common search result.

[00126] На фиг. 5 показаны первая страница 212 SERP и вторая страница 214 SERP.[00126] FIG. 5 shows the first SERP page 212 and the second SERP page 214.

[00127] Пусть, например, результат A4 поиска соответствует результату B13 поиска. В представленном примере результат A4 поиска расположен в первой позиции на первой странице 212 SERP, а результат B13 поиска расположен в тринадцатой позиции на второй странице 214 SERP.[00127] For example, suppose the search result A4 corresponds to the search result B13. In the example shown, the search result A4 is located in the first position on the first page 212 of the SERP, and the search result B13 is located in the thirteenth position on the second page 214 of the SERP.

[00128] Пусть также второй результат поиска (результат поиска А2) на первой странице 212 SERP имеет наибольший параметр взаимодействия с пользователем на странице 212 SERP. В некоторых неограничивающих вариантах осуществления настоящей технологии результат поиска с наибольшим взаимодействием соответствует результату поиска, выбранному пользователем на первой странице 212 SERP, или результату поиска с наибольшим временем взаимодействия с пользователем.[00128] Let also the second search result (search result A2) on the first SERP page 212 have the highest user interaction parameter on the SERP page 212. In some non-limiting embodiments of the present technology, the search result with the most interaction corresponds to the search result selected by the user on the first page 212 of the SERP, or the search result with the longest user interaction time.

[00129] В некотором неограничивающем варианте осуществления настоящей технологии сервер 130 обучения способен определять произведение положения результата A4 поиска и положения результата B13 поиска. Другими словами, сервер 130 обучения позволяет перемножать позиции общего результата поиска на первой странице 212 SERP и на второй странице 214 SERP. С учетом того, что результат A4 поиска является четвертым результатом поиска на первой странице 212 SERP, а результат B13 поиска находится в тринадцатой позиции на второй странице 214 SERP, это произведение равно 52.[00129] In some non-limiting embodiment of the present technology, the learning server 130 is able to determine the product of the position of the search result A4 and the position of the search result B13. In other words, the learning server 130 allows the positions of the overall search result on the first SERP page 212 and the second SERP page 214 to be multiplied. Considering that the search result A4 is the fourth search result on the first page 212 SERP, and the search result B13 is in the thirteenth position on the second page 214 SERP, this product is 52.

[00130] В некоторых неограничивающих вариантах осуществления настоящей технологии если это произведение превышает заранее заданное пороговое значение (например, 50), сервер 130 обучения формирует отрицательный обучающий пример путем объединения второго поискового запроса 204 в пару с результатом поиска с наибольшим взаимодействием на странице 212 SERP (что соответствует результату A2 поиска).[00130] In some non-limiting embodiments of the present technology, if this product exceeds a predetermined threshold value (eg, 50), the training server 130 generates a negative training example by pairing the second search query 204 with the search result with the most interaction on the SERP page 212 ( which corresponds to the search result A2).

[00131] Например, если заранее заданное пороговое значение равно 50, сервер 130 обучения может объединить второй поисковый запрос 204 в пару с результатом A2 поиска в качестве отрицательного обучающего примера. С другой стороны, если заранее заданное пороговое значение равно 60 (т.е. больше 52), сервер 130 обучения не объединяет второй поисковый запрос 204 в пару с результатом A2 поиска (т.е. не формирует отрицательного обучающего примера).[00131] For example, if the predetermined threshold is 50, the training server 130 may pair the second search query 204 with the search result A2 as a negative training example. On the other hand, if the predetermined threshold is 60 (ie, greater than 52), the training server 130 does not pair the second search query 204 with the search result A2 (ie, does not generate a negative training example).

[00132] На назначение заранее заданного порога не накладывается ограничений, например, оно может определяться администратором сервера 130 обучения. Из вышеизложенного следует понимать, что когда произведение двух позиций дает большее значение, это свидетельствует о том, что документ был ранжирован ниже в результатах поиска, следовательно, даже если этот документ имеет отношение к обоим запросам, он является не самым релевантным документом для цели поиска для по меньшей мере одного из поисковых запросов. Другими словами, неограничивающие варианты осуществления настоящих технологий позволяют находить два поисковых запроса (и связанные с ними страницы SERP), связанные (общим документом), но не очень близкие (общий документ находится на позициях с низким рангом).[00132] The assignment of the predetermined threshold is not limited, for example, it may be determined by the administrator of the learning server 130. From the above, it should be understood that when the product of two positions gives a higher value, this indicates that the document was ranked lower in the search results, therefore, even if this document is relevant to both queries, it is not the most relevant document for the search target for at least one of the search queries. In other words, non-limiting embodiments of the present technologies allow two search queries (and their associated SERP pages) to be found that are related (by a common document) but not very close (the common document is in low ranking positions).

[00133] В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 130 обучения дополнительно формирует положительный обучающий примера путем объединения первого поискового запроса 202 в пару с результатом поиска с наибольшим взаимодействием на первой странице 212 SERP (т.е. с результатом A2 поиска).[00133] In some non-limiting embodiments of the present technology, the learning server 130 further generates a positive training example by pairing the first search query 202 with the most engaged search result on the first SERP page 212 (i.e., search result A2).

[00134] В этом случае входные данные 304 обучения соответствуют отрицательному обучающему примеру и положительному обучающему примеру (если он имеется).[00134] In this case, training input 304 corresponds to a negative training example and a positive training example (if any).

[00135] Несмотря на то, что приведенное выше описание формирования отрицательного обучающего примера (и положительного обучающего примера) относится к двум страницам SERP (к первой странице 212 SERP и ко второй странице 214 SERP), следует понимать, что это сделано для простоты объяснения и что обучающие входные данные 304 могут содержать больше отрицательных и положительных обучающих примеров, сформированных из других поисковых результатов.[00135] Although the above description of generating a negative training example (and a positive training example) refers to two SERP pages (the first SERP page 212 and the second SERP page 214), it should be understood that this is done for ease of explanation and that training input 304 may contain more negative and positive training examples generated from other search results.

Обучение MLAMLA training

[00136] Далее со ссылкой на фиг. 3 описано обучение алгоритма 300 MLA с использованием обучающих входных данных 304, сформированных в соответствии с первым и вторым вариантами осуществления.[00136] Next, with reference to FIG. 3 describes training the MLA algorithm 300 using training inputs 304 generated in accordance with the first and second embodiments.

[00137] Обучающие входные данные 304 вводятся в алгоритм 300 MLA. Алгоритм 300 MLA содержит логику обучения для определения набора признаков, связанных с каждым отрицательным примером обучения. На реализацию алгоритма 300 MLA не накладывается ограничений. В некоторых неограничивающих вариантах осуществления настоящей технологии алгоритм 300 MLA реализован в виде нейронной сети.[00137] Training input 304 is entered into 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.

[00138] В частности, с учетом того, что каждый из обучающих примеров является отрицательным обучающим примером, алгоритм 300 MLA может определять, какой набор признаков указывает на низкую релевантность результата поиска поисковому запросу.[00138] 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.

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

[00140] Несмотря на то, что здесь представлен лишь один пример обучения алгоритма 300 MLA, это сделано для простоты иллюстрации. Следует ясно понимать, что обучение алгоритма 300 MLA выполняется итерационно с использованием множества как отрицательных, так и положительных обучающих примеров.[00140] 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.

[00141] Представленная на фиг. 4 архитектура и описанные выше примеры позволяют выполнять реализуемый на компьютере вышеуказанный способ. На фиг. 7 приведена блок-схема способа 700 для формирования отрицательного обучающего примера. Способ 700 выполняется в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии. Способ 700 может выполняться сервером 130 обучения.[00141] Shown in FIG. 4, the architecture and the examples described above make it possible to carry out the above method implemented on a computer. In FIG. 7 is a flow diagram of a method 700 for generating a negative training example. Method 700 is performed in accordance with non-limiting embodiments of the present technology. Method 700 may be performed by learning server 130.

[00142] Шаг 702: извлечение из базы данных журнала поиска на сервере множества страниц SERP, при этом страница из множества страниц SERP сформирована в ответ на поисковый запрос из множества поисковых запросов и содержит множество документов, отвечающих на этот поисковый запрос.[00142] Step 702: Retrieving a plurality of SERP pages from the search log database on the server, wherein a page of the plurality of SERP pages is generated in response to a search query from the plurality of search queries and contains a plurality of documents responding to that search query.

[00143] Способ 700 начинается с шага 702, на котором сервер 130 обучения извлекает пакет 302 данных из базы 126 журналов. Пакет 302 данных содержит множество журналов 128 запросов.[00143] The method 700 begins at step 702 where the learning server 130 retrieves the data packet 302 from the log base 126. The data packet 302 contains a plurality of query logs 128 .

[00144] Журналы 128 запросов предназначены для регистрации поисковых запросов, выполненных с использованием сервера 118. В частности, в журналах 128 запросов хранятся термины поисковых запросов (т.е. искомые слова) и связанные с ними результаты поиска. Например, каждый журнал запросов, включенный во множество журналов 128 запросов, связан с соответствующим электронным устройством (таким как электронное устройство 102). Следует отметить, что журналы 128 запросов могут поддерживаться в обезличенной форме, при этом поисковые запросы невозможно соотнести с пользователями, отправившими эти поисковые запросы.[00144] Query logs 128 are designed to record search queries made using server 118. In particular, query logs 128 store search query terms (ie, search words) and associated search results. For example, each query log included in the plurality of query logs 128 is associated with a respective electronic device (such as electronic device 102). It should be noted that the query logs 128 may be maintained in an anonymized form, and search queries cannot be associated with the users who submitted those search queries.

[00145] Шаг 704: формирование сервером графа, в котором множество документов на множестве страниц SERP сопоставлено со множеством запросов, при этом узел графа содержит поисковый запрос из множества поисковых запросов и соединен с первым подмножеством узлов, каждый узел из первого подмножества узлов содержит документ из множества документов, связанный с этим поисковым запросом, узел из первого подмножества узлов соединен со вторым подмножеством узлов и каждый узел из второго подмножества узлов содержит поисковые запросы, связанные с документом этого узла.[00145] Step 704: Server generates a graph in which a set of documents in a set of SERP pages is mapped to a set of queries, wherein the graph node contains a search query from the set of search queries and is connected to a first subset of nodes, each node from the first subset of nodes contains a document from of the set of documents associated with this search query, a node from the first subset of nodes is connected to the second subset of nodes, and each node from the second subset of nodes contains search queries associated with the document of this node.

[00146] На шаге 704 после приема пакета 302 данных обучающий сервер формирует дерево 400 данных или граф 600.[00146] At step 704, after receiving the data packet 302, the training server generates a data tree 400 or graph 600.

[00147] Например, в графе 600 каждый из кругов соответствует уникальному поисковому запросу, а каждый из прямоугольников соответствует уникальному результату поиска. Для простоты все круги и прямоугольники называются здесь узлами.[00147] For example, in column 600, each of the circles corresponds to a unique search query, and each of the boxes corresponds to a unique search result. For simplicity, all circles and rectangles are referred to here as nodes.

[00148] Например, первый узел 602 соответствует первому поисковому запросу 202, связанному с четырьмя узлами (в частности, со вторым узлом 604), каждый из которых соответствует результату поиска, представленному на первой странице 212 SERP. Несмотря на то, что первый узел 602 показан как соединенный с четырьмя узлами, это сделано лишь с целью иллюстрации. Предполагается, что первый узел 602 может быть соединен с больше или меньше чем четырьмя узлами. Например, первый узел 602 может быть связан со всеми или только с подмножеством (например, 10, 20 и т.д.) результатов поиска на первой странице 212 SERP. В другом примере первый узел 602 может быть связан с подмножеством результатов поиска на первой странице 212 SERP, имеющих наибольший параметр взаимодействия с пользователем.[00148] For example, the first node 602 corresponds to the first search query 202 associated with four nodes (in particular, the second node 604), each of which corresponds to the search result presented on the first page 212 SERP. Although the first node 602 is shown as being connected to four nodes, this is for illustration purposes only. It is contemplated that the first node 602 may be connected to more or less than four nodes. For example, the first node 602 may be associated with all or only a subset (eg, 10, 20, etc.) of the search results on the first SERP page 212. In another example, the first node 602 may be associated with a subset of the search results on the first SERP page 212 having the highest user experience parameter.

[00149] Пусть второй узел 604 (соответствующий результату A1 поиска) соединен с первым узлом 602. Тогда второй узел 604 соединен с двумя другими узлами, каждый из которых соответствует поисковому запросу, отличному от первого поискового запроса 202 и связанному со страницей SERP, содержащей результат A1 поиска. В качестве примера можно предположить, что результат B4 поиска соответствует результату A1 поиска, тогда второй узел 604 соединен с третьим узлом 606, соответствующим второму поисковому запросу 204. В другом примере можно предположить, что результат C3 поиска соответствует результату A1 поиска (т.е. второму узлу 604), тогда четвертый узел 608 соответствует третьему поисковому запросу 206.[00149] Let the second node 604 (corresponding to the search result A1) be connected to the first node 602. Then the second node 604 is connected to two other nodes, each of which corresponds to a search query different from the first search query 202 and associated with the SERP page containing the result A1 search. As an example, search result B4 can be assumed to match search result A1, then second node 604 is connected to third node 606 corresponding to second search query 204. In another example, search result C3 can be assumed to match search result A1 (i.e., second node 604), then the fourth node 608 matches the third search query 206.

[00150] Шаг 706: получение указания на поисковый запрос для формирования отрицательного обучающего примера для обучения алгоритма MLA.[00150] Step 706: Obtaining an indication of a search query for generating a negative training example for training the MLA algorithm.

[00151] На шаге 706 сервер 130 обучения выбирает узел в графе 600, соответствующий определенному поисковому запросу. Например, сервер 130 обучения может выбрать корневой узел 412.[00151] In step 706, the learning server 130 selects a node in column 600 that matches a particular search query. For example, the learning server 130 may select the root node 412.

[00152] Шаг 708: идентификация узла в графе, связанного с поисковым запросом.[00152] Step 708: identifying the node in the graph associated with the search query.

[00153] На шаге 708 сервер 130 обучения выбирает узел в графе 600, находящийся на расстоянии заданного числа узлов от корневого узла 412.[00153] In step 708, the learning server 130 selects a node in graph 600 that is a given number of nodes away from the root node 412.

[00154] Шаг 710: формирование обучающего набора для использования в качестве отрицательного обучающего примера для поискового запроса при обучении алгоритма MLA, при этом обучающий набор содержит этот поисковый запрос в паре с документом, расположенным в другом узле, находящемся на расстоянии заранее заданного числа узлов от данного узла.[00154] Step 710: Generate a training set to use as a negative training example for a search query when training the MLA algorithm, wherein the training set contains the search query paired with a document located at another node that is a predetermined number of nodes away from this node.

[00155] На шаге 710 сервер 130 обучения формирует отрицательный обучающий пример, соответствующий поисковому запросу корневого узла 412 с узлом, находящимся на расстоянии заданного числа узлов от него.[00155] At step 710, the learning server 130 generates a negative training example corresponding to the search query of the root node 412 with a node that is a given number of nodes away from it.

[00156] Затем способ 700 завершается или возвращается к шагу 702.[00156] Method 700 then ends or returns to step 702.

[00157] Представленная на фиг. 5 архитектура и описанные выше примеры позволяют выполнять реализуемый на компьютере вышеуказанный способ. На фиг. 8 приведена блок-схема способа 800 для формирования отрицательного обучающего примера. Способ 800 выполняется в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии. Способ 800 может выполняться сервером 130 обучения.[00157] Shown in FIG. 5, the architecture and the examples described above make it possible to carry out the above method implemented on a computer. In FIG. 8 is a flow diagram of a method 800 for generating a negative training example. Method 800 is performed in accordance with non-limiting embodiments of the present technology. Method 800 may be performed by learning server 130.

[00158] Шаг 802: извлечение из базы данных журнала поиска первой страницы SERP, связанной с первым запросом, и второй страницы SERP, связанной со вторым запросом, при этом первая страница SERP содержит результат поиска в первой позиции, а вторая страница SERP содержит этот результат поиска во второй позиции.[00158] Step 802: Retrieve from the search log database the first SERP page associated with the first query and the second SERP page associated with the second query, where the first SERP page contains the search result in the first position and the second SERP page contains the result search in the second position.

[00159] Способ 800 начинается с шага 802, на котором сервер 130 обучения извлекает множество журналов 128 из базы 126 журналов.[00159] The method 800 begins at step 802, where the learning server 130 retrieves a plurality of logs 128 from the log base 126.

[00160] Затем сервер 130 обучения выбирает из множества журналов 128 запросов две страницы SERP, содержащие по меньшей мере один общий результат поиска, например, первую страницу 212 SERP и вторую страницу 214 SERP.[00160] The learning server 130 then selects from the plurality of query logs 128 two SERP pages containing at least one common search result, such as the first SERP page 212 and the second SERP page 214.

[00161] Пусть, например, результат A4 поиска соответствует результату B13 поиска. В представленном примере результат A4 поиска расположен в четвертой позиции на первой странице 212 SERP, а результат B13 поиска расположен в тринадцатой позиции на второй странице 214 SERP.[00161] For example, suppose the search result A4 corresponds to the search result B13. In the example shown, the search result A4 is located in the fourth position on the first page 212 SERP, and the search result B13 is located in the thirteenth position on the second page 214 SERP.

[00162] Шаг 804: идентификация на первой странице SERP результата поиска с наибольшим взаимодействием.[00162] Step 804: Identification on the first page of the SERP of the search result with the most engagement.

[00163] На шаге 804 сервер 130 обучения определяет на первой странице 212 SERP результат поиска с наибольшим параметром взаимодействия с пользователем.[00163] In step 804, the learning server 130 determines on the first SERP page 212 the search result with the highest user interaction parameter.

[00164] Шаг 806: формирование обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, если произведение первой позиции и второй позиции превышает заранее заданное пороговое значение, при этом этот обучающий набор содержит второй запрос в паре с результатом поиска с наибольшим взаимодействием.[00164] Step 806: Generating a training set to use as negative training examples when training the MLA algorithm if the product of the first position and the second position exceeds a predetermined threshold, this training set containing the second query paired with the most interacting search result .

[00165] На шаге 806 сервер 130 обучения определяет произведение положения результата A4 поиска и положения результата B13 поиска. Другими словами, сервер 130 обучения способен перемножать позиции общего результата поиска на первой странице 212 SERP и на второй странице 214 SERP. С учетом того, что результат A4 поиска является четвертым результатом поиска на первой странице 212 SERP, а результат B13 поиска находится в тринадцатой позиции на второй странице 214 SERP, это произведение равно 52.[00165] In step 806, the learning server 130 determines the product of the position of the search result A4 and the position of the search result B13. In other words, the learning server 130 is able to multiply the positions of the overall search result on the first SERP page 212 and on the second SERP page 214. Considering that the search result A4 is the fourth search result on the first page 212 SERP, and the search result B13 is in the thirteenth position on the second page 214 SERP, this product is 52.

[00166] В некоторых неограничивающих вариантах осуществления настоящей технологии если это произведение превышает заранее заданное пороговое значение, сервер 130 обучения формирует отрицательный обучающий пример путем объединения в пару второго поискового запроса 204 и результата поиска с наибольшим взаимодействием на первой странице 212 SERP (что соответствует результату A2 поиска).[00166] In some non-limiting embodiments of the present technology, if this product exceeds a predetermined threshold, the learning server 130 generates a negative training example by pairing the second search query 204 and the most engaged search result on the first SERP page 212 (corresponding to result A2 search).

[00167] Затем способ 800 завершается или возвращается к шагу 802.[00167] Method 800 then ends or returns to step 802.

[00168] Специалистам в данной области должно быть очевидно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение арсенала технических средств для решения конкретной технической проблемы, характерной для традиционного метода формирования отрицательных обучающих примеров.[00168] Those skilled in the art should appreciate that at least some embodiments of the present technology are directed to expanding the arsenal of technical means to solve a specific technical problem specific to the traditional method of generating negative training examples.

[00169] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо когда технический эффект отсутствует.[00169] 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 does not receive some of these technical effects, or other implementations where the user receives other technical effects, or when there is no technical effect.

[00170] Специалистам в данной области техники могут быть очевидны модификации и улучшения описанных выше вариантов реализации настоящей технологии. Предшествующее описание приведено лишь в качестве примера, но не для ограничения объема изобретения. Следовательно, объем настоящей технологии ограничен исключительно объемом приложенной формулы изобретения.[00170] 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.

[00171] Несмотря на то, что описанные выше варианты реализации приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или что их порядок может быть изменен без отклонения от настоящей технологии. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.[00171] 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 (40)

1. Компьютерный способ формирования обучающего набора для обучения алгоритма машинного обучения (MLA), реализованного в системе поиска информации и выполняемого сервером, при этом способ выполняется сервером и включает в себя:1. A computer method for forming a training set for training a machine learning algorithm (MLA) implemented in an information retrieval system and performed by a server, wherein the method is performed by the server and includes: - извлечение из базы данных журнала поиска на сервере множества страниц результатов поисковой системы (SERP), при этом страница из множества страниц SERP формируется в ответ на поисковый запрос из множества поисковых запросов и содержит множество документов, отвечающих на этот поисковый запрос;- extracting from the search log database on the server a plurality of search engine result pages (SERPs), wherein a page of the plurality of SERP pages is formed in response to a search query from a plurality of search queries and contains a plurality of documents that respond to this search query; - формирование сервером графа, в котором множество документов на множестве страниц SERP и множество запросов сопоставлены таким образом, что:- the formation by the server of a graph in which a set of documents on a set of SERP pages and a set of requests are compared in such a way that: - узел графа содержит поисковый запрос из множества поисковых запросов и соединен с первым подмножеством узлов, при этом каждый узел из первого подмножества узлов содержит документ из множества документов, связанный с этим поисковым запросом; иthe graph node contains a search query from a plurality of search queries and is connected to a first subset of nodes, wherein each node from the first subset of nodes contains a document from a plurality of documents associated with this search query; and - узел из первого подмножества узлов соединен со вторым подмножеством узлов, при этом каждый узел из второго подмножества узлов содержит поисковые запросы, связанные с документом этого узла;- a node from the first subset of nodes is connected to the second subset of nodes, with each node from the second subset of nodes containing search queries associated with the document of this node; - получение указания на поисковый запрос для формирования отрицательного обучающего примера для обучения алгоритма MLA;- receiving an indication of a search query to form a negative training example for training the MLA algorithm; - идентификацию узла в графе, связанного с этим поисковым запросом; и- identification of the node in the graph associated with this search query; and - формирование обучающего набора для использования в качестве отрицательного обучающего примера для поискового запроса при обучении алгоритма MLA, содержащего поисковый запрос в паре с документом, расположенным в другом узле, находящемся на расстоянии заранее заданного числа узлов от этого узла. - formation of a training set for use as a negative training example for a search query when training an MLA algorithm containing a search query paired with a document located at another node located at a distance of a predetermined number of nodes from this node. 2. Способ по п. 1, отличающийся тем, что заранее заданное число узлов является нечетным числом узлов. 2. The method according to claim. 1, characterized in that the predetermined number of nodes is an odd number of nodes. 3. Способ по п. 2, отличающийся тем, что нечетное число узлов является случайным числом от пяти до девяти. 3. The method according to claim 2, characterized in that the odd number of nodes is a random number from five to nine. 4. Способ по п. 2, отличающийся тем, что нечетное число узлов является заранее заданным числом от пяти до девяти. 4. The method according to claim 2, characterized in that the odd number of nodes is a predetermined number from five to nine. 5. Способ по п. 1, отличающийся тем, что документ связан с поисковым запросом на основании включения этого документа в соответствующую страницу SERP или выбора этого документа в ответ на отображение соответствующей страницы SERP.5. The method according to claim 1, characterized in that the document is associated with the search query based on the inclusion of this document in the corresponding SERP page or the selection of this document in response to the display of the corresponding SERP page. 6. Способ по п. 1, отличающийся тем, что другой узел включен в третье подмножество узлов, расположенных на расстоянии заранее заданного числа узлов от этого другого узла, и способ включает в себя выбор этого другого узла из третьего подмножества узлов.6. The method according to claim. 1, characterized in that the other node is included in the third subset of nodes located at a distance of a predetermined number of nodes from this other node, and the method includes selecting this other node from the third subset of nodes. 7. Способ по п. 6, отличающийся тем, что выбор другого узла из третьего подмножества узлов включает в себя выбор этого другого узла, если он имеет наибольший параметр взаимодействия с пользователем, указывающий на один или несколько видов действий, выполненных одним или несколькими пользователями в третьем подмножестве узлов.7. The method of claim 6, wherein selecting another node from the third subset of nodes includes selecting that other node if it has the highest user interaction parameter indicative of one or more types of actions performed by one or more users in third subset of nodes. 8. Способ по п. 7, отличающийся тем, что параметр взаимодействия с пользователем для документа указывает на длительность наведения курсора на этот документ и/или на событие «клика» на этом документе.8. The method according to claim 7, characterized in that the user interaction parameter for the document indicates the duration of hovering over this document and/or a "click" event on this document. 9. Способ по п. 1, отличающийся тем, что способ дополнительно включает в себя формирование второго обучающего набора для использования в качестве положительного примера, при этом второй обучающий набор содержит поисковый запрос в паре с документом, расположенным в другом узле, непосредственно соединенном с данным узлом. 9. The method of claim. 1, characterized in that the method further includes generating a second training set for use as a positive example, while the second training set contains a search query paired with a document located at another node directly connected to this node. 10. Способ по п. 9, отличающийся тем, что граф представляет собой дерево данных.10. The method according to claim 9, characterized in that the graph is a data tree. 11. Способ по п. 10, отличающийся тем, что идентификация узла в графе, связанного с поисковым запросом, включает в себя идентификацию корневого узла дерева данных. 11. The method of claim. 10, characterized in that the identification of the node in the graph associated with the search query includes the identification of the root node of the data tree. 12. Способ по п. 9, отличающийся тем, что граф представляет собой сетчатый граф. 12. The method according to claim 9, characterized in that the graph is a grid graph. 13. Компьютерный способ формирования обучающего набора для обучения алгоритма машинного обучения (MLA), реализованного в системе поиска информации и выполняемого сервером, выполняемый сервером и включающий в себя:13. A computer method for forming a training set for training a machine learning algorithm (MLA) implemented in an information retrieval system and performed by a server, performed by a server and including: - получение из базы данных журнала поиска первой страницы результатов поисковой системы (SERP), связанной с первым запросом, и второй страницы SERP, связанной со вторым запросом, при этом первая страница SERP содержит результат поиска в первой позиции, а вторая страница SERP содержит этот результат поиска во второй позиции;- obtaining from the search log database the first search engine results page (SERP) associated with the first query and the second SERP page associated with the second query, wherein the first SERP page contains the search result in the first position, and the second SERP page contains this result search in the second position; - идентификацию на первой странице SERP результата поиска с наибольшим взаимодействием;- identification on the first page of the SERP search result with the greatest engagement; - формирование обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, если произведение первой позиции и второй позиции превышает заранее заданное пороговое значение, при этом обучающий набор содержит второй запрос в паре с результатом поиска с наибольшим взаимодействием.- formation of a training set to be used as negative training examples when training the MLA algorithm, if the product of the first position and the second position exceeds a predetermined threshold value, while the training set contains the second query paired with the search result with the greatest interaction. 14. Способ по п. 13, отличающийся тем, что он включает в себя формирование второго обучающего набора для использования в качестве положительного примера, при этом второй обучающий набор содержит первый запрос и результат поиска с наибольшим взаимодействием.14. The method of claim 13, characterized in that it includes generating a second training set for use as a positive example, wherein the second training set contains the first query and the search result with the highest interaction. 15. Способ по п. 13, отличающийся тем, что результат поиска с наибольшим взаимодействием содержит выбранный результат поиска на первой странице SERP. 15. The method of claim 13, wherein the most engaged search result contains the selected search result on the first page of the SERP. 16. Способ по п. 14, отличающийся тем, что результат поиска является одним из множества результатов поиска с взаимодействием, а результат поиска с наибольшим взаимодействием является одним из множества результатов поиска с взаимодействием, имеющим наиболее длительное взаимодействие.16. The method of claim 14, wherein the search result is one of the plurality of interaction search results, and the longest interaction search result is one of the plurality of interaction search results having the longest interaction. 17. Способ по п. 13, отличающийся тем, что заранее заданный порог равен 50.17. The method according to claim 13, characterized in that the predetermined threshold is 50. 18. Система для формирования обучающего набора для обучения алгоритма машинного обучения (MLA), реализованного в системе поиска информации и выполняемого сервером, при этом сервер содержит процессор, выполненный с возможностью:18. A system for generating a training set for training a machine learning algorithm (MLA) implemented in an information retrieval system and executed by a server, wherein the server contains a processor configured to: - извлечения из базы данных журнала поиска на сервере множества страниц результатов поисковой системы (SERP), при этом страница из множества страниц SERP сформирована в ответ на поисковый запрос из множества поисковых запросов и содержит множество документов, отвечающих на этот поисковый запрос;- extracting from the search log database on the server a plurality of search engine result pages (SERPs), wherein a page of the plurality of SERP pages is formed in response to a search query from a plurality of search queries and contains a plurality of documents that respond to this search query; - формирования графа, в котором множество документов на множестве страниц SERP и множество запросов сопоставлены таким образом, что:- formation of a graph in which a set of documents on a set of SERP pages and a set of queries are compared in such a way that: - узел графа содержит поисковый запрос из множества поисковых запросов и соединен с первым подмножеством узлов, при этом каждый узел из первого подмножества узлов содержит документ из множества документов, связанный с этим поисковым запросом; иthe graph node contains a search query from a plurality of search queries and is connected to a first subset of nodes, wherein each node from the first subset of nodes contains a document from a plurality of documents associated with this search query; and - узел из первого подмножества узлов соединен со вторым подмножеством узлов, при этом каждый узел из второго подмножества узлов содержит поисковые запросы, связанные с документом этого узла;- a node from the first subset of nodes is connected to the second subset of nodes, with each node from the second subset of nodes containing search queries associated with the document of this node; - получения указания на поисковый запрос для формирования отрицательного обучающего примера для обучения алгоритма MLA;- obtaining an indication of the search query to form a negative training example for training the MLA algorithm; - идентификации узла в графе, связанного с этим поисковым запросом; и- identifying the node in the graph associated with this search query; and - формирования обучающего набора для использования в качестве отрицательного обучающего примера для поискового запроса при обучении алгоритма MLA, содержащего поисковый запрос в паре с документом, расположенным в другом узле, находящемся на расстоянии заранее заданного числа узлов от этого узла. - forming a training set for use as a negative training example for a search query when training an MLA algorithm containing a search query paired with a document located at another node located at a distance of a predetermined number of nodes from this node. 19. Система по п. 18, отличающаяся тем, что заранее заданное число узлов является нечетным числом узлов. 19. The system according to claim 18, characterized in that the predetermined number of nodes is an odd number of nodes. 20. Система для формирования обучающего набора для обучения алгоритма машинного обучения (MLA), реализованного в системе поиска информации и выполняемого сервером, при этом сервер содержит процессор, выполненный с возможностью:20. A system for generating a training set for training a machine learning algorithm (MLA) implemented in an information retrieval system and executed by a server, wherein the server contains a processor configured to: - получения из базы данных журнала поиска первой страницы результатов поисковой системы (SERP), связанной с первым запросом, и второй страницы SERP, связанной со вторым запросом, при этом первая страница SERP содержит результат поиска в первой позиции, а вторая страница SERP содержит этот результат поиска во второй позиции;- obtaining from the search log database the first search engine results page (SERP) associated with the first query and the second SERP page associated with the second query, whereby the first SERP page contains the search result in the first position, and the second SERP page contains this result search in the second position; - идентификации на первой странице SERP результата поиска с наибольшим взаимодействием;- identification on the first page of the SERP search result with the greatest engagement; - формирования обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, если произведение первой позиции и второй позиции превышает заранее заданное пороговое значение, при этом обучающий набор содержит второй запрос в паре с результатом поиска с наибольшим взаимодействием.- forming a training set for use as negative training examples when training the MLA algorithm, if the product of the first position and the second position exceeds a predetermined threshold value, while the training set contains the second query paired with the search result with the greatest interaction.
RU2020117965A 2020-06-01 2020-06-01 Method and system for formation of training set for machine learning algorithm RU2778385C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/123,764 US11816159B2 (en) 2020-06-01 2020-12-16 Method of and system for generating a training set for a machine learning algorithm (MLA)

Publications (1)

Publication Number Publication Date
RU2778385C1 true RU2778385C1 (en) 2022-08-18

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093459A1 (en) * 2009-10-15 2011-04-21 Yahoo! Inc. Incorporating Recency in Network Search Using Machine Learning
RU2580516C2 (en) * 2014-08-19 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Method of generating customised ranking model, method of generating ranking model, electronic device and server
US20170220575A1 (en) * 2016-01-28 2017-08-03 Shutterstock, Inc. Identification of synthetic examples for improving search rankings
RU2677380C2 (en) * 2017-04-05 2019-01-16 Общество С Ограниченной Ответственностью "Яндекс" Method and system of ranking of a variety of documents on the page of search results

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093459A1 (en) * 2009-10-15 2011-04-21 Yahoo! Inc. Incorporating Recency in Network Search Using Machine Learning
RU2580516C2 (en) * 2014-08-19 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Method of generating customised ranking model, method of generating ranking model, electronic device and server
US20170220575A1 (en) * 2016-01-28 2017-08-03 Shutterstock, Inc. Identification of synthetic examples for improving search rankings
RU2677380C2 (en) * 2017-04-05 2019-01-16 Общество С Ограниченной Ответственностью "Яндекс" Method and system of ranking of a variety of documents on the page of search results

Similar Documents

Publication Publication Date Title
US11113291B2 (en) Method of and system for enriching search queries for ranking search results
US10846346B2 (en) Search suggestion and display environment
JP5745627B2 (en) Predictive query suggestion cache
RU2632138C2 (en) Method (options) and server of search results ranking based on utility parameter
RU2744029C1 (en) System and method of forming training set for machine learning algorithm
US11086888B2 (en) Method and system for generating digital content recommendation
US9589056B2 (en) User information needs based data selection
US9183499B1 (en) Evaluating quality based on neighbor features
US20170185602A1 (en) System and method for ranking search engine results
US11194848B2 (en) Method of and system for building search index using machine learning algorithm
US11681713B2 (en) Method of and system for ranking search results using machine learning algorithm
US10891340B2 (en) Method of and system for updating search index database
RU2632140C2 (en) Method and server for clustering sentences for search queries
WO2015170151A1 (en) Methods and systems for personalizing aggregated search results
RU2632135C2 (en) System and method for refining search results
US11194878B2 (en) Method of and system for generating feature for ranking document
US11816159B2 (en) Method of and system for generating a training set for a machine learning algorithm (MLA)
RU2778385C1 (en) Method and system for formation of training set for machine learning algorithm
US11308097B2 (en) Method of and server for generating meta-feature for ranking documents
RU2790033C2 (en) System and method for formation of training set for machine learning algorithm
US11334559B2 (en) Method of and system for identifying abnormal rating activity
RU2776034C2 (en) Method and system for detection of abnormal ranking
RU2775824C2 (en) Method and system for detecting abnormal visits to websites
RU2739554C1 (en) Method and system for generating an object card
RU2781621C2 (en) Method and system for determination of ranked positions of elements by ranking system