RU2798362C2 - Method and server for teaching a neural network to form a text output sequence - Google Patents

Method and server for teaching a neural network to form a text output sequence Download PDF

Info

Publication number
RU2798362C2
RU2798362C2 RU2020132862A RU2020132862A RU2798362C2 RU 2798362 C2 RU2798362 C2 RU 2798362C2 RU 2020132862 A RU2020132862 A RU 2020132862A RU 2020132862 A RU2020132862 A RU 2020132862A RU 2798362 C2 RU2798362 C2 RU 2798362C2
Authority
RU
Russia
Prior art keywords
training
sequence
content
server
text
Prior art date
Application number
RU2020132862A
Other languages
Russian (ru)
Other versions
RU2020132862A (en
Inventor
Алексей Сергеевич Петров
Сергей Дмитриевич Губанов
Сергей Александрович Гайдаенко
Original Assignee
Общество С Ограниченной Ответственностью «Яндекс»
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью «Яндекс» filed Critical Общество С Ограниченной Ответственностью «Яндекс»
Priority to RU2020132862A priority Critical patent/RU2798362C2/en
Priority to US17/490,620 priority patent/US20220108685A1/en
Publication of RU2020132862A publication Critical patent/RU2020132862A/en
Application granted granted Critical
Publication of RU2798362C2 publication Critical patent/RU2798362C2/en

Links

Images

Abstract

FIELD: neural networks.
SUBSTANCE: invention relates to a method and a server for training an attention neural network (ANN) to generate a text output sequence. The technical result consists in the possibility of generating a relevant text output sequence, which is a summary of the content of a plurality of content resources. In the method, the server inputs a training request and a training text input sequence into the encoder subnet, while the training text input sequence (a) is formed as a sequence of training content snippets and (b) is divided into a sequence of input groups, and the input group is associated with a training content snippet and contains words from this learning content snippet; the encoded representation of the training text input sequence is generated by the server using the encoder subnet, including the generation of the attention output for the corresponding words from the training text input sequence by applying an attention restriction mask to the training text input sequence, and the attention output is used to form an encoded representation of the training text input sequence, when generating output data of the "attention" type for a word from the input group, the attention restriction mask allows you to "take into account" only words from this input group so that the output data of the "attention" type is formed based on the context this input group, and not the contexts of other input groups in the training text input sequence; generating, by the server using the decoder subnet, a decoded representation for the training text input sequence corresponding to the predicted text output sequence; generating, by the server, a penalty estimate for the training iteration by comparing the predicted text output sequence with a predetermined text output sequence representing a predetermined response to the training request; and adjusting the ANN network server based on the penalty estimate.
EFFECT: possibility of generating a relevant text output sequence, which is a summary of the content of a plurality of content resources.
32 cl, 7 dwg

Description

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

[01] Настоящая технология относится к системам интеллектуальных персональных помощников (IPA, Intelligent Personal Assistant) и, в частности, к способу и электронному устройству для обучения нейронной сети формированию текстовой выходной последовательности.[01] The present technology relates to intelligent personal assistant (IPA, Intelligent Personal Assistant) systems and, in particular, to a method and electronic device for teaching a neural network to form a text output sequence.

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

[02] Электронные устройства, такие как смартфоны и планшеты, обеспечивают доступ к постоянно растущему количеству разнообразных приложений и сервисов для обработки информации различных видов и/или для доступа к ней. Тем не менее начинающие пользователи и/или пользователи с ограниченными возможностями и/или пользователи, управляющие транспортным средством, могут не иметь возможности эффективно взаимодействовать с такими устройствами, главным образом, вследствие разнообразия функций, предоставляемых такими устройствами, или из-за невозможности использовать интерфейсы пользователь-машина, предоставляемые такими устройствами (такие как клавиатура или сенсорный экран). Например, пользователь, управляющий транспортным средством, или пользователь с нарушениями зрения может не иметь возможности использовать клавиатуру на сенсорном экране, реализованную в некоторых из этих устройств.[02] Electronic devices such as smartphones and tablets provide access to an ever-growing variety of applications and services for processing and/or accessing information of various kinds. However, novice users and/or users with disabilities and/or users driving a vehicle may not be able to interact effectively with such devices, mainly due to the variety of functions provided by such devices or the inability to use user interfaces. - a machine provided by such devices (such as a keyboard or touch screen). For example, a user driving a vehicle or a visually impaired user may not be able to use the touch screen keyboard implemented in some of these devices.

[03] Для выполнения функций по запросам пользователя разработаны системы IPA. Например, системы IPA могут использоваться для поиска информации и для навигации. Традиционная система IPA, например, такая как система IPA Siri®, может принимать от устройства простые вводимые человеком данные на естественном языке и выполнять для пользователя множество задач. Например, пользователь может обмениваться информацией с системой IPA Siri®, предоставляя речевые фрагменты (через голосовой интерфейс Siri®), в частности, чтобы узнать текущую погоду, местоположение ближайшего торгового центра и т.п. Пользователь также может запрашивать выполнение различных приложений, установленных на электронном устройстве.[03] IPA systems have been developed to perform user-requested functions. For example, IPA systems can be used for information retrieval and for navigation. A traditional IPA system, such as the IPA Siri® system, for example, can receive simple human input in natural language from a device and perform a variety of tasks for the user. For example, the user may communicate with the IPA Siri® system by providing speech cues (via the Siri® voice interface), such as the current weather, the location of the nearest shopping mall, and the like. The user may also request the execution of various applications installed on the electronic device.

[04] Традиционные системы IPA способны обеспечивать пользователям возможность ввода речевых поисковых запросов. Например, традиционные системы IPA могут формировать текстовое представление произнесенного запроса и запускать поиск релевантной информации.[04] Conventional IPA systems are capable of allowing users to enter speech search queries. For example, traditional IPA systems can generate a textual representation of a spoken query and trigger a search for relevant information.

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

[05] Системы IPA используются для поддержки речевого взаимодействия между пользователями и электронными устройствами. Это обеспечивает удобное взаимодействие пользователей с такими устройствами, например, когда пользователь имеет нарушения зрения, а также когда в устройстве не предусмотрен традиционный визуальный дисплей (например, в умной колонке) и/или когда руки или глаза пользователя заняты (например, при вождении).[05] IPA systems are used to support voice interaction between users and electronic devices. This provides a convenient user interaction with such devices, for example, when the user has a visual impairment, and also when the device does not provide a traditional visual display (for example, in a smart speaker) and / or when the user's hands or eyes are busy (for example, when driving).

[06] Разработчики настоящей технологии обнаружили определенные технические недостатки, связанные с существующими системами IPA. По меньшей мере один недостаток традиционных систем IPA заключается в их ограниченных возможностях работы с речевыми запросами и, в частности, в ограничениях при предоставлении ответов в звуковом формате. Это главным образом объясняется тем, что пользователи, ожидающие ответ в звуковом формате, обычно предпочитают краткие ответы, а разработка системы IPA, способной сжато предоставлять информацию в ответ множество запросов, которые пользователи потенциально могут вводить, представляет собой технически сложную задачу. Например, некоторые традиционные системы непригодны для формирования сводки релевантного контента, достаточно краткой для предоставления пользователю в звуковом формате. В другом примере другие традиционные системы непригодны для использования контекста, к которому относится контент, для формирования лучшей сводки контента.[06] The developers of the present technology have discovered certain technical shortcomings associated with existing IPA systems. At least one disadvantage of conventional IPA systems is their limited ability to handle speech requests and, in particular, limitations in providing audio responses. This is mainly because users who expect an audio response generally prefer short responses, and designing an IPA system that can succinctly provide information in response to the many queries that users could potentially enter is a technical challenge. For example, some conventional systems are not suitable for generating a summary of relevant content that is concise enough to be presented to the user in audio format. In another example, other conventional systems are not suitable for using the context to which the content relates to form a better summary of the content.

[07] Целью настоящего изобретения является устранение по меньшей мере некоторых недостатков известных решений. Разработчики настоящей технологии разработали систему, в которой некоторый контент, определенный как релевантный запросу, обрабатывается нейронной сетью (NN, Neural Network). В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть NN может представлять собой сеть NN вида «внимание» (ANN, Attention-type NN), содержащую подсеть кодера и подсеть декодера, способные обрабатывать последовательности данных, при этом в подсети кодера реализован конкретный механизм внимания.[07] The aim of the present invention is to eliminate at least some of the shortcomings of the known solutions. The developers of the present technology have developed a system in which some content determined to be relevant to a query is processed by a neural network (NN, Neural Network). In at least some non-limiting embodiments of the present technology, the NN may be an Attention-type NN (ANN) containing an encoder subnet and a decoder subnet capable of processing data sequences, while in the encoder subnet implemented a specific attention mechanism.

[08] В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии можно сказать, что механизм внимания подсети кодера способен применять маску ограничения внимания в отношении входной последовательности данных. Предполагается, что входная последовательность данных может содержать входные группы, соответствующие сниппетам контента из релевантного запросу контента, полученного, например, от сервера поисковой системы, способного выполнять веб-поиски в ответ на пользовательские поисковые запросы. В результате применения маски ограничения внимания в отношении элемента входной последовательности, в которой размечены такие входные группы, подсеть кодера может «принимать во внимание» контекст входной группы этого элемента, а не контекст других входных групп. Таким образом, можно сказать, что контекст, полученный для элемента с помощью механизма внимания, основан на контексте входной группы этого элемента, а не на других контекстах других входных групп.[08] In at least some non-restrictive embodiments of the present technology, the encoder's subnet attention mechanism can be said to be capable of applying an attention restriction mask to an input data sequence. It is contemplated that the input data sequence may comprise input groups corresponding to content snippets from query-relevant content received, for example, from a search engine server capable of performing web searches in response to user search queries. As a result of applying the attention constraint mask to an element of an input sequence in which such input groups are labeled, the encoder subnet can "take into account" the context of that element's input group, rather than the context of other input groups. Thus, we can say that the context obtained for an element using the attention mechanism is based on the context of the input group of this element, and not on other contexts of other input groups.

[09] Согласно первому аспекту настоящей технологии реализован способ обучения сети ANN формированию текстовой выходной последовательности на основе текстовой входной последовательности и запроса. Текстовая входная последовательность формируется в виде последовательности сниппетов контента, полученных из соответствующих контент-ресурсов, релевантных запросу. Текстовая выходная последовательность представляет собой сводку контента последовательности сниппетов контента, которая должна использоваться в качестве ответа на запрос. Сеть ANN содержит подсеть кодера и подсеть декодера. Способ выполняется сервером, на котором реализована сеть ANN. Способ на итерации обучения сети ANN включает в себя ввод сервером обучающего запроса и обучающей текстовой входной последовательности в подсеть кодера. Обучающая текстовая входная последовательность (а) формируется в виде последовательности обучающих сниппетов контента и (б) разделяется на последовательность входных групп. Входная группа связана с обучающим сниппетом контента и содержит слова из обучающего сниппета контента. Способ на итерации обучения сети ANN включает в себя формирование сервером, использующим подсеть кодера, кодированного представления обучающей текстовой входной последовательности, включая формирование выходных данных вида «внимание» для соответствующих слов из обучающей текстовой входной последовательности путем применения маски ограничения внимания в отношении обучающей текстовой входной последовательности. Выходные данные вида «внимание» используются для формирования кодированного представления обучающей текстовой входной последовательности. При формировании выходных данных вида «внимание» для слова из входной группы маска ограничения внимания позволяет «принимать во внимание» только слова из этой входной группы так, чтобы выходные данные вида «внимание» формировались на основе контекста этой входной группы, а не контекстов других входных групп в обучающей текстовой входной последовательности. Способ на итерации обучения сети ANN включает в себя формирование сервером, использующим подсеть декодера, декодированного представления обучающей текстовой входной последовательности. Такое декодированное представление соответствует прогнозируемой текстовой выходной последовательности. Способ на итерации обучения сети ANN включает в себя формирование сервером оценки штрафа для итерации обучения путем сравнения прогнозируемой текстовой выходной последовательности с заранее заданной текстовой выходной последовательностью. Заранее заданная текстовая выходная последовательность представляет собой заранее заданный ответ на обучающий запрос. Способ на итерации обучения сети ANN включает в себя корректировку сервером сети ANN на основе оценки штрафа.[09] According to a first aspect of the present technology, a method for teaching an ANN to generate a text output sequence based on a text input sequence and a query is implemented. The text input sequence is formed as a sequence of content snippets obtained from the corresponding content resources relevant to the query. The text output sequence is a summary of the content of the sequence of content snippets to be used as a response to a query. The ANN contains an encoder subnet and a decoder subnet. The method is performed by the server on which the ANN network is implemented. The method at the training iteration of the ANN network includes the input by the server of the training query and the training text input sequence into the encoder subnet. The training text input sequence (a) is formed as a sequence of training content snippets and (b) is divided into a sequence of input groups. The input group is associated with the training content snippet and contains the words from the training content snippet. The method at the training iteration of the ANN network includes the formation by the server using the encoder subnet of an encoded representation of the training text input sequence, including the generation of output data of the form "attention" for the corresponding words from the training text input sequence by applying an attention restriction mask in relation to the training text input sequence . The output data of the "attention" type is used to form an encoded representation of the training text input sequence. When generating attention-type output for a word from an input group, the attention constraint mask allows you to "take into account" only words from this input group so that the attention-type output is generated based on the context of this input group, and not the contexts of other input groups. groups in the training text input sequence. The method at the training iteration of the ANN network includes generating, by the server using the decoder subnet, a decoded representation of the training text input sequence. Such a decoded representation corresponds to the predicted text output sequence. The method at the training iteration of the ANN network includes generating a penalty estimate for the training iteration by the server by comparing a predicted text output sequence with a predetermined text output sequence. The predefined text output sequence is a predefined response to the training query. The method in the ANN training iteration includes updating the ANN network by the server based on the penalty estimate.

[10] В некоторых вариантах осуществления способа формируемые выходные данные вида «внимание» дополнительно основываются на контексте из обучающего запроса.[10] In some embodiments of the method, the generated attention output is further based on the context from the training query.

[11] В некоторых вариантах осуществления способа на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность. Способ на другой итерации обучения дополнительно включает в себя обучение сети ANN на основе другого обучающего набора данных. Другой обучающий набор данных содержит (а) обучающий запрос, (б) модифицированную обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность. Входные группы в модифицированной обучающей текстовой входной последовательности расположены в порядке, отличном от порядка входных групп в обучающей текстовой входной последовательности.[11] In some embodiments of the method, in a training iteration, the ANN is trained based on a training dataset containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence. The method at another training iteration further includes training the ANN based on the other training dataset. The other training dataset contains (a) a training query, (b) a modified training text input sequence, and (c) a predefined text output sequence. The input groups in the modified training text input sequence are in an order different from the order of the input groups in the training text input sequence.

[12] В некоторых вариантах осуществления способ дополнительно включает в себя формирование обучающего сниппета контента из последовательности обучающих сниппетов контента. Такое формирование включает в себя ввод сервером обучающего запроса и контента из обучающего контент-ресурса в алгоритм машинного обучения (MLA, Machine Learning Algorithm), способный выдавать прогнозируемый сниппет контента. Алгоритм MLA обучен формированию прогнозируемого сниппета контента так, чтобы прогнозируемый сниппет контента был подобен заранее заданной текстовой выходной последовательности. Прогнозируемый сниппет контента представляет собой обучающий сниппет контента.[12] In some embodiments, the method further includes generating a training content snippet from a sequence of training content snippets. Such formation includes input by the server of the training request and content from the training content resource into a machine learning algorithm (MLA, Machine Learning Algorithm) capable of producing a predictable content snippet. The MLA algorithm is trained to generate a predictable content snippet such that the predicted content snippet is similar to a predefined text output sequence. A predictable content snippet is a training content snippet.

[13] В некоторых вариантах осуществления способа на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность. Итерация обучения выполняется на первом этапе обучения сети ANN, включающем в себя первое множество итераций обучения. Способ дополнительно включает в себя выполнение второго этапа обучения сети ANN. Второй этап обучения сети ANN содержит второе множество итераций обучения. На другой итерации обучения из второго множества итераций обучения сеть ANN обучается на основе другого обучающего набора данных. Другой обучающий набор данных представляет собой набор из множества заранее заданных обучающих наборов данных, подлежащих использованию при выполнении второго множества итераций обучения. Другой обучающий набор данных выбирается оценщиком-человеком.[13] In some embodiments of the method, in a training iteration, the ANN is trained based on a training dataset containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence. The training iteration is performed at the first stage of training the ANN, which includes the first set of training iterations. The method further includes performing a second step of training the ANN. The second stage of ANN training contains a second set of training iterations. In another training iteration of the second set of training iterations, the ANN is trained on a different training dataset. The other training dataset is a set of a plurality of predefined training datasets to be used in performing the second plurality of training iterations. Another training dataset is selected by the human estimator.

[14] В некоторых вариантах осуществления способа на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность. Заранее заданная текстовая выходная последовательность определена оценщиком-человеком. Оценщик-человек определяет заранее заданную текстовую выходную последовательность из контента по меньшей мере одного из обучающих контент-ресурсов, связанных с обучающими сниппетами контента.[14] In some embodiments of the method, in a training iteration, the ANN is trained based on a training dataset containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence. The predetermined textual output sequence is determined by the human evaluator. The human evaluator determines a predetermined textual output sequence from the content of at least one of the learning content resources associated with the learning content snippets.

[15] В некоторых вариантах осуществления способ дополнительно включает в себя (а) формирование сервером текстового представления запроса на основе звукового представления речевого фрагмента пользователя, указывающего на запрос пользователя, связанного с электронным устройством, (б) определение сервером результатов поиска, соответствующих текстовому представлению запроса, при этом результат поиска содержит сниппет контента и указывает на контент-ресурс, релевантный запросу, (в) формирование сервером текстовой входной последовательности в виде последовательности сниппетов контента на основе сниппетов контента результатов поиска, (г) ввод сервером текстовой входной последовательности и текстового представления запроса в сеть ANN, способную выдавать текстовую выходную последовательность, представляющую собой сводку контента последовательности сниппетов контента и подлежащую использованию в качестве ответа на запрос, (д) формирование сервером звукового представления текстовой выходной последовательности, представляющего собой формируемый компьютером речевой фрагмент ответа, и (е) предоставление сервером электронному устройству, связанному с пользователем, звукового представления текстовой выходной последовательности.[15] In some embodiments, the method further includes (a) generating, by the server, a text representation of the query based on an audio representation of the user's speech indicative of a query by the user associated with the electronic device, (b) determining, by the server, search results corresponding to the text representation of the query. , wherein the search result contains a content snippet and points to a content resource relevant to the query, (c) the server generates a text input sequence in the form of a sequence of content snippets based on the content snippets of the search results, (d) the server enters a text input sequence and a textual representation of the query to an ANN capable of providing a text output sequence representing a summary of the content of a sequence of content snippets to be used as a response to the request, (e) generating by the server an audio representation of the text output sequence representing a computer-generated speech fragment of the response, and (f) providing by the server to the electronic device associated with the user, the audio representation of the text output sequence.

[16] В некоторых вариантах осуществления способа корректировка сети ANN включает в себя применение сервером метода обратного распространения в отношении сети ANN.[16] In some embodiments of the method, updating the ANN includes applying backpropagation to the ANN by the server.

[17] В некоторых вариантах осуществления способа он дополнительно включает в себя получение сниппетов контента из соответствующих контент-ресурсов, релевантных запросу.[17] In some embodiments of the method, it further includes obtaining content snippets from corresponding content resources relevant to the query.

[18] В некоторых вариантах осуществления способа такое получение включает в себя выполнение поиска с использованием поисковой системы и запроса в качестве входных данных.[18] In some embodiments of the method, such obtaining includes performing a search using a search engine and a query as input.

[19] В некоторых вариантах осуществления способа такое получение дополнительно включает в себя получение N наиболее релевантных сниппетов, связанных с N лучшими результатами поиска.[19] In some embodiments of the method, such obtaining further includes obtaining the N most relevant snippets associated with the N best search results.

[20] В некоторых вариантах осуществления способа он дополнительно включает в себя получение заранее заданной текстовой выходной последовательности.[20] In some embodiments of the method, it further includes obtaining a predetermined text output sequence.

[21] В некоторых вариантах осуществления способа такое получение осуществляется от оценщика-человека.[21] In some embodiments of the method, such acquisition is from a human evaluator.

[22] В некоторых вариантах осуществления способа он дополнительно включает в себя получение указания на контент-ресурс, использованный оценщиком-человеком для формирования заранее заданной текстовой выходной последовательности.[22] In some embodiments of the method, it further includes obtaining an indication of the content resource used by the human evaluator to generate a predetermined text output sequence.

[23] В некоторых вариантах осуществления способа контент-ресурс используется для проверки заранее заданной текстовой выходной последовательности.[23] In some embodiments of the method, the content resource is used to validate a predetermined textual output sequence.

[24] В некоторых вариантах осуществления способа контент-ресурс представляет собой сетевой ресурс, соответствующий обучающему запросу и полученный путем выполнения поиска с использованием поисковой системы.[24] In some embodiments of the method, the content resource is a network resource corresponding to the training query and obtained by performing a search using a search engine.

[25] Согласно второму аспекту настоящей технологии реализован сервер для обучения сети ANN формированию текстовой выходной последовательности на основе текстовой входной последовательности и запроса. Текстовая входная последовательность формируется в виде последовательности сниппетов контента, полученных из соответствующих контент-ресурсов, релевантных запросу. Текстовая выходная последовательность представляет собой сводку контента последовательности сниппетов контента, которая должна использоваться в качестве ответа на запрос. Сеть ANN реализована на сервере и содержит подсеть кодера и подсеть декодера. Сервер на итерации обучения сети ANN способен вводить обучающий запрос и обучающую текстовую входную последовательность в подсеть кодера. Обучающая текстовая входная последовательность (а) формируется в виде последовательности обучающих сниппетов контента и (б) разделяется на последовательность входных групп. Входная группа связана с обучающим сниппетом контента и содержит слова из обучающего сниппета контента. Сервер на итерации обучения сети ANN способен формировать с использованием подсети кодера кодированное представление обучающей текстовой входной последовательности. Возможность формирования включает в себя возможность формирования сервером выходных данных вида «внимание» для соответствующих слов из обучающей текстовой входной последовательности путем применения маски ограничения внимания в отношении обучающей текстовой входной последовательности. Выходные данные вида «внимание» используются для формирования кодированного представления обучающей текстовой входной последовательности. При формировании выходных данных вида «внимание» для слова из входной группы маска ограничения внимания позволяет «принимать во внимание» только слова из этой входной группы так, чтобы выходные данные вида «внимание» формировались на основе контекста этой входной группы, а не контекстов других входных групп в обучающей текстовой входной последовательности. Сервер на итерации обучения сети ANN способен формировать с использованием подсети декодера декодированное представление обучающей текстовой входной последовательности. Декодированное представление соответствует прогнозируемой текстовой выходной последовательности. Сервер на итерации обучения сети ANN способен формировать оценку штрафа для итерации обучения путем сравнения прогнозируемой текстовой выходной последовательности с заранее заданной текстовой выходной последовательностью. Заранее заданная текстовая выходная последовательность представляет собой заранее заданный ответ на обучающий запрос. Сервер на итерации обучения сети ANN способен корректировать сеть ANN на основе оценки штрафа.[25] According to a second aspect of the present technology, a server is implemented for training an ANN to generate a text output sequence based on a text input sequence and a query. The text input sequence is formed as a sequence of content snippets obtained from the corresponding content resources relevant to the query. The text output sequence is a summary of the content of the sequence of content snippets to be used as a response to a query. The ANN is implemented on the server and contains an encoder subnet and a decoder subnet. The server in the ANN training iteration is able to inject the training query and the training text input sequence into the encoder subnet. The training text input sequence (a) is formed as a sequence of training content snippets and (b) is divided into a sequence of input groups. The input group is associated with the training content snippet and contains the words from the training content snippet. The server at the training iteration of the ANN network is able to generate an encoded representation of the training text input sequence using the encoder subnet. The generation capability includes the capability for the server to generate an attention-like output for corresponding words from the training text input sequence by applying an attention restriction mask to the training text input sequence. The output data of the "attention" type is used to form an encoded representation of the training text input sequence. When generating attention-type output for a word from an input group, the attention constraint mask allows you to "take into account" only words from this input group so that the attention-type output is generated based on the context of this input group, and not the contexts of other input groups. groups in the training text input sequence. The server at the training iteration of the ANN network is able to generate a decoded representation of the training text input sequence using the decoder subnet. The decoded representation corresponds to the predicted text output sequence. The server at the training iteration of the ANN is able to generate a penalty estimate for the training iteration by comparing the predicted text output sequence with a predetermined text output sequence. The predefined text output sequence is a predefined response to the training query. The server at the ANN training iteration is able to adjust the ANN based on the penalty estimate.

[26] В некоторых вариантах осуществления сервера формируемые выходные данные вида «внимание» дополнительно основываются на контексте из обучающего запроса.[26] In some server embodiments, the generated attention output is further based on the context from the training request.

[27] В некоторых вариантах осуществления сервера на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность. Сервер на другой итерации обучения дополнительно способен обучать сеть ANN на основе другого обучающего набора данных. Другой обучающий набор данных содержит (а) обучающий запрос, (б) модифицированную обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность. Входные группы в модифицированной обучающей текстовой входной последовательности расположены в порядке, отличном от порядка входных групп в обучающей текстовой входной последовательности.[27] In some server embodiments, in a training iteration, the ANN is trained based on a training dataset containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence. The server at another training iteration is additionally able to train the ANN based on a different training dataset. The other training dataset contains (a) a training query, (b) a modified training text input sequence, and (c) a predefined text output sequence. The input groups in the modified training text input sequence are in an order different from the order of the input groups in the training text input sequence.

[28] В некоторых вариантах осуществления сервера он дополнительно способен формировать обучающий сниппет контента из последовательности обучающих сниппетов контента. Такое формирование включает в себя ввод сервером обучающего запроса и контента из обучающего контент-ресурса в алгоритм MLA, способный выдавать прогнозируемый сниппет контента. Алгоритм MLA обучен формированию прогнозируемого сниппета контента так, чтобы прогнозируемый сниппет контента был подобен заранее заданной текстовой выходной последовательности. Прогнозируемый сниппет контента представляет собой обучающий сниппет контента.[28] In some server embodiments, it is further capable of generating a training content snippet from a sequence of training content snippets. Such generation includes input by the server of the training request and content from the training content resource into an MLA algorithm capable of producing a predictable content snippet. The MLA algorithm is trained to generate a predictable content snippet such that the predicted content snippet is similar to a predefined text output sequence. A predictable content snippet is a training content snippet.

[29] В некоторых вариантах осуществления сервера на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность. Итерация обучения выполняется на первом этапе обучения сети ANN, включающем в себя первое множество итераций обучения. Сервер дополнительно способен выполнять второй этап обучения сети ANN. Второй этап обучения сети ANN включает в себя второе множество итераций обучения. На другой итерации обучения из второго множества итераций обучения сеть ANN обучается на основе другого обучающего набора данных. Другой обучающий набор данных представляет собой набор из множества заранее заданных обучающих наборов данных, подлежащих использованию при выполнении второго множества итераций обучения. Другой обучающий набор данных выбирается оценщиком-человеком.[29] In some server embodiments, in a training iteration, the ANN is trained based on a training dataset containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence. The training iteration is performed at the first stage of training the ANN, which includes the first set of training iterations. The server is further capable of performing the second stage of training the ANN. The second stage of training the ANN network includes a second set of training iterations. In another training iteration of the second set of training iterations, the ANN is trained on a different training dataset. The other training dataset is a set of a plurality of predefined training datasets to be used in performing the second plurality of training iterations. Another training dataset is selected by the human estimator.

[30] В некоторых вариантах осуществления сервера на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность. Заранее заданная текстовая выходная последовательность определена оценщиком-человеком. Оценщик-человек определяет заранее заданную текстовую выходную последовательность из контента по меньшей мере одного из обучающих контент-ресурсов, связанных с обучающими сниппетами контента.[30] In some server embodiments, in a training iteration, the ANN is trained based on a training dataset containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence. The predetermined textual output sequence is determined by the human evaluator. The human evaluator determines a predetermined textual output sequence from the content of at least one of the learning content resources associated with the learning content snippets.

[31] В некоторых вариантах осуществления сервера он дополнительно способен (а) формировать текстовое представление запроса на основе звукового представления речевого фрагмента пользователя, указывающего на запрос пользователя, связанного с электронным устройством, (б) определять результаты поиска, соответствующие текстовому представлению запроса, при этом результат поиска содержит сниппет контента и указывает на контент-ресурс, релевантный запросу, (в) формировать текстовую входную последовательность в виде последовательности сниппетов контента на основе сниппетов контента результатов поиска, (г) вводить текстовую входную последовательность и текстовое представление запроса в сеть ANN, способную выдавать текстовую выходную последовательность, представляющую собой сводку контента последовательности сниппетов контента и подлежащую использованию в качестве ответа на запрос, (д) формировать звуковое представление текстовой выходной последовательности, представляющее собой формируемый компьютером речевой фрагмент ответа, и (е) предоставлять электронному устройству, связанному с пользователем, звуковое представление текстовой выходной последовательности.[31] In some server embodiments, it is further capable of (a) generating a textual representation of the query based on the audio representation of the user's speech fragment indicating the user's query associated with the electronic device, (b) determining search results corresponding to the textual representation of the query, wherein the search result contains a content snippet and points to a content resource relevant to the query, (c) generate a text input sequence as a sequence of content snippets based on the content snippets of the search results, (d) input a text input sequence and a text representation of the query into an ANN capable of produce a text output sequence representing a summary of the content of a sequence of content snippets to be used as a response to a request, (e) generate an audio representation of the text output sequence representing a computer-generated speech fragment of the response, and (f) provide to an electronic device associated with the user , the audio representation of the text output sequence.

[32] В некоторых вариантах осуществления сервера корректировка сети ANN включает в себя применение сервером метода обратного распространения в отношении сети ANN.[32] In some server embodiments, updating the ANN includes applying backpropagation to the ANN by the server.

[33] В некоторых вариантах осуществления сервера он дополнительно способен получать сниппеты контента из соответствующих контент-ресурсов, релевантных запросу.[33] In some embodiments, the server is further capable of obtaining content snippets from corresponding content resources relevant to the request.

[34] В некоторых вариантах осуществления сервера он с целью такого получения способен выполнять поиск с использованием поисковой системы и запроса в качестве входных данных.[34] In some embodiments of the server, it is capable of performing a search using a search engine and a query as input to do so.

[35] В некоторых вариантах осуществления сервера он с целью такого получения дополнительно способен получать N наиболее релевантных сниппетов, связанных с N лучшими результатами поиска.[35] In some embodiments of the server, for the purpose of such obtaining, it is additionally able to receive the N most relevant snippets associated with the N best search results.

[36] В некоторых вариантах осуществления сервера он дополнительно способен получать заранее заданную текстовую выходную последовательность.[36] In some server embodiments, it is further capable of receiving a predefined text output sequence.

[37] В некоторых вариантах осуществления сервера он способен получать заранее заданную текстовую выходную последовательность от оценщика-человека.[37] In some embodiments, the server is capable of receiving a predefined textual output sequence from a human evaluator.

[38] В некоторых вариантах осуществления сервера он дополнительно способен получать указание на контент-ресурс, использованный оценщиком-человеком для формирования заранее заданной текстовой выходной последовательности.[38] In some server embodiments, it is further capable of obtaining an indication of the content resource used by the human evaluator to generate a predefined text output sequence.

[39] В некоторых вариантах осуществления сервера контент-ресурс используется для проверки заранее заданной текстовой выходной последовательности.[39] In some server embodiments, the content resource is used to validate a predefined text output sequence.

[40] В некоторых вариантах осуществления сервера контент-ресурс представляет собой сетевой ресурс, соответствующий обучающему запросу и полученный путем выполнения поиска с использованием поисковой системы.[40] In some embodiments of the server, the content resource is a network resource corresponding to a training query and obtained by performing a search using a search engine.

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

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

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

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

[45] В контексте настоящего описания выражение «компонент» включает в себя обозначение программного обеспечения (подходящего для определенных аппаратных средств), необходимого и достаточного для выполнения определенной функции или нескольких функций.[45] In the context of the present description, the expression "component" includes the designation of software (suitable for certain hardware), necessary and sufficient to perform a particular function or several functions.

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

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

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

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

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

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

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

[52] На фиг. 2 представлена страница результатов поисковой системы (SERP, Search Engine Result Page), сформированная сервером системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[52] FIG. 2 shows a search engine result page (SERP) generated by the server of the system shown in FIG. 1 according to non-limiting embodiments of the present technology.

[53] На фиг. 3 представлена структура данных, хранящихся в базе данных системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[53] FIG. 3 shows the structure of the data stored in the database of the system shown in FIG. 1 according to non-limiting embodiments of the present technology.

[54] На фиг. 4 представлена схема итерации обучения алгоритма MLA, выполняемого системой, представленной на фиг. 1 и способной формировать прогнозируемые сниппеты контента для соответствующих контент-ресурсов, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[54] FIG. 4 is a diagram of an iteration of learning the MLA algorithm performed by the system shown in FIG. 1 and capable of generating predictive content snippets for respective content resources, in accordance with non-limiting embodiments of the present technology.

[55] На фиг. 5 представлена схема итерации обучения сети ANN, выполняемой системой, представленной на фиг. 1 и способной формировать прогнозируемые текстовые выходные последовательности, представляющие собой сводки контента соответствующих контент-ресурсов, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[55] FIG. 5 is a diagram of an iteration of ANN training performed by the system shown in FIG. 1 and capable of generating predictive text output sequences that are summaries of the content of the respective content resources, according to non-limiting embodiments of the present technology.

[56] На фиг. 6 представлена блок-схема обработки речевого фрагмента пользователя в системе, представленной на фиг. 1, для предоставления пользователю формируемого компьютером речевого фрагмента, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[56] FIG. 6 is a block diagram of the processing of a user's speech fragment in the system shown in FIG. 1 to provide a computer-generated speech to a user, in accordance with non-limiting embodiments of the present technology.

[57] На фиг. 7 представлена блок-схема способа обучения сети ANN согласно фиг. 5 в соответствии с другими не имеющими ограничительного характера вариантами осуществления настоящей технологии.[57] FIG. 7 is a flowchart of the ANN training method of FIG. 5 in accordance with other non-limiting embodiments of the present technology.

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

[58] На фиг. 1 представлена схема системы 100, пригодной для реализации не имеющих ограничительного характера вариантов осуществления настоящей технологии. Должно быть понятно, что система 100 приведена лишь для демонстрации варианта реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию. Это описание не предназначено для определения объема или границ настоящей технологии. В некоторых случаях приводятся полезные примеры модификаций системы 100. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии.[58] FIG. 1 is a diagram of a system 100 suitable for non-limiting embodiments of the present technology. It should be understood that the system 100 is provided only to demonstrate an implementation of the present technology. Thus, the following description of the system is a description of examples illustrating the present technology. This description is not intended to define the scope or boundaries of the present technology. In some cases, useful examples of modifications to system 100 are provided. These provide insight but also do not define the scope or boundaries of the present technology.

[59] Эти модификации не составляют исчерпывающего перечня. Как понятно специалисту в данной области, вероятно, возможны и другие модификации. Кроме того, если в некоторых случаях модификации не описаны (т.е. примеры модификаций отсутствуют), это не означает, что они невозможны и/или что это описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии. Специалисту в данной области должно быть понятно, что это может быть не так. Кроме того, следует понимать, что система 100 в некоторых случаях может представлять собой упрощенную реализацию настоящей технологии и что такие варианты представлены, чтобы способствовать лучшему ее пониманию. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.[59] These modifications do not constitute an exhaustive list. As one skilled in the art will appreciate, other modifications are likely to be possible. In addition, if modifications are not described in some cases (i.e., there are no examples of modifications), this does not mean that they are impossible and / or that this description contains the only possible implementation of one or another element of the present technology. One skilled in the art will appreciate that this may not be the case. In addition, it should be understood that system 100 may, in some instances, be a simplified implementation of the present technology, and that such variations are presented to facilitate a better understanding thereof. Those skilled in the art will appreciate that other embodiments of the present technology may be significantly more complex.

[60] В общем случае система 100 способна предоставлять ответы на запросы пользователя, которые, можно сказать, в результате обеспечивают «диалог» пользователя и электронного устройства. Например, звуковой сигнал 152 (такой как речевой фрагмент) от пользователя 102 может быть обнаружен электронным устройством 104 (или просто устройством 104), которое в ответ способно предоставлять звуковые сигналы 154 (такие как речевые фрагменты или формируемые компьютером речевые фрагменты). Таким образом, можно сказать, что в результате этого обеспечивается диалог 150 между пользователем 102 и устройством 104, состоящий из (а) звукового сигнала 152 и (б) звукового сигнала 154.[60] In general, system 100 is capable of providing responses to user requests that can be said to result in a "dialogue" between the user and the electronic device. For example, an audio signal 152 (such as a speech fragment) from a user 102 can be detected by an electronic device 104 (or simply device 104), which is capable of providing audio signals 154 (such as speech fragments or computer-generated speech fragments) in response. Thus, it can be said that as a result of this, a dialogue 150 is provided between the user 102 and the device 104, consisting of (a) a sound signal 152 and (b) a sound signal 154.

[61] Ниже описаны различные элементы системы 100 и то, как эти элементы обеспечивают предоставление звукового сигнала 154 электронным устройством 104 в ответ на звуковой сигнал 152 пользователя 102.[61] The following describes the various elements of system 100 and how these elements ensure that an audio signal 154 is provided by the electronic device 104 in response to an audio signal 152 of the user 102.

Устройство пользователяUser device

[62] Как упомянуто выше, система 100 содержит устройство 104. На реализацию устройства 104 не накладывается каких-либо особых ограничений. Например, устройство 104 может быть реализовано в виде персонального компьютера (настольного, ноутбука, нетбука и т.д.), беспроводного устройства связи (смартфона, сотового телефона, планшета, умной колонки и т.п.) или сетевого оборудования (маршрутизатора, коммутатора, шлюза). Устройство 104 иногда может называться электронным устройством, оконечным устройством, клиентским электронным устройством или просто устройством. Следует отметить, что связь электронного устройства 104 с пользователем 102 не означает необходимости предлагать или подразумевать какой-либо режим работы, например, вход в систему, регистрацию и т.п.[62] As mentioned above, system 100 includes device 104. There are no particular restrictions on the implementation of device 104. For example, device 104 may be implemented as a personal computer (desktop, laptop, netbook, etc.), a wireless communications device (smartphone, cell phone, tablet, smart speaker, etc.), or network equipment (router, switch). , gateway). Device 104 may sometimes be referred to as an electronic device, a terminal device, a client electronic device, or simply a device. It should be noted that the association of the electronic device 104 with the user 102 is not meant to suggest or imply any mode of operation, such as logging in, registering, or the like.

[63] Предполагается, что устройство 104 содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение (либо их сочетание) для (а) обнаружения или фиксации звукового сигнала 152 и (б) предоставления или воспроизведения звукового сигнала 154. Например, устройство 104 может содержать один или несколько микрофонов для обнаружения или фиксации звуковых сигналов 152 и один или несколько громкоговорителей для предоставления или воспроизведения звуковых сигналов 154.[63] It is contemplated that device 104 includes hardware and/or application software and/or firmware (or a combination thereof) for (a) detecting or capturing audio signal 152 and (b) providing or playing audio signal 154. For example, device 104 may include one or more microphones for detecting or capturing audio signals 152 and one or more speakers for providing or reproducing audio signals 154.

[64] Устройство 104 также содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение (либо их сочетание) для выполнения приложения 105 IPA. В общем случае приложение 105 IPA, также известное как чат-бот, предназначено для того, чтобы обеспечивать пользователю 102 возможность отправлять запросы в виде речевых фрагментов (например, в виде звукового сигнала 152) и в ответ предоставлять пользователю 102 ответы в виде речевых фрагментов (например, в виде звукового сигнала 154).[64] Device 104 also includes hardware and/or application software and/or firmware (or a combination thereof) for executing IPA application 105. In general, the IPA application 105, also known as a chatbot, is designed to allow the user 102 to send requests in the form of speech fragments (for example, in the form of an audio signal 152) and in response to provide the user 102 with answers in the form of speech fragments ( for example, in the form of a sound signal 154).

[65] Отправка запросов и предоставление ответов может выполняться приложением 105 IPA с использованием пользовательского интерфейса на естественном языке. В общем случае пользовательский интерфейс на естественном языке приложения 105 IPA может представлять собой человеко-машинный интерфейс любого вида, в котором лингвистические единицы, такие как глаголы, фразы, предложения и т.п., выполняют функции элементов управления пользовательского интерфейса для извлечения, выбора, модификации или иного формирования данных в приложении 105 IPA.[65] Sending requests and providing responses can be performed by the IPA application 105 using a natural language user interface. In general, the natural language user interface of the IPA application 105 may be any kind of human-machine interface in which linguistic units such as verbs, phrases, sentences, and the like act as user interface controls for retrieving, selecting, modifying or otherwise generating data in the 105 IPA application.

[66] Например, при обнаружении (т.е. фиксации) речевых фрагментов пользователя 102 (например, звукового сигнала 152) устройством 104 приложение 105 IPA может использовать свой пользовательский интерфейс на естественном языке для анализа речевых фрагментов пользователя 102 и извлечения из них данных, указывающих на запросы пользователя. Кроме того, данные, указывающие на полученные устройством 104 ответы, анализируются пользовательским интерфейсом на естественном языке приложения 105 IPA с целью предоставления или воспроизведения речевых фрагментов (например, звукового сигнала 154), указывающих на эти ответы.[66] For example, when device 104 detects (i.e., captures) user 102's speech patterns (e.g., audio signal 152) by device 104, IPA application 105 can use its natural language user interface to parse user 102's speech patterns and extract data from them, indicating user requests. In addition, data indicative of the responses received by the device 104 are parsed by the natural language user interface of the IPA application 105 to provide or play utterances (eg, beep 154) indicative of those responses.

[67] Предполагается, что приложение 105 IPA в качестве альтернативы или дополнительно может использовать текстовый человеко-машинный интерфейс, чтобы обеспечивать пользователю 102 возможность отправлять указания на запросы в текстовом виде и в ответ предоставлять пользователю 102 указания на ответы в текстовом виде, без выхода за границы настоящей технологии.[67] It is contemplated that the IPA application 105 may alternatively or additionally use a text-based human-machine interface to allow the user 102 to send instructions for requests in text form, and in response to provide the user 102 with instructions for responses in text form, without leaving the the limits of the present technology.

Сеть связиCommunication network

[68] В представленном для иллюстрации не имеющем ограничительного характера примере системы 100 устройство 104 связано с сетью 110 связи для доступа и передачи пакетов данных серверу 106 и/или другим веб-ресурсам (не показаны) или от них. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии в качестве сети 110 связи может использоваться сеть Интернет. В других не имеющих ограничительного характера вариантах осуществления данной технологии сеть 110 связи может быть реализована иначе, например, в виде любой глобальной сети связи, локальной сети связи, частной сети связи и т.п. Реализация линии связи (не обозначена) между устройством 104 и сетью 110 связи зависит, среди прочего, от реализации устройства 104.[68] In an illustrative non-limiting example of system 100, device 104 is associated with communication network 110 to access and transmit data packets to or from server 106 and/or other web resources (not shown). In some non-limiting embodiments of the present technology, the communication network 110 may be the Internet. In other non-limiting embodiments of this technology, communications network 110 may be implemented in other ways, such as any wide area network, local area network, private network, or the like. The implementation of a communication link (not labeled) between device 104 and communication network 110 depends, among other things, on the implementation of device 104.

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

Множество серверов ресурсовMany resource servers

[70] Как описано выше, множество серверов 108 ресурсов может быть доступно через сеть 110 связи. Множество серверов 108 ресурсов может быть реализовано в виде традиционных компьютерных серверов. В не имеющем ограничительного характера примере осуществления настоящей технологии сервер из множества серверов 108 ресурсов может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Сервер из множества серверов 108 ресурсов также может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания.[70] As described above, a plurality of resource servers 108 can be accessed via communication network 110. A plurality of resource servers 108 may be implemented as conventional computer servers. In a non-limiting embodiment of the present technology, a server of multiple resource servers 108 may be implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system. The server of the plurality of resource servers 108 may also be implemented using any other suitable hardware and/or application software and/or firmware, or a combination thereof.

[71] Множество серверов 108 ресурсов способно содержать ресурсы (или веб-ресурсы), которые могут быть доступны устройству 104 и/или серверу 106. На вид ресурсов, содержащихся на множестве серверов 108 ресурсов, не накладывается каких-либо ограничений. Тем не менее, в некоторых вариантах осуществления настоящей технологии эти ресурсы могут содержать цифровые документы или просто документы, представляющие собой веб-страницы.[71] The plurality of resource servers 108 is capable of containing resources (or web resources) that can be accessed by the device 104 and/or server 106. There are no restrictions on the kind of resources contained in the plurality of resource servers 108. However, in some embodiments of the present technology, these resources may contain digital documents or simply documents that are web pages.

[72] Например, множество серверов 108 ресурсов может содержать веб-страницы, т.е. множество серверов 108 ресурсов может хранить документы, которые представляют собой веб-страницы и доступны устройству 104 и/или серверу 106. Документ может быть составлен на языке разметки и может, среди прочего, содержать (а) контент соответствующей веб-страницы и (б) машиночитаемые команды для отображения соответствующей веб-страницы (содержащегося на ней контента). Таким образом, в по меньшей мере некоторых вариантах осуществления настоящей технологии можно сказать, что множество серверов 108 ресурсов может содержать множество контент-ресурсов, каждый из которых связан с соответствующим контентом.[72] For example, a plurality of resource servers 108 may contain web pages, ie. a plurality of resource servers 108 may store documents that are web pages and are available to device 104 and/or server 106. A document may be written in a markup language and may, among other things, contain (a) the content of the corresponding web page, and (b) machine-readable commands to display the corresponding web page (the content it contains). Thus, in at least some embodiments of the present technology, a plurality of resource servers 108 may be said to contain a plurality of content resources, each of which is associated with a respective content.

[73] Устройство 104 может обращаться к серверу из множества серверов 108 ресурсов с целью получения документа (например, контент-ресурса), хранящегося на этом сервере. Например, пользователь 102 может ввести веб-адрес, связанный с веб-страницей, в браузерном приложении (не показано) устройства 104. В ответ устройство 104 может обратиться к серверу ресурсов, содержащему эту веб-страницу, с целью получения документа, представляющего собой эту веб-страницу, для отображения контента этой веб-страницы с использованием браузерного приложения.[73] The device 104 may contact a server of a plurality of resource servers 108 to obtain a document (eg, content resource) stored on that server. For example, user 102 may enter a web address associated with a web page into a browser application (not shown) of device 104. In response, device 104 may contact a resource server containing the web page to obtain a document representing this web page to display the content of that web page using a browser application.

[74] Следует отметить, что сервер 106 также может обращаться к серверу из множества серверов 108 ресурсов с целью получения документа (например, контент-ресурса), хранящегося на этом сервере ресурсов. Назначение сервера 106, осуществляющего доступ и получение документов от множества серверов 108 ресурсов, более подробно описано ниже.[74] It should be noted that the server 106 may also access a server of the plurality of resource servers 108 in order to obtain a document (eg, content resource) stored on that resource server. The purpose of a server 106 that accesses and retrieves documents from a plurality of resource servers 108 is described in more detail below.

СерверServer

[75] Как упомянуто выше, система 100 также содержит сервер 106, который может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 106 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Должно быть понятно, что сервер 106 может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения, либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 106 могут быть распределены между несколькими серверами.[75] As mentioned above, system 100 also includes a server 106, which may be implemented as a conventional computer server. In an exemplary embodiment of the present technology, server 106 may be implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system. It should be understood that the server 106 may be implemented using any other suitable hardware, application software and/or firmware, or combinations thereof. In the present non-limiting embodiments of the present technology, the server 106 is a single server. In other non-limiting embodiments of the present technology, the functions of the server 106 may be distributed among multiple servers.

[76] В общем случае сервер 106 способен (а) получать от устройства 104 данные, связанные со звуковым сигналом 152, (б) анализировать эти данные и в ответ (в) определять данные для формирования звукового сигнала 154. Например, сервер 106 может получать данные, указывающие на запрос пользователя, и в ответ может формировать данные, указывающие на ответ на этот запрос пользователя. С этой целью сервер 106, среди прочего, способен выполнять одну или несколько компьютерных процедур, которые в этом документе называются поисковой системой 130.[76] In general, server 106 is capable of (a) receiving data associated with audio signal 152 from device 104, (b) parsing that data, and in response (c) determining data to generate audio signal 154. For example, server 106 can receive data indicative of a user request and in response may generate data indicative of a response to that user request. To this end, the server 106 is capable of performing, among other things, one or more computer procedures, referred to in this document as the search engine 130.

[77] В некоторых вариантах осуществления изобретения сервер 106 может управляться и/или администрироваться поставщиком услуг поисковой системы (не показан), таким как оператор поисковой системы Yandex™. Сервер 106 может содержать поисковую систему 130 для выполнения одного или нескольких поисков в ответ на запросы, отправленные пользователями поисковой системы 130. [77] In some embodiments, the server 106 may be managed and/or administered by a search engine service provider (not shown), such as the Yandex™ search engine operator. The server 106 may include a search engine 130 to perform one or more searches in response to queries submitted by users of the search engine 130.

[78] В некоторых вариантах осуществления изобретения сервер 106 может получать данные от устройства 104, указывающие на запрос пользователя 102. Например, приложение 105 IPA устройства 104 может формировать цифровое звуковое представление для звукового сигнала 152 (например, для речевого фрагмента пользователя) и отправлять это цифровое звуковое представление через сеть 110 связи серверу 106. В этом примере сервер 106 может формировать текстовое представление запроса, отправленного пользователем 102, на основе цифрового звукового представления речевого фрагмента пользователя и выполнять поиск на основе сформированного таким образом текстового представления запроса. В по меньшей мере некоторых вариантах осуществления настоящей технологии пользователь 102 может использовать электронное устройство 104 и вручную вводить текстовое представление запроса, а ответ, предоставляемый пользователю 102, может быть предоставлен в виде цифрового звукового представления без выхода за границы настоящей технологии.[78] In some embodiments, the server 106 may receive data from the device 104 indicative of a request from the user 102. For example, the IPA application 105 of the device 104 may generate a digital audio representation of the audio signal 152 (e.g., the user's speech fragment) and send it a digital audio representation via communications network 110 to server 106. In this example, server 106 may generate a textual representation of the request sent by user 102 based on the digital audio representation of the user's speech and perform searches based on the textual representation of the request thus generated. In at least some embodiments of the present technology, the user 102 may use the electronic device 104 and manually enter a textual representation of the request, and the response provided to the user 102 may be provided as a digital audio representation without departing from the present technology.

[79] Следует отметить, что преобразование текста в речь для цифрового звукового представления речевого фрагмента пользователя может быть выполнено локально в устройстве 104 (например, приложением 105 IPA). Следовательно, устройство 104 дополнительно или в качестве альтернативы может отправлять текстовое представление запроса серверу 106 в дополнение к цифровому звуковому представлению или вместо него.[79] It should be noted that text-to-speech for the digital audio representation of the user's speech can be performed locally on device 104 (eg, by IPA application 105). Therefore, the device 104 may additionally or alternatively send a textual representation of the request to the server 106 in addition to or instead of the digital audio representation.

[80] Как описано выше, сервер 106 может использовать текстовое представление запроса для выполнения поиска (соответствующего запросу) и формировать таким образом результаты поиска, релевантные запросу. Например, сервер 106, использующий поисковую систему 130, может формировать данные, указывающие на один или несколько результатов поиска, релевантных запросу пользователя 102.[80] As described above, the server 106 may use the textual representation of the query to perform a search (corresponding to the query) and thus generate search results relevant to the query. For example, server 106 using search engine 130 may generate data indicative of one or more search results relevant to user query 102.

[81] Для лучшей иллюстрации этого дальнейшее описание приведено со ссылкой на фиг. 2, где содержится представление 200 страницы SERP. Когда пользователь 102 отправляет свой запрос поисковой системе 130, например, с помощью браузерного приложения, поисковая система 130 обычно используется для формирования так называемой страницы SERP, содержащей один или несколько результатов поиска, релевантных запросу. Как показано на фиг. 2, поисковая система 130 способна использовать текстовое представление 202 запроса для формирования ранжированного списка результатов поиска, который в данном случае содержит первый результат 210 поиска, второй результат 220 поиска и третий результат 230 поиска.[81] To better illustrate this, the following description is given with reference to FIG. 2, which contains the view 200 of the SERP page. When a user 102 submits their query to a search engine 130, such as through a browser application, the search engine 130 is typically used to generate a so-called SERP page containing one or more search results relevant to the query. As shown in FIG. 2, the search engine 130 is able to use the textual representation 202 of the query to generate a ranked list of search results, which in this case contains the first search result 210, the second search result 220, and the third search result 230.

[82] Следует отметить, что в представленном на фиг. 2 не имеющем ограничительного характера примере (а) первый результат 210 поиска связан с первым контент-ресурсом 212 и с первым сниппетом 214 контента, (б) второй результат 220 поиска связан со вторым контент-ресурсом 222 и содержит второй сниппет 224 контента, (в) третий результат 230 поиска связан с третьим контент-ресурсом 232 и с третьим сниппетом 234 контента.[82] It should be noted that in FIG. 2 in a non-limiting example, (a) the first search result 210 is associated with the first content resource 212 and with the first content snippet 214, (b) the second search result 220 is associated with the second content resource 222 and contains the second content snippet 224, (c ) the third search result 230 is associated with the third content resource 232 and with the third content snippet 234 .

[83] Поисковая система 130 способна определять контент-ресурсы, релевантные запросу пользователя, и ранжировать эти контент-ресурсы на основе, среди прочего, релевантности их контента запросу, как это известно в данной области техники.[83] The search engine 130 is able to determine content resources that are relevant to the user's query and rank those content resources based on, among other things, the relevance of their content to the query, as is known in the art.

[84] В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии разработчики настоящей технологии разработали способы и системы для формирования ориентированных на пользователя сниппетов контента для соответствующих контент-ресурсов. Разработчики настоящей технологии установили, что предоставление пользователю более лаконичных сниппетов контента (т.е. кратких и содержательных) может повысить удовлетворенность пользователя от сервисов поисковой системы. Такие ориентированные на пользователя сниппеты контента позволяют уменьшить интервал времени, требуемый для анализа результатов поиска, предоставленных поисковой системой.[84] In at least some non-limiting embodiments of the present technology, the developers of the present technology have developed methods and systems for generating user-oriented content snippets for respective content resources. The developers of the present technology have found that providing the user with more concise content snippets (ie, concise and meaningful) can increase user satisfaction with search engine services. Such user-friendly content snippets can reduce the amount of time required to parse search results provided by a search engine.

[85] С этой целью в по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 способен выполнять одну или несколько компьютерных процедур, которые ниже называются механизмом 135 сниппетов. В общем случае механизм 135 сниппетов способен формировать для контент-ресурса соответствующий сниппет контента, представляющий собой краткую сводку контента этого ресурса.[85] To this end, in at least some non-limiting embodiments of the present technology, the server 106 is capable of executing one or more computer procedures, which are referred to below as the snippet engine 135. In general, the snippet engine 135 is capable of generating a corresponding content snippet for a content resource that is a concise summary of that resource's content.

[86] Разработчики настоящей технологии также установили, что механизм 135 сниппетов, способный формировать краткие сниппеты контента для различных контент-ресурсов, может быть использован в контексте обработки речевых запросов. Очевидно, что в некоторых вариантах осуществления настоящей технологии, где устройство 104 представляет собой, например, умную колонку, желательно предоставлять пользователю 102 голосовые сервисы поисковой системы. В этих вариантах осуществления изобретения формирование лаконичных сниппетов контента может быть использовано для создания формируемых компьютером речевых фрагментов, которые более кратко и содержательно передают контент, релевантный запросу. Ниже более подробно описано формирование механизмом 135 сниппетов кратких сниппетов контента для соответствующих контент-ресурсов.[86] The developers of the present technology have also found that the snippet engine 135, capable of generating concise snippets of content for various content resources, can be used in the context of processing speech requests. Obviously, in some embodiments of the present technology, where the device 104 is, for example, a smart speaker, it is desirable to provide the user 102 with voice search engine services. In these embodiments, the generation of concise content snippets can be used to create computer-generated speech fragments that more concisely and meaningfully convey content relevant to a query. The snippet engine 135 generates short content snippets for the respective content resources in more detail below.

[87] Также следует отметить, что разработчики настоящей технологии установили, что в контексте речевых запросов для дальнейшего повышения удовлетворенности пользователя от краткости и содержательности формируемых компьютером речевых фрагментов может потребоваться дополнительная обработка таких лаконичных сниппетов контента. Понятно, что предоставляемый в звуковом формате ранжированный список сниппетов контента менее удобен, чем визуально отображаемая пользователю страница SERP.[87] It should also be noted that the developers of the present technology have found that in the context of speech queries, additional processing of such concise content snippets may be required to further increase user satisfaction from the brevity and richness of computer-generated speech fragments. It is clear that the ranked list of content snippets provided in audio format is less convenient than the SERP page visually displayed to the user.

[88] Исходя из этого, разработчики настоящей технологии разработали способы и системы, позволяющие серверу 106, в известном смысле, обобщать контент множества контент-ресурсов, релевантных запросу пользователя, и предоставлять эту сводку контента пользователю 102 в звуковом формате (т.е. предоставлять формируемый компьютером речевой фрагмент). В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии разработчики настоящей технологии разработали сеть 140 ANN, способную формировать текстовую выходную последовательность, представляющую собой такую сводку контента.[88] Based on this, the developers of the present technology have developed methods and systems that allow the server 106, in a sense, summarize the content of a plurality of content resources relevant to a user request, and provide this summary of content to the user 102 in audio format (i.e., provide computer-generated speech fragment). In at least some non-limiting embodiments of the present technology, the developers of the present technology have developed an ANN network 140 capable of generating a text output sequence representing such a content summary.

[89] Также предполагается, что по меньшей мере некоторые описанные здесь способы и системы способны использовать лаконичные сниппеты контента (сформированные механизмом 135 сниппетов) для обучения сети 140 ANN формированию краткой и содержательной сводки контента для множества контент-ресурсов, релевантных запросу. Ниже более подробно описано формирование сетью 140 ANN этой текстовой выходной последовательности, представляющей собой сводку контента множества контент-ресурсов.[89] It is also contemplated that at least some of the methods and systems described herein are capable of using concise content snippets (generated by snippet engine 135) to train the ANN network 140 to generate a concise and meaningful summary of content for a plurality of content resources relevant to a query. The ANN 140 generates this text output sequence, which is a summary of the content of a plurality of content resources, in more detail below.

[90] Следует отметить, что сервер 106 способен предоставлять устройству 104 данные, указывающие на сводку контента в текстовом формате, которая должна обрабатываться приложением 105 IPA с целью формирования соответствующего цифрового звукового представления (например, звукового сигнала 154) и воспроизводиться пользователю 102. Тем не менее, в других вариантах осуществления изобретения сервер 106 может формировать цифровое звуковое представление сводки контента на основе соответствующей текстовой выходной последовательности и таким образом предоставлять данные, указывающие на сводку контента в цифровом звуковом формате.[90] It should be noted that the server 106 is capable of providing the device 104 with data indicative of a summary of the content in text format to be processed by the IPA application 105 to generate an appropriate digital audio representation (eg, beep 154) and played back to the user 102. However however, in other embodiments of the invention, the server 106 may generate a digital audio representation of the content summary based on the corresponding text output sequence and thus provide data indicative of the content summary in digital audio format.

Система базы данныхDatabase system

[91] Сервер 106 связан с системой 120 базы данных. В общем случае система 120 базы данных может хранить информацию, полученную и/или сформированную сервером 106 во время обработки. Например, система 120 базы данных способна принимать от сервера 106 данные, полученные и/или сформированные сервером 106 во время обработки, для временного и/или постоянного хранения и выдавать сохраненные данные серверу 106 для дальнейшего их использования. Для лучшей иллюстрации этого дальнейшее описание ссылается на фиг. 3, где приведено представление 300 данных, хранящихся в системе 120 базы данных, согласно по меньшей мере некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[91] The server 106 is connected to the database system 120. In general, database system 120 may store information received and/or generated by server 106 during processing. For example, database system 120 is capable of receiving data received and/or generated by server 106 during processing from server 106 for temporary and/or permanent storage and providing the stored data to server 106 for later use. To better illustrate this, the following description refers to FIG. 3, which is a representation 300 of the data stored in the database system 120, in accordance with at least some non-limiting embodiments of the present technology.

[92] Система 120 базы данных способна хранить данные 310 поисковой системы. В общем случае данные 310 поисковой системы, хранящиеся в системе 120 базы данных, содержат данные, позволяющие серверу 106 предоставлять сервисы поисковой системы пользователям поисковой системы 130. В некоторых вариантах осуществления изобретения данные 310 поисковой системы могут содержать данные о большом количестве контент-ресурсов (например, документов), полученных приложением обходчика (не показано). Таким образом, система 120 базы данных может предоставлять серверу 106 доступ к этому большому количеству документов во время поиска документов.[92] The database system 120 is capable of storing search engine data 310. In general, search engine data 310 stored in database system 120 contains data that allows server 106 to provide search engine services to users of search engine 130. In some embodiments, search engine data 310 may contain data about a large number of content resources (for example, , documents) received by the crawler application (not shown). Thus, the database system 120 can provide the server 106 with access to this large number of documents during document retrieval.

[93] Следует отметить, что сервер 106 может выполнять приложение обходчика в качестве части поисковой системы 130. В общем случае приложение обходчика может использоваться сервером 106 для «посещения» ресурсов, доступных через сеть 110 связи, и для получения или загрузки документов с целью их дальнейшего использования. Например, приложение обходчика может быть использовано сервером 106 для доступа к множеству серверов 108 ресурсов и для получения или загрузки документов, представляющих собой веб-страницы, содержащиеся на множестве серверов 108 ресурсов. Предполагается, что приложение обходчика может периодически выполняться сервером 106 с целью получения или загрузки документов, которые были обновлены и/или стали доступными через сеть 110 связи после предыдущего выполнения приложения обходчика.[93] It should be noted that the server 106 may run a crawler application as part of the search engine 130. In general, the crawler application may be used by the server 106 to "visit" resources available through the communication network 110 and to obtain or download documents for the purpose of further use. For example, a crawler application may be used by server 106 to access multiple resource servers 108 and to retrieve or download documents that are web pages contained on multiple resource servers 108 . It is contemplated that the crawler application may be periodically executed by the server 106 to retrieve or download documents that have been updated and/or made available via the communication network 110 since the previous execution of the crawler application.

[94] Следует отметить, что данные о большом количестве контент-ресурсов могут храниться в системе 120 базы данных в индексированном формате, т.е. система 120 базы данных может хранить известную в данной области техники структуру индексации, такую как инвертированный индекс контент-ресурсов. Например, система 120 базы данных может хранить множество списков вхождений, связанных с соответствующими терминами (например, со словами), идентифицированными в контенте контент-ресурсов. По сути, список вхождений указывает на множество контент-ресурсов, в контенте которых содержится соответствующий термин.[94] It should be noted that data on a large number of content resources may be stored in the database system 120 in an indexed format, i. database system 120 may store an indexing structure known in the art, such as an inverted index of content resources. For example, the database system 120 may store a plurality of lists of occurrences associated with corresponding terms (eg, words) identified in the content of the content resources. Essentially, a list of occurrences points to a set of content resources whose content contains the corresponding term.

[95] В некоторых вариантах осуществления изобретения данные 310 поисковой системы, хранящиеся в системе 120 базы данных, могут содержать информацию о поисках, ранее выполненных поисковой системой 130. Например, данные 310 поисковой системы могут содержать данные запроса, связанные с соответствующими запросами. Данные запроса, связанные с запросом, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, данные запроса могут содержать (не ограничиваясь этим):[95] In some embodiments, search engine data 310 stored in database system 120 may contain information about searches previously performed by search engine 130. For example, search engine data 310 may contain query data associated with corresponding queries. The request data associated with a request can be of various kinds and is not subject to any restrictions. For example, the request data may include (but is not limited to):

- популярность запроса;- query popularity;

- частоту отправки запроса;- the frequency of sending the request;

- количество «кликов», связанных с запросом;- the number of "clicks" associated with the request;

- указания на другие отправленные запросы, связанные с запросом;- indications of other sent requests related to the request;

- указания на документы, связанные с запросом;- indications of documents related to the request;

- другие статистические данные, связанные с запросом;- other statistics related to the request;

- текстовое представление запроса;- text representation of the request;

- количество символов в запросе; - the number of characters in the request;

- звуковое представление (или представления) запроса;- audio representation (or representations) of the request;

- другие присущие запросу характеристики.- other characteristics inherent in the request.

[96] Также предполагается, что данные 310 поисковой системы, хранящиеся в системе 120 базы данных, могут содержать информацию о контент-ресурсах, предоставленных поисковой системой 130 в качестве результатов поиска. Данные ресурса, связанные с контент-ресурсом, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, данные ресурса могут содержать (не ограничиваясь этим):[96] It is also contemplated that search engine data 310 stored in database system 120 may contain information about content resources provided by search engine 130 as search results. The resource data associated with a content resource can be of various kinds and is not subject to any restrictions. For example, resource data may include (but is not limited to):

- популярность контент-ресурса;- the popularity of the content resource;

- коэффициент «кликов» для контент-ресурса;- coefficient of "clicks" for the content resource;

- время на «клик», связанное с контент-ресурсом;- time per "click" associated with the content resource;

- указания на другие документы, связанные с контент-ресурсом;- references to other documents related to the content resource;

- указания на запросы, связанные с контент-ресурсом;- indications of requests related to the content resource;

- другие статистические данные, связанные с контент-ресурсом;- other statistical data related to the content resource;

- текстовые данные, связанные с контент-ресурсом;- text data associated with the content resource;

- другие присущие документу характеристики контент-ресурса.- other characteristics of the content resource inherent in the document.

[97] Система 120 базы данных может хранить данные 330 оценщика-человека. В общем случае данные 330 оценщика-человека содержат информацию, по меньшей мере частично сформированную оценщиками-людьми и используемую сервером 106 для обучения алгоритма 400 MLA (см. фиг. 4), реализованного в виде части механизма 135 сниппетов, и сети 140 ANN. Ниже более подробно описано использование сервером 106 данных 330 оценщика-человека для обучения алгоритма 400 MLA механизма 135 сниппетов и сети 140 ANN сервера 106.[97] The database system 120 may store the data 330 of the human evaluator. In general, human evaluator data 330 contains information at least partially generated by human evaluators and used by server 106 to train the MLA algorithm 400 (see FIG. 4) implemented as part of the snippet engine 135 and the ANN network 140. The server 106's use of the human estimator data 330 to train the MLA algorithm 400 of the snippet engine 135 and the server 106's ANN network 140 is described in more detail below.

[98] Следует отметить, что данные 330 оценщика-человека могут содержать множество оцененных людьми наборов данных. Оцененный человеком набор данных может содержать (а) указание на запрос (Q), (б) указание на контент-ресурс, релевантный этому запросу, и (в) указание на оцененный человеком сниппет контента для соответствующего контент-ресурса. Оцененный человеком набор данных может быть сформирован путем предоставления оценщику-человеку запроса и последующего сбора данных, предоставленных оценщиком-человеком. Следует отметить, что данные 330 оценщика-человека могут содержать большое количество оцененных людьми наборов данных для обучения, как описано ниже.[98] It should be noted that human evaluator data 330 may comprise a plurality of human-rated datasets. The human-rated dataset may contain (a) an indication of a query (Q), (b) an indication of a content resource relevant to that query, and (c) an indication of a human-rated content snippet for the corresponding content resource. A human-assessed data set may be generated by providing a query to the human assessor and then collecting the data provided by the human assessor. It should be noted that the human estimator data 330 may contain a large number of human-rated training datasets, as described below.

[99] Например, в ответ на запрос оценщик-человек может использовать поисковую систему 130 для выполнения поиска, соответствующего запросу, и получения множества результатов поиска, связанных с соответствующими контент-ресурсами, которые поисковая система 130 определила как релевантные запросу. Затем оценщику-человеку ставится задача анализа контента предоставленных в качестве результатов поиска контент-ресурсов и формирования оцененного человеком сниппета контента для этого запроса на основе контента по меньшей мере одного из контент-ресурсов, предоставленных в качестве результатов поиска. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии оценщику-человеку также ставится задача предоставить указание на по меньшей мере один из предоставленных в качестве результатов поиска контент-ресурсов, использованный для формирования сводки (например, для проверки, контроля качества и т.п.).[99] For example, in response to a query, the human evaluator may use the search engine 130 to perform a search corresponding to the query and retrieve a plurality of search results related to the corresponding content resources that the search engine 130 determined to be relevant to the query. The human evaluator is then tasked with parsing the content of the content resources provided as search results and generating a human-rated content snippet for that query based on the content of at least one of the content resources provided as search results. In some non-limiting embodiments of the present technology, the human evaluator is also tasked with providing an indication of at least one of the content resources provided as search results used to generate the summary (e.g., validation, quality control, etc.). ).

[100] Для лучшей иллюстрации этого можно предположить, что оценщик-человек использует контент второго по релевантности этому запросу контент-ресурса для запроса с целью формирования оцененного человеком сниппета контента. В этом случае оцененный человеком набор данных может содержать (а) указание на запрос, (б) указание на второй по релевантности контент-ресурс и (в) указание на оцененный человеком сниппет контента, сформированный на основе контента второго по релевантности контент-ресурса.[100] To better illustrate this, it can be assumed that the human evaluator uses the content of the second most relevant content resource for the query to generate a human-rated content snippet. In this case, the human-rated dataset may contain (a) an indication of a query, (b) an indication of the second most relevant content resource, and (c) an indication of a human-rated content snippet generated from the content of the second most relevant content resource.

[101] В некоторых не имеющих ограничительного характера вариантах осуществления изобретения оцененный человеком сниппет контента может представлять собой оригинальную текстовую последовательность, обнаруженную оценщиком-человеком в контенте соответствующего контент-ресурса. Например, если запрос представляет собой выражение «John Malkovich», то оценщик-человек может определить в качестве оцененного человеком сниппета контента следующую текстовую последовательность из второго по релевантности контент-ресурса: «John Gavin Malkovich was born on December 9, 1953 in the United States of America. He is a voice actor, director, producer, and fashion designer. He received Academy award nominations for his performances in Places in the Hear (1984) and In the Line of Fire (1993)».[101] In some non-limiting embodiments of the invention, the human-rated content snippet may be the original text sequence found by the human evaluator in the content of the corresponding content resource. For example, if the query is the expression "John Malkovich", then the human evaluator might determine as the human-rated content snippet the following text sequence from the second most relevant content resource: "John Gavin Malkovich was born on December 9, 1953 in the United States of America. He is a voice actor, director, producer, and fashion designer. He received Academy award nominations for his performances in Places in the Hear (1984) and In the Line of Fire (1993)."

[102] В других не имеющих ограничительного характера вариантах осуществления изобретения оцененный человеком сниппет контента может представлять собой текстовую последовательность на основе контента соответствующего контент-ресурса, частично модифицированную оценщиком-человеком для краткости. Например, если запрос представляет собой выражение «John Malkovich», то оценщик-человек может определить следующую текстовую последовательность из второго по релевантности контент-ресурса: «John Gavin Malkovich was born on December 9, 1953 in the United States of America. He is a voice actor, director, producer, and fashion designer. He received Academy award nominations for his performances in Places in the Hear (1984) and In the Line of Fire (1993)» и затем может частично модифицировать эту текстовую последовательность для формирования на ее основе более лаконичного оцененного человеком сниппета контента. Например, в этом случае оценщик-человек может сформировать следующий оцененный человеком сниппет контента: «John Gavin Malkovich is an Academy award nominated American actor born on December 9, 1953, and who is also a director, producer, and fashion designer». Это означает, что в некоторых случаях оценщик-человек может частично модифицировать оригинальную текстовую последовательность, обнаруженную в контенте соответствующего контент-ресурса, таким образом, чтобы она представляла собой сводку контента, более краткую и содержательную (т.е. более лаконичную), чем оригинальная текстовая последовательность из соответствующего контент-ресурса.[102] In other non-limiting embodiments of the invention, a human-rated content snippet may be a text sequence based on the content of the corresponding content resource, partially modified by the human evaluator for brevity. For example, if the query is the expression "John Malkovich", then the human evaluator can determine the following text sequence from the second most relevant content resource: "John Gavin Malkovich was born on December 9, 1953 in the United States of America. He is a voice actor, director, producer, and fashion designer. He received Academy award nominations for his performances in Places in the Hear (1984) and In the Line of Fire (1993)" and can then partially modify this text sequence to form a more concise, human-rated content snippet based on it. For example, in this case, a human evaluator might generate the following human-rated content snippet: "John Gavin Malkovich is an Academy award nominated American actor born on December 9, 1953, and who is also a director, producer, and fashion designer." This means that, in some cases, the human evaluator may partially modify the original text sequence found in the content of the corresponding content resource so that it is a content summary that is more concise and meaningful (i.e., more concise) than the original. a text sequence from the corresponding content resource.

[103] Ниже более подробно описано формирование механизмом 135 сниппетов, содержащим алгоритм 400 MLA, кратких сниппетов контента для соответствующих контент-ресурсов.[103] The snippet engine 135, comprising the MLA algorithm 400, generates short content snippets for the respective content resources in more detail below.

Алгоритм MLA механизма сниппетовMLA algorithm of the snippet mechanism

[104] Как описано выше и показано на фиг. 4, механизм 135 сниппетов содержит алгоритм 400 MLA. В общем случае алгоритмы MLA способны обучаться на обучающих выборках и осуществлять прогнозирование на основе новых (неизвестных) данных. Алгоритмы MLA обычно используются для первоначального построения модели на основе обучающих входных данных, чтобы затем на основе данных осуществлять прогнозы или принимать решения, выраженные в виде выходных данных, а не выполнять статические машиночитаемые команды. Алгоритмы MLA могут использоваться в качестве моделей оценивания, моделей ранжирования, моделей классификации и т.п.[104] As described above and shown in FIG. 4, the snippet engine 135 contains the MLA algorithm 400. In general, MLA algorithms are able to learn from training samples and make predictions based on new (unknown) data. MLA algorithms are typically used to first build a model based on training inputs, and then make predictions or decisions based on the data, expressed as outputs, rather than executing static machine-readable instructions. MLA algorithms can be used as scoring models, ranking models, classification models, and the like.

[105] Должно быть понятно, что в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для реализации алгоритма 400 MLA могут использоваться алгоритмы MLA различных видов с различными архитектурами и/или топологиями. Тем не менее, в контексте настоящей технологии можно сказать, что алгоритм 400 MLA представляет собой алгоритм MLA, который на основе пары запрос-ресурс обучается формированию прогнозируемого сниппета контента (например, в текстовом формате).[105] It should be understood that in some non-limiting embodiments of the present technology, different kinds of MLA algorithms with different architectures and/or topologies can be used to implement the MLA algorithm 400. However, in the context of the present technology, the MLA algorithm 400 can be said to be an MLA algorithm that, based on a request-resource pair, learns to generate a predictable content snippet (eg, in text format).

[106] В общем случае реализация алгоритма 400 MLA сервером 106 может быть разделена на два основных этапа: этап обучения и этап использования. Сначала алгоритм 400 MLA обучается на этапе обучения. Затем, когда алгоритму 400 MLA известно, какие предполагаются входные данные и какие должны выдаваться выходные данные, алгоритм 400 MLA выполняется с реальными данными на этапе использования. Как описано ниже, предполагается, что сервер 106 также может использовать алгоритм 400 MLA для формирования по меньшей мере некоторых обучающих данных для обучения сети 140 ANN.[106] In general, the implementation of the MLA algorithm 400 by the server 106 can be divided into two main phases: a learning phase and a usage phase. First, the MLA algorithm 400 is trained in the training phase. Then, when the MLA algorithm 400 knows what input data is expected and what output data should be given, the MLA algorithm 400 is executed with real data at the stage of use. As described below, it is contemplated that the server 106 may also use the MLA algorithm 400 to generate at least some training data for training the ANN network 140.

[107] На фиг. 4 приведено представление 480 одной итерации обучения алгоритма 400 MLA. Тем не менее, следует отметить, что сервер 106 может выполнять большое количество итераций обучения на основе соответствующих обучающих наборов данных подобно тому, как сервер 106 способен выполнять одну итерацию обучения, представленную на фиг. 4.[107] FIG. 4 is a representation 480 of one training iteration of the MLA algorithm 400. However, it should be noted that server 106 may perform a large number of training iterations based on the respective training datasets, similar to server 106 being able to perform a single training iteration shown in FIG. 4.

[108] Во время представленной итерации обучения сервер 106 способен обучать алгоритм 400 MLA на основе обучающего набора 410 данных. В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии обучающий набор 410 данных может соответствовать соответствующему оцененному человеком набору данных из множества оцененных людьми наборов данных, хранящихся в системе 120 базы данных. Иными словами, обучающий набор 410 данных может содержать данные, указывающие (а) на запрос 416, (б) на соответствующий контент-ресурс 414 и (в) на соответствующий целевой сниппет 412 контента (например, оцененный человеком сниппет контента для соответствующей пары запрос-ресурс).[108] During the training iteration shown, the server 106 is able to train the MLA algorithm 400 based on the training dataset 410. In at least some non-limiting embodiments of the present technology, training dataset 410 may correspond to a corresponding human-rated dataset from a plurality of human-rated datasets stored in database system 120. In other words, training dataset 410 may contain data indicative of (a) a request 416, (b) a corresponding content resource 414, and (c) a corresponding target content snippet 412 (e.g., a human-rated content snippet for a corresponding request- resource).

[109] Сервер 106 способен использовать (а) запрос 416 и соответствующий контент-ресурс 414 в качестве входных данных алгоритма 400 MLA и (б) соответствующий целевой сниппет 412 контента в качестве обучающей цели. В некоторых вариантах осуществления изобретения предполагается, что данные, указывающие на запрос 416 и на соответствующий контент-ресурс 414, могут быть введены в алгоритм 400 MLA в векторном формате. Например, контент запроса 416 и соответствующего контент-ресурса 414 может быть введен как векторные представления на основе соответствующих представлений вида «мешок слов» (bag-of-words).[109] The server 106 is capable of using (a) the request 416 and the corresponding content resource 414 as input to the MLA algorithm 400 and (b) the corresponding target content snippet 412 as the training target. In some embodiments of the invention, it is contemplated that data indicative of the request 416 and the corresponding content resource 414 can be entered into the MLA algorithm 400 in vector format. For example, the content of the request 416 and the corresponding content resource 414 may be entered as vector representations based on the respective bag-of-words representations.

[110] В ответ на введенные данные, представляющие запрос 416 и соответствующий контент-ресурс 414, алгоритм 400 MLA способен выдавать прогнозируемый сниппет 420 контента. Иными словами, прогнозируемый сниппет 420 контента представляет собой сформированный алгоритмом 400 MLA прогноз сниппета контента для соответствующего контент-ресурса 414, например, когда контент-ресурс 414 предоставляется в качестве результата поиска, релевантного запросу 416. Предполагается, что прогнозируемый сниппет 420 контента может выдаваться алгоритмом 400 MLA в векторном формате без выхода за границы настоящей технологии.[110] In response to input representing the request 416 and the corresponding content resource 414, the MLA algorithm 400 is able to produce a predictable content snippet 420. In other words, the predicted content snippet 420 is a content snippet prediction generated by the MLA algorithm 400 for the corresponding content resource 414, for example, when the content resource 414 is provided as a search result relevant to query 416. It is contemplated that the predicted content snippet 420 can be returned by the algorithm 400 MLA in vector format without going beyond the real technology.

[111] Затем сервер 106 способен формировать оценку 430 штрафа для итерации обучения на основе прогнозируемого сниппета 420 контента и целевого сниппета 412 контента (т.е. на основе сравнения прогноза с целью). На вид метрики штрафа, используемой для формирования оценки 430 штрафа на основе прогнозируемого сниппета 420 контента и целевого сниппета 412 контента, не накладывается каких-либо особых ограничений. Тем не менее, следует отметить, что оценка 430 штрафа указывает на различие между целевым сниппетом 412 контента и прогнозируемым сниппетом 420 контента. Также можно сказать, что оценка 430 штрафа может указывать на степень сходства или различия целевого сниппета 412 контента и прогнозируемого сниппета 420 контента.[111] The server 106 is then able to generate a penalty estimate 430 for the training iteration based on the predicted content snippet 420 and the target content snippet 412 (ie, based on a comparison of the prediction against the target). The type of penalty metric used to generate the penalty score 430 based on the predicted content snippet 420 and the target content snippet 412 is not particularly limited. However, it should be noted that the penalty score 430 indicates a difference between the target content snippet 412 and the predicted content snippet 420. It can also be said that the penalty score 430 may indicate a degree of similarity or difference between the target content snippet 412 and the predicted content snippet 420.

[112] На итерации обучения сервер 106 способен обучать алгоритм 400 MLA на основе оценки 430 штрафа. Например, сервер 106 может использовать метод обратного распространения для корректировки алгоритма 400 MLA на основе оценки 430 штрафа. Таким образом, можно сказать, что в результате выполнения итерации обучения сервером 106 алгоритм 400 MLA обучается формированию соответствующих прогнозируемых сниппетов контента, схожих с соответствующими целевыми сниппетами контента (т.е. формированию прогнозов, более близких к соответствующим целям). С учетом того, что целевые сниппеты контента могут представлять собой соответствующие оцененные людьми сниппеты контента из системы 120 базы данных, алгоритм 400 MLA таким образом может быть обучен формированию прогнозируемых сниппетов контента, схожих с оцененными людьми сниппетами контента (например, с краткими сниппетами контента).[112] At the training iteration, the server 106 is able to train the MLA algorithm 400 based on the penalty estimate 430 . For example, server 106 may use backpropagation to adjust MLA algorithm 400 based on penalty estimate 430 . Thus, it can be said that as a result of the execution of the training iteration by the server 106, the MLA algorithm 400 is trained to generate corresponding predicted content snippets similar to the corresponding target content snippets (i.e., generating predictions closer to the corresponding targets). Given that the target content snippets may be the corresponding human-rated content snippets from the database system 120, the MLA algorithm 400 can thus be trained to generate predictive content snippets similar to the human-rated content snippets (e.g., short content snippets).

[113] Как описано выше, выполнив большое количество итераций обучения, сервер 106 может применять обученный алгоритм 400 MLA на этапе его использования. В не имеющем ограничительного характера примере сервер 106 может использовать алгоритм 400 MLA при формировании сниппетов контента для результатов поиска, соответствующих запросу, отправленному поисковой системе 130. Для лучшей иллюстрации этого на фиг. 2 показано, что сервер 106 может использовать обученный таким образом алгоритм 400 MLA, чтобы формировать:[113] As described above, after performing a large number of training iterations, the server 106 may apply the trained MLA algorithm 400 at its use stage. In a non-limiting example, the server 106 may use the MLA algorithm 400 when generating content snippets for search results corresponding to a query submitted to search engine 130. To better illustrate this, FIG. 2 shows that the server 106 can use the MLA algorithm 400 thus trained to generate:

- первый сниппет 214 контента для первого результата 210 поиска на основе запроса 202 и первого контент-ресурса 212;- the first content snippet 214 for the first search result 210 based on the query 202 and the first content resource 212;

- второй сниппет 224 контента для второго результата 220 поиска на основе запроса 202 и второго контент-ресурса 222;- a second content snippet 224 for a second search result 220 based on a query 202 and a second content resource 222;

- третий сниппет 234 контента для третьих результатов 230 поиска на основе запроса 202 и третьего контент-ресурса 232.- a third content snippet 234 for third search results 230 based on query 202 and third content resource 232.

[114] Кроме того, в по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии в дополнение к использованию алгоритма 400 MLA при формировании страницы SERP поисковой системой 130 сервера 106, алгоритм 400 MLA также может использоваться сервером 106 для обучения сети 140 ANN. Ниже более подробно описано обучение и последующее использование сети 140 ANN сервером 106 для формирования сводки контента страницы SERP.[114] In addition, in at least some non-limiting embodiments of the present technology, in addition to using the MLA algorithm 400 when generating the SERP page by the search engine 130 of the server 106, the MLA algorithm 400 can also be used by the server 106 to train the ANN network 140. The following describes in more detail the training and subsequent use of the ANN network 140 by the server 106 to generate a summary of the content of the SERP page.

Сети ANNANN networks

[115] Как описано выше, сервер 106 может содержать сеть 140 ANN. В общем случае сети NN представляют собой особый класс алгоритмов MLA и состоят из взаимосвязанных групп искусственных «нейронов», обрабатывающих информацию с использованием коннекционного подхода к вычислениям. Сети NN используются для моделирования сложных взаимосвязей между входными и выходными данными (без фактической информации об этих взаимосвязях) или для поиска закономерностей в данных. Сети NN сначала адаптируются на этапе обучения, когда они обеспечиваются известным набором входных данных и информацией для адаптации сети NN с целью формирования соответствующих выходных данных (в ситуации, для которой выполняется попытка моделирования). На этом этапе обучения сеть NN адаптируется к изучаемой ситуации и изменяет свою структуру так, чтобы сеть NN была способна обеспечивать адекватное предсказание выходных данных для входных данных в новой ситуации (на основе того, что было выучено). Таким образом, вместо попытки определения сложных статистических распределений или математических алгоритмов для данной ситуации, сеть NN пытается предоставить «интуитивный» ответ на основе «восприятия» ситуации. Таким образом, сеть NN представляет собой своего рода обученный черный ящик, который может быть использован в ситуациях, когда содержимое ящика может быть менее важным, чем то, что этот ящик предоставляет адекватные ответы для входных данных. Например, сети NN широко используются для оптимизации распределения веб-трафика между серверами и при обработке данных, включая фильтрацию, кластеризацию, разделение сигналов, сжатие, векторизацию и т.п.[115] As described above, the server 106 may contain a network 140 ANN. In general, NN networks are a special class of MLA algorithms and consist of interconnected groups of artificial “neurons” that process information using a connection approach to computing. NNs are used to model complex relationships between inputs and outputs (without actual knowledge of those relationships) or to look for patterns in data. The NNs are first adapted in the training phase when they are provided with a known set of inputs and information to adapt the NNs to generate appropriate outputs (in the situation for which the simulation is being attempted). In this learning phase, the NN adapts to the situation being learned and changes its structure so that the NN is able to provide an adequate output prediction for the input in the new situation (based on what has been learned). Thus, instead of trying to determine complex statistical distributions or mathematical algorithms for a given situation, the NN network tries to provide an "intuitive" answer based on the "perception" of the situation. Thus, the NN network is a kind of trained black box that can be used in situations where the contents of the box may be less important than that this box provides adequate responses to the input data. For example, NNs are widely used to optimize the distribution of web traffic between servers and data processing, including filtering, clustering, signal separation, compression, vectorization, and so on.

[116] Следует отметить, что модели вида «кодер-декодер» представляют собой класс моделей на основе сетей NN. Модели вида «кодер-декодер» обычно состоят из (а) подсети кодера, используемой для кодирования входных данных в их «скрытые представления», и (б) подсети декодера, используемой для декодирования этих скрытых представлений в выходные данные. Они часто используются для решения задач, которые в данной области техники называются задачами прогнозирования «из последовательности в последовательность» (seq2seq). Такие задачи включают в себя машинный перевод, реферирование текстов, реализацию чатботов и т.п.[116] It should be noted that encoder-decoder models are a class of models based on NN networks. Encoder-decoder models typically consist of (a) an encoder subnet used to encode input data into their "hidden representations" and (b) a decoder subnet used to decode these hidden representations into output data. They are often used to solve what are known in the art as "sequence-to-sequence" (seq2seq) prediction problems. Such tasks include machine translation, abstracting of texts, implementation of chatbots, etc.

[117] На практике некоторые сети NN также называются моделями seq2seq и способны преобразовывать входную последовательность данных в выходную последовательность данных. В моделях seq2seq могут использоваться рекуррентные нейронные сети (RNN, Recurrent NN), например, для того, чтобы, в известном смысле, «извлекать» контекст, в котором входные данные используются в соответствующей последовательности. Для простоты можно сказать, что подсеть кодера модели seq2seq преобразует каждые входные данные в соответствующий скрытый вектор (содержащий входные данные и контекст), а подсеть декодера выполняет обратный процесс и преобразует вектор в выходные данные (с использованием предыдущих выходных данных в качестве входного контекста).[117] In practice, some NNs are also called seq2seq models and are capable of transforming an input data sequence into an output data sequence. Seq2seq models can use recurrent neural networks (RNN, Recurrent NN), for example, in order to, in a certain sense, "extract" the context in which the input data is used in the appropriate sequence. For simplicity, we can say that the encoder subnet of the seq2seq model transforms each input into the corresponding hidden vector (containing the input and the context), and the decoder subnet reverses the process and transforms the vector into the output (using the previous output as the input context).

[118] Модели seq2seq более современного класса называются трансформерами (transformer). Подобно моделям на основе сетей RNN, трансформеры предназначены для обработки последовательных данных в таких задачах, как перевод и реферирование текстов. Тем не менее, в отличие от моделей на основе сетей RNN, трансформеры не требуют, чтобы эти последовательные данные обрабатывались в конкретном порядке. Например, если входные данные представляют собой предложение на естественном языке, то трансформеру не требуется обрабатывать его начало до обработки конца. Благодаря этой особенности трансформеры допускают гораздо большее распараллеливание, чем модели на основе сетей RNN и, следовательно, позволяют уменьшить время обучения. С момента разработки трансформеров они использовались для решения различных задач, связанных с обработкой естественного языка (NLP, Natural Language Processing). В качестве примера такого варианта реализации можно привести модель на основе трансформера, используемую в системе «Представления двунаправленного кодера из трансформеров» (BERT, Bidirectional Encoder Representations from Transformers), которая обучена на больших языковых наборах данных и может быть точно настроена для конкретных языковых задач.[118] More modern seq2seq models are called transformers. Like models based on RNNs, transformers are designed to process serial data in tasks such as translation and summarization of texts. However, unlike RNN-based models, transformers do not require that these serial data be processed in a particular order. For example, if the input is a natural language sentence, then the transformer does not need to process its beginning before processing its end. Due to this feature, transformers allow much more parallelization than models based on RNN networks and, therefore, can reduce training time. Since the development of transformers, they have been used to solve various problems related to natural language processing (NLP, Natural Language Processing). An example of such an implementation is the transformer-based model used in the Bidirectional Encoder Representations from Transformers (BERT) system, which is trained on large language datasets and can be fine-tuned for specific language tasks.

[119] В контексте настоящей технологии сеть 140 ANN может быть реализована в виде модели «кодер-декодер», содержащей подсеть кодера и подсеть декодера.[119] In the context of the present technology, ANN 140 may be implemented as an encoder-decoder model containing an encoder subnet and a decoder subnet.

[120] Предполагается, что подсеть кодера сети 140 ANN способна реализовывать конкретный механизм внимания. Например, подсеть кодера может содержать слой внимания, способный применять маску ограничения внимания в отношении входных данных. Как описано ниже, при определении контекста для слова из входной последовательности маска ограничения внимания может «принимать во внимание» слова из входной группы, к которой относится слово из входной последовательности, и поэтому позволяет учитывать только контекст соответствующей входной группы, а не другие контексты других входных групп входной последовательности. Ниже со ссылкой на фиг. 5 более подробно описаны обучение сети 140 ANN, определение входных групп из входной последовательности и настройка маски ограничения внимания подсети кодера.[120] It is assumed that the ANN encoder subnet 140 is capable of implementing a particular attention mechanism. For example, the encoder subnetwork may contain an attention layer capable of applying an attention restriction mask to input data. As described below, when determining the context for a word from the input sequence, the attention constraint mask can "take into account" the words from the input group to which the word from the input sequence belongs, and therefore allows only the context of the corresponding input group to be taken into account, and not other contexts of other inputs. groups of the input sequence. Below with reference to FIG. 5 describes training the ANN network 140, determining the input groups from the input sequence, and setting the encoder subnet attention constraint mask in more detail.

Обучение сети ANNANN network training

[121] На фиг. 5 представлена одна итерация обучения сети 140 ANN. Тем не менее, следует отметить, что сервер 106 может выполнять большое количество итераций обучения сети 140 ANN. Это большое количество итераций обучения сети 140 ANN может быть выполнено на основном этапе обучения сети 140 ANN. Предполагается, что в по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 140 ANN может быть обучена на нескольких этапах обучения или на этапе обучения, содержащем несколько стадий.[121] FIG. 5 shows one iteration of training the network 140 ANN. However, it should be noted that the server 106 may perform a large number of iterations of training the ANN network 140 . This large number of iterations of training the network 140 ANN can be performed at the main stage of training the network 140 ANN. It is contemplated that in at least some non-limiting embodiments of the present technology, the ANN network 140 may be trained in multiple training phases or in a multi-stage training phase.

[122] Предполагается, что сеть 140 ANN может выполнять соответствующее множество итераций обучения во время каждого этапа обучения. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 140 ANN может иметь (а) предварительный этап обучения, во время которого для настройки модели используется предварительный набор обучающих наборов данных, (б) основной этап обучения, во время которого для обучения модели формированию удовлетворительных прогнозов используется основной набор обучающих наборов данных, и (в) этап обучения для предотвращения «галлюцинаций», во время которого заранее заданные обучающие наборы данных используются для такой корректировки модели, чтобы модель избегала формирования «необычных» прогнозов. Следует отметить, что итерация обучения во время любого этапа обучения сети 140 ANN может быть выполнена подобно тому, как выполняется итерация обучения, представленная на фиг. 5. Тем не менее, как описано ниже, итерации обучения каждого соответствующего этапа обучения сети 140 ANN могут быть выполнены сервером 106 на соответствующих обучающих наборах данных для соответствующих целей обучения.[122] It is assumed that the ANN network 140 can perform an appropriate set of training iterations during each training step. In some non-limiting embodiments of the present technology, the ANN network 140 may have (a) a preliminary training phase, during which a preliminary set of training datasets is used to tune the model, (b) a main training phase, during which, to train the model to form satisfactory predictions uses the main set of training datasets, and (c) a "hallucination avoidance" training phase, during which predefined training datasets are used to adjust the model so that the model avoids making "out of the ordinary" predictions. It should be noted that the training iteration during any training step of the ANN network 140 can be performed in a manner similar to the training iteration shown in FIG. 5. However, as described below, training iterations of each respective training step of the ANN network 140 may be performed by the server 106 on the respective training datasets for the respective training goals.

[123] Сеть 140 ANN содержит подсеть 602 кодера и подсеть 604 декодера. На итерации обучения сервер 106 может вводить в подсеть 602 кодера обучающий запрос 642 и обучающую текстовую входную последовательность 610.[123] The ANN network 140 contains an encoder subnet 602 and a decoder subnet 604. In the training iteration, the server 106 may input to the encoder subnetwork 602 a training query 642 and a training text input sequence 610.

[124] Следует отметить, что обучающая текстовая входная последовательность 610 формируется в виде последовательности обучающих сниппетов контента, включая i-й обучающий сниппет 612 контента, первый обучающий сниппет 614 контента, второй обучающий сниппет 616 контента, третий обучающий сниппет 618 контента и j-й обучающий сниппет 620 контента. В одном не имеющем ограничительного характера варианте осуществления настоящей технологии обучающая текстовая входная последовательность 610 может формироваться в виде последовательности пятнадцати обучающих сниппетов контента. Тем не менее, обучающая текстовая входная последовательность из обучающего набора данных сети 140 ANN может содержать больше или меньше пятнадцати обучающих сниппетов контента без выхода за границы настоящей технологии.[124] It should be noted that the training text input sequence 610 is formed as a sequence of training content snippets, including the i th training content snippet 612, the first training content snippet 614, the second training content snippet 616, the third training content snippet 618, and the j th training content snippet 620 . In one non-limiting embodiment of the present technology, the training text input sequence 610 may be generated as a sequence of fifteen training content snippets. However, the training text input sequence from the ANN 140 training dataset may contain more or less than fifteen training content snippets without departing from the present technology.

[125] Следует отметить, что обучающие сниппеты контента из обучающей текстовой входной последовательности 610 могут формироваться сервером 106 разными способами. В одном не имеющем ограничительного характера примере сервер 106 может использовать поисковую систему 130 для формирования обучающих сниппетов контента для набора результатов поиска, соответствующих обучающему запросу 642. В некоторых вариантах осуществления настоящей технологии сервер 106 может формировать обучающие сниппеты контента для набора результатов поиска согласно известным способам.[125] It should be noted that the training content snippets from the training text input sequence 610 may be generated by the server 106 in various ways. In one non-limiting example, server 106 may use search engine 130 to generate training content snippets for the search result set corresponding to training query 642. In some embodiments of the present technology, server 106 may generate training content snippets for the search result set in accordance with known methods.

[126] В других вариантах осуществления настоящей технологии соответствующие обучающие сниппеты контента из обучающей текстовой входной последовательности 610 могут формироваться алгоритмом 400 MLA механизма 135 сниппетов. Например, сервер 106 может определять пятнадцать контент-ресурсов (или любое другое подходящее количество контент-ресурсов), релевантных обучающему запросу 642, и с использованием алгоритма 400 MLA формировать соответствующий сниппет контента для каждого контент-ресурса из числа пятнадцати контент-ресурсов, как описано выше. Затем сервер 106 может формировать обучающую текстовую входную последовательность 610 путем формирования последовательности сниппетов контента соответствующих контент-ресурсов (путем конкатенации). Таким образом, как описано выше, можно сказать, что сервер 106 может использовать алгоритм 400 MLA для формирования по меньшей мере некоторых обучающих данных для обучения сети 140 ANN без выхода за границы настоящей технологии.[126] In other embodiments of the present technology, appropriate training content snippets from the training text input sequence 610 may be generated by the MLA algorithm 400 of the snippet engine 135 . For example, server 106 may determine fifteen content resources (or any other suitable number of content resources) that are relevant to training query 642 and use MLA algorithm 400 to generate an appropriate content snippet for each content resource from among the fifteen content resources, as described higher. The server 106 may then generate the training text input sequence 610 by generating a sequence of content snippets of the respective content resources (by concatenation). Thus, as described above, it can be said that the server 106 can use the MLA algorithm 400 to generate at least some of the training data for training the ANN network 140 without going beyond the present technology.

[127] Также следует отметить, что обучающая текстовая входная последовательность 610 разделяется на последовательность входных групп. В контексте настоящей технологии входная группа связана с обучающим сниппетом контента и содержит слова из обучающего сниппета контента. В одном не имеющем ограничительного характера примере сервер 106 может определять слова из обучающей текстовой входной последовательности 610, подлежащие объединению во входную группу. С этой целью сервер 106 может использовать соответствующие обучающие сниппеты контента из обучающей текстовой входной последовательности 610 для сопоставления слов из обучающей текстовой входной последовательности 610 с соответствующими входными группами. В представленном примере последовательность входных групп содержит:[127] It should also be noted that the training text input sequence 610 is divided into a sequence of input groups. In the context of the present technology, an input group is associated with a training content snippet and contains words from the training content snippet. In one non-limiting example, server 106 may determine words from training text input sequence 610 to be combined into an input group. To this end, the server 106 may use the appropriate training content snippets from the training text input sequence 610 to match the words from the training text input sequence 610 to the corresponding input groups. In the presented example, the sequence of input groups contains:

- i-ю входную группу 632, содержащую слова из i-го обучающего сниппета 612 контента;- the i -th input group 632 containing the words from the i -th training content snippet 612;

- первую входную группу 634, содержащую слова из первого обучающего сниппета 614 контента;- the first input group 634 containing the words from the first training content snippet 614;

- вторую входную группу 636, содержащую слова из второго обучающего сниппета 616 контента;- a second input group 636 containing the words from the second training content snippet 616;

- третью входную группу 638, содержащую слова из третьего обучающего сниппета 618 контента;- a third input group 638 containing words from the third training content snippet 618;

- j-ю входную группу 640, содержащую слова из j-го обучающего сниппета 620 контента.- the j th input group 640 containing the words from the j th training content snippet 620.

[128] В некоторых вариантах осуществления настоящей технологии каждое слово из обучающей текстовой входной последовательности 610 может быть связано с соответствующей позицией в обучающей текстовой входной последовательности 610. Дополнительно или в качестве альтернативы каждая входная группа из последовательности входных групп может быть связана с соответствующей позицией в обучающей текстовой входной последовательности 610. В других вариантах осуществления изобретения предполагается, что данные, указывающие на обучающий запрос 642 и обучающую текстовую входную последовательность 610, могут вводиться в алгоритм 400 MLA в векторном формате. Например, сервер 106 может формировать векторные представления для обучающего запроса 642 и обучающей текстовой входной последовательности 610 и использовать эти векторные представления в качестве входных данных для подсети 602 кодера.[128] In some embodiments of the present technology, each word from the training text input sequence 610 may be associated with a corresponding position in the training text input sequence 610. Additionally or alternatively, each input group from the sequence of input groups may be associated with a corresponding position in the training text input sequence 610. text input sequence 610. In other embodiments, it is contemplated that data indicative of training query 642 and training text input sequence 610 can be input to MLA algorithm 400 in vector format. For example, server 106 may generate vector representations for training query 642 and training text input sequence 610 and use these vector representations as input to encoder subnet 602.

[129] Подсеть 602 кодера способна формировать кодированное представление 650 обучающей текстовой входной последовательности 610. В некоторых вариантах осуществления настоящей технологии предполагается, что кодированное представление 650, сформированное подсетью 602 кодера, может состоять из одного или нескольких векторов, сформированных подсетью 602 кодера на итерации обучения и подлежащих дальнейшей обработке подсетью 604 декодера.[129] The encoder subnetwork 602 is capable of generating an encoded representation 650 of the training text input sequence 610. In some embodiments of the present technology, it is contemplated that the encoded representation 650 generated by the encoder subnetwork 602 may consist of one or more vectors generated by the encoder subnetwork 602 at a training iteration. and to be further processed by the subnet 604 of the decoder.

[130] В общем случае подсеть 604 декодера способна формировать декодированное представление для обучающей текстовой входной последовательности 610. В приведенном примере это декодированное представление соответствует прогнозируемой текстовой выходной последовательности 652 сети 140 ANN. Следует отметить, что прогнозируемая текстовая выходная последовательность 652 соответствует прогнозу, сформированному сетью 140 ANN, и представляет собой прогнозируемую сводку контента последовательности обучающих сниппетов контента из обучающей текстовой входной последовательности 610.[130] In general, the decoder subnetwork 604 is capable of generating a decoded representation for the training text input sequence 610. In the example shown, this decoded representation corresponds to the predicted text output sequence 652 of the ANN network 140. It should be noted that the predicted text output sequence 652 corresponds to the prediction generated by the ANN network 140 and is the predicted summary of the content of the sequence of training content snippets from the training text input sequence 610.

[131] Сервер 106 может сравнивать прогнозируемую текстовую выходную последовательность 652 с заранее заданной текстовой выходной последовательностью 644 (прогноз сравнивается с целью). Предполагается, что заранее заданная текстовая выходная последовательность 644 может представлять собой оцененный человеком сниппет контента. Например, как описано выше, сервер 106 может получать запрос и соответствующий оцененный человеком сниппет контента из данных 330 оценщика-человека, хранящихся в системе 120 базы данных, а затем использовать их в качестве обучающего запроса 642 и заранее заданной текстовой выходной последовательности 644, соответственно.[131] The server 106 may compare the predicted text output sequence 652 with a predetermined text output sequence 644 (the prediction is compared to the target). It is contemplated that the predefined text output sequence 644 may be a human-rated content snippet. For example, as described above, server 106 may obtain a request and a corresponding human-rated content snippet from human rater data 330 stored in database system 120 and then use them as training query 642 and predefined text output sequence 644, respectively.

[132] Сервер 106 также способен формировать оценку 655 штрафа на основе сравнения прогнозируемой текстовой выходной последовательности 652 с заранее заданной текстовой выходной последовательностью 644. На вид метрики штрафа, используемой сервером 106 для формирования оценки 655 штрафа на основе прогнозируемой текстовой выходной последовательности 652 и заранее заданной текстовой выходной последовательности 644, не накладывается каких-либо особых ограничений. Тем не менее, следует отметить, что оценка 655 штрафа указывает на различие между прогнозируемой текстовой выходной последовательностью 652 и заранее заданной текстовой выходной последовательностью 644. Также можно сказать, что оценка 655 штрафа может указывать на степень сходства или различия прогнозируемой текстовой выходной последовательности 652 и заранее заданной текстовой выходной последовательности 644.[132] The server 106 is also capable of generating a penalty estimate 655 based on a comparison of the predicted text output sequence 652 with the predefined text output sequence 644. text output sequence 644 is not subject to any particular restrictions. However, it should be noted that the penalty score 655 indicates the difference between the predicted text output sequence 652 and the predetermined text output sequence 644. It can also be said that the penalty score 655 may indicate the degree of similarity or difference between the predicted text output sequence 652 and the predetermined text output sequence 652. given text output sequence 644.

[133] На итерации обучения сервер 106 способен обучать сеть 140 ANN на основе оценки 655 штрафа. Например, сервер 106 может использовать метод обратного распространения для корректировки сети 140 ANN на основе оценки 655 штрафа. Тем не менее для корректировки сети 140 ANN с целью улучшения прогнозов также могут быть использованы другие способы обучения в сочетании с оценкой 655 штрафа. Независимо от используемого конкретного способа обучения, можно сказать, что в результате выполнения итерации обучения сервером 106 сеть 140 ANN обучается формированию для запросов прогнозируемых текстовых выходных последовательностей, схожих с заранее заданными текстовыми выходными последовательностями (т.е. формированию прогнозов, более близких к соответствующим целям). С учетом того, что заранее заданные текстовые выходные последовательности могут представлять собой оцененные людьми сниппеты контента из системы 120 базы данных, сеть 140 ANN таким образом может быть обучена формированию для запросов прогнозируемых текстовых выходных последовательностей, схожих с оцененными людьми сниппетами контента (например, с краткими сниппетами контента).[133] In the training iteration, the server 106 is able to train the ANN network 140 based on the penalty estimate 655 . For example, server 106 may use backpropagation to update ANN network 140 based on penalty estimate 655 . However, other learning methods may also be used in conjunction with the penalty estimate 655 to adjust the ANN network 140 to improve predictions. Regardless of the particular training method used, it can be said that as a result of the training iteration performed by the server 106, the ANN network 140 is trained to generate predictive text output sequences for queries that are similar to the predefined text output sequences (i.e., generate predictions closer to the corresponding goals ). Given that the predetermined text output sequences may be human-rated content snippets from the database system 120, the ANN network 140 can thus be trained to generate predictive text output sequences similar to human-rated content snippets for queries (e.g., with brief content snippets).

[134] Как описано выше, подсеть 602 кодера может применять конкретный механизм внимания в отношении обучающей текстовой входной последовательности 610 с целью формирования кодированного представления 650. В общем случае подсеть 602 кодера может применять маску 606 ограничения внимания в отношении обучающей текстовой входной последовательности 610 при формировании выходных данных вида «внимание», подлежащих использованию при формировании кодированного представления 650.[134] As described above, encoder subnetwork 602 may apply a particular attention mechanism to training text input sequence 610 to generate encoded representation 650. In general, encoder subnetwork 602 may apply an attention constraint mask 606 to training text input sequence 610 when generating attention output data to be used in generating the encoded representation 650.

[135] В некоторых вариантах осуществления настоящей технологии можно сказать, что выходные данные вида «внимание» подсети 602 кодера могут указывать на контексты, в которых используются слова обучающей текстовой входной последовательности 610. Тем не менее, следует отметить, что при формировании выходных данных вида «внимание» для слова из входной группы обучающей текстовой входной последовательности 610 маска 606 ограничения внимания позволяет «принимать во внимание» только слова из этой входной группы так, чтобы выходные данные вида «внимание» формировались на основе контекста, полученного из этой входной группы, а не контекстов, полученных из других входных групп в обучающей текстовой входной последовательности 610. В результате подсеть 602 кодера может получать контент для слова из обучающей текстовой входной последовательности 610, зависящий только от слов из обучающего сниппета контента, к которому относится это слово, без учета слов из других обучающих сниппетов контента из обучающей текстовой входной последовательности 610.[135] In some embodiments of the present technology, the encoder subnet 602 attention output may be said to indicate contexts in which the words of the training text input sequence 610 are used. "attention" for a word from the input group of the training text input sequence 610, the attention constraint mask 606 allows "taking into account" only the words from this input group so that the output of the type "attention" is formed based on the context obtained from this input group, and not contexts derived from other input groups in the training text input sequence 610. As a result, the encoder subnetwork 602 can obtain content for a word from the training text input sequence 610 depending only on the words from the training content snippet to which the word refers, without considering the words from other training content snippets from the training text input sequence 610.

[136] Например, можно предположить, что подсеть 602 кодера обрабатывает слово, связанное со второй входной группой 636, из второго обучающего сниппета 616 контента, содержащего три слова, как показано на представлении 690. Как показано, когда подсеть 602 кодера формирует для некоторого слова выходные данные 680 вида «внимание», маска 606 ограничения внимания применяется в отношении обучающей текстовой выходной последовательности 610 так, что подсеть 602 кодера может «принимать во внимание» только два других слова из той же входной группы (из второй входной группы 636) и «не принимает во внимание» слова из других входных групп обучающей текстовой входной последовательности 610. В результате можно сказать, что имеющая маску 606 ограничения внимания подсеть 602 кодера при формировании выходных данных вида «внимание» для слова из обучающей текстовой входной последовательности 610 использует контекст соответствующей входной группы (в данном случае - контекст, полученный из второй входной группы 636), а не контексты других входных групп.[136] For example, it can be assumed that the encoder subnetwork 602 processes the word associated with the second input group 636 from the second training snippet 616 of content containing three words, as shown in the view 690. As shown, when the encoder subnetwork 602 generates for some word attention output 680, the attention restriction mask 606 is applied to the training text output sequence 610 such that the encoder subnetwork 602 can only "take into account" two other words from the same input group (from the second input group 636) and " does not take into account" words from other input groups of the training text input sequence 610. As a result, it can be said that the encoder subnetwork 602, which has an attention restriction mask 606, uses the context of the corresponding input when generating the attention output data for a word from the training text input sequence 610 groups (in this case, the context obtained from the second input group 636), and not the contexts of other input groups.

[137] Также следует отметить, что в дополнение к использованию контекста соответствующей входной группы, подсеть 602 кодера может использовать контекст обучающего запроса 642. Предполагается, что можно сказать, что подсеть 602 кодера при формировании выходных данных вида «внимание» для слова из обучающей текстовой входной последовательности 610 использует контекст обучающего запроса 642 и контекст соответствующей входной группы (в данном случае - контекст, полученный из второй входной группы 636), а не контексты других входных групп. В по меньшей мере некоторых вариантах осуществления изобретения предполагается, что контекст обучающего запроса 642 может представлять собой один или несколько терминов, содержащихся в обучающем запросе 642, без выхода за границы настоящей технологии.[137] It should also be noted that in addition to using the context of the corresponding input group, the encoder subnetwork 602 may use the context of the training request 642. input sequence 610 uses the context of the training query 642 and the context of the corresponding input group (in this case, the context obtained from the second input group 636), and not the contexts of other input groups. In at least some embodiments of the invention, it is contemplated that the context of training query 642 may be one or more of the terms contained in training query 642 without departing from the present technology.

[138] Вкратце, сеть 140 ANN может быть обучена во время основного этапа ее обучения на основе большого количества итераций, выполняемых подобно итерации обучения, представленной на фиг. 5. Как описано выше, сервер 106 может выполнять это большое количество итераций на основе соответствующих обучающих наборов данных.[138] Briefly, the ANN network 140 can be trained during the main stage of its training based on a large number of iterations performed similar to the training iteration shown in FIG. 5. As described above, the server 106 may perform this large number of iterations based on the respective training datasets.

[139] Следует отметить, что в по меньшей мере некоторых вариантах осуществления настоящей технологии предполагается, что во время основного этапа обучения сервер 106 может формировать и использовать для обучения сети 140 ANN модифицированные обучающие наборы данных.[139] It should be noted that in at least some embodiments of the present technology, it is assumed that during the main training phase, the server 106 can generate and use modified training datasets to train the ANN network 140 .

[140] Для лучшей иллюстрации этого далее рассмотрен представленный на фиг. 5 обучающий набор данных, содержащий обучающую текстовую входную последовательность 610, обучающий запрос 642 и заранее заданную текстовую выходную последовательность 644. С учетом того, что обучающая текстовая входная последовательность 610 формируется в виде последовательности обучающих сниппетов контента, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 может формировать модифицированный обучающий набор данных путем (а) изменения порядка обучающих сниппетов контента в последовательности обучающих сниппетов контента обучающей текстовой входной последовательности 610 и (б) использования переупорядоченной таким образом обучающей текстовой входной последовательности (вместо последовательности 610), обучающего запроса 642 и заранее заданной текстовой выходной последовательности 644 в качестве модифицированного обучающего набора данных. Таким образом, предполагается, что сервер 106 может формировать модифицированный обучающий набор данных на основе обучающего набора данных путем формирования модифицированной обучающей текстовой входной последовательности, порядок входных групп в которой отличается от порядка входных групп в обучающей текстовой входной последовательности обучающего набора данных.[140] For a better illustration of this, the following is shown in FIG. 5, a training dataset comprising a training text input sequence 610, a training query 642, and a predefined text output sequence 644. Given that the training text input sequence 610 is generated as a sequence of training content snippets, in some non-limiting embodiments of the present technology, the server 106 can generate a modified training dataset by (a) reordering the training content snippets in the sequence of training content snippets of the training text input sequence 610 and (b) using the training text input sequence thus rearranged (instead of sequence 610), training query 642, and predefined text output sequence 644 as the modified training dataset. Thus, it is contemplated that the server 106 can generate a modified training dataset based on the training dataset by generating a modified training text input sequence in which the order of the input groups is different from the order of the input groups in the training text input sequence of the training dataset.

[141] Разработчики настоящей технологии установили, что благодаря обучению сети 140 ANN на основе обучающих наборов данных и на основе модифицированных наборов данных сеть 140 ANN может формировать прогнозы, меньше зависящие от порядка входных групп в текстовой входной последовательности, а значительно больше зависящие от контекстов соответствующих входных групп. В по меньшей мере некоторых вариантах осуществления настоящей технологии, если сеть 140 ANN используется для формирования сводки контента для страницы SERP на основе запроса и сниппетов контента результатов поиска на странице SERP, то обучение сети 140 ANN на основе обучающих наборов данных и на основе модифицированных наборов данных позволяет сети 140 ANN предоставлять сводки контента, меньше зависящие от порядка расположения результатов поиска на странице SERP. В результате сводки контента, сформированные сетью 140 ANN для набора результатов поиска, вероятно, будут схожи друг с другом (более согласованные сводки контента) вне зависимости от порядка ранжирования набора результатов поиска на странице SERP.[141] The developers of the present technology have found that by training the ANN network 140 based on the training datasets and based on the modified datasets, the ANN network 140 can generate predictions that are less dependent on the order of the input groups in the text input sequence, and much more dependent on the contexts of the corresponding input groups. In at least some embodiments of the present technology, if the ANN network 140 is used to generate a content summary for the SERP page based on the query and content snippets of the search results on the SERP page, then training the ANN network 140 based on the training datasets and based on the modified datasets allows the ANN network 140 to provide summaries of content less dependent on the order of the search results on the SERP page. As a result, the content summaries generated by the ANN 140 for a search result set are likely to be similar to each other (more consistent content summaries) regardless of the order in which the search result set is ranked on the SERP page.

[142] Как описано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 после основного этапа обучения сети 140 ANN может дополнительно выполнять этап ее обучения для предотвращения «галлюцинаций». Разработчики настоящей технологии установили, что в некоторых не имеющих ограничительного характера вариантах осуществления изобретения сеть 140 ANN, обученная во время основного этапа ее обучения, может формировать «необычные» прогнозы для некоторых текстовых входных последовательностей этапа использования. Иными словами, сеть 140 ANN может «галлюцинировать» в том смысле, что прогноз, сформированный для некоторых текстовых входных последовательностей, может быть явно ошибочным.[142] As described above, in some non-limiting embodiments of the present technology, the server 106, after the main training step of the ANN network 140, may additionally perform its training step to prevent "hallucinations". The developers of the present technology have found that in some non-limiting embodiments of the invention, the ANN network 140 trained during the main stage of its training can form "unusual" predictions for some text input sequences of the use stage. In other words, the ANN 140 may "hallucinate" in the sense that the prediction generated for some text input sequences may be clearly wrong.

[143] Для исправления этих ошибочных прогнозов в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 может выполнять этап обучения для предотвращения «галлюцинаций», во время которого набор «наилучших» обучающих наборов данных выбирается для настройки качества прогнозирования сети 140 ANN. Этот набор наилучших обучающих наборов данных может быть заранее задан оценщиками-людьми. Сервер 106 также может заранее выбирать эти обучающие наборы данных как подмножество обучающих наборов данных, в которых заранее заданная текстовая выходная последовательность присутствует в одном или нескольких сниппетах соответствующей обучающей текстовой входной последовательности.[143] To correct these mispredictions, in some non-limiting embodiments of the present technology, the server 106 may perform a "hallucination prevention" training step during which a set of "best" training datasets is selected to adjust the prediction quality of the ANN network 140. This set of best training datasets can be pre-specified by human estimators. Server 106 may also preselect these training datasets as a subset of training datasets in which the predetermined text output sequence is present in one or more snippets of the corresponding training text input sequence.

[144] Обучив сеть 140 ANN, сервер 106 может применять сеть 140 ANN на этапе ее использования. Ниже со ссылкой на фиг. 6 описано возможное применение сервером 106 сети 140 ANN на этапе ее использования в по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии.[144] Having trained the ANN network 140, the server 106 can apply the ANN network 140 at the stage of its use. Below with reference to FIG. 6 describes the possible use by server 106 of ANN 140 at the stage of its use in at least some non-limiting embodiments of the present technology.

Этап использования сети ANNANN use phase

[145] На фиг. 6 приведено представление 700 возможного порядка применения сервером 106 сети 140 ANN на этапе ее использования. Как показано, звуковой сигнал 152 может быть зафиксирован и звуковое представление 702 речевого фрагмента пользователя 102 может быть сформировано электронным устройством 104. Звуковое представление 702 может быть обработано для формирования текстового представления 704 запроса пользователя. Следует отметить, что процедура 720 преобразования текста в речь (STT, Speech-To-Text) может быть выполнена электронным устройством 104 и/или сервером 106 различными способами без выхода за границы настоящей технологии.[145] FIG. 6 is a representation 700 of how the server 106 can use the ANN network 140 at the stage of using it. As shown, the audio signal 152 may be captured and an audio representation 702 of the user's speech 102 may be generated by the electronic device 104. The audio representation 702 may be processed to generate a textual representation 704 of the user's request. It should be noted that the STT (Speech-To-Text) procedure 720 may be performed by the electronic device 104 and/or server 106 in various ways without departing from the present technology.

[146] Сервер 106 может выполнять поиск в ответ на текстовое представление 704 запроса пользователя. Иными словами, сервер 106 может выполнять процедуру 730 поиска для получения одного или нескольких контент-ресурсов, релевантных запросу пользователя. В некоторых вариантах осуществления изобретения сервер 106 может использовать поисковую систему 130 для получения множества контент-ресурсов, релевантных запросу пользователя. Следует отметить, что сервер 106 также может использовать механизм 135 сниппетов с целью формирования сниппетов контента этапа использования для соответствующих контент-ресурсов из множества контент-ресурсов. Таким образом, сервер 106 может формировать страницу 706 SERP, содержащую множество результатов поиска, каждый из которых связан с соответствующим контент-ресурсом, релевантным запросу пользователя и имеющим соответствующий сниппет контента этапа использования, сформированный на основе контента из соответствующего контент-ресурса.[146] The server 106 may search in response to a textual representation 704 of the user's request. In other words, the server 106 may perform a search procedure 730 to obtain one or more content resources relevant to the user's query. In some embodiments, the server 106 may use the search engine 130 to retrieve a variety of content resources relevant to the user's query. It should be noted that the server 106 may also use the snippet engine 135 to generate use-phase content snippets for appropriate content resources from a plurality of content resources. Thus, the server 106 may generate a SERP page 706 containing a plurality of search results, each associated with a respective content resource relevant to the user's query and having a respective usage stage content snippet generated based on the content from the respective content resource.

[147] Сервер 106 может использовать информацию, сформированную поисковой системой 130 и механизмом 135 сниппетов, для выполнения процедуры 740 формирования набора данных этапа использования. В общем случае при выполнении процедуры 740 формирования набора данных этапа использования сервер 106 может использовать информацию, сформированную поисковой системой 130 и механизмом 135 сниппетов, для формирования текстовой входной последовательности 708 этапа использования. Например, сервер 106 может формировать текстовую входную последовательность 708 этапа использования в виде последовательности сниппетов контента этапа использования, сформированных механизмом 135 сниппетов для соответствующих контент-ресурсов, релевантных запросу пользователя.[147] The server 106 may use the information generated by the search engine 130 and the snippet engine 135 to perform a usage step data set generation procedure 740 . In general, when executing use-phase data set generation procedure 740, server 106 may use the information generated by search engine 130 and snippet engine 135 to generate use-phase text input sequence 708. For example, server 106 may generate use-phase text input sequence 708 as a sequence of use-phase content snippets generated by snippet engine 135 for appropriate content resources relevant to a user request.

[148] Сервер 106 может вводить текстовое представление 704 запроса пользователя и текстовую входную последовательность 708 этапа использования этапа использования в обученную сеть 140 ANN. Таким образом, можно сказать, что сервер 106 может выполнять процедуру 750 формирования сводки, во время которой итерация этапа использования сети 140 ANN выполняется в отношении введенных текстового представления 704 запроса пользователя и текстовой входной последовательности 708 этапа использования. В результате обученная сеть 140 ANN выдает для сервера 106 текстовую выходную последовательность 710 этапа использования, представляющую собой (прогнозируемую) сводку контента последовательности сниппетов контента этапа использования (например, сформированных поисковой системой согласно некоторым известным способам и/или сформированных механизмом 135 сниппетов, как описано выше) и подлежащую использованию в качестве ответа на запрос пользователя.[148] The server 106 may input a text representation 704 of the user request and a text input sequence 708 of the use stage of the use stage into the trained ANN network 140. Thus, it can be said that the server 106 can perform a summary procedure 750 during which iteration of the usage step of the ANN network 140 is performed on the entered user query textual representation 704 and the usage step textual input sequence 708. As a result, the trained ANN network 140 provides server 106 with a use-stage text output sequence 710 representing a (predicted) summary of the content of a sequence of use-stage content snippets (e.g., generated by a search engine according to some known methods and/or generated by snippet engine 135 as described above). ) and to be used as a response to a user request.

[149] Сервер 106 также может формировать звуковое представление 712 текстовой выходной последовательности 710. Звуковое представление 712 подлежит использованию в качестве формируемого компьютером речевого фрагмента ответа. Предполагается, что процедура 750 преобразования текста в речь (TTS, Text-To-Speech) может выполняться сервером 106 и/или электронным устройством 104. Получив и/или сформировав звуковое представление 712, электронное устройство 104 может использовать это представление с целью формирования звукового сигнала 154 для пользователя 102, например, с помощью одного или нескольких громкоговорителей.[149] The server 106 may also generate an audio representation 712 of the text output sequence 710. The audio representation 712 is to be used as a computer-generated speech fragment of the response. It is contemplated that Text-To-Speech (TTS) procedure 750 may be performed by server 106 and/or electronic device 104. Having received and/or generated audio representation 712, electronic device 104 may use this representation to generate an audio signal. 154 to user 102, for example, using one or more speakers.

[150] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 может выполнять способ 800, представленный на фиг. 7. Далее более подробно описаны различные шаги способа 800.[150] In some non-limiting embodiments of the present technology, the server 106 may perform the method 800 shown in FIG. 7. The various steps of method 800 are described in more detail below.

Шаг 802: ввод обучающего запроса и обучающей текстовой входной последовательности.Step 802: Entering a training query and a training text input sequence.

[151] Способ 800 начинается с шага 802, на котором сервер 106 на итерации обучения сети 140 ANN может вводить обучающий запрос 642 и обучающую текстовую входную последовательность 610 в подсеть 602 кодера (см. фиг. 5). Обучающая текстовая входная последовательность 610 (а) формируется в виде последовательности обучающих сниппетов контента (например, последовательности, содержащей сниппеты 612, 614, 616, 618, 620 контента) и (б) разделяется на последовательность входных групп (например, последовательность, содержащая входные группы 632, 634, 636, 638, 640). Следует отметить, что входная группа связана с обучающим сниппетом контента и содержит слова из обучающего сниппета контента.[151] Method 800 begins at step 802, where the server 106 may inject the training query 642 and training text input sequence 610 into the encoder subnetwork 602 (see FIG. 5) in the training iteration of the ANN network 140 (see FIG. 5). The training text input sequence 610 is (a) formed as a sequence of training content snippets (e.g., a sequence containing content snippets 612, 614, 616, 618, 620) and (b) split into a sequence of input groups (e.g., a sequence containing input groups 632, 634, 636, 638, 640). Note that the input group is associated with the training content snippet and contains words from the training content snippet.

[152] В некоторых вариантах осуществления изобретения обучающие сниппеты контента из обучающей текстовой входной последовательности могут быть сформированы сервером 106, использующим поисковую систему 130. Например, сервер 106 может выполнять поиск и использовать сниппеты контента, связанные с по меньшей мере некоторыми релевантными результатами поиска, в качестве соответствующих обучающих сниппетов контента. В некоторых вариантах осуществления изобретения обучающие сниппеты контента могут формироваться известными в данной области техники способами.[152] In some embodiments, training content snippets from a training text input sequence may be generated by server 106 using search engine 130. For example, server 106 may search for and use content snippets associated with at least some relevant search results, in as relevant training content snippets. In some embodiments of the invention, training content snippets may be generated by methods known in the art.

[153] В некоторых вариантах осуществления изобретения сервер 106 может получать обучающие сниппеты контента из соответствующих контент-ресурсов, релевантных обучающему запросу 642. Предполагается, что сервер 106 может получать обучающие сниппеты контента путем выполнения поиска с использованием поисковой системы 130 и обучающего запроса 642 в качестве входных данных. Также предполагается, что сервер 106 может получать обучающие сниппеты контента путем получения N наиболее релевантных сниппетов, связанных с N лучшими результатами поиска.[153] In some embodiments, server 106 may obtain training content snippets from appropriate content resources relevant to training query 642. It is contemplated that server 106 may obtain training content snippets by performing a search using search engine 130 and training query 642 as input data. It is also contemplated that server 106 can obtain training content snippets by obtaining the N most relevant snippets associated with the top N search results.

[154] В других вариантах осуществления изобретения сервер 106 может формировать обучающий сниппет контента из последовательности обучающих сниппетов контента. В некоторых вариантах осуществления изобретения сервер 106 может вводить обучающий запрос 642 и контент из обучающего контент-ресурса в алгоритм 400 MLA, способный выдавать прогнозируемый сниппет контента. Как описано выше, алгоритм 400 MLA может быть обучен сервером 106 формированию прогнозируемого сниппета контента, который подобен заранее заданной текстовой выходной последовательности и представляет собой обучающий сниппет контента, подлежащий использованию в качестве части обучающей текстовой входной последовательности 610.[154] In other embodiments, server 106 may generate a training content snippet from a sequence of training content snippets. In some embodiments, the server 106 may input the training request 642 and content from the training content resource into an MLA algorithm 400 capable of producing a predictable content snippet. As described above, the MLA algorithm 400 may be trained by the server 106 to generate a predictive content snippet that is similar to a predetermined text output sequence and is a training content snippet to be used as part of the training text input sequence 610.

Шаг 804: формирование кодированного представления обучающей текстовой входной последовательности.Step 804: generating an encoded representation of the training text input sequence.

[155] Способ 800 продолжается на шаге 804, на котором сервер 106 может с использованием подсети 602 кодера формировать кодированное представление 650 обучающей текстовой входной последовательности 610. Для формирования кодированного представления 650 сервер 106 может формировать выходные данные вида «внимание» (такие как выходные данные 680 вида «внимание») для соответствующих слов из обучающей текстовой входной последовательности 610 путем применения маски 606 ограничения внимания в отношении обучающей текстовой входной последовательности 610. Выходные данные вида «внимание» используются сервером 106 для формирования кодированного представления 650 обучающей текстовой входной последовательности 610.[155] Method 800 continues at step 804, where server 106 may, using encoder subnet 602, generate an encoded representation 650 of training text input sequence 610. To generate encoded representation 650, server 106 may generate attention-type output (such as 680 attention) for the corresponding words from the training text input sequence 610 by applying an attention restriction mask 606 to the training text input sequence 610. The attention output is used by the server 106 to generate an encoded representation 650 of the training text input sequence 610.

[156] Следует отметить, что при формировании выходных данных 680 вида «внимание» для слова из входной группы 636 маска 606 ограничения внимания позволяет «принимать во внимание» только слова из входной группы 636 так, чтобы выходные данные 680 вида «внимание» формировались на основе контекста входной группы 636, а не контекстов других входных групп из обучающей текстовой входной последовательности 610.[156] It should be noted that when generating attention output 680 for a word from input group 636, the attention constraint mask 606 allows only words from input group 636 to be "taken into account" so that attention output 680 is generated on based on the input group context 636 rather than other input group contexts from the training text input sequence 610.

[157] Также следует отметить, что в дополнение к использованию контекста соответствующей входной группы подсеть кодера может использовать контекст обучающего запроса 642. Предполагается, что можно сказать, что подсеть 602 кодера при формировании выходных данных вида «внимание» для слова из обучающей текстовой входной последовательности 610 использует контекст обучающего запроса 642 и контекст соответствующей входной группы (в данном случае - контекст, полученный из второй входной группы 636), а не контексты других входных групп. В по меньшей мере некоторых вариантах осуществления изобретения предполагается, что контекст обучающего запроса 642 может основываться на одном или нескольких терминах, содержащихся в обучающем запросе 642, без выхода за границы настоящей технологии.[157] It should also be noted that in addition to using the context of the corresponding input group, the encoder subnetwork may use the context of the training request 642. It is assumed that it can be said that the encoder subnetwork 602 when generating the attention output for a word from the training text input sequence 610 uses the context of the training query 642 and the context of the corresponding input group (in this case, the context obtained from the second input group 636), and not the contexts of other input groups. In at least some embodiments of the invention, it is contemplated that the context of training query 642 may be based on one or more of the terms contained in training query 642 without departing from the present technology.

Шаг 806: формирование декодированного представления обучающей текстовой входной последовательности.Step 806: generating a decoded representation of the training text input sequence.

[158] Способ 800 продолжается на шаге 806, на котором сервер 106 с использованием подсети 604 декодера может формировать для обучающей текстовой входной последовательности 610 декодированное представление 652, соответствующее прогнозируемой текстовой выходной последовательности сети 140 ANN. Предполагается, что декодированное представление 652 может выдаваться сетью 140 ANN в векторном формате без выхода за границы настоящей технологии.[158] The method 800 continues at step 806, where the server 106, using the decoder subnet 604, can generate a decoded representation 652 for the training text input sequence 610 corresponding to the predicted text output sequence of the ANN network 140. It is contemplated that decoded representation 652 can be provided by ANN 140 in vector format without departing from the present technology.

[159] В некоторых вариантах осуществления изобретения предполагается, что подсеть 604 декодера может использовать собственный механизм внимания. Например, механизм внимания подсети 604 декодера может быть реализован подобно механизму внимания декодера из трансформерной сети. В некоторых случаях можно сказать, что механизм внимания подсети 604 декодера может быть реализован в соответствии с известными в данной области техники вариантами для трансформерных сетей.[159] In some embodiments of the invention, it is contemplated that the decoder subnetwork 604 may use its own attention mechanism. For example, the attention mechanism of the decoder subnetwork 604 can be implemented similar to the attention mechanism of the decoder from the transformer network. In some cases, it can be said that the attention mechanism of the decoder subnetwork 604 can be implemented in accordance with art-known variations for transformer networks.

Шаг 808: формирование оценки штрафа для данной итерации обучения.Step 808: generating a penalty estimate for a given training iteration.

[160] Способ 800 продолжается на шаге 808, на котором сервер 106 может формировать оценку 655 штрафа для итерации обучения путем сравнения прогнозируемой текстовой выходной последовательности 652 с заранее заданной текстовой выходной последовательностью 644. Заранее заданная текстовая выходная последовательность представляет собой заранее заданный ответ на обучающий запрос 642.[160] The method 800 continues at step 808, where the server 106 may generate a penalty estimate 655 for the training iteration by comparing the predicted text output sequence 652 with the predefined text output sequence 644. The predefined text output sequence is a predefined response to the training query. 642.

[161] Следует отметить, что в некоторых вариантах осуществления изобретения сервер 106 дополнительно может получать заранее заданную текстовую выходную последовательность 644. В некоторых вариантах осуществления изобретения заранее заданная текстовая выходная последовательность 644 может быть получена от оценщика-человека (например, сформирована оценщиком-человеком и сохранена в системе 120 базы данных, как описано выше). В некоторых вариантах осуществления изобретения сервер 106 также может получать указание на контент-ресурс, использованный оценщиком-человеком для формирования заранее заданной текстовой выходной последовательности 644. В некоторых вариантах осуществления изобретения сервер 106 может получать из системы 120 базы данных указание на контент-ресурс, который может быть связан с заранее заданной текстовой выходной последовательностью 644 из оцененного человеком набора данных. В одном не имеющем ограничительного характера примере контент-ресурс может быть использован для проверки заранее заданной текстовой выходной последовательности 644. Также предполагается, что контент-ресурс может представлять собой сетевой ресурс, соответствующий обучающему запросу 642 и полученный путем выполнения поиска с использованием поисковой системы 130, без выхода за границы настоящей технологии. [161] It should be noted that in some embodiments, the server 106 may additionally receive a predefined text output sequence 644. In some embodiments, the predefined text output sequence 644 may be obtained from a human evaluator (e.g., generated by a human evaluator and stored in the database system 120 as described above). In some embodiments, the server 106 may also obtain an indication of the content resource used by the human evaluator to generate the predefined text output sequence 644. In some embodiments, the server 106 may obtain from the database system 120 an indication of the content resource that may be associated with a predetermined textual output sequence 644 from a human-assessed data set. In one non-limiting example, a content resource may be used to test a predefined text output sequence 644. It is also contemplated that the content resource may be a network resource corresponding to training query 642 and obtained by performing a search using search engine 130, without going beyond the current technology.

Шаг 810: корректировка сети ANN на основе оценки штрафа.Step 810: Adjusting the ANN based on the penalty estimate.

[162] Способ 800 продолжается на шаге 810, на котором сервер 106 может корректировать сеть 140 ANN на основе оценки 655 штрафа. В одном не имеющем ограничительного характера примере сервер 106 для корректировки сети 140 ANN может применять метод обратного распространения в отношении сети 140 ANN на основе оценки 655 штрафа.[162] Method 800 continues at step 810, where server 106 may update ANN network 140 based on penalty estimate 655. In one non-limiting example, the server 106 to correct the ANN network 140 may backpropagate the ANN network 140 based on the penalty estimate 655 .

[163] В некоторых вариантах осуществления настоящей технологии сервер 106 может выполнять большое количество итераций обучения подобно итерации обучения, представленной на фиг. 5. Например, на итерации обучения сеть 140 ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос 642, (б) обучающую текстовую входную последовательность 610 и (в) заранее заданную текстовую выходную последовательность 644. В некоторых вариантах осуществления настоящей технологии сервер 106 также может на другой итерации обучения обучать сеть 140 ANN на основе другого обучающего набора данных (модифицированного обучающего набора данных). Например, другой обучающий набор данных может содержать (а) обучающий запрос 642, (б) модифицированную обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность 644, при этом входные группы в модифицированной обучающей текстовой входной последовательности расположены в порядке, отличном от порядка входных групп в обучающей текстовой входной последовательности 610.[163] In some embodiments of the present technology, the server 106 may perform a large number of training iterations, similar to the training iteration shown in FIG. 5. For example, in a training iteration, the ANN network 140 is trained based on a training dataset containing (a) a training query 642, (b) a training text input sequence 610, and (c) a predefined text output sequence 644. In some embodiments of the present technology, the server 106 may also, in another training iteration, train the ANN network 140 based on a different training dataset (modified training dataset). For example, another training dataset may contain (a) a training query 642, (b) a modified training text input sequence, and (c) a predefined text output sequence 644, where the input groups in the modified training text input sequence are in an order other than the order of the input groups in the training text input sequence 610.

[164] В некоторых вариантах осуществления настоящей технологии сервер 106 может выполнять представленную на фиг. 5 итерацию обучения во время первого (и/или основного) этапа обучения сети 140 ANN. Тем не менее сервер 106 также может выполнять второй этап обучения сети 140 ANN (например, этап обучения для предотвращения «галлюцинаций»), включающий в себя второе множество итераций обучения. На другой итерации обучения из второго множества итераций обучения сервер 106 может обучать сеть 140 ANN на основе другого обучающего набора данных из множества заранее заданных обучающих наборов данных, подлежащих использованию при выполнении второго множества итераций обучения. Например, другой обучающий набор данных может быть выбран оценщиком-человеком.[164] In some embodiments of the present technology, the server 106 may perform the configuration shown in FIG. 5 iteration of training during the first (and/or main) stage of training the network 140 ANN. However, the server 106 may also perform a second training step for the ANN 140 (eg, a training step to prevent "hallucinations") including a second set of training iterations. On a different training iteration of the second set of training iterations, the server 106 may train the ANN network 140 based on a different training dataset from the set of predefined training datasets to be used in performing the second set of training iterations. For example, a different training dataset may be selected by the human evaluator.

[165] В некоторых вариантах осуществления настоящей технологии заранее заданная текстовая выходная последовательность 644 может быть определена оценщиком-человеком. Например, заранее заданная текстовая выходная последовательность 644 может быть получена из данных 330 оценщика-человека, хранящихся в системе 120 базы данных. Таким образом, оценщик-человек может определять заранее заданную текстовую выходную последовательность 644 из контента по меньшей мере одного из обучающих контент-ресурсов, связанных с обучающими сниппетами контента из обучающей текстовой входной последовательности 610.[165] In some embodiments of the present technology, the predefined text output sequence 644 may be determined by a human evaluator. For example, a predetermined textual output sequence 644 may be obtained from human appraiser data 330 stored in the database system 120. Thus, the human evaluator may determine a predefined text output sequence 644 from the content of at least one of the training content resources associated with the training content snippets from the training text input sequence 610.

[166] В других вариантах осуществления настоящей технологии сервер 106 также может выполнять этап использования сети 140 ANN. Например, сервер 106 может формировать текстовое представление 704 (см. фиг. 6) запроса на основе звукового представления 702 речевого фрагмента пользователя, указывающего на запрос пользователя 102, связанного с электронным устройством 104. Сервер 106 также может определять результаты поиска, соответствующие текстовому представлению 704 запроса, при этом результат поиска содержит сниппет контента и указывает на контент-ресурс, релевантный запросу. Для этого сервер 106 может выполнять поиск в ответ на текстовое представление 704 запроса пользователя. Иными словами, сервер 106 может выполнять процедуру 730 поиска для получения одного или нескольких контент-ресурсов, релевантных запросу пользователя. В некоторых вариантах осуществления изобретения сервер 106 может использовать поисковую систему 130 для получения множества контент-ресурсов, релевантных запросу пользователя. Следует отметить, что сервер 106 также может использовать механизм 135 сниппетов с целью формирования сниппетов контента этапа использования для соответствующих контент-ресурсов из множества контент-ресурсов. Таким образом, сервер 106 может формировать страницу 706 SERP, содержащую множество результатов поиска, каждый из которых связан с контент-ресурсом, релевантным запросу пользователя и имеющим сниппет контента этапа использования, сформированный на основе контента из соответствующего контент-ресурса.[166] In other embodiments of the present technology, the server 106 may also perform the step of using the ANN network 140. For example, the server 106 may generate a textual representation 704 (see FIG. 6) of the query based on the audio representation 702 of the user's speech indicating the user's request 102 associated with the electronic device 104. The server 106 may also determine search results corresponding to the textual representation 704 query, where the search result contains a content snippet and points to a content resource relevant to the query. To do this, the server 106 may perform a search in response to a textual representation 704 of the user's query. In other words, the server 106 may perform a search procedure 730 to obtain one or more content resources relevant to the user's query. In some embodiments, the server 106 may use the search engine 130 to retrieve a variety of content resources relevant to the user's query. It should be noted that the server 106 may also use the snippet engine 135 to generate use-phase content snippets for appropriate content resources from a plurality of content resources. Thus, the server 106 may generate a SERP page 706 containing a plurality of search results, each associated with a content resource relevant to the user's query and having a usage stage content snippet generated based on the content from the corresponding content resource.

[167] Сервер 106 также может формировать текстовую входную последовательность 708 в виде последовательности сниппетов контента на основе сниппетов контента результатов поиска. Сервер 106 также может вводить текстовую входную последовательность 708 и текстовое представление 704 запроса в сеть 140 ANN, способную выдавать текстовую выходную последовательность 710. Текстовая выходная последовательность 710 может представлять собой сводку контента последовательности сниппетов контента, которая может использоваться в качестве ответа на запрос. Сервер 106 также может формировать звуковое представление 712 текстовой выходной последовательности 710, представляющее собой формируемый компьютером речевой фрагмент ответа. Сервер 106 также может предоставлять электронному устройству 104 звуковое представление 712 текстовой выходной последовательности.[167] The server 106 may also generate the text input sequence 708 as a sequence of content snippets based on the content snippets of the search results. The server 106 may also input a text input sequence 708 and a text representation 704 of the request into the ANN network 140 capable of providing a text output sequence 710. The text output sequence 710 may be a summary of the content of the content snippet sequence that may be used as a response to the request. The server 106 may also generate an audio representation 712 of the text output sequence 710, which is a computer generated speech fragment of the response. The server 106 may also provide the electronic device 104 with an audio representation 712 of the textual output sequence.

[168] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.[168] For a person skilled in the art, possible changes and improvements in the above-described embodiments of the present technology may be obvious. The foregoing description is for illustrative purposes only and is not intended to limit the scope of the invention. The scope of protection of this technology is determined solely by the scope of the appended claims.

Claims (54)

1. Способ обучения содержащей подсеть кодера и подсеть декодера нейронной сети внимания (ANN) формированию текстовой выходной последовательности на основе запроса и текстовой входной последовательности, формируемой в виде последовательности сниппетов контента, полученных из соответствующих контент-ресурсов, релевантных запросу, при этом текстовая выходная последовательность представляет собой сводку контента последовательности сниппетов контента и подлежит использованию в качестве ответа на запрос, а способ выполняется сервером, содержащим сеть ANN, и на итерации обучения сети ANN включает в себя:1. A method for training an attentional neural network (ANN) containing an encoder subnetwork and a decoder subnetwork to generate a text output sequence based on a query and a text input sequence generated as a sequence of content snippets obtained from the corresponding content resources relevant to the query, while the text output sequence represents a summary of the content of a sequence of content snippets and is to be used as a response to a request, and the method is performed by a server containing the ANN, and in the training iteration of the ANN, includes: - ввод сервером обучающего запроса и обучающей текстовой входной последовательности в подсеть кодера, при этом обучающая текстовая входная последовательность (а) формируется в виде последовательности обучающих сниппетов контента и (б) разделяется на последовательность входных групп, а входная группа связана с обучающим сниппетом контента и содержит слова из этого обучающего сниппета контента;- the server inputs a training request and a training text input sequence into the encoder subnet, while the training text input sequence (a) is formed as a sequence of training content snippets and (b) is divided into a sequence of input groups, and the input group is associated with the training content snippet and contains words from this learning content snippet; - формирование сервером, использующим подсеть кодера, кодированного представления обучающей текстовой входной последовательности, включая формирование выходных данных вида «внимание» для соответствующих слов из обучающей текстовой входной последовательности путем применения маски ограничения внимания в отношении обучающей текстовой входной последовательности, а выходные данные вида «внимание» используются для формирования кодированного представления обучающей текстовой входной последовательности, при формировании выходных данных вида «внимание» для слова из входной группы маска ограничения внимания позволяет «принимать во внимание» только слова из этой входной группы так, чтобы выходные данные вида «внимание» формировались на основе контекста этой входной группы, а не контекстов других входных групп в обучающей текстовой входной последовательности;- the formation by the server using the encoder subnet of an encoded representation of the training text input sequence, including the generation of output data of the "attention" type for the corresponding words from the training text input sequence by applying an attention restriction mask in relation to the training text input sequence, and the output data of the "attention" type are used to generate an encoded representation of the training text input sequence, when generating output data of the “attention” type for a word from the input group, the attention restriction mask allows you to “take into account” only words from this input group so that the output data of the “attention” type is formed based on the context of this input group, and not the contexts of other input groups in the training text input sequence; - формирование сервером, использующим подсеть декодера, декодированного представления для обучающей текстовой входной последовательности, соответствующего прогнозируемой текстовой выходной последовательности;- the formation by the server using the decoder subnet of a decoded representation for the training text input sequence corresponding to the predicted text output sequence; - формирование сервером оценки штрафа для итерации обучения путем сравнения прогнозируемой текстовой выходной последовательности с заранее заданной текстовой выходной последовательностью, представляющей собой заранее заданный ответ на обучающий запрос; и- the formation by the server of a penalty estimate for the training iteration by comparing the predicted text output sequence with a predefined text output sequence representing a predefined response to the training request; And - корректировку сервером сети ANN на основе оценки штрафа.- adjustment by the ANN network server based on the penalty estimate. 2. Способ по п. 1, отличающийся тем, что формируемые выходные данные вида «внимание» дополнительно основаны на контексте из обучающего запроса.2. The method of claim 1, wherein the generated attention type output is additionally based on the context from the training query. 3. Способ по п. 1, отличающийся тем, что на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность, при этом способ на другой итерации обучения дополнительно включает в себя обучение сети ANN на основе другого обучающего набора данных, содержащего (а) обучающий запрос, (б) модифицированную обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность, а входные группы в модифицированной обучающей текстовой входной последовательности расположены в порядке, отличном от порядка входных групп в обучающей текстовой входной последовательности.3. The method according to claim 1, characterized in that at the training iteration, the ANN is trained on the basis of a training data set containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence, while the method at another training iteration further includes training the ANN based on another training dataset containing (a) a training query, (b) a modified training text input sequence, and (c) a predefined text output sequence, and the input groups in the modified training of the text input sequence are arranged in an order different from the order of the input groups in the training text input sequence. 4. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя формирование обучающего сниппета контента из последовательности обучающих сниппетов контента, включая ввод сервером обучающего запроса и контента из обучающего контент-ресурса в алгоритм машинного обучения (MLA), способный выдавать прогнозируемый сниппет контента, при этом алгоритм MLA обучен формированию прогнозируемого сниппета контента так, чтобы прогнозируемый сниппет контента был подобен заранее заданной текстовой выходной последовательности и представлял собой обучающий сниппет контента.4. The method of claim. 1, characterized in that it further includes generating a training content snippet from a sequence of training content snippets, including input by the server of the training query and content from the training content resource into a machine learning algorithm (MLA) capable of producing a predictive a content snippet, wherein the MLA algorithm is trained to generate a predictable content snippet such that the predicted content snippet is similar to a predetermined text output sequence and is a training content snippet. 5. Способ по п. 1, отличающийся тем, что на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность, при этом итерация обучения выполняется на первом этапе обучения сети ANN, включающем в себя первое множество итераций обучения, способ дополнительно включает в себя выполнение второго этапа обучения сети ANN, включающего в себя второе множество итераций обучения, и на другой итерации обучения из второго множества итераций обучения сеть ANN обучается на основе другого обучающего набора данных, который представляет собой набор из множества заранее заданных обучающих наборов данных, подлежащих использованию при выполнении второго множества итераций обучения, и выбирается оценщиком-человеком.5. The method according to claim 1, characterized in that at the training iteration, the ANN is trained on the basis of a training data set containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence, while the training iteration is performed at the first training step of the ANN, including the first set of training iterations, the method further includes performing the second training step of the ANN, including the second set of training iterations, and at the other training iteration of the second set of training iterations, the ANN is trained on the basis of another training dataset, which is a set of a plurality of predefined training datasets to be used in performing the second plurality of training iterations, and is selected by the human evaluator. 6. Способ по п. 1, отличающийся тем, что на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность, определенную оценщиком-человеком, при этом оценщик-человек определяет заранее заданную текстовую выходную последовательность из контента по меньшей мере одного из обучающих контент-ресурсов, связанных с обучающими сниппетами контента.6. The method according to claim 1, characterized in that at the training iteration, the ANN is trained on the basis of a training data set containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence determined by the estimator a human, wherein the human evaluator determines a predetermined text output sequence from the content of at least one of the learning content resources associated with the learning content snippets. 7. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя:7. The method according to p. 1, characterized in that it additionally includes: - формирование сервером текстового представления запроса на основе звукового представления речевого фрагмента пользователя, указывающего на запрос пользователя, связанного с электронным устройством;- the formation by the server of a textual representation of the request based on the audio representation of the user's speech fragment indicating the request of the user associated with the electronic device; - определение сервером результатов поиска, соответствующих текстовому представлению запроса, при этом результат поиска содержит сниппет контента и указывает на контент-ресурс, релевантный запросу;- determination by the server of search results corresponding to the text representation of the request, while the search result contains a content snippet and points to a content resource relevant to the request; - формирование сервером текстовой входной последовательности в виде последовательности сниппетов контента на основе сниппетов контента результатов поиска;- formation by the server of a textual input sequence in the form of a sequence of content snippets based on content snippets of the search results; - ввод сервером текстовой входной последовательности и текстового представления запроса в сеть ANN, способную выдавать текстовую выходную последовательность, представляющую собой сводку контента последовательности сниппетов контента и подлежащую использованию в качестве ответа на запрос;- input by the server of a textual input sequence and a textual representation of the request to the ANN capable of producing a textual output sequence representing a summary of the content of the sequence of content snippets and to be used as a response to the request; - формирование сервером звукового представления текстовой выходной последовательности, представляющего собой формируемый компьютером речевой фрагмент ответа; и- formation by the server of an audio representation of a text output sequence, which is a speech fragment of the response generated by the computer; And - предоставление сервером электронному устройству, связанному с пользователем, звукового представления текстовой выходной последовательности.- providing by the server to the electronic device associated with the user, an audio representation of the text output sequence. 8. Способ по п. 1, отличающийся тем, что корректировка включает в себя применение сервером метода обратного распространения в отношении сети ANN.8. The method of claim. 1, characterized in that the adjustment includes the server application of the method of backpropagation in relation to the network ANN. 9. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя получение сниппетов контента из соответствующих контент-ресурсов, релевантных запросу.9. The method of claim 1, further comprising obtaining content snippets from corresponding content resources relevant to the query. 10. Способ по п. 9, отличающийся тем, что получение включает в себя выполнение поиска с использованием поисковой системы и запроса в качестве входных данных.10. The method of claim 9, wherein the acquisition includes performing a search using a search engine and a query as input. 11. Способ по п. 10, отличающийся тем, что получение включает в себя получение N наиболее релевантных сниппетов, связанных с N лучшими результатами поиска.11. The method of claim 10, wherein the acquisition includes obtaining the N most relevant snippets associated with the N best search results. 12. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя получение заранее заданной текстовой выходной последовательности.12. The method of claim. 1, characterized in that it further includes obtaining a predetermined text output sequence. 13. Способ по п. 12, отличающийся тем, что получение осуществляется от оценщика-человека.13. The method according to claim 12, characterized in that the receipt is carried out from a human appraiser. 14. Способ по п. 13, отличающийся тем, что он дополнительно включает в себя получение указания на контент-ресурс, использованный оценщиком-человеком для формирования заранее заданной текстовой выходной последовательности.14. The method of claim 13, further comprising obtaining an indication of the content resource used by the human evaluator to generate the predetermined text output sequence. 15. Способ по п. 14, отличающийся тем, что контент-ресурс используется для проверки заранее заданной текстовой выходной последовательности.15. The method of claim 14, wherein the content resource is used to validate a predetermined textual output sequence. 16. Способ по п. 15, отличающийся тем, что контент-ресурс представляет собой сетевой ресурс, соответствующий обучающему запросу и полученный путем выполнения поиска с использованием поисковой системы.16. The method according to claim 15, characterized in that the content resource is a network resource corresponding to the training query and obtained by performing a search using a search engine. 17. Сервер для обучения содержащей подсеть кодера и подсеть декодера нейронной сети внимания (ANN) формированию текстовой выходной последовательности на основе запроса и текстовой входной последовательности, сформированной в виде последовательности сниппетов контента, полученных из соответствующих контент-ресурсов, релевантных запросу, при этом текстовая выходная последовательность представляет собой сводку контента последовательности сниппетов контента и подлежит использованию в качестве ответа на запрос, а сервер содержит сеть ANN и выполнен с возможностью на итерации обучения сети ANN:17. A server for training an attentional neural network (ANN) comprising an encoder subnetwork and a decoder subnetwork to generate a text output sequence based on a request and a text input sequence formed as a sequence of content snippets obtained from the corresponding content resources relevant to the request, with a text output the sequence is a summary of the content of a sequence of content snippets and is to be used as a response to a request, and the server contains the ANN network and is configured, at the training iteration of the ANN network: - ввода обучающего запроса и обучающей текстовой входной последовательности в подсеть кодера, при этом обучающая текстовая входная последовательность (а) сформирована в виде последовательности обучающих сниппетов контента и (б) разделена на последовательность входных групп, а входная группа связана с обучающим сниппетом контента и содержит слова из этого обучающего сниппета контента;- input of a training query and a training text input sequence into the encoder subnet, while the training text input sequence (a) is formed as a sequence of training content snippets and (b) is divided into a sequence of input groups, and the input group is associated with the training content snippet and contains words from this tutorial content snippet; - формирования с использованием подсети кодера кодированного представления обучающей текстовой входной последовательности, включая формирование выходных данных вида «внимание» для соответствующих слов из обучающей текстовой входной последовательности путем применения маски ограничения внимания в отношении обучающей текстовой входной последовательности, при этом выходные данные вида «внимание» используются для формирования кодированного представления обучающей текстовой входной последовательности, а при формировании выходных данных вида «внимание» для слова из входной группы маска ограничения внимания позволяет «принимать во внимание» только слова из этой входной группы так, чтобы выходные данные вида «внимание» формировались на основе контекста этой входной группы, а не контекстов других входных групп в обучающей текстовой входной последовательности;- generating, using the subnet of the encoder, an encoded representation of the training text input sequence, including generating output data of the "attention" type for the corresponding words from the training text input sequence by applying an attention restriction mask in relation to the training text input sequence, while the output data of the "attention" type is used to form an encoded representation of the training text input sequence, and when generating output data of the “attention” type for a word from the input group, the attention restriction mask allows you to “take into account” only words from this input group so that the output data of the “attention” type is formed based on the context of this input group, and not the contexts of other input groups in the training text input sequence; - формирования с использованием подсети декодера декодированного представления для обучающей текстовой входной последовательности, соответствующего прогнозируемой текстовой выходной последовательности;- generating, using the decoder subnet, a decoded representation for the training text input sequence corresponding to the predicted text output sequence; - формирования оценки штрафа для итерации обучения путем сравнения прогнозируемой текстовой выходной последовательности с заранее заданной текстовой выходной последовательностью, представляющей собой заранее заданный ответ на обучающий запрос; и- generating a penalty estimate for the training iteration by comparing the predicted text output sequence with a predetermined text output sequence representing a predetermined response to the training request; And - корректировки сети ANN на основе оценки штрафа.- adjustments to the ANN network based on the penalty estimate. 18. Сервер по п. 17, отличающийся тем, что формируемые выходные данные вида «внимание» дополнительно основаны на контексте из обучающего запроса.18. The server according to claim 17, characterized in that the generated output data of the "attention" type is additionally based on the context from the training request. 19. Сервер по п. 17, отличающийся тем, что на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность, и сервер дополнительно способен на другой итерации обучения обучать сеть ANN на основе другого обучающего набора данных, содержащего (а) обучающий запрос, (б) модифицированную обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность, при этом входные группы в модифицированной обучающей текстовой входной последовательности расположены в порядке, отличном от порядка входных групп в обучающей текстовой входной последовательности.19. The server according to claim 17, characterized in that at the training iteration, the ANN is trained on the basis of a training data set containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence, and the server is additionally capable, at another training iteration, of training the ANN network based on a different training dataset containing (a) a training query, (b) a modified training text input sequence, and (c) a predefined text output sequence, wherein the input groups in the modified training text input the sequences are in an order different from the order of the input groups in the training text input sequence. 20. Сервер по п. 17, отличающийся тем, что он дополнительно выполнен с возможностью формирования обучающего сниппета контента из последовательности обучающих сниппетов контента, включая ввод обучающего запроса и контента из обучающего контент-ресурса в алгоритм MLA, способный выдавать прогнозируемый сниппет контента, при этом алгоритм MLA обучен формированию прогнозируемого сниппета контента так, чтобы прогнозируемый сниппет контента был подобен заранее заданной текстовой выходной последовательности и представлял собой обучающий сниппет контента.20. The server according to claim 17, characterized in that it is additionally configured to generate a training content snippet from a sequence of training content snippets, including inputting a training query and content from a training content resource into an MLA algorithm capable of issuing a predictable content snippet, while the MLA algorithm is trained to generate a predictable content snippet such that the predicted content snippet is similar to a predefined text output sequence and is a training content snippet. 21. Сервер по п. 17, отличающийся тем, что на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность, при этом итерация обучения выполняется на первом этапе обучения сети ANN, включающем в себя первое множество итераций обучения, сервер дополнительно выполнен с возможностью выполнения второго этапа обучения сети ANN, включающего в себя второе множество итераций обучения, и на другой итерации обучения из второго множества итераций обучения сеть ANN обучается на основе другого обучающего набора данных, который представляет собой набор из множества заранее заданных обучающих наборов данных, подлежащих использованию при выполнении второго множества итераций обучения, и выбирается оценщиком-человеком.21. The server according to claim 17, characterized in that at the training iteration, the ANN is trained on the basis of a training data set containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence, while the training iteration is performed at the first training step of the ANN, including the first set of training iterations, the server is further configured to perform the second training step of the ANN, including the second set of training iterations, and at the other training iteration of the second set of training iterations, the ANN is trained on the basis of another training dataset, which is a set of a plurality of predefined training datasets to be used in performing the second plurality of training iterations, and is selected by the human evaluator. 22. Сервер по п. 17, отличающийся тем, что на итерации обучения сеть ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос, (б) обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность, определенную оценщиком-человеком, при этом оценщик-человек определяет заранее заданную текстовую выходную последовательность из контента по меньшей мере одного из обучающих контент-ресурсов, связанных с обучающими сниппетами контента.22. The server according to claim 17, characterized in that at the training iteration, the ANN is trained on the basis of a training data set containing (a) a training query, (b) a training text input sequence, and (c) a predefined text output sequence determined by the estimator a human, wherein the human evaluator determines a predetermined text output sequence from the content of at least one of the learning content resources associated with the learning content snippets. 23. Сервер по п. 17, отличающийся тем, что он дополнительно выполнен с возможностью:23. The server according to claim 17, characterized in that it is additionally configured to: - формирования текстового представления запроса на основе звукового представления речевого фрагмента пользователя, указывающего на запрос пользователя, связанного с электронным устройством;- generating a text representation of the request based on the audio representation of the user's speech fragment indicating the request of the user associated with the electronic device; - определения результатов поиска, соответствующих текстовому представлению запроса, при этом результат поиска содержит сниппет контента и указывает на контент-ресурс, релевантный запросу;- determining search results corresponding to the textual representation of the query, wherein the search result contains a content snippet and points to a content resource relevant to the query; - формирования текстовой входной последовательности в виде последовательности сниппетов контента на основе сниппетов контента результатов поиска;- formation of a text input sequence in the form of a sequence of content snippets based on content snippets of search results; - ввода текстовой входной последовательности и текстового представления запроса в сеть ANN, способную выдавать текстовую выходную последовательность, представляющую собой сводку контента последовательности сниппетов контента и подлежащую использованию в качестве ответа на запрос;inputting a textual input sequence and a textual representation of the request into an ANN capable of producing a textual output sequence representing a summary of the content of the sequence of content snippets to be used as a response to the request; - формирования звукового представления текстовой выходной последовательности, представляющего собой формируемый компьютером речевой фрагмент ответа; и- formation of an audio representation of the text output sequence, which is a speech fragment of the response generated by the computer; And - предоставления электронному устройству, связанному с пользователем, звукового представления текстовой выходной последовательности.- providing the electronic device associated with the user with an audible representation of the text output sequence. 24. Сервер по п. 17, отличающийся тем, что корректировка включает в себя применение сервером метода обратного распространения в отношении сети ANN.24. The server as claimed in claim 17, wherein the adjustment includes applying backpropagation by the server to the ANN. 25. Сервер по п. 17, отличающийся тем, что он дополнительно выполнен с возможностью получения сниппетов контента из соответствующих контент-ресурсов, релевантных запросу.25. The server according to claim 17, characterized in that it is additionally configured to receive content snippets from the corresponding content resources relevant to the request. 26. Сервер по п. 25, отличающийся тем, что получение включает в себя выполнение поиска с использованием поисковой системы и запроса в качестве входных данных.26. The server of claim 25, wherein the acquisition includes performing a search using a search engine and a query as input. 27. Сервер по п. 26, отличающийся тем, что получение включает в себя получение N наиболее релевантных сниппетов, связанных с N лучшими результатами поиска.27. The server of claim 26, wherein the acquisition includes obtaining the N most relevant snippets associated with the N best search results. 28. Сервер по п. 17, отличающийся тем, что он дополнительно выполнен с возможностью получения заранее заданной текстовой выходной последовательности.28. The server according to claim 17, characterized in that it is additionally configured to receive a predetermined text output sequence. 29. Сервер по п. 28, отличающийся тем, что он выполнен с возможностью получения заранее заданной текстовой выходной последовательности от оценщика-человека.29. The server according to claim 28, characterized in that it is configured to receive a predefined text output sequence from a human evaluator. 30. Сервер по п. 29, отличающийся тем, что он дополнительно выполнен с возможностью получения указания на контент-ресурс, использованный оценщиком-человеком для формирования заранее заданной текстовой выходной последовательности.30. The server of claim 29, further configured to obtain an indication of the content resource used by the human evaluator to generate the predetermined text output sequence. 31. Сервер по п. 30, отличающийся тем, что контент-ресурс используется для проверки заранее заданной текстовой выходной последовательности.31. The server according to claim 30, characterized in that the content resource is used to check a predetermined text output sequence. 32. Сервер по п. 31, отличающийся тем, что контент-ресурс представляет собой сетевой ресурс, соответствующий обучающему запросу и полученный путем выполнения поиска с использованием поисковой системы.32. The server according to claim 31, characterized in that the content resource is a network resource corresponding to the training request and obtained by performing a search using a search engine.
RU2020132862A 2020-10-06 2020-10-06 Method and server for teaching a neural network to form a text output sequence RU2798362C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2020132862A RU2798362C2 (en) 2020-10-06 Method and server for teaching a neural network to form a text output sequence
US17/490,620 US20220108685A1 (en) 2020-10-06 2021-09-30 Method and server for training a neural network to generate a textual output sequence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020132862A RU2798362C2 (en) 2020-10-06 Method and server for teaching a neural network to form a text output sequence

Publications (2)

Publication Number Publication Date
RU2020132862A RU2020132862A (en) 2022-04-25
RU2798362C2 true RU2798362C2 (en) 2023-06-21

Family

ID=

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090187516A1 (en) * 2008-01-18 2009-07-23 Tapas Kanungo Search summary result evaluation model methods and systems
CN109885683A (en) * 2019-01-29 2019-06-14 桂林远望智能通信科技有限公司 A method of the generation text snippet based on K-means model and neural network model
CN109977220A (en) * 2019-04-09 2019-07-05 中通服公众信息产业股份有限公司 A method of the reversed generation abstract based on critical sentence and keyword
CN110134782A (en) * 2019-05-14 2019-08-16 南京大学 A kind of text snippet model and Method for Automatic Text Summarization based on improved selection mechanism and LSTM variant
CN110750240A (en) * 2019-08-28 2020-02-04 南京航空航天大学 Code segment recommendation method based on sequence-to-sequence model
US10572598B2 (en) * 2017-06-15 2020-02-25 Microsoft Technology Licensing, Llc Method and system for ranking and summarizing natural language passages
JP2020038687A (en) * 2017-04-14 2020-03-12 セールスフォース ドット コム インコーポレイティッド Text summarization system, method, and storage medium
RU2731335C2 (en) * 2018-10-09 2020-09-01 Общество С Ограниченной Ответственностью "Яндекс" Method and system for generating recommendations of digital content

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090187516A1 (en) * 2008-01-18 2009-07-23 Tapas Kanungo Search summary result evaluation model methods and systems
JP2020038687A (en) * 2017-04-14 2020-03-12 セールスフォース ドット コム インコーポレイティッド Text summarization system, method, and storage medium
US10572598B2 (en) * 2017-06-15 2020-02-25 Microsoft Technology Licensing, Llc Method and system for ranking and summarizing natural language passages
RU2731335C2 (en) * 2018-10-09 2020-09-01 Общество С Ограниченной Ответственностью "Яндекс" Method and system for generating recommendations of digital content
CN109885683A (en) * 2019-01-29 2019-06-14 桂林远望智能通信科技有限公司 A method of the generation text snippet based on K-means model and neural network model
CN109977220A (en) * 2019-04-09 2019-07-05 中通服公众信息产业股份有限公司 A method of the reversed generation abstract based on critical sentence and keyword
CN110134782A (en) * 2019-05-14 2019-08-16 南京大学 A kind of text snippet model and Method for Automatic Text Summarization based on improved selection mechanism and LSTM variant
CN110750240A (en) * 2019-08-28 2020-02-04 南京航空航天大学 Code segment recommendation method based on sequence-to-sequence model

Similar Documents

Publication Publication Date Title
KR20190120353A (en) Speech recognition methods, devices, devices, and storage media
WO2018045646A1 (en) Artificial intelligence-based method and device for human-machine interaction
US10860588B2 (en) Method and computer device for determining an intent associated with a query for generating an intent-specific response
CN113139036B (en) Information interaction method and equipment
RU2731658C2 (en) Method and system of selection for ranking search results using machine learning algorithm
CN113672708A (en) Language model training method, question and answer pair generation method, device and equipment
KR102619568B1 (en) Voice based search for digital content in a network
US11043215B2 (en) Method and system for generating textual representation of user spoken utterance
US20080281579A1 (en) Method and System for Facilitating The Learning of A Language
US10789256B2 (en) Method and computer device for selecting a current context-specific response for a current user query
US20230280974A1 (en) Rendering visual components on applications in response to voice commands
WO2022134834A1 (en) Potential event predicting method, apparatus and device, and storage medium
US20200193987A1 (en) Methods of and electronic devices for identifying a user utterance from a digital audio signal
RU2798362C2 (en) Method and server for teaching a neural network to form a text output sequence
US20220207244A1 (en) Method and server for training a machine learning algorithm for executing translation
EP4120117A1 (en) Disfluency removal using machine learning
US20220108685A1 (en) Method and server for training a neural network to generate a textual output sequence
KR102648990B1 (en) Peer learning recommendation method and device
RU2789796C2 (en) Method and server for training machine learning algorithm for translation
RU2790026C2 (en) Method and server for training machine learning algorithm for translation
JP2006127077A (en) Information processing apparatus ane method, recording medium and program
RU2744063C1 (en) Method and system for determining speaking user of voice-controlled device
US11934439B1 (en) Similar cases retrieval in real time for call center agents
US20230142836A1 (en) Predictive query execution
US20220318283A1 (en) Query correction based on reattempts learning