[go: up one dir, main page]

RU2841235C1 - Methods and servers for training model to detect speaker change - Google Patents

Methods and servers for training model to detect speaker change Download PDF

Info

Publication number
RU2841235C1
RU2841235C1 RU2024114975A RU2024114975A RU2841235C1 RU 2841235 C1 RU2841235 C1 RU 2841235C1 RU 2024114975 A RU2024114975 A RU 2024114975A RU 2024114975 A RU2024114975 A RU 2024114975A RU 2841235 C1 RU2841235 C1 RU 2841235C1
Authority
RU
Russia
Prior art keywords
working
text
token
data
punctuation
Prior art date
Application number
RU2024114975A
Other languages
Russian (ru)
Inventor
Евгений Марьянович Грицкевич
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Application granted granted Critical
Publication of RU2841235C1 publication Critical patent/RU2841235C1/en

Links

Abstract

FIELD: computer engineering.
SUBSTANCE: result is achieved by the following steps: obtaining a data set for training punctuation, comprising first input data including audio data and text data representing speech, and a first label including a sequence of control tokens, training the model using the punctuation training data set to form the trained punctuation model, obtaining the data set for the speaker changing training data, containing the second input data including the second audio data and the second text data, and a second label including a second sequence of control tokens, additional training of the trained punctuation model using the data set for training a speaker change, forming a speaker change model, obtaining working text data and corresponding working audio data, and generating a second working sequence of tokens based on the working audio data and the working text data using the speaker change model.
EFFECT: high accuracy of speech recognition and speaker diarization.
16 cl, 6 dwg

Description

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

[01] Настоящая технология относится к обработке аудиоданных и текста, в частности, к способам и серверам для обучения модели обнаружению смены диктора.[01] This technology relates to audio and text processing, in particular to methods and servers for training a model to detect speaker change.

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

[02] Перевод речи в видеозаписи с первоначально записанного языка на другой язык может быть сопряжен с большими трудозатратами на голосовое озвучивание (дубляж) переводимых аудиофрагментов исходной видеозаписи. Технологии озвучивания играют важную роль в обеспечении доступности контента для глобальной аудитории, поскольку они помогают представлять контент на разных языках. В общем случае под голосовым озвучиванием подразумевается объединение дополнительных или вспомогательных записей (дублированной речи) с первоначально записанной речью с целью формирования готовой звуковой дорожки для видеозаписи.[02] Translating speech in a video from the original language to another language can involve a great deal of labor to dub the audio fragments of the original video to be translated. Dubbing technologies play an important role in making content accessible to a global audience, as they help present content in different languages. In general, dubbing involves combining additional or supplementary recordings (dubbed speech) with the originally recorded speech to form a finished audio track for a video.

[03] Традиционное озвучивание реализуется на базе нейронных сетей, способных распознавать речь, преобразовывать речь в текст, разделять распознанный текст на отдельные фрагменты, назначать фразы соответствующим дикторам, переводить фрагменты на целевой язык и формировать дублированный звук, который затем накладывается на исходный видеоматериал.[03] Traditional voice-over is implemented on the basis of neural networks that are capable of recognizing speech, converting speech into text, dividing the recognized text into separate fragments, assigning phrases to the appropriate speakers, translating the fragments into the target language and generating dubbed audio, which is then superimposed on the original video material.

[04] При этом дублированная речь может отличаться от первоначально записанной речи в том смысле, что моменты ее начала и окончания могут не совпадать с моментами начала и окончания первоначально записанной речи. В результате переведенный звук оказывается рассинхронизированным и непривлекательным для зрителей. Качество синхронизации дублированной речи также снижается из-за смены дикторов в первоначально записанной речи.[04] The dubbed speech may differ from the originally recorded speech in that its start and end points may not coincide with the start and end points of the originally recorded speech. As a result, the translated audio is out of sync and unattractive to viewers. The quality of the dubbed speech synchronization is also reduced due to the change of speakers in the originally recorded speech.

[05] Обнаружение смены диктора (SCD, Speaker Change Detection) в озвучивании представляет собой технологически ориентированный процесс, включающий в себя определение и маркировку смены дикторов или актеров в аудио- и/или видеозаписи. Решения для обнаружения смены диктора помогают синхронизировать дублированные голоса с исходным видеоматериалом и/или поддерживать точность синхронизации звука с движением губ путем распознавания моментов окончания речи одних персонажей и начала речи других персонажей.[05] Speaker Change Detection (SCD) in voice-over is a technology-driven process that involves identifying and marking changes in speakers or actors in audio and/or video recordings. Speaker change detection solutions help synchronize dubbed voices with the original video material and/or maintain accurate lip-sync by recognizing when one character's speech ends and another character's speech begins.

[06] В известных технических решениях был предложен ряд способов для обнаружения смены диктора.[06] A number of methods for detecting speaker change have been proposed in known technical solutions.

[07] В патентной заявке US 20220254351 A1 «Method and system for correcting speaker diarization using speaker change detection based on text» («Способ и система для уточнения диаризации диктора за счет обнаружения смены диктора на основе текста»), опубл. 11 августа 2022 года и принадлежащей компании Works Mobile Japan Corp, раскрыты способ и система для уточнения диаризации диктора за счет обнаружения смены диктора на основе текста. Способ уточнения диаризации диктора может предусматривать диаризацию диктора для входного аудиопотока, распознавание речи, содержащейся во входном аудиопотоке, преобразование речи в текст, обнаружение смены диктора на основе полученного текста и уточнение диаризации диктора с учетом обнаруженной смены диктора.[07] US Patent Application 20220254351 A1, “Method and system for correcting speaker diarization using speaker change detection based on text,” published on August 11, 2022 and owned by Works Mobile Japan Corp, discloses a method and system for correcting speaker diarization using speaker change detection based on text. The method for correcting speaker diarization may include speaker diarization for an input audio stream, recognizing speech contained in the input audio stream, converting the speech to text, detecting a speaker change based on the received text, and correcting the speaker diarization based on the detected speaker change.

[08] В статье Mao et al. «Speech Recognition and Multi-Speaker Diarization of Long Conversations» («Распознавание речи и диаризация длительных разговоров с участием нескольких дикторов»), опубл. на веб-сайте arxiv.org 5 ноября 2020 года, раскрыт способ раздельного обучения моделей автоматического распознавания речи (ASR, Automatic Speech Recognition) и диаризации диктора (SD, Speaker Diarization) при известных границах фрагментов речи. Кроме того, в этой статье представлены алгоритм декодирования со сдвигом внимания и методы дополнения данных, которые в сочетании с предварительным обучением моделей, как утверждается, повышают эффективность автоматического распознавания речи и диаризации диктора.[08] In the paper “Speech Recognition and Multi-Speaker Diarization of Long Conversations” by Mao et al., published on arxiv.org on November 5, 2020, a method is presented to separately train Automatic Speech Recognition (ASR) and Speaker Diarization (SD) models when the speech fragment boundaries are known. In addition, this paper presents an attention-shift decoding algorithm and data augmentation methods, which, when combined with pre-training of the models, are claimed to improve the performance of Automatic Speech Recognition and Speaker Diarization.

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

[09] Разработчики настоящей технологии выявили ряд технических недостатков, характерных для существующих услуг озвучивания. Целью настоящей технологии является устранение по меньшей мере части недостатков известных технических решений.[09] The developers of this technology have identified a number of technical shortcomings that are characteristic of existing voice-over services. The purpose of this technology is to eliminate at least some of the shortcomings of known technical solutions.

[10] В по меньшей мере некоторых вариантах осуществления реализованы способы и система для обеспечения работы механизма озвучивания. В общем случае механизм озвучивания представляет собой компьютерный модуль, используемый в процессе озвучивания, в ходе которого формируются синхронизированные аудиодорожки на целевом языке, отличающемся от исходного языка. Например, целевая аудиодорожка может быть синхронизирована с движением губ и метками времени исходного звука на исходном языке. В некоторых вариантах осуществления механизм озвучивания может производить морфинг голоса для изменения высоты, тембра и ритма дублированного звука в соответствии с исходным звуком. Механизм озвучивания может использоваться в режиме реального времени, например, в прямых трансляциях и на видеоконференциях, где требуется мгновенное озвучивание, а также может применяться на этапе постпроизводства для предварительно записанного контента.[10] In at least some embodiments, methods and a system for providing operation of a voice-over engine are implemented. In general, the voice-over engine is a computer module used in the voice-over process, during which synchronized audio tracks are generated in a target language that differs from the source language. For example, the target audio track can be synchronized with the lip movement and time marks of the original audio in the source language. In some embodiments, the voice-over engine can perform voice morphing to change the pitch, timbre and rhythm of the dubbed audio in accordance with the original audio. The voice-over engine can be used in real time, such as in live broadcasts and video conferences where instant voice-over is required, and can also be used in the post-production stage for pre-recorded content.

[11] В частности, в соответствии с первым широким аспектом настоящей технологии реализован способ обучения модели. Способ реализуется на сервере. Способ предусматривает получение набора данных для обучения пунктуации, содержащего первые входные данные, включающие в себя аудиоданные и текстовые данные, представляющие речь диктора, и первую метку, включающую в себя последовательность контрольных токенов, которая содержит (1) контрольный текстовый токен, указывающий на слово, и (2) контрольный пунктуационный токен, указывающий на знак пунктуации и следующий за контрольным текстовым токеном, обучение модели, с использованием набора данных для обучения пунктуации, формированию рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования обученной пунктуации модели, получение набора данных для обучения смене диктора, содержащего вторые входные данные, включающие в себя вторые аудиоданные и вторые текстовые данные, представляющие речь нескольких дикторов, и вторую метку, включающую в себя вторую последовательность контрольных токенов, которая содержит (1) второй контрольный текстовый токен, указывающий на второе слово, (2) второй контрольный пунктуационный токен, указывающий на второй знак пунктуации, и (3) контрольный токен смены диктора, указывающий на смену диктора и следующий за вторым контрольным пунктуационным токеном, дообучение обученной пунктуации модели, с использованием набора данных для обучения смене диктора, формированию второй рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования модели смены диктора, получение рабочего набора данных, содержащего рабочие текстовые данные и рабочие аудиоданные, формирование, с использованием модели смены диктора, второй рабочей последовательности токенов, содержащей рабочий текстовый токен, рабочий пунктуационный токен, следующий за рабочим текстовым токеном, и рабочий токен смены диктора, следующий за рабочим пунктуационным токеном, на основе комбинации рабочих аудиоданных и рабочих текстовых данных, и формирование синтезированного аудиоконтента на основе второй рабочей последовательности токенов.[11] In particular, in accordance with the first broad aspect of the present technology, a method for training a model is implemented. The method is implemented on the server. The method comprises obtaining a data set for punctuation training, comprising first input data including audio data and text data representing the speech of a speaker, and a first label including a sequence of control tokens that comprises (1) a control text token indicating a word, and (2) a control punctuation token indicating a punctuation mark and following the control text token, training a model, using the data set for punctuation training, to form a working sequence of tokens based on a combination of working audio data and working text data in order to form a trained punctuation model, obtaining a data set for speaker change training, comprising second input data including second audio data and second text data representing the speech of several speakers, and a second label including a second sequence of control tokens that comprises (1) a second control text token indicating a second word, (2) a second control punctuation token indicating to a second punctuation mark, and (3) a speaker change control token indicating a speaker change and following the second punctuation control token, further training the trained punctuation model using the speaker change training dataset, generating a second working token sequence based on a combination of working audio data and working text data in order to generate a speaker change model, obtaining a working dataset containing working text data and working audio data, generating, using the speaker change model, a second working token sequence containing a working text token, a working punctuation token following the working text token, and a speaker change working token following the working punctuation token, based on a combination of working audio data and working text data, and generating synthesized audio content based on the second working token sequence.

[12] В некоторых вариантах реализации способа модель смены диктора содержит подмодель для аудиоданных, подмодель для текста и третью подмодель, а формирование второй рабочей последовательности токенов предусматривает формирование, с использованием подмодели для аудиоданных, рабочей последовательности векторных представлений аудиоданных на основе рабочих аудиоданных, формирование, с использованием подмодели для текста, рабочей последовательности векторных представлений текста на основе рабочих текстовых данных, формирование конкатенированных промежуточных выходных данных с использованием рабочей последовательности векторных представлений аудиоданных и рабочей последовательности векторных представлений текста, и формирование, с использованием третьей подмодели, второй рабочей последовательности токенов с использованием конкатенированных промежуточных выходных данных.[12] In some embodiments of the method, the speaker change model comprises a submodel for audio data, a submodel for text and a third submodel, and the formation of the second working sequence of tokens involves forming, using the submodel for audio data, a working sequence of vector representations of audio data based on working audio data, forming, using the submodel for text, a working sequence of vector representations of text based on working text data, forming concatenated intermediate output data using the working sequence of vector representations of audio data and the working sequence of vector representations of text, and forming, using the third submodel, a second working sequence of tokens using the concatenated intermediate output data.

[13] В некоторых вариантах реализации способа подмодель для аудиоданных представляет собой модель WavLM.[13] In some embodiments of the method, the submodel for audio data is a WavLM model.

[14] В некоторых вариантах реализации способа подмодель для текста представляет собой модель mT5.[14] In some embodiments of the method, the submodel for the text is the mT5 model.

[15] В некоторых вариантах реализации способа третья подмодель представляет собой модель трансформера.[15] In some embodiments of the method, the third submodel is a transformer model.

[16] В некоторых вариантах реализации способа он дополнительно предусматривает формирование, с использованием модели преобразования речи в текст, текстовых данных на основе аудиоданных, формирование, с использованием модели преобразования речи в текст, вторых текстовых данных на основе вторых аудиоданных и формирование, с использованием модели преобразования речи в текст, рабочих текстовых данных на основе рабочих аудиоданных.[16] In some embodiments of the method, it further provides for generating, using a speech-to-text conversion model, text data based on audio data, generating, using a speech-to-text conversion model, second text data based on second audio data, and generating, using a speech-to-text conversion model, working text data based on working audio data.

[17] В некоторых вариантах реализации способа контрольный пунктуационный токен следует непосредственно за контрольным текстовым токеном, контрольный токен смены диктора - непосредственно за вторым контрольным пунктуационным токеном, рабочий пунктуационный токен - непосредственно за рабочим текстовым токеном, а рабочий токен смены диктора - непосредственно за рабочим пунктуационным токеном.[17] In some embodiments of the method, the control punctuation token follows immediately after the control text token, the speaker change control token follows immediately after the second control punctuation token, the working punctuation token follows immediately after the working text token, and the working speaker change token follows immediately after the working punctuation token.

[18] В соответствии со вторым широким аспектом настоящей технологии реализован способ дообучения предварительно обученной модели. Способ реализуется на сервере. Способ предусматривает получение набора данных для обучения смене диктора, содержащего вторые входные данные, включающие в себя вторые аудиоданные и вторые текстовые данные, представляющие речь нескольких дикторов, и вторую метку, включающую в себя вторую последовательность контрольных токенов, которая содержит (1) второй контрольный текстовый токен, указывающий на второе слово, (2) второй контрольный пунктуационный токен, указывающий на второй знак пунктуации, и (3) контрольный токен смены диктора, указывающий на смену диктора и следующий за вторым контрольным пунктуационным токеном во второй последовательности контрольных токенов, дообучение предварительно обученной модели, с использованием набора данных для обучения смене диктора, формированию второй рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования модели смены диктора, при этом с целью формирования рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных предварительно обученная модель обучалась на основе набора данных для обучения пунктуации, содержащего первые входные данные, включающие в себя аудиоданные и текстовые данные, представляющие речь диктора, и первую метку, включающую в себя последовательность контрольных токенов, которая содержит (1) контрольный текстовый токен, указывающий на слово, и (2) контрольный пунктуационный токен, указывающий на знак пунктуации и следующий за контрольным текстовым токеном, получение рабочего набора данных, содержащего рабочие текстовые данные и рабочие аудиоданные, формирование, с использованием модели смены диктора, второй рабочей последовательности токенов, содержащей рабочий текстовый токен, рабочий пунктуационный токен, следующий за рабочим текстовым токеном, и рабочий токен смены диктора, следующий за рабочим пунктуационным токеном, на основе комбинации рабочих аудиоданных и рабочих текстовых данных, и формирование синтезированного аудиоконтента на основе второй рабочей последовательности токенов.[18] In accordance with the second broad aspect of the present technology, a method for retraining a pre-trained model is implemented. The method is implemented on the server. The method involves obtaining a data set for training a speaker change, comprising second input data including second audio data and second text data representing the speech of several speakers, and a second label including a second sequence of control tokens, which contains (1) a second control text token indicating a second word, (2) a second control punctuation token indicating a second punctuation mark, and (3) a speaker change control token indicating a speaker change and following the second control punctuation token in the second sequence of control tokens, further training the pre-trained model using the data set for training a speaker change, forming a second working sequence of tokens based on a combination of working audio data and working text data in order to form a speaker change model, wherein in order to form a working sequence of tokens based on a combination of working audio data and working text data, the pre-trained model was trained based on the data set for training punctuation, comprising first input data including audio data and text data representing the speech of a speaker, and a first label including a sequence of control tokens that comprises (1) a control text token indicating a word and (2) a control punctuation token indicating a punctuation mark and following the control text token, obtaining a working data set containing the working text data and the working audio data, generating, using a speaker change model, a second working token sequence comprising a working text token, a working punctuation token following the working text token, and a speaker change working token following the working punctuation token, based on a combination of the working audio data and the working text data, and generating synthesized audio content based on the second working token sequence.

[19] В некоторых вариантах реализации способа контрольный пунктуационный токен следует непосредственно за контрольным текстовым токеном, контрольный токен смены диктора - непосредственно за вторым контрольным пунктуационным токеном, рабочий пунктуационный токен - непосредственно за рабочим текстовым токеном, а рабочий токен смены диктора - непосредственно за рабочим пунктуационным токеном.[19] In some embodiments of the method, the control punctuation token follows immediately after the control text token, the speaker change control token follows immediately after the second control punctuation token, the working punctuation token follows immediately after the working text token, and the working speaker change token follows immediately after the working punctuation token.

[20] В соответствии с третьим широким аспектом настоящей технологии реализован сервер для обучения модели. Сервер содержит по меньшей мере один процессор и по меньшей мере одну физическую машиночитаемую память, хранящую исполняемые команды, при исполнении которых по меньшей мере одним процессором на сервере обеспечивается получение набора данных для обучения пунктуации, содержащего первые входные данные, включающие в себя аудиоданные и текстовые данные, представляющие речь диктора, и первую метку, включающую в себя последовательность контрольных токенов, которая содержит (1) контрольный текстовый токен, указывающий на слово, и (2) контрольный пунктуационный токен, указывающий на знак пунктуации и следующий за контрольным текстовым токеном, обучение модели, с использованием набора данных для обучения пунктуации, формированию рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования обученной пунктуации модели, получение набора данных для обучения смене диктора, содержащего вторые входные данные, включающие в себя вторые аудиоданные и вторые текстовые данные, представляющие речь нескольких дикторов, и вторую метку, включающую в себя вторую последовательность контрольных токенов, которая содержит (1) второй контрольный текстовый токен, указывающий на второе слово, (2) второй контрольный пунктуационный токен, указывающий на второй знак пунктуации, и (3) контрольный токен смены диктора, указывающий на смену диктора и следующий за вторым контрольным пунктуационным токеном, дообучение обученной пунктуации модели, с использованием набора данных для обучения смене диктора, формированию второй рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования модели смены диктора, получение рабочего набора данных, содержащего рабочие текстовые данные и рабочие аудиоданные, формирование, с использованием модели смены диктора, второй рабочей последовательности токенов, содержащей рабочий текстовый токен, рабочий пунктуационный токен, следующий за рабочим текстовым токеном, и рабочий токен смены диктора, следующий за рабочим пунктуационным токеном, на основе комбинации рабочих аудиоданных и рабочих текстовых данных, и формирование синтезированного аудиоконтента на основе второй рабочей последовательности токенов.[20] According to the third broad aspect of the present technology, a server for training the model is implemented. The server comprises at least one processor and at least one physical machine-readable memory storing executable instructions, the execution of which by at least one processor on the server ensures the receipt of a data set for punctuation training, containing first input data, including audio data and text data representing the speech of a speaker, and a first label, including a sequence of control tokens, which contains (1) a control text token indicating a word, and (2) a control punctuation token indicating a punctuation mark and following the control text token, training a model, using the data set for punctuation training, to form a working sequence of tokens based on a combination of working audio data and working text data for the purpose of forming a trained punctuation model, obtaining a data set for training a speaker change, containing second input data, including second audio data and second text data representing the speech of several speakers, and a second label, including a second sequence of control tokens that comprises (1) a second control text token indicating a second word, (2) a second control punctuation token indicating a second punctuation mark, and (3) a speaker change control token indicating a speaker change and following the second control punctuation token, further training the trained punctuation model using the speaker change training dataset, generating a second working token sequence based on a combination of working audio data and working text data in order to generate a speaker change model, obtaining a working dataset containing working text data and working audio data, generating, using the speaker change model, a second working token sequence comprising a working text token, a working punctuation token following the working text token, and a speaker change working token following the working punctuation token based on a combination of working audio data and working text data, and generating synthesized audio content based on the second working sequence tokens.

[21] В некоторых вариантах реализации сервера модель смены диктора содержит подмодель для аудиоданных, подмодель для текста и третью подмодель, а формирование второй рабочей последовательности токенов предусматривает формирование, с использованием подмодели для аудиоданных, рабочей последовательности векторных представлений аудиоданных на основе рабочих аудиоданных, формирование, с использованием подмодели для текста, рабочей последовательности векторных представлений текста на основе рабочих текстовых данных, формирование конкатенированных промежуточных выходных данных с использованием рабочей последовательности векторных представлений аудиоданных и рабочей последовательности векторных представлений текста, и формирование, с использованием третьей подмодели, второй рабочей последовательности токенов с использованием конкатенированных промежуточных выходных данных.[21] In some embodiments of the server, the speaker change model comprises a submodel for audio data, a submodel for text, and a third submodel, and generating the second working sequence of tokens involves generating, using the submodel for audio data, a working sequence of vector representations of audio data based on working audio data, generating, using the submodel for text, a working sequence of vector representations of text based on working text data, generating concatenated intermediate output data using the working sequence of vector representations of audio data and the working sequence of vector representations of text, and generating, using the third submodel, a second working sequence of tokens using the concatenated intermediate output data.

[22] В некоторых вариантах реализации сервера подмодель для аудиоданных представляет собой модель WavLM.[22] In some server implementations, the submodel for audio data is the WavLM model.

[23] В некоторых вариантах реализации сервера подмодель для текста представляет собой модель mT5.[23] In some server implementations, the submodel for text is the mT5 model.

[24] В некоторых вариантах реализации сервера третья подмодель представляет собой модель трансформера.[24] In some server implementations, the third submodel is a transformer model.

[25] В некоторых вариантах реализации сервера по меньшей мере один процессор дополнительно обеспечивает на севере формирование, с использованием модели преобразования речи в текст, текстовых данных на основе аудиоданных, формирование, с использованием модели преобразования речи в текст, вторых текстовых данных на основе вторых аудиоданных и формирование, с использованием модели преобразования речи в текст, рабочих текстовых данных на основе рабочих аудиоданных.[25] In some embodiments of the server, at least one processor further provides, on the server, generating, using a speech-to-text conversion model, text data based on audio data, generating, using a speech-to-text conversion model, second text data based on second audio data, and generating, using a speech-to-text conversion model, working text data based on working audio data.

[26] В некоторых вариантах реализации сервера контрольный пунктуационный токен следует непосредственно за контрольным текстовым токеном, контрольный токен смены диктора - непосредственно за вторым контрольным пунктуационным токеном, рабочий пунктуационный токен - непосредственно за рабочим текстовым токеном, а рабочий токен смены диктора - непосредственно за рабочим пунктуационным токеном.[26] In some server implementations, the control punctuation token immediately follows the control text token, the speaker change control token immediately follows the second control punctuation token, the working punctuation token immediately follows the working text token, and the working speaker change token immediately follows the working punctuation token.

[27] В контексте настоящего описания «сервер» представляет собой компьютерную программу, выполняемую на соответствующих аппаратных средствах и способную принимать по сети запросы (например, от клиентских устройств), а также выполнять эти запросы или инициировать их выполнение. Такие аппаратные средства могут быть реализованы в виде одного физического компьютера или одной физической компьютерной системы, что не имеет существенного значения для настоящей технологии. В данном контексте при употреблении выражения «сервер» не подразумевается, что какая-либо конкретная задача или все задачи (например, принятые команды или запросы) принимаются, выполняются или запускаются на одном и том же сервере (т.е. одними и теми же программными и/или аппаратными средствами), а имеется в виду, что участвовать в приеме, передаче, выполнении или инициировании выполнения каких-либо задач или запросов либо результатов каких-либо задач или запросов может любое количество программных или аппаратных средств, и что все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем выражение «по меньшей мере один сервер» охватывает оба этих случая.[27] As used herein, a "server" is a computer program running on appropriate hardware that is capable of receiving requests (e.g., from client devices) over a network and of executing or causing these requests to be executed. Such hardware may be implemented as a single physical computer or a single physical computer system, which is not essential to the present technology. As used herein, the term "server" does not imply that any particular task or all tasks (e.g., received commands or requests) are received, executed or started on the same server (i.e., by the same software and/or hardware), but rather that any number of software or hardware may participate in receiving, transmitting, executing or causing the execution of any tasks or requests or the results of any tasks or requests, and that all of these software and hardware may represent a single server or multiple servers, with the term "at least one server" covering both of these cases.

[28] В контексте настоящего описания «клиентское устройство» представляет собой любые компьютерные аппаратные средства, способные обеспечивать работу программного обеспечения, подходящего для выполнения поставленной задачи. Таким образом, примерами (не имеющими ограничительного характера) клиентских устройств являются персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, например, маршрутизаторы, коммутаторы и шлюзы. При этом следует отметить, что устройство, действующее в данном контексте в качестве клиентского, не лишается возможности действовать в качестве сервера для других клиентских устройств. Употребление выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, передачи, выполнения или инициирования выполнения каких-либо задач или запросов, результатов каких-либо задач или запросов либо шагов какого-либо метода, описанного в настоящем документе.[28] In the context of this description, a "client device" is any computer hardware capable of running software suitable for performing a given task. Thus, non-limiting examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, as well as network equipment such as routers, switches and gateways. It should be noted, however, that a device acting as a client in this context does not lose the ability to act as a server for other client devices. The use of the expression "client device" does not exclude the use of multiple client devices to receive, transmit, perform or initiate the performance of any tasks or requests, the results of any tasks or requests, or the steps of any method described in this document.

[29] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных и компьютерных аппаратных средств для хранения таких данных, их применения или обеспечения их использования иным способом. База данных может размещаться в тех же аппаратных средствах, в которых реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо в отдельных аппаратных средствах, таких как специализированный сервер или группа серверов.[29] As used herein, the term "database" means any structured collection of data, regardless of its specific structure, database management software, and computer hardware for storing, using, or otherwise facilitating the use of such data. A database may reside on the same hardware as the process that stores or uses the information stored in the database, or on separate hardware such as a dedicated server or group of servers.

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

[31] В контексте настоящего описания выражение «компонент» означает программное обеспечение (в контексте конкретных аппаратных средств), необходимое и достаточное для выполнения конкретных упоминаемых функций.[31] In the context of this description, the expression "component" means software (in the context of specific hardware) necessary and sufficient to perform the specific functions referred to.

[32] В контексте настоящего описания выражение «компьютерный носитель информации» предназначено для обозначения носителей любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, дискеты, жесткие диски и т.п.), USB-накопители, твердотельные накопители, ленточные накопители и т.д.[32] In the context of this description, the expression "computer storage medium" is intended to refer to media of any kind and type, including RAM, ROM, disks (CD-ROM, DVD, floppy disks, hard disks, etc.), USB drives, solid state drives, tape drives, etc.

[33] В контексте настоящего описания числительные «первый», «второй», «третий» и т.д. служат лишь для указания на различия между существительными, к которым они относятся, а не для описания каких-либо определенных взаимосвязей между этими существительными. Таким образом, следует понимать, что, например, термины «первый сервер» и «третий сервер» не предполагают существования каких-либо определенных порядка, типов, хронологии, иерархии или ранжирования серверов, а употребление этих терминов (само по себе) не подразумевает обязательного наличия какого-либо «второго сервера» в той или иной конкретной ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылки на «первый» элемент и «второй» элемент не исключают того, что эти два элемента в действительности могут быть одним и тем же элементом. Так, например, в одних случаях «первый» и «второй» серверы могут представлять собой одни и те же программные и/или аппаратные средства, а в других случаях - разные программные и/или аппаратные средства.[33] As used herein, the numerals “first,” “second,” “third,” etc., serve merely to distinguish between the nouns to which they refer, and do not describe any particular relationships between those nouns. Thus, it should be understood that, for example, the terms “first server” and “third server” do not imply the existence of any particular order, type, chronology, hierarchy, or ranking of servers, and the use of these terms (in and of themselves) does not necessarily imply the presence of any “second server” in any particular situation. Furthermore, as occurs in other contexts herein, references to a “first” element and a “second” element do not exclude the possibility that those two elements may in fact be the same element. For example, in some cases the “first” and “second” servers may represent the same software and/or hardware, and in other cases, different software and/or hardware.

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

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

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

[36] Для более полного понимания настоящей технологии, а также ее аспектов и дополнительных признаков следует обратиться к следующему описанию, которое должно использоваться в сочетании с сопроводительными чертежами.[36] For a more complete understanding of the present technology, as well as its aspects and additional features, reference should be made to the following description, which should be used in conjunction with the accompanying drawings.

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

[38] На фиг. 2 представлен конвейер обработки, реализуемый сервером, показанным на фиг. 1, для формирования модифицированного звука на основе исходного звука из видеофайла, в соответствии с по меньшей мере некоторыми вариантами осуществления настоящей технологии.[38] Fig. 2 illustrates a processing pipeline implemented by the server shown in Fig. 1 for generating modified audio based on original audio from a video file, in accordance with at least some embodiments of the present technology.

[39] На фиг. 3 схематически представлена архитектура модели обнаружения смены диктора, реализуемой сервером, показанным на фиг. 1.[39] Fig. 3 schematically shows the architecture of the speaker change detection model implemented by the server shown in Fig. 1.

[40] На фиг. 4 представлены первая итерация обучения, выполняемая в процессе обучения пунктуации модели обнаружения смены диктора, показанной на фиг. 3, и вторая итерация обучения, выполняемая на сервере, показанном на фиг. 1, в процессе дообучения модели обнаружения смены диктора, показанной на фиг. 3.[40] Fig. 4 shows the first iteration of training performed in the process of punctuation training of the speaker change detection model shown in Fig. 3, and the second iteration of training performed on the server shown in Fig. 1 in the process of further training of the speaker change detection model shown in Fig. 3.

[41] На фиг. 5 представлена рабочая итерация обучения, выполняемая на сервере, показанном на фиг. 1, на этапе работы модели обнаружения смены диктора, показанной на фиг. 3.[41] Fig. 5 shows a working iteration of training performed on the server shown in Fig. 1, during the operation of the speaker change detection model shown in Fig. 3.

[42] На фиг. 6 представлена блок-схема способа, реализуемого на сервере, показанном на фиг. 1, в по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии.[42] Fig. 6 is a block diagram of a method implemented on the server shown in Fig. 1 in at least some non-limiting embodiments of the present technology.

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

[43] На фиг. 1 схематически представлена система 100, пригодная для реализации не имеющих ограничительного характера вариантов осуществления настоящей технологией. Следует понимать, что изображенная система 100 является иллюстративным вариантом реализации настоящей технологии. Соответственно, приведенное ниже описание системы представляет собой лишь описание примеров, иллюстрирующих настоящую технологию. Это описание не предназначено для определения объема или границ настоящей технологии. В некоторых случаях ниже приводятся предположительно полезные примеры модификаций системы 100. Они призваны способствовать пониманию и также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалисту в данной области должно быть понятно, что возможны и другие модификации. Кроме того, отсутствие конкретных примеров модификаций не означает, что модификации невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии. Специалисту в данной области должно быть понятно, что это не обязательно. Также следует понимать, что в некоторых случаях система 100 предусматривает простые варианты реализации настоящей технологии и что такие варианты представлены для облегчения ее понимания. Специалисты в данной области должны понимать, что различные варианты осуществления настоящей технологии могут быть значительно сложнее.[43] Fig. 1 is a schematic representation of a system 100 suitable for implementing non-limiting embodiments of the present technology. It should be understood that the illustrated system 100 is an illustrative embodiment of the present technology. Accordingly, the following description of the system is merely a description of examples illustrating the present technology. This description is not intended to define the scope or limits of the present technology. In some cases, supposedly useful examples of modifications to the system 100 are provided below. They are intended to facilitate understanding and also do not define the scope or limits of the present technology. The presented list of modifications is not exhaustive, and one skilled in the art will understand that other modifications are possible. In addition, the absence of specific examples of modifications does not mean that modifications are impossible and/or that the description contains the only possible embodiment of a particular element of the present technology. One skilled in the art will understand that this is not necessary. It should also be understood that in some cases, the system 100 provides simple embodiments of the present technology and that such embodiments are provided to facilitate understanding. Those skilled in the art should appreciate that various implementations of this technology may be significantly more complex.

[44] В общем случае система 100 способна предоставлять электронные услуги озвучивания пользователю 102 электронного устройства 104. Например, система 100 способна получать видеофайл со звуком на первом языке, формировать звук на втором языке и предоставлять пользователю видеофайл со звуком на втором языке. Ниже приводится описание по меньшей мере некоторых элементов системы 100, при этом следует понимать, что без отступления от существа и объема настоящей технологии в состав системы 100 могут входить элементы, не показанные на фиг. 1.[44] In general, the system 100 is capable of providing electronic voice services to a user 102 of an electronic device 104. For example, the system 100 is capable of receiving a video file with audio in a first language, generating audio in a second language, and providing the video file with audio in the second language to the user. Below, a description of at least some elements of the system 100 is given, while it should be understood that without departing from the essence and scope of the present technology, the system 100 may include elements not shown in Fig. 1.

Сеть связиCommunication network

[45] Электронное устройство 104 соединено с сетью 110 связи для обеспечения связи с сервером 112. В частности, электронное устройство 104 может быть соединено с сервером 112 через сеть 110 связи для предоставления пользователю 102 онлайн-услуг, например, на базе механизмов трансляции потокового видео. Сеть 110 связи обеспечивает, среди прочего, обмен данными между электронным устройством 104 и сервером 112 в виде одного или нескольких пакетов данных.[45] The electronic device 104 is connected to the communication network 110 to provide communication with the server 112. In particular, the electronic device 104 can be connected to the server 112 via the communication network 110 to provide online services to the user 102, for example, based on video streaming mechanisms. The communication network 110 provides, among other things, data exchange between the electronic device 104 and the server 112 in the form of one or more data packets.

[46] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 110 связи реализована как сеть Интернет. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 110 связи может быть реализована иначе, например, как любая глобальная сеть связи, локальная сеть связи, частная сеть связи и т.п. Способ реализации канала связи (отдельно не обозначен) между электронным устройством 104 и сетью 110 связи зависит, среди прочего, от способа реализации электронного устройства 104.[46] In some non-limiting embodiments of the present technology, the communication network 110 is implemented as the Internet. In other non-limiting embodiments of the present technology, the communication network 110 may be implemented differently, such as any global communication network, local communication network, private communication network, etc. The manner in which the communication channel (not specifically indicated) between the electronic device 104 and the communication network 110 is implemented depends, among other things, on the manner in which the electronic device 104 is implemented.

[47] Для примера можно отметить, что в тех вариантах осуществления настоящей технологии, где электронное устройство 104 реализовано в виде устройства беспроводной связи (такого как смартфон), канал связи может быть реализован в виде беспроводного канала связи (такого как, среди прочего, канал сети связи 3G, канал сети связи 4G, канал Wi-Fi® (Wireless Fidelity), канал Bluetooth® и т.п.), но не ограничиваясь этим. В тех примерах, где электронное устройство 104 реализовано в виде ноутбука, канал связи может быть как беспроводным (например, Wi-Fi®, Bluetooth® и т.п.), так и проводным (например, на основе Ethernet-соединения).[47] For example, in embodiments of the present technology where the electronic device 104 is implemented as a wireless communication device (such as a smartphone), the communication channel may be implemented as a wireless communication channel (such as, among other things, a 3G communication network channel, a 4G communication network channel, a Wi-Fi ® (Wireless Fidelity) channel, a Bluetooth ® channel, etc.), but is not limited to this. In examples where the electronic device 104 is implemented as a laptop, the communication channel may be either wireless (e.g., Wi-Fi ® , Bluetooth ® , etc.) or wired (e.g., based on an Ethernet connection).

Электронное устройствоElectronic device

[48] Система 100 содержит электронное устройство 104, связанное с пользователем 102. Соответственно, электронное устройство 104 в некоторых случаях называется «клиентским устройством», «устройством конечного пользователя», «клиентским электронным устройством» или просто «устройством». Следует отметить, что для электронного устройства 104, связанного с пользователем 102, не предлагается и не предусматривается какого-либо конкретного режима работы, например, необходимости входа в систему, необходимости регистрации и т.п.[48] The system 100 includes an electronic device 104 associated with a user 102. Accordingly, the electronic device 104 is in some cases referred to as a “client device,” “end user device,” “client electronic device,” or simply a “device.” It should be noted that no specific mode of operation is offered or provided for the electronic device 104 associated with the user 102, such as the need to log in, the need to register, etc.

[49] На реализацию электронного устройства 104 не накладывается особых ограничений, а примерами реализации электронного устройства 104 могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), устройства беспроводной связи (смартфоны, сотовые телефоны, планшеты и т.п.) и сетевое оборудование (например, маршрутизаторы, коммутаторы и шлюзы). Электронное устройство 104 содержит аппаратные средства, программное обеспечение и/или микропрограммное обеспечение (либо их сочетание), которые известны в данной области техники и обеспечивают выполнение приложения браузера.[49] There are no particular limitations on the implementation of the electronic device 104, and examples of the implementation of the electronic device 104 may include personal computers (desktop computers, laptops, netbooks, etc.), wireless communication devices (smartphones, cell phones, tablets, etc.) and network equipment (e.g., routers, switches and gateways). The electronic device 104 comprises hardware, software and/or firmware (or a combination thereof) that are known in the art and ensure the execution of a browser application.

[50] В общем случае приложение браузера призвано предоставлять пользователю 102 доступ к одному или нескольким сетевым ресурсам, таким как веб-страницы. При этом на реализацию приложения браузера не накладывается особых ограничений. Одним из примеров приложения браузера может служить браузер Yandex.[50] In general, a browser application is designed to provide the user 102 with access to one or more network resources, such as web pages. There are no particular restrictions on the implementation of a browser application. One example of a browser application is the Yandex browser.

[51] Пользователь 102 может использовать приложение браузера для получения доступа к платформе потокового видео, осуществляющей трансляцию видеоконтента. Например, электронное устройство 104 может формировать запрос с указанием видеоконтента, который требуется просмотреть пользователю 102. В некоторых вариантах осуществления в запросе от электронного устройства 104 также может указываться необходимый язык звука, сопровождающего видеоконтент. Кроме того, электронное устройство 104 может получать ответ (не показан) на запрос воспроизведения видеоконтента и звука на выбранном языке для пользователя 102. Как правило, передача запроса и получение ответа электронным устройством 104 могут осуществляться через сеть 110 связи. Содержимое запроса и ответа может зависеть, среди прочего, от того, передается ли видео- и аудиоконтент в режиме прямой трансляции.[51] The user 102 may use a browser application to access a video streaming platform that broadcasts video content. For example, the electronic device 104 may generate a request indicating the video content that the user 102 wants to view. In some embodiments, the request from the electronic device 104 may also indicate the desired language of the audio that accompanies the video content. In addition, the electronic device 104 may receive a response (not shown) to the request to play the video content and audio in the selected language for the user 102. Typically, the transmission of the request and the receipt of the response by the electronic device 104 may be carried out via the communication network 110. The content of the request and the response may depend, among other things, on whether the video and audio content is transmitted in a live broadcast mode.

База данныхDatabase

[52] Система 100 также содержит базу 150 данных, которая соединена с сервером 112 и способна хранить данные, извлеченные или иным способом полученные или сформированные сервером 112. В общем случае база 150 данных может получать от сервера 112 данные, которые были извлечены, получены или сформированы иным способом сервером 112 в процессе обработки, для их временного и/или постоянного хранения, а также передавать сохраненные данные на сервер 112 для их использования. Предполагается, что без отступления от существа и объема настоящей технологии база 150 данных может быть разделена на несколько распределенных баз данных.[52] The system 100 also comprises a database 150 that is connected to the server 112 and is capable of storing data extracted or otherwise received or generated by the server 112. In general, the database 150 can receive from the server 112 data that has been extracted, received or otherwise generated by the server 112 during processing for temporary and/or permanent storage, and also transmit the stored data to the server 112 for use. It is assumed that, without deviating from the spirit and scope of the present technology, the database 150 can be divided into several distributed databases.

[53] База 150 данных способна хранить данные для обеспечения работы механизмов трансляции потокового видео сервера 112. В связи с этим база 150 данных может хранить множество элементов цифрового контента, в том числе видео- и аудиофайлы, представляющие мультимедийный контент, потребляемый пользователем 102, но не ограничиваясь этим. Примерами элементов цифрового контента могут служить, в частности, цифровые видеозаписи, цифровые фильмы, цифровое аудиозаписи, цифровая музыка, материалы веб-сайтов, материалы социальных сетей и т.п.[53] The database 150 is capable of storing data to ensure the operation of the streaming video transmission mechanisms of the server 112. In this regard, the database 150 can store a plurality of digital content elements, including, but not limited to, video and audio files representing multimedia content consumed by the user 102. Examples of digital content elements may include, in particular, digital video recordings, digital movies, digital audio recordings, digital music, website materials, social network materials, etc.

[54] Согласно приведенному ниже описанию, база 150 данных способна хранить данные для обучения и дообучения (т.е. тонкой настройки) одной или нескольких моделей машинного обучения с целью формирования последовательностей выходных токенов, в частности, текстовых токенов, пунктуационных токенов и токенов смены диктора.[54] As described below, the database 150 is capable of storing data for training and fine-tuning (i.e., fine-tuning) one or more machine learning models to generate sequences of output tokens, in particular text tokens, punctuation tokens, and speaker change tokens.

СерверServer

[55] Система 100 также содержит сервер 112, который может быть реализован в виде обычного компьютерного сервера. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 112 представляет собой одиночный сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 112 могут быть распределены между несколькими серверами. Без отступления от существа и объема настоящей технологии сервер 112 может содержать один или несколько процессоров, одно или несколько физических запоминающих устройств, машиночитаемые команды и/или дополнительные аппаратные элементы, дополнительные программные компоненты и/или их комбинации для реализации различных функций сервера 112.[55] The system 100 also includes a server 112, which may be implemented as a conventional computer server. In the presented non-limiting embodiments of the present technology, the server 112 is a single server. In other non-limiting embodiments of the present technology, the functions of the server 112 may be distributed among multiple servers. Without departing from the spirit and scope of the present technology, the server 112 may include one or more processors, one or more physical storage devices, machine-readable instructions and/or additional hardware elements, additional software components, and/or combinations thereof to implement various functions of the server 112.

[56] В общем случае сервер 112 может работать под контролем и/или управлением поставщика видеоуслуг (не показан), например, такого, как оператор платформы потокового видео Yandex. Предполагается, что поставщиком услуг потокового видео и поставщиком приложения браузера может быть один и тот же поставщик. Например, приложение браузера (в частности, браузер Yandex) и механизмы трансляции потокового видео (в частности, механизмы трансляции потокового видео Yandex) могут предоставляться, контролироваться и/или управляться одним и тем же оператором или одной и той же организацией.[56] In general, the server 112 may operate under the control and/or management of a video service provider (not shown), such as, for example, the operator of the Yandex video streaming platform. It is assumed that the streaming video service provider and the browser application provider may be the same provider. For example, the browser application (in particular, the Yandex browser) and the streaming video transmission mechanisms (in particular, the Yandex streaming video transmission mechanisms) may be provided, controlled and/or managed by the same operator or the same organization.

[57] Как указано выше, на сервере 112 размещен механизм трансляции потокового видео (не показан). В общем случае механизм трансляции потокового видео реализован в виде множества компьютерных процедур, которые используются для предоставления пользователю 102 видеоконтента с сопровождающим аудиоконтентом на одном или нескольких языках.[57] As indicated above, a video streaming engine (not shown) is located on the server 112. In general, the video streaming engine is implemented as a plurality of computer procedures that are used to provide the user 102 with video content with accompanying audio content in one or more languages.

[58] Разработчики настоящей технологии учли, что большой объем мультимедийного контента, транслируемого в сети Интернет, первоначально создается на английском языке, тогда как многие пользователи не говорят по-английски или владеют английским языком не на том уровне, чтобы должным образом воспринимать контент на английском языке. Для обеспечения доступности такого мультимедийного контента широкому кругу пользователей в традиционных решениях либо предлагаются субтитры на разных языках, либо аудиоконтент дублируется на разных языках. Разработчиками были разработаны способы и системы, обеспечивающие услуги озвучивания видео, благодаря которым аудиоконтент на одном или нескольких языках формируется сервером 112 без участия человека.[58] The developers of this technology took into account that a large volume of multimedia content broadcast on the Internet is initially created in English, while many users do not speak English or do not speak English at a level sufficient to properly perceive content in English. In order to ensure the availability of such multimedia content to a wide range of users, traditional solutions either offer subtitles in different languages or dub the audio content in different languages. The developers have developed methods and systems that provide video dubbing services, thanks to which the audio content in one or more languages is generated by the server 112 without human intervention.

[59] В некоторых вариантах осуществления сервер 112 способен предоставлять электронные услуги автоматического озвучивания в тех случаях, когда исходный аудиоконтент переводится на один или несколько языков, воспроизводится мужским или женским голосом и может быть наложен на исходный видеоконтент для воспроизведения пользователю 102.[59] In some embodiments, server 112 is capable of providing electronic automatic voice-over services in cases where the original audio content is translated into one or more languages, played in a male or female voice, and can be superimposed on the original video content for playback to user 102.

[60] Как более подробно описано ниже, услуги автоматического озвучивания могут быть реализованы на базе нескольких нейронных сетей, которые способны (1) распознавать речь (преобразовывать звук в текст), разделять распознанный текст на отдельные фрагменты (например, на фразы), переводить фрагменты на целевой язык и формировать дублированный контент, который накладывается на исходный видеоконтент. Система может дополнительно определять пол диктора и синтезировать голос с соответствующими характеристиками.[60] As described in more detail below, automatic voice-over services can be implemented based on several neural networks that are capable of (1) recognizing speech (converting audio into text), splitting the recognized text into individual fragments (e.g., phrases), translating the fragments into the target language, and generating dubbed content that is superimposed on the original video content. The system can additionally determine the gender of the speaker and synthesize a voice with the corresponding characteristics.

[61] На фиг. 2 представлен конвейер 200 обработки, реализованный на сервере 112 в некоторых вариантах осуществления настоящей технологии. Первая процедура из конвейера 200 обработки выполняется модулем 202 распознавания речи в отношении исходного аудиоконтента. В общем случае первая процедура служит для получения исходного аудиоконтента 251 и формирования данных 252 распознавания речи.[61] Fig. 2 shows a processing pipeline 200 implemented on a server 112 in some embodiments of the present technology. A first procedure of the processing pipeline 200 is performed by a speech recognition module 202 with respect to source audio content. In general, the first procedure serves to obtain source audio content 251 and generate speech recognition data 252.

[62] Данные 252 распознавания речи могут представлять собой результат автоматического распознавания речи или другого звука из элемента видеоконтента. Данные 252 распознавания речи могут включать в себя множество сформированных символьных строк, в котором каждая отдельная сформированная символьная строка представляет собой слово, фразу или набор символов, произносимых одним или несколькими дикторами в элементе видеоконтента. Каждая сформированная символьная строка в данных 252 распознавания речи может быть связана с информацией о времени, характеризующей конкретное время, когда на видео произносится сформированная символьная строка. Например, информация о времени для фразы «доброе утро» может включать в себя время, когда произносится слово «доброе», и время, когда произносится слово «утро». Информация о времени может относиться к моментам начала и окончания речи (как, например, метки времени) для каждой сформированной символьной строки или к моменту начала и продолжительности речи для каждой сформированной символьной строки.[62] The speech recognition data 252 may be the result of automatically recognizing speech or other audio from a video content item. The speech recognition data 252 may include a plurality of generated character strings, wherein each individual generated character string represents a word, phrase, or set of characters spoken by one or more speakers in the video content item. Each generated character string in the speech recognition data 252 may be associated with time information that characterizes a particular time when the generated character string is spoken in the video. For example, the time information for the phrase "good morning" may include the time when the word "good" is spoken and the time when the word "morning" is spoken. The time information may relate to the start and end times of speech (such as timestamps) for each generated character string, or to the start time and duration of speech for each generated character string.

[63] В некоторых вариантах осуществления модуль 202 распознавания речи способен дополнительно обрабатывать исходный аудиоконтент для удаления оттуда помех, не связанных с речью, таких как звуки музыки. В дополнительных вариантах осуществления модуль 202 распознавания речи способен вставлять знаки пунктуации и/или дополнительно разделять слова на фрагменты слов.[63] In some embodiments, the speech recognition module 202 is capable of further processing the original audio content to remove non-speech-related noise, such as music sounds, therefrom. In further embodiments, the speech recognition module 202 is capable of inserting punctuation marks and/or further splitting words into word fragments.

[64] В некоторых вариантах осуществления модуль 202 распознавания речи может включать в себя модель преобразования речи в текст (STT, Speech-To-Text). Модель преобразования речи в текст может представлять собой модель машинного обучения, например, модель нейронной сети (NN, Neural Network). Не имеющими ограничительного характера примерами моделей нейронных сетей, которые могут использоваться для реализации настоящей технологии, являются модель рекуррентной нейронной сети и модель нейронной сети с длинной краткосрочной памятью (LSTM, Long Short-Term Memory). В дополнительных вариантах осуществления модель машинного обучения может быть реализована в виде модели трансформера.[64] In some embodiments, the speech recognition module 202 may include a speech-to-text (STT) model. The speech-to-text model may be a machine learning model, such as a neural network (NN) model. Non-limiting examples of neural network models that may be used to implement the present technology include a recurrent neural network model and a long short-term memory (LSTM) neural network model. In additional embodiments, the machine learning model may be implemented as a transformer model.

[65] В по меньшей мере некоторых вариантах осуществления реализована модель автоматического распознавания речи (ASR, Automatic Speech Recognition). Модель автоматического распознавания речи может быть выполнена в виде комбинации модели seq2seq и сверточной нейронной сети (CNN, Convolutional Neural Network). Модель seq2seq может быть реализована в виде модели трансформера VGG. Дополнительно или опционально для промежуточного распознавания (например, для распознавания фрагментов) также может использоваться трансформер коннекционистской временной классификации (CTC, Connectionist Temporal Classification). В по меньшей мере некоторых вариантах осуществления модель автоматического распознавания речи может быть реализована подобно модели автоматического распознавания речи, раскрытой в патенте US11145305 этого же заявителя, содержание которого полностью включено в настоящий документ посредством ссылки.[65] In at least some embodiments, an Automatic Speech Recognition (ASR) model is implemented. The ASR model may be implemented as a combination of a seq2seq model and a Convolutional Neural Network (CNN). The seq2seq model may be implemented as a VGG Transformer model. Additionally or optionally, a Connectionist Temporal Classification (CTC) Transformer may also be used for intermediate recognition (e.g., for fragment recognition). In at least some embodiments, the ASR model may be implemented similar to the ASR model disclosed in patent US11145305 of the same applicant, the contents of which are incorporated herein by reference in their entirety.

[66] Как более подробно описано ниже, модуль 202 распознавания речи способен обнаруживать смену диктора. Обнаружение смены диктора представляет собой технологически ориентированный процесс, предполагающий определение и маркировку смены дикторов или актеров в аудио- и/или видеозаписи. Распознавание моментов окончания речи одних персонажей и начала речи других персонажей позволяет модулю 202 распознавания речи предоставлять дополнительную информацию для других элементов конвейера 200 обработки и тем самым улучшать процесс формирования дублированного контента.[66] As described in more detail below, the speech recognition module 202 is capable of detecting a speaker change. Speaker change detection is a technology-oriented process that involves identifying and marking a change in speakers or actors in an audio and/or video recording. Recognizing the moments when some characters end their speech and when other characters begin to speak allows the speech recognition module 202 to provide additional information to other elements of the processing pipeline 200 and thereby improve the process of generating duplicate content.

[67] Вторая процедура в конвейере 200 обработки предусматривает нахождение в данных 252 распознавания речи фраз, произносимых соответствующими дикторами в исходном аудиоконтенте 251. Иными словами, вторая процедура может включать в себя определение диктора, который сформировал соответствующую порцию данных 252 распознавания речи. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, вторая процедура может выполняться моделью 301 диаризации. В общем случае модель 301 диаризации способна определять, когда две следующие друг за другом фразы в данных 252 распознавания речи произносятся одним и тем же диктором, а когда они произносятся разными дикторами. Для этого модель 301 диаризации способна учитывать токены смены диктора, сформированные модулем 202 распознавания речи.[67] The second procedure in the processing pipeline 200 includes finding in the speech recognition data 252 phrases spoken by the corresponding speakers in the original audio content 251. In other words, the second procedure may include determining the speaker who generated the corresponding portion of the speech recognition data 252. According to some non-limiting embodiments of the present technology, the second procedure may be performed by a diarization model 301. In general, the diarization model 301 is capable of determining when two consecutive phrases in the speech recognition data 252 are spoken by the same speaker and when they are spoken by different speakers. To do this, the diarization model 301 is capable of taking into account the speaker change tokens generated by the speech recognition module 202.

[68] В частности, при получении двух фраз и токена смены диктора, указывающего на вероятность смены диктора, равную 0, модель 301 диаризации может определить, что обе фразы были произнесены одним и тем же диктором. И наоборот, если вероятность, указываемая токеном смены диктора между двумя фразами, превышает заданный порог вероятности (например, 0,75, 0,85 или 0,95), модель 301 диаризации может определить, что эти две фразы была произнесены разными дикторами.[68] In particular, when receiving two phrases and a speaker change token indicating a speaker change probability of 0, the diarization model 301 may determine that both phrases were spoken by the same speaker. Conversely, if the probability indicated by the speaker change token between the two phrases exceeds a predetermined probability threshold (e.g., 0.75, 0.85, or 0.95), the diarization model 301 may determine that the two phrases were spoken by different speakers.

[69] В различных не имеющих ограничительного характера вариантах осуществления настоящей технологии модель 301 диаризации может быть реализована в виде нейронной сети с архитектурой нейронной сети с временной задержкой с акцентом на канальное внимание и распространение и агрегирование каналов (ECAPA-TDNN, Emphasized Channel Attention, Propagation and Aggregation in Time Delay Neural Network). В конкретном не имеющем ограничительного характера примере модель 301 диаризации может быть реализована, как описано на веб-ресурсе huggingface.co/speechbrain/spkrec-ecapa-voxceleb. Для обеспечения учета токенов смены диктора в модели 301 диаризации к выходным данным модели 301 диаризации может дополнительно применяться алгоритм кластеризации.[69] In various non-limiting embodiments of the present technology, the diarization model 301 may be implemented as a neural network with an Emphasized Channel Attention, Propagation and Aggregation in Time Delay Neural Network (ECAPA-TDNN) architecture. In a specific non-limiting example, the diarization model 301 may be implemented as described at huggingface.co/speechbrain/spkrec-ecapa-voxceleb. To ensure that the diarization model 301 takes speaker change tokens into account, a clustering algorithm may be additionally applied to the output of the diarization model 301.

[70] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии после применения модели 301 диаризации, прежде чем приступать к переводу данных 252 распознавания речи, сервер 112 способен производить конкатенацию фраз, произносимых в исходном аудиоконтенте 251 каждым диктором, чтобы сгруппировать фразы в данных 252 распознавания речи по дикторам.[70] In some non-limiting embodiments of the present technology, after applying the diarization model 301, before translating the speech recognition data 252, the server 112 is configured to concatenate the phrases spoken in the original audio content 251 by each speaker to group the phrases in the speech recognition data 252 by speaker.

[71] После применения модели 301 диаризации и группирования фраз в данных 252 распознавания речи по дикторам модуль 204 перевода выполняет третью процедуру из конвейера 200 обработки в отношении данных 252 распознавания речи. В общем случае третья процедура служит для получения данных 252 распознавания речи и формирования данных 253 перевода.[71] After applying the diarization model 301 and grouping the phrases in the speech recognition data 252 by speakers, the translation module 204 performs the third procedure of the processing pipeline 200 with respect to the speech recognition data 252. In general, the third procedure serves to obtain the speech recognition data 252 and generate the translation data 253.

[72] Данные 253 перевода представляют собой перевод символьных строк из данных 252 распознавания речи (представленных на исходном языке исходного аудиоконтента) на второй язык. Модуль 204 перевода также может получать информацию о гендерной принадлежности человека, произносящего речь в исходном аудиоконтенте. В некоторых случаях модуль 204 перевода может формировать различные данные 253 перевода, в частности, в зависимости от того, кем является говорящий - мужчиной или женщиной.[72] The translation data 253 represents a translation of the character strings from the speech recognition data 252 (presented in the original language of the source audio content) into a second language. The translation module 204 may also receive information about the gender of the person speaking in the source audio content. In some cases, the translation module 204 may generate different translation data 253, in particular, depending on whether the speaker is a man or a woman.

[73] Предполагается, что модуль 204 перевода способен применять множество моделей перевода для перевода символьных строк с исходного языка на один или несколько других языков.[73] It is contemplated that the translation module 204 is capable of employing a plurality of translation models to translate character strings from a source language into one or more other languages.

[74] При этом на способ реализации той или иной модели перевода в модуле 204 перевода не накладывается особых ограничений. В одном из вариантов осуществления модель перевода может быть реализована в виде модели статистического машинного перевода (SMT, Statistical Machine Translation), обученной переводу фразы с первого языка на второй язык.[74] In this case, no special restrictions are imposed on the method of implementing a particular translation model in the translation module 204. In one embodiment, the translation model can be implemented as a statistical machine translation (SMT) model trained to translate a phrase from a first language into a second language.

[75] В общем случае статистический машинный перевод связан с автоматическим преобразованием фраз на одном естественном языке (например, французском) на другой естественный язык (например, английский). Первый язык называется исходным, а второй - целевым. Этот процесс можно рассматривать как стохастический. Существует множество вариантов статистического машинного перевода, различающихся способом моделирования перевода. Одни решения основаны на преобразовании строк в строки, другие - на преобразовании деревьев в строки, а в третьих используются модели преобразования деревьев в деревья. Эффективность модели статистического машинного перевода оценивается с использованием двуязычных (параллельных) корпусов (пар «оригинал-перевод») и/или одноязычных корпусов (примеров целевых предложений). Предполагается, что сервер 112 способен формировать функцию перевода за счет обучения модели статистического машинного перевода на основе сопоставленных текстовых корпусов, представляющих соответствующую пару языков. Предполагается, что без отступления от существа и объема настоящей технологии модель перевода может быть реализована как модель типа «кодер-декодер».[75] In general, statistical machine translation is concerned with the automatic transformation of phrases in one natural language (e.g., French) into another natural language (e.g., English). The first language is called the source language and the second language is called the target language. This process can be viewed as stochastic. There are many variants of statistical machine translation, which differ in the way the translation is modeled. Some solutions are based on string-to-string transformations, others on tree-to-string transformations, and still others use tree-to-tree transformation models. The performance of a statistical machine translation model is assessed using bilingual (parallel) corpora (original-translation pairs) and/or monolingual corpora (examples of target sentences). It is assumed that the server 112 is capable of generating a translation function by training a statistical machine translation model on matched text corpora representing the corresponding language pair. It is assumed that, without deviating from the essence and scope of the present technology, the translation model can be implemented as an encoder-decoder model.

[76] В некоторых вариантах осуществления модель перевода может быть представлена в виде нейронной сети с архитектурой трансформера. Способность архитектур трансформеров учитывать широкий контекст, вносимый сетями с длинной краткосрочной памятью, а затем и механизмом внимания, может оказаться практически значимой для модели перевода. Предполагается, что в модели перевода могут учитываться дополнительные признаки, например, пол диктора.[76] In some embodiments, the translation model may be represented as a neural network with a transformer architecture. The ability of transformer architectures to take into account the broad context introduced by long short-term memory networks and then by the attention mechanism may be of practical importance to the translation model. It is envisaged that additional features, such as the gender of the speaker, may be taken into account in the translation model.

[77] Четвертая процедура из конвейера 200 обработки выполняется модулем 206 синтеза речи применительно к данным 253 перевода. В общем случае четвертая процедура служит для получения данных 253 перевода и формирования данных 254 синтеза речи.[77] The fourth procedure from the processing pipeline 200 is performed by the speech synthesis module 206 in relation to the translation data 253. In general, the fourth procedure serves to obtain the translation data 253 and generate the speech synthesis data 254.

[78] Данные 254 синтеза речи включают в себя переведенный аудиоконтент, сформированный, в частности, на основе данных 253 перевода, и представляющий собой фразы, произносимые на одном (или нескольких) других языках. Кроме того, на основе данных 254 синтеза речи сервер 112 способен формировать выходной аудиоконтент 208, содержащий озвученные переведенные символьные строки из данных 253 перевода. Также сервер 112 способен обеспечивать воспроизведение выходного аудиоконтента 208 на электронном устройстве 104 для его представления пользователю 102.[78] The speech synthesis data 254 includes translated audio content generated, in particular, based on the translation data 253, and representing phrases spoken in one (or several) other languages. In addition, based on the speech synthesis data 254, the server 112 is capable of generating output audio content 208, containing voiced translated character strings from the translation data 253. Also, the server 112 is capable of providing playback of the output audio content 208 on the electronic device 104 for presentation to the user 102.

[79] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, модуль 206 синтеза речи может включать в себя акустическую модель 214 и вокодер 212. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, акустическая модель 214 и вокодер 212 могут быть реализованы в виде глубоких нейросетевых моделей. Следует отметить, что акустическая модель 214 может формировать мел-спектрограммы, например, на основе фонем, а вокодер 212 - синтезировать изменяющиеся во времени звуковые волны, в частности, на основе мел-спектрограмм из модели преобразования текста в спектрограмму.[79] According to some non-limiting embodiments of the present technology, the speech synthesis module 206 may include an acoustic model 214 and a vocoder 212. According to some non-limiting embodiments of the present technology, the acoustic model 214 and the vocoder 212 may be implemented as deep neural network models. It should be noted that the acoustic model 214 may generate mel spectrograms, for example, based on phonemes, and the vocoder 212 may synthesize time-varying sound waves, in particular, based on mel spectrograms from a text-to-spectrogram model.

[80] В некоторых вариантах осуществления настоящей технологии акустическая модель может быть реализована в виде известной модели Tacotron 2. В общем случае модель Tacotron 2 представляет собой рекуррентную сеть предсказания признаков типа «последовательность-последовательность» с одним или несколькими механизмами внимания, которая предсказывает последовательность кадров мел-спектрограммы по входной последовательности символов. В других вариантах осуществления вокодер может быть реализован в виде известной модели HiFi-GAN. В общем случае архитектура HiFi-GAN включает в себя один генератор и два дискриминатора: многомасштабный и многопериодный. Генератор представляет собой полносверточную нейронную сеть. Он использует мел-спектрограмму в качестве исходных данных и повышает ее разрешение, используя транспонированные свертки, до тех пор, пока не будет обеспечено соответствие между длиной выходной последовательности и временным разрешением необработанных звуковых сигналов. После каждой транспонированной свертки применяется модуль слияния мультирецептивных полей (MRF, Multi-Receptive Field Fusion). В других вариантах осуществления вокодер может быть реализован подобно модели, описанной в патентной заявке US 2022084499 «Method and server for a text-to-speech processing» («Способ и сервер для преобразования текста в речь») этого же заявителя, опубл. 17 марта 2022 года, содержание которой полностью включено в настоящий документ посредством ссылки.[80] In some embodiments of the present technology, the acoustic model may be implemented as the well-known Tacotron 2 model. In general, the Tacotron 2 model is a sequence-to-sequence recurrent feature prediction network with one or more attention mechanisms that predicts a sequence of frames of a mel spectrogram from an input sequence of symbols. In other embodiments, the vocoder may be implemented as the well-known HiFi-GAN model. In general, the HiFi-GAN architecture includes one generator and two discriminators: multi-scale and multi-period. The generator is a fully convolutional neural network. It uses the mel spectrogram as input and increases its resolution using transposed convolutions until the length of the output sequence matches the temporal resolution of the raw audio signals. After each transposed convolution, a Multi-Receptive Field Fusion (MRF) module is applied. In other embodiments, the vocoder may be implemented similar to the model described in patent application US 2022084499 "Method and server for a text-to-speech processing" ("Method and server for converting text to speech") of the same applicant, published March 17, 2022, the contents of which are incorporated herein by reference in their entirety.

[81] В некоторых вариантах осуществления настоящей технологии модуль 206 синтеза речи может быть реализован подобно модулю синтеза речи, описанному в патентной заявке RU 2022134630 («Способ и сервер для генерирования модифицированного аудио для видео») этого же заявителя, поданной 27 декабря 2022 года, содержание которой полностью включено в настоящий документ посредством ссылки.[81] In some embodiments of the present technology, the speech synthesis module 206 may be implemented similar to the speech synthesis module described in patent application RU 2022134630 (“Method and server for generating modified audio for video”) of the same applicant, filed on December 27, 2022, the contents of which are fully incorporated herein by reference.

[82] В некоторых вариантах осуществления модуль 206 синтеза речи также может получать информацию о гендерной принадлежности человека, произносящего речь в исходном аудиоконтенте. В некоторых случаях модуль 206 синтеза речи может формировать различные данные 254 синтеза речи, в частности, в зависимости от того, кем является говорящий - мужчиной или женщиной. [82] In some embodiments, the speech synthesis module 206 may also receive information about the gender of the person speaking in the original audio content. In some cases, the speech synthesis module 206 may generate different speech synthesis data 254, in particular, depending on whether the speaker is a man or a woman.

[83] Очевидно, что модуль 206 синтеза речи также может получать информацию о смене дикторов между разными фрагментами исходного аудиоконтента 251, выдаваемую моделью 301 диаризации до перевода данных 252 распознавания речи. Таким образом, в некоторых случаях модуль 204 перевода может формировать порции данных 254 синтеза речи, в частности, в зависимости от того, с кем связана эта речь - с первым (текущим) диктором или вторым (другим) диктором.[83] It is obvious that the speech synthesis module 206 may also receive information about the change of speakers between different fragments of the original audio content 251, output by the diarization model 301 before translating the speech recognition data 252. Thus, in some cases, the translation module 204 may generate portions of the speech synthesis data 254, in particular, depending on who this speech is associated with - with the first (current) speaker or the second (other) speaker.

Модель обнаружения смены диктораSpeaker change detection model

[84] На фиг. 3 представлен не имеющий ограничительного характера пример модели 300 обнаружения смены диктора, используемой на сервере 112 в составе модуля 202 распознавания речи в по меньшей мере одном из вариантов осуществления настоящей технологии.[84] Fig. 3 shows a non-limiting example of a speaker change detection model 300 used on server 112 as part of speech recognition module 202 in at least one embodiment of the present technology.

[85] В общем случае модель 300 обнаружения смены диктора способна получать аудиоданные 350 и соответствующие текстовые данные 360 в качестве входных данных и формировать в ответ выходные данные в виде последовательности токенов 310, содержащих информацию, характеризующую смену дикторов в контенте, представленном аудиоданными 350 и соответствующими текстовыми данными 360.[85] In general, the speaker change detection model 300 is capable of receiving audio data 350 and corresponding text data 360 as input data and generating in response output data in the form of a sequence of tokens 310 containing information characterizing a speaker change in the content represented by the audio data 350 and the corresponding text data 360.

[86] Модель 300 обнаружения смены диктора включает в себя подмодель 302 для аудиоданных и подмодель 304 для текста, куда передаются аудиоданные 350 и текстовые данные 360, соответственно. В частности, сервер 112 способен разделять аудиоданные 350 на последовательность фрагментов 355 аудиоданных и передавать эту последовательность в качестве входных данных в подмодель 302 для аудиоданных. Кроме того, сервер 112 способен разделять текстовые данные 360 на последовательность фрагментов 365 текстовых данных и передавать эту последовательность в качестве входных данных в подмодель 304 для текста.[86] The speaker change detection model 300 includes an audio data submodel 302 and a text submodel 304, to which the audio data 350 and the text data 360 are transmitted, respectively. In particular, the server 112 is capable of dividing the audio data 350 into a sequence of audio data fragments 355 and transmitting this sequence as input to the audio data submodel 302. In addition, the server 112 is capable of dividing the text data 360 into a sequence of text data fragments 365 and transmitting this sequence as input to the text submodel 304.

[87] В варианте осуществления, показанном на фиг. 3, сервер 112 способен формировать последовательность 355, содержащую 6340 фрагментов аудиоданных, и последовательность 365, содержащую 512 фрагментов текстовых данных. Предполагается, что общее количество фрагментов в последовательности 355 и последовательности 365 может зависеть, среди прочего, от конкретного варианта реализации подмодели 302 для аудиоданных, конкретного варианта реализации подмодели 304 для текста, объема аудиоданных 350 и/или объема текстовых данных 360.[87] In the embodiment shown in Fig. 3, the server 112 is capable of generating a sequence 355 containing 6340 fragments of audio data and a sequence 365 containing 512 fragments of text data. It is contemplated that the total number of fragments in the sequence 355 and the sequence 365 may depend on, among other things, a particular embodiment of the submodel 302 for audio data, a particular embodiment of the submodel 304 for text, the amount of audio data 350 and/or the amount of text data 360.

[88] В данном варианте осуществления архитектура подмодели 302 для аудиоданных может быть реализована подобно архитектуре модели WavLM, раскрытой в статье Sanyuan Chen et al. «WavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech Processing» («WavLM: крупномасштабное предварительное обучение с самоконтролем для полного цикла обработки речи»), опубл. в июле 2022 года, содержание которой полностью включено в настоящий документ посредством ссылки. Модель WavLM, основу которой составляет модель трансформера, содержит сверточный энкодер признаков и энкодер трансформера. Сверточный энкодер состоит из семи блоков временной свертки, за которыми следует слой нормализации и слой функции активации GELU. В одном из вариантов реализации временные свертки имеют 512 каналов с шагами (5, 2, 2, 2, 2, 2, 2) и значениями ширины ядра (10, 3, 3, 3, 3, 2, 2), вследствие чего выходные данные представляют фрагменты звука длительностью примерно 25 мс, следующие с шагом 20 мс. Выходные данные в сверточном представлении маскируются как входные данные трансформера. Трансформер имеет слой векторного представления относительного положения на основе свертки с размером ядра 128 и 16 группами в нижней части. Для улучшения модели может использоваться управляемое смещение относительного положения, которое кодируется в зависимости от смещения между «ключом» и «запросом» в механизме самовнимания трансформера.[88] In this embodiment, the architecture of the submodel 302 for audio data may be implemented similar to the architecture of the WavLM model disclosed in the article by Sanyuan Chen et al., “WavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech Processing,” published July 2022, the contents of which are incorporated herein by reference in their entirety. The WavLM model, which is based on the transformer model, comprises a convolutional feature encoder and a transformer encoder. The convolutional encoder consists of seven temporal convolution blocks, followed by a normalization layer and a GELU activation function layer. In one embodiment, the temporal convolutions have 512 channels with steps of (5, 2, 2, 2, 2, 2, 2) and kernel widths of (10, 3, 3, 3, 3, 2, 2), so that the output represents audio fragments of approximately 25 ms duration, followed by 20 ms steps. The output in the convolutional representation is masked as the input to the transformer. The transformer has a layer of relative position vector representation based on a convolution with a kernel size of 128 and 16 groups at the bottom. A controlled relative position offset can be used to improve the model, which is encoded depending on the offset between the "key" and the "query" in the self-attention mechanism of the transformer.

[89] В данном варианте осуществления архитектура подмодели 304 для текста может быть реализована подобно архитектуре модели mT5, раскрытой в статье Linting Xue et al. «mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer» («mT5: трансформер для преобразования текста в текст, прошедший массовое многоязычное предварительное обучение»), опубл. в марте 2021 года, содержание которой полностью включено в настоящий документ посредством ссылки.[89] In this embodiment, the architecture of the text submodel 304 may be implemented similar to the architecture of the mT5 model disclosed in Linting Xue et al., “mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer,” published March 2021, the contents of which are incorporated herein by reference in their entirety.

[90] Модель 300 обнаружения смены диктора способна производить конкатенацию векторных представлений выходных данных подмодели 302 для аудиоданных с векторными представлениями выходных данных подмодели 304 для текста с целью формирования конкатенированных промежуточных выходных данных 306 модели 300 обнаружения смены диктора. Можно утверждать, что модель 300 обнаружения смены диктора способна одновременно обрабатывать аудиоданные 350 и текстовые данные 360 и формировать конкатенированные промежуточные выходные данные 306 на основе как (1) векторных представлений аудиоданных, так и (2) векторных представлений текста.[90] The speaker change detection model 300 is capable of concatenating the vector representations of the output data of the submodel 302 for audio data with the vector representations of the output data of the submodel 304 for text in order to form concatenated intermediate output data 306 of the speaker change detection model 300. It can be stated that the speaker change detection model 300 is capable of simultaneously processing the audio data 350 and the text data 360 and forming the concatenated intermediate output data 306 based on both (1) the vector representations of the audio data and (2) the vector representations of the text.

[91] В варианте осуществления, показанном на фиг. 3, сервер 112 способен формировать конкатенированные промежуточные выходные данные 306 за счет конкатенации 6340 векторных представлений аудиоданных и 512 векторных представлений текста. Предполагается, что общее количество векторных представлений аудиоданных и теста, подлежащих конкатенации, может зависеть, среди прочего, от конкретного варианта реализации подмодели 302 для аудиоданных, конкретного варианта реализации подмодели 304 для текста, объема аудиоданных 350 и/или объема текстовых данных 360.[91] In the embodiment shown in Fig. 3, the server 112 is configured to generate concatenated intermediate output data 306 by concatenating 6340 vector representations of audio data and 512 vector representations of text. It is contemplated that the total number of vector representations of audio data and text to be concatenated may depend on, among other things, a particular embodiment of the submodel 302 for audio data, a particular embodiment of the submodel 304 for text, the amount of audio data 350, and/or the amount of text data 360.

[92] Далее конкатенированные промежуточные выходные данные 306 передаются в третью подмодель 308, способную обрабатывать конкатенированные промежуточные выходные данные 306 и формировать в ответ последовательность токенов 310. В данном варианте осуществления архитектура третьей подмодели 308 реализована подобно архитектуре подмодели трансформера. Например, третья подмодель 308 может быть реализована в виде модели трансформера, способной принимать конкатенированные векторные представления аудиоданных и текста (например, конкатенированные промежуточные выходные данные 306) и формировать последовательность токенов (например, последовательность токенов 310).[92] Next, the concatenated intermediate output data 306 is passed to a third submodel 308, which is capable of processing the concatenated intermediate output data 306 and generating a sequence of tokens 310 in response. In this embodiment, the architecture of the third submodel 308 is implemented similar to the architecture of the transformer submodel. For example, the third submodel 308 can be implemented as a transformer model capable of receiving concatenated vector representations of audio data and text (e.g., the concatenated intermediate output data 306) and generating a sequence of tokens (e.g., the sequence of tokens 310).

[93] В контексте настоящей технологии модель 300 обнаружения смены диктора способна формировать последовательность токенов 310, содержащую по меньшей мере три типа токенов, а именно (1) словарные токены, (2) пунктуационные токены и (3) токены смены диктора. В примере, показанном на фиг. 3, последовательность токенов 310 содержит словарный токен 312, пунктуационный токен 320 и токен 330 смены диктора. Следует отметить, что подпоследовательность токенов, содержащая словарный токен 312, пунктуационный токен 320 и токен 330 смены диктора, может указывать на то, что слово, связанное со словарным токеном 312, произносится первым диктором и это слово является последним словом во фразе, поскольку пунктуационный токен 320 представляет точку, а следующее слово в записи произносится вторым (другим) диктором. Ниже со ссылкой на фиг. 4 и 5 описывается, как сервер 112 способен обучать и использовать модель 300 обнаружения смены диктора для формирования, соответственно, пунктуационных токенов и токенов смены диктора в составе последовательности токенов 310.[93] In the context of the present technology, the speaker change detection model 300 is capable of generating a token sequence 310 that comprises at least three types of tokens, namely (1) word tokens, (2) punctuation tokens, and (3) speaker change tokens. In the example shown in Fig. 3, the token sequence 310 comprises a word token 312, a punctuation token 320, and a speaker change token 330. It should be noted that the subsequence of tokens containing the dictionary token 312, the punctuation token 320 and the speaker change token 330 may indicate that the word associated with the dictionary token 312 is spoken by the first speaker and this word is the last word in the phrase, since the punctuation token 320 represents a period, and the next word in the recording is spoken by the second (different) speaker. Below, with reference to Figs. 4 and 5, it is described how the server 112 is able to train and use the speaker change detection model 300 to generate, respectively, punctuation tokens and speaker change tokens in the sequence of tokens 310.

ОбучениеEducation

[94] В некоторых вариантах осуществления настоящей технологии сервер 112 может реализовывать по меньшей мере два этапа обучения модели 300 обнаружения смены диктора. На первом этапе сервер 112 способен обучать алгоритм машинного обучения, используя большой объем данных. Затем, на втором этапе, сервер 112 способен дообучать предварительно обученный алгоритм машинного обучения, используя дополнительные данные для настройки алгоритма на конкретную задачу. В общем случае обучение алгоритма машинного обучения на первом этапе предусматривает формирование шаблонов алгоритма машинного обучения на основе данных, а на следующем этапе производится дообучение для оптимизации рабочих характеристик. Дообучение может использоваться в целях устранения эффекта переобучения, настройки модели на новые задачи и/или корректировки параметров модели для улучшения результатов. Это итеративный процесс, который может осуществляться сервером 112 для повышения точности и эффективности модели.[94] In some embodiments of the present technology, the server 112 may implement at least two stages of training the speaker change detection model 300. In the first stage, the server 112 may train a machine learning algorithm using a large amount of data. Then, in the second stage, the server 112 may retrain the pre-trained machine learning algorithm using additional data to tune the algorithm for a specific task. In general, training the machine learning algorithm in the first stage involves forming templates of the machine learning algorithm based on the data, and in the next stage, retraining is performed to optimize performance. Retraining may be used to eliminate the effect of overfitting, tune the model for new tasks, and/or adjust the parameters of the model to improve the results. This is an iterative process that may be performed by the server 112 to improve the accuracy and efficiency of the model.

[95] В частности, начальное обучение обеспечивает построение модели машинного обучения. Этап начального обучения может начинаться со сбора и подготовки основного набора данных, содержащего входные данные (признаки) и соответствующие целевые выходные данные. Затем модель обучается сервером 112, который выявляет закономерности, взаимосвязи и статистические представления в этом наборе данных, составлению прогнозов или выполнению классификации.[95] In particular, initial training enables the construction of a machine learning model. The initial training stage may begin with the collection and preparation of a base dataset containing input data (features) and corresponding target output data. The model is then trained by the server 112, which identifies patterns, relationships, and statistical representations in this dataset, making predictions, or performing classification.

[96] На этапе начального обучения сервер 112 способен разделять исходный набор данных на обучающий набор и проверочный набор. Также сервер 112 может выбирать архитектуру модели и инициализировать ее гиперпараметры (например, скорость обучения, размер партии и т.д.). Затем в модель с выбранной архитектурой передается обучающий набор данных, в результате чего за счет итеративной настройки внутренних параметров архитектуры модели расхождение между прогнозами модели и целевыми значениями (метками) сводится к минимуму. После этого сервер 112 может рассчитывать одну или несколько метрик эффективности для оценки работы модели на проверочном наборе данных.[96] During the initial training phase, server 112 may split the initial data set into a training set and a validation set. Server 112 may also select a model architecture and initialize its hyperparameters (e.g., learning rate, batch size, etc.). The training data set is then fed to the model with the selected architecture, which iteratively tunes the internal parameters of the model architecture to minimize the discrepancy between the model's predictions and target values (labels). Server 112 may then calculate one or more performance metrics to evaluate the performance of the model on the validation set.

[97] На этапе дообучения предварительно обученная модель настраивается на конкретную задачу или конкретные условия. Если предварительно обученная модель демонстрирует удовлетворительные результаты на обучающих данных, но не справляется с ранее неизвестными данными (эффект переобучения), то на этапе дообучения для улучшения обобщения могут применяться методы регуляризации и/или настройки гиперпараметров.[97] In the retraining stage, the pre-trained model is tuned to a specific task or specific conditions. If the pre-trained model demonstrates satisfactory results on the training data, but does not cope with previously unknown data (overfitting effect), then regularization and/or hyperparameter tuning methods can be used in the retraining stage to improve generalization.

[98] При наличии, в частности, одной или нескольких предварительно обученных моделей дообучение может предусматривать обучение той или иной предварительно обученной модели, принимаемой в качестве базового варианта, на новой смежной задаче. Например, сервер 112 может получать предварительно обученную модель из базы 150 данных и реализовывать этап дообучения для настройки этой предварительно обученной модели на решение новой смежной задачи. Разработчики настоящей технологии установили, что применение принципов переноса обучения к предварительно обученной модели вместо реализации этапа начального обучения модели позволяет экономить время и вычислительные ресурсы.[98] In the presence of, in particular, one or more pre-trained models, retraining may involve training one or another pre-trained model, taken as a base variant, on a new related task. For example, server 112 may receive a pre-trained model from database 150 and implement a retraining stage to adjust this pre-trained model to solve a new related task. The developers of this technology have found that applying the principles of transfer learning to a pre-trained model instead of implementing the initial training stage of the model allows saving time and computing resources.

[99] На фиг. 4 представлены первая итерация 400 обучения и вторая итерация 450 обучения, которые сервер 112 может выполнять, соответственно, на этапе начального обучения модели 300'' и этапе дообучения предварительно обученной модели 300'. Ниже приводится последовательное описание первой итерации 400 обучения и второй итерации 450 обучения.[99] Fig. 4 shows a first iteration 400 of training and a second iteration 450 of training that the server 112 may perform, respectively, in the initial training stage of the model 300'' and the retraining stage of the pre-trained model 300'. The first iteration 400 of training and the second iteration 450 of training are described sequentially below.

Обучение пунктуацииPunctuation training

[100] На первой итерации 400 обучения сервер 112 может получать первый обучающий набор 402 данных, содержащий обучающие входные данные 404 и метку 406. Обучающие входные данные 404 включают в себя входные аудиоданные 408 и входные текстовые данные 410. Входные аудиоданные 408 представляют собой запись речи диктора, а входные текстовые данные 410 - соответствующий текст, представляющий речь диктора. Следует отметить, что такой текст содержит слова, произносимые диктором, без каких-либо знаков пунктуации. Метка 406 содержит целевую последовательность токенов 420, которая содержит словарные токены, представляющие произносимые диктором слова, и пунктуационные токены, представляющие контрольные положения знаков пунктуации среди этих слов. В одном из вариантов осуществления положения пунктуационных токенов применительно к тексту могут задаваться людьми-оценщиками. В другом варианте осуществления текст может изначально содержать знаки пунктуации, но впоследствии, при формировании обучающих данных, они удаляются. В частности, целевая последовательность токенов 420 содержит словарный токен 422, за которым следует пунктуационный токен 424, который может указывать на то, что словарный токен 422 представляет последнее слово во фразе, произносимой диктором.[100] In the first iteration 400 of training, the server 112 may receive a first training set 402 containing training input data 404 and a label 406. The training input data 404 includes input audio data 408 and input text data 410. The input audio data 408 represents a recording of the speaker's speech, and the input text data 410 is a corresponding text representing the speaker's speech. It should be noted that such text contains words spoken by the speaker, without any punctuation marks. The label 406 contains a target sequence of tokens 420, which contains word tokens representing the words spoken by the speaker, and punctuation tokens representing the control positions of punctuation marks among these words. In one embodiment, the positions of the punctuation tokens in relation to the text may be specified by human evaluators. In another embodiment, the text may initially contain punctuation marks, but they are subsequently removed when generating training data. In particular, the target token sequence 420 comprises a word token 422 followed by a punctuation token 424, which may indicate that the word token 422 represents the last word in a phrase spoken by a speaker.

[101] Сервер 112 способен передавать обучающие входные данные 404 в модель 300'' (например, входные аудиоданные 408 могут передаваться в подмодель для аудиоданных, а входные текстовые данные 410 - в подмодель для текста). Модель 300'' способна формировать прогнозную последовательность токенов, которая сравнивается с целевой последовательностью токенов 420 из метки 406. Затем производится настройка модели 300'', исходя из результатов сравнения прогнозной последовательности токенов и целевой последовательности токенов 420. После большого количества итераций обучения, выполненных подобно первой итерации 400 обучения, сервер 112 способен выполнять начальное обучение модели 300'' и получать в результате обученную модель 300'. Обученная модель 300' обучена прогнозированию положения пунктуационных токенов в выходной последовательности токенов с целью определения мест в текстовой версии речи диктора, куда должны быть вставлены знаки пунктуации, для дополнения текстовой версии речи диктора. Следует отметить, что дополненная таким способом текстовая версия речи диктора может способствовать повышению эффективности одного или нескольких элементов системы озвучивания.[101] The server 112 is capable of transmitting training input data 404 to the model 300'' (e.g., the input audio data 408 can be transmitted to the submodel for audio data, and the input text data 410 can be transmitted to the submodel for text). The model 300'' is capable of generating a predicted token sequence, which is compared with the target token sequence 420 from the label 406. Then, the model 300'' is adjusted based on the results of the comparison of the predicted token sequence and the target token sequence 420. After a large number of training iterations performed similar to the first training iteration 400, the server 112 is capable of performing initial training of the model 300'' and obtaining a trained model 300' as a result. The trained model 300' is trained to predict the position of punctuation tokens in the output token sequence in order to determine the places in the text version of the speaker's speech where punctuation marks should be inserted to supplement the text version of the speaker's speech. It should be noted that a text version of the speaker's speech supplemented in this way can contribute to increasing the efficiency of one or more elements of the voice-over system.

[102] Разработчики настоящей технологии учли, что для обучения пунктуации существуют большие наборы данных. Наборы данных для обучения пунктуации могут включать в себя видео- и/или аудиофайлы с соответствующими субтитрами. В некоторых вариантах осуществления при формировании набора данных для обучения пунктуации сервер 112 способен выполнять одну или несколько операций фильтрации. Предполагается, что сервер 112 способен получать набор данных для обучения пунктуации из базы 150 данных. В одном из вариантов реализации набор данных для обучения пунктуации может включать в себя примерно миллион часов (фактических) аудиоданных с соответствующими текстовыми данными, содержащими знаки пунктуации. Можно утверждать, что в процессе обучения пунктуации модель обучается прогнозированию пунктуационных указателей после соответствующих слов.[102] The developers of the present technology took into account that large data sets exist for punctuation training. The data sets for punctuation training may include video and/or audio files with corresponding subtitles. In some embodiments, when forming the data set for punctuation training, the server 112 is capable of performing one or more filtering operations. It is assumed that the server 112 is capable of receiving the data set for punctuation training from the database 150. In one embodiment, the data set for punctuation training may include approximately one million hours of (actual) audio data with corresponding text data containing punctuation marks. It can be argued that in the process of punctuation training, the model is trained to predict punctuation indicators after corresponding words.

Дообучение смене диктораAdditional training for changing the announcer

[103] На второй итерации 450 обучения сервер 112 может получать второй обучающий набор данных 452, содержащий обучающие входные данные 454 и метку 456. Обучающие входные данные 454 включают в себя входные аудиоданные 458 и входные текстовые данные 460. Входные аудиоданные 458 представляют собой запись речи одного или нескольких дикторов, а входные текстовые данные 460 - соответствующий текст, представляющий речь одного или нескольких дикторов. Следует отметить, что такой текст содержит слова, произносимые одним или несколькими дикторами, без каких-либо знаков пунктуации. Метка 456 содержит целевую последовательность токенов 470, которая содержит словарные токены, представляющие слова, произносимые одним или несколькими дикторами, пунктуационные токены, представляющие контрольные положения знаков пунктуации среди слов, и токены смены диктора, представляющие контрольные указания на места, в которых прекращает говорить текущий диктор и начинает говорить другой диктор. В частности, целевая последовательность токенов 470 содержит словарный токен 472, за которым сначала следует пунктуационный токен 474, который может указывать на то, что словарный токен 422 представляет последнее слово во фразе, произносимой диктором, а затем следует токен 476 смены диктора, который может указывать на то, что словарный токен 422 представляет последнее слово во фразе, произносимой текущим диктором до начала произнесения новой фразы другим диктором.[103] In the second iteration 450 of training, the server 112 may receive a second training data set 452 comprising training input data 454 and a label 456. The training input data 454 includes input audio data 458 and input text data 460. The input audio data 458 represents a recording of speech by one or more speakers, and the input text data 460 represents a corresponding text representing the speech of one or more speakers. It should be noted that such text comprises words spoken by one or more speakers, without any punctuation marks. The label 456 comprises a target sequence of tokens 470 that comprises word tokens representing words spoken by one or more speakers, punctuation tokens representing control positions of punctuation marks among words, and speaker change tokens representing control indications of places at which the current speaker stops speaking and another speaker starts speaking. In particular, the target sequence of tokens 470 comprises a word token 472 that is first followed by a punctuation token 474 that may indicate that the word token 422 represents the last word in a phrase spoken by the speaker, and then by a speaker change token 476 that may indicate that the word token 422 represents the last word in a phrase spoken by the current speaker before another speaker starts speaking a new phrase.

[104] Сервер 112 способен передавать обучающие входные данные 454 в предварительно обученную модель 300' (например, входные аудиоданные 458 могут передаваться в подмодель для аудиоданных, а входные текстовые данные 460 - в подмодель для текста). Предварительно обученная модель 300' способна формировать прогнозную последовательность токенов, которая сравнивается с целевой последовательностью токенов 470 из метки 456. Затем производится настройка предварительно обученной модели 300' по результатам сравнения прогнозной последовательности токенов и целевой последовательности токенов 470. После большого количества итераций обучения, выполненных подобно первой итерации 400 обучения, сервер 112 способен выполнять дообучение предварительно обученной модели 300' и получать в результате модель 300 обнаружения смены диктора. Модель 300 обнаружения смены диктора обучена прогнозированию положения пунктуационных токенов в выходной последовательности токенов с целью определения мест в текстовой версии речи диктора, куда должны быть вставлены знаки пунктуации, для дополнения текстовой версии речи диктора, а также прогнозированию положения токенов смены диктора в выходной последовательности токенов с целью определения мест в текстовой версии речи диктора, в которых происходит смена диктора, для дальнейшего дополнения текстовой версии речи диктора. Следует отметить, что дополненная таким способом текстовая версия речи диктора может способствовать повышению эффективности одного или нескольких элементов системы озвучивания. [104] The server 112 is capable of transmitting the training input data 454 to the pre-trained model 300' (e.g., the audio input data 458 can be transmitted to the sub-model for audio data, and the text input data 460 can be transmitted to the sub-model for text). The pre-trained model 300' is capable of generating a predicted token sequence, which is compared with the target token sequence 470 from the label 456. The pre-trained model 300' is then adjusted based on the results of the comparison of the predicted token sequence and the target token sequence 470. After a large number of training iterations performed similar to the first training iteration 400, the server 112 is capable of retraining the pre-trained model 300' and obtaining as a result the speaker change detection model 300. The speaker change detection model 300 is trained to predict the position of punctuation tokens in the output token sequence in order to determine the locations in the text version of the speaker's speech where punctuation marks should be inserted to supplement the text version of the speaker's speech, and to predict the position of speaker change tokens in the output token sequence in order to determine the locations in the text version of the speaker's speech where the speaker change occurs to further supplement the text version of the speaker's speech. It should be noted that the text version of the speaker's speech supplemented in this way can contribute to increasing the efficiency of one or more elements of the voice-over system.

[105] Разработчики настоящей технологии установили, что больших наборов данных для обучения смене диктора гораздо меньше, чем для обучения пунктуации. Наборы данных для обучения смене диктора также могут включать в себя видео- и/или аудиофайлы с соответствующими субтитрами. В некоторых вариантах осуществления при формировании набора данных для обучения смене диктора сервер 112 способен выполнять одну или несколько операций фильтрации. Предполагается, что сервер 112 способен получать набор данных для обучения смене диктора из базы 150 данных. В одном из вариантов реализации набор данных для обучения смене диктора может включать в себя примерно сто часов (фактических) аудиоданных с соответствующими текстовыми данными, содержащими знаки пунктуации. Можно утверждать, что в процессе обучения смене диктора модель обучается прогнозированию указаний на знаки пунктуации, а также указаний на смену диктора после соответствующих слов.[105] The developers of the present technology have found that there are much fewer large data sets for speaker change training than for punctuation training. Speaker change training data sets may also include video and/or audio files with corresponding subtitles. In some embodiments, when generating a speaker change training data set, the server 112 is capable of performing one or more filtering operations. It is assumed that the server 112 is capable of receiving a speaker change training data set from the database 150. In one embodiment, the speaker change training data set may include approximately one hundred hours of (actual) audio data with corresponding text data containing punctuation marks. It can be argued that during the speaker change training process, the model is trained to predict punctuation marks indications, as well as speaker change indications after corresponding words.

[106] Без привязки к какой-либо конкретной теории разработчики учли, что проведение дообучения на модели, предварительно обученной решению задачи обнаружения знаков пунктуации, позволяет этой модели использовать пунктуационные токены в качестве «подсказок» при решении задачи обнаружения смены диктора. Иными словами, модель 300 обнаружения смены диктора в некотором смысле «понимает», что смена диктора маловероятна в пределах фразы (то есть после словарного токена) и/или сравнительно более вероятна после окончания фразы (то есть после пунктуационного токена, представляющего точку). Также можно утверждать, что модель 300 обнаружения смены диктора обучена «пониманию», что вероятность того, что следующим токеном (который будет сформирован) окажется токен смены диктора, сравнительно выше, если последним токеном (который был сформирован) является пунктуационный токен, а не словарный токен.[106] Without being bound by any particular theory, the developers took into account that performing additional training on a model previously trained to solve the punctuation mark detection task allows the model to use punctuation tokens as “hints” when solving the speaker change detection task. In other words, the speaker change detection model 300 in some sense “understands” that a speaker change is unlikely within a phrase (i.e., after a dictionary token) and/or is comparatively more likely after the end of a phrase (i.e., after a punctuation token representing a period). It can also be argued that the speaker change detection model 300 is trained to “understand” that the probability that the next token (to be generated) will be a speaker change token is comparatively higher if the last token (to be generated) is a punctuation token rather than a dictionary token.

РаботаJob

[107] На фиг. 5 представлена рабочая итерация 500 модели 300 обнаружения смены диктора, выполняемая на сервере 112 для формирования последовательности токенов 310. Сервер 112 способен получать рабочий набор 502 данных. Рабочий набор 502 данных содержит аудиоданные 350 и соответствующие текстовые данные 360. В некоторых вариантах осуществления рабочий набор 502 данных может включать в себя предварительно записанные данные, полученные из базы 150 данных. В других вариантах осуществления рабочий набор 502 данных может представлять собой набор данных, получаемый сервером 112 в режиме реального времени, например, во время прямых трансляций и/или видеоконференций, где требуется мгновенный дубляж. В дополнительных вариантах осуществления вместе с аудиоданными 350 может приниматься видеофайл, а сервер 112 способен извлекать соответствующие текстовые данные 360 из аудиоданных 350 известными методами.[107] Fig. 5 shows a working iteration 500 of the speaker change detection model 300 executed on the server 112 to generate a sequence of tokens 310. The server 112 is capable of receiving a working set of data 502. The working set of data 502 comprises audio data 350 and corresponding text data 360. In some embodiments, the working set of data 502 may include pre-recorded data obtained from the database 150. In other embodiments, the working set of data 502 may be a set of data received by the server 112 in real time, such as during live broadcasts and/or video conferences where instant dubbing is required. In further embodiments, a video file may be received along with the audio data 350, and the server 112 is capable of extracting the corresponding text data 360 from the audio data 350 using known techniques.

[108] Как упоминалось ранее, сервер 112 способен разделять аудиоданные 350 на последовательность фрагментов аудиоданных и передавать их в качестве входных данных в подмодель 302 для аудиоданных модели 300 обнаружения смены диктора. Кроме того, сервер 112 способен разделять текстовые данные 360 на последовательность фрагментов текстовых данных и передавать их в качестве входных данных в подмодель 304 для текста модели 300 обнаружения смены диктора. В ответ модель 300 обнаружения смены диктора может выполнять конкатенацию промежуточных векторных представлений, сформированных подмоделью 302 для аудиоданных и подмоделью 304 для текста, после чего конкатенированные промежуточные выходные данные модели 300 обнаружения смены диктора дополнительно обрабатываются выходной подмоделью 308 для формирования последовательности выходных токенов 310, содержащей словарный токен 312, за которым следуют сначала пунктуационный токен 320, а затем токен 330 смены диктора.[108] As mentioned earlier, the server 112 is capable of dividing the audio data 350 into a sequence of audio data fragments and transmitting them as input data to the audio data submodel 302 of the speaker change detection model 300. In addition, the server 112 is capable of dividing the text data 360 into a sequence of text data fragments and transmitting them as input data to the text submodel 304 of the speaker change detection model 300. In response, the speaker change detection model 300 may concatenate the intermediate vector representations generated by the audio submodel 302 and the text submodel 304, after which the concatenated intermediate output data of the speaker change detection model 300 is further processed by the output submodel 308 to generate a sequence of output tokens 310 comprising a word token 312, followed first by a punctuation token 320 and then by a speaker change token 330.

[109] Затем, как упоминалось выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 112 способен передавать последовательность выходных токенов 310, содержащую словарный токен 312, за которым следуют сначала пунктуационный токен 320, а затем токен 330 смены диктора, в модель 301 диаризации для выявления фраз, произносимых разными дикторами, в последовательности выходных токенов 310. Далее, используя выходные данные модели 301 диаризации, сервер 112 способен группировать фразы из данных 252 распознавания речи по дикторам, произносящим эти фразы. После этого, как подробно описано выше, сервер 112 способен (1) переводить сгруппированные таким способом фразы с помощью модуля 204 перевода, тем самым получая данные 253 перевода, и (2) формировать с помощью модуля 206 синтеза речи для каждой переведенной фразы из данных 253 перевода, связанной с текущим диктором, соответствующую порцию данных 254 синтеза речи, как указано выше.[109] Then, as mentioned above, in some non-limiting embodiments of the present technology, the server 112 is configured to transmit a sequence of output tokens 310 comprising a word token 312 followed first by a punctuation token 320 and then by a speaker change token 330 to a diarization model 301 to identify phrases spoken by different speakers in the sequence of output tokens 310. Then, using the output of the diarization model 301, the server 112 is configured to group phrases from the speech recognition data 252 by the speakers who speak those phrases. Thereafter, as described in detail above, the server 112 is able to (1) translate the phrases grouped in this manner using the translation module 204, thereby obtaining the translation data 253, and (2) generate, using the speech synthesis module 206, for each translated phrase from the translation data 253 associated with the current speaker, a corresponding portion of the speech synthesis data 254, as indicated above.

[110] С учетом описанной выше архитектуры и приведенных примеров возможна реализация способа обучения такой модели, как модель 300 обнаружения смены диктора. На фиг. 6 представлена блок-схема способа 600 в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии. Способ 600 может быть реализован на сервере 112.[110] Taking into account the above-described architecture and the examples given, it is possible to implement a method for training such a model as the speaker change detection model 300. Fig. 6 shows a block diagram of a method 600 in accordance with some non-limiting embodiments of the present technology. The method 600 can be implemented on the server 112.

[111] Как указано выше, сервер 112 способен выполнять по меньшей мере два этапа обучения модели 300 обнаружения смены диктора. На первом этапе, который подробно описан выше со ссылкой на фиг. 4 применительно к первой итерации 400 обучения, сервер 112 способен обучать алгоритм машинного обучения на основе большого объема данных формированию прогнозных пунктуационных токенов для заданной последовательности текстовых токенов. Затем, на втором этапе, который подробно описан выше со ссылкой на фиг. 4 применительно ко второй итерации 450 обучения, сервер 112 способен дообучать предварительно обученный алгоритм машинного обучения на основе дополнительных данных с целью настройки этого алгоритма на прогнозирование положений токенов смены диктора в заданной последовательности текстовых токенов.[111] As indicated above, the server 112 is capable of performing at least two stages of training the speaker change detection model 300. In the first stage, which is described in detail above with reference to Fig. 4 with respect to the first iteration 400 of training, the server 112 is capable of training a machine learning algorithm based on a large amount of data to generate predictive punctuation tokens for a given sequence of text tokens. Then, in the second stage, which is described in detail above with reference to Fig. 4 with respect to the second iteration 450 of training, the server 112 is capable of further training the pre-trained machine learning algorithm based on additional data in order to adjust this algorithm to predict the positions of speaker change tokens in a given sequence of text tokens.

Шаг 602: получение набора данных для обучения пунктуации, содержащего первые входные данные, включающие в себя аудиоданные и текстовые данные, представляющие речь диктора, и первую метку, включающую в себя последовательность контрольных токенов.Step 602: obtaining a punctuation training dataset comprising first input data including audio data and text data representing the speaker's speech, and a first label including a sequence of control tokens.

[112] Способ 600 начинается с шага 602, на котором сервер 112 способен получать первый обучающий набор 402 данных для обучения модели 300'' определению положений пунктуационных токенов в заданной последовательности текстовых токенов. Как подробно описано выше со ссылкой на фиг. 4, первый обучающий набор данных 402 содержит обучающие входные данные 404 и метку 406. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, обучающие входные данные 404 содержат входные аудиоданные 408 и входные текстовые данные 410. Входные аудиоданные 408 представляют собой запись речи диктора, а входные текстовые данные 410 - соответствующий текст, представляющий речь диктора.[112] The method 600 begins with step 602, in which the server 112 is configured to receive a first training data set 402 for training the model 300'' to determine the positions of punctuation tokens in a given sequence of text tokens. As described in detail above with reference to Fig. 4, the first training data set 402 comprises training input data 404 and a label 406. According to some non-limiting embodiments of the present technology, the training input data 404 comprises input audio data 408 and input text data 410. The input audio data 408 represents a recording of the speaker's speech, and the input text data 410 represents the corresponding text representing the speaker's speech.

[113] Метка 406 содержит целевую последовательность токенов 420, которая содержит словарные токены, представляющие произносимые диктором слова, и пунктуационные токены, представляющие контрольные положения знаков пунктуации среди слов. В одном из вариантов осуществления положения пунктуационных токенов применительно к тексту могут задаваться людьми-оценщиками.[113] The label 406 contains a target sequence of tokens 420, which contains word tokens representing words spoken by the speaker, and punctuation tokens representing control positions of punctuation marks among words. In one embodiment, the positions of the punctuation tokens with respect to the text may be specified by human evaluators.

[114] Следующим шагом в способе 600 является шаг 604.[114] The next step in method 600 is step 604.

Шаг 604: обучение модели с использованием набора данных для обучения пунктуации формированию рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования обученной пунктуации модели.Step 604: training a model using the punctuation training dataset to generate a working sequence of tokens based on a combination of working audio data and working text data to generate a trained punctuation model.

[115] На шаге 604, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 112 способен передавать обучающие входные данные 404 в модель 300'' (например, входные аудиоданные 408 могут передаваться в подмодель для аудиоданных, а входные текстовые данные 410 - в подмодель для текста). В ответ модель 300'' способна формировать прогнозную последовательность токенов, сравниваемую с целевой последовательностью токенов 420 из метки 406. Затем сервер 112 способен производить настройку модели 300'' путем оптимизации расхождения между прогнозной последовательностью токенов и целевой последовательностью токенов 420 (которое, например, может быть выражено функцией потерь). После большого количества итераций обучения, выполненных подобно итерации 400 обучения, сервер 112 способен выполнять начальное обучение модели 300'' и получать в результате обученную модель 300'.[115] In step 604, according to some non-limiting embodiments of the present technology, the server 112 is configured to provide training input data 404 to the model 300'' (e.g., the audio input data 408 may be provided to the audio submodel and the text input data 410 may be provided to the text submodel). In response, the model 300'' is configured to generate a predicted token sequence that is compared to a target token sequence 420 from the label 406. The server 112 is then configured to tune the model 300'' by optimizing the discrepancy between the predicted token sequence and the target token sequence 420 (which may be expressed by a loss function, for example). After a plurality of training iterations performed similar to the training iteration 400, the server 112 is configured to perform initial training of the model 300'' and obtain a trained model 300' as a result.

[116] Таким образом, обученная модель 300' обучена прогнозированию положения пунктуационных токенов в выходной последовательности токенов с целью определения мест в текстовой версии речи диктора, куда должны быть вставлены знаки пунктуации, для дополнения текстовой версии речи диктора. Следует отметить, что дополненная таким способом текстовая версия речи диктора может способствовать повышению эффективности одного или нескольких элементов системы озвучивания.[116] Thus, the trained model 300' is trained to predict the position of punctuation tokens in the output token sequence in order to determine the places in the text version of the speaker's speech where punctuation marks should be inserted to complement the text version of the speaker's speech. It should be noted that a text version of the speaker's speech supplemented in this way can contribute to increasing the efficiency of one or more elements of the voice-over system.

[117] Следующим шагом в способе 600 является шаг 606.[117] The next step in method 600 is step 606.

Шаг 606: получение набора данных для обучения смене диктора, содержащего вторые входные данные, включающие в себя вторые аудиоданные и вторые текстовые данные, представляющие речь нескольких дикторов, и вторую метку, включающую в себя вторую последовательность контрольных токенов.Step 606: obtaining a speaker change training dataset comprising a second input data including second audio data and second text data representing speech of multiple speakers, and a second label including a second sequence of control tokens.

[118] На шаге 606, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 112 способен получать второй обучающий набор 452 данных для обучения обученной модели 300' прогнозированию положений токенов смены диктора в последовательности текстовых токенов. Как подробно описано выше со ссылкой на фиг. 4, второй обучающий набор данных 452 содержит обучающие входные данные 454 и метку 456. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, обучающие входные данные 454 содержат входные аудиоданные 458 и входные текстовые данные 460. Входные аудиоданные 458 представляют собой запись речи одного или нескольких дикторов, а входные текстовые данные 460 - соответствующий текст, представляющий речь одного или нескольких дикторов. Следует отметить, что такой текст содержит слова, произносимые одним или несколькими дикторами, без каких-либо знаков пунктуации. Метка 456 содержит целевую последовательность токенов 470, которая содержит (1) словарные токены, представляющие слова, произносимые одним или несколькими дикторами, (2) пунктуационные токены, представляющие контрольные положения знаков пунктуации среди слов, и (3) токены смены диктора, представляющие контрольные указания на места, в которых прекращает говорить текущий диктор и начинает говорить другой диктор.[118] In step 606, according to some non-limiting embodiments of the present technology, the server 112 is configured to receive a second training data set 452 for training the trained model 300' to predict the positions of speaker change tokens in a sequence of text tokens. As described in detail above with reference to FIG. 4, the second training data set 452 comprises training input data 454 and a label 456. According to some non-limiting embodiments of the present technology, the training input data 454 comprises audio input data 458 and text input data 460. The audio input data 458 represents a recording of speech by one or more speakers, and the text input data 460 represents a corresponding text representing the speech by one or more speakers. It should be noted that such text comprises words spoken by one or more speakers, without any punctuation marks. Label 456 contains a target sequence of tokens 470 that contains (1) word tokens representing words spoken by one or more speakers, (2) punctuation tokens representing control positions of punctuation marks among words, and (3) speaker change tokens representing control indications of places at which the current speaker stops speaking and another speaker begins speaking.

[119] Следующим шагом в способе 600 является шаг 608.[119] The next step in method 600 is step 608.

Шаг 608: дообучение обученной пунктуации модели с использованием набора данных для обучения смене диктора формированию второй рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования модели смены диктора.Step 608: further train the trained punctuation model using the speaker change training dataset to generate a second working token sequence based on a combination of the working audio data and the working text data to form a speaker change model.

[120] На шаге 608, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 112 способен дообучать обученную модель 300' определению положений токенов смены диктора, используя второй обучающий набор данных, полученный на шаге 606.[120] At step 608, in accordance with some non-limiting embodiments of the present technology, the server 112 is configured to further train the trained model 300' to determine the positions of the speaker change tokens using the second training data set obtained at step 606.

[121] Для этого, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 112 способен передавать обучающие входные данные 454 в предварительно обученную модель 300' (например, входные аудиоданные 458 могут передаваться в подмодель 302 для аудиоданных, а входные текстовые данные 460 - в подмодель 304 для текста). В ответ предварительно обученная модель 300' может формировать прогнозную последовательность токенов, которую сервер 112 способен сравнивать с целевой последовательностью токенов 470 из метки 456. Затем сервер 113 способен производить настройку предварительно обученной модели 300' путем сведения к минимуму расхождения между прогнозной последовательностью токенов и целевой последовательностью токенов 470 (которое, например, может быть выражено соответствующим значением функции потерь).[121] To this end, in accordance with some non-limiting embodiments of the present technology, the server 112 is configured to transmit training input data 454 to the pre-trained model 300' (e.g., the audio input data 458 may be transmitted to the audio sub-model 302 and the text input data 460 may be transmitted to the text sub-model 304). In response, the pre-trained model 300' may generate a predicted token sequence that the server 112 may compare with a target token sequence 470 from the label 456. The server 113 may then adjust the pre-trained model 300' by minimizing the discrepancy between the predicted token sequence and the target token sequence 470 (which may be expressed, for example, by an appropriate loss function value).

[122] Таким образом, после большого количества итераций обучения, выполненных подобно итерации 400 обучения, сервер 112 способен выполнять дообучение предварительно обученной модели 300' и получать в результате модель 300 обнаружения смены диктора.[122] Thus, after a large number of training iterations performed similar to training iteration 400, the server 112 is able to perform further training of the pre-trained model 300' and obtain as a result a speaker change detection model 300.

[123] Теперь модель 300 обнаружения смены диктора обучена прогнозированию положения пунктуационных токенов в выходной последовательности токенов с целью определения мест в текстовой версии речи диктора, куда должны быть вставлены знаки пунктуации, для дополнения текстовой версии речи диктора, а также прогнозированию положения токенов смены диктора в выходной последовательности токенов с целью определения мест в текстовой версии речи диктора, в которых происходит смена диктора, для дальнейшего дополнения текстовой версии речи диктора. Следует отметить, что дополненная таким способом текстовая версия речи диктора может способствовать повышению эффективности одного или нескольких элементов системы озвучивания.[123] The speaker change detection model 300 is now trained to predict the position of punctuation tokens in the output token sequence to determine the locations in the text version of the speaker's speech where punctuation marks should be inserted to supplement the text version of the speaker's speech, and to predict the position of speaker change tokens in the output token sequence to determine the locations in the text version of the speaker's speech where a speaker change occurs to further supplement the text version of the speaker's speech. It should be noted that a text version of the speaker's speech supplemented in this way may contribute to improving the efficiency of one or more elements of the voice-over system.

[124] Следующим шагом в способе 600 является шаг 610.[124] The next step in method 600 is step 610.

Шаг 610: получение рабочего набора данных, содержащего рабочие текстовые данные и рабочие аудиоданные.Step 610: Obtain a working dataset containing working text data and working audio data.

[125] На шаге 610, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 112 способен получать рабочий набор 502 данных. Как подробно описано выше со ссылкой на фиг. 5, рабочий набор 502 данных содержит аудиоданные 350 и соответствующие текстовые данные 360.[125] At step 610, in accordance with some non-limiting embodiments of the present technology, the server 112 is able to receive a working set of data 502. As described in detail above with reference to Fig. 5, the working set of data 502 comprises audio data 350 and corresponding text data 360.

[126] Следующим шагом в способе 600 является шаг 612.[126] The next step in method 600 is step 612.

Шаг 612: формирование с использованием модели смены диктора второй рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных.Step 612: Generating a second working token sequence using the speaker change model based on the combination of working audio data and working text data.

[127] Затем сервер 112 способен применять модель 300 обнаружения смены диктора к рабочему набору 502 данных. Для этого, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 112 способен разделять аудиоданные 350 на последовательность фрагментов аудиоданных и передавать их в качестве входных данных в подмодель 302 для аудиоданных модели 300 обнаружения смены диктора. Кроме того, сервер 112 способен разделять текстовые данные 360 на последовательность фрагментов текстовых данных и передавать их в качестве входных данных в подмодель 304 для текста модели 300 обнаружения смены диктора.[127] The server 112 is then able to apply the speaker change detection model 300 to the working data set 502. To do this, in accordance with some non-limiting embodiments of the present technology, the server 112 is able to split the audio data 350 into a sequence of audio data fragments and pass them as input to the audio data submodel 302 of the speaker change detection model 300. In addition, the server 112 is able to split the text data 360 into a sequence of text data fragments and pass them as input to the text submodel 304 of the speaker change detection model 300.

[128] В ответ модель 300 обнаружения смены диктора способна производить конкатенацию промежуточных векторных представлений, сформированных подмоделью 302 для аудиоданных и подмоделью 304 для текста, после чего конкатенированные промежуточные выходные данные модели 300 обнаружения смены диктора дополнительно обрабатываются выходной подмоделью 308 для формирования последовательности выходных токенов 310, содержащей словарный токен 312, за которым следуют сначала пунктуационный токен 320, а затем токен 330 смены диктора.[128] In response, the speaker change detection model 300 is configured to concatenate the intermediate vector representations generated by the audio submodel 302 and the text submodel 304, after which the concatenated intermediate output data of the speaker change detection model 300 is further processed by the output submodel 308 to generate a sequence of output tokens 310 comprising a word token 312 followed first by a punctuation token 320 and then by a speaker change token 330.

[129] Следующим шагом в способе 600 является шаг 614.[129] The next step in method 600 is step 614.

Шаг 614: определение с использованием модели диаризации рабочих текстовых токенов, связанных с соответствующими дикторами, во второй рабочей последовательности токенов для последующего осуществления перевода и синтеза речи.Step 614: using the diarization model, determining the working text tokens associated with the corresponding speakers in the second working token sequence for subsequent translation and speech synthesis.

[130] Далее, после определения положений пунктуационных токенов и токенов смены диктора в рабочем наборе 502 данных, сервер 112 способен определять принадлежность фраз дикторам в текстовых данных 360 из рабочего набора 502 данных. Иными словами, сервер 112 способен определять, когда две следующие друг за другом фразы из текстовых данных 360 произносятся одним и тем же диктором, а когда они произносятся разными дикторами. Для этого, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 112 способен применять модель 301 диаризации к последовательности выходных токенов 310, как описано выше.[130] Next, after determining the positions of the punctuation tokens and the speaker change tokens in the working data set 502, the server 112 is able to determine the belonging of phrases to speakers in the text data 360 from the working data set 502. In other words, the server 112 is able to determine when two consecutive phrases from the text data 360 are pronounced by the same speaker, and when they are pronounced by different speakers. To this end, in accordance with some non-limiting embodiments of the present technology, the server 112 is able to apply the diarization model 301 to the sequence of output tokens 310, as described above.

[131] После этого в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 112 способен (1) группировать (например, методом конкатенации) фразы, которые были определены моделью 301 диаризации как связанные с заданным диктором, и (2) передавать сгруппированные таким способом выходные токены модели 300 обнаружения смены диктора сначала в модуль 204 перевода для обеспечения перевода, а затем в модуль 206 синтеза речи для формирования соответствующих порций данных 254 синтеза речи.[131] In some non-limiting embodiments of the present technology, the server 112 may then (1) group (e.g., by concatenation) the phrases that have been identified by the diarization model 301 as being associated with a given speaker, and (2) transmit the thus grouped output tokens of the speaker change detection model 300 first to the translation module 204 to provide translation, and then to the speech synthesis module 206 to generate the corresponding portions of speech synthesis data 254.

[132] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии модуль 204 перевода способен формировать порцию данных 253 перевода для каждой группы, определенной моделью 301 диаризации, из последовательности выходных токенов 310. Подобным образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии модуль 206 синтеза речи способен формировать порцию данных 254 синтеза речи для каждой группы, связанной с соответствующим диктором, определенным моделью 301 диаризации, из последовательности выходных токенов 310, что может включать в себя, например, формирование порции данных 254 синтеза речи с использованием голоса, соответствующего голосу диктора, который произносит исходную фразу в аудиоданных 350 из рабочих данных 502. Иными словами, после группирования токенов из последовательности выходных токенов 310 моделью 301 диаризации сервер 112 способен выполнять перевод и синтезировать выходные токены 310, используя по группам, соответственно, модули 204, 206 перевода и синтеза речи.[132] In some non-limiting embodiments of the present technology, the translation module 204 is configured to generate a portion of translation data 253 for each group determined by the diarization model 301 from the sequence of output tokens 310. Similarly, in some non-limiting embodiments of the present technology, the speech synthesis module 206 is configured to generate a portion of speech synthesis data 254 for each group associated with a corresponding speaker determined by the diarization model 301 from the sequence of output tokens 310, which may include, for example, generating the portion of speech synthesis data 254 using a voice corresponding to the voice of the speaker who speaks the source phrase in the audio data 350 of the payload data 502. In other words, after the tokens from the sequence of output tokens 310 are grouped by the diarization model 301, the server 112 is configured to translate and synthesize the output tokens 310 using the modules, respectively, on a group basis. 204, 206 translation and speech synthesis.

[133] Таким образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии модули 204, 206 перевода и синтеза речи могут использовать не собственно токены смены диктора, формируемые моделью 300 обнаружения смены диктора, такие как токен 330 смены диктора, а лишь фразы, сгруппированные по дикторам, определенным моделью 301 диаризации с помощью токенов смены диктора.[133] Thus, in some non-limiting embodiments of the present technology, the translation and speech synthesis modules 204, 206 may use not the actual speaker change tokens generated by the speaker change detection model 300, such as the speaker change token 330, but only phrases grouped by speakers determined by the diarization model 301 using the speaker change tokens.

[134] На этом реализация способа 600 завершается.[134] This completes the implementation of method 600.

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

Claims (49)

1. Способ обучения модели, реализуемый на сервере, предусматривающий:1. A method of training a model, implemented on the server, providing for: - получение набора данных для обучения пунктуации, содержащего первые входные данные, включающие в себя аудиоданные и текстовые данные, представляющие речь диктора, и первую метку, включающую в себя последовательность контрольных токенов, содержащую контрольный текстовый токен, указывающий на слово, и контрольный пунктуационный токен, указывающий на знак пунктуации и следующий за контрольным текстовым токеном;- obtaining a data set for punctuation training, comprising first input data including audio data and text data representing the speech of a speaker, and a first label including a sequence of control tokens containing a control text token indicating a word and a control punctuation token indicating a punctuation mark and following the control text token; - обучение модели, с использованием набора данных для обучения пунктуации, формированию рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования обученной пунктуации модели;- training the model, using the punctuation training dataset, to generate a working sequence of tokens based on a combination of working audio data and working text data in order to generate a trained punctuation model; - получение набора данных для обучения смене диктора, содержащего вторые входные данные, включающие в себя вторые аудиоданные и вторые текстовые данные, представляющие речь нескольких дикторов, и вторую метку, включающую в себя вторую последовательность контрольных токенов, содержащую второй контрольный текстовый токен, указывающий на второе слово, второй контрольный пунктуационный токен, указывающий на второй знак пунктуации, и контрольный токен смены диктора, указывающий на смену диктора и следующий за вторым контрольным пунктуационным токеном,- obtaining a data set for speaker change training, comprising second input data including second audio data and second text data representing speech of multiple speakers, and a second label including a second sequence of control tokens containing a second control text token indicating a second word, a second control punctuation token indicating a second punctuation mark, and a speaker change control token indicating a speaker change and following the second control punctuation token, - дообучение обученной пунктуации модели, с использованием набора данных для обучения смене диктора, формированию второй рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования модели смены диктора;- further training of the trained punctuation model, using the data set for training speaker change, forming a second working sequence of tokens based on a combination of working audio data and working text data in order to form a speaker change model; - получение рабочего набора данных, содержащего рабочие текстовые данные и рабочие аудиоданные;- obtaining a working data set containing working text data and working audio data; - формирование, с использованием модели смены диктора, второй рабочей последовательности токенов, содержащей рабочий текстовый токен, рабочий пунктуационный токен, следующий за рабочим текстовым токеном, и рабочий токен смены диктора, следующий за рабочим пунктуационным токеном, на основе комбинации рабочих аудиоданных и рабочих текстовых данных; и- generating, using the speaker change model, a second working token sequence comprising a working text token, a working punctuation token following the working text token, and a working speaker change token following the working punctuation token, based on a combination of working audio data and working text data; and - формирование синтезированного аудиоконтента на основе второй рабочей последовательности токенов. - formation of synthesized audio content based on the second working sequence of tokens. 2. Способ по п. 1, в котором модель смены диктора содержит подмодель для аудиоданных, подмодель для текста и третью подмодель, а формирование второй рабочей последовательности токенов предусматривает:2. The method according to item 1, wherein the speaker change model comprises a submodel for audio data, a submodel for text and a third submodel, and the formation of the second working sequence of tokens provides for: - формирование, с использованием подмодели для аудиоданных, рабочей последовательности векторных представлений аудиоданных на основе рабочих аудиоданных;- formation, using a submodel for audio data, of a working sequence of vector representations of audio data based on working audio data; - формирование, с использованием подмодели для текста, рабочей последовательности векторных представлений текста на основе рабочих текстовых данных;- formation, using a submodel for text, of a working sequence of vector representations of text based on working text data; - формирование конкатенированных промежуточных выходных данных с использованием рабочей последовательности векторных представлений аудиоданных и рабочей последовательности векторных представлений текста; и- formation of concatenated intermediate output data using a working sequence of vector representations of audio data and a working sequence of vector representations of text; and - формирование, с использованием третьей подмодели, второй рабочей последовательности токенов с использованием конкатенированных промежуточных выходных данных.- formation, using the third submodel, of the second working sequence of tokens using concatenated intermediate output data. 3. Способ по п. 2, в котором подмодель для аудиоданных представляет собой модель WavLM.3. The method according to claim 2, wherein the submodel for audio data is a WavLM model. 4. Способ по п. 2, в котором подмодель для текста представляет собой модель mT5.4. The method according to claim 2, wherein the submodel for the text is the mT5 model. 5. Способ по п. 2, в котором третья подмодель представляет собой модель трансформера.5. The method according to claim 2, wherein the third submodel is a transformer model. 6. Способ по п. 1, дополнительно предусматривающий:6. The method according to paragraph 1, additionally providing for: - формирование, с использованием модели преобразования речи в текст, текстовых данных на основе аудиоданных;- formation, using a speech-to-text conversion model, of text data based on audio data; - формирование, с использованием модели преобразования речи в текст, вторых текстовых данных на основе вторых аудиоданных; и- generating, using a speech-to-text conversion model, second text data based on the second audio data; and - формирование, с использованием модели преобразования речи в текст, рабочих текстовых данных на основе рабочих аудиоданных.- formation, using a speech-to-text conversion model, of working text data based on working audio data. 7. Способ по п. 1, в котором контрольный пунктуационный токен следует непосредственно за контрольным текстовым токеном, контрольный токен смены диктора следует непосредственно за вторым контрольным пунктуационным токеном, рабочий пунктуационный токен следует непосредственно за рабочим текстовым токеном, а рабочий токен смены диктора следует непосредственно за рабочим пунктуационным токеном.7. The method according to claim 1, wherein the control punctuation token immediately follows the control text token, the speaker change control token immediately follows the second control punctuation token, the working punctuation token immediately follows the working text token, and the working speaker change token immediately follows the working punctuation token. 8. Способ дообучения предварительно обученной модели, реализуемый на сервере, предусматривающий:8. A method for further training a pre-trained model, implemented on the server, which provides for: - получение набора данных для обучения смене диктора, содержащего вторые входные данные, включающие в себя вторые аудиоданные и вторые текстовые данные, представляющие речь нескольких дикторов, и вторую метку, включающую в себя вторую последовательность контрольных токенов, содержащую второй контрольный текстовый токен, указывающий на второе слово, второй контрольный пунктуационный токен, указывающий на второй знак пунктуации, и контрольный токен смены диктора, указывающий на смену диктора и следующий за вторым контрольным пунктуационным токеном во второй последовательности контрольных токенов;- obtaining a data set for speaker change training, comprising second input data including second audio data and second text data representing speech of multiple speakers, and a second label including a second sequence of control tokens containing a second control text token indicating a second word, a second control punctuation token indicating a second punctuation mark, and a speaker change control token indicating a speaker change and following the second control punctuation token in the second sequence of control tokens; - дообучение предварительно обученной модели, с использованием набора данных для обучения смене диктора, формированию второй рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования модели смены диктора, при этом с целью формирования рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных предварительно обученная модель обучалась на основе набора данных для обучения пунктуации, содержащего первые входные данные, включающие в себя аудиоданные и текстовые данные, представляющие речь диктора, и первую метку, включающую в себя последовательность контрольных токенов, которая содержит контрольный текстовый токен, указывающий на слово, и контрольный пунктуационный токен, указывающий на знак пунктуации и следующий за контрольным текстовым токеном;- further training of the pre-trained model, using the data set for training speaker change, forming a second working sequence of tokens based on a combination of working audio data and working text data in order to form a speaker change model, wherein in order to form a working sequence of tokens based on a combination of working audio data and working text data, the pre-trained model was trained based on a data set for training punctuation, containing first input data, including audio data and text data representing the speaker's speech, and a first label, including a sequence of control tokens, which contains a control text token indicating a word, and a control punctuation token indicating a punctuation mark and following the control text token; - получение рабочего набора данных, содержащего рабочие текстовые данные и рабочие аудиоданные;- obtaining a working data set containing working text data and working audio data; - формирование, с использованием модели смены диктора, второй рабочей последовательности токенов, содержащей рабочий текстовый токен, рабочий пунктуационный токен, следующий за рабочим текстовым токеном, и рабочий токен смены диктора, следующий за рабочим пунктуационным токеном, на основе комбинации рабочих аудиоданных и рабочих текстовых данных; и- generating, using the speaker change model, a second working token sequence comprising a working text token, a working punctuation token following the working text token, and a working speaker change token following the working punctuation token, based on a combination of working audio data and working text data; and - формирование синтезированного аудиоконтента на основе второй рабочей последовательности токенов.- formation of synthesized audio content based on the second working sequence of tokens. 9. Способ по п. 8, в котором контрольный пунктуационный токен следует непосредственно за контрольным текстовым токеном, контрольный токен смены диктора следует непосредственно за вторым контрольным пунктуационным токеном, рабочий пунктуационный токен следует непосредственно за рабочим текстовым токеном, а рабочий токен смены диктора следует непосредственно за рабочим пунктуационным токеном.9. The method according to claim 8, wherein the control punctuation token immediately follows the control text token, the speaker change control token immediately follows the second control punctuation token, the working punctuation token immediately follows the working text token, and the working speaker change token immediately follows the working punctuation token. 10. Сервер для обучения модели, содержащий по меньшей мере один процессор и по меньшей мере одну физическую машиночитаемую память, хранящую исполняемые команды, при исполнении которых по меньшей мере одним процессором на сервере обеспечивается:10. A server for training a model, comprising at least one processor and at least one physical machine-readable memory storing executable commands, the execution of which by at least one processor on the server ensures: - получение набора данных для обучения пунктуации, содержащего первые входные данные, включающие в себя аудиоданные и текстовые данные, представляющие речь диктора, и первую метку, включающую в себя последовательность контрольных токенов, содержащую контрольный текстовый токен, указывающий на слово, и контрольный пунктуационный токен, указывающий на знак пунктуации и следующий за контрольным текстовым токеном;- obtaining a data set for punctuation training, comprising first input data including audio data and text data representing the speech of a speaker, and a first label including a sequence of control tokens containing a control text token indicating a word and a control punctuation token indicating a punctuation mark and following the control text token; - обучение модели, с использованием набора данных для обучения пунктуации, формированию рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования обученной пунктуации модели;- training the model, using the punctuation training dataset, to generate a working sequence of tokens based on a combination of working audio data and working text data in order to generate a trained punctuation model; - получение набора данных для обучения смене диктора, содержащего вторые входные данные, включающие в себя вторые аудиоданные и вторые текстовые данные, представляющие речь нескольких дикторов, и вторую метку, включающую в себя вторую последовательность контрольных токенов, содержащую второй контрольный текстовый токен, указывающий на второе слово, второй контрольный пунктуационный токен, указывающий на второй знак пунктуации, и контрольный токен смены диктора, указывающий на смену диктора и следующий за вторым контрольным пунктуационным токеном;- obtaining a data set for speaker change training, comprising second input data including second audio data and second text data representing speech of multiple speakers, and a second label including a second sequence of control tokens containing a second control text token indicating a second word, a second control punctuation token indicating a second punctuation mark, and a speaker change control token indicating a speaker change and following the second control punctuation token; - дообучение обученной пунктуации модели, с использованием набора данных для обучения смене диктора, формированию второй рабочей последовательности токенов на основе комбинации рабочих аудиоданных и рабочих текстовых данных с целью формирования модели смены диктора;- further training of the trained punctuation model, using the data set for training speaker change, forming a second working sequence of tokens based on a combination of working audio data and working text data in order to form a speaker change model; - получение рабочего набора данных, содержащего рабочие текстовые данные и рабочие аудиоданные;- obtaining a working data set containing working text data and working audio data; - формирование, с использованием модели смены диктора, второй рабочей последовательности токенов, содержащей рабочий текстовый токен, рабочий пунктуационный токен, следующий за рабочим текстовым токеном, и рабочий токен смены диктора, следующий за рабочим пунктуационным токеном, на основе комбинации рабочих аудиоданных и рабочих текстовых данных; и- generating, using the speaker change model, a second working token sequence comprising a working text token, a working punctuation token following the working text token, and a working speaker change token following the working punctuation token, based on a combination of working audio data and working text data; and - формирование синтезированного аудиоконтента на основе второй рабочей последовательности токенов.- formation of synthesized audio content based on the second working sequence of tokens. 11. Сервер по п. 10, в котором модель смены диктора содержит подмодель для аудиоданных, подмодель для текста и третью подмодель, а формирование второй рабочей последовательности токенов предусматривает:11. The server according to item 10, in which the speaker change model contains a submodel for audio data, a submodel for text and a third submodel, and the formation of the second working sequence of tokens provides for: - формирование, с использованием подмодели для аудиоданных, рабочей последовательности векторных представлений аудиоданных на основе рабочих аудиоданных;- formation, using a submodel for audio data, of a working sequence of vector representations of audio data based on working audio data; - формирование, с использованием подмодели для текста, рабочей последовательности векторных представлений текста на основе рабочих текстовых данных;- formation, using a submodel for text, of a working sequence of vector representations of text based on working text data; - формирование конкатенированных промежуточных выходных данных с использованием рабочей последовательности векторных представлений аудиоданных и рабочей последовательности векторных представлений текста; и- formation of concatenated intermediate output data using a working sequence of vector representations of audio data and a working sequence of vector representations of text; and - формирование, с использованием третьей подмодели, второй рабочей последовательности токенов с использованием конкатенированных промежуточных выходных данных.- formation, using the third submodel, of the second working sequence of tokens using concatenated intermediate output data. 12. Сервер по п. 11, в котором подмодель для аудиоданных представляет собой модель WavLM.12. The server of claim 11, wherein the submodel for audio data is the WavLM model. 13. Сервер по п. 11, в котором подмодель для текста представляет собой модель mT5.13. The server of claim 11, wherein the submodel for the text is the mT5 model. 14. Сервер по п. 11, в котором третья подмодель представляет собой модель трансформера.14. The server according to claim 11, wherein the third submodel is a transformer model. 15. Сервер по п. 10, в котором по меньшей мере один процессор дополнительно обеспечивает на сервере:15. The server according to item 10, wherein at least one processor additionally provides on the server: - формирование, с использованием модели преобразования речи в текст, текстовых данных на основе аудиоданных;- formation, using a speech-to-text conversion model, of text data based on audio data; - формирование, с использованием модели преобразования речи в текст, вторых текстовых данных на основе вторых аудиоданных; и- generating, using a speech-to-text conversion model, second text data based on the second audio data; and - формирование, с использованием модели преобразования речи в текст, рабочих текстовых данных на основе рабочих аудиоданных.- formation, using a speech-to-text conversion model, of working text data based on working audio data. 16. Сервер по п. 10, в котором контрольный пунктуационный токен следует непосредственно за контрольным текстовым токеном, контрольный токен смены диктора следует непосредственно за вторым контрольным пунктуационным токеном, рабочий пунктуационный токен следует непосредственно за рабочим текстовым токеном, а рабочий токен смены диктора следует непосредственно за рабочим пунктуационным токеном.16. The server of claim 10, wherein the control punctuation token immediately follows the control text token, the speaker change control token immediately follows the second control punctuation token, the working punctuation token immediately follows the working text token, and the speaker change working token immediately follows the working punctuation token.
RU2024114975A 2024-05-31 Methods and servers for training model to detect speaker change RU2841235C1 (en)

Publications (1)

Publication Number Publication Date
RU2841235C1 true RU2841235C1 (en) 2025-06-04

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150127594A1 (en) * 2013-11-04 2015-05-07 Google Inc. Transfer learning for deep neural network based hotword detection
US20160111112A1 (en) * 2014-10-17 2016-04-21 Fujitsu Limited Speaker change detection device and speaker change detection method
US20180039888A1 (en) * 2016-08-08 2018-02-08 Interactive Intelligence Group, Inc. System and method for speaker change detection
RU2704723C2 (en) * 2018-03-12 2019-10-30 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-Морского Флота "Военно-морская академия имени Адмирала флота Советского Союза Н.Г. Кузнецова" Automatic voice verification device
US20200168230A1 (en) * 2018-11-22 2020-05-28 Samsung Electronics Co., Ltd. Method and apparatus for processing voice data of speech

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150127594A1 (en) * 2013-11-04 2015-05-07 Google Inc. Transfer learning for deep neural network based hotword detection
US20160111112A1 (en) * 2014-10-17 2016-04-21 Fujitsu Limited Speaker change detection device and speaker change detection method
US20180039888A1 (en) * 2016-08-08 2018-02-08 Interactive Intelligence Group, Inc. System and method for speaker change detection
RU2704723C2 (en) * 2018-03-12 2019-10-30 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-Морского Флота "Военно-морская академия имени Адмирала флота Советского Союза Н.Г. Кузнецова" Automatic voice verification device
US20200168230A1 (en) * 2018-11-22 2020-05-28 Samsung Electronics Co., Ltd. Method and apparatus for processing voice data of speech

Similar Documents

Publication Publication Date Title
Tan et al. A survey on neural speech synthesis
JP7624470B2 (en) Video Translation Platform
US20220230628A1 (en) Generation of optimized spoken language understanding model through joint training with integrated knowledge-language module
US11798529B2 (en) Generation of optimized knowledge-based language model through knowledge graph multi-alignment
US12412050B2 (en) Multi-platform voice analysis and translation
US9552807B2 (en) Method, apparatus and system for regenerating voice intonation in automatically dubbed videos
US8447608B1 (en) Custom language models for audio content
US8386265B2 (en) Language translation with emotion metadata
US12243513B2 (en) Generation of optimized spoken language understanding model through joint training with integrated acoustic knowledge-speech module
US20170372693A1 (en) System and method for translating real-time speech using segmentation based on conjunction locations
EP4235485A1 (en) Method for converting text data into acoustic feature, electronic device, and storage medium
US20250349282A1 (en) Personalized and dynamic text to speech voice cloning using incompletely trained text to speech models
Cheng et al. Mixspeech: Cross-modality self-learning with audio-visual stream mixup for visual speech translation and recognition
KR20230156795A (en) Word segmentation regularization
US9905221B2 (en) Automatic generation of a database for speech recognition from video captions
WO2022159211A1 (en) Generation of optimized spoken language understanding model through joint training with integrated knowledge-language module
WO2022159198A1 (en) Generation of optimized knowledge-based language model through knowledge graph multi-alignment
RU2841235C1 (en) Methods and servers for training model to detect speaker change
US20250118336A1 (en) Automatic Dubbing: Methods and Apparatuses
Kumar et al. Autodubs: translating and dubbing videos
RU2832236C2 (en) Method and server for generating modified audio for video
Saz et al. Lightly supervised alignment of subtitles on multi-genre broadcasts
Savale et al. Multilingual Video Dubbing System
US12348836B2 (en) Method and a server for generating modified audio for a video
Swaminathan et al. Leveraging AI for Translating English-Captioned YouTube Videos into Regional Languages