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 PDFInfo
- 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
Links
Images
Abstract
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
[61] Ниже описаны различные элементы системы 100 и то, как эти элементы обеспечивают предоставление звукового сигнала 154 электронным устройством 104 в ответ на звуковой сигнал 152 пользователя 102.[61] The following describes the various elements of system 100 and how these elements ensure that an
Устройство пользователяUser device
[62] Как упомянуто выше, система 100 содержит устройство 104. На реализацию устройства 104 не накладывается каких-либо особых ограничений. Например, устройство 104 может быть реализовано в виде персонального компьютера (настольного, ноутбука, нетбука и т.д.), беспроводного устройства связи (смартфона, сотового телефона, планшета, умной колонки и т.п.) или сетевого оборудования (маршрутизатора, коммутатора, шлюза). Устройство 104 иногда может называться электронным устройством, оконечным устройством, клиентским электронным устройством или просто устройством. Следует отметить, что связь электронного устройства 104 с пользователем 102 не означает необходимости предлагать или подразумевать какой-либо режим работы, например, вход в систему, регистрацию и т.п.[62] As mentioned above, system 100 includes
[63] Предполагается, что устройство 104 содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение (либо их сочетание) для (а) обнаружения или фиксации звукового сигнала 152 и (б) предоставления или воспроизведения звукового сигнала 154. Например, устройство 104 может содержать один или несколько микрофонов для обнаружения или фиксации звуковых сигналов 152 и один или несколько громкоговорителей для предоставления или воспроизведения звуковых сигналов 154.[63] It is contemplated that
[64] Устройство 104 также содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение (либо их сочетание) для выполнения приложения 105 IPA. В общем случае приложение 105 IPA, также известное как чат-бот, предназначено для того, чтобы обеспечивать пользователю 102 возможность отправлять запросы в виде речевых фрагментов (например, в виде звукового сигнала 152) и в ответ предоставлять пользователю 102 ответы в виде речевых фрагментов (например, в виде звукового сигнала 154).[64]
[65] Отправка запросов и предоставление ответов может выполняться приложением 105 IPA с использованием пользовательского интерфейса на естественном языке. В общем случае пользовательский интерфейс на естественном языке приложения 105 IPA может представлять собой человеко-машинный интерфейс любого вида, в котором лингвистические единицы, такие как глаголы, фразы, предложения и т.п., выполняют функции элементов управления пользовательского интерфейса для извлечения, выбора, модификации или иного формирования данных в приложении 105 IPA.[65] Sending requests and providing responses can be performed by the
[66] Например, при обнаружении (т.е. фиксации) речевых фрагментов пользователя 102 (например, звукового сигнала 152) устройством 104 приложение 105 IPA может использовать свой пользовательский интерфейс на естественном языке для анализа речевых фрагментов пользователя 102 и извлечения из них данных, указывающих на запросы пользователя. Кроме того, данные, указывающие на полученные устройством 104 ответы, анализируются пользовательским интерфейсом на естественном языке приложения 105 IPA с целью предоставления или воспроизведения речевых фрагментов (например, звукового сигнала 154), указывающих на эти ответы.[66] For example, when
[67] Предполагается, что приложение 105 IPA в качестве альтернативы или дополнительно может использовать текстовый человеко-машинный интерфейс, чтобы обеспечивать пользователю 102 возможность отправлять указания на запросы в текстовом виде и в ответ предоставлять пользователю 102 указания на ответы в текстовом виде, без выхода за границы настоящей технологии.[67] It is contemplated that the
Сеть связиCommunication network
[68] В представленном для иллюстрации не имеющем ограничительного характера примере системы 100 устройство 104 связано с сетью 110 связи для доступа и передачи пакетов данных серверу 106 и/или другим веб-ресурсам (не показаны) или от них. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии в качестве сети 110 связи может использоваться сеть Интернет. В других не имеющих ограничительного характера вариантах осуществления данной технологии сеть 110 связи может быть реализована иначе, например, в виде любой глобальной сети связи, локальной сети связи, частной сети связи и т.п. Реализация линии связи (не обозначена) между устройством 104 и сетью 110 связи зависит, среди прочего, от реализации устройства 104.[68] In an illustrative non-limiting example of system 100,
[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
Множество серверов ресурсовMany resource servers
[70] Как описано выше, множество серверов 108 ресурсов может быть доступно через сеть 110 связи. Множество серверов 108 ресурсов может быть реализовано в виде традиционных компьютерных серверов. В не имеющем ограничительного характера примере осуществления настоящей технологии сервер из множества серверов 108 ресурсов может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Сервер из множества серверов 108 ресурсов также может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания.[70] As described above, a plurality of
[71] Множество серверов 108 ресурсов способно содержать ресурсы (или веб-ресурсы), которые могут быть доступны устройству 104 и/или серверу 106. На вид ресурсов, содержащихся на множестве серверов 108 ресурсов, не накладывается каких-либо ограничений. Тем не менее, в некоторых вариантах осуществления настоящей технологии эти ресурсы могут содержать цифровые документы или просто документы, представляющие собой веб-страницы.[71] The plurality of
[72] Например, множество серверов 108 ресурсов может содержать веб-страницы, т.е. множество серверов 108 ресурсов может хранить документы, которые представляют собой веб-страницы и доступны устройству 104 и/или серверу 106. Документ может быть составлен на языке разметки и может, среди прочего, содержать (а) контент соответствующей веб-страницы и (б) машиночитаемые команды для отображения соответствующей веб-страницы (содержащегося на ней контента). Таким образом, в по меньшей мере некоторых вариантах осуществления настоящей технологии можно сказать, что множество серверов 108 ресурсов может содержать множество контент-ресурсов, каждый из которых связан с соответствующим контентом.[72] For example, a plurality of
[73] Устройство 104 может обращаться к серверу из множества серверов 108 ресурсов с целью получения документа (например, контент-ресурса), хранящегося на этом сервере. Например, пользователь 102 может ввести веб-адрес, связанный с веб-страницей, в браузерном приложении (не показано) устройства 104. В ответ устройство 104 может обратиться к серверу ресурсов, содержащему эту веб-страницу, с целью получения документа, представляющего собой эту веб-страницу, для отображения контента этой веб-страницы с использованием браузерного приложения.[73] The
[74] Следует отметить, что сервер 106 также может обращаться к серверу из множества серверов 108 ресурсов с целью получения документа (например, контент-ресурса), хранящегося на этом сервере ресурсов. Назначение сервера 106, осуществляющего доступ и получение документов от множества серверов 108 ресурсов, более подробно описано ниже.[74] It should be noted that the
СерверServer
[75] Как упомянуто выше, система 100 также содержит сервер 106, который может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 106 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Должно быть понятно, что сервер 106 может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения, либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 106 могут быть распределены между несколькими серверами.[75] As mentioned above, system 100 also includes a
[76] В общем случае сервер 106 способен (а) получать от устройства 104 данные, связанные со звуковым сигналом 152, (б) анализировать эти данные и в ответ (в) определять данные для формирования звукового сигнала 154. Например, сервер 106 может получать данные, указывающие на запрос пользователя, и в ответ может формировать данные, указывающие на ответ на этот запрос пользователя. С этой целью сервер 106, среди прочего, способен выполнять одну или несколько компьютерных процедур, которые в этом документе называются поисковой системой 130.[76] In general,
[77] В некоторых вариантах осуществления изобретения сервер 106 может управляться и/или администрироваться поставщиком услуг поисковой системы (не показан), таким как оператор поисковой системы Yandex™. Сервер 106 может содержать поисковую систему 130 для выполнения одного или нескольких поисков в ответ на запросы, отправленные пользователями поисковой системы 130. [77] In some embodiments, the
[78] В некоторых вариантах осуществления изобретения сервер 106 может получать данные от устройства 104, указывающие на запрос пользователя 102. Например, приложение 105 IPA устройства 104 может формировать цифровое звуковое представление для звукового сигнала 152 (например, для речевого фрагмента пользователя) и отправлять это цифровое звуковое представление через сеть 110 связи серверу 106. В этом примере сервер 106 может формировать текстовое представление запроса, отправленного пользователем 102, на основе цифрового звукового представления речевого фрагмента пользователя и выполнять поиск на основе сформированного таким образом текстового представления запроса. В по меньшей мере некоторых вариантах осуществления настоящей технологии пользователь 102 может использовать электронное устройство 104 и вручную вводить текстовое представление запроса, а ответ, предоставляемый пользователю 102, может быть предоставлен в виде цифрового звукового представления без выхода за границы настоящей технологии.[78] In some embodiments, the
[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
[80] Как описано выше, сервер 106 может использовать текстовое представление запроса для выполнения поиска (соответствующего запросу) и формировать таким образом результаты поиска, релевантные запросу. Например, сервер 106, использующий поисковую систему 130, может формировать данные, указывающие на один или несколько результатов поиска, релевантных запросу пользователя 102.[80] As described above, the
[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
[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
[83] Поисковая система 130 способна определять контент-ресурсы, релевантные запросу пользователя, и ранжировать эти контент-ресурсы на основе, среди прочего, релевантности их контента запросу, как это известно в данной области техники.[83] The
[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
[86] Разработчики настоящей технологии также установили, что механизм 135 сниппетов, способный формировать краткие сниппеты контента для различных контент-ресурсов, может быть использован в контексте обработки речевых запросов. Очевидно, что в некоторых вариантах осуществления настоящей технологии, где устройство 104 представляет собой, например, умную колонку, желательно предоставлять пользователю 102 голосовые сервисы поисковой системы. В этих вариантах осуществления изобретения формирование лаконичных сниппетов контента может быть использовано для создания формируемых компьютером речевых фрагментов, которые более кратко и содержательно передают контент, релевантный запросу. Ниже более подробно описано формирование механизмом 135 сниппетов кратких сниппетов контента для соответствующих контент-ресурсов.[86] The developers of the present technology have also found that the
[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
[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
[90] Следует отметить, что сервер 106 способен предоставлять устройству 104 данные, указывающие на сводку контента в текстовом формате, которая должна обрабатываться приложением 105 IPA с целью формирования соответствующего цифрового звукового представления (например, звукового сигнала 154) и воспроизводиться пользователю 102. Тем не менее, в других вариантах осуществления изобретения сервер 106 может формировать цифровое звуковое представление сводки контента на основе соответствующей текстовой выходной последовательности и таким образом предоставлять данные, указывающие на сводку контента в цифровом звуковом формате.[90] It should be noted that the
Система базы данныхDatabase system
[91] Сервер 106 связан с системой 120 базы данных. В общем случае система 120 базы данных может хранить информацию, полученную и/или сформированную сервером 106 во время обработки. Например, система 120 базы данных способна принимать от сервера 106 данные, полученные и/или сформированные сервером 106 во время обработки, для временного и/или постоянного хранения и выдавать сохраненные данные серверу 106 для дальнейшего их использования. Для лучшей иллюстрации этого дальнейшее описание ссылается на фиг. 3, где приведено представление 300 данных, хранящихся в системе 120 базы данных, согласно по меньшей мере некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[91] The
[92] Система 120 базы данных способна хранить данные 310 поисковой системы. В общем случае данные 310 поисковой системы, хранящиеся в системе 120 базы данных, содержат данные, позволяющие серверу 106 предоставлять сервисы поисковой системы пользователям поисковой системы 130. В некоторых вариантах осуществления изобретения данные 310 поисковой системы могут содержать данные о большом количестве контент-ресурсов (например, документов), полученных приложением обходчика (не показано). Таким образом, система 120 базы данных может предоставлять серверу 106 доступ к этому большому количеству документов во время поиска документов.[92] The
[93] Следует отметить, что сервер 106 может выполнять приложение обходчика в качестве части поисковой системы 130. В общем случае приложение обходчика может использоваться сервером 106 для «посещения» ресурсов, доступных через сеть 110 связи, и для получения или загрузки документов с целью их дальнейшего использования. Например, приложение обходчика может быть использовано сервером 106 для доступа к множеству серверов 108 ресурсов и для получения или загрузки документов, представляющих собой веб-страницы, содержащиеся на множестве серверов 108 ресурсов. Предполагается, что приложение обходчика может периодически выполняться сервером 106 с целью получения или загрузки документов, которые были обновлены и/или стали доступными через сеть 110 связи после предыдущего выполнения приложения обходчика.[93] It should be noted that the
[94] Следует отметить, что данные о большом количестве контент-ресурсов могут храниться в системе 120 базы данных в индексированном формате, т.е. система 120 базы данных может хранить известную в данной области техники структуру индексации, такую как инвертированный индекс контент-ресурсов. Например, система 120 базы данных может хранить множество списков вхождений, связанных с соответствующими терминами (например, со словами), идентифицированными в контенте контент-ресурсов. По сути, список вхождений указывает на множество контент-ресурсов, в контенте которых содержится соответствующий термин.[94] It should be noted that data on a large number of content resources may be stored in the
[95] В некоторых вариантах осуществления изобретения данные 310 поисковой системы, хранящиеся в системе 120 базы данных, могут содержать информацию о поисках, ранее выполненных поисковой системой 130. Например, данные 310 поисковой системы могут содержать данные запроса, связанные с соответствующими запросами. Данные запроса, связанные с запросом, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, данные запроса могут содержать (не ограничиваясь этим):[95] In some embodiments,
- популярность запроса;- 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
- популярность контент-ресурса;- 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
[98] Следует отметить, что данные 330 оценщика-человека могут содержать множество оцененных людьми наборов данных. Оцененный человеком набор данных может содержать (а) указание на запрос (Q), (б) указание на контент-ресурс, релевантный этому запросу, и (в) указание на оцененный человеком сниппет контента для соответствующего контент-ресурса. Оцененный человеком набор данных может быть сформирован путем предоставления оценщику-человеку запроса и последующего сбора данных, предоставленных оценщиком-человеком. Следует отметить, что данные 330 оценщика-человека могут содержать большое количество оцененных людьми наборов данных для обучения, как описано ниже.[98] It should be noted that
[99] Например, в ответ на запрос оценщик-человек может использовать поисковую систему 130 для выполнения поиска, соответствующего запросу, и получения множества результатов поиска, связанных с соответствующими контент-ресурсами, которые поисковая система 130 определила как релевантные запросу. Затем оценщику-человеку ставится задача анализа контента предоставленных в качестве результатов поиска контент-ресурсов и формирования оцененного человеком сниппета контента для этого запроса на основе контента по меньшей мере одного из контент-ресурсов, предоставленных в качестве результатов поиска. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии оценщику-человеку также ставится задача предоставить указание на по меньшей мере один из предоставленных в качестве результатов поиска контент-ресурсов, использованный для формирования сводки (например, для проверки, контроля качества и т.п.).[99] For example, in response to a query, the human evaluator may use the
[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
Алгоритм 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
[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
[106] В общем случае реализация алгоритма 400 MLA сервером 106 может быть разделена на два основных этапа: этап обучения и этап использования. Сначала алгоритм 400 MLA обучается на этапе обучения. Затем, когда алгоритму 400 MLA известно, какие предполагаются входные данные и какие должны выдаваться выходные данные, алгоритм 400 MLA выполняется с реальными данными на этапе использования. Как описано ниже, предполагается, что сервер 106 также может использовать алгоритм 400 MLA для формирования по меньшей мере некоторых обучающих данных для обучения сети 140 ANN.[106] In general, the implementation of the
[107] На фиг. 4 приведено представление 480 одной итерации обучения алгоритма 400 MLA. Тем не менее, следует отметить, что сервер 106 может выполнять большое количество итераций обучения на основе соответствующих обучающих наборов данных подобно тому, как сервер 106 способен выполнять одну итерацию обучения, представленную на фиг. 4.[107] FIG. 4 is a
[108] Во время представленной итерации обучения сервер 106 способен обучать алгоритм 400 MLA на основе обучающего набора 410 данных. В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии обучающий набор 410 данных может соответствовать соответствующему оцененному человеком набору данных из множества оцененных людьми наборов данных, хранящихся в системе 120 базы данных. Иными словами, обучающий набор 410 данных может содержать данные, указывающие (а) на запрос 416, (б) на соответствующий контент-ресурс 414 и (в) на соответствующий целевой сниппет 412 контента (например, оцененный человеком сниппет контента для соответствующей пары запрос-ресурс).[108] During the training iteration shown, the
[109] Сервер 106 способен использовать (а) запрос 416 и соответствующий контент-ресурс 414 в качестве входных данных алгоритма 400 MLA и (б) соответствующий целевой сниппет 412 контента в качестве обучающей цели. В некоторых вариантах осуществления изобретения предполагается, что данные, указывающие на запрос 416 и на соответствующий контент-ресурс 414, могут быть введены в алгоритм 400 MLA в векторном формате. Например, контент запроса 416 и соответствующего контент-ресурса 414 может быть введен как векторные представления на основе соответствующих представлений вида «мешок слов» (bag-of-words).[109] The
[110] В ответ на введенные данные, представляющие запрос 416 и соответствующий контент-ресурс 414, алгоритм 400 MLA способен выдавать прогнозируемый сниппет 420 контента. Иными словами, прогнозируемый сниппет 420 контента представляет собой сформированный алгоритмом 400 MLA прогноз сниппета контента для соответствующего контент-ресурса 414, например, когда контент-ресурс 414 предоставляется в качестве результата поиска, релевантного запросу 416. Предполагается, что прогнозируемый сниппет 420 контента может выдаваться алгоритмом 400 MLA в векторном формате без выхода за границы настоящей технологии.[110] In response to input representing the
[111] Затем сервер 106 способен формировать оценку 430 штрафа для итерации обучения на основе прогнозируемого сниппета 420 контента и целевого сниппета 412 контента (т.е. на основе сравнения прогноза с целью). На вид метрики штрафа, используемой для формирования оценки 430 штрафа на основе прогнозируемого сниппета 420 контента и целевого сниппета 412 контента, не накладывается каких-либо особых ограничений. Тем не менее, следует отметить, что оценка 430 штрафа указывает на различие между целевым сниппетом 412 контента и прогнозируемым сниппетом 420 контента. Также можно сказать, что оценка 430 штрафа может указывать на степень сходства или различия целевого сниппета 412 контента и прогнозируемого сниппета 420 контента.[111] The
[112] На итерации обучения сервер 106 способен обучать алгоритм 400 MLA на основе оценки 430 штрафа. Например, сервер 106 может использовать метод обратного распространения для корректировки алгоритма 400 MLA на основе оценки 430 штрафа. Таким образом, можно сказать, что в результате выполнения итерации обучения сервером 106 алгоритм 400 MLA обучается формированию соответствующих прогнозируемых сниппетов контента, схожих с соответствующими целевыми сниппетами контента (т.е. формированию прогнозов, более близких к соответствующим целям). С учетом того, что целевые сниппеты контента могут представлять собой соответствующие оцененные людьми сниппеты контента из системы 120 базы данных, алгоритм 400 MLA таким образом может быть обучен формированию прогнозируемых сниппетов контента, схожих с оцененными людьми сниппетами контента (например, с краткими сниппетами контента).[112] At the training iteration, the
[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
- первый сниппет 214 контента для первого результата 210 поиска на основе запроса 202 и первого контент-ресурса 212;- the
- второй сниппет 224 контента для второго результата 220 поиска на основе запроса 202 и второго контент-ресурса 222;- a
- третий сниппет 234 контента для третьих результатов 230 поиска на основе запроса 202 и третьего контент-ресурса 232.- a
[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
Сети ANNANN networks
[115] Как описано выше, сервер 106 может содержать сеть 140 ANN. В общем случае сети NN представляют собой особый класс алгоритмов MLA и состоят из взаимосвязанных групп искусственных «нейронов», обрабатывающих информацию с использованием коннекционного подхода к вычислениям. Сети NN используются для моделирования сложных взаимосвязей между входными и выходными данными (без фактической информации об этих взаимосвязях) или для поиска закономерностей в данных. Сети NN сначала адаптируются на этапе обучения, когда они обеспечиваются известным набором входных данных и информацией для адаптации сети NN с целью формирования соответствующих выходных данных (в ситуации, для которой выполняется попытка моделирования). На этом этапе обучения сеть NN адаптируется к изучаемой ситуации и изменяет свою структуру так, чтобы сеть NN была способна обеспечивать адекватное предсказание выходных данных для входных данных в новой ситуации (на основе того, что было выучено). Таким образом, вместо попытки определения сложных статистических распределений или математических алгоритмов для данной ситуации, сеть NN пытается предоставить «интуитивный» ответ на основе «восприятия» ситуации. Таким образом, сеть NN представляет собой своего рода обученный черный ящик, который может быть использован в ситуациях, когда содержимое ящика может быть менее важным, чем то, что этот ящик предоставляет адекватные ответы для входных данных. Например, сети NN широко используются для оптимизации распределения веб-трафика между серверами и при обработке данных, включая фильтрацию, кластеризацию, разделение сигналов, сжатие, векторизацию и т.п.[115] As described above, the
[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,
[120] Предполагается, что подсеть кодера сети 140 ANN способна реализовывать конкретный механизм внимания. Например, подсеть кодера может содержать слой внимания, способный применять маску ограничения внимания в отношении входных данных. Как описано ниже, при определении контекста для слова из входной последовательности маска ограничения внимания может «принимать во внимание» слова из входной группы, к которой относится слово из входной последовательности, и поэтому позволяет учитывать только контекст соответствующей входной группы, а не другие контексты других входных групп входной последовательности. Ниже со ссылкой на фиг. 5 более подробно описаны обучение сети 140 ANN, определение входных групп из входной последовательности и настройка маски ограничения внимания подсети кодера.[120] It is assumed that the
Обучение сети 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
[122] Предполагается, что сеть 140 ANN может выполнять соответствующее множество итераций обучения во время каждого этапа обучения. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 140 ANN может иметь (а) предварительный этап обучения, во время которого для настройки модели используется предварительный набор обучающих наборов данных, (б) основной этап обучения, во время которого для обучения модели формированию удовлетворительных прогнозов используется основной набор обучающих наборов данных, и (в) этап обучения для предотвращения «галлюцинаций», во время которого заранее заданные обучающие наборы данных используются для такой корректировки модели, чтобы модель избегала формирования «необычных» прогнозов. Следует отметить, что итерация обучения во время любого этапа обучения сети 140 ANN может быть выполнена подобно тому, как выполняется итерация обучения, представленная на фиг. 5. Тем не менее, как описано ниже, итерации обучения каждого соответствующего этапа обучения сети 140 ANN могут быть выполнены сервером 106 на соответствующих обучающих наборах данных для соответствующих целей обучения.[122] It is assumed that the
[123] Сеть 140 ANN содержит подсеть 602 кодера и подсеть 604 декодера. На итерации обучения сервер 106 может вводить в подсеть 602 кодера обучающий запрос 642 и обучающую текстовую входную последовательность 610.[123] The
[124] Следует отметить, что обучающая текстовая входная последовательность 610 формируется в виде последовательности обучающих сниппетов контента, включая i-й обучающий сниппет 612 контента, первый обучающий сниппет 614 контента, второй обучающий сниппет 616 контента, третий обучающий сниппет 618 контента и j-й обучающий сниппет 620 контента. В одном не имеющем ограничительного характера варианте осуществления настоящей технологии обучающая текстовая входная последовательность 610 может формироваться в виде последовательности пятнадцати обучающих сниппетов контента. Тем не менее, обучающая текстовая входная последовательность из обучающего набора данных сети 140 ANN может содержать больше или меньше пятнадцати обучающих сниппетов контента без выхода за границы настоящей технологии.[124] It should be noted that the training
[125] Следует отметить, что обучающие сниппеты контента из обучающей текстовой входной последовательности 610 могут формироваться сервером 106 разными способами. В одном не имеющем ограничительного характера примере сервер 106 может использовать поисковую систему 130 для формирования обучающих сниппетов контента для набора результатов поиска, соответствующих обучающему запросу 642. В некоторых вариантах осуществления настоящей технологии сервер 106 может формировать обучающие сниппеты контента для набора результатов поиска согласно известным способам.[125] It should be noted that the training content snippets from the training
[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
[127] Также следует отметить, что обучающая текстовая входная последовательность 610 разделяется на последовательность входных групп. В контексте настоящей технологии входная группа связана с обучающим сниппетом контента и содержит слова из обучающего сниппета контента. В одном не имеющем ограничительного характера примере сервер 106 может определять слова из обучающей текстовой входной последовательности 610, подлежащие объединению во входную группу. С этой целью сервер 106 может использовать соответствующие обучающие сниппеты контента из обучающей текстовой входной последовательности 610 для сопоставления слов из обучающей текстовой входной последовательности 610 с соответствующими входными группами. В представленном примере последовательность входных групп содержит:[127] It should also be noted that the training
- i-ю входную группу 632, содержащую слова из i-го обучающего сниппета 612 контента;- the i -
- первую входную группу 634, содержащую слова из первого обучающего сниппета 614 контента;- the
- вторую входную группу 636, содержащую слова из второго обучающего сниппета 616 контента;- a
- третью входную группу 638, содержащую слова из третьего обучающего сниппета 618 контента;- a
- j-ю входную группу 640, содержащую слова из j-го обучающего сниппета 620 контента.- the j
[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
[129] Подсеть 602 кодера способна формировать кодированное представление 650 обучающей текстовой входной последовательности 610. В некоторых вариантах осуществления настоящей технологии предполагается, что кодированное представление 650, сформированное подсетью 602 кодера, может состоять из одного или нескольких векторов, сформированных подсетью 602 кодера на итерации обучения и подлежащих дальнейшей обработке подсетью 604 декодера.[129] The
[130] В общем случае подсеть 604 декодера способна формировать декодированное представление для обучающей текстовой входной последовательности 610. В приведенном примере это декодированное представление соответствует прогнозируемой текстовой выходной последовательности 652 сети 140 ANN. Следует отметить, что прогнозируемая текстовая выходная последовательность 652 соответствует прогнозу, сформированному сетью 140 ANN, и представляет собой прогнозируемую сводку контента последовательности обучающих сниппетов контента из обучающей текстовой входной последовательности 610.[130] In general, the
[131] Сервер 106 может сравнивать прогнозируемую текстовую выходную последовательность 652 с заранее заданной текстовой выходной последовательностью 644 (прогноз сравнивается с целью). Предполагается, что заранее заданная текстовая выходная последовательность 644 может представлять собой оцененный человеком сниппет контента. Например, как описано выше, сервер 106 может получать запрос и соответствующий оцененный человеком сниппет контента из данных 330 оценщика-человека, хранящихся в системе 120 базы данных, а затем использовать их в качестве обучающего запроса 642 и заранее заданной текстовой выходной последовательности 644, соответственно.[131] The
[132] Сервер 106 также способен формировать оценку 655 штрафа на основе сравнения прогнозируемой текстовой выходной последовательности 652 с заранее заданной текстовой выходной последовательностью 644. На вид метрики штрафа, используемой сервером 106 для формирования оценки 655 штрафа на основе прогнозируемой текстовой выходной последовательности 652 и заранее заданной текстовой выходной последовательности 644, не накладывается каких-либо особых ограничений. Тем не менее, следует отметить, что оценка 655 штрафа указывает на различие между прогнозируемой текстовой выходной последовательностью 652 и заранее заданной текстовой выходной последовательностью 644. Также можно сказать, что оценка 655 штрафа может указывать на степень сходства или различия прогнозируемой текстовой выходной последовательности 652 и заранее заданной текстовой выходной последовательности 644.[132] The
[133] На итерации обучения сервер 106 способен обучать сеть 140 ANN на основе оценки 655 штрафа. Например, сервер 106 может использовать метод обратного распространения для корректировки сети 140 ANN на основе оценки 655 штрафа. Тем не менее для корректировки сети 140 ANN с целью улучшения прогнозов также могут быть использованы другие способы обучения в сочетании с оценкой 655 штрафа. Независимо от используемого конкретного способа обучения, можно сказать, что в результате выполнения итерации обучения сервером 106 сеть 140 ANN обучается формированию для запросов прогнозируемых текстовых выходных последовательностей, схожих с заранее заданными текстовыми выходными последовательностями (т.е. формированию прогнозов, более близких к соответствующим целям). С учетом того, что заранее заданные текстовые выходные последовательности могут представлять собой оцененные людьми сниппеты контента из системы 120 базы данных, сеть 140 ANN таким образом может быть обучена формированию для запросов прогнозируемых текстовых выходных последовательностей, схожих с оцененными людьми сниппетами контента (например, с краткими сниппетами контента).[133] In the training iteration, the
[134] Как описано выше, подсеть 602 кодера может применять конкретный механизм внимания в отношении обучающей текстовой входной последовательности 610 с целью формирования кодированного представления 650. В общем случае подсеть 602 кодера может применять маску 606 ограничения внимания в отношении обучающей текстовой входной последовательности 610 при формировании выходных данных вида «внимание», подлежащих использованию при формировании кодированного представления 650.[134] As described above,
[135] В некоторых вариантах осуществления настоящей технологии можно сказать, что выходные данные вида «внимание» подсети 602 кодера могут указывать на контексты, в которых используются слова обучающей текстовой входной последовательности 610. Тем не менее, следует отметить, что при формировании выходных данных вида «внимание» для слова из входной группы обучающей текстовой входной последовательности 610 маска 606 ограничения внимания позволяет «принимать во внимание» только слова из этой входной группы так, чтобы выходные данные вида «внимание» формировались на основе контекста, полученного из этой входной группы, а не контекстов, полученных из других входных групп в обучающей текстовой входной последовательности 610. В результате подсеть 602 кодера может получать контент для слова из обучающей текстовой входной последовательности 610, зависящий только от слов из обучающего сниппета контента, к которому относится это слово, без учета слов из других обучающих сниппетов контента из обучающей текстовой входной последовательности 610.[135] In some embodiments of the present technology, the
[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
[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
[138] Вкратце, сеть 140 ANN может быть обучена во время основного этапа ее обучения на основе большого количества итераций, выполняемых подобно итерации обучения, представленной на фиг. 5. Как описано выше, сервер 106 может выполнять это большое количество итераций на основе соответствующих обучающих наборов данных.[138] Briefly, the
[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
[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
[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
[142] Как описано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 после основного этапа обучения сети 140 ANN может дополнительно выполнять этап ее обучения для предотвращения «галлюцинаций». Разработчики настоящей технологии установили, что в некоторых не имеющих ограничительного характера вариантах осуществления изобретения сеть 140 ANN, обученная во время основного этапа ее обучения, может формировать «необычные» прогнозы для некоторых текстовых входных последовательностей этапа использования. Иными словами, сеть 140 ANN может «галлюцинировать» в том смысле, что прогноз, сформированный для некоторых текстовых входных последовательностей, может быть явно ошибочным.[142] As described above, in some non-limiting embodiments of the present technology, the
[143] Для исправления этих ошибочных прогнозов в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 может выполнять этап обучения для предотвращения «галлюцинаций», во время которого набор «наилучших» обучающих наборов данных выбирается для настройки качества прогнозирования сети 140 ANN. Этот набор наилучших обучающих наборов данных может быть заранее задан оценщиками-людьми. Сервер 106 также может заранее выбирать эти обучающие наборы данных как подмножество обучающих наборов данных, в которых заранее заданная текстовая выходная последовательность присутствует в одном или нескольких сниппетах соответствующей обучающей текстовой входной последовательности.[143] To correct these mispredictions, in some non-limiting embodiments of the present technology, the
[144] Обучив сеть 140 ANN, сервер 106 может применять сеть 140 ANN на этапе ее использования. Ниже со ссылкой на фиг. 6 описано возможное применение сервером 106 сети 140 ANN на этапе ее использования в по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии.[144] Having trained the
Этап использования сети 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
[146] Сервер 106 может выполнять поиск в ответ на текстовое представление 704 запроса пользователя. Иными словами, сервер 106 может выполнять процедуру 730 поиска для получения одного или нескольких контент-ресурсов, релевантных запросу пользователя. В некоторых вариантах осуществления изобретения сервер 106 может использовать поисковую систему 130 для получения множества контент-ресурсов, релевантных запросу пользователя. Следует отметить, что сервер 106 также может использовать механизм 135 сниппетов с целью формирования сниппетов контента этапа использования для соответствующих контент-ресурсов из множества контент-ресурсов. Таким образом, сервер 106 может формировать страницу 706 SERP, содержащую множество результатов поиска, каждый из которых связан с соответствующим контент-ресурсом, релевантным запросу пользователя и имеющим соответствующий сниппет контента этапа использования, сформированный на основе контента из соответствующего контент-ресурса.[146] The
[147] Сервер 106 может использовать информацию, сформированную поисковой системой 130 и механизмом 135 сниппетов, для выполнения процедуры 740 формирования набора данных этапа использования. В общем случае при выполнении процедуры 740 формирования набора данных этапа использования сервер 106 может использовать информацию, сформированную поисковой системой 130 и механизмом 135 сниппетов, для формирования текстовой входной последовательности 708 этапа использования. Например, сервер 106 может формировать текстовую входную последовательность 708 этапа использования в виде последовательности сниппетов контента этапа использования, сформированных механизмом 135 сниппетов для соответствующих контент-ресурсов, релевантных запросу пользователя.[147] The
[148] Сервер 106 может вводить текстовое представление 704 запроса пользователя и текстовую входную последовательность 708 этапа использования этапа использования в обученную сеть 140 ANN. Таким образом, можно сказать, что сервер 106 может выполнять процедуру 750 формирования сводки, во время которой итерация этапа использования сети 140 ANN выполняется в отношении введенных текстового представления 704 запроса пользователя и текстовой входной последовательности 708 этапа использования. В результате обученная сеть 140 ANN выдает для сервера 106 текстовую выходную последовательность 710 этапа использования, представляющую собой (прогнозируемую) сводку контента последовательности сниппетов контента этапа использования (например, сформированных поисковой системой согласно некоторым известным способам и/или сформированных механизмом 135 сниппетов, как описано выше) и подлежащую использованию в качестве ответа на запрос пользователя.[148] The
[149] Сервер 106 также может формировать звуковое представление 712 текстовой выходной последовательности 710. Звуковое представление 712 подлежит использованию в качестве формируемого компьютером речевого фрагмента ответа. Предполагается, что процедура 750 преобразования текста в речь (TTS, Text-To-Speech) может выполняться сервером 106 и/или электронным устройством 104. Получив и/или сформировав звуковое представление 712, электронное устройство 104 может использовать это представление с целью формирования звукового сигнала 154 для пользователя 102, например, с помощью одного или нескольких громкоговорителей.[149] The
[150] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 106 может выполнять способ 800, представленный на фиг. 7. Далее более подробно описаны различные шаги способа 800.[150] In some non-limiting embodiments of the present technology, the
Шаг 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]
[152] В некоторых вариантах осуществления изобретения обучающие сниппеты контента из обучающей текстовой входной последовательности могут быть сформированы сервером 106, использующим поисковую систему 130. Например, сервер 106 может выполнять поиск и использовать сниппеты контента, связанные с по меньшей мере некоторыми релевантными результатами поиска, в качестве соответствующих обучающих сниппетов контента. В некоторых вариантах осуществления изобретения обучающие сниппеты контента могут формироваться известными в данной области техники способами.[152] In some embodiments, training content snippets from a training text input sequence may be generated by
[153] В некоторых вариантах осуществления изобретения сервер 106 может получать обучающие сниппеты контента из соответствующих контент-ресурсов, релевантных обучающему запросу 642. Предполагается, что сервер 106 может получать обучающие сниппеты контента путем выполнения поиска с использованием поисковой системы 130 и обучающего запроса 642 в качестве входных данных. Также предполагается, что сервер 106 может получать обучающие сниппеты контента путем получения N наиболее релевантных сниппетов, связанных с N лучшими результатами поиска.[153] In some embodiments,
[154] В других вариантах осуществления изобретения сервер 106 может формировать обучающий сниппет контента из последовательности обучающих сниппетов контента. В некоторых вариантах осуществления изобретения сервер 106 может вводить обучающий запрос 642 и контент из обучающего контент-ресурса в алгоритм 400 MLA, способный выдавать прогнозируемый сниппет контента. Как описано выше, алгоритм 400 MLA может быть обучен сервером 106 формированию прогнозируемого сниппета контента, который подобен заранее заданной текстовой выходной последовательности и представляет собой обучающий сниппет контента, подлежащий использованию в качестве части обучающей текстовой входной последовательности 610.[154] In other embodiments,
Шаг 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]
[156] Следует отметить, что при формировании выходных данных 680 вида «внимание» для слова из входной группы 636 маска 606 ограничения внимания позволяет «принимать во внимание» только слова из входной группы 636 так, чтобы выходные данные 680 вида «внимание» формировались на основе контекста входной группы 636, а не контекстов других входных групп из обучающей текстовой входной последовательности 610.[156] It should be noted that when generating
[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
Шаг 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
[159] В некоторых вариантах осуществления изобретения предполагается, что подсеть 604 декодера может использовать собственный механизм внимания. Например, механизм внимания подсети 604 декодера может быть реализован подобно механизму внимания декодера из трансформерной сети. В некоторых случаях можно сказать, что механизм внимания подсети 604 декодера может быть реализован в соответствии с известными в данной области техники вариантами для трансформерных сетей.[159] In some embodiments of the invention, it is contemplated that the
Шаг 808: формирование оценки штрафа для данной итерации обучения.Step 808: generating a penalty estimate for a given training iteration.
[160] Способ 800 продолжается на шаге 808, на котором сервер 106 может формировать оценку 655 штрафа для итерации обучения путем сравнения прогнозируемой текстовой выходной последовательности 652 с заранее заданной текстовой выходной последовательностью 644. Заранее заданная текстовая выходная последовательность представляет собой заранее заданный ответ на обучающий запрос 642.[160] The
[161] Следует отметить, что в некоторых вариантах осуществления изобретения сервер 106 дополнительно может получать заранее заданную текстовую выходную последовательность 644. В некоторых вариантах осуществления изобретения заранее заданная текстовая выходная последовательность 644 может быть получена от оценщика-человека (например, сформирована оценщиком-человеком и сохранена в системе 120 базы данных, как описано выше). В некоторых вариантах осуществления изобретения сервер 106 также может получать указание на контент-ресурс, использованный оценщиком-человеком для формирования заранее заданной текстовой выходной последовательности 644. В некоторых вариантах осуществления изобретения сервер 106 может получать из системы 120 базы данных указание на контент-ресурс, который может быть связан с заранее заданной текстовой выходной последовательностью 644 из оцененного человеком набора данных. В одном не имеющем ограничительного характера примере контент-ресурс может быть использован для проверки заранее заданной текстовой выходной последовательности 644. Также предполагается, что контент-ресурс может представлять собой сетевой ресурс, соответствующий обучающему запросу 642 и полученный путем выполнения поиска с использованием поисковой системы 130, без выхода за границы настоящей технологии. [161] It should be noted that in some embodiments, the
Шаг 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]
[163] В некоторых вариантах осуществления настоящей технологии сервер 106 может выполнять большое количество итераций обучения подобно итерации обучения, представленной на фиг. 5. Например, на итерации обучения сеть 140 ANN обучается на основе обучающего набора данных, содержащего (а) обучающий запрос 642, (б) обучающую текстовую входную последовательность 610 и (в) заранее заданную текстовую выходную последовательность 644. В некоторых вариантах осуществления настоящей технологии сервер 106 также может на другой итерации обучения обучать сеть 140 ANN на основе другого обучающего набора данных (модифицированного обучающего набора данных). Например, другой обучающий набор данных может содержать (а) обучающий запрос 642, (б) модифицированную обучающую текстовую входную последовательность и (в) заранее заданную текстовую выходную последовательность 644, при этом входные группы в модифицированной обучающей текстовой входной последовательности расположены в порядке, отличном от порядка входных групп в обучающей текстовой входной последовательности 610.[163] In some embodiments of the present technology, the
[164] В некоторых вариантах осуществления настоящей технологии сервер 106 может выполнять представленную на фиг. 5 итерацию обучения во время первого (и/или основного) этапа обучения сети 140 ANN. Тем не менее сервер 106 также может выполнять второй этап обучения сети 140 ANN (например, этап обучения для предотвращения «галлюцинаций»), включающий в себя второе множество итераций обучения. На другой итерации обучения из второго множества итераций обучения сервер 106 может обучать сеть 140 ANN на основе другого обучающего набора данных из множества заранее заданных обучающих наборов данных, подлежащих использованию при выполнении второго множества итераций обучения. Например, другой обучающий набор данных может быть выбран оценщиком-человеком.[164] In some embodiments of the present technology, the
[165] В некоторых вариантах осуществления настоящей технологии заранее заданная текстовая выходная последовательность 644 может быть определена оценщиком-человеком. Например, заранее заданная текстовая выходная последовательность 644 может быть получена из данных 330 оценщика-человека, хранящихся в системе 120 базы данных. Таким образом, оценщик-человек может определять заранее заданную текстовую выходную последовательность 644 из контента по меньшей мере одного из обучающих контент-ресурсов, связанных с обучающими сниппетами контента из обучающей текстовой входной последовательности 610.[165] In some embodiments of the present technology, the predefined
[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
[167] Сервер 106 также может формировать текстовую входную последовательность 708 в виде последовательности сниппетов контента на основе сниппетов контента результатов поиска. Сервер 106 также может вводить текстовую входную последовательность 708 и текстовое представление 704 запроса в сеть 140 ANN, способную выдавать текстовую выходную последовательность 710. Текстовая выходная последовательность 710 может представлять собой сводку контента последовательности сниппетов контента, которая может использоваться в качестве ответа на запрос. Сервер 106 также может формировать звуковое представление 712 текстовой выходной последовательности 710, представляющее собой формируемый компьютером речевой фрагмент ответа. Сервер 106 также может предоставлять электронному устройству 104 звуковое представление 712 текстовой выходной последовательности.[167] The
[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)
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)
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)
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 |