RU2790033C2 - System and method for formation of training set for machine learning algorithm - Google Patents
System and method for formation of training set for machine learning algorithm Download PDFInfo
- Publication number
- RU2790033C2 RU2790033C2 RU2020117960A RU2020117960A RU2790033C2 RU 2790033 C2 RU2790033 C2 RU 2790033C2 RU 2020117960 A RU2020117960 A RU 2020117960A RU 2020117960 A RU2020117960 A RU 2020117960A RU 2790033 C2 RU2790033 C2 RU 2790033C2
- Authority
- RU
- Russia
- Prior art keywords
- search
- request
- query
- serp
- page
- Prior art date
Links
Images
Abstract
Description
Область техники, к которой относится изобретениеThe technical field to which the invention belongs
[1] Настоящая технология относится, в целом, к алгоритмам машинного обучения и, в частности, к способу и системе для формирования обучающего набора для алгоритма машинного обучения.[1] The present technology relates generally to machine learning algorithms and, in particular, to a method and system for generating a training set for a machine learning algorithm.
Уровень техникиState of the art
[2] Алгоритмы машинного обучения (MLA, Machine Learning Algorithm) используются для удовлетворения многих потребностей в компьютерных технологиях. Обычно алгоритмы MLA применяются для формирования прогноза, связанного с взаимодействием пользователя с компьютерным устройством. В качестве примера сферы, где требуется такой прогноз, можно привести действия пользователя в отношении контента, доступного в сети Интернет.[2] Machine learning algorithms (MLA, Machine Learning Algorithm) are used to meet many needs in computer technology. Typically, MLA algorithms are used to generate predictions related to user interaction with a computing device. An example of an area where such a forecast is required is the user's actions in relation to content available on the Internet.
[3] Объем информации, доступной на различных Интернет-ресурсах, в течение последних двух лет растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из примеров таких решений является поисковая система. В качестве примера можно привести поисковые системы GOOGLE™, YANDEX™, YAHOO!™ и т.д. Пользователь может получать доступ к интерфейсу такой поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ поисковая система выдает ранжированный список результатов поиска, потенциально релевантных поисковому запросу. Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, применяемых конкретной поисковой системой, используемой пользователем для поиска. Общая цель таких алгоритмов ранжирования состоит в том, чтобы представить наиболее релевантные результаты поиска в верхней части ранжированного списка, в то время как менее релевантные результаты поиска располагаются на менее заметных позициях ранжированного списка результатов поиска (позиции с наименее релевантными результатами поиска расположены в нижней части ранжированного списка результатов поиска).[3] The volume of information available on various Internet resources has grown exponentially over the past two years. Several solutions have been developed to help the typical user find the information they need. One example of such solutions is a search engine. Examples include search engines GOOGLE™, YANDEX™, YAHOO!™, etc. The user may access the interface of such a search engine and submit a search query related to information to be found on the Internet. In response, the search engine returns a ranked list of search results that are potentially relevant to the search query. The ranked list of search results is generated based on various ranking algorithms applied by the particular search engine used by the user to search. The general goal of such ranking algorithms is to present the most relevant search results at the top of the ranked list, while the less relevant search results are placed in the less prominent positions of the ranked list of search results (the positions with the least relevant search results are located at the bottom of the ranked list). list of search results).
[4] Поисковые системы обычно являются эффективным инструментом поиска в случае поискового запроса, когда пользователь заранее знает, что он хочет найти. Другими словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. когда тема поиска известна), он может отправить поисковый запрос: «Самые популярные места в Италии?» После этого поисковая машина представляет ранжированный список ресурсов Интернета, потенциально имеющих отношение к данному поисковому запросу. Затем пользователь может просмотреть ранжированный список результатов поиска и получить интересующую его информацию о достопримечательностях Италии. Если пользователь по какой-либо причине не удовлетворен предоставленными результатами поиска, он может повторно запустить поиск, например, с более точным поисковым запросом, таким как «Самые популярные места в Италии летом?», «Самые популярные достопримечательности на юге Италии?», «Самые популярные места для романтического отдыха в Италии?».[4] Search engines are usually an effective search tool in the case of a search query, when the user knows in advance what he wants to find. In other words, if the user is interested in getting information about the most popular places in Italy (i.e. when the search topic is known), he can send a search query: "The most popular places in Italy?" The search engine then presents a ranked list of Internet resources potentially relevant to the given search query. Then the user can view the ranked list of search results and get information about the sights of Italy of interest to him. If the user is not satisfied with the provided search results for any reason, he can re-run the search, for example with a more precise search term such as "The most popular places in Italy in summer?", "The most popular attractions in southern Italy?", " The most popular places for a romantic getaway in Italy?
[5] Когда пользователь отправляет поисковый запрос, поисковая система формирует список релевантных веб-ресурсов (на основе анализа просмотренных обходчиком веб-ресурсов, указания на которые хранятся в базе данных обходчика в виде списков вхождений (posting lists) и т.п.). Затем поисковая система использует алгоритм MLA для ранжирования сформированного таким образом списка результатов поиска. Алгоритм MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Такой алгоритм MLA обучен прогнозировать степень соответствия результата поиска поисковому запросу на основе большого количества признаков, связанных с этим результатом поиска, и указаний на прошлые действия пользователей в отношении результатов поиска при отправке подобных поисковых запросов в прошлом.[5] When a user submits a search query, the search engine generates a list of relevant web resources (based on the analysis of web resources viewed by the crawler, indications of which are stored in the crawler's database in the form of posting lists, etc.). The search engine then uses the MLA algorithm to rank the resulting list of search results. The MLA algorithm ranks a list of search results based on their relevance to the search query. Such an MLA algorithm is trained to predict the degree to which a search result matches a search query based on a large number of features associated with that search result and indications of past user behavior on search results when submitting similar search queries in the past.
[6] Перед использованием алгоритма MLA для прогнозирования релевантности результатов поиска отправленному пользователем запросу этот алгоритм MLA должен быть обучен. В зависимости от реализации алгоритма MLA, обучение может выполняться различными способами, такими как обучение с учителем, обучение без учителя и т.д. В типовом подходе к обучению алгоритму MLA предоставляется несколько обучающих примеров (размеченных обучающих наборов), используемых для обучения алгоритма MLA способности делать выводы в рамках поставленной задачи (такой как прогнозирование релевантности документов поисковому запросу). Обычно алгоритму MLA предоставляются положительные примеры (в данном случае релевантные документы) и отрицательные примеры (в данном случае нерелевантные документы).[6] Before an MLA algorithm can be used to predict the relevance of search results to a query submitted by a user, the MLA algorithm must be trained. Depending on the implementation of the MLA algorithm, learning can be done in various ways such as supervised learning, unsupervised learning, etc. The exemplary MLA training approach provides several training examples (labeled training sets) used to train the MLA algorithm to make inferences within a given task (such as predicting the relevance of documents to a search query). Typically, the MLA algorithm is provided with positive examples (in this case, relevant documents) and negative examples (in this case, irrelevant documents).
[7] В патентной заявке US2017220575A1 «Identification of Synthetic Examples for Improving Search Ranking» («Идентификация синтетических примеров для улучшения поискового ранжирования», Shutterstock Inc., 03.07.2017) раскрыты способы, системы и машиночитаемые носители для идентификации примеров синтетических медиафайлов для обучения с учителем алгоритма MLA, предназначенного для ранжирования медиафайлов по релевантности поисковому запросу. В одном аспекте способ включает в себя идентификацию запроса к поисковой системе для коллекции медиафайлов из ранее полученных поисковых запросов и выбор по меньшей мере одного обучающего медиафайла из этой коллекции в качестве синтетического отрицательного примера для этого поискового запроса. Способ также включает в себя предоставление обучающего набора для обучения с учителем алгоритма ранжирования. Обучающий набор содержит идентификатор поискового запроса, копию обучающего медиафайла и первый указатель того, что этот обучающий медиафайл является синтетическим отрицательным примером для этого поискового запроса. Способ дополнительно включает в себя предоставление данному алгоритму поискового запроса и коллекции и получение от алгоритма данных о ранжировании этой коллекции.[7] Patent application US2017220575A1 "Identification of Synthetic Examples for Improving Search Ranking", Shutterstock Inc., 07/03/2017 discloses methods, systems and computer-readable media for identifying synthetic media examples for training with the teacher of the MLA algorithm, designed to rank media files by relevance to a search query. In one aspect, the method includes identifying a search engine query for a collection of media files from previously received search queries and selecting at least one training media file from that collection as a synthetic negative example for that search query. The method also includes providing a training set for supervised learning of the ranking algorithm. The training set contains a search query identifier, a copy of the training media, and a first indication that the training media is a synthetic negative example for that search. The method further includes providing a given algorithm with a search query and a collection, and receiving from the algorithm data about the ranking of this collection.
[8] В статье авторов Xuanhui Wang et al. «Improved Retrieval Accuracy for Difficult Queries using Negative Feedback» («Повышение точности получения сложных запросов с использованием отрицательной обратной связи», Conference on Information and Knowledge Management (CIKM), 2007), рассматривается ситуация, когда результаты поиска настолько плохи, что ни один из документов с высоким рангом не релевантен запросу пользователя. Для повышения точности поиска по таким сложным запросам предлагается использовать отрицательную обратную связь.[8] Xuanhui Wang et al. “Improved Retrieval Accuracy for Difficult Queries using Negative Feedback” (Conference on Information and Knowledge Management (CIKM), 2007), discusses the situation when the search results are so bad that none from documents with a high rank is not relevant to the user's query. To improve the accuracy of the search for such complex queries, it is proposed to use negative feedback.
Раскрытие изобретенияDisclosure of invention
[9] Разработчики настоящей технологии обнаружили по меньшей мере одну техническую проблему, связанную с известными подходами.[9] The developers of the present technology have discovered at least one technical problem associated with known approaches.
[10] Настоящая технология относится к алгоритмам машинного обучения, в целом, и к способам и к системам для формирования обучающего набора для алгоритма машинного обучения, в частности. Как описано выше, при обучении различных основанных на обучении с учителем алгоритмов MLA, таких как основанный на дереве решений алгоритм MLA или нейронная сеть (NN, Neural Network), алгоритму MLA предоставляются обучающие наборы. Обучающие наборы представляют собой размеченные примеры, иллюстрирующие как положительные примеры, так и отрицательные примеры. Положительные примеры при обучении алгоритма MLA соответствуют наличию целевых выходных данных, отрицательные примеры при обучении алгоритма MLA соответствуют отсутствию целевых выходных данных.[10] The present technology relates to machine learning algorithms in general, and to methods and systems for generating a training set for a machine learning algorithm in particular. As described above, when training various supervised MLA algorithms such as a decision tree based MLA algorithm or a neural network (NN, Neural Network), training sets are provided to the MLA algorithm. Training sets are labeled examples illustrating both positive examples and negative examples. Positive examples when training the MLA algorithm correspond to the presence of the target output data, negative examples when training the MLA algorithm correspond to the absence of the target output data.
[11] В общем случае положительные примеры легко сформировать. Например, примеры для пар поисковых запросов и документов можно получить с использованием журналов поисковых запросов сервера поисковой системы, при этом «клики» пользователей представляют собой хороший показатель релевантности прошлого документа прошлому пользовательскому запросу. Формирование отрицательных примеров может оказаться более сложным.[11] In the general case, positive examples are easy to form. For example, examples for search query and document pairs can be obtained using the search query logs of the search engine server, with user "clicks" being a good indication of the relevance of a past document to a past user query. Forming negative examples can be more difficult.
[12] Типовая система обучения алгоритма MLA использует случайные отрицательные примеры, исходя из предположения, что большинство случайных примеров будет кардинально отличаться от положительных примеров и, следовательно, они будут представлять собой подходящие отрицательные примеры. Тем не менее, на практике эффективность отрицательных примеров не равна 100% (ближе к 80%).[12] The exemplary learning system for the MLA algorithm uses random negative examples, on the assumption that most random examples will be drastically different from positive examples and therefore they will be suitable negative examples. However, in practice, the effectiveness of negative examples is not 100% (closer to 80%).
[13] В соответствии с первым широким аспектом настоящей технологии в системе поиска информации реализован компьютерный способ формирования обучающего набора для обучения алгоритма MLA, выполняемого на сервере, доступном для электронного устройства. Способ выполняется сервером и включает в себя извлечение из базы данных журнала поиска на сервере первого запроса, ранее отправленного на сервер, первой страницы результатов поисковой системы (SERP, Search Engine Result Page) связанной с первым запросом, второго запроса, отличного от первого запроса и отправленного после него, и второй страницы SERP, связанной со вторым запросом. Первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска. В ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формируется обучающий набор для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, причем этот обучающий набор содержит второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.[13] In accordance with the first broad aspect of the present technology, the information retrieval system implements a computer method for generating a training set for training an MLA algorithm running on a server accessible to an electronic device. The method is performed by the server and includes extracting from the search log database on the server the first request previously sent to the server, the first page of search engine results (SERP, Search Engine Result Page) associated with the first request, the second request, different from the first request and sent after it, and the second SERP page associated with the second query. The first query and the second query are sent by the electronic device, the first SERP page contains the first set of search results, and the second SERP page contains the second set of search results. In response to the second query, sent in the same search session as the first query, a training set is formed to be used as negative training examples when training the MLA algorithm, and this training set contains the second query paired with a predefined search result from the first set search results.
[14] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ перед формированием обучающего набора дополнительно включает в себя проверку того, были ли первый запрос и второй запрос отправлены на сервер электронным устройством в одном сеансе поиска.[14] In some non-limiting embodiments of the present technology, the method, before generating the training set, further includes checking whether the first request and the second request were sent to the server by the electronic device in the same search session.
[15] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, включает в себя анализ разницы во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.[15] In some non-limiting embodiments of the present technology, determining that the first request and the second request were sent in the same search session includes analyzing the time difference between the first time the first request was sent and the second time the second request was sent. .
[16] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый запрос и второй запрос определяются как отправленные в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.[16] In some non-limiting embodiments of the present technology, the first request and the second request are determined to be sent in the same search session if the time difference is less than a predetermined threshold.
[17] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии определение того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, дополнительно включает в себя анализ первого запроса и второго запроса.[17] In some non-limiting embodiments of the present technology, determining that the first request and the second request were sent in the same search session further includes parsing the first request and the second request.
[18] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя анализ первого запроса и второго запроса для выявления некоторой степени совпадения между первым запросом и вторым запросом, и при этом формирование обучающего набора выполняется только при наличии такой степени совпадения.[18] In some non-limiting embodiments of the present technology, the method further includes parsing the first query and the second query to determine some degree of match between the first query and the second query, and wherein the training set is only performed if there is such a degree of match.
[19] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется при наличии по меньшей мере одного общего условия поиска у первого запроса и второго запроса.[19] In some non-limiting embodiments of the present technology, a degree of match is determined by having at least one common search term for the first query and the second query.
[20] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется при наличии по меньшей мере одного общего условия поиска у первого запроса и второго запроса.[20] In some non-limiting embodiments of the present technology, a degree of match is determined by having at least one common search term for the first query and the second query.
[21] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии степень совпадения выявляется, если единственное условие поиска у первого запроса и второго запроса является общим.[21] In some non-limiting embodiments of the present technology, a degree of match is determined if the only search term of the first query and the second query is common.
[22] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя извлечение из базы данных журнала поиска на сервере набора параметров взаимодействия с пользователем, указывающих на один или несколько видов взаимодействия пользователя электронного устройства со второй страницей SERP для результата поиска из второго набора результатов поиска, при этом набор параметров взаимодействия с пользователем содержит «время наведения» для результата поиска и/или событие «клика» для результата поиска.[22] In some non-limiting embodiments of the present technology, the method further includes retrieving from a search log database on the server a set of user interaction parameters indicative of one or more interactions of an electronic device user with the second SERP page for a search result from a second set of search results, wherein the set of user interaction parameters comprises a "hover time" for the search result and/or a "click" event for the search result.
[23] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя выбор результата поиска из второго набора результатов поиска с наибольшим значением параметра взаимодействия с пользователем и выбор заранее заданного результата поиска на основе позиции этого результата поиска на второй странице SERP.[23] In some non-limiting embodiments of the present technology, the method further includes selecting a search result from the second set of search results with the highest user interaction parameter value and selecting a predetermined search result based on the position of that search result on the second SERP page.
[24] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданный результат поиска соответствует первому результату поиска, имеющему ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, и/или второму результату поиска, имеющему позицию выше или ниже позиции результата поиска на первой странице SERP.[24] In some non-limiting embodiments of the present technology, the predetermined search result corresponds to a first search result having the same position on the first SERP page as a search result on the second SERP page and/or a second search result having a position higher than or below the position of the search result on the first page of the SERP.
[25] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя случайный выбор заранее заданного результата поиска - первого результата поиска, имеющего ту же позицию на первой странице SERP, что и результат поиска на второй странице SERP, или второго результата поиска, занимающего позицию выше или ниже позиции результата поиска на первой странице SERP.[25] In some non-limiting embodiments of the present technology, the method further includes randomly selecting a predetermined search result, the first search result having the same position on the first page of the SERP as the search result on the second page of the SERP, or the second result search ranking above or below the position of the search result on the first page of the SERP.
[26] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ дополнительно включает в себя анализ взаимодействия пользователя с заранее заданным результатом поиска, при этом формирование обучающего набора выполняется только если взаимодействие пользователя с заранее заданным результатом поиска оказывается ниже заранее заданного порога взаимодействия.[26] In some non-limiting embodiments of the present technology, the method further includes analyzing a user's interaction with a predefined search result, wherein training set generation is performed only if the user's interaction with the predefined search result is below a predefined interaction threshold.
[27] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданный порог взаимодействия составляет тридцать секунд.[27] In some non-limiting embodiments of the present technology, the predetermined interaction threshold is thirty seconds.
[28] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеанс поиска содержит множество страниц SERP, сформированных в ответ на множество запросов, включая первую страницу SERP и вторую страницу SERP, и множество запросов, включая первый запрос и второй запрос, при этом вторая страница SERP является последней страницей SERP из множества страниц SERP.[28] In some non-limiting embodiments of the present technology, a search session comprises a plurality of SERPs generated in response to a plurality of queries, including a first SERP page and a second SERP page, and a plurality of queries, including a first query and a second query, wherein the second The SERP page is the last SERP page out of many SERP pages.
[29] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первая страница SERP непосредственно предшествует второй странице SERP во множестве страниц SERP.[29] In some non-limiting embodiments of the present technology, the first SERP page immediately precedes the second SERP page in a plurality of SERP pages.
[30] В соответствии с другим широким аспектом настоящей технологии реализована система для формирования обучающего набора для обучения алгоритма MLA, выполняемого сервером, доступным для электронного устройства и содержащим процессор. Процессор способен извлекать из базы данных журнала поиска на сервере первый запрос, ранее отправленный на сервер, первую страницу SERP, связанную с первым запросом, второй запрос, отличный от первого запроса и отправленный после него, и вторую страницу SERP, связанную со вторым запросом. Первый запрос и второй запрос отправлены электронным устройством, первая страница SERP содержит первый набор результатов поиска, а вторая страница SERP содержит второй набор результатов поиска. В ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, процессор способен формировать обучающий набор для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, содержащий второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.[30] In accordance with another broad aspect of the present technology, a system is implemented for generating a training set for training an MLA algorithm executed by a server accessible to an electronic device and containing a processor. The processor is capable of retrieving from the search log database on the server the first request previously sent to the server, the first SERP page associated with the first request, the second request different from and sent after the first request, and the second SERP page associated with the second request. The first query and the second query are sent by the electronic device, the first SERP page contains the first set of search results, and the second SERP page contains the second set of search results. In response to a second query sent in the same search session as the first query, the processor is able to generate a training set for use as negative training examples when training the MLA algorithm, containing the second query paired with a predetermined search result from the first set of search results. .
[31] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор способен перед формированием обучающего набора проверять, были ли первый и второй запросы отправлены на сервер электронным устройством в одном сеансе поиска.[31] In some non-limiting embodiments of the present technology, the processor is configured to check whether the first and second queries were sent to the server by the electronic device in the same search session before generating the training set.
[32] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор для определения того, что первый запрос и второй запрос были отправлены в одном сеансе поиска, способен анализировать разницу во времени между первым моментом времени отправки первого запроса и вторым моментом времени отправки второго запроса.[32] In some non-limiting embodiments of the present technology, the processor for determining that the first request and the second request were sent in the same search session is able to analyze the time difference between the first time the first request was sent and the second time the second request was sent. .
[33] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор способен определять, что первый запрос и второй запроса были отправлены в одном сеансе поиска, если разница во времени меньше заранее заданного порогового значения.[33] In some non-limiting embodiments of the present technology, the processor is able to determine that the first request and the second request were sent in the same search session if the time difference is less than a predetermined threshold.
[34] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать через сеть запросы (например, от электронных устройств) и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[34] In the context of the present description, the term "server" means a computer program executed by appropriate hardware and capable of receiving requests via a network (for example, from electronic devices) and fulfill these requests or initiate their execution. The hardware may be one physical computer or one computer system, which is not essential to the present technology. In the present context, the expression "server" does not mean that every task (for example, a received command or request) or some specific task is received, executed or started by the same server (i.e. the same software and/or hardware ). This means that any number of software or hardware can receive, send, execute or initiate the execution of any task or request or the results of any tasks or requests. All of these software and hardware may be a single server or multiple servers, both of which are meant by the expression "at least one server".
[35] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[35] In the context of the present description, the term "electronic device" means any computer hardware capable of executing programs suitable for solving the task. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches, and gateways. It should be noted that in this context, a device functioning as an electronic device may also function as a server in relation to other electronic devices. The use of the term "electronic device" does not preclude the use of multiple electronic devices to receive, send, perform or initiate any task or request, or the results of any tasks or requests or steps of any method described herein.
[36] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, что и процесс, обеспечивающий хранение или использование информации, хранящейся в этой базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.[36] In the context of the present description, the term "database" means any structured set of data, regardless of its specific structure, database management software or computer hardware for storing this data, using them or providing them with use in another way. The database may reside on the same hardware as the process that stores or uses the information stored in the database, or the database may reside on separate hardware such as a dedicated server or multiple servers.
[37] В контексте настоящего описания выражение «информация» означает информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя без ограничения аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.[37] In the context of the present description, the expression "information" means information of any kind or type that can be stored in a database. Thus, information includes, without limitation, audiovisual works (images, films, sound recordings, presentations, etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages etc.), documents, spreadsheets, etc.
[38] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.[38] In the context of the present description, the term "computer usable storage medium" means media of any kind and form, including RAM, ROM, disks (CD-ROM, DVD, floppy disks, hard disks, etc.), USB -drives, solid state drives, tape drives, etc.
[39] В контексте настоящего описания, если специально не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или других мест, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень точности, требуемая для такого указания, зависит от объема предварительных пояснений относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.[39] As used herein, unless specifically noted otherwise, an information element can be referred to by the information element itself, as well as a pointer, link, hyperlink, or other indirect means by which a data recipient can locate a location in a network, memory , database, or other machine-readable storage medium from which the information element can be retrieved. For example, a reference to a document may include the document itself (i.e., its contents), or the reference may be a unique document descriptor pointing to a file on a specific file system, or some other means to indicate a location on a network to the recipient of the data. , memory addresses, a table in a database, or other places where the file can be accessed. It should be apparent to one skilled in the art that the degree of precision required for such an indication depends on the amount of prior clarification regarding the interpretation of the information exchanged between the sender and recipient of the data. For example, if it is known before the communication between the sender and the recipient that the reference to the information element is the database key for the element in a certain table of the predefined database containing this information element, then in order to efficiently transmit this information element to the recipient, it is enough to send the database key data, even if the information element itself is not transmitted between the sender and receiver of the data.
[40] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается здесь в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.[40] In the context of the present description, the numerals "first", "second", "third", etc. are used only to indicate the difference between the nouns they refer to, but not to describe any specific relationship between these nouns. For example, it should be clear that the use of the terms "first server" and "third server" does not imply any particular order, type, chronology, hierarchy, or classification of, in this case, servers, and that their use (by itself) does not imply a "second server" in every situation. Also, as occurs here in another context, referring to a "first" element and a "second" element does not preclude that the two elements may in fact be the same element. Thus, for example, in some cases the "first" server and the "second" server may be the same software and/or hardware, and in other cases different software and/or hardware.
[41] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.[41] Each embodiment of the present technology relates to at least one of the above objectives and/or aspects, but not necessarily all of them. It should be understood that some aspects of the present technology, associated with an attempt to achieve the above goal, may not meet this goal and/or may meet other goals not explicitly mentioned here.
[42] Дополнительные и/или альтернативные особенности, аспекты и преимущества реализаций настоящей технологии изложены в последующем описании, на сопроводительных чертежах и в приложенной формуле изобретения.[42] Additional and/or alternative features, aspects, and advantages of implementations of the present technology are set forth in the following description, in the accompanying drawings, and in the appended claims.
Краткое описание чертежейBrief description of the drawings
[43] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.[43] The following description is provided for a better understanding of the present technology, as well as other aspects and their features, and should be used in conjunction with the attached drawings.
[44] На фиг. 1 представлена схема системы, реализованной согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[44] FIG. 1 is a diagram of a system implemented in accordance with non-limiting embodiments of the present technology.
[45] На фиг. 2 схематично представлен журнал запросов, связанный с электронным устройством в системе, показанной на фиг. 1.[45] FIG. 2 is a schematic representation of a request log associated with an electronic device in the system shown in FIG. 1.
[46] На фиг. 3 представлен пример процесса обучения алгоритма машинного обучения, используемого системой, показанной на фиг. 1.[46] FIG. 3 shows an example of a learning process for a machine learning algorithm used by the system shown in FIG. 1.
[47] На фиг. 4 представлены две страницы результатов поисковой системы, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.[47] FIG. 4 shows two pages of search engine results implemented in accordance with a non-limiting embodiment of the present technology.
[48] На фиг. 5 представлена схема процесса формирования обучающих наборов для алгоритма машинного обучения.[48] FIG. Figure 5 shows a diagram of the process of forming training sets for a machine learning algorithm.
Осуществление изобретенияImplementation of the invention
[49] Представленные в данном описании примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема. [49] The examples and conventions presented herein are intended to provide a better understanding of the principles of the present technology, and not to limit its scope to such specifically given examples and terms. It is obvious that specialists in the art are able to develop various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its essence and scope.
[50] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что различные варианты осуществления данной технологии могут быть значительно сложнее.[50] In addition, to facilitate a better understanding, the following description may contain simplified implementations of the present technology. Those skilled in the art will appreciate that various embodiments of this technology can be significantly more complex.
[51] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[51] In some cases, useful examples of modifications to the present technology are provided. They contribute to understanding, but also do not define the scope or boundaries of the present technology. The presented list of modifications is not exhaustive and the person skilled in the art can develop other modifications within the scope of this technology. In addition, if modifications are not described in some cases, this does not mean that they are impossible and / or that the description contains the only possible implementation of one or another element of the present technology.
[52] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[52] Moreover, the description of principles, aspects, and embodiments of the present technology, as well as their specific examples, is intended to cover their structural and functional equivalents, whether they are currently known or will be developed in the future. For example, it should be apparent to those skilled in the art that any block diagrams described herein correspond to conceptual representations of illustrative circuit diagrams that implement the principles of the present technology. It should also be obvious that any flowcharts, process diagrams, state transition diagrams, pseudocodes, etc. correspond to various processes that may be represented on a computer-readable physical storage medium and may be performed by a computer or processor, whether such a computer or processor is explicitly shown or not.
[53] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, общего назначения и/или специализированные.[53] The functions of the various elements shown in the drawings, including any functional unit labeled "processor" or "graphics processing unit", may be implemented using specialized hardware, as well as using hardware capable of executing the corresponding software. If a processor is used, these functions may be performed by a single dedicated processor, a single shared processor, or multiple individual processors, some of which may be shared. In some embodiments of the present technology, the processor may be a general purpose processor such as a central processing unit (CPU) or a specialized processor such as a graphics processing unit (GPU). In addition, explicit use of the term "processor" or "controller" should not be construed as referring solely to the hardware capable of executing the software and may refer to, but is not limited to, digital signal processor (DSP) hardware, network processor, ASIC (ASIC), Field Programmable Gate Array (FPGA), Software ROM, RAM, and NVRAM. Other general purpose and/or specialized hardware may also be contemplated.
[54] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[54] Software modules, or simply modules that are intended to be implemented in software, may be represented here as any combination of flowchart elements or other elements indicating the steps of a process and/or containing a textual description. Such modules may be implemented in hardware, as shown or implied.
[55] Учитывая вышеизложенные принципы, далее рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.[55] In view of the foregoing principles, the following are some non-limiting examples illustrating various embodiments of aspects of the present technology.
[56] Как показано на фиг. 1, система 100 представляет собой систему для поиска информации и содержит электронное устройство 102. Электронное устройство 102 обычно связано с пользователем (не показан) и, как таковое, иногда может называться «клиентским устройством».[56] As shown in FIG. 1,
[57] В контексте настоящего описания, если явно не указано другое, термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[57] In the context of the present description, unless expressly indicated otherwise, the term "electronic device" means any computer hardware capable of executing programs suitable for solving a corresponding task. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches, and gateways. It should be noted that in this context, a device functioning as an electronic device may also function as a server with respect to other electronic devices. The use of the term "electronic device" does not preclude the use of multiple client devices to receive, send, perform or initiate any task or request or the results of any tasks or requests or steps of any method described herein.
[58] Электронное устройство 102 содержит энергонезависимое запоминающее устройство (ЗУ) 104. Энергонезависимое ЗУ 104 может содержать один или несколько носителей информации и в общем случае обеспечивает пространство для хранения компьютерных команд, исполняемых процессором 106. Например, энергонезависимое ЗУ 104 может быть реализовано в виде носителя, пригодного для чтения компьютером, включая ПЗУ, жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.[58] The
[59] Электронное устройство 102 содержит аппаратное и/или программное обеспечение, и/или микропрограммное обеспечение (или их сочетание), как это известно в данной области техники, для выполнения приложения 108 поисковой системы. В целом, посредством приложения 108 поиска пользователь (не показан) может выполнять поиск, например в Интернете, с использованием расположенной на сервере (описано ниже) поисковой системы. Для этого приложение 108 поисковой системы содержит интерфейс 110 поискового запроса и интерфейс 112 результатов поиска.[59] The
[60] На реализацию приложения 108 поисковой системы не накладывается особых ограничений. Один пример приложения 108 поисковой системы может быть реализован в устройстве пользователя (не показан), обращающемся к связанному с поисковой системой веб-сайту для доступа к приложению 108 поисковой системы. Например, к приложению 108 поисковой системы можно получить доступ, введя унифицированный указатель ресурса (URL, Uniform Resource Locator), связанный с поисковой системой Yandex™, на сайте www.yandex.ru. Следует ясно понимать, что к приложению 108 поисковой системы можно получить доступ с помощью любой другой коммерчески доступной или проприетарной поисковой системы.[60] The implementation of the
[61] В альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии приложение 108 поисковой системы может быть реализовано как приложение браузера на портативном устройстве (таком как устройство беспроводной связи). Например, если электронное устройство 102 реализовано как портативное устройство, такое как Samsung™ Galaxy™ S10, на электронном устройстве 102 может выполняться браузерное приложение Yandex™. Следует ясно понимать, что для реализации не имеющих ограничительного характера вариантов осуществления настоящей технологии может использоваться любое другое коммерчески доступное или проприетарное приложение браузера.[61] In alternative non-limiting embodiments of the present technology, the
[62] Электронное устройство 102 содержит пользовательский интерфейс ввода (не показан), такой как клавиатура, для приема данных, вводимых пользователем, например, в интерфейс 110 поискового запроса. На реализацию пользовательского интерфейса ввода не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализовано в виде устройства беспроводной связи (такого как смартфон iPhone™), пользовательский интерфейс ввода может быть реализован в виде программной клавиатуры (также называемой экранной или виртуальной клавиатурой). Если электронное устройство 102 реализовано как персональный компьютер, пользовательский интерфейс ввода может быть реализован в виде аппаратной клавиатуры.[62] The
[63] Электронное устройство 102 соединено с сетью 114 связи с использованием линии 116 связи. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 114 связи может представлять собой сеть Интернет. В других вариантах осуществления настоящей технологии сеть 114 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, частной сети связи и т.д.[63] The
[64] На реализацию линии 116 связи не накладывается каких-либо особых ограничений, она зависит от реализации электронного устройства 102. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 102 реализовано в виде беспроводного устройства связи (такого как смартфон), линия связи (не показана) может быть реализована в виде беспроводной линии связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 102 реализовано в виде ноутбука, линия связи может быть беспроводной (такой как Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.д.) или проводной (такой как соединение на основе Ethernet).[64] The implementation of the
[65] Должно быть очевидно, что варианты реализации электронного устройства 102, линии 116 связи и сети 114 связи приведены лишь для иллюстрации. Специалисту в данной области должны быть понятны и другие конкретные детали реализации электронного устройства 102, линии 116 связи и сети 114 связи. По существу, приведенные выше примеры не предназначены для ограничения объема или границ настоящей технологии.[65] It should be obvious that the embodiments of the
[66] Система 100 также содержит сервер 118, соединенный с сетью 114 связи. Сервер 118 может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 118 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 118 может быть реализован на любом другом подходящем аппаратном и/или программном и/или встроенном программном обеспечении или их сочетании. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 118 реализован в виде одного сервера. В других не имеющих ограничительного характера вариантах осуществления данной технологии функции сервера 118 могут быть распределены между несколькими серверами.[66]
[67] Практическая реализация сервера 118 хорошо известна. В целом, сервер 118 содержит интерфейс связи (не показан), структура и функции которого позволяют осуществлять связь с различными объектами (такими как электронное устройство 102 и другие устройства, которые могут быть подключены к сети 114 связи) по сети 114 связи.[67] The practical implementation of the
[68] Сервер 118 содержит память 120 сервера, которая содержит один или несколько носителей информации и в общем случае обеспечивает пространство для хранения компьютерных программных команд, исполняемых процессором 122 сервера. Например, память 120 сервера может быть реализована как физический машиночитаемый носитель информации, включая ПЗУ и/или ОЗУ. Память 120 сервера также может включать в себя одно или несколько устройств длительного хранения, например, жесткие диски (HDD), твердотельные накопители (SSD) и карты флэш-памяти.[68] The
[69] В некоторых не имеющих ограничительного характера вариантах осуществления данной технологии сервер 118 может управляться той же организацией, что предоставляет вышеописанное приложение 108 поиска. Например, сервер 118 может управляться компанией ООО «Яндекс» (119021, Россия, Москва, ул. Льва Толстого, 16). В других вариантах осуществления сервер 118 может управляться организацией, отличной от предоставляющей приложение 108 поиска.[69] In some non-limiting embodiments of this technology, the
[70] В некоторых вариантах осуществления настоящей технологии сервер 118 обеспечивает доступ к поисковой системе 124 (такой как Yandex Search™), доступной через сеть 114 связи с использованием приложения 108 поиска. Способ практической реализации поисковой системы 124 известен в данной области техники и здесь подробно не описан. Достаточно сказать, что поисковая система 124 способна выполнять один или несколько поисковых запросов в Интернете после ввода пользователем (не показан) строки поиска в интерфейс 110 поискового запроса. Затем поисковая система 124 может передавать в электронное устройство 102 набор результатов поиска для их отображения пользователю электронного устройства 102 посредством интерфейса 112 результатов поиска в виде страницы SERP.[70] In some embodiments of the present technology, the
[71] Сервер 118 позволяет формировать ранжированный список результатов поиска, включая результаты общего и вертикального поиска в Интернете. Известно несколько алгоритмов ранжирования результатов поиска, которые могут быть реализованы сервером 118.[71]
[72] В качестве примера, не имеющего ограничительного характера, некоторые известные способы ранжирования результатов поиска по степени соответствия поисковому запросу пользователя основаны на некоторых или всех следующих критериях: (а) популярность поискового запроса или соответствующего ответа при выполнении поисков; (б) количество результатов; (в) наличие в запросе определяющих терминов (таких как «изображения», «фильмы», «погода» и т.п.); (г) частота использования другими пользователями данного поискового запроса с определяющими терминами; (д) частота выбора другими пользователями, выполнявшими подобный поиск, определенного ресурса или определенных результатов вертикального поиска, когда результаты были представлены с использованием страницы SERP. Сервер 118 поисковой системы может рассчитывать и назначать оценку релевантности (основанную на различных представленных выше критериях) для каждого результата поиска, полученного по поисковому запросу пользователя, а также формировать страницу SERP, где результаты поиска ранжированы согласно их оценкам релевантности. В данном варианте осуществления изобретения сервер 118 поисковой системы может выполнять множество алгоритмов машинного обучения для ранжирования документов и/или формировать признаки для ранжирования документов.[72] By way of a non-limiting example, some well-known methods for ranking search results according to the degree of relevance to a user's search query are based on some or all of the following criteria: (a) the popularity of the search query or the corresponding answer when performing searches; (b) the number of results; (c) the presence of defining terms in the query (such as "images", "movies", "weather", etc.); (d) frequency of use by other users of this search query with defining terms; (e) the frequency with which other users performing similar searches selected a particular resource or particular vertical search results when the results were submitted using the SERP page. The
[73] В некоторых не имеющих ограничительного характера вариантах осуществления данной технологии сервер 118 связан с базой данных 126 журнала по выделенному каналу (не обозначено). Обычно база 126 журналов может поддерживать журнал 128 запросов.[73] In some non-limiting embodiments of this technology, the
[74] Журнал 128 запросов предназначен для регистрации поисков, выполненных с использованием сервера 118. В частности, в журнале 128 запросов хранятся термины поисковых запросов (т.е. искомые слова) и связанные с ними результаты поиска. Следует отметить, что журнал 128 запросов может поддерживаться в обезличенной форме, когда поисковые запросы невозможно соотнести с пользователями, отправившими эти поисковые запросы.[74] The
[75] В частности, журнал 128 запросов может содержать список запросов с соответствующими терминами и информацией о документах, список которых был передан сервером 118 в ответ на соответствующий запрос, метку времени, а также может содержать список пользователей с их анонимными идентификаторами и соответствующие документы, выбранные ими после отправки запроса. В некоторых вариантах осуществления настоящей технологии журнал 128 запросов может обновляться каждый раз, когда на сервере 118 выполняется новый поиск. В других вариантах осуществления изобретения журнал 128 запросов может обновляться в заранее заданные моменты времени. В некоторых вариантах осуществления изобретения может существовать множество копий журнала 128 запросов, каждая из которых соответствует журналу 128 запросов в различные моменты времени.[75] In particular, the
[76] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии журнал 128 запросов дополнительно содержит параметры взаимодействия с пользователем, указывающие на действия, такие как «клики» на одном или нескольких документах на странице SERP.[76] In some non-limiting embodiments of the present technology, the
[77] Неограничивающие примеры параметров взаимодействия с пользователем, хранящихся в журнале 128 запросов, включают в себя (но не ограничиваются ими):[77] Non-limiting examples of user interaction parameters stored in the
- проигрыш/выигрыш - был результат поиска в ответе на поисковый запрос выбран или нет (событие «клика»);- lose/win - was the search result in the response to the search query selected or not ("click" event);
- время ожидания - время, затраченное пользователем на результат поиска до возврата на страницу SERP или до прекращения поиска (например, из-за того, что пользователь нашел нужную информацию);- waiting time - the time spent by the user on the search result before returning to the SERP page or until the search is terminated (for example, due to the fact that the user found the necessary information);
- время наведения - время, на которое пользователь наводит курсор на результат поиска;- hover time - the time for which the user points the cursor at the search result;
- длинный/короткий «клик»: было ли действие пользователя в отношении результата поиска долгим или коротким по сравнению с действиями пользователя в отношении других документов на данной странице SERP.- long/short "click": whether the user's action on the search result was long or short compared to the user's actions on other documents on this SERP page.
[78] Разумеется, что представленный выше список не является исчерпывающим и может включать в себя другие виды действий пользователей без выхода за границы настоящей технологии.[78] Of course, the above list is not exhaustive and may include other types of user actions without going beyond the boundaries of the present technology.
[79] На фиг. 2 приведена схематическая иллюстрация журнала 128 запросов, связанного с электронным устройством 102.[79] FIG. 2 is a schematic illustration of a
[80] В проиллюстрированном примере журнала 128 запросов электронного устройства 102 показано, что электронное устройство 102 отправило 5 запросов (а именно, первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210). Каждый из этих 5 запросов связан с соответствующей отметкой 212 времени, соответствующей страницей 214 SERP и соответствующим параметром 216 взаимодействия с пользователем. Несмотря на то, что журнал 128 запросов электронного устройства 102 содержит лишь 5 запросов, это не является ограничением и предполагается, что журнал 128 запросов может содержать больше или меньше 5 запросов.[80] In the illustrated example query log 128 of the
[81] На иллюстрациях показано, что пользователь, связанный с электронным устройством 102, выполнил несколько поисковых запросов с двумя разными намерениями. В частности, у пользователя было два намерения в отношении поиска - каждый поиск содержал одно или несколько уточнений. В контексте настоящей технологии термин «уточнение» соответствует поисковому запросу, в котором совпадает или имеется по меньшей мере один общий поисковый термин с предыдущим поисковым запросом. В частности, уточнения возникают, когда пользователь отправляет первый поисковый запрос (обычно более широкий поисковый запрос) и не удовлетворен результатами поиска, представленными в ответ на него (например, результаты поиска слишком широкие и не соответствуют намерению пользователя). Тогда пользователь отправляет второй поисковый запрос, содержащий более узкие, более сфокусированные условия поиска, соотнося поиск с целью поиска.[81] The illustrations show that the user associated with the
[82] Например, пятый поисковый запрос 210 «pizza montreal takeout» («пицца Монреаль на вынос») является уточнением четвертого поискового запроса 208 «pizza montreal» («пицца Монреаль»). В другом примере третий поисковый запрос 206 «103 rejection USPTO overcome» («отказ по ст. 103 Патентное ведомство США преодоление») является уточнением предыдущего второго поискового запроса 204 «103 rejection USPTO» («отказ по ст. 103 Патентное ведомство США»), который сам по себе также является уточнением предыдущего первого поискового запроса 202 «103 rejection» («отказ по ст. 103»). В целом, наличие уточнения в цепочке поисковых запросов указывает на то, что поисковое намерение пользователя не было должным образом учтено в более ранних запросах, а последнее уточнение потенциально обеспечило удовлетворение пользователя результатами (т.е. пользователь прекратил поиск после достижения цели поиска).[82] For example, the
[83] Кроме того, следует отметить, что сразу после поиска по третьему поисковому запросу 206 в отношении того, как преодолеть отказ Патентного ведомства США по ст. 103, пользователь отправил запрос совершенно другого вида, а именно, где купить пиццу на вынос в Монреале. Это, в свою очередь, может указывать на то, что пользователь осуществил поисковое намерение и теперь сосредоточился на другом поисковом намерении.[83] In addition, it should be noted that immediately after searching the
[84] На фиг. 1 также показано, что к серверу 118 через выделенный канал подключен сервер 130 обучения. Сервер 130 обучения может быть реализован как традиционный компьютерный сервер. В примере осуществления настоящей технологии сервер 130 обучения может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 130 обучения может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 130 обучения могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и системы могут быть реализованы на сервере 130 обучения частично. В некоторых вариантах осуществления настоящей технологии сервер 130 обучения управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 130 обучения может управляться и/или администрироваться другим поставщиком услуг. Несмотря на то, что сервер 130 обучения показан на чертежах как сервер, отличный от сервера 118, предполагается, что функциональные возможности сервера 130 обучения, описанные ниже, могут выполняться сервером 118.[84] FIG. 1 also shows that the learning
[85] В целом, цель сервера 130 обучения состоит в обучении одного или нескольких алгоритмов MLA, используемых поисковой службой 124, путем формирования обучающего набора.[85] In general, the purpose of the
[86] Сервер 130 обучения может, например, обучать один или несколько алгоритмов MLA, связанных с сервером 118, для улучшения общего поиска в Интернете, вертикального поиска в Интернете, предоставления рекомендаций, прогнозирования результатов и других вариантов применения. Обучение и усовершенствование алгоритма MLA может выполняться в заранее заданные периоды времени или когда поставщик поисковой системы сочтет это необходимым.[86] The
Обучение алгоритма MLAMLA Algorithm Training
[87] На фиг. 3 изображена схематическая иллюстрация процесса обучения алгоритма 300 MLA. Алгоритм 300 MLA используется поисковой службой 124.[87] FIG. 3 is a schematic illustration of the
[88] Для лучшего понимания базовых концепций настоящей технологии следует понимать, что в целом обучение алгоритма 300 MLA можно разделить на первый и второй этапы. На первом этапе формируются обучающие входные данные 304 (описанные ниже). На втором этапе алгоритм 300 MLA обучается с использованием обучающих входных данных 304. Кроме того, несмотря на то, что шаги обучения алгоритма 300 MLA представлены как выполняемые сервером 130 обучения, предполагается, что алгоритм 300 MLA может обучаться другим объектом, таким как сервер 118.[88] For a better understanding of the basic concepts of the present technology, it should be understood that, in general, the training of the
[89] В соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии, формирование обучающих входных данных 304 начинается с того, что сервер 130 обучения получает пакет 302 данных от базы 126 данных журнала. Пакет 302 данных содержит журнал 128 запросов, связанный с электронным устройством 102 (см. фиг. 2). Несмотря на то, что согласно описанию, сервером 130 обучения извлекается только журнал 128 запросов, связанный с электронным устройством 102, следует понимать, что это сделано лишь для простоты объяснения. Предполагается, что пакет 302 данных может содержать один или несколько журналов запросов, связанных с другими электронными устройствами (не показаны), или, другими словами, журналы запросов, связанные с поисками нескольких пользователей. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 130 обучения может извлекать журнал 128 запросов периодически, например, раз в день, раз в неделю и т.п. В другом не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может извлекать один или несколько журналов запросов, соответствующих заранее заданным критериям, например, журналы запросов с поисковыми запросами, выполненными за последний час, за прошедший день и т.п.[89] According to a non-limiting embodiment of the present technology, the generation of
[90] После получения журнала 128 запросов сервер 130 обучения может идентифицировать один или несколько сеансов поиска в журнале 128 запросов. В контексте настоящей технологии термин «сеанс поиска» относится к периоду времени, начинающемуся с того, что пользователь начинает поиск (например, с запуска приложения 108 поисковой системы) и заканчивается после завершения поиска пользователем (например, после закрытия приложения 108 поисковой системы). В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеанс поиска определяется периодом времени, например 7 минутами. Другими словами, один или несколько поисковых запросов, отправленных в течение 7-минутного скользящего периода, совместно образуют сеанс поиска. Следует отметить, что в других не имеющих ограничительного характера вариантах осуществления настоящей технологии используемый период времени может варьироваться (т.е. может быть больше или меньше 7 минут).[90] Upon receipt of the
[91] На фиг. 2 сервер 130 обучения идентифицировал сеанс 218 поиска, содержащий первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210, все отправленные в течение 7 минут.[91] FIG. 2, the learning
[92] На фиг. 3 показано, что после идентификации сеанса 218 поиска сервер 130 обучения может выбирать два поисковых запроса из сеанса 218 поиска. В целом, не имеющие ограничительного характера варианты осуществления настоящей технологии предполагают два способа выбора двух поисковых запросов в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.[92] FIG. 3 shows that once the
УточнениеClarification
[93] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии два поисковых запроса соответствуют поисковому запросу и его уточнению.[93] In some non-limiting embodiments of the present technology, two search queries correspond to a search query and its refinement.
[94] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии, где множество поисковых запросов совместно образуют цепочку измененных формулировок, сервер 130 обучения может выбирать самый последний поисковый запрос (т.е. третий поисковый запрос 206 и пятый поисковый запрос 210) и непосредственно предшествующий ему поисковый запрос. Другими словами, два поисковых запроса могут выбираться только при совпадении единого общего условия поиска или при наличии по меньшей мере одного общего условия поиска у двух последовательных поисковых запросов. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии отрицательные примеры могут быть сформированы с использованием любых двух поисковых запросов. В других не имеющих ограничительного характера вариантах осуществления два запроса проверяются на степень совпадения условий запроса и используются для формирования отрицательного примера только при заранее заданном количестве совпадающих условий поиска, например, при одном совпадающем поисковом термине или при не менее двух совпадающих поисковых терминах. Эти различные не имеющие ограничительного характера варианты осуществления полезны для уравновешивания сходства поисковых запросов (путем проверки условий поиска в целом) и обеспечения того, чтобы результаты поиска были достаточно разными (для формирования хороших отрицательных примеров).[94] In some non-limiting embodiments of the present technology, where multiple search queries collectively form a reformulation chain, learning
[95] Следует понимать, что в приведенном выше примере первый запрос шире, а второй запрос уже для более точной фокусировки поиска, поскольку первый запрос предположительно не дал удовлетворительных результатов. Таким образом, наличие уточнения в сеансе поиска является сигналом, указывающим на наличие отрицательного примера, что дополнительно описано ниже.[95] It should be understood that in the above example, the first query is wider and the second query is narrower in order to more precisely focus the search, since the first query did not presumably give satisfactory results. Thus, the presence of a refiner in a search session is a signal indicating the presence of a negative example, as described further below.
Отсутствие уточнения / случайностьLack of clarification / randomness
[96] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии два поисковых запроса выбираются случайным образом или, другими словами, как не следующие друг за другом изменения формулировки. Например, два поисковых запроса могут включать в себя пятый поисковый запрос 210 «pizza montreal takeout» и третий поисковый запрос 206 «103 rejection USPTO overcome».[96] In some non-limiting embodiments of the present technology, two search queries are selected randomly, or, in other words, as non-consecutive wording changes. For example, two search queries may include a
[97] Следует понимать, что в приведенном выше примере два несвязанных поисковых запроса и их соответствующие результаты поиска могут быть полезными при формировании отрицательных обучающих примеров, как описано ниже.[97] It should be understood that in the example above, two unrelated search queries and their respective search results can be useful in generating negative training examples, as described below.
[98] После определения двух поисковых запросов из сеанса 218 поиска сервер 130 обучения может проанализировать соответствующую страницу SERP. Для примера можно предположить, что два поисковых запроса соответствуют второму поисковому запросу 204 и третьему поисковому запросу 206.[98] After determining the two search queries from the
[99] На фиг. 4 изображены первая страница 402 SERP второго поискового запроса 204 и вторая страница 404 SERP третьего поискового запроса 206, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.[99] FIG. 4 shows the
[100] В проиллюстрированном примере и первая страница 402 SERP, и вторая страница 404 SERP включает в себя соответствующий набор результатов поиска (содержащий четыре результата поиска, соответственно). Следует понимать, что это не является ограничением, и предполагается, что и первая страница 402 SERP, и вторая страница 404 SERP могут содержать больше или меньше четырех результатов поиска. Эти четыре результата поиска расположены согласно их релевантности (в порядке убывания).[100] In the illustrated example, both the
[101] Затем сервер 130 обучения способен формировать обучающие входные данные 304 (см. фиг. 3). В целом, обучающие входные данные 304 являются отрицательным обучающим примером для обучения алгоритма 300 MLA на втором этапе и содержат третий поисковый запрос 206 в паре с одним из результатов поиска с первой страницы 402 SERP. Как проиллюстрировано ниже, настоящая технология включает в себя не имеющие ограничительного характера варианты идентификации результата поиска с первой страницы 402 SERP, сопоставляемого с третьим поисковым запросом 206.[101] The
[102] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 130 обучения случайным образом выбирает результат поиска с первой страницы 402 SERP для сопоставления с третьим поисковым запросом 206.[102] In some non-limiting embodiments of the present technology, the learning
[103] В еще одном не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может выбирать результат поиска с первой страницы 402 SERP на основе параметра 216 взаимодействия с пользователем, связанного с третьим поисковым запросом 206. В частности, учитывая, что журнал 128 запросов содержит параметр 216 взаимодействия с пользователем, указывающий на один или несколько видов действий пользователя электронного устройства 102 в отношении каждого из поисковых запросов, сервер 130 обучения позволяет выбирать результат поиска на второй странице 404 SERP, получивший наибольшее количество действий.[103] In yet another non-limiting embodiment of the present technology, the learning
[104] Например, можно предположить, что параметр 216 взаимодействия пользователя для третьего поискового запроса 206 указывает на то, что пользователь больше всего взаимодействовал с третьим результатом 406 поиска (выбрал только третий результат поиска 406), который расположен в третьей позиции на второй странице 404 SERP.[104] For example, it can be assumed that the
[105] Тогда сервер 130 обучения может выбрать результат 408 поиска, расположенный в той же позиции (то есть в третьей позиции) на первой странице 402 SERP, для сопоставления с третьим поисковым запросом 206. В альтернативном не имеющем ограничительного характера варианте осуществления сервер 130 обучения может выбрать результат поиска, расположенный в случайной позиции в пределах заранее заданного расстояния от той же позиции (то есть от третьего места) на первой странице 402 SERP, сопоставляемой с третьим поисковым запросом 206. Например, сервер 130 обучения может случайным образом выбрать результат поиска из результатов поиска, расположенных на одну позицию ниже, в той же позиции или на одну позицию выше третьей позиции на первой странице 402 SERP («Результат № 2» и/или «Результат № 4»), для сопоставления с третьим поисковым запросом 206.[105] The
[106] В не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения может дополнительно проверять параметр взаимодействия с пользователем, связанный с выбранным таким образом результатом поиска с первой страницы 402 SERP. В частности, если предположить, что был выбран результат 408 поиска, сервер 130 обучения может определять, указывает ли параметр взаимодействия с пользователем для результата 408 поиска на то, что время ожидания пользователя было меньше заранее заданного порога, например, равного 30 секундам (или любого другого подходящего временного интервала). Если параметр взаимодействия с пользователем превышает заданный порог, сервер 130 обучения может отбрасывать результат поиска 408, сопоставляемого с третьим поисковым запросом 206, и переходить к проверке других результатов поиска на первой странице 402 SERP (или на других страницах SERP того же сеанса поиска или сеансов поиска других пользователей) для сопоставления с третьим поисковым запросом 206. Это основано на предположении, что даже если пользователь уточнил поисковый запрос, но потребовалось более 30 секунд для получения определенного результата поиска, то результат поиска содержал некоторую информацию, которая была воспринята как подходящая для пользователя и, следовательно, его следует исключить при формировании отрицательных примеров.[106] In a non-limiting embodiment of the present technology, the learning
[107] Несмотря на то, что приведенное выше описание формирования отрицательных обучающих примеров относится к двум поисковым запросам, являющимся измененными формулировками или уточнениями (то есть ко второму поисковому запросу 204 и третьему поисковому запросу 206), оно этим не ограничено. В действительности, как обсуждалось выше, в дополнение или вместо второго поискового запроса 204 и третьего поискового запроса 206 сервер 130 обучения может формировать один или несколько отрицательных обучающих примеров из других пар поисковых запросов, таких как, например, пятый поисковый запрос 210 и первый поисковый запрос 202. Более того, несмотря на то, что один или несколько отрицательных обучающих примеров описаны как сформированные на основе лишь части журнала 128 запросов, связанной с электронным устройством 102, следует понимать, что это сделано для простоты объяснения и предполагается, что другие отрицательные обучающие примеры могут быть сформированы с использованием одного или нескольких журналов запросов, связанных с одним или несколькими электронными устройствами (отличными от электронного устройства 102), а также обновленной версии журнала 128 запросов, когда электронное устройство 102 выполняет дополнительные поисковые запросы. Также предполагается, что поскольку пользователь может иметь несколько целей поиска в течение одного сеанса поиска, с использованием простого сеанса поиска может быть сформировано несколько отрицательных примеров, например, один отрицательный пример для каждого поискового намерения, проявленного во время одного сеанса поиска.[107] Although the above description of the generation of negative training examples refers to two search queries that are reformulations or refinements (ie, the
[108] Отрицательные обучающие примеры, сформированные для сеанса 218 поиска, образуют обучающие входные данные 304. Очевидно, что несмотря на описание лишь одного случая формирования отрицательных обучающих примеров, следует ясно понимать, что это сделано для простоты объяснения и что обучающие входные данные 304 могут содержать больше отрицательных обучающих примеров, сформированных из других журналов поиска.[108] The negative training examples generated for the
[109] Несмотря на то, что в приведенном выше описании обучающие входные данные 304 содержат лишь отрицательные обучающие примеры, это не является ограничением. Предполагается, что сервер 130 обучения может формировать один или несколько положительных обучающих примеров. Например, если пользователь нажал на третий результат 406 поиска в ответ на третий поисковый запрос 206, сервер 130 обучения может сформировать положительный обучающий пример, в котором третий результат 406 поиска сопоставлен с третьим поисковым запросом 206.[109] Although in the above description, the
[110] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для определения того, что третий результат 406 поиска должен использоваться для положительного обучающего примера, сервер 130 обучения может определять, был ли просмотрен третий результат 406 поиска (или взаимодействовал ли пользователь с ним другим образом) в течение заранее заданного времени, до формирования положительного обучающего примера, в котором третий результат 406 поиска сопоставлен с третьим поисковым запросом 206. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданное время соответствует 30 секундам. Очевидно, что заранее заданное время может быть больше или меньше 30 секунд.[110] In some non-limiting embodiments of the present technology, in order to determine that the
[111] В другом не имеющим ограничительного характера варианте осуществления настоящей технологии сервер 130 обучения способен назначать оценку ранжирования каждому результату поиска на второй странице 404 SERP. На реализацию такого ранжирования не накладывается ограничений. Например, оценка ранжирования может быть двоичным числом, где результату поиска, выбранному пользователем и являющемуся подходящим кандидатом для положительных примеров обучения (например, третьему результату 406 поиска), присваивается оценка ранжирования 1, а невыбранные результаты поиска (т.е. потенциально подходящие для отрицательных обучающих примеров) получают оценку 0 (или наоборот). В другом примере оценка ранжирования может быть целочисленной оценкой, основанной на продолжительности просмотра для всех видов или для конкретного вида взаимодействия с результатами поиска. Например, если пользователь просматривал третий результат 406 поиска в течение 1300 секунд, оценка ранжированная может составлять log(1300) (или 3,114). В некоторых не имеющих ограничительного характера вариантах осуществления время просмотра может быть ограничено 10 минутами (т.е. 600 секундами) или любым другим значением, тогда если пользователь просматривал третий результат 406 поиска в течение 1300 секунд, оценка ранжирования составляет log(600). Результатам поиска, оставшимся без просмотра, присваивается оценка ранжирования 0.[111] In another non-limiting embodiment of the present technology, the learning
[112] После присвоения оценок ранжирования каждому из результатов поиска, включенных во вторую страницу 404 SERP, для формирования положительного обучающего примера сервер 130 обучения может сопоставлять результат поиска с высшей оценкой с третьим поисковым запросом 206.[112] After assigning ranking scores to each of the search results included in the
[113] Далее со ссылкой на фиг. 3 описано обучение алгоритма 300 MLA с использованием обучающих входных данных 304.[113] Next, with reference to FIG. 3 describes training an
[114] Обучающие входные данные 304 вводятся в алгоритм 300 MLA. Алгоритм 300 MLA содержит логику обучения для определения набора признаков, связанных с каждым отрицательным примером обучения. На реализацию алгоритма 300 MLA не накладывается ограничений. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии алгоритм 300 MLA реализован как нейронная сеть.[114]
[115] В частности, с учетом того, что каждый из обучающих примеров является отрицательным обучающим примером, алгоритм 300 MLA может определять, какой набор признаков указывает на низкую релевантность результата поиска поисковому запросу.[115] In particular, given that each of the training examples is a negative training example, the
[116] Соответственно, алгоритм 300 MLA может формировать предполагаемую функцию, когда он выполняется сервером 118 как частью поисковой службы 124, способной назначать параметр ранжирования результату поиска в ответ на полученный поисковый запрос этапа использования на основе набора признаков, связанных с поисковым запросом и с результатом поиска.[116] Accordingly, the
[117] Несмотря на то что, здесь представлен лишь один пример обучения алгоритма 300 MLA, это сделано для простоты иллюстрации. Следует ясно понимать, что обучение алгоритма 300 MLA выполняется итерационно с использованием множества как отрицательных, так и положительных обучающих примеров.[117] Although only one example of training the
[118] Приведенные выше архитектура и примеры позволяют выполнять реализуемый на компьютере вышеуказанный способ. Способ 500 выполняется в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии. Способ 500 может выполняться сервером 130 обучения.[118] The above architecture and examples allow the implementation of the above method implemented on a computer.
[119] Шаг 502: извлечение из базы данных журнала поиска на сервере первого запроса, ранее отправленного на сервер, первой страницы SERP, связанной с первым запросом, второго запроса, отличного от первого запроса и отправленного после первого запроса, и второй страницы SERP, связанной со вторым запросом, причем первый запрос и второй запрос были отправлены электронным устройством.[119] Step 502: Retrieving from the server search log database the first request previously sent to the server, the first SERP page associated with the first request, the second request different from the first request and sent after the first request, and the second SERP page associated with a second request, wherein the first request and the second request were sent by the electronic device.
[120] Способ 500 начинается на шаге 502, на котором сервер 130 обучения извлекает журнал 128 запросов электронного устройства 102 из базы 126 журналов с использованием пакета 302 данных.[120] The
[121] В представленном примере журнала 128 запросов электронного устройства 102 показано, что электронное устройство 102 отправило 5 запросов (а именно, первый поисковый запрос 202, второй поисковый запрос 204, третий поисковый запрос 206, четвертый поисковый запрос 208 и пятый поисковый запрос 210). Каждый из этих 5 запросов связан с соответствующей отметкой 212 времени, соответствующей страницей 214 SERP и соответствующим параметром 216 взаимодействия с пользователем. Несмотря на то, что журнал 128 запросов электронного устройства 102 содержит лишь 5 запросов, это не является ограничением и предполагается, что журнал 128 запросов может содержать больше или меньше 5 запросов.[121] In the presented example query log 128 of the
[122] Шаг 504: в ответ на второй запрос, отправленный в том же сеансе поиска, что и первый запрос, формирование обучающего набора для использования в качестве отрицательных обучающих примеров при обучении алгоритма MLA, содержащего второй запрос в паре с заранее заданным результатом поиска из первого набора результатов поиска.[122] Step 504: in response to a second query sent in the same search session as the first query, generate a training set for use as negative training examples in training the MLA algorithm, comprising the second query paired with a predetermined search result from the first set of search results.
[123] На шаге 504 сервер обучения способен идентифицировать сеанс 218 поиска.[123] At
[124] Идентифицировав один или несколько сеансов поиска в журнале 128 запросов, сервер 130 обучения дополнительно может выбрать два поисковых запроса из сеанса 218 поиска. Например, если в качестве примера взять сеанс 218 поиска, сервер 130 обучения может выбрать третий поисковый запрос 206 и либо первый поисковый запрос 202, либо второй поисковый запрос 204 (непосредственно предшествующий третьему поисковому запросу 206).[124] Having identified one or more search sessions in the
[125] Идентифицировав два поисковых запроса из сеанса 218 поиска и второго сеанса 220 поиска, сервер 130 обучения может проанализировать соответствующую страницу SERP.[125] Having identified two search queries from the
[126] На фиг. 4 показаны первая страница 402 SERP для второго поискового запроса 204 и вторая страница 404 SERP для третьего поискового запроса 206, реализованные в соответствии с не имеющим ограничительного характера вариантом осуществления настоящей технологии.[126] FIG. 4 shows a
[127] В представленном примере и первая страница 402 SERP, и вторая страница 404 SERP содержат соответствующие наборы результатов поиска (содержащие по четыре результата поиска, соответственно). Следует понимать, что это не является ограничением и предполагается, что и первая страница 402 SERP, и вторая страница 404 SERP может содержать больше или меньше четырех результатов поиска. Четыре результата поиска расположены согласно их релевантности (в порядке убывания).[127] In the example shown, both the
[128] Затем сервер 130 обучения формирует обучающие входные данные 304. В целом, обучающие входные данные 304 являются отрицательным обучающим примером для обучения алгоритма 300 MLA на втором этапе и содержат третий поисковый запрос 206 в паре с одним из результатов поиска с первой страницы 402 SERP.[128] The
[129] Затем способ 500 завершается или возвращается к шагу 502 с новым журналом запросов.[129]
[130] Специалистам в данной области должно быть очевидно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение арсенала технических решений конкретной технической проблемы, с которой сталкивается традиционный метод.[130] Those skilled in the art should appreciate that at least some embodiments of the present technology are directed to expanding the arsenal of technical solutions to a particular technical problem faced by the conventional method.
[131] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не может использовать некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь использует другие технические эффекты, либо технический эффект полностью отсутствует.[131] It is obvious that not all of the technical effects mentioned in this description should be present in every embodiment of the present technology. For example, there may be embodiments of the present technology where the user cannot use some of these technical effects, or other implementations where the user uses other technical effects, or there is no technical effect at all.
[132] Модификации и улучшения описанных выше вариантов реализации настоящей технологии могут быть очевидными для специалистов в данной области техники. Предшествующее описание приведено лишь в качестве примера, но не для ограничения объема изобретения. Следовательно, объем настоящей технологии ограничен исключительно объемом приложенной формулы изобретения.[132] Modifications and improvements to the embodiments of the present technology described above may be apparent to those skilled in the art. The foregoing description is given by way of example only and is not intended to limit the scope of the invention. Therefore, the scope of the present technology is limited solely by the scope of the appended claims.
[133] Несмотря на то, что описанные выше варианты реализации приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или что их порядок может быть изменен без отклонения от настоящей технологии. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.[133] Although the embodiments described above are given with reference to specific steps performed in a certain order, it should be understood that these steps can be combined, separated, or that their order can be changed without deviating from the present technology. Accordingly, the order and grouping of steps is not limiting to the present technology.
Claims (24)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020117960A RU2790033C2 (en) | 2020-06-01 | System and method for formation of training set for machine learning algorithm | |
US17/123,749 US20210374606A1 (en) | 2020-06-01 | 2020-12-16 | Method of and system for generating a training set for a machine learning algorithm (mla) |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020117960A RU2790033C2 (en) | 2020-06-01 | System and method for formation of training set for machine learning algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2020117960A RU2020117960A (en) | 2021-12-01 |
RU2790033C2 true RU2790033C2 (en) | 2023-02-14 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150012524A1 (en) * | 2013-07-02 | 2015-01-08 | Google Inc. | Using models for triggering personal search |
US20160299899A1 (en) * | 2014-08-19 | 2016-10-13 | Yandex Europe Ag | Generating a user-specific ranking model on a user electronic device |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150012524A1 (en) * | 2013-07-02 | 2015-01-08 | Google Inc. | Using models for triggering personal search |
US20160299899A1 (en) * | 2014-08-19 | 2016-10-13 | Yandex Europe Ag | Generating a user-specific ranking model on a user electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9177018B2 (en) | Cross language search options | |
JP5745627B2 (en) | Predictive query suggestion cache | |
RU2744029C1 (en) | System and method of forming training set for machine learning algorithm | |
RU2731335C2 (en) | Method and system for generating recommendations of digital content | |
US9183277B1 (en) | Providing intent sensitive search results | |
RU2720905C2 (en) | Method and system for expanding search queries in order to rank search results | |
US9679027B1 (en) | Generating related questions for search queries | |
US9183499B1 (en) | Evaluating quality based on neighbor features | |
US8959093B1 (en) | Ranking search results based on anchors | |
US20170185602A1 (en) | System and method for ranking search engine results | |
US10891340B2 (en) | Method of and system for updating search index database | |
US20150169576A1 (en) | Dynamic Search Results | |
US10353974B2 (en) | Methods and systems for refining search results | |
US9251202B1 (en) | Corpus specific queries for corpora from search query | |
US8682892B1 (en) | Ranking search results | |
RU2733481C2 (en) | Method and system for generating feature for ranging document | |
US20170293616A1 (en) | Method for processing and rendering feed-like based images for mobile devices | |
RU2743932C2 (en) | Method and server for repeated training of machine learning algorithm | |
RU2744028C2 (en) | Method and system for storing multiple documents | |
US9110943B2 (en) | Identifying an image for an entity | |
US9760641B1 (en) | Site quality score | |
US11537674B2 (en) | Method of and system for generating search query completion suggestion on search engine | |
US20060149606A1 (en) | System and method for agent assisted information retrieval | |
RU2790033C2 (en) | System and method for formation of training set for machine learning algorithm | |
US9449095B1 (en) | Revising search queries |