RU2829065C1 - System and method for training machine learning models for ranking search results - Google Patents
System and method for training machine learning models for ranking search results Download PDFInfo
- Publication number
- RU2829065C1 RU2829065C1 RU2023132781A RU2023132781A RU2829065C1 RU 2829065 C1 RU2829065 C1 RU 2829065C1 RU 2023132781 A RU2023132781 A RU 2023132781A RU 2023132781 A RU2023132781 A RU 2023132781A RU 2829065 C1 RU2829065 C1 RU 2829065C1
- Authority
- RU
- Russia
- Prior art keywords
- digital
- candidate
- training
- search query
- machine learning
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000010801 machine learning Methods 0.000 title claims description 196
- 238000012549 training Methods 0.000 title claims description 192
- 239000013598 vector Substances 0.000 claims abstract description 225
- 230000006870 function Effects 0.000 claims description 26
- 230000015572 biosynthetic process Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 20
- 241000008357 Okapia johnstoni Species 0.000 claims description 4
- 230000015654 memory Effects 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 2
- 230000007774 longterm Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 160
- 239000000126 substance Substances 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 24
- 238000013528 artificial neural network Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 241000282326 Felis catus Species 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000013178 mathematical model Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 241001529733 Nepeta Species 0.000 description 1
- 235000010679 Nepeta cataria Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 235000011850 desserts Nutrition 0.000 description 1
- ZDKZHVNKFOXMND-UHFFFAOYSA-N epinepetalactone Chemical compound O=C1OC=C(C)C2C1C(C)CC2 ZDKZHVNKFOXMND-UHFFFAOYSA-N 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 235000014594 pastries Nutrition 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Abstract
Description
Область техники, к которой относится изобретениеField of technology to which the invention relates
[001] Настоящая технология относится к способам машинного обучения, в частности, к способам и системам для обучения и использования моделей машинного обучения с целью ранжирования результатов поиска.[001] The present technology relates to machine learning methods, in particular to methods and systems for training and using machine learning models for the purpose of ranking search results.
Уровень техникиState of the art
[002] В настоящее время веб-поиск является одной из ключевых технологий, с использованием которой ежедневно обрабатываются миллиарды пользовательских запросов. Современные системы веб-поиска, как правило, ранжируют результаты поиска, исходя из их релевантности поисковому запросу. Для определения релевантности результатов поиска запросу зачастую используются алгоритмы машинного обучения (MLA, Machine Learning Algorithm), обученные оценивать различные показатели релевантности на основе множества признаков. Такое определение релевантности можно рассматривать, по меньшей мере частично, как задачу понимания языка, поскольку релевантность документа поисковому запросу отчасти относится к семантическому пониманию как запроса, так и результатов поиска, даже в тех случаях, когда запрос и результаты не содержат общих слов или когда результатами являются изображения, музыка или другой нетекстовый контент.[002] Web search is currently a key technology, processing billions of user queries daily. Modern web search engines typically rank search results based on their relevance to the search query. Machine learning algorithms (MLA) trained to evaluate various relevance metrics based on a variety of features are often used to determine the relevance of search results to a query. This determination of relevance can be viewed, at least in part, as a language understanding task, since the relevance of a document to a search query is partly a matter of semantic understanding of both the query and the search results, even in cases where the query and results do not share common words or where the results are images, music, or other non-textual content.
[003] Последние достижения в области нейронной обработки естественного языка включают в себя использование моделей машинного обучения на основе трансформера, как описано в статье Vaswani et al., «Attention Is All You Need», Advances in neural information processing systems, pages 5998-6008, 2017. Трансформер представляет собой модель глубокого обучения (то есть искусственную нейронную сеть или другую модель машинного обучения с несколькими слоями), в которой применяется механизм «внимания» для придания большего веса одним частям входных данных в сравнении с другими. При обработке естественного языка такой механизм внимания обеспечивает определение контекста для слов во входных данных, поскольку одно и то же слово может иметь разные значения в зависимости от контекста. Таким образом, модели машинного обучения на основе трансформера способны учитывать семантику (то есть смысл) слов в конкретном контексте, например, ключевых слов в поисковом запросе. Трансформеры также способны параллельно обрабатывать множество слов или токенов естественного языка, что позволяет применять параллельное обучение.[003] Recent advances in neural natural language processing include the use of Transformer-based machine learning models, as described in Vaswani et al., “Attention Is All You Need,” Advances in neural information processing systems, pages 5998–6008, 2017. A Transformer is a deep learning model (i.e., an artificial neural network or other machine learning model with multiple layers) that uses an “attention” mechanism to give more weight to some parts of the input data than others. In natural language processing, such an attention mechanism provides context for words in the input data, since the same word can have different meanings depending on the context. Transformer-based machine learning models are thus able to take into account the semantics (i.e., meaning) of words in a particular context, such as keywords in a search query. Transformers are also able to process many words or tokens of natural language in parallel, enabling parallel learning.
[004] Трансформеры легли в основу и других достижений в области обработки естественного языка, в частности, систем с предварительным обучением, которые могут заранее обучаться на большом наборе данных, а затем оптимизироваться для использования в конкретных задачах. Примерами таких систем являются двунаправленные представления кодировщиков на основе трансформеров (BERT, Bidirectional Encoder Representations from Transformers), описанные в статье Devlin et al., «BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding», Proceedings of NAACL-HLT 2019, pages 4171-4186, 2019, и генеративный предварительно обучаемый трансформер (GPT, Generative Pre-trained Transformer), описанный в статье Radford et al., «Improving Language Understanding by Generative Pre-Training», 2018.[004] Transformers have also formed the basis for other advances in natural language processing, in particular pre-trained systems that can be trained on a large dataset in advance and then optimized for use on specific tasks. Examples of such systems include Bidirectional Encoder Representations from Transformers (BERT), described in Devlin et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” Proceedings of NAACL-HLT 2019, pages 4171–4186, 2019, and the Generative Pre-trained Transformer (GPT), described in Radford et al., “Improving Language Understanding by Generative Pre-Training,” 2018.
[005] В общем случае для выполнения задач поискового ранжирования трансформеры могут обучаться определению параметров релевантности результатов поиска, выдаваемых цифровой платформой (например, поисковой системой) конкретному пользователю. Например, такие параметры релевантности могут быть представлены значениями вероятности взаимодействия пользователя с результатами поиска (например, нажатия кнопки мыши). В частности, в ответ на отправку пользователем поискового запроса цифровая платформа может находить набор цифровых документов (например, веб-документов), удовлетворяющих этому поисковому запросу. Кроме того, и поисковый запрос, и набор цифровых документов могут передаваться в модель машинного обучения на основе трансформера, обученную с использованием особым образом организованных обучающих данных, для выполнения ранжирования.[005] In general, to perform search ranking tasks, transformers may be trained to determine the relevance parameters of search results returned by a digital platform (e.g., a search engine) to a particular user. For example, such relevance parameters may be represented by values of the probability of a user interacting with the search results (e.g., clicking a mouse button). In particular, in response to a user submitting a search query, the digital platform may find a set of digital documents (e.g., web documents) that satisfy this search query. In addition, both the search query and the set of digital documents may be fed to a transformer-based machine learning model trained using specially organized training data to perform ranking.
[006] Несмотря на то, что модели машинного обучения на основе трансформеров демонстрируют высокую эффективность при подборе релевантных результатов поиска на основе семантических связей между ними и поисковым запросом, «улавливание» лексических связей между поисковым запросом и цифровыми документами может быть сложной задачей для таких моделей. Иными словами, в связи с тем, что при использовании механизма внимания некоторым ключевым словам поискового запроса присваивается больший вес, чем другим, модели машинного обучения на основе трансформеров могут игнорировать цифровые документы, содержащие слова, полностью совпадающие с ключевыми словами поискового запроса (или присваивать таким документам низкие ранги).[006] Although Transformer-based machine learning models demonstrate high performance in selecting relevant search results based on the semantic relationships between them and the search query, capturing the lexical relationships between the search query and digital documents can be challenging for such models. In other words, because the attention mechanism assigns more weight to some search query keywords than others, Transformer-based machine learning models may ignore (or assign low ranks to) digital documents that contain words that exactly match the search query keywords.
[007] Например, пользователь может отправить на цифровую платформу поисковый запрос с текстом «Macarons recipe Cedric Grolet» (Рецепт десерта «макарон» Седрика Гроле), а цифровая платформа может обеспечить нахождение множества цифровых документов, удовлетворяющих этому поисковому запросу. Кроме того, модель машинного обучения на основе трансформера может ранжировать цифровые документы таким образом, чтобы в первые (лучшие) результаты поиска на странице результатов поиска (SERP, Search Engine Results Page) цифровой платформы попадали цифровые документы (например, текстовые документы, изображения, видео и пр.), содержащие информацию, относящуюся только к рецептам традиционных французских десертов «макарон», и/или информацию, относящуюся только к известному французскому кондитеру Седрику Гроле. При этом модель машинного обучения на основе трансформера может присвоить сравнительно низкий приоритет цифровым документам, которые содержат информацию о рецептах десертов «макарон» именно от Седрика Гроле, вследствие чего такие цифровые документы могут не появиться на странице результатов поиска. В результате взаимодействие с цифровой платформой может оставить негативные впечатления у пользователя.[007] For example, a user may submit a search query with the text “Macarons recipe Cedric Grolet” to a digital platform, and the digital platform may be able to find a plurality of digital documents that satisfy the search query. In addition, the transformer-based machine learning model may rank the digital documents in such a way that the first (best) search results on the search engine results page (SERP) of the digital platform include digital documents (e.g., text documents, images, videos, etc.) that contain information related only to recipes for traditional French desserts “macarons” and/or information related only to the famous French pastry chef Cedric Grolet. However, the transformer-based machine learning model may assign a relatively low priority to digital documents that contain information about recipes for macarons specifically from Cedric Grolet, as a result of which such digital documents may not appear on the search results page. As a result, interaction with the digital platform may leave a negative impression on the user.
[008] Таким образом, в данной области существует потребность в учете как семантических, так и лексических аспектов связей между поисковым запросом и цифровыми документами при ранжировании цифровых документов. В известных технических решениях был предложен ряд способов для решения этой технической задачи.[008] Thus, there is a need in this area to take into account both semantic and lexical aspects of the relationships between a search query and digital documents when ranking digital documents. A number of methods have been proposed in known technical solutions to solve this technical problem.
[009] В статье Gao et al., «COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List», Carnegie Mellon University, 2021, раскрыта архитектура контекстуализированного поиска точного соответствия, в которой устанавливается лексико-семантическое соответствие на основе контекстуализированного инвертированного списка (COIL, Contextualized Inverted List). Оценка списка COIL формируется на основе контекстуализированных представлений частично совпадающих токенов в запросах и документах. Архитектура обеспечивает хранение контекстуализированных представлений токенов в инвертированных списках, сочетая эффективность точного соответствия с широкими возможностями представления глубоких языковых моделей.[009] Gao et al., “COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List,” Carnegie Mellon University, 2021, present an architecture for contextualized exact matching that establishes lexical-semantic matches based on a contextualized inverted list (COIL). The COIL list score is formed based on contextualized representations of partially matching tokens in queries and documents. The architecture stores contextualized representations of tokens in inverted lists, combining the efficiency of exact matching with the rich representation capabilities of deep language models.
[010] В патенте US11475067B2 «Systems, apparatuses, and methods to generate synthetic queries from customer data for training of document querying machine learning models», выданном 18 октября 2022 года и принадлежащем компании Amazon Technologies Inc., раскрыты методы формирования синтезированных запросов на основе данных клиента с целью обучения моделей машинного обучения для запроса документов в качестве сервиса. Такой сервис может получать один или несколько документов от пользователя, формировать множество пар вопросов и ответов на основе одного или нескольких документов пользователя с использованием модели машинного обучения, обученной прогнозированию вопроса по ответу, и сохранять множество пар вопросов и ответов, сформированных на основе одного или нескольких документов пользователя. Пары вопросов и ответов могут использоваться для обучения другой модели машинного обучения, например, модели ранжирования документов, модели ранжирования фрагментов, модели «вопрос-ответ» или модели часто задаваемых вопросов (FAQ, Frequently Asked Question).[010] US11475067B2, "Systems, apparatuses, and methods to generate synthetic queries from customer data for training of document querying machine learning models," issued October 18, 2022, to Amazon Technologies Inc., discloses methods for generating synthetic queries from customer data for the purpose of training machine learning models to query documents as a service. Such a service may receive one or more documents from a user, generate a plurality of question and answer pairs from the one or more user documents using a machine learning model trained to predict the question from the answer, and store the plurality of question and answer pairs generated from the one or more user documents. The question and answer pairs may be used to train another machine learning model, such as a document ranking model, a snippet ranking model, a question-answer model, or a Frequently Asked Question (FAQ) model.
Раскрытие изобретенияDisclosure of invention
[011] Разработчики настоящей технологии установили, что эффективность учета как семантических, так и лексических связей между поисковыми запросами и ранжируемыми цифровыми документами повышается, если входные данные модели машинного обучения на основе трансформера, помимо поискового запроса и собственно ранжируемых цифровых документов, включают в себя ряд фраз из цифровых документов-кандидатов, которые были определены как лексически связанные с поисковым запросом.[011] The developers of this technology have found that the efficiency of taking into account both semantic and lexical relationships between search queries and ranked digital documents is increased if the input data of the transformer-based machine learning model, in addition to the search query and the digital documents themselves being ranked, includes a number of phrases from candidate digital documents that have been identified as lexically related to the search query.
[012] В частности, различные аспекты и варианты осуществления настоящей технологии относятся к способам и системам, которые предусматривают (а) получение поискового запроса, (б) нахождение в поисковом индексе цифровой платформы множества цифровых документов-кандидатов, соответствующих поисковому запросу и семантически связанных с ним, и (в) нахождение во множестве цифровых документов-кандидатов множества фраз-кандидатов, лексически связанных с поисковым запросом, то есть содержащих по меньшей мере одно слово, которое либо полностью совпадает с одним из ключевых слов поискового запроса, либо является его грамматическим производным. Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, поисковый запрос и найденные таким способом фразы, лексически связанные с ним, передаются в модель машинного обучения на основе трансформера, обученную формированию векторных представлений входных фраз, с целью формирования первого векторного представления поискового запроса и второго векторного представления множества фраз-кандидатов.[012] In particular, various aspects and embodiments of the present technology relate to methods and systems that provide for (a) receiving a search query, (b) finding in a search index of a digital platform a plurality of candidate digital documents that match the search query and are semantically related thereto, and (c) finding in the plurality of candidate digital documents a plurality of candidate phrases that are lexically related to the search query, that is, that contain at least one word that either completely matches one of the keywords of the search query or is a grammatical derivative thereof. Furthermore, in accordance with some non-limiting embodiments of the present technology, the search query and the phrases thus found that are lexically related thereto are fed to a transformer-based machine learning model trained to generate vector representations of input phrases, in order to generate a first vector representation of the search query and a second vector representation of the plurality of candidate phrases.
[013] Кроме того, описанные здесь способы и системы относятся к передаче сформированных таким способом векторных представлений, наряду с векторными представлениями документов и поискового запроса, в модель машинного обучения для ранжирования, особым образом предварительно обученную определению приоритетов цифровых документов на основе таких векторных представлений. Соответственно, при ранжировании цифровых документов для их представления на странице результатов поиска цифровой платформы эти способы и системы позволяют учитывать не только семантические связи между поисковым запросом и содержимым удовлетворяющих ему цифровых документов, но и лексику ключевых слов поиска. Таким образом, помимо цифровых документов, семантически (то есть по смыслу) релевантных поисковому запросу, на странице результатов поиска цифровой платформы могут быть представлены и цифровые документы, лексически релевантные поисковому запросу, то есть содержащие слова, полностью совпадающие с одним или несколькими ключевыми словами поискового запроса или являющиеся их производными. Это способствует улучшению впечатлений пользователей, взаимодействующих с цифровой платформой.[013] Furthermore, the methods and systems described herein relate to feeding the vector representations generated in this manner, along with the vector representations of the documents and the search query, to a machine learning model for ranking that is specially pre-trained to determine the priorities of digital documents based on such vector representations. Accordingly, when ranking digital documents for their presentation on the search results page of the digital platform, these methods and systems make it possible to take into account not only the semantic relationships between the search query and the content of the digital documents that satisfy it, but also the vocabulary of the search keywords. Thus, in addition to digital documents that are semantically (i.e., in meaning) relevant to the search query, the search results page of the digital platform may also present digital documents that are lexically relevant to the search query, i.e., containing words that completely match one or more keywords of the search query or are derivatives of them. This helps to improve the impressions of users interacting with the digital platform.
[014] В частности, в соответствии с первым широким аспектом настоящей технологии реализован компьютерный способ ранжирования цифровых документов на цифровой платформе. Способ предусматривает получение поискового запроса, отправленного пользователем на цифровую платформу, формирование первого векторного представления, характеризующего поисковый запрос, нахождение в поисковом индексе цифровой платформы множества цифровых документов-кандидатов, удовлетворяющих поисковому запросу, получение для каждого цифрового документа-кандидата из множества цифровых документов-кандидатов второго векторного представления, сформированного до поступления поискового запроса, нахождение для каждого документа-кандидата из множества цифровых документов-кандидатов по меньшей мере одной фразы-кандидата, лексически связанной с по меньшей мере одним ключевым словом поискового запроса, формирование третьего векторного представления, характеризующего по меньшей мере одну фразу-кандидат, определение на основе первого, второго и третьего векторных представлений для каждого документа-кандидата из множества цифровых документов-кандидатов значения параметра ранжирования, характеризующего релевантность этого документа-кандидата из множества цифровых документов-кандидатов поисковому запросу, и ранжирование множества цифровых документов-кандидатов на основе связанных с ними значений параметра ранжирования.[014] In particular, in accordance with the first broad aspect of the present technology, a computer method for ranking digital documents on a digital platform is implemented. The method involves receiving a search query sent by a user to a digital platform, forming a first vector representation characterizing the search query, finding a plurality of candidate digital documents satisfying the search query in a search index of the digital platform, obtaining a second vector representation formed before the search query is received for each candidate digital document from the plurality of candidate digital documents, finding for each candidate document from the plurality of candidate digital documents at least one candidate phrase lexically associated with at least one keyword of the search query, forming a third vector representation characterizing at least one candidate phrase, determining, based on the first, second and third vector representations, for each candidate document from the plurality of candidate digital documents a ranking parameter value characterizing the relevance of this candidate document from the plurality of candidate digital documents to the search query, and ranking the plurality of candidate digital documents based on the ranking parameter values associated with them.
[015] В некоторых вариантах реализации способа нахождение множества цифровых документов-кандидатов предусматривает применение функции ранжирования.[015] In some embodiments of the method, finding a plurality of candidate digital documents involves using a ranking function.
[016] В некоторых вариантах реализации способа функция ранжирования представляет собой функцию ранжирования Okapi BM25.[016] In some embodiments of the method, the ranking function is the Okapi BM25 ranking function.
[017] В некоторых вариантах реализации способа нахождение по меньшей мере одной фразы-кандидата предусматривает формирование для каждой фразы документа-кандидата из множества цифровых документов-кандидатов векторного представления фразы, определение в пространстве векторных представлений значения расстояния между первым векторным представлением, характеризующим поисковый запрос, и векторным представлением фразы, ранжирование фраз из множества цифровых документов-кандидатов в зависимости от значений расстояния, связанных с векторными представлениями фраз, с целью формирования ранжированного списка фраз для поискового запроса и выбор из ранжированного списка фраз заданного количества приоритетных фраз.[017] In some embodiments of the method, finding at least one candidate phrase involves forming a vector representation of the phrase for each phrase of the candidate document from a plurality of candidate digital documents, determining in the space of vector representations a distance value between the first vector representation characterizing the search query and the vector representation of the phrase, ranking phrases from the plurality of candidate digital documents depending on the distance values associated with the vector representations of the phrases in order to form a ranked list of phrases for the search query, and selecting a specified number of priority phrases from the ranked list of phrases.
[018] В некоторых вариантах реализации способа формирование векторного представления фразы предусматривает определение для каждого ключевого слова поискового запроса значения отношения частоты ключевого слова к обратной частоте документа (TF-IDF, Term Frequency-Inverse Document Frequency) в документе-кандидате из множества цифровых документов-кандидатов.[018] In some embodiments of the method, the formation of a vector representation of a phrase involves determining for each keyword of the search query the value of the ratio of the keyword frequency to the inverse document frequency (TF-IDF, Term Frequency-Inverse Document Frequency) in a candidate document from a plurality of digital candidate documents.
[019] В некоторых вариантах реализации способа формирование векторного представления фразы предусматривает применение к ней алгоритма векторного представления текста.[019] In some embodiments of the method, the formation of a vector representation of a phrase involves applying a vector representation algorithm to it.
[020] В некоторых вариантах реализации способа алгоритм векторного представления текста представляет собой алгоритм векторного представления слов FastText.[020] In some embodiments of the method, the text vector representation algorithm is the FastText word vector representation algorithm.
[021] В некоторых вариантах реализации способа определение значения параметра ранжирования предусматривает передачу первого, второго и третьего векторных представлений в объединенную модель машинного обучения, обученную определению значения параметра ранжирования для каждого документа из множества цифровых документов на основе векторных представлений (а) поискового запроса, используемого для нахождения множества цифровых документов, (б) каждого документа из множества цифровых документов, удовлетворяющих этому поисковому запросу, и (в) по меньшей мере одной фразы-кандидата, определенной во множестве цифровых документов как лексически связанной с по меньшей мере одним ключевым словом этого поискового запроса.[021] In some embodiments of the method, determining the value of the ranking parameter includes transmitting the first, second and third vector representations to a joint machine learning model trained to determine the value of the ranking parameter for each document of the plurality of digital documents based on vector representations of (a) a search query used to find the plurality of digital documents, (b) each document of the plurality of digital documents satisfying this search query, and (c) at least one candidate phrase determined in the plurality of digital documents as lexically related to at least one keyword of this search query.
[022] В некоторых вариантах реализации способа он дополнительно предусматривает обучение объединенной модели машинного обучения путем формирования обучающего набора данных, содержащего множество обучающих цифровых объектов, каждый из которых содержит (а) обучающее векторное представление обучающего поискового запроса, (б) обучающие векторные представления множества обучающих цифровых документов-кандидатов, удовлетворяющих обучающему поисковому запросу, (в) обучающее векторное представление по меньшей мере одной обучающей фразы-кандидата, найденной во множестве обучающих цифровых документов, лексически связанной с по меньшей мере одним ключевым словом из обучающего поискового запроса, и (г) метку для каждого обучающего документа из множества обучающих цифровых документов, характеризующую степень релевантности этого документа из множества обучающих цифровых документов обучающему поисковому запросу, передачи множества обучающих цифровых объектов в объединенную модель машинного обучения и сведения к минимуму на каждой итерации обучения расхождения между текущим обучающим прогнозом, сформированным объединенной моделью машинного обучения, и меткой.[022] In some embodiments of the method, it further comprises training the combined machine learning model by generating a training data set comprising a plurality of training digital objects, each of which comprises (a) a training vector representation of a training search query, (b) training vector representations of a plurality of candidate training digital documents satisfying the training search query, (c) a training vector representation of at least one candidate training phrase found in the plurality of training digital documents, lexically related to at least one keyword from the training search query, and (d) a label for each training document from the plurality of training digital documents, characterizing the degree of relevance of this document from the plurality of training digital documents to the training search query, transmitting the plurality of training digital objects to the combined machine learning model and minimizing, at each training iteration, the discrepancy between the current training prediction generated by the combined machine learning model and the label.
[023] В некоторых вариантах реализации способа метка задается человеком-оценщиком.[023] In some embodiments of the method, the label is specified by a human evaluator.
[024] В некоторых вариантах реализации способа метка формируется моделью машинного обучения, предварительно обученной на основе меток, сформированных людьми-оценщиками, для определения степени релевантности цифрового документа поисковому запросу.[024] In some embodiments of the method, the label is generated by a machine learning model, pre-trained based on labels generated by human evaluators, to determine the degree of relevance of the digital document to the search query.
[025] В некоторых вариантах реализации способа объединенная модель машинного обучения содержит глубокую модель машинного обучения для определения семантической близости.[025] In some embodiments of the method, the combined machine learning model comprises a deep machine learning model for determining semantic similarity.
[026] В некоторых вариантах реализации способа получение второго векторного представления предусматривает получение второго векторного представления от второй модели машинного обучения, обученной формированию векторных представлений входных цифровых документов.[026] In some embodiments of the method, obtaining a second vector representation involves obtaining a second vector representation from a second machine learning model trained to generate vector representations of input digital documents.
[027] В некоторых вариантах реализации способа он дополнительно предусматривает обучение второй модели машинного обучения путем передачи в нее множества цифровых документов из поискового индекса цифровой платформы.[027] In some embodiments of the method, it further provides for training a second machine learning model by transmitting to it a plurality of digital documents from a search index of the digital platform.
[028] В некоторых вариантах реализации способа он дополнительно предусматривает сокращение объема представлений для каждого из первого, второго и третьего векторных представлений перед определением значения параметра ранжирования.[028] In some embodiments of the method, it further provides for reducing the volume of representations for each of the first, second and third vector representations before determining the value of the ranking parameter.
[029] В некоторых вариантах реализации способа формирование первого, второго и третьего векторных представлений предусматривает применение модели машинного обучения на основе трансформера, а сокращение объема представлений предусматривает последовательное усечение выходных данных каждого промежуточного слоя модели машинного обучения на основе трансформера до заданной длины каждого из первого, второго и третьего векторных представлений.[029] In some embodiments of the method, the formation of the first, second and third vector representations involves using a transformer-based machine learning model, and the reduction in the volume of representations involves sequentially truncating the output data of each intermediate layer of the transformer-based machine learning model to a given length of each of the first, second and third vector representations.
[030] В некоторых вариантах реализации способа для каждого из первого, второго и третьего векторных представлений задается своя отличная от других длина.[030] In some embodiments of the method, each of the first, second and third vector representations is assigned its own length, different from the others.
[031] В некоторых вариантах реализации способа формирование первого и третьего векторных представлений осуществляется независимо от формирования второго векторного представления.[031] In some embodiments of the method, the formation of the first and third vector representations is carried out independently of the formation of the second vector representation.
[032] В некоторых вариантах реализации способа формирование первого векторного представления, характеризующего поисковый запрос, и третьего векторного представления, характеризующего по меньшей мере одну фразу-кандидат, предусматривает применение модели машинного обучения, обученной формированию векторных представлений входных фраз.[032] In some embodiments of the method, the formation of a first vector representation characterizing a search query and a third vector representation characterizing at least one candidate phrase involves the use of a machine learning model trained to form vector representations of input phrases.
[033] В некоторых вариантах реализации способа он дополнительно предусматривает обучение модели машинного обучения путем формирования обучающего набора данных, содержащего множество обучающих цифровых объектов, каждый из которых содержит обучающий поисковый запрос и множество обучающих фраз-кандидатов, найденных во множестве обучающих цифровых документов, удовлетворяющих обучающему поисковому запросу, и лексически связанных с по меньшей мере одним ключевым словом из обучающего поискового запроса, и передачи множества обучающих цифровых объектов в модель машинного обучения.[033] In some embodiments of the method, it further comprises training the machine learning model by generating a training data set comprising a plurality of training digital objects, each of which comprises a training search query and a plurality of training candidate phrases found in a plurality of training digital documents that satisfy the training search query and are lexically associated with at least one keyword from the training search query, and transmitting the plurality of training digital objects to the machine learning model.
[034] В некоторых вариантах реализации способа модель машинного обучения представляет собой модель машинного обучения на основе трансформера.[034] In some embodiments of the method, the machine learning model is a transformer-based machine learning model.
[035] В некоторых вариантах реализации способа в процессе нахождения по меньшей мере одной фразы-кандидата, лексически связанной с по меньшей мере одним ключевым словом из поискового запроса, для каждого документа-кандидата из множества цифровых документов-кандидатов способ дополнительно предусматривает использование необработанной версии этого документа-кандидата из множества цифровых документов-кандидатов.[035] In some embodiments of the method, in the process of finding at least one candidate phrase lexically related to at least one keyword from the search query for each candidate document from the plurality of candidate digital documents, the method further comprises using an unprocessed version of this candidate document from the plurality of candidate digital documents.
[036] В некоторых вариантах реализации способа необработанная версия находится в поисковом индексе.[036] In some embodiments of the method, the raw version is located in a search index.
[037] В соответствии со вторым широким аспектом настоящей технологии реализован сервер для ранжирования цифровых документов на цифровой платформе. Сервер содержит по меньшей мере один процессор и по меньшей мере одну долговременную машиночитаемую память, хранящую исполняемые команды, при исполнении которых по меньшей мере одним процессором на сервере обеспечиваются получение поискового запроса, отправленного пользователем на цифровую платформу, формирование первого векторного представления, характеризующего поисковый запрос, нахождение в поисковом индексе цифровой платформы множества цифровых документов-кандидатов, удовлетворяющих поисковому запросу, получение для каждого цифрового документа-кандидата из множества цифровых документов-кандидатов второго векторного представления, сформированного до поступления поискового запроса, нахождение для каждого документа-кандидата из множества цифровых документов-кандидатов по меньшей мере одной фразы-кандидата, лексически связанной с по меньшей мере одним ключевым словом поискового запроса, формирование третьего векторного представления, характеризующего по меньшей мере одну фразу-кандидат, определение на основе первого, второго и третьего векторных представлений для каждого документа-кандидата из множества цифровых документов-кандидатов значения параметра ранжирования, характеризующего релевантность этого документа-кандидата из множества цифровых документов-кандидатов поисковому запросу, и ранжирование множества цифровых документов-кандидатов на основе связанных с ними значений параметра ранжирования.[037] According to a second broad aspect of the present technology, a server for ranking digital documents on a digital platform is implemented. The server comprises at least one processor and at least one non-volatile machine-readable memory storing executable commands, the execution of which by at least one processor on the server ensures the receipt of a search query sent by the user to the digital platform, the formation of a first vector representation characterizing the search query, finding in the search index of the digital platform a plurality of candidate digital documents that satisfy the search query, obtaining for each candidate digital document from the plurality of candidate digital documents a second vector representation formed before the search query is received, finding for each candidate document from the plurality of candidate digital documents at least one candidate phrase lexically associated with at least one keyword of the search query, the formation of a third vector representation characterizing at least one candidate phrase, determining on the basis of the first, second and third vector representations for each candidate document from the plurality of candidate digital documents a ranking parameter value characterizing the relevance of this a candidate document from a plurality of candidate digital documents to a search query, and ranking the plurality of candidate digital documents based on the ranking parameter values associated with them.
[038] В контексте настоящего описания «сервер» представляет собой компьютерную программу, выполняемую на соответствующих аппаратных средствах и способную принимать по сети запросы (например, от клиентских устройств), выполнять эти запросы или инициировать их выполнение. Такие аппаратные средства могут быть реализованы в виде одного физического компьютера или одной физической компьютерной системы, что не имеет существенного значения для настоящей технологии. В данном контексте употребление выражения «сервер» не означает, что какая-либо конкретная задача или все задачи (например, принятые команды или запросы) принимаются, выполняются или запускаются на одном и том же сервере (т.е. одними и теми же программными и/или аппаратными средствами), а означает, что участвовать в приеме, передаче, выполнении или инициировании выполнения каких-либо задач или запросов либо результатов каких-либо задач или запросов может любое количество программных или аппаратных средств, и все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем выражение «по меньшей мере один сервер» охватывает оба этих случая.[038] As used herein, a "server" is a computer program running on appropriate hardware that is capable of receiving requests (e.g., from client devices) over a network, executing those requests, or initiating their execution. Such hardware may be implemented as a single physical computer or a single physical computer system, which is not essential to the present technology. As used herein, the use of the expression "server" does not mean that any particular task or all tasks (e.g., received commands or requests) are received, executed, or started on the same server (i.e., by the same software and/or hardware), but rather that any number of software or hardware may participate in receiving, transmitting, executing, or initiating the execution of any tasks or requests, or the results of any tasks or requests, and all of these software and hardware may represent a single server or multiple servers, and the expression "at least one server" covers both of these cases.
[039] В контексте настоящего описания «клиентское устройство» представляет собой любые компьютерные аппаратные средства, способные обеспечивать работу программного обеспечения, подходящего для решения поставленной задачи. Таким образом, примерами (не имеющими ограничительного характера) клиентских устройств являются персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, например, маршрутизаторы, коммутаторы и шлюзы. При этом следует отметить, что устройство, выступающее в данном контексте в качестве клиентского, может выступать в качестве сервера для других клиентских устройств. Употребление выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема/передачи, выполнения или инициирования выполнения каких-либо задач или запросов, результатов каких-либо задач или запросов либо шагов какого-либо описанного здесь способа.[039] In the context of the present description, a "client device" is any computer hardware capable of running software suitable for solving the task at hand. Thus, non-limiting examples of client devices include personal computers (desktop computers, laptops, netbooks, etc.), smartphones and tablets, as well as network equipment such as routers, switches and gateways. It should be noted that a device acting as a client in this context may act as a server for other client devices. The use of the expression "client device" does not exclude the use of multiple client devices to receive/transmit, perform or initiate the performance of any tasks or requests, the results of any tasks or requests, or the steps of any method described herein.
[040] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных и компьютерных аппаратных средств для хранения таких данных, их применения или обеспечения их использования иным способом. База данных может размещаться в тех же аппаратных средствах, в которых реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо в отдельных аппаратных средствах, таких как специализированный сервер или группа серверов.[040] As used herein, the term "database" means any structured collection of data, regardless of its specific structure, software for managing the database, and computer hardware for storing such data, using it, or otherwise enabling its use. A database may be located on the same hardware as the process that enables the storage or use of the information stored in the database, or on separate hardware, such as a dedicated server or group of servers.
[041] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (отзывы, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы, списки слов и т.д.[041] In the context of the present description, the expression "information" includes information of any kind or type capable of being stored in a database. Thus, information includes, among other things, audiovisual works (images, films, sound recordings, presentations, etc.), data (location data, numerical data, etc.), text (reviews, comments, questions, messages, etc.), documents, spreadsheets, word lists, etc.
[042] В контексте настоящего описания выражение «компонент» означает программное обеспечение (подходящее для конкретных аппаратных средств), необходимое и достаточное для выполнения конкретных упоминаемых функций.[042] In the context of this description, the expression "component" means software (suitable for specific hardware) necessary and sufficient to perform the specific functions mentioned.
[043] В контексте настоящего описания выражение «компьютерный носитель информации» предназначено для обозначения носителей любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, дискеты, жесткие диски и т.п.), USB-накопители, твердотельные накопители, ленточные накопители и т.д.[043] In the context of the present description, the expression "computer storage medium" is intended to refer to media of any kind and type, including RAM, ROM, disks (CD-ROM, DVD, floppy disks, hard disks, etc.), USB drives, solid state drives, tape drives, etc.
[044] В контексте настоящего описания числительные «первый», «второй», «третий» и т.д. служат лишь для указания на различие между существительными, к которым они относятся, а не для описания каких-либо определенных взаимосвязей между этими существительными. Таким образом, следует понимать, что, например, термины «первый сервер» и «третий сервер» не предполагают существования каких-либо определенных порядка, типов, хронологии, иерархии или ранжирования серверов, а употребление этих терминов (само по себе) не подразумевает обязательного наличия какого-либо «второго сервера» в той или иной конкретной ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылки на «первый» элемент и «второй» элемент не исключают того, что эти два элемента в действительности могут быть одним и тем же элементом. Так, например, в одних случаях «первый» и «второй» серверы могут представлять собой одни и те же программные и/или аппаратные средства, а в других случаях - разные программные и/или аппаратные средства.[044] As used herein, the numerals "first," "second," "third," etc., serve merely to distinguish between the nouns to which they refer, and do not describe any particular relationships between those nouns. Thus, it should be understood that, for example, the terms "first server" and "third server" do not imply the existence of any particular order, type, chronology, hierarchy, or ranking of servers, and the use of these terms (in and of themselves) does not necessarily imply the presence of any "second server" in any particular situation. Furthermore, as occurs in other contexts herein, references to a "first" element and a "second" element do not exclude the possibility that the two elements may in fact be the same element. For example, in some cases the “first” and “second” servers may represent the same software and/or hardware, and in other cases, different software and/or hardware.
[045] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или к одному из вышеупомянутых аспектов, но не обязательно ко всем ним. Следует понимать, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, не упомянутым здесь явным образом.[045] Each embodiment of the present technology relates to at least one of the above-mentioned objectives and/or one of the above-mentioned aspects, but not necessarily to all of them. It should be understood that some aspects of the present technology associated with an attempt to achieve the above-mentioned objective may not correspond to this objective and/or may correspond to other objectives not explicitly mentioned herein.
[046] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, на приложенных чертежах и в формуле изобретения.[046] Additional and/or alternative features, aspects and advantages of embodiments of the present technology are contained in the following description, in the attached drawings and in the claims.
Краткое описание чертежейBrief description of the drawings
[047] Эти и другие признаки, аспекты и преимущества настоящей технологии содержатся в дальнейшем описании, в приложенной формуле изобретения и на следующих чертежах.[047] These and other features, aspects and advantages of the present technology are contained in the following description, in the appended claims and in the following drawings.
[048] На фиг. 1 схематически представлен пример компьютерной системы, пригодной для реализации некоторых не имеющих ограничительного характера вариантов осуществления систем и/или способов в соответствии с настоящей технологией.[048] Fig. 1 is a schematic representation of an example of a computer system suitable for implementing certain non-limiting embodiments of systems and/or methods in accordance with the present technology.
[049] На фиг. 2 представлена сетевая компьютерная среда, пригодная для ранжирования цифровых документов на цифровой платформе, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[049] Fig. 2 illustrates a networked computer environment suitable for ranking digital documents on a digital platform, in accordance with some non-limiting embodiments of the present technology.
[050] На фиг. 3 представлена блок-схема архитектуры модели машинного обучения, запускаемой на сервере в составе сетевой компьютерной среды, показанной на фиг. 2, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[050] Fig. 3 is a block diagram of the architecture of a machine learning model running on a server within the networked computing environment shown in Fig. 2, in accordance with some non-limiting embodiments of the present technology.
[051] На фиг. 4 схематически представлен пример цифрового документа, содержащего множество фраз-кандидатов, которые были определены сервером в составе сетевой компьютерной среды, показанной на фиг. 2, как лексически связанные с поисковым запросом, используемым для нахождения иллюстративного цифрового документа, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[051] Fig. 4 is a schematic diagram of an example digital document containing a plurality of candidate phrases that have been determined by a server within the networked computing environment shown in Fig. 2 to be lexically related to a search query used to locate an illustrative digital document, in accordance with some non-limiting embodiments of the present technology.
[052] На фиг. 5 схематически представлена первая модель машинного обучения, реализованная на основе архитектуры модели машинного обучения, показанной на фиг. 3, для формирования векторных представлений входных фраз, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[052] Fig. 5 is a schematic diagram of a first machine learning model implemented based on the machine learning model architecture shown in Fig. 3 for generating vector representations of input phrases, in accordance with some non-limiting embodiments of the present technology.
[053] На фиг. 6 схематически представлена вторая модель машинного обучения, реализованная на основе архитектуры модели машинного обучения, показанной на фиг. 3, для формирования векторных представлений входных цифровых документов, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[053] Fig. 6 is a schematic diagram of a second machine learning model implemented based on the machine learning model architecture shown in Fig. 3 for generating vector representations of input digital documents, in accordance with some non-limiting embodiments of the present technology.
[054] На фиг. 7 схематически представлен процесс обучения объединенной модели машинного обучения, способной формировать значения параметров ранжирования для цифровых документов на основе векторных представлений, сформированных первой и второй моделями машинного обучения, показанными на фиг. 5 и 6, соответственно, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[054] Fig. 7 is a schematic diagram of a process for training a combined machine learning model capable of generating ranking parameter values for digital documents based on vector representations generated by the first and second machine learning models shown in Figs. 5 and 6, respectively, in accordance with some non-limiting embodiments of the present technology.
[055] На фиг. 8 схематически представлен процесс работы объединенной модели машинного обучения, показанной на фиг. 7, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[055] Fig. 8 is a schematic representation of the operation of the combined machine learning model shown in Fig. 7, in accordance with some non-limiting embodiments of the present technology.
[056] На фиг. 9 представлена блок-схема способа ранжирования цифровых документов с использованием объединенной модели машинного обучения, показанной на фиг. 8, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[056] Fig. 9 is a flow chart of a method for ranking digital documents using the combined machine learning model shown in Fig. 8, in accordance with some non-limiting embodiments of the present technology.
Осуществление изобретенияImplementation of the invention
[057] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.[057] The examples and conventional language provided herein are intended to provide a better understanding of the principles of the present technology, and not to limit its scope to such specifically provided examples and conditions. It is obvious that those skilled in the art are capable of devising various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its spirit and scope.
[058] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалисты в данной области должны понимать, что различные варианты осуществления настоящей технологии могут быть значительно сложнее.[058] Furthermore, in order to facilitate better understanding, the following description may contain simplified embodiments of the present technology. Those skilled in the art will understand that various embodiments of the present technology may be significantly more complex.
[059] В некоторых случаях приводятся предположительно полезные примеры модификаций настоящей технологии. Они призваны лишь способствовать пониманию и также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области способен разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[059] In some cases, supposedly useful examples of modifications of the present technology are given. They are intended only to facilitate understanding and also do not define the scope or boundaries of the present technology. The list of modifications provided is not exhaustive and a person skilled in the art is able to develop other modifications within the scope of the present technology. In addition, if in some cases modifications are not described, this does not mean that they are impossible and/or that the description contains the only possible embodiment of a particular element of the present technology.
[060] При этом описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалисты в данной области техники должны понимать, что все приведенные здесь блок-схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также следует понимать, что все блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором независимо от того, показан такой компьютер или процессор в явном виде или нет.[060] In this case, the description of the principles, aspects and embodiments of the present technology, as well as their specific examples, are intended to cover their structural and functional equivalents, regardless of whether they are currently known or will be developed in the future. For example, those skilled in the art should understand that all block diagrams provided herein correspond to conceptual representations of illustrative circuit diagrams implementing the principles of the present technology. It should also be understood that all block diagrams, process diagrams, state transition diagrams, pseudocodes, etc. correspond to various processes that can be represented on a machine-readable physical information carrier and can be executed by a computer or processor, regardless of whether such a computer or processor is shown explicitly or not.
[061] Функции различных элементов, показанных на чертежах, включая все функциональные блоки, обозначенные как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также аппаратных средств, способных обеспечивать работу соответствующего программного обеспечения. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором и/или несколькими отдельными процессорами, некоторые из которых могут использоваться совместно. В некоторых вариантах реализации настоящей технологии процессор может представлять собой процессор общего назначения, например, центральный процессор (CPU), или процессор, предназначенный для решения конкретной задачи, например, графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные обеспечивать работу программного обеспечения, и может подразумевать, среди прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и/или энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.[061] The functions of the various elements shown in the drawings, including all functional blocks designated as a "processor" or "graphics processor", may be implemented using specialized hardware, as well as hardware capable of supporting the execution of the corresponding software. If a processor is used, these functions may be performed by one dedicated processor, one shared processor, and/or several separate processors, some of which may be used together. In some embodiments of the present technology, the processor may be a general-purpose processor, such as a central processing unit (CPU), or a processor dedicated to solving a specific task, such as a graphics processing unit (GPU). In addition, explicit use of the term "processor" or "controller" shall not be construed as referring solely to hardware capable of executing software, and may include, but is not limited to, hardware of a digital signal processor (DSP), a network processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), ROM for storing software, RAM, and/or non-volatile memory. Other hardware, general purpose and/or custom, may also be included.
[062] Программные модули или просто модули, реализация которых предполагается на базе программных средств, могут быть представлены здесь в виде любого сочетания элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[062] Software modules or simply modules, the implementation of which is supposed to be based on software, may be represented here as any combination of flow chart elements or other elements indicating the execution of process steps and/or containing a text description. Such modules may be executed by hardware, shown explicitly or implied.
[063] С учетом вышеизложенных принципов ниже рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.[063] Taking into account the above principles, some non-limiting examples are discussed below to illustrate various embodiments of aspects of the present technology.
Компьютерная системаComputer system
[064] На фиг. 1 изображена компьютерная система 100, пригодная для использования в некоторых вариантах осуществления настоящей технологии. Компьютерная система 100 содержит различные аппаратные элементы, включая один или несколько одноядерных или многоядерных процессоров, совместно представленных процессором 110, графический процессор 111, твердотельный накопитель 120, ОЗУ 130, интерфейс 140 дисплея и интерфейс 150 ввода/вывода.[064] Fig. 1 shows a computer system 100 suitable for use in some embodiments of the present technology. The computer system 100 includes various hardware elements, including one or more single-core or multi-core processors, collectively represented by a processor 110, a graphics processor 111, a solid-state drive 120, RAM 130, a display interface 140, and an input/output interface 150.
[065] Связь между элементами компьютерной системы 100 может осуществляться через одну или несколько внутренних и/или внешних шин 160 (таких как шина PCI, шина USB, шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д.), с которыми различные аппаратные элементы соединены электронными средствами.[065] Communication between elements of the computer system 100 may be accomplished via one or more internal and/or external buses 160 (such as a PCI bus, a USB bus, an IEEE 1394 FireWire bus, a SCSI bus, a Serial-ATA bus, etc.) to which various hardware elements are electronically connected.
[066] Интерфейс 150 ввода/вывода может быть соединен с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может быть частью дисплея. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сенсорный экран 190 представляет собой дисплей. Сенсорный экран 190 также может называться экраном 190. В вариантах осуществления, показанных на фиг. 1, сенсорный экран 190 содержит сенсорные средства 194 (например, сенсорные элементы, встроенные в слой дисплея и обеспечивающие фиксацию физического взаимодействия между пользователем и дисплеем) и контроллер 192 сенсорных средств ввода/вывода, обеспечивающий связь с интерфейсом 140 дисплея и/или с одной или несколькими внутренними и/или внешними шинами 160. В некоторых вариантах осуществления интерфейс 150 ввода/вывода может быть соединен с клавиатурой (не показана), мышью (не показана) или сенсорной панелью (не показана), которые обеспечивают взаимодействие пользователя с компьютерной системой 100 в дополнение к сенсорному экрану 190 или вместо него.[066] The input/output interface 150 may be connected to a touch screen 190 and/or to one or more internal and/or external buses 160. The touch screen 190 may be part of a display. In some non-limiting embodiments of the present technology, the touch screen 190 is a display. The touch screen 190 may also be referred to as a screen 190. In the embodiments shown in FIG. 1, the touch screen 190 comprises touch means 194 (for example, touch elements embedded in the display layer and providing for recording the physical interaction between the user and the display) and a touch input/output controller 192 providing communication with the display interface 140 and/or with one or more internal and/or external buses 160. In some embodiments, the input/output interface 150 may be connected to a keyboard (not shown), a mouse (not shown), or a touch pad (not shown), which provide for user interaction with the computer system 100 in addition to or instead of the touch screen 190.
[067] Следует отметить, что в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии часть элементов компьютерной системы 100 может отсутствовать. Например, может отсутствовать сенсорный экран 190, в том числе, в тех случаях, когда компьютерная система реализована в виде сервера, но не ограничиваясь ими.[067] It should be noted that in some non-limiting embodiments of the present technology, some elements of the computer system 100 may be missing. For example, the touch screen 190 may be missing, including, but not limited to, in cases where the computer system is implemented as a server.
[068] В соответствии с вариантами реализации настоящей технологии, на твердотельном накопителе 120 хранятся программные команды, пригодные для загрузки в ОЗУ 130 и исполнения процессором 110 и/или графическим процессором 111. Например, программные команды могут входить в состав библиотеки или приложения.[068] In accordance with embodiments of the present technology, the solid-state drive 120 stores software instructions suitable for loading into RAM 130 and execution by the processor 110 and/or the graphics processor 111. For example, the software instructions may be part of a library or an application.
Сетевая компьютерная средаNetworked computing environment
[069] На фиг. 2 схематически представлена сетевая компьютерная среда 200, пригодная для использования с некоторыми не имеющими ограничительного характера вариантами осуществления систем и/или способов в соответствии с настоящей технологией. Сетевая компьютерная среда 200 содержит сервер 202, соединенный с электронным устройством 204 через сеть 208 связи. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии электронное устройство 204 может быть связано с пользователем 216.[069] Fig. 2 is a schematic representation of a networked computing environment 200 suitable for use with some non-limiting embodiments of systems and/or methods in accordance with the present technology. The networked computing environment 200 comprises a server 202 coupled to an electronic device 204 via a communications network 208. In some non-limiting embodiments of the present technology, the electronic device 204 may be coupled to a user 216.
[070] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии электронным устройством 204 может быть любое компьютерное аппаратное средство, способное обеспечивать работу программного обеспечения, подходящего для решения поставленной задачи. В связи с этим электронное устройство 204 может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. Не имеющими ограничительного характера примерами электронного устройства 204 являются персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), смартфоны и планшеты. Очевидно, что в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии электронное устройство 204 может быть не единственным электронным устройством, связанным с пользователем 216, и пользователь 216 без отступления от существа и объема настоящей технологии также может быть связан с другими электронными устройствами (не показанными на фиг. 2), соединенными с сервером 202 через сеть 208 связи.[070] In some non-limiting embodiments of the present technology, the electronic device 204 may be any computer hardware capable of running software suitable for solving the task at hand. In this regard, the electronic device 204 may comprise some or all of the elements of the computer system 100 shown in Fig. 1. Non-limiting examples of the electronic device 204 include personal computers (desktop computers, laptops, netbooks, etc.), smartphones, and tablets. It will be appreciated that in some non-limiting embodiments of the present technology, the electronic device 204 may not be the only electronic device associated with the user 216, and the user 216 may also be associated with other electronic devices (not shown in Fig. 2) connected to the server 202 via the communication network 208 without departing from the spirit and scope of the present technology.
[071] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 реализован как обычный компьютерный сервер и также может содержать некоторые или все элементы компьютерной системы 100, показанной на фиг. 1. В конкретном не имеющем ограничительного характера примере сервер 202 реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™, но он также может быть реализован на базе любых других подходящих видов аппаратных средств, программного обеспечения и/или микропрограммного обеспечения либо их сочетания. В показанных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 представляет собой одиночный сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии (не показаны) функции сервера 202 могут быть распределены между несколькими серверами.[071] In some non-limiting embodiments of the present technology, the server 202 is implemented as a conventional computer server and may also include some or all of the elements of the computer system 100 shown in Fig. 1. In a specific non-limiting example, the server 202 is implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system, but it may also be implemented on any other suitable types of hardware, software, and/or firmware, or a combination thereof. In the shown non-limiting embodiments of the present technology, the server 202 is a single server. In other non-limiting embodiments of the present technology (not shown), the functions of the server 202 may be distributed among multiple servers.
[072] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии на сервере 202 может быть размещена цифровая платформа 210. В общем случае цифровая платформа 210 представляет собой веб-ресурс, способный управлять множеством цифровых документов, размещенных на цифровой платформе 210, то есть предоставлять доступ к ним, представлять их в той или иной форме и обеспечивать взаимодействие с ними. В целом, виды цифровых документов, размещаемых на цифровой платформе 210, зависят от ее конкретной реализации. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии цифровая платформа 210 представляет собой платформу потокового аудио, такую как платформа потокового аудио Spotify™, Yandex™ Music™ и т.п., а множество цифровых документов может включать в себя различные цифровые аудиодокументы, например, аудиодорожки, аудиокниги, подкасты и т.п. В другом примере, где цифровая платформа 210 представляет собой платформу видеохостинга или платформу потокового видео, например, такую как платформа видеохостинга YouTube™ или платформа потокового видео Netflix™, множество цифровых документов может включать в себя различные цифровые видеодокументы, например, видеоклипы, фильмы, новостные видеоматериалы и т.п. В еще одном примере, где цифровая платформа реализована в виде онлайн-платформы объявлений, такой как онлайн-платформа объявлений Yandex™ Market™, онлайн-платформа объявлений Avito™ и т.п., множество цифровых документов может включать в себя объявления о продаже различных продуктов, например, товаров и услуг. В еще одном примере цифровая платформа 210 может быть реализована в виде поисковой системы, такой как поисковая система Google™, поисковая система Yandex™ и т.п., а множество цифровых документов может представлять собой веб-документ, который может содержать цифровые документы всех упомянутых выше видов. Очевидно, что возможны и другие варианты реализации цифровой платформы 210, а также другие виды размещаемых на ней цифровых документов.[072] In some non-limiting embodiments of the present technology, a digital platform 210 may be hosted on the server 202. In general, the digital platform 210 is a web resource capable of managing, accessing, presenting, and interacting with a plurality of digital documents hosted on the digital platform 210. In general, the types of digital documents hosted on the digital platform 210 depend on the specific implementation thereof. For example, in some non-limiting embodiments of the present technology, the digital platform 210 is a streaming audio platform, such as the Spotify™, Yandex™, and other streaming audio platforms. Music™, etc., and the plurality of digital documents may include various digital audio documents, such as audio tracks, audio books, podcasts, etc. In another example, where the digital platform 210 is a video hosting platform or a video streaming platform, such as the YouTube™ video hosting platform or the Netflix™ video streaming platform, the plurality of digital documents may include various digital video documents, such as video clips, films, news videos, etc. In yet another example, where the digital platform is implemented as an online classifieds platform, such as the Yandex™ Market™ online classifieds platform, the Avito™ online classifieds platform, etc., the plurality of digital documents may include advertisements for the sale of various products, such as goods and services. In another example, the digital platform 210 may be implemented as a search engine, such as the Google™ search engine, the Yandex™ search engine, etc., and the plurality of digital documents may be a web document that may contain digital documents of all the types mentioned above. Obviously, other embodiments of the digital platform 210 are also possible, as well as other types of digital documents placed on it.
[073] Соответственно, для предоставления доступа ко множеству цифровых документов пользователям цифровой платформы 210, таким как пользователь 216, цифровая платформа 210 может обеспечивать возможность поиска, позволяя пользователю 216 отправлять поисковые запросы на цифровую платформу 210 (например, через специальный пользовательский интерфейс), в ответ на которые цифровая платформа 210 может обеспечивать подбор соответствующих наборов цифровых документов.[073] Accordingly, to provide access to a plurality of digital documents to users of digital platform 210, such as user 216, digital platform 210 may provide search capability by allowing user 216 to submit search queries to digital platform 210 (e.g., via a special user interface), in response to which digital platform 210 may provide a selection of corresponding sets of digital documents.
[074] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может быть связан с базой 206 данных поискового индекса для обеспечения хранения множества цифровых документов, потенциально доступных через сеть 208 связи. В связи с этим в тех вариантах осуществления, в которых цифровая платформа 210 включает в себя потоковую платформу или онлайн-платформу объявлений, в базу 206 данных поискового индекса могут быть предварительно загружены ссылки на множество цифровых документов от поставщиков цифровых документов, таких как музыканты, звукозаписывающие студии и продавцы товаров. При этом в тех вариантах осуществления, в которых цифровая платформа 210 реализована в виде поисковой системы, ссылки на множество цифровых документов могут быть предварительно загружены в базу 206 данных поискового индекса с использованием процесса, называемого «обходом контента», который в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии может быть, например, также реализован сервером 202. Кроме того, несмотря на то что в вариантах осуществления, показанных на фиг. 2, база данных 206 поискового индекса изображена как единое целое, следует понимать, что в других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции базы 206 данных поискового индекса могут быть распределены между несколькими базами данных. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии доступ к базе 206 данных поискового индекса может осуществляться сервером 202 через сеть 208 связи, а не через прямой канал связи (не обозначен отдельно), как показано на фиг. 2.[074] According to some non-limiting embodiments of the present technology, the server 202 may be coupled to the search index database 206 to provide storage of a plurality of digital documents potentially accessible via the communication network 208. In this regard, in those embodiments in which the digital platform 210 includes a streaming platform or an online classifieds platform, the search index database 206 may be pre-loaded with links to a plurality of digital documents from digital document providers such as musicians, record labels, and merchandise sellers. However, in those embodiments in which the digital platform 210 is implemented as a search engine, the links to a plurality of digital documents may be pre-loaded into the search index database 206 using a process called "content crawling," which in some non-limiting embodiments of the present technology may, for example, also be implemented by the server 202. Furthermore, although in the embodiments shown in FIG. 2, the search index database 206 is depicted as a single entity, it should be understood that in other non-limiting embodiments of the present technology, the functions of the search index database 206 may be distributed among several databases. In some non-limiting embodiments of the present technology, the search index database 206 may be accessed by the server 202 via the communication network 208, rather than via a direct communication channel (not separately indicated), as shown in Fig. 2.
[075] Очевидно, что в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии база 206 данных поискового индекса может дополнительно обеспечивать хранение предварительно сформированных векторных (то есть числовых) представлений каждого цифрового документа из множества цифровых документов. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии векторные представления могут формироваться сторонним сервером (не показан), на котором выполняется, например, особым образом обученная модель машинного обучения. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии векторные представления могут формироваться сервером 202, как подробно описано ниже.[075] It is evident that in some non-limiting embodiments of the present technology, the search index database 206 may further provide for storing pre-generated vector (i.e., numeric) representations of each digital document of the plurality of digital documents. In some non-limiting embodiments of the present technology, the vector representations may be generated by a third-party server (not shown) that runs, for example, a specially trained machine learning model. In some non-limiting embodiments of the present technology, the vector representations may be generated by the server 202, as described in detail below.
[076] Таким образом, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, пользователь 216, используя электронное устройство 204, может отправлять поисковый запрос 212 на цифровую платформу 210, а цифровая платформа 210 способен обеспечивать нахождение в базе 206 данных поискового индекса набора 214 цифровых документов, удовлетворяющих поисковому запросу 212.[076] Thus, in accordance with some non-limiting embodiments of the present technology, a user 216, using an electronic device 204, may send a search query 212 to a digital platform 210, and the digital platform 210 may be able to locate in a search index database 206 a set 214 of digital documents that satisfy the search query 212.
[077] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен находить набор 214 цифровых документов, используя математическую модель, способную оценивать релевантность документа из множества цифровых документов, размещенных на цифровой платформе 210, поисковому запросу 212. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии математическая модель может выполнять функцию ранжирования. Например, функция ранжирования может быть реализована на основе модели «мешок слов» (bags-of-words) и включать в себя функцию ранжирования Okapi BM25. При этом следует отметить, что на способ нахождения сервером 202 набора 214 цифровых документов не накладывается ограничений. Например, в других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 может применять для нахождения набора 214 цифровых документов подходы, основанные на машинном обучении, например, на модели машинного обучения на основе дерева решений.[077] According to some non-limiting embodiments of the present technology, the server 202 is capable of finding the set 214 of digital documents using a mathematical model capable of evaluating the relevance of a document from a plurality of digital documents hosted on the digital platform 210 to the search query 212. In some non-limiting embodiments of the present technology, the mathematical model may perform a ranking function. For example, the ranking function may be implemented based on a bag-of-words model and include the Okapi BM25 ranking function. It should be noted that there are no limitations on the method by which the server 202 finds the set 214 of digital documents. For example, in other non-limiting embodiments of the present technology, the server 202 may use machine learning approaches, such as a decision tree machine learning model, to find the set 214 of digital documents.
[078] Кроме того, после нахождения сервером 202 набора 214 цифровых документов он способен ранжировать цифровые документы из набора 214 цифровых документов, например, в зависимости от степени их релевантности поисковому запросу 212, чтобы помочь пользователю 216 цифровой платформы 210 сориентироваться в наборе 214 цифровых документов. Таким образом, сервер 202 способен формировать ранжированный набор 220 цифровых документов.[078] In addition, after the server 202 finds the set 214 of digital documents, it is able to rank the digital documents from the set 214 of digital documents, for example, depending on the degree of their relevance to the search query 212, in order to help the user 216 of the digital platform 210 navigate the set 214 of digital documents. Thus, the server 202 is able to form a ranked set 220 of digital documents.
[079] Разработчики настоящей технологии учли, что степень удовлетворенности пользователя 216 набором 214 цифровых документов может увеличиваться в тех случаях, когда ранги в наборе 214 цифровых документов определяются на основе как лексических, так и семантических связей между цифровыми документами из набора 214 цифровых документов и ключевыми словами поискового запроса 212.[079] The developers of the present technology took into account that the degree of satisfaction of the user 216 with the set 214 of digital documents can increase in those cases when the ranks in the set 214 of digital documents are determined based on both lexical and semantic relationships between the digital documents from the set 214 of digital documents and the keywords of the search query 212.
[080] В контексте настоящей технологии термином «семантические связи» между ключевым словом поискового запроса 212 и цифровым документом из набора 214 цифровых документов обозначается соответствие цифрового документа семантике (то есть смыслу) ключевого слова поискового запроса 212. В частности, семантические связи между ключевым словом и цифровым документом могут определяться тем, содержит ли цифровой документ слова из семантического поля, в которое входит ключевое слово поискового запроса 212, то есть из лексического набора семантически сгруппированных слов, относящегося к соответствующей тематике. Например, семантическое поле слова «движение» может включать в себя слова «бежать», «идти», «лететь», «ехать», «гулять», «быстро» и др., в том числе разнообразные их производные во всех частях речи. Конкретным примером семантической связи между цифровым документом и ключевым словом поискового запроса 212 может быть наличие синонимов или антонимов этого ключевого слова в данном цифровом документе. При этом термин «семантические связи» не следует трактовать как ограниченный лишь семантическими связями между словами. Например, цифровой документ, содержащий изображение кошки или видеоклип с ней, считается семантически связанным с ключевым словом поискового запроса 212 «кошка» и другими ключевыми словами из того же семантического поля, такими как «кошачий наполнитель», «кошачья мята», «котенок», и наоборот, изображения или видеоклипы с такими объектами считаются семантически связанными со словом «кошка». В другом примере аудиозапись мяуканья кошки также считается семантически связанной со словом «кошка».[080] In the context of the present technology, the term "semantic links" between the keyword of the search query 212 and the digital document from the set 214 of digital documents denotes the correspondence of the digital document to the semantics (i.e., the meaning) of the keyword of the search query 212. In particular, the semantic links between the keyword and the digital document can be determined by whether the digital document contains words from the semantic field that includes the keyword of the search query 212, i.e., from the lexical set of semantically grouped words related to the corresponding topic. For example, the semantic field of the word "movement" can include the words "run", "go", "fly", "drive", "walk", "fast", etc., including their various derivatives in all parts of speech. A specific example of a semantic relationship between a digital document and a keyword of the search query 212 may be the presence of synonyms or antonyms of this keyword in this digital document. However, the term "semantic relationships" should not be interpreted as being limited to semantic relationships between words. For example, a digital document containing an image of a cat or a video clip of a cat is considered to be semantically related to the keyword of the search query 212 "cat" and other keywords from the same semantic field, such as "cat litter", "catnip", "kitten", and vice versa, images or video clips of such objects are considered to be semantically related to the word "cat". In another example, an audio recording of a cat meowing is also considered to be semantically related to the word "cat".
[081] В контексте настоящего описания термином «лексические связи» между ключевым словом поискового запроса 212 и цифровым документом обозначается соответствие цифрового документа лексике ключевого слова поискового запроса 212, то есть его лингвистической форме, зафиксированной в словаре. В частности, семантические связи между ключевым словом и цифровым документом могут определяться тем, (а) содержит ли цифровой документ слова, полностью совпадающие с ключевым словом поискового запроса 212, (б) содержит ли цифровой документ одну или несколько грамматических форм ключевого слова поискового запроса 212, например, форм, различающихся категориями числа и падежа (или склонения, например, кошка - кошки - кошек) для существительных и категориями лица, числа и времени (или спряжения, например, спят - спит - спал) для глаголов, и (в) содержит ли цифровой документ однокоренные слова, образованные от ключевого слова поискового запроса 212 в рамках данной части речи, например, действие - деятельность - деяние (существительное).[081] In the context of the present description, the term "lexical relationships" between the search query keyword 212 and the digital document denotes the correspondence of the digital document to the vocabulary of the search query keyword 212, that is, its linguistic form recorded in the dictionary. In particular, the semantic relationships between the keyword and the digital document may be determined by (a) whether the digital document contains words that completely match the search query keyword 212, (b) whether the digital document contains one or more grammatical forms of the search query keyword 212, for example, forms that differ in the categories of number and case (or declension, for example, кат - кошки - кошки) for nouns and in the categories of person, number and tense (or conjugation, for example, спишет - спишет - спишет) for verbs, and (c) whether the digital document contains cognate words formed from the search query keyword 212 within a given part of speech, for example, декция - активие - экзание (noun).
[082] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для определения степени релевантности цифрового документа из набора 214 цифровых документов поисковому запросу 212 с точки зрения семантики и лексики сервер 202 способен осуществлять обучение и последующее применение алгоритма 218 машинного обучения, включая объединенную модель 602 машинного обучения, подробное описание обучения и использования которой приведено ниже со ссылкой на фиг. 7 и 8. В частности, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, объединенная модель 602 машинного обучения способна определять значение параметра ранжирования для каждого цифрового документа из набора 214 цифровых документов, исходя из степени релевантности этого цифрового документа поисковому запросу 212 с точки зрения лексики и семантики. Как поясняется в приведенном ниже описании, для этого объединенная модель 602 машинного обучения может получать (а) первое векторное представление поискового запроса 212, например, векторное представление 512 поискового запроса, показанное на фиг. 5, (б) второе векторное представление цифрового документа, например, векторное представление 516 документа для иллюстративного цифрового документа 402, показанного на фиг. 6, и (в) третье векторное представление по меньшей мере одной фразы-кандидата из набора 214 цифровых документов, лексически связанной с по меньшей мере одним ключевым словом поискового запроса 212, например, векторное представление 514 фраз, показанное на фиг. 5. Способ обеспечения получения первого, второго и третьего векторных представлений сервером 202 для их передачи в объединенную модель 602 машинного обучения подробно описан ниже со ссылкой на фиг. 4-6.[082] In some non-limiting embodiments of the present technology, in order to determine the degree of relevance of a digital document from the set 214 of digital documents to the search query 212 in terms of semantics and lexicon, the server 202 is configured to train and then apply a machine learning algorithm 218, including a combined machine learning model 602, the training and use of which is described in detail below with reference to Figs. 7 and 8. In particular, in accordance with some non-limiting embodiments of the present technology, the combined machine learning model 602 is configured to determine a ranking parameter value for each digital document from the set 214 of digital documents based on the degree of relevance of this digital document to the search query 212 in terms of lexicon and semantics. As explained in the description below, for this, the unified machine learning model 602 may receive (a) a first vector representation of the search query 212, for example, the vector representation 512 of the search query shown in Fig. 5, (b) a second vector representation of the digital document, for example, the vector representation 516 of the document for the illustrative digital document 402 shown in Fig. 6, and (c) a third vector representation of at least one candidate phrase from the set 214 of digital documents lexically related to at least one keyword of the search query 212, for example, the vector representation 514 of the phrases shown in Fig. 5. The method of causing the server 202 to receive the first, second and third vector representations for transmitting them to the unified machine learning model 602 is described in detail below with reference to Figs. 4-6.
[083] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии объединенная модель 602 машинного обучения может быть реализована на основе архитектуры нейронной сети. Например, в таких вариантах осуществления объединенная модель 602 машинного обучения может представлять собой модель машинного обучения на основе глубокой модели для определения семантической близости (DSSM, Deep Semantic Similarity Model), модель машинного обучения на основе нейронной сети с долговременной и кратковременной памятью (LS™, Long Short-Term Memory) или модель машинного обучения на основе трансформера.[083] In some non-limiting embodiments of the present technology, the unified machine learning model 602 may be implemented based on a neural network architecture. For example, in such embodiments, the unified machine learning model 602 may be a machine learning model based on a deep semantic similarity model (DSSM), a machine learning model based on a long short-term memory (LS™) neural network, or a machine learning model based on a transformer.
[084] При этом следует понимать, что для реализации объединенной модели 602 машинного обучения могут использоваться и другие типы моделей машинного обучения, такие как, среди прочего, модель машинного обучения на основе дерева решений, модель машинного обучения на основе дерева решений с градиентным бустингом, модель машинного обучения на основе поиска ассоциативных правил, модель машинного обучения на основе индуктивного логического программирования, модель машинного обучения на основе машин опорных векторов, модель машинного обучения на основе кластеризации, байесовские сети, модель машинного обучения на основе обучения с подкреплением, модель машинного обучения на основе обучения представлениям, модель машинного обучения на основе обучения по метрикам и близости, модель машинного обучения на основе обучения по разреженному словарю, модель машинного обучения на основе генетических алгоритмов и т.п.[084] It should be understood that other types of machine learning models can be used to implement the combined machine learning model 602, such as, among others, a decision tree-based machine learning model, a gradient boosted decision tree-based machine learning model, an association rule-based machine learning model, an inductive logic programming-based machine learning model, a support vector machine-based machine learning model, a clustering-based machine learning model, Bayesian networks, a reinforcement learning machine learning model, a representation learning machine learning model, a metric and proximity learning machine learning model, a sparse dictionary learning machine learning model, a genetic algorithm-based machine learning model, etc.
[085] Кроме того, используя определенные указанным способом значения параметра ранжирования, сервер 202 может обеспечивать ранжирование цифровых документов в наборе 214 цифровых документов, формируя ранжированный набор 220 цифровых документов. Таким образом, сервер 202 способен предоставлять пользователю 216 более релевантные цифровые документы, что способствует повышению степени удовлетворенности пользователя 216 от взаимодействия с цифровой платформой 210.[085] In addition, using the values of the ranking parameter determined in the specified manner, the server 202 can provide a ranking of the digital documents in the set 214 of digital documents, forming a ranked set 220 of digital documents. In this way, the server 202 is able to provide the user 216 with more relevant digital documents, which contributes to an increase in the degree of satisfaction of the user 216 from interaction with the digital platform 210.
[086] Можно утверждать, что в общем случае сервер 202 выполняет два процесса в отношении объединенной модели 602 машинного обучения в алгоритме 218 машинного обучения. Первый из этих двух процессов представляет собой процесс обучения, в котором сервер 202 обеспечивает обучение объединенной модели 602 машинного обучения на основе обучающего набора данных, чтобы определить значение параметра ранжирования для каждого цифрового документа из набора 214 цифровых документов. Описание процесса обучения приведено ниже со ссылкой на фиг. 7. Второй процесс представляет собой процесс использования, в котором сервер 202 применяет объединенную модель 602 машинного обучения для ранжирования цифровых документов в наборе 214 цифровых документов, как это описано ниже со ссылкой на фиг. 8, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[086] It can be stated that, in general, the server 202 performs two processes with respect to the combined machine learning model 602 in the machine learning algorithm 218. The first of these two processes is a training process in which the server 202 trains the combined machine learning model 602 based on a training data set in order to determine a ranking parameter value for each digital document in the set 214 of digital documents. A description of the training process is given below with reference to Fig. 7. The second process is a using process in which the server 202 applies the combined machine learning model 602 to rank the digital documents in the set 214 of digital documents, as described below with reference to Fig. 8, in accordance with some non-limiting embodiments of the present technology.
[087] Пример архитектуры модели машинного обучения, которая может использоваться для реализации алгоритма 218 машинного обучения, включая объединенную модель 602 машинного обучения, описан ниже со ссылкой на фиг. 3.[087] An example of a machine learning model architecture that may be used to implement the machine learning algorithm 218, including the combined machine learning model 602, is described below with reference to Fig. 3.
Сеть связиCommunication network
[088] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 208 связи представляет собой сеть Интернет. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 208 связи может быть реализована как любая подходящая локальная сеть (LAN, Local Area Network), глобальная сеть (WAN, Wide Area Network), частная сеть связи и т.п. Следует понимать, что варианты осуществления сети связи приведены лишь в иллюстративных целях. Способ реализации линий связи (отдельно не обозначены), соединяющих сервер 202 и электронное устройство 204 с сетью 208 связи, зависит, среди прочего, от реализации сервера 202 и электронного устройства 204. Для примера, среди прочего, можно отметить, что в тех вариантах осуществления настоящей технологии, где электронное устройство 204 реализовано в виде устройства беспроводной связи, такого как смартфон, линия связи может быть реализована в виде беспроводной линии связи. Примерами беспроводных линий связи могут служить, помимо прочего, канал сети связи 3G, канал сети связи 4G и т.п. В сети 208 связи также может использоваться беспроводное соединение с сервером 202.[088] In some non-limiting embodiments of the present technology, the communication network 208 is the Internet. In other non-limiting embodiments of the present technology, the communication network 208 may be implemented as any suitable local area network (LAN), wide area network (WAN), private communication network, etc. It should be understood that the embodiments of the communication network are given for illustrative purposes only. The method of implementing the communication links (not separately indicated) connecting the server 202 and the electronic device 204 to the communication network 208 depends, among other things, on the implementation of the server 202 and the electronic device 204. For example, among other things, it can be noted that in those embodiments of the present technology where the electronic device 204 is implemented as a wireless communication device, such as a smartphone, the communication link can be implemented as a wireless communication link. Examples of wireless communication links can be, among other things, a 3G communication network channel, a 4G communication network channel, etc. The communication network 208 may also use a wireless connection to the server 202.
Архитектура модели машинного обученияMachine learning model architecture
[089] На фиг. 3 представлена блок-схема архитектуры 300 модели машинного обучения, используемой для реализации алгоритма 218 машинного обучения, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии. Как отмечалось выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии архитектура 300 модели машинного обучения может быть построена на основе модели машинного обучения BERT, как описано, например, в вышеупомянутой статье авторов Devlin et al. Аналогично BERT, архитектура 300 модели машинного обучения содержит стек 302 трансформеров, содержащий трансформерные блоки, например, трансформерные блоки 304, 306 и 308.[089] Fig. 3 is a block diagram of a machine learning model architecture 300 used to implement a machine learning algorithm 218 in accordance with some non-limiting embodiments of the present technology. As noted above, in some non-limiting embodiments of the present technology, the machine learning model architecture 300 may be built based on the BERT machine learning model, as described, for example, in the aforementioned article by Devlin et al. Similar to BERT, the machine learning model architecture 300 comprises a transformer stack 302 comprising transformer blocks, such as transformer blocks 304, 306, and 308.
[090] Каждый из трансформерных блоков 304, 306 и 308 содержит блок энкодера трансформера, как описано, например, в вышеупомянутой статье авторов Vaswani et al. Каждый из трансформерных блоков 304, 306 и 308 имеет слой 320 многоголового внимания (для наглядности здесь показан только блок 304 трансформера) и слой 322 нейронной сети прямого распространения (для наглядности здесь также показан только блок 304 трансформера). Трансформерные блоки 304, 306 и 308 в целом имеют одинаковую структуру, но (после обучения) им присваиваются разные веса. В слое 320 многоголового внимания между входными данными блока трансформера существуют зависимости, которые могут использоваться, например, для передачи контекстной информации на каждый вход в зависимости от данных на всех остальных входах блока трансформера. В слое 322 нейронной сети прямого распространения, как правило, нет таких зависимостей, поэтому входные данные слоя 322 нейронной сети прямого распространения могут обрабатываться параллельно. Следует понимать, что на фиг. 3 показаны только три трансформерных блока (трансформерные блоки 304, 306 и 308), но в практических вариантах реализации описанной здесь технологии таких трансформерных блоков в стеке 302 трансформеров может быть гораздо больше. Например, в некоторых вариантах реализации в стеке 302 трансформеров может использоваться 12 трансформерных блоков.[090] Each of the transformer blocks 304, 306, and 308 comprises a transformer encoder block, as described, for example, in the aforementioned article by Vaswani et al. Each of the transformer blocks 304, 306, and 308 has a multi-headed attention layer 320 (for clarity, only the transformer block 304 is shown here) and a feedforward neural network layer 322 (for clarity, only the transformer block 304 is also shown here). The transformer blocks 304, 306, and 308 have the same overall structure, but (after training) they are assigned different weights. In the multi-headed attention layer 320, there are dependencies between the inputs of the transformer block, which can be used, for example, to convey contextual information to each input depending on the data at all other inputs of the transformer block. In the feedforward neural network layer 322, such dependencies are generally not present, so the input data of the feedforward neural network layer 322 can be processed in parallel. It should be understood that in Fig. 3 only three transformer units (transformer units 304, 306 and 308) are shown, but in practical embodiments of the technology described herein, there may be many more such transformer units in the transformer stack 302. For example, in some embodiments, 12 transformer units may be used in the transformer stack 302.
[091] Входные данные 330 стека 302 трансформеров содержат токены, например, токен 332 [CLS] и токены 334. Токены 334 могут представлять собой, например, слова или части слов. Токен 332 [CLS] служит в качестве представления для классификации всего набора токенов 334. Каждый из токена 334 и токена 332 [CLS] представлен в виде вектора. В некоторых вариантах реализации каждый из этих векторов может иметь длину, например, 768 значений с плавающей запятой. Следует понимать, что для эффективного уменьшения размера (размерности) векторов могут использоваться разнообразные методы сжатия.[091] Input data 330 of the transformer stack 302 comprises tokens, such as token 332 [CLS] and tokens 334. Tokens 334 may represent, for example, words or parts of words. Token 332 [CLS] serves as a representation for classifying the entire set of tokens 334. Each of token 334 and token 332 [CLS] is represented as a vector. In some embodiments, each of these vectors may have a length of, for example, 768 floating point values. It should be understood that various compression methods can be used to effectively reduce the size (dimensionality) of the vectors.
[092] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии количество токенов 334, используемых в качестве входных данных 330 для стека 302 трансформеров, может быть фиксированным. Например, в одних не имеющих ограничительного характера вариантах осуществления настоящей технологии могут использоваться 1024 токена, а в других вариантах реализации стек 302 трансформеров может быть способен вмещать 512 токенов (помимо токена 332 [CLS]). Те входные данные 330, длина которых оказывается меньшей фиксированного количества токенов 334, могут быть расширены до фиксированной длины, например, путем добавления заполняющих токенов.[092] In some non-limiting embodiments of the present technology, the number of tokens 334 used as input data 330 for the transformer stack 302 may be fixed. For example, in some non-limiting embodiments of the present technology, 1024 tokens may be used, and in other embodiments, the transformer stack 302 may be capable of holding 512 tokens (in addition to the [CLS] token 332). Those input data 330 whose length is less than the fixed number of tokens 334 may be expanded to the fixed length, for example, by adding padding tokens.
[093] В некоторых вариантах реализации входные данные 330 могут формироваться на основе обучающего цифрового объекта 336 с использованием токенизатора 338. Архитектура токенизатора 338, как правило, зависит от обучающего цифрового объекта 336, который служит входными данными для токенизатора 338. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии в токенизаторе 338 могут использоваться известные методы кодирования, такие как кодирование пар байтов, а также предварительно обученные нейронные сети для формирования входных данных 330.[093] In some embodiments, input data 330 may be generated based on training digital object 336 using tokenizer 338. The architecture of tokenizer 338 typically depends on training digital object 336, which serves as input data for tokenizer 338. For example, in some non-limiting embodiments of the present technology, tokenizer 338 may use known encoding techniques, such as byte pair encoding, as well as pre-trained neural networks to generate input data 330.
[094] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии токенизатор 338 может быть реализован на основе схемы кодирования пар байтов WordPiece, например, используемой в моделях обучения BERT с достаточно большим объемом словаря. В частности, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии объем словаря может составлять приблизительно 120 000 токенов. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии перед применением токенизатора 338 входные данные 330 могут подвергаться предварительной обработке. Например, все слова во входных данных 330 могут переводиться в нижний регистр, после чего может производиться нормализация Unicode NFC. Схема кодирования пар байтов WordPiece, которая может использоваться в некоторых вариантах реализации для создания словаря токенов, описана, например, в статье Rico Sennrich et al., «Neural Machine Translation of Rare Words with Subword Units», Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 1715-1725, 2016.[094] In some non-limiting embodiments of the present technology, the tokenizer 338 may be implemented based on a WordPiece byte pair encoding scheme, such as that used in BERT training models with a sufficiently large vocabulary. In particular, in some non-limiting embodiments of the present technology, the vocabulary size may be approximately 120,000 tokens. In some non-limiting embodiments of the present technology, the input data 330 may be pre-processed before the tokenizer 338 is applied. For example, all words in the input data 330 may be converted to lowercase, after which Unicode NFC normalization may be performed. A WordPiece byte pair encoding scheme that may be used in some implementations to create a token dictionary is described, for example, in Rico Sennrich et al., “Neural Machine Translation of Rare Words with Subword Units,” Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 1715–1725, 2016.
[095] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии в дополнение к токенизатору 338 или вместо него для формирования входных данных 330 сервер 202 может использовать алгоритм векторного представления. В общем случае алгоритм векторного представления способен преобразовывать входные данные, такие как цифровой объект 336, в числовой вектор в пространстве векторных представлений. При этом конкретная реализация алгоритма векторного представления, как правило, зависит от типа данных цифрового объекта 336. Например, в тех не имеющих ограничительного характера вариантах осуществления настоящей технологии, в которых цифровой объект 336 содержит один из прошлых запросов и множество связанных с ним прошлых фраз-кандидатов, как описано ниже, алгоритм векторного представления может представлять собой алгоритм векторного представления текста.[095] Furthermore, in some non-limiting embodiments of the present technology, in addition to or instead of the tokenizer 338, the server 202 may use a vector representation algorithm to generate the input data 330. In general, the vector representation algorithm is capable of transforming the input data, such as the digital object 336, into a numeric vector in the vector representation space. In this case, a specific implementation of the vector representation algorithm typically depends on the data type of the digital object 336. For example, in those non-limiting embodiments of the present technology in which the digital object 336 comprises one of the past queries and a plurality of past candidate phrases associated with it, as described below, the vector representation algorithm may be a text vector representation algorithm.
[096] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии алгоритм векторного представления текста может представлять собой, среди прочего, один из алгоритмов векторного представления текста Word2Vec, GloVe, FastText и т.п., который сервер 202 может использовать с целью формирования входных данных 330 для архитектуры 300 модели машинного обучения.[096] In some non-limiting embodiments of the present technology, the text vector representation algorithm may be, among others, one of the text vector representation algorithms Word2Vec, GloVe, FastText, etc., which the server 202 may use to generate input data 330 for the machine learning model architecture 300.
[097] В другом примере в тех не имеющих ограничительного характера вариантах осуществления настоящей технологии, в которых цифровой объект 336 содержит аудиозапись, алгоритм векторного представления может быть реализован как алгоритм векторного представления звука. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, алгоритм векторного представления звука может представлять собой, среди прочего, алгоритм векторного представления звука Seq2Seq Autoencoder, алгоритм векторного представления звука типа «сверточная векторная регрессия», алгоритм векторного представления звука на основе буквенной n-граммы, алгоритм векторного представления звука на основе нейронной сети с долговременной и кратковременной памятью и т.п.[097] In another example, in those non-limiting embodiments of the present technology, in which the digital object 336 comprises an audio recording, the vector representation algorithm may be implemented as an audio vector representation algorithm. According to some non-limiting embodiments of the present technology, the audio vector representation algorithm may be, among other things, a Seq2Seq Autoencoder audio vector representation algorithm, a convolutional vector regression audio vector representation algorithm, a letter n-gram-based audio vector representation algorithm, a long-term and short-term memory-based neural network audio vector representation algorithm, and the like.
[098] В еще одном примере в тех не имеющих ограничительного характера вариантах осуществления настоящей технологии, в которых цифровой объект 336 содержит изображение, алгоритм векторного представления может быть реализован как алгоритм векторного представления изображения. Примерами алгоритма векторного представления изображения являются алгоритмы, реализованные на основе глубоких нейронных сетей, например, сверточных нейронных сетей, в том числе, среди прочего, алгоритма векторного представления изображения InceptionV3, алгоритма векторного представления изображения SqueezeNet и алгоритма векторного представления изображения DeepLoc.[098] In another example, in those non-limiting embodiments of the present technology, in which the digital object 336 comprises an image, the vector representation algorithm may be implemented as an image vector representation algorithm. Examples of an image vector representation algorithm include algorithms implemented based on deep neural networks, such as convolutional neural networks, including, among others, the InceptionV3 image vector representation algorithm, the SqueezeNet image vector representation algorithm, and the DeepLoc image vector representation algorithm.
[099] В дополнительных не имеющих ограничительного характера вариантах осуществления настоящей технологии после использования токенизатора 338 формирование входных данных 330 может дополнительно предусматривать применение сервером 202 алгоритма векторного представления положения (не показан), способного регистрировать данные о положении в частях входного обучающего цифрового объекта 336. Например, если входной обучающий цифровой объект 336 содержит текстовую фразу, алгоритм векторного представления положения может формировать вектор, указывающий на данные о положении среди слов в этой текстовой фразе. На способ реализации алгоритма векторного представления положения не накладывается ограничений и таким алгоритмом, среди прочего, может быть, например, синусоидальный алгоритм векторного представления положения (sinusoid positional embedding), алгоритм векторного представления положения на основе пакетирования кадров (frame stacking positional embedding) или сверточный алгоритм векторного представления положения (convolutional positional embedding).[099] In further non-limiting embodiments of the present technology, after using the tokenizer 338, generating the input data 330 may further include using by the server 202 a position embedding algorithm (not shown) capable of recording position data in portions of the input training digital object 336. For example, if the input training digital object 336 comprises a text phrase, the position embedding algorithm may generate a vector indicating position data among words in the text phrase. There is no limitation on the method of implementing the position embedding algorithm and such an algorithm may be, among other things, for example, a sinusoidal positional embedding algorithm, a frame stacking positional embedding algorithm, or a convolutional positional embedding algorithm.
[0100] Выходные данные 350 стека 302 трансформеров содержат выходные данные 352 [CLS] и вектор 354 выходных данных, содержащий выходное значение для каждого из токенов 334, содержащихся во входных данных 330 стека 302 трансформеров. Затем выходные данные 350 могут направляться в модуль 370 задачи. В некоторых вариантах реализации, как показано на фиг. 3, модуль 370 задачи использует только выходные данные 352 [CLS], которые служат представлением всего вектора 354 выходных данных. Это может быть наиболее целесообразно в тех случаях, когда модуль 370 задачи используется в качестве классификатора или для вывода метки или значения, характеризующего весь входной обучающий цифровой объект 336, например, с целью формирования коэффициента релевантности, в частности, значения параметра ранжирования для цифрового документа из набора 214 цифровых документов, как описано выше.[0100] The output data 350 of the transformer stack 302 comprises the output data 352 [CLS] and the output data vector 354 comprising the output value for each of the tokens 334 contained in the input data 330 of the transformer stack 302. The output data 350 can then be sent to the task module 370. In some embodiments, as shown in Fig. 3, the task module 370 uses only the output data 352 [CLS], which serves as a representation of the entire output data vector 354. This may be most appropriate in cases where the task module 370 is used as a classifier or for outputting a label or value characterizing the entire input training digital object 336, for example, for the purpose of generating a relevance score, in particular a ranking parameter value for a digital document from the set 214 of digital documents, as described above.
[0101] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии (не показанных на фиг. 3) некоторые или все значения вектора 354 выходных данных и, возможно, выходные данные 352 [CLS] могут служить входными данными для модуля 370 задачи. Это может быть наиболее целесообразно в тех случаях, когда модуль 370 задачи используется для формирования меток или значений для каждого из токенов 334 входных данных 330, в частности, для прогнозирования маскированного или отсутствующего токена или для распознавания именованных сущностей. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии модуль 370 задачи может содержать нейронную сеть прямого распространения (не показана), которая формирует результат 380, ориентированный на выполнение задачи, такой как коэффициент релевантности или вероятность перехода по ссылке. В модуле 370 задачи могут использоваться и другие модели. Например, собственно модуль 370 задачи может быть трансформером или нейронной сетью другого типа. Кроме того, результат 380, ориентированный на выполнение задачи, может служить входными данными для других моделей, таких как модель CatBoost, описанная в статье Dorogush et al., «CatBoost: gradient boosting with categorical features support», NIPS, 2017.[0101] In some non-limiting embodiments of the present technology (not shown in FIG. 3), some or all of the values of the output data vector 354 and possibly the output data 352 [CLS] may serve as input to the task module 370. This may be most useful in cases where the task module 370 is used to generate labels or values for each of the tokens 334 of the input data 330, in particular for predicting a masked or missing token or for recognizing named entities. In some non-limiting embodiments of the present technology, the task module 370 may comprise a feedforward neural network (not shown) that generates a task-oriented output 380, such as a relevance score or a click-through probability. Other models may also be used in the task module 370. For example, the task module 370 itself may be a transformer or another type of neural network. Additionally, the task-oriented 380 result can serve as input to other models, such as the CatBoost model described in Dorogush et al., “CatBoost: gradient boosting with categorical features support,” NIPS, 2017.
[0102] Следует понимать, что для облегчения понимания некоторых не имеющих ограничительного характера вариантов осуществления настоящей технологии архитектура модели 300 машинного обучения, описанная выше со ссылкой на фиг. 3, была упрощена. Например, в практическом варианте реализации архитектуры 300 модели машинного обучения каждый из трансформерных блоков 304, 306 и 308 может также выполнять операции нормализации слоя, а модуль 370 задачи - логистическую функцию нормализации softmax и т.д. Специалисту в данной области техники должно быть понятно, что такие операции широко используются в нейронных сетях и в моделях глубокого обучения, таких как модель с архитектурой 300 модели машинного обучения.[0102] It should be understood that in order to facilitate understanding of some non-limiting embodiments of the present technology, the architecture of the machine learning model 300 described above with reference to Fig. 3 has been simplified. For example, in a practical embodiment of the architecture of the machine learning model 300, each of the transformer units 304, 306 and 308 may also perform layer normalization operations, and the task module 370 may perform a softmax logistic normalization function, etc. One skilled in the art will understand that such operations are widely used in neural networks and in deep learning models, such as a model with the architecture of the machine learning model 300.
Формирование векторных представленийFormation of vector representations
[0103] Как указано выше, лексические связи между цифровым документом и поисковым запросом 212 могут определяться наличием в этом цифровом документе по меньшей мере одного слова, представленного в той же лингвистической форме, которую имеет по меньшей мере одно ключевое слово поискового запроса 212.[0103] As noted above, the lexical relationship between the digital document and the search query 212 may be determined by the presence in the digital document of at least one word that is represented in the same linguistic form as at least one keyword of the search query 212.
[0104] В связи с этим для ранжирования цифровых документов в наборе 214 цифровых документов с использованием объединенной модели 602 машинного обучения в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 может сначала обеспечивать нахождение в каждом цифровом документе из набора 214 цифровых документов множества фраз-кандидатов, лексически связанных с по меньшей мере одним ключевым словом поискового запроса 212. Иными словами, как указано выше, каждая фраза-кандидат из множества фраз-кандидатов может содержать слова, которые (а) полностью совпадают с по меньшей мере одним ключевым словом поискового запроса, (б) представлены в одной или нескольких грамматических формах по меньшей мере одного ключевого слова поискового запроса 212 и/или (в) включают в себя одно или несколько однокоренных слов по меньшей мере одного ключевого слова поискового запроса 212 в рамках одной части речи.[0104] In this regard, in order to rank digital documents in the set 214 of digital documents using the combined machine learning model 602, in some non-limiting embodiments of the present technology, the server 202 may first ensure that each digital document in the set 214 of digital documents contains a plurality of candidate phrases that are lexically related to at least one keyword of the search query 212. In other words, as noted above, each candidate phrase of the plurality of candidate phrases may comprise words that (a) exactly match the at least one keyword of the search query, (b) are represented in one or more grammatical forms of at least one keyword of the search query 212, and/or (c) include one or more cognates of at least one keyword of the search query 212 within a single part of speech.
[0105] На фиг. 4 схематически представлен иллюстративный цифровой документ 402 из набора 214 цифровых документов, содержащий множество 404 фраз-кандидатов, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[0105] Fig. 4 is a schematic diagram of an illustrative digital document 402 of a set 214 of digital documents comprising a plurality 404 of candidate phrases, in accordance with some non-limiting embodiments of the present technology.
[0106] В примере на фиг. 4 предполагается, что цифровая платформа 210 представляет собой онлайн-платформу объявлений, для получения доступа к которой пользователю 216 необходимо ввести соответствующий URL-адрес онлайн-платформы объявлений в адресной строке приложения браузера на электронном устройстве 204. Пользователь 216 может отправить на цифровую платформу 210 поисковый запрос 212 с текстом «Macaron Recipe Pierre Herme» (Макарон Рецепт Пьер Эрме). Сервер 202, например, используя вышеупомянутую математическую модель, способен находить в базе 206 данных поискового индекса, хранящей множество цифровых документов, набор 214 цифровых документов, удовлетворяющих этому поисковому запросу. Кроме того, в иллюстративном цифровом документе 402 из набора 214 цифровых документов сервер 202 способен находить множество 404 фраз-кандидатов, которые содержат по меньшей мере одно слово, лексически связанное с по меньшей мере одним ключевым словом поискового запроса 212.[0106] In the example of Fig. 4, it is assumed that the digital platform 210 is an online classifieds platform, to access which the user 216 needs to enter the corresponding URL of the online classifieds platform in the address bar of the browser application on the electronic device 204. The user 216 can send a search query 212 to the digital platform 210 with the text "Macaron Recipe Pierre Herme". The server 202, for example, using the above-mentioned mathematical model, is able to find in the search index database 206 storing a plurality of digital documents a set 214 of digital documents that satisfy this search query. Moreover, in an illustrative digital document 402 of the set 214 of digital documents, the server 202 is able to find a plurality 404 candidate phrases that contain at least one word lexically related to at least one keyword of the search query 212.
[0107] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен находить в иллюстративном цифровом документе 402 множество 404 фраз-кандидатов путем вычисления значений метрики близости между поисковым запросом 212 и отдельными фразами иллюстративного цифрового документа 402. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии метрика близости определяется расстоянием между векторами, представляющими поисковый запрос 212 и фразу иллюстративного цифрового документа 402 в пространстве векторных представлений. В связи с этим метрика близости может включать в себя, например, косинусоидальную метрику близости. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен определять отдельные фразы в иллюстративном цифровом документе 402 как фразы-кандидаты для включения во множество 404 фраз-кандидатов, если их значения метрики близости к поисковому запросу 212 превышают заданный порог близости. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен ранжировать фразы иллюстративного цифрового документа 402 в соответствии с их значениями метрики близости и выбирать N приоритетных фраз для включения во множество 404 фраз-кандидатов.[0107] According to some non-limiting embodiments of the present technology, the server 202 is capable of finding a plurality 404 of candidate phrases in the illustrative digital document 402 by calculating values of a proximity metric between the search query 212 and individual phrases of the illustrative digital document 402. In some non-limiting embodiments of the present technology, the proximity metric is determined by the distance between vectors representing the search query 212 and a phrase of the illustrative digital document 402 in the space of vector representations. In this regard, the proximity metric may include, for example, a cosine proximity metric. In some non-limiting embodiments of the present technology, the server 202 is configured to determine individual phrases in the illustrative digital document 402 as candidate phrases for inclusion in the set 404 candidate phrases if their values of the metric of proximity to the search query 212 exceed a predetermined threshold of proximity. In other non-limiting embodiments of the present technology, the server 202 is configured to rank the phrases of the illustrative digital document 402 according to their values of the metric of proximity and select N priority phrases for inclusion in the set 404 candidate phrases.
[0108] При этом на способ формирования сервером 202 векторов, представляющих поисковый запрос 212 и отдельные фразы иллюстративного цифрового документа 402, не накладывается ограничений. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен формировать такие векторы путем определения для каждого ключевого слова поискового запроса 212 значения отношения частоты ключевого слова к обратной частоте документа (TF-IDF) применительно к каждой фразе в иллюстративном цифровом документе 402. При этом в других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен применять к поисковому запросу и каждой фразе иллюстративного цифрового документа 402 один из вышеупомянутых алгоритмов векторного представления текста.[0108] In this case, there are no limitations on the method of generating vectors by the server 202 representing the search query 212 and individual phrases of the illustrative digital document 402. For example, in some non-limiting embodiments of the present technology, the server 202 is capable of generating such vectors by determining for each keyword of the search query 212 a value of the ratio of the keyword frequency to the inverse document frequency (TF-IDF) with respect to each phrase in the illustrative digital document 402. In other non-limiting embodiments of the present technology, the server 202 is capable of applying one of the above-mentioned algorithms for vector representation of text to the search query and each phrase of the illustrative digital document 402.
[0109] Соответственно, сервер 202 может, например, выбрать первую фразу-кандидат 401, поскольку она содержит слова, полностью совпадающие с ключевыми словами «Pierre Herme» (выделены) из поискового запроса 212. Кроме того, сервер 202 может выбрать вторую фразу-кандидат 403, поскольку она содержит форму множественного числа ключевого слова «Macaron» из поискового запроса 212. Подобным образом сервер 202 может выбрать третью и четвертую фразы-кандидаты 405, 407. Наконец, сервер 202 может выбрать пятую фразу-кандидат 409, поскольку она содержит притяжательную форму ключевых слов «Pierre Herme», форму множественного числа ключевого слова «Macaron» и слово, полностью совпадающее с ключевым словом «Macaron».[0109] Accordingly, the server 202 may, for example, select the first candidate phrase 401 because it contains words that exactly match the keywords “Pierre Herme” (highlighted) from the search query 212. In addition, the server 202 may select the second candidate phrase 403 because it contains the plural form of the keyword “Macaron” from the search query 212. Similarly, the server 202 may select the third and fourth candidate phrases 405, 407. Finally, the server 202 may select the fifth candidate phrase 409 because it contains the possessive form of the keywords “Pierre Herme,” the plural form of the keyword “Macaron,” and a word that exactly matches the keyword “Macaron.”
[0110] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии множество 404 фраз-кандидатов для последующего использования при ранжировании набора 214 цифровых документов может содержать заданное количество фраз-кандидатов, например, 3, 5, 10, 100 или 147 000. В этих вариантах осуществления сервер 202 способен выбирать из иллюстративного цифрового документа 402 для включения во множество 404 фраз-кандидатов лишь те фразы-кандидаты, которые содержат наибольшее количество слов, лексически связанных с ключевыми словами поискового запроса 212. Например, если заданное количество фраз-кандидатов равно 3, сервер 202 может включить во множество 404 фраз-кандидатов пятую фразу-кандидат 409, вторую фразу-кандидат 403 и одну из первой, третьей и четвертой фраз-кандидатов 401, 405 и 407.[0110] In some non-limiting embodiments of the present technology, the set 404 candidate phrases for subsequent use in ranking the set 214 of digital documents may contain a predetermined number of candidate phrases, such as 3, 5, 10, 100, or 147,000. In these embodiments, the server 202 is configured to select from the illustrative digital document 402 for inclusion in the set 404 candidate phrases only those candidate phrases that contain the greatest number of words lexically related to the keywords of the search query 212. For example, if the predetermined number of candidate phrases is 3, the server 202 may include in the set 404 candidate phrases the fifth candidate phrase 409, the second candidate phrase 403, and one of the first, third, and fourth candidate phrases 401, 405, and 407.
[0111] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии каждая фраза-кандидат из множества 404 фраз-кандидатов может содержать как минимум заданное целевое количество слов, лексически связанных с по меньшей мере одним ключевым словом поискового запроса 212. В частности, в таких вариантах осуществления, если заданное целевое количество фраз-кандидатов, например, равно двум, сервер 202 может исключить из множества 404 фраз-кандидатов все фразы-кандидаты, за исключением второй и пятой фраз-кандидатов 403, 409.[0111] In some non-limiting embodiments of the present technology, each candidate phrase of the plurality 404 candidate phrases may contain at least a predetermined target number of words lexically related to at least one keyword of the search query 212. In particular, in such embodiments, if the predetermined target number of candidate phrases is, for example, two, the server 202 may exclude from the plurality 404 candidate phrases all candidate phrases except the second and fifth candidate phrases 403, 409.
[0112] Таким образом, используя подход, аналогичный описанному выше применительно к иллюстративному цифровому документу 402, сервер 202 способен анализировать и другие документы из набора 214 цифровых документов с целью подбора фраз-кандидатов для включения их во множество 404 фраз-кандидатов. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 может проанализировать все цифровые документы из набора 214 цифровых документов. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 может проанализировать только часть набора 214 цифровых документов с целью подбора фраз-кандидатов для множества 404 фраз-кандидатов. Сервер 202 способен определять такую часть набора 214 цифровых документов как N приоритетных цифровых документов, в наибольшей степени удовлетворяющих поисковому запросу 212.[0112] Thus, using an approach similar to that described above with respect to the exemplary digital document 402, the server 202 is capable of analyzing other documents from the set 214 of digital documents to select candidate phrases for inclusion in the set 404 of candidate phrases. In some non-limiting embodiments of the present technology, the server 202 may analyze all digital documents from the set 214 of digital documents. In other non-limiting embodiments of the present technology, the server 202 may analyze only a portion of the set 214 of digital documents to select candidate phrases for the set 404 of candidate phrases. The server 202 is capable of determining such a portion of the set 214 of digital documents as the N priority digital documents that best satisfy the search query 212.
[0113] В некоторых других не имеющих ограничительного характера вариантах осуществления настоящей технологии для определения множества 404 фраз-кандидатов сервер 202 способен (а) определять для каждой фразы в наборе 214 цифровых документов значение метрики близости к поисковому запросу 212, как указано выше, (б) ранжировать фразы в зависимости от значений метрики близости и (в) выбирать N (например, 3, 5 или 20) приоритетных фраз из набора 214 цифровых документов для включения их во множество 404 фраз-кандидатов.[0113] In some other non-limiting embodiments of the present technology, for determining the plurality 404 candidate phrases, the server 202 is configured to (a) determine for each phrase in the set 214 digital documents a value of a proximity metric to the search query 212, as described above, (b) rank the phrases depending on the values of the proximity metric, and (c) select N (e.g., 3, 5, or 20) priority phrases from the set 214 digital documents for inclusion in the plurality 404 candidate phrases.
[0114] Таким образом, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен получать информацию о лексических связях между поисковым запросом 212 и набором 214 цифровых документов из их необработанных версий, сохраненных в базе 206 данных поискового индекса при ее заполнении, например, путем обхода контента сети 208 связи сервером 202, как указано выше.[0114] Thus, in accordance with some non-limiting embodiments of the present technology, the server 202 is capable of obtaining information about lexical relationships between the search query 212 and the set 214 of digital documents from their raw versions stored in the search index database 206 when it is populated, for example, by crawling the content of the communication network 208 by the server 202, as indicated above.
[0115] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для передачи множества 404 фраз-кандидатов и поискового запроса 212 в объединенную модель 602 машинного обучения сервер 202 способен определять их векторные представления. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен определять векторные представления множества 404 фраз-кандидатов и поискового запроса 212, используя один из алгоритмов векторного представления текста, указанных выше для примера применительно к описанию архитектуры 300 модели машинного обучения. При этом в других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен определять такие векторные представления, используя особым образом обученную модель машинного обучения.[0115] In addition, in some non-limiting embodiments of the present technology, for transmitting the plurality 404 candidate phrases and the search query 212 to the combined machine learning model 602, the server 202 is capable of determining vector representations thereof. In some non-limiting embodiments of the present technology, the server 202 is capable of determining vector representations of the plurality 404 candidate phrases and the search query 212 using one of the text vector representation algorithms indicated above by way of example in relation to the description of the architecture 300 of the machine learning model. However, in other non-limiting embodiments of the present technology, the server 202 is capable of determining such vector representations using a specially trained machine learning model.
[0116] Таким образом, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, алгоритм 218 машинного обучения может включать в себя первую модель 502, схематически представленную на фиг. 5. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, первая модель 502 машинного обучения может быть реализована в виде глубокой нейронной сети, такой как нейронная сеть с долговременной и кратковременной памятью или рекуррентная нейронная сеть. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первая модель 502 машинного обучения может быть реализована в виде модели машинного обучения на основе трансформера. В связи с этим первая модель 502 машинного обучения может включать в себя некоторые или все элементы описанной выше архитектуры 300 модели машинного обучения.[0116] Thus, in accordance with some non-limiting embodiments of the present technology, the machine learning algorithm 218 may include a first model 502, schematically illustrated in Fig. 5. In accordance with some non-limiting embodiments of the present technology, the first machine learning model 502 may be implemented as a deep neural network, such as a long-short-term memory neural network or a recurrent neural network. In some non-limiting embodiments of the present technology, the first machine learning model 502 may be implemented as a transformer-based machine learning model. In this regard, the first machine learning model 502 may include some or all of the elements of the machine learning model architecture 300 described above.
[0117] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, первая модель 502 машинного обучения способна формировать векторные представления входных фраз. Например, первая модель 502 машинного обучения может получать поисковый запрос 212 для формирования векторного представления 512 поискового запроса и получать множество 404 фраз-кандидатов для формирования векторного представления 514 фраз.[0117] According to some non-limiting embodiments of the present technology, the first machine learning model 502 is capable of generating vector representations of input phrases. For example, the first machine learning model 502 may receive a search query 212 to generate a vector representation 512 of the search query and receive a plurality 404 candidate phrases to generate a vector representation 514 of the phrases.
[0118] Чтобы обучить первую модель 502 машинного обучения формированию векторных представлений входных фраз, сервер 202 может формировать первый обучающий набор данных, содержащий первое множество обучающих цифровых объектов, каждый из которых содержит обучающую фразу. Подобно поисковому запросу 212 и множеству 404 фраз-кандидатов, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии эта обучающая фраза может содержать один из обучающих поисковых запросов (например, один из прошлых запросов, отправленных пользователями цифровой платформы 210) и обучающее множество фраз-кандидатов, подобранных подобно множеству 404 фраз-кандидатов для поискового запроса 212. При этом в других не имеющих ограничительного характера вариантах осуществления настоящей технологии обучающей фразой может быть любая другая фраза, которую сервер 202 способен извлечь, например, из всего множества цифровых документов, размещенных на цифровой платформе 210. В другом примере сервер 202 способен извлекать обучающие фразы для обучения первой модели 502 машинного обучения из других ресурсов сети 208 связи, включая любую текстовую информацию.[0118] To train the first machine learning model 502 to generate vector representations of input phrases, the server 202 may generate a first training data set comprising a first plurality of training digital objects, each of which comprises a training phrase. Like the search query 212 and the plurality 404 of candidate phrases, in some non-limiting embodiments of the present technology, this training phrase may comprise one of the training search queries (for example, one of the past queries sent by users of the digital platform 210) and a training set of candidate phrases selected like the plurality 404 of candidate phrases for the search query 212. However, in other non-limiting embodiments of the present technology, the training phrase may be any other phrase that the server 202 is capable of extracting, for example, from the entire plurality of digital documents located on the digital platform 210. In another example, the server 202 is capable of extracting training phrases for training the first machine learning model 502 from other resources of the communication network 208, including any text information.
[0119] Кроме того, сервер 202 способен передавать каждый обучающий цифровой объект из первого множества обучающих цифровых объектов в первую модель 502 машинного обучения, обучая первую модель 502 машинного обучения формированию векторных представлений входных фраз. Как указано выше применительно к описанию архитектуры 300 модели машинного обучения, сервер 202 способен передавать обучающую фразу в токенизатор 338 для формирования входных данных 330, а также передавать входные данные 330 в трансформерные блоки 304, 306 и 308 для формирования выходных данных 350, содержащих числовое представление обучающей фразы с учетом контекста слов в обучающей фразе. Иными словами, выходные данные 350 первой модели 502 машинного обучения могут содержать векторное представление обучающей фразы, включающее в себя совокупную семантику обучающей фразы. Таким образом, путем передачи первого множества обучающих цифровых объектов в первую модель 502 машинного обучения, сервер 202 может определять веса трансформерных блоков 304, 306 и 308, обучая первую модель 502 машинного обучения формированию векторных представлений входных фраз, таких как поисковый запрос 212 и множество 404 фраз-кандидатов.[0119] In addition, the server 202 is capable of transmitting each training digital object from the first plurality of training digital objects to the first machine learning model 502, training the first machine learning model 502 to generate vector representations of the input phrases. As indicated above in connection with the description of the architecture 300 of the machine learning model, the server 202 is capable of transmitting the training phrase to the tokenizer 338 to generate the input data 330, and also transmitting the input data 330 to the transformer units 304, 306 and 308 to generate the output data 350 comprising a numeric representation of the training phrase taking into account the context of the words in the training phrase. In other words, the output data 350 of the first machine learning model 502 may comprise a vector representation of the training phrase, including the aggregate semantics of the training phrase. Thus, by transmitting the first plurality of training digital objects to the first machine learning model 502, the server 202 can determine the weights of the transformer blocks 304, 306 and 308, training the first machine learning model 502 to form vector representations of input phrases, such as the search query 212 and the plurality 404 of candidate phrases.
[0120] Кроме того, как наиболее наглядно показано на фиг. 5, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен сокращать объем представлений (то есть количество значений в векторе 354 выходных данных) в выходных данных 350 первой модели 502 машинного обучения. В связи с этим в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен усекать значения в выходных данных 350 до необходимой заданной длины. При этом в других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен сокращать объем представлений выходных данных 350 первой модели 502 машинного обучения, последовательно усекая значения в выходных данных промежуточных слоев, то есть каждого из трансформерных блоков 304, 306 и 308, до тех пор, пока не будет достигнута необходимая заданная длина выходных данных 350. В различных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен выбирать необходимую заданную длину выходных данных 350 для первой модели 502 машинного обучения и усеченные длины выходных данных трансформерных блоков 304, 306 и 308 на основе компромисса между скоростью и качеством формирования выходных данных 350 для последующей передачи на один из входов объединенной модели 602 машинного обучения. Например, необходимая заданная длина выходных данных 350 после усечения может составлять 8, 16 или 32 значения в соответствующих векторных представлениях.[0120] In addition, as most clearly shown in Fig. 5, in accordance with some non-limiting embodiments of the present technology, the server 202 is capable of reducing the amount of representations (that is, the number of values in the output data vector 354) in the output data 350 of the first machine learning model 502. In this regard, in some non-limiting embodiments of the present technology, the server 202 is capable of truncating the values in the output data 350 to a desired specified length. In other non-limiting embodiments of the present technology, the server 202 is capable of reducing the volume of the representations of the output data 350 of the first machine learning model 502 by successively truncating the values in the output data of the intermediate layers, that is, each of the transformer blocks 304, 306 and 308, until the required specified length of the output data 350 is reached. In various non-limiting embodiments of the present technology, the server 202 is capable of selecting the required specified length of the output data 350 for the first machine learning model 502 and the truncated lengths of the output data of the transformer blocks 304, 306 and 308 based on a trade-off between the speed and quality of generating the output data 350 for subsequent transmission to one of the inputs of the combined machine learning model 602. For example, the required specified length of the output data 350 after truncation can be 8, 16 or 32 values in the corresponding vector representations.
[0121] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен сокращать объем представлений в выходных данных 350 первой модели 502 машинного обучения для разных векторных представлений разными способами. Иными словами, для формирования векторного представления 512 поискового запроса сервер 202 может обеспечивать усечение значений выходных данных 350 первой моделью 502 машинного обучения до первой необходимой заданной длины, которая может составлять, например, 8 значений. Для формирования векторного представления 514 фраз сервер 202 может обеспечивать усечение значений выходных данных 350 первой моделью 502 машинного обучения до второй необходимой заданной длины, которая может составлять, например, 16 значений.[0121] In some non-limiting embodiments of the present technology, the server 202 is capable of reducing the size of the representations in the output data 350 of the first machine learning model 502 for different vector representations in different ways. In other words, to generate the vector representation 512 of the search query, the server 202 can cause the values of the output data 350 of the first machine learning model 502 to be truncated to a first necessary specified length, which can be, for example, 8 values. To generate the vector representation 514 of phrases, the server 202 can cause the values of the output data 350 of the first machine learning model 502 to be truncated to a second necessary specified length, which can be, for example, 16 values.
[0122] Таким образом, сервер 202 способен использовать первую модель 502 машинного обучения для формирования векторных представлений поисковых запросов и соответствующих множеств фраз-кандидатов, которые могут обеспечивать дальнейшее обучение объединенной модели 602 машинного обучения и ее использование для ранжирования цифровых документов, таких как набор 214 цифровых документов, с учетом их лексических связей с поисковым запросом 212, как описано ниже.[0122] Thus, the server 202 is capable of using the first machine learning model 502 to generate vector representations of the search queries and the corresponding sets of candidate phrases, which can provide further training of the combined machine learning model 602 and its use for ranking digital documents, such as the set 214 of digital documents, taking into account their lexical relationships with the search query 212, as described below.
[0123] Кроме того, для определения семантических связей между цифровым документом из набора 214 цифровых документов и поисковым запросом 212 с использованием объединенной модели 602 машинного обучения сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен получать векторное представление цифрового документа.[0123] In addition, to determine semantic relationships between a digital document from the set 214 of digital documents and a search query 212 using the combined machine learning model 602, the server 202, in accordance with some non-limiting embodiments of the present technology, is capable of receiving a vector representation of the digital document.
[0124] Как указано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии векторное представление цифрового документа может предварительно формироваться сторонним сервером и сохраняться в базе 206 данных поискового индекса в привязке к соответствующим цифровым документам цифровой платформы 210. При этом в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен самостоятельно формировать векторное представление документа. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен формировать векторное представление документа в зависимости от вида этого цифрового документа (то есть от того, какие данные он содержит - текст, аудио, видео и т.д.), используя одну из множества реализаций алгоритма векторного представления, указанных выше применительно к описанию архитектуры 300 модели машинного обучения.[0124] As indicated above, in some non-limiting embodiments of the present technology, a vector representation of a digital document may be pre-generated by a third-party server and stored in the search index database 206 in association with the corresponding digital documents of the digital platform 210. In some non-limiting embodiments of the present technology, the server 202 is capable of independently generating the vector representation of the document. In some non-limiting embodiments of the present technology, the server 202 is capable of generating the vector representation of the document depending on the type of this digital document (i.e., what data it contains - text, audio, video, etc.), using one of the plurality of implementations of the vector representation algorithm indicated above in relation to the description of the architecture 300 of the machine learning model.
[0125] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии для формирования векторных представлений документов алгоритм 218 машинного обучения, размещенный на сервере 202, может включать в себя вторую модель 504 машинного обучения, схематически представленную на фиг. 6.[0125] In other non-limiting embodiments of the present technology for generating vector representations of documents, the machine learning algorithm 218 located on the server 202 may include a second machine learning model 504, schematically illustrated in Fig. 6.
[0126] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, вторая модель 504 машинного обучения, подобно первой модели 502 машинного обучения, может быть реализована в виде глубокой нейронной сети, такой как модель машинного обучения на основе трансформера. В связи с этим вторая модель 504 машинного обучения может включать в себя некоторые или все элементы описанной выше архитектуры 300 модели машинного обучения.[0126] According to some non-limiting embodiments of the present technology, the second machine learning model 504, like the first machine learning model 502, may be implemented as a deep neural network, such as a transformer-based machine learning model. In this regard, the second machine learning model 504 may include some or all of the elements of the machine learning model architecture 300 described above.
[0127] Например, вторая модель 504 машинного обучения способна получать иллюстративный цифровой документ 402 и формировать векторное представление 516 документа, в котором учитывается контекстная информация для элементов иллюстративного цифрового документа 402. Для этого в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 может предварительно обучать вторую модель машинного обучения формированию векторных представлений различных цифровых документов.[0127] For example, the second machine learning model 504 is capable of receiving an illustrative digital document 402 and generating a vector representation 516 of the document that takes into account contextual information for elements of the illustrative digital document 402. To this end, in some non-limiting embodiments of the present technology, the server 202 may pre-train the second machine learning model to generate vector representations of various digital documents.
[0128] В связи с этим, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен (а) формировать второй обучающий набор данных, содержащий второе множество обучающих цифровых объектов, каждый из которых содержит один из множества цифровых документов, размещенных на цифровой платформе 210, (б) передавать каждый из второго множества обучающих цифровых объектов в токенизатор 338 для формирования входных данных 330 для второй модели 504 машинного обучения, (в) передавать входные данные 330 в трансформерные блоки 304, 306 и 308 для обеспечения формирования выходных данных 350, содержащих числовое представление цифрового документа. Таким образом, путем передачи всех цифровых документов из множества цифровых документов цифровой платформы 210, сервер 202 способен определять веса трансформерных блоков 304, 306 и 308 второй модели 504 машинного обучения, обучая вторую модель 504 машинного обучения формированию векторных представлений документов, например, векторного представления 516 документа для иллюстративного цифрового документа 402.[0128] In this regard, according to some non-limiting embodiments of the present technology, the server 202 is configured to (a) generate a second training data set comprising a second plurality of training digital objects, each of which comprises one of the plurality of digital documents hosted on the digital platform 210, (b) transmit each of the second plurality of training digital objects to the tokenizer 338 to generate input data 330 for the second machine learning model 504, (c) transmit the input data 330 to the transformer units 304, 306 and 308 to ensure the generation of output data 350 comprising a numerical representation of the digital document. Thus, by transmitting all digital documents from the plurality of digital documents of the digital platform 210, the server 202 is able to determine the weights of the transformer blocks 304, 306 and 308 of the second machine learning model 504, training the second machine learning model 504 to generate vector representations of documents, for example, vector representation 516 of a document for an illustrative digital document 402.
[0129] Очевидно, что при использовании второй модели 504 машинного обучения для ранжирования набора 214 цифровых документов формирование векторных представлений для каждого документа из набора 214 цифровых документов в реальном времени может представлять собой весьма ресурсоемкую задачу для сервера 202. Соответственно, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен (а) обеспечивать предварительное формирование второй моделью 504 машинного обучения векторных представлений документов для множества цифровых документов и сохранять их в привязке к соответствующим цифровым документам, например, в базе 206 данных поискового индекса, и (б) при необходимости использовать сформированное таким способом представление документа для цифрового документа из набора 214 цифровых документов в качестве входных данных для объединенной модели 602 машинного обучения, как описано ниже. Это позволяет экономить вычислительные ресурсы сервера 202 в режиме реального времени.[0129] It is evident that when using the second machine learning model 504 to rank the set 214 of digital documents, generating vector representations for each document from the set 214 of digital documents in real time may be a very resource-intensive task for the server 202. Accordingly, in some non-limiting embodiments of the present technology, the server 202 is configured to (a) cause the second machine learning model 504 to pre-generate vector representations of documents for a plurality of digital documents and store them in association with the corresponding digital documents, for example, in the search index database 206, and (b) if necessary use the thus-generated document representation for a digital document from the set 214 of digital documents as input to the combined machine learning model 602, as described below. This allows saving the computing resources of the server 202 in real time.
[0130] Кроме того, как и в случае с первой моделью 502 машинного обучения, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен обеспечивать сокращение второй моделью 504 машинного обучения объема представлений ее выходных данных 350, используя один из описанных выше методов усечения. Следует отметить, что итоговая длина векторного представления 516 документа может как совпадать с длинами векторных представлений 512, 514 поискового запроса и фраз, так и отличаться от них.[0130] In addition, as in the case of the first machine learning model 502, in some non-limiting embodiments of the present technology, the server 202 is capable of causing the second machine learning model 504 to reduce the volume of representations of its output data 350 using one of the truncation methods described above. It should be noted that the resulting length of the vector representation 516 of the document may either coincide with the lengths of the vector representations 512, 514 of the search query and phrases, or differ from them.
[0131] Таким образом, сервер 202 способен формировать векторные представления документов и затем на их основе обучать объединенную модель 602 машинного обучения и использовать ее для ранжирования набора 214 цифровых документов с учетом семантической связи цифрового документа из набора 214 цифровых документов с поисковым запросом 212.[0131] Thus, the server 202 is capable of generating vector representations of documents and then, based on them, training the combined machine learning model 602 and using it to rank the set 214 digital documents taking into account the semantic relationship of the digital document from the set 214 digital documents with the search query 212.
[0132] Иными словами, после получения векторных представлений для (а) поисковых запросов, (б) множеств фраз-кандидатов, лексически связанных с поисковыми запросами, и (в) цифровых документов, например, путем обучения и использования первой и второй моделей 502, 504 машинного обучения, сервер 202 способен обучать объединенную модель 602 машинного обучения ранжированию цифровых документов на основе их лексических и семантических связей с соответствующими поисковыми запросами, как описано ниже.[0132] In other words, after receiving vector representations for (a) search queries, (b) sets of candidate phrases lexically related to the search queries, and (c) digital documents, such as by training and using the first and second machine learning models 502, 504, the server 202 is capable of training the combined machine learning model 602 to rank the digital documents based on their lexical and semantic relationships with the corresponding search queries, as described below.
Процесс обученияThe learning process
[0133] На фиг. 7 схематически представлен процесс обучения объединенной модели 602 машинного обучения ранжированию набора 214 цифровых документов в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии. Как указано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии объединенная модель 602 машинного обучения может быть реализована в виде модели машинного обучения на основе глубокой модели для определения семантической близости. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии объединенная модель 602 машинного обучения может представлять собой модель машинного обучения на основе трансформера. В таких вариантах осуществления объединенная модель 602 машинного обучения может включать в себя некоторые или все элементы описанной выше архитектуры 300 модели машинного обучения.[0133] Fig. 7 is a schematic diagram of a process for training a combined machine learning model 602 to rank a set 214 of digital documents in accordance with some non-limiting embodiments of the present technology. As noted above, in some non-limiting embodiments of the present technology, the combined machine learning model 602 may be implemented as a machine learning model based on a deep model for determining semantic similarity. In other non-limiting embodiments of the present technology, the combined machine learning model 602 may be a transformer-based machine learning model. In such embodiments, the combined machine learning model 602 may include some or all of the elements of the machine learning model architecture 300 described above.
[0134] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, для обучения объединенной модели 602 машинного обучения формированию значений параметра ранжирования сервер 202 способен формировать третий обучающий набор данных, содержащий третье множество обучающих цифровых объектов, каждый из которых содержит (а) векторное представление 613 обучающего поискового запроса для обучающего поискового запроса 603 (например, отправленного одним из пользователей цифровой платформы 210 в прошлом), (б) векторные представления обучающих документов из набора 616 обучающих цифровых документов, которые были определены в базе 206 данных поискового индекса как удовлетворяющие обучающему поисковому запросу 603, например, векторное представление 617 обучающего документа для обучающего цифрового документа (не обозначен отдельно), (в) метку 619, характеризующую степень релевантности обучающего цифрового документа, представленного векторным представлением 617 обучающего документа, обучающему поисковому запросу 603, и (г) векторное представление 615 обучающих фраз для множества обучающих 605 фраз-кандидатов, лексически связанных с обучающим поисковым запросом 603.[0134] According to some non-limiting embodiments of the present technology, to train the combined machine learning model 602 to generate ranking parameter values, the server 202 is configured to generate a third training data set comprising a third plurality of training digital objects, each of which comprises (a) a vector representation 613 of a training search query for a training search query 603 (e.g., submitted by one of the users of the digital platform 210 in the past), (b) vector representations of training documents from a set 616 of training digital documents that have been identified in the search index database 206 as satisfying the training search query 603, such as a vector representation 617 of a training document for a training digital document (not separately indicated), (c) a label 619 characterizing the degree of relevance of the training digital document represented by the vector representation 617 of the training document to the training search query 603, and (d) a vector representation 615 of training phrases for the plurality of training 605 candidate phrases lexically related to training search query 603.
[0135] Как указано выше, сервер 202 способен формировать векторное представление 613 обучающего поискового запроса и векторное представление 615 обучающих фраз, используя первую модель 502 машинного обучения в режиме онлайн, то есть в реальном времени. В то же время сервер 202 способен получать векторные представления обучающих документов для набора 616 обучающих цифровых документов из базы 206 данных поискового индекса, которые сервер 202 может формировать, используя вторую модель 504 машинного обучения, до формирования векторных представлений 613, 615 обучающего поискового запроса и фраз.[0135] As indicated above, the server 202 is capable of generating a vector representation 613 of the training search query and a vector representation 615 of the training phrases using the first machine learning model 502 in an online mode, that is, in real time. At the same time, the server 202 is capable of receiving vector representations of training documents for a set 616 of training digital documents from the search index database 206, which the server 202 can generate using the second machine learning model 504, before generating the vector representations 613, 615 of the training search query and phrases.
[0136] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, метка 619 может быть предоставлена человеком-оценщиком, который, например, может быть связан с краудсорсинговой платформой (не показана), такой как краудсорсинговая платформа Amazon™ Mechanical Turk™ или краудсорсинговая платформа Yandex™ Toloka™, с которой сервер 202 соединен через сеть 208 связи. Например, такой человек-оценщик может получать через интерфейс краудсорсинговой платформы инструкцию по формированию меток для присвоения метки 619 обучающему цифровому документу, представленному векторным представлением 617 обучающего документа. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, метка 619 содержит значение параметра ранжирования, которое может быть выбрано, например, в диапазоне от 0 до 1, где 0 означает нерелевантность обучающего цифрового документа обучающему поисковому запросу 603, а 1 означает релевантность обучающего цифрового документа обучающему поисковому запросу 603. Например, соответствующая метка 619 может принимать значения 0,1, 0,25, 0,37 и т.п.[0136] In addition, according to some non-limiting embodiments of the present technology, the label 619 may be provided by a human evaluator who, for example, may be associated with a crowdsourcing platform (not shown), such as the Amazon™ Mechanical Turk™ crowdsourcing platform or the Yandex™ Toloka™ crowdsourcing platform, to which the server 202 is connected via the communication network 208. For example, such a human evaluator may receive, via the interface of the crowdsourcing platform, an instruction for generating labels for assigning the label 619 to the training digital document represented by the vector representation 617 of the training document. According to some non-limiting embodiments of the present technology, the label 619 comprises a ranking parameter value that can be selected, for example, in the range from 0 to 1, where 0 means the irrelevance of the training digital document to the training search query 603, and 1 means the relevance of the training digital document to the training search query 603. For example, the corresponding label 619 can take values of 0.1, 0.25, 0.37, etc.
[0137] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии метка 619 для обучающего цифрового документа может автоматически формироваться сервером 202, например, с использованием дополнительной модели машинного обучения, обученной определению степени релевантности обучающего цифрового документа обучающему поисковому запросу 603 на основе высококачественных меток, сформированных людьми-оценщиками. Например, высококачественные метки, формируемые людьми-оценщиками, могут предоставляться не людьми-оценщиками с краудсорсинговой платформы, а экспертами, формирующими метки более высокого качества, чем у таких людей-оценщиков.[0137] In some non-limiting embodiments of the present technology, the label 619 for the training digital document may be automatically generated by the server 202, for example, using an additional machine learning model trained to determine the degree of relevance of the training digital document to the training search query 603 based on high-quality labels generated by human raters. For example, high-quality labels generated by human raters may not be provided by human raters from a crowdsourcing platform, but by experts who generate labels of higher quality than those of such human raters.
[0138] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен находить множество обучающих 605 фраз-кандидатов из набора 616 обучающих цифровых документов тем же способом, который описан выше со ссылкой на фиг. 4 применительно к подбору множества 404 фраз-кандидатов в иллюстративном цифровом документе 402. Кроме того, путем передачи множества обучающих 605 фраз-кандидатов в первую модель 502 машинного обучения сервер 202 способен формировать векторное представление 615 обучающих фраз.[0138] In addition, according to some non-limiting embodiments of the present technology, the server 202 is capable of finding a plurality of training 605 candidate phrases from a set 616 of training digital documents in the same manner as described above with reference to Fig. 4 with respect to selecting a plurality of candidate phrases 404 in an illustrative digital document 402. In addition, by transmitting the plurality of training 605 candidate phrases to the first machine learning model 502, the server 202 is capable of generating a vector representation 615 of the training phrases.
[0139] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для предоставления информации о лексических связях между обучающим поисковым запросом 603 и набором 616 обучающих цифровых документов вместо векторного представления 615 обучающих фраз сервер 202 может использовать необработанные текстовые данные обучающего поискового запроса 603. В частности, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 в третьем множестве обучающих цифровых объектов способен включать количество вхождений того или иного ключевого слова из обучающего поискового запроса 603 в соответствующий документ из набора 616 обучающих цифровых документов. Иными словами, в таких вариантах осуществления каждый объект из третьего множества обучающих цифровых объектов содержит (а) векторное представление 613 обучающего поискового запроса для обучающего поискового запроса 603, (б) векторные представления обучающих документов для набора 616 обучающих цифровых документов, например, векторное представление 617 обучающего документа для некоторого обучающего цифрового документа, (в) метку 619, характеризующую степень релевантности обучающего цифрового документа, представленного векторным представлением 617 обучающего документа, обучающему поисковому запросу 603, и (г) целочисленные значения, характеризующие количество вхождений ключевых слов из обучающего поискового запроса 603 в обучающий цифровой документ.[0139] In some non-limiting embodiments of the present technology, to provide information about lexical relationships between the training search query 603 and the set 616 of training digital documents, instead of the vector representation 615 of training phrases, the server 202 may use raw text data of the training search query 603. In particular, in some non-limiting embodiments of the present technology, the server 202 is capable of including in the third plurality of training digital objects the number of occurrences of a particular keyword from the training search query 603 in the corresponding document from the set 616 of training digital documents. In other words, in such embodiments, each object of the third plurality of training digital objects comprises (a) a vector representation 613 of a training search query for a training search query 603, (b) vector representations of training documents for a set 616 of training digital documents, for example, a vector representation 617 of a training document for some training digital document, (c) a label 619 characterizing the degree of relevance of the training digital document represented by the vector representation 617 of the training document to the training search query 603, and (d) integer values characterizing the number of occurrences of keywords from the training search query 603 in the training digital document.
[0140] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен использовать необработанные текстовые данные из набора 616 обучающих цифровых документов для формирования третьего обучающего набора данных иным образом. В частности, в таких альтернативных вариантах осуществления вместо определения частоты вхождения каждого полного ключевого слова из обучающего поискового запроса 603 в обучающий цифровой документ сервер 202 способен (а) разделять ключевые слова из обучающего поискового запроса 603 на N-граммы, например, биграммы или триграммы, (б) определять частоту вхождения каждой N-граммы обучающего поискового запроса в обучающий цифровой документ и (в) включать в третье множество обучающих цифровых объектов целочисленные значения, характеризующие частоту вхождения каждой N-граммы из обучающего поискового запроса 603 в обучающий цифровой документ из набора 616 обучающих цифровых документов.[0140] In some non-limiting embodiments of the present technology, the server 202 is configured to use raw text data from the set 616 of training digital documents to generate a third training data set in a different manner. In particular, in such alternative embodiments, instead of determining the frequency of occurrence of each full keyword from the training search query 603 in the training digital document, the server 202 is configured to (a) partition the keywords from the training search query 603 into N-grams, such as bigrams or trigrams, (b) determine the frequency of occurrence of each N-gram of the training search query in the training digital document, and (c) include in the third plurality of training digital objects integer values characterizing the frequency of occurrence of each N-gram from the training search query 603 in the training digital document from the set 616 of training digital documents.
[0141] Иными словами, в отличие от вариантов осуществления, ориентированных на использование векторного представления 615 обучающих фраз для предоставления информации о лексических связях между обучающими цифровыми документами из набора 616 обучающих цифровых документов и обучающим поисковым запросом 603, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен использовать «необработанные» целочисленные значения, характеризующие частоты вхождения либо ключевых слов целиком, либо N-грамм обучающего поискового запроса 603 в каждый обучающий цифровой документ из набора 616 обучающих цифровых документов.[0141] In other words, in contrast to embodiments that are oriented toward using the vector representation 615 of training phrases to provide information about lexical relationships between training digital documents from the set 616 of training digital documents and the training search query 603, in some non-limiting embodiments of the present technology, the server 202 is capable of using “raw” integer values that characterize the frequencies of occurrence of either entire keywords or N-grams of the training search query 603 in each training digital document from the set 616 of training digital documents.
[0142] Кроме того, для обучения объединенной модели 602 машинного обучения на основе третьего обучающего набора данных сервер 202 способен (а) на данной итерации обучения передавать обучающий цифровой объект из третьего множества обучающих цифровых объектов в объединенную модель 602 машинного обучения, обеспечивая формирование объединенной моделью 602 машинного обучения текущего прогнозного значения параметра ранжирования, и (б) сводить к минимуму расхождение между (фактическим) значением параметра ранжирования, представленным меткой 619, и текущим прогнозным значением, сформированным объединенной моделью 602 машинного обучения на данной итерации обучения, корректируя веса узлов в объединенной модели 602 машинного обучения.[0142] In addition, to train the combined machine learning model 602 based on the third training data set, the server 202 is capable of (a) at this training iteration transmitting a training digital object from the third plurality of training digital objects to the combined machine learning model 602, causing the combined machine learning model 602 to generate a current predicted value of the ranking parameter, and (b) minimizing the discrepancy between the (actual) value of the ranking parameter represented by the label 619 and the current predicted value generated by the combined machine learning model 602 at this training iteration by adjusting the weights of the nodes in the combined machine learning model 602.
[0143] Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен определять расхождение между фактическим и текущим прогнозным значениями параметра ранжирования, используя функцию потерь, такую как функция потерь на основе перекрестной энтропии. Очевидно, что в других не имеющих ограничительного характера вариантах осуществления настоящей технологии возможны другие варианты реализации функции потерь, которые могут включать в себя, например, среди прочего, функцию потерь на основе среднеквадратической ошибки, функцию потерь Хьюбера, кусочно-линейную функцию потерь и т.д. При этом на способ сведения к минимуму функции потерь сервером 202 не накладывается ограничений и в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии он, как правило, зависит от дифференцируемости функции потерь. Например, если функция потерь является непрерывно дифференцируемой, для ее минимизации могут использоваться, среди прочего, алгоритм градиентного спуска, алгоритм оптимизации Ньютона и пр. В тех вариантах осуществления, где функция потерь не является дифференцируемой, для ее минимизации сервер 202 может применять, например, прямые алгоритмы, стохастические алгоритмы и/или популяционные алгоритмы.[0143] For example, in some non-limiting embodiments of the present technology, the server 202 is capable of determining the discrepancy between the actual and the current predicted values of the ranking parameter using a loss function, such as a cross-entropy loss function. Obviously, in other non-limiting embodiments of the present technology, other embodiments of the loss function are possible, which may include, for example, among other things, a mean squared error loss function, a Huber loss function, a piecewise linear loss function, etc. However, there is no limitation on the method for minimizing the loss function by the server 202, and in some non-limiting embodiments of the present technology, it typically depends on the differentiability of the loss function. For example, if the loss function is continuously differentiable, a gradient descent algorithm, a Newton optimization algorithm, etc., among other things, can be used to minimize it. In those embodiments where the loss function is not differentiable, the server 202 can use, for example, direct algorithms, stochastic algorithms, and/or population algorithms to minimize it.
[0144] Таким образом, передача в объединенную модель 602 машинного обучения векторного представления 617 обучающего документа в составе объекта из третьего множества обучающих цифровых объектов позволяет объединенной модели 602 машинного обучения определять то, как цифровой документ из набора 214 цифровых документов семантически (то есть по смыслу) связан с поисковым запросом 212. С другой стороны, передача в объединенную модель 602 машинного обучения векторного представления 615 обучающих фраз для множества обучающих 605 фраз-кандидатов, лексически связанных с обучающим поисковым запросом 603, позволяет объединенной модели 602 машинного обучения определять то, как цифровой документ лексически (то есть по лингвистическим формам) связан с поисковым запросом 212.[0144] Thus, feeding the combined machine learning model 602 a vector representation 617 of a training document as part of an object from the third plurality of training digital objects allows the combined machine learning model 602 to determine how a digital document from the set 214 of digital documents is semantically (i.e., by meaning) related to the search query 212. On the other hand, feeding the combined machine learning model 602 a vector representation 615 of training phrases for the plurality of training 605 candidate phrases lexically related to the training search query 603 allows the combined machine learning model 602 to determine how a digital document is lexically (i.e., by linguistic forms) related to the search query 212.
[0145] Очевидно, что третье множество обучающих цифровых объектов может содержать тысячи, десятки тысяч или даже сотни тысяч обучающих цифровых объектов, сформированных на основе различных обучающих поисковых запросов, полученных, например, из архивных данных о взаимодействии пользователей с цифровой платформой 210. Таким образом, путем передачи всех обучающих цифровых объектов в объединенную модель машинного обучения и сведения к минимуму расхождения между фактическим и прогнозным значениями параметра ранжирования сервер 202 способен обучать объединенную модель 602 машинного обучения формированию значений параметра ранжирования для цифровых документов, подобранных для поисковых запросов в режиме использования, таких как набор 214 цифровых документов для поискового запроса 212, с учетом как семантических, так и лексических связей между ними. Ниже описано, как сервер 202 может использовать объединенную модель 602 машинного обучения после завершения описанного выше процесса обучения.[0145] It is evident that the third plurality of training digital objects may comprise thousands, tens of thousands, or even hundreds of thousands of training digital objects generated based on various training search queries obtained, for example, from historical data on user interactions with the digital platform 210. Thus, by feeding all of the training digital objects to the combined machine learning model and minimizing the discrepancy between the actual and predicted values of the ranking parameter, the server 202 is able to train the combined machine learning model 602 to generate values of the ranking parameter for digital documents selected for search queries in use mode, such as the set 214 of digital documents for the search query 212, taking into account both semantic and lexical relationships between them. The following describes how the server 202 can use the combined machine learning model 602 after completing the training process described above.
Процесс использованияProcess of use
[0146] На фиг. 8 схематически представлен процесс использования объединенной модели 602 машинного обучения для ранжирования цифровых документов в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[0146] Fig. 8 is a schematic representation of a process for using a combined machine learning model 602 to rank digital documents in accordance with some non-limiting embodiments of the present technology.
[0147] В частности, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, чтобы использовать объединенную модель 602 машинного обучения для ранжирования цифровых документов, сервер 202 способен (а) получать поисковый запрос 212, отправленный пользователем 216 на цифровую платформу 210, (б) формировать, используя первую модель 502 машинного обучения, векторное представление 512 поискового запроса, как описано выше, (в) находить, используя, например, математическую модель, в базе 206 данных поискового индекса набор 214 цифровых документов, удовлетворяющих поисковому запросу 212, и соответствующие им векторные представления документов, такие как векторное представление 516 документа для иллюстративного цифрового документа 402, (г) находить в наборе 214 цифровых документов множество 404 фраз-кандидатов, лексически связанных с поисковым запросом 212, и (д) формировать, используя первую модель 502 машинного обучения, векторное представление 514 фраз, характеризующее множество 404 фраз-кандидатов.[0147] In particular, according to some non-limiting embodiments of the present technology, in order to use the combined machine learning model 602 for ranking digital documents, the server 202 is configured to (a) receive a search query 212 sent by a user 216 to the digital platform 210, (b) generate, using the first machine learning model 502, a vector representation 512 of the search query as described above, (c) find, using, for example, a mathematical model, in the search index database 206 a set 214 of digital documents that satisfy the search query 212 and their corresponding vector representations of documents, such as a vector representation 516 of a document for an illustrative digital document 402, (d) find in the set 214 of digital documents a plurality 404 of candidate phrases lexically related to the search query 212, and (e) generate, using the first machine learning model 502, vector representation of 514 phrases characterizing a set of 404 candidate phrases.
[0148] Как указано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен формировать векторные представления документов для отдельных документов из множества цифровых документов на цифровой платформе 210, используя вторую модель 504 машинного обучения, до запуска объединенной модели 602 машинного обучения в режиме использования и сохранять такие векторные представления документов в базе 206 данных поискового индекса для последующего использования. Таким образом, после подбора сервером 202 набора цифровых документов для ранжирования, например, набора 214 цифровых документов, сервер 202 способен получать соответствующие векторные представления документов без необходимости их формирования в реальном времени. Это позволяет экономить вычислительные ресурсы сервера 202 во время работы объединенной модели 602 машинного обучения, что повышает эффективность формирования ранжированного набора 220 цифровых документов.[0148] As noted above, in some non-limiting embodiments of the present technology, the server 202 is capable of generating vector representations of documents for individual documents from a plurality of digital documents on the digital platform 210 using the second machine learning model 504, prior to running the combined machine learning model 602 in use mode and storing such vector representations of documents in the search index database 206 for subsequent use. Thus, after the server 202 selects a set of digital documents for ranking, for example, a set 214 of digital documents, the server 202 is capable of receiving corresponding vector representations of the documents without the need to generate them in real time. This allows saving the computing resources of the server 202 during the operation of the combined machine learning model 602, which increases the efficiency of generating the ranked set 220 of digital documents.
[0149] Кроме того, сервер 202 способен передавать (а) векторное представление 512 поискового запроса, (б) векторное представление 514 фраз и (в) векторные представления документов для набора 214 цифровых документов в объединенную модель 602 машинного обучения, обеспечивая формирование объединенной моделью 602 машинного обучения значений 702 параметра ранжирования для набора 214 цифровых документов. Кроме того, сервер 202 способен ранжировать набор 214 цифровых документов в зависимости от значений 702 параметра ранжирования, формируя ранжированный набор 220 цифровых документов. Наконец, сервер 202 способен передавать ранжированный набор 220 цифровых документов в электронное устройство 204 для его представления пользователю 216.[0149] In addition, the server 202 is capable of transmitting (a) the vector representation 512 of the search query, (b) the vector representation 514 of the phrases, and (c) the vector representations of the documents for the set 214 of digital documents to the combined machine learning model 602, causing the combined machine learning model 602 to generate ranking parameter values 702 for the set 214 of digital documents. In addition, the server 202 is capable of ranking the set 214 of digital documents depending on the ranking parameter values 702, generating a ranked set 220 of digital documents. Finally, the server 202 is capable of transmitting the ranked set 220 of digital documents to the electronic device 204 for presentation to the user 216.
[0150] Как указано выше в описании процесса обучения, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для предоставления информации о лексических связях между поисковым запросом 212 и набором 214 цифровых документов вместо векторного представления 514 фраз для множества 404 фраз-кандидатов сервер 202 способен формировать и дополнительно передавать в объединенную модель 602 машинного обучения векторы частоты в режиме использования, каждый из которых содержит значения, характеризующие количество вхождений ключевых слов поискового запроса 212 в иллюстративный цифровой документ 402. Например, как показано на фиг. 4, где представлен поисковый запрос 212 с текстом «Macaron Recipe Pierre Herme», вектор частоты в режиме использования для иллюстративного цифрового документа 402 может содержать следующие значения: [5, 0, 2], поскольку (а) лингвистические формы ключевого слова «Macaron» встречаются в иллюстративном цифровом документе 402 пять раз, (б) какие-либо формы ключевого слова «Recipe» в документе отсутствуют и (в) различные формы ключевых слов «Pierre Herme» в иллюстративном цифровом документе 402 встречаются дважды.[0150] As indicated above in the description of the training process, in some non-limiting embodiments of the present technology for providing information about lexical relationships between the search query 212 and the set 214 of digital documents, instead of the vector representation 514 of phrases for the plurality 404 candidate phrases, the server 202 is capable of generating and further transmitting to the combined machine learning model 602 frequency vectors in use mode, each of which contains values characterizing the number of occurrences of the keywords of the search query 212 in the illustrative digital document 402. For example, as shown in FIG. 4, where the search query 212 with the text “Macaron Recipe Pierre Herme” is presented, the frequency vector in the use mode for the illustrative digital document 402 may contain the following values: [5, 0, 2], since (a) linguistic forms of the keyword “Macaron” occur in the illustrative digital document 402 five times, (b) any forms of the keyword “Recipe” are absent in the document, and (c) different forms of the keywords “Pierre Herme” occur twice in the illustrative digital document 402.
[0151] Таким образом, передача векторного представления 514 фраз или векторов частот в режиме использования вместе с векторными представлениями документов для набора 214 цифровых документов позволяет объединенной модели 602 машинного обучения формировать значения 702 параметра ранжирования, учитывая не только семантические связи между отдельными документами из набора 214 цифровых документов и поисковым запросом 212, но и лексические связи между ними. Иными словами, передача векторного представления 514 фраз в объединенную модель 602 машинного обучения позволяет переориентировать объединенную модель 602 машинного обучения с определения степени релевантности каждого из набора 214 цифровых документов поисковому запросу 212 исключительно на основе семантических связей между ними на определение степени релевантности каждого из набора 214 цифровых документов поисковому запросу 212 на основе как семантических, так и лексических связей между ними.[0151] Thus, transmitting the vector representation 514 of phrases or frequency vectors in the mode of use together with the vector representations of documents for the set 214 of digital documents allows the combined machine learning model 602 to generate the values 702 of the ranking parameter, taking into account not only the semantic relationships between individual documents from the set 214 of digital documents and the search query 212, but also the lexical relationships between them. In other words, transmitting the vector representation 514 of phrases to the combined machine learning model 602 allows the combined machine learning model 602 to be reoriented from determining the degree of relevance of each of the set 214 of digital documents to the search query 212 solely on the basis of the semantic relationships between them to determining the degree of relevance of each of the set 214 of digital documents to the search query 212 on the basis of both semantic and lexical relationships between them.
[0152] Это позволяет ранжировать набор 214 цифровых документов так, чтобы цифровым документам, связанным с поисковым запросом 212 как семантически, так и лексически, присваивалось более высокое значение параметра ранжирования, чем связанным с поисковым запросом 212 только семантически или только лексически. Как следствие, степень удовлетворенности пользователя 216 ранжированным набором 220 цифровых документов может быть увеличена.[0152] This allows the set 214 of digital documents to be ranked such that digital documents that are related to the search query 212 both semantically and lexically are assigned a higher ranking parameter value than those that are related to the search query 212 only semantically or only lexically. As a result, the degree of satisfaction of the user 216 with the ranked set 220 of digital documents can be increased.
СпособWay
[0153] С учетом описанной выше архитектуры и приведенных примеров возможна реализация способа ранжирования цифровых документов, таких как набор 214 цифровых документов. На фиг. 9 представлена блок-схема способа 800 в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии. Способ 800 может быть реализован сервером 202.[0153] Taking into account the above-described architecture and the examples given, it is possible to implement a method for ranking digital documents, such as the set 214 of digital documents. Fig. 9 shows a flow chart of a method 800 in accordance with some non-limiting embodiments of the present technology. The method 800 can be implemented by the server 202.
Шаг 802: получение поискового запроса, отправленного пользователем на цифровую платформу.Step 802: Receive the search query submitted by the user to the digital platform.
[0154] Способ 800 начинается с шага 802, на котором сервер 202 может получать поисковый запрос 212, который пользователь 216 электронного устройства 204 отправил на цифровую платформу 210.[0154] The method 800 begins with step 802, in which the server 202 may receive a search query 212 that the user 216 of the electronic device 204 sent to the digital platform 210.
[0155] Следующим шагом в способе 800 является шаг 804.[0155] The next step in method 800 is step 804.
Шаг 804: формирование первого векторного представления, характеризующего поисковый запрос.Step 804: Forming the first vector representation characterizing the search query.
[0156] На шаге 804, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может формировать векторное представление 512 поискового запроса для поискового запроса 212, полученного на шаге 802. Для этого в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии сервер 202 может использовать первую модель 502 машинного обучения, обученную формированию векторных представлений входных фраз, как описано выше со ссылкой на фиг. 5.[0156] In step 804, in accordance with some non-limiting embodiments of the present technology, the server 202 may generate a vector representation 512 of the search query for the search query 212 received in step 802. To do this, in accordance with some non-limiting embodiments of the present technology, the server 202 may use a first machine learning model 502 trained to generate vector representations of input phrases, as described above with reference to Fig. 5.
[0157] Следующим шагом в способе 800 является шаг 806.[0157] The next step in method 800 is step 806.
Шаг 806: нахождение в поисковом индексе цифровой платформы множества цифровых документов-кандидатов, удовлетворяющих поисковому запросу.Step 806: finding in the search index of the digital platform a plurality of candidate digital documents that satisfy the search query.
[0158] На шаге 806, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может находить в базе 206 данных поискового индекса цифровой платформы 210 набор 214 цифровых документов, удовлетворяющих поисковому запросу 212. В связи с этим, как описано выше, сервер 202 может применять математическую модель, которая может включать в себя, например, функцию ранжирования Okapi BM25.[0158] In step 806, in accordance with some non-limiting embodiments of the present technology, the server 202 may find in the database 206 of the search index of the digital platform 210 a set 214 of digital documents that satisfy the search query 212. In this regard, as described above, the server 202 may apply a mathematical model that may include, for example, the Okapi BM25 ranking function.
[0159] Следующим шагом в способе 800 является шаг 808.[0159] The next step in method 800 is step 808.
Шаг 808: получение для каждого цифрового документа-кандидата из множества цифровых документов-кандидатов второго векторного представления, сформированного до поступления поискового запроса.Step 808: obtaining for each candidate digital document from the plurality of candidate digital documents a second vector representation generated prior to receiving the search query.
[0160] На шаге 808, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может получать для каждого цифрового документа из набора 214 цифровых документов векторное представление документа, такое как векторное представление 516 документа для иллюстративного цифрового документа 402 из набора 214 цифровых документов.[0160] At step 808, in accordance with some non-limiting embodiments of the present technology, the server 202 may obtain, for each digital document of the set 214 of digital documents, a vector representation of the document, such as a vector representation 516 of the document for an illustrative digital document 402 of the set 214 of digital documents.
[0161] Как указано выше, перед получением поискового запроса 212 на шаге 802, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может формировать векторное представление 516 документа, используя вторую модель 504 машинного обучения, обученную формированию векторных представлений входных цифровых документов, как описано выше со ссылкой на фиг. 6. Кроме того, сервер 202 может сохранять векторное представление 516 документа в базе 206 данных поискового индекса в привязке к иллюстративному цифровому документу 402 для его последующего использования при ранжировании цифровых документов.[0161] As noted above, prior to receiving the search query 212 in step 802, in accordance with some non-limiting embodiments of the present technology, the server 202 may generate a vector representation 516 of the document using a second machine learning model 504 trained to generate vector representations of input digital documents, as described above with reference to Fig. 6. In addition, the server 202 may store the vector representation 516 of the document in the search index database 206 in association with the illustrative digital document 402 for subsequent use in ranking digital documents.
[0162] Следующим шагом в способе 800 является шаг 810.[0162] The next step in method 800 is step 810.
Шаг 810: нахождение для каждого документа-кандидата из множества цифровых документов-кандидатов по меньшей мере одной фразы-кандидата, лексически связанной с по меньшей мере одним ключевым словом поискового запроса.Step 810: finding for each candidate document of the plurality of candidate digital documents at least one candidate phrase lexically related to at least one keyword of the search query.
[0163] На шаге 810, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может находить в цифровом документе из набора 214 цифровых документов по меньшей мере одну фразу-кандидат, лексически связанную с поисковым запросом 212, например, множество 404 фраз-кандидатов, найденных в иллюстративном цифровом документе 402, как описано выше со ссылкой на фиг. 4.[0163] At step 810, in accordance with some non-limiting embodiments of the present technology, the server 202 may find in the digital document from the set 214 of digital documents at least one candidate phrase lexically related to the search query 212, for example, a plurality 404 of candidate phrases found in the illustrative digital document 402, as described above with reference to Fig. 4.
[0164] В частности, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 может (а) формировать для каждой фразы иллюстративного цифрового документа 402 вектор, содержащий числовое представление фразы в пространстве векторных представлений, (б) определять, используя такие векторы, для каждой фразы иллюстративного цифрового документа 402 значение метрики близости к поисковому запросу 212, (в) ранжировать фразы иллюстративного цифрового документа 402 в зависимости от значений метрики близости и (г) выбирать для включения во множество фраз-кандидатов N приоритетных фраз, лексически связанных с поисковым запросом 212. Как указано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии метрика близости может характеризовать расстояние между вектором, представляющим фразу иллюстративного цифрового документа 402, и вектором, представляющим поисковый запрос 212, в пространстве векторных представлений. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии метрика близости может представлять собой косинусоидальную метрику близости.[0164] In particular, in some non-limiting embodiments of the present technology, the server 202 may (a) generate, for each phrase of the illustrative digital document 402, a vector comprising a numeric representation of the phrase in a vector representation space, (b) determine, using such vectors, for each phrase of the illustrative digital document 402 a value of a metric of closeness to the search query 212, (c) rank the phrases of the illustrative digital document 402 depending on the values of the metric of closeness, and (d) select for inclusion in the set of candidate phrases N priority phrases lexically related to the search query 212. As noted above, in some non-limiting embodiments of the present technology, the closeness metric may characterize the distance between the vector representing the phrase of the illustrative digital document 402 and the vector representing the search query 212 in the space of vector representations. In some non-limiting embodiments of the present technology, the proximity metric may be a cosine proximity metric.
[0165] Следующим шагом в способе 800 является шаг 812.[0165] The next step in method 800 is step 812.
Шаг 812: формирование третьего векторного представления, характеризующего по меньшей мере одну фразу-кандидат.Step 812: forming a third vector representation characterizing at least one candidate phrase.
[0166] На шаге 812, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может формировать векторное представление 514 фраз для множества 404 фраз-кандидатов, лексически связанных с поисковым запросом 212. Для этого сервер 202 может использовать первую модель 502 машинного обучения, обученную формированию векторных представлений входных фраз, как описано выше со ссылкой на фиг. 5.[0166] In step 812, in accordance with some non-limiting embodiments of the present technology, the server 202 may generate a vector representation 514 of phrases for the plurality 404 candidate phrases lexically related to the search query 212. To do this, the server 202 may use a first machine learning model 502 trained to generate vector representations of input phrases, as described above with reference to Fig. 5.
[0167] В других не имеющих ограничительного характера вариантах осуществления вместо векторного представления 514 фраз сервер 202 способен формировать векторы частоты в режиме использования, каждый из которых содержит значения, характеризующие количество вхождений ключевых слов поискового запроса 212 в иллюстративный цифровой документ 402, как описано выше со ссылкой на фиг. 4 и 8.[0167] In other non-limiting embodiments, instead of the vector representation 514 of phrases, the server 202 is configured to generate frequency vectors in use mode, each of which contains values characterizing the number of occurrences of the keywords of the search query 212 in the illustrative digital document 402, as described above with reference to Figs. 4 and 8.
[0168] Следующим шагом в способе 800 является шаг 814.[0168] The next step in method 800 is step 814.
Шаг 814: определение на основе первого, второго и третьего векторных представлений значения параметра ранжирования для каждого документа-кандидата из множества цифровых документов-кандидатов.Step 814: determining, based on the first, second and third vector representations, a ranking parameter value for each candidate document from the plurality of candidate digital documents.
[0169] На шаге 814 на основе векторного представления 512 поискового запроса, векторных представлений документов для каждого документа из набора 214 цифровых документов и векторного представления 514 фраз (или векторов частоты вхождения ключевых слов из поискового запроса 212 в режиме использования) для множества 404 фраз-кандидатов, лексически связанных с поисковым запросом 202, сервер 202 может ранжировать набор 214 цифровых документов с учетом их лексических и семантических связей с поисковым запросом 212.[0169] At step 814, based on the vector representation 512 of the search query, the vector representations of the documents for each document from the set 214 of digital documents, and the vector representation 514 of phrases (or vectors of frequency of occurrence of keywords from the search query 212 in use mode) for the plurality 404 candidate phrases lexically related to the search query 202, the server 202 may rank the set 214 of digital documents taking into account their lexical and semantic relationships with the search query 212.
[0170] Для этого, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может использовать объединенную модель 602 машинного обучения, обученную, как описано выше со ссылкой на фиг. 7. В частности, как описано выше со ссылкой на фиг. 8, сервер 202 может передавать (а) векторное представление 512 поискового запроса, (б) векторное представление 514 фраз и (в) векторные представления документов для набора 214 цифровых документов в объединенную модель 602 машинного обучения, обеспечивая формирование объединенной моделью 602 машинного обучения значений 702 параметра ранжирования для набора 214 цифровых документов. Как указано выше, значение параметра ранжирования характеризует степень релевантности цифрового документа поисковому запросу 212.[0170] To this end, in accordance with some non-limiting embodiments of the present technology, the server 202 may use a combined machine learning model 602 trained as described above with reference to Fig. 7. In particular, as described above with reference to Fig. 8, the server 202 may feed (a) a vector representation 512 of the search query, (b) a vector representation 514 of the phrases, and (c) vector representations of the documents for the set 214 of digital documents to the combined machine learning model 602, causing the combined machine learning model 602 to generate ranking parameter values 702 for the set 214 of digital documents. As indicated above, the ranking parameter value characterizes the degree of relevance of the digital document to the search query 212.
Шаг 816: ранжирование множества цифровых документов-кандидатов на основе связанных с ними значений параметра ранжирования.Step 816: Ranking a plurality of candidate digital documents based on the ranking parameter values associated with them.
[0171] Наконец, на шаге 816, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 может ранжировать набор 214 цифровых документов в зависимости от значений 702 параметра ранжирования, определенных на шаге 814, формируя ранжированный набор 220 цифровых документов. Кроме того, сервер 202 может передавать ранжированный набор 220 цифровых документов в электронное устройство 204 для его представления пользователю 216.[0171] Finally, in step 816, in accordance with some non-limiting embodiments of the present technology, the server 202 may rank the set 214 of digital documents depending on the ranking parameter values 702 determined in step 814, forming a ranked set 220 of digital documents. In addition, the server 202 may transmit the ranked set 220 of digital documents to the electronic device 204 for presentation to the user 216.
[0172] На этом реализация способа 800 завершается.[0172] This completes the implementation of method 800.
[0173] Таким образом, некоторые варианты осуществления способа 800 дают возможность вводить в объединенную модель 602 машинного обучения информацию, характеризующую лексические связи между цифровыми документами и поисковым запросом 212, что дополнительно позволяет ранжировать набор 214 цифровых документов так, чтобы цифровым документам, связанным с поисковым запросом 212 как семантически, так и лексически, присваивалось более высокое значение параметра ранжирования, чем цифровым документам, связанным с поисковым запросом 212 только семантически или только лексически. Это позволяет увеличить степень удовлетворенности пользователя 216 ранжированным набором 220 цифровых документов.[0173] Thus, some embodiments of the method 800 make it possible to input into the combined machine learning model 602 information characterizing lexical relationships between digital documents and the search query 212, which further allows ranking the set 214 of digital documents so that digital documents related to the search query 212 both semantically and lexically are assigned a higher ranking parameter value than digital documents related to the search query 212 only semantically or only lexically. This allows increasing the degree of satisfaction of the user 216 with the ranked set 220 of digital documents.
[0174] Также следует понимать, что представленные в настоящем документе варианты осуществления описаны со ссылкой на конкретные признаки и структуры, но без отступления от существа этого описания возможны их различные модификации и комбинации. Например, различные оптимизации, применимые к нейронным сетям, включая трансформеры и/или BERT, могут быть применены и в описанной технологии. Кроме того, могут использоваться оптимизации, ускоряющие определение релевантности в режиме использования. Например, в некоторых вариантах реализации модель трансформера может быть разделена так, чтобы обеспечивалось распределение некоторых трансформерных блоков между задачами обработки запроса и обработки документа, позволяющее заранее вычислять представления документов в автономном режиме и сохранять их в поисковом индексе документов. Описание и, соответственно, чертежи следует рассматривать лишь как иллюстрацию представленных вариантов реализации или осуществления и их принципов, определяемых приложенной формулой изобретения, при этом предполагается, что они охватывают все модификации, вариации, комбинации и эквиваленты в пределах существа и объема настоящего изобретения.[0174] It should also be understood that the embodiments presented herein are described with reference to specific features and structures, but various modifications and combinations thereof are possible without departing from the spirit of this description. For example, various optimizations applicable to neural networks, including transformers and/or BERT, can be applied to the described technology. In addition, optimizations that speed up the determination of relevance in use mode can be used. For example, in some embodiments, the transformer model can be divided so as to ensure that some transformer blocks are distributed between the tasks of query processing and document processing, allowing document representations to be pre-computed offline and stored in a document search index. The description and, accordingly, the drawings should be considered only as illustrating the presented embodiments or implementations and their principles defined by the appended claims, while it is intended that they cover all modifications, variations, combinations and equivalents within the spirit and scope of the present invention.
Claims (45)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/974,147 US20250190480A1 (en) | 2023-12-12 | 2024-12-09 | System and a method of training a machine-learning models for search results ranking |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2829065C1 true RU2829065C1 (en) | 2024-10-23 |
Family
ID=
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2018122689A (en) * | 2018-06-21 | 2019-12-24 | Общество С Ограниченной Ответственностью "Яндекс" | METHOD AND SELECTION SYSTEM FOR RANKING SEARCH RESULTS USING THE MACHINE LEARNING ALGORITHM |
| US20200005149A1 (en) * | 2018-06-28 | 2020-01-02 | Microsoft Technology Licensing, Llc | Applying learning-to-rank for search |
| RU2711125C2 (en) * | 2017-12-07 | 2020-01-15 | Общество С Ограниченной Ответственностью "Яндекс" | System and method of forming training set for machine learning algorithm |
| RU2720905C2 (en) * | 2018-09-17 | 2020-05-14 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for expanding search queries in order to rank search results |
| US20200257712A1 (en) * | 2019-02-13 | 2020-08-13 | Optum Technology, Inc. | Document indexing, searching, and ranking with semantic intelligence |
| RU2733481C2 (en) * | 2018-12-13 | 2020-10-01 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for generating feature for ranging document |
| US20210097472A1 (en) * | 2019-09-30 | 2021-04-01 | Oracle International Corporation | Method and system for multistage candidate ranking |
| RU2775815C2 (en) * | 2020-12-22 | 2022-07-11 | Общество С Ограниченной Ответственностью «Яндекс» | Methods and servers for ranking digital documents in response to a query |
| US11475067B2 (en) * | 2019-11-27 | 2022-10-18 | Amazon Technologies, Inc. | Systems, apparatuses, and methods to generate synthetic queries from customer data for training of document querying machine learning models |
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2711125C2 (en) * | 2017-12-07 | 2020-01-15 | Общество С Ограниченной Ответственностью "Яндекс" | System and method of forming training set for machine learning algorithm |
| RU2018122689A (en) * | 2018-06-21 | 2019-12-24 | Общество С Ограниченной Ответственностью "Яндекс" | METHOD AND SELECTION SYSTEM FOR RANKING SEARCH RESULTS USING THE MACHINE LEARNING ALGORITHM |
| US20200005149A1 (en) * | 2018-06-28 | 2020-01-02 | Microsoft Technology Licensing, Llc | Applying learning-to-rank for search |
| RU2720905C2 (en) * | 2018-09-17 | 2020-05-14 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for expanding search queries in order to rank search results |
| RU2733481C2 (en) * | 2018-12-13 | 2020-10-01 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for generating feature for ranging document |
| US20200257712A1 (en) * | 2019-02-13 | 2020-08-13 | Optum Technology, Inc. | Document indexing, searching, and ranking with semantic intelligence |
| US20210097472A1 (en) * | 2019-09-30 | 2021-04-01 | Oracle International Corporation | Method and system for multistage candidate ranking |
| US11475067B2 (en) * | 2019-11-27 | 2022-10-18 | Amazon Technologies, Inc. | Systems, apparatuses, and methods to generate synthetic queries from customer data for training of document querying machine learning models |
| RU2775815C2 (en) * | 2020-12-22 | 2022-07-11 | Общество С Ограниченной Ответственностью «Яндекс» | Methods and servers for ranking digital documents in response to a query |
| RU2021133942A (en) * | 2021-11-22 | 2023-06-30 | Общество С Ограниченной Ответственностью "Яндекс" | MULTI-STAGE TRAINING OF MACHINE LEARNING MODELS FOR RANKING RESULTS |
| RU2021135486A (en) * | 2021-12-02 | 2023-10-05 | Общество С Ограниченной Ответственностью "Яндекс" | MULTISTAGE TRAINING OF MACHINE LEARNING MODELS FOR RANKING SEARCH RESULTS |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hu et al. | Rag and rau: A survey on retrieval-augmented language model in natural language processing | |
| US12353409B2 (en) | Methods and systems for improved document processing and information retrieval | |
| US11681713B2 (en) | Method of and system for ranking search results using machine learning algorithm | |
| US11562292B2 (en) | Method of and system for generating training set for machine learning algorithm (MLA) | |
| Shi et al. | Keyphrase extraction using knowledge graphs | |
| US20150363688A1 (en) | Modeling interestingness with deep neural networks | |
| RU2720074C2 (en) | Method and system for creating annotation vectors for document | |
| US12259912B2 (en) | Method and system for interactive searching based on semantic similarity of semantic representations of text objects | |
| CN107368515A (en) | The application program page recommends method and system | |
| US20250148301A1 (en) | Methods and systems for training a decision-tree based machine learning algorithm (mla) | |
| US20250252265A1 (en) | Generating answers to contextual queries within a closed domain | |
| Zhang et al. | Xlink: An unsupervised bilingual entity linking system | |
| Tang et al. | Labeled Phrase Latent Dirichlet Allocation and its online learning algorithm | |
| RU2829065C1 (en) | System and method for training machine learning models for ranking search results | |
| Roostaee | Citation worthiness identification for fine-grained citation recommendation systems | |
| Lin et al. | Introduction to the special issue of recent advances in computational linguistics for Asian languages | |
| Zheng et al. | Terminology extraction of new energy vehicle patent texts based on BERT-BILSTM-CRF | |
| US20250190480A1 (en) | System and a method of training a machine-learning models for search results ranking | |
| Wang et al. | Uncovering Novel Scientific Insights with a Synergistic GNN-LLM Framework | |
| RU2832419C2 (en) | System and method for training machine learning models for ranking search results | |
| US12373445B2 (en) | System and a method of training a machine-learning models for search results ranking | |
| RU2831678C2 (en) | Multistage training of machine learning models for ranking results | |
| Guo et al. | Deep natural language processing for linkedin search | |
| RU2815896C2 (en) | Method and system for checking media content | |
| Zheng et al. | Outperforming larger models on text classification through continued pre-training |