WO2024053825A1 - 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법 - Google Patents

음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
WO2024053825A1
WO2024053825A1 PCT/KR2023/008335 KR2023008335W WO2024053825A1 WO 2024053825 A1 WO2024053825 A1 WO 2024053825A1 KR 2023008335 W KR2023008335 W KR 2023008335W WO 2024053825 A1 WO2024053825 A1 WO 2024053825A1
Authority
WO
WIPO (PCT)
Prior art keywords
loss value
recognition model
voice
learning
speech recognition
Prior art date
Application number
PCT/KR2023/008335
Other languages
English (en)
French (fr)
Inventor
김찬우
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/225,991 priority Critical patent/US20240078391A1/en
Publication of WO2024053825A1 publication Critical patent/WO2024053825A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Definitions

  • the present disclosure relates to an electronic device for learning a voice recognition model and a control method thereof, and more specifically, to an electronic device for learning a voice recognition model capable of efficiently recognizing End-Of-Sentence (EOS) and its control method. It's about control methods.
  • EOS End-Of-Sentence
  • voice recognition technology has been developed to recognize voices uttered by users.
  • EOS End-Of-Sentence
  • NLU Natural Language Understanding
  • MT Machine
  • a conventional method of detecting EOS is to detect EOS using a signal processing-based VAD (Voice Activity Detection) algorithm.
  • VAD Voice Activity Detection
  • the accuracy of EOS detection is low because it uses only voice signals and does not use the contents of the sentences.
  • it must have a fairly long buffer to reduce the probability of false EOS detection. In this case, the length of the buffer is hundreds of milliseconds, which causes the problem of long delays for voice recognition.
  • Another conventional method is to detect EOS by training a voice recognition model using training voices including EOS labels.
  • the speech recognition model detects the EOS label immediately, so there is no long delay for speech recognition.
  • the voice recognition for the latter part of the sentence may be inaccurate because EOS is detected even though the sentence is not finished.
  • a method of controlling an electronic device includes obtaining a first loss value by inputting a first learning voice sequence including an end-of-sentence (EOS) label into the voice recognition model; and learning the speech recognition model based on the first loss value, wherein the speech recognition model includes an encoder, and the first loss value is obtained at an output terminal of the encoder.
  • EOS end-of-sentence
  • the control method of the electronic device further includes obtaining a second loss value by inputting a second learning voice sequence that does not include an EOS label into the voice recognition model, wherein the learning step includes the first learning voice sequence.
  • the speech recognition model is learned based on the loss value and the second loss value, and the speech recognition model further includes a decoder, and the second loss value can be obtained at an output terminal of the decoder.
  • Information about the voice sequence at time T output from the encoder and information about the text sequence corresponding to the voice sequence at time T-1 output from the decoder may be input to the decoder.
  • the first loss value may be a CTC (connectionist temporal classification) loss value.
  • the speech recognition model includes a Recurrent Neural Network-Transducer (RNN-T) model, the second loss value is a transducer loss value, and the learning step is Equation
  • RNN-T Recurrent Neural Network-Transducer
  • the speech recognition model is learned to reduce the final loss value obtained by, where L is the final loss value, LCTC is the CTC loss value, and LRNN-T may be the transducer loss value.
  • the speech recognition model includes an attention-based encoder-decoder (AED) model, the second loss value is a CE loss value (cross-entropy loss), and the learning step is Equation
  • AED attention-based encoder-decoder
  • CE loss value cross-entropy loss
  • the speech recognition model is learned so that the final loss value obtained by is reduced, where L is the final loss value, LCTC may be the CTC loss value, and LCE may be the CE loss value.
  • the first learning voice sequence and the second learning voice sequence may be obtained by the same learning voice.
  • the control method of the electronic device includes: when a first voice sequence including an EOS label is input to the learned voice recognition model, obtaining a second voice sequence by changing the EOS label to a preset first symbol; obtaining a text sequence by inputting the second voice sequence into the learned voice recognition model; When the EOS label is detected in the obtained text sequence, determining whether a token including a preset second symbol is output during a threshold time; When a token including the second symbol is output during the critical time, recognizing the detected EOS label and outputting the obtained text sequence may include.
  • the control method of the electronic device may include ignoring the detected EOS label when a token including a text symbol is output during the threshold time.
  • an electronic device includes a memory that stores data about a voice recognition model; and configured to access the speech recognition model, wherein a first learning speech sequence including an End-of-sentence (EOS) label is input to the speech recognition model to obtain a first loss value, and and at least one processor that trains the speech recognition model based on the speech recognition model.
  • the speech recognition model includes an encoder, and the first loss value is obtained at an output of the encoder.
  • the at least one processor acquires a second loss value by inputting a second learning speech sequence not including an EOS label into the speech recognition model, and generates the speech based on the first loss value and the second loss value.
  • a recognition model is trained, and the speech recognition model further includes a decoder, and the second loss value can be obtained at the output of the decoder.
  • Information about the voice sequence at time T output from the encoder and information about the text sequence corresponding to the voice sequence at time T-1 output from the decoder may be input to the decoder.
  • the first loss value may be a CTC (connectionist temporal classification) loss value.
  • the speech recognition model includes a Recurrent Neural Network-Transducer (RNN-T) model, the second loss value is a transducer loss value, and the at least one processor uses Equation
  • the speech recognition model is trained to reduce the final loss value obtained by, where L is the final loss value, LCTC is the CTC loss value, and LRNN-T may be the transducer loss value.
  • the speech recognition model includes an attention-based encoder-decoder (AED) model, the second loss value is a CE loss value (cross-entropy loss), and the at least one processor uses Equation
  • AED attention-based encoder-decoder
  • CE loss value cross-entropy loss
  • the speech recognition model is trained to reduce the final loss value obtained by , where L may be the final loss value, LCTC may be the CTC loss value, and LCE may be the CE loss value.
  • FIG. 1 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 2 is a diagram briefly explaining a voice recognition model according to an embodiment of the present disclosure
  • 3 and 4 are diagrams for explaining a method of training an RNN-T model according to an embodiment of the present disclosure
  • 5 and 6 are diagrams for explaining a method of learning an AED model according to an embodiment of the present disclosure
  • FIG. 7 is a flowchart illustrating a control method of an electronic device for learning a voice recognition model according to an embodiment of the present disclosure.
  • FIG. 8 is a flowchart illustrating a method of performing voice recognition by inserting a preset symbol instead of an EOS label into a learned voice recognition model, according to an embodiment of the present disclosure.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
  • expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” includes (1) at least one A, (2) at least one B, or (3) it may refer to all cases including both at least one A and at least one B.
  • a component e.g., a first component
  • another component e.g., a second component
  • any component may be directly connected to the other component or may be connected through another component (e.g., a third component).
  • a component e.g., a first component
  • another component e.g., a second component
  • no other component e.g., a third component
  • the expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ,” can be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
  • the term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware.
  • the expression “a device configured to” may mean that the device is “capable of” working with other devices or components.
  • the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored on a memory device.
  • a 'module' or 'unit' performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented with at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
  • FIG. 1 is a block diagram briefly illustrating the configuration of an electronic device 100 according to an embodiment of the present disclosure.
  • the 'electronic device 100' refers to a device that can input a voice sequence corresponding to a user's voice and learn a voice recognition model that can obtain a text sequence corresponding to the voice sequence.
  • the electronic device 100 may be a device such as a server, or may be a user terminal such as a smartphone or tablet PC.
  • the electronic device 100 may include a memory 110 and at least one processor 120.
  • the configuration shown in FIG. 1 is only an example, and other configurations may be added depending on the type of the electronic device 100.
  • the electronic device 100 may further include a communication interface for acquiring learning data (e.g., a learning voice sequence, a learning voice signal, etc.), and the electronic device 100 may be configured as a server.
  • learning data e.g., a learning voice sequence, a learning voice signal, etc.
  • the electronic device 100 may be configured as a server.
  • a communication interface and an input interface for example, a microphone
  • At least one instruction for controlling the electronic device 100 may be stored in the memory 110 .
  • an operating system (O/S) for driving the electronic device 100 may be stored in the memory 110 .
  • the memory 110 may store various software programs or applications for operating the electronic device 100 according to various embodiments of the present disclosure.
  • the memory 110 may include a semiconductor memory such as flash memory or a magnetic storage medium such as a hard disk.
  • the memory 110 may store various software modules for operating the electronic device 100 according to various embodiments of the present disclosure, and at least one processor 120 may store various software modules stored in the memory 110.
  • the operation of the electronic device 100 can be controlled by executing the module. That is, the memory 110 is accessed by at least one processor 120, and data read/write/modify/delete/update, etc. can be performed by the processor 130.
  • memory 110 includes memory 110, ROM, RAM within the processor 120, or a memory card (e.g., micro SD card, memory stick) mounted on the electronic device 100. It can be used to mean:
  • data about a voice recognition model may be stored in the memory 110.
  • the data for the voice recognition model may include information on weights, various parameters and nodes that make up the neural network included in the voice recognition model, and may include training data for training the voice recognition model, and information on the voice recognition model. It may also include input/output data for modules, input/output data of modules included in the voice recognition model, etc.
  • the memory 110 may store information about a voice signal and voice sequence corresponding to the user's voice, and information about a text sequence corresponding to the voice sequence.
  • various information necessary within the scope of achieving the purpose of the present disclosure may be stored in the memory 110, and the information stored in the memory 110 may be updated as it is received from an external device or input by the user. .
  • At least one processor 120 controls the overall operation of the electronic device 100. Specifically, at least one processor 120 is connected to the configuration of the electronic device 100 including the memory 110, and executes at least one instruction stored in the memory 120 as described above, thereby controlling the electronic device ( 100) operations can be controlled overall.
  • At least one processor 120 may input a voice sequence corresponding to a user's voice and train a voice recognition model capable of obtaining a text sequence corresponding to the voice sequence.
  • the at least one processor 120 obtains a first loss value by inputting a first learning speech sequence including an End-of-sentence (EOS) label to the speech recognition model.
  • EOS End-of-sentence
  • at least one processor 120 may train a speech recognition model based on the first loss value.
  • the first loss value may be a loss value obtained at the output of the encoder included in the speech recognition model.
  • 'voice recognition model' refers to a neural network model learned to recognize the user's voice and obtain text data corresponding to the user's voice.
  • the speech recognition model according to the present disclosure can be configured to perform speech recognition for a preset language.
  • the speech recognition model may be referred to as an automatic speech recognition (ASR) model.
  • ASR automatic speech recognition
  • the speech recognition model is an end-to-end speech recognition model that directly predicts a text sequence (e.g., phoneme sequence, word sequence, etc.) corresponding to an input speech sequence. It could be a model.
  • the term 'voice sequence' is used to specify a set of voice signals received sequentially when the user's voice through the user's utterance is sequentially received in the form of a voice signal through an input means (e.g., microphone). It is used as a term.
  • the voice sequence may be a signal that has undergone voice preprocessing (e.g., noise removal, time-frequency conversion, etc.).
  • FIG. 2 is a diagram briefly explaining a voice recognition model according to an embodiment of the present disclosure.
  • the speech recognition model includes an encoder 210 for acquiring information (e.g., hidden vector) corresponding to the speech sequence and based on the information corresponding to the speech sequence. It may be a sequence-to-sequence model including a decoder 220 for obtaining a text sequence.
  • the speech recognition model includes information about the speech sequence at time T output from the encoder 210 and information about the text sequence corresponding to the speech sequence at time T-1 output from the decoder 220. It may be an input recurrent voice recognition model.
  • the speech recognition model may be implemented as a recurrent neural network-transducer (RNN-T) model or an attention-based encoder-decoder (AED) model, but this is only an example, and other recursive speech recognition It can be implemented as a model.
  • the encoder 210 may be learned based on learning data consisting of a preset language (e.g., English or Korean, etc.), and information corresponding to the input voice sequence (e.g., hidden vector corresponding to the voice sequence). It can be learned to output .
  • the encoder 210 may include a plurality of layers for obtaining hidden vectors corresponding to the voice sequence.
  • the layer may be implemented with LSTM (Long Short-Term Memory), but this is only an example and may be implemented with GRU (Gated Recurrent Units), Conformer, CNN (Convolutional Neural Network), Transformer, etc.
  • the decoder 220 generates a voice sequence corresponding to the current time based on the information obtained from the encoder 210 at time T (or the current time) and the information obtained from the decoder 220 at time T-1 (the previous time). A text sequence can be output.
  • the decoder 220 may include various types of modules depending on the type of voice recognition. This will be explained with reference to FIGS. 3 to 6.
  • the learning data is composed of sentences.
  • the learning data may include not only the learning voice sequence but also an EOS label (eg, ⁇ /S>).
  • EOS label eg, ⁇ /S>
  • no other words appear after the EOS label you can train multiple sentences in succession, but in this case, a lot of memory is needed to train voice recognition and the batch size is small, so there is a problem that it takes a lot of training time. Therefore, since the speech recognition model was not learned using training data in which words appear after the EOS label, when words appear after the EOS label during inference, a problem occurs in which speech recognition performance is greatly reduced.
  • At least one processor 120 obtains a first loss value by inputting a first learning speech sequence including an end-of-sentence (EOS) label to a speech recognition model.
  • the first loss value is a loss value obtained at the output of the encoder 210 included in the speech recognition model, and may be a connectionist temporal classification (CTC) loss value.
  • the CTC loss value may be a loss value used in a learning method of a speech recognition model that can obtain a text sequence by inputting a speech sequence without explicit alignment information between the input speech sequence and the text sequence.
  • at least one processor 120 may train a speech recognition model based on the first loss value.
  • the at least one processor 120 inputs a first learning speech sequence including an end-of-sentence (EOS) label to the speech recognition model to obtain a first loss value, and applies the EOS label to the speech recognition model.
  • the second loss value can be obtained by inputting a second learning voice sequence that does not include.
  • the second loss value may be a loss value obtained at the output of the decoder 220 included in the speech recognition model.
  • the second loss value may be different depending on the type of speech recognition model.
  • the second loss value may be the transducer loss value
  • the second loss value may be the CE loss value (cross-entropy loss).
  • the first learning voice sequence and the second learning voice sequence may be obtained by the same learning voice.
  • At least one processor 120 may learn a voice recognition model based on the first loss value and the second loss value. Specifically, when the speech recognition model is a Recurrent Neural Network-Transducer (RNN-T) model, at least one processor 120 trains the speech recognition model to reduce the final loss value obtained by Equation 1 below. You can.
  • RNN-T Recurrent Neural Network-Transducer
  • Equation 1 L is the final loss value, L CTC is the CTC loss value, and L RNN-T is the transducer loss value.
  • At least one processor 120 may train the voice recognition model to reduce the final loss value obtained by Equation 2 below.
  • Equation 2 L is the final loss value, L CTC is the CTC loss value, and L CE is the CE loss value.
  • Figures 3 and 4 are diagrams for explaining a method of training an RNN-T model according to an embodiment of the present disclosure.
  • the RNN-T model 300 includes an encoder 210 and a decoder 220, where the decoder 220 includes a prediction module 310, a joint module 320, and a softmax It may include a module 330.
  • the encoder 210 may include a plurality of layers.
  • the encoder 210 can obtain a hidden vector corresponding to a voice sequence input through a plurality of layers.
  • the plurality of layers included in the encoder 210 may be implemented with LSTM (Long Short-Term Memory) and max-pool, as shown in FIG. 4, but this is only one embodiment, and the encoder is GRU It can be implemented with (Gated Recurrent Units), Conformer, CNN (Convolutional Neural Network), Transformer, etc.
  • the encoder 210 may further include a softmax module for obtaining a CTC loss value (LCTC) at the output end. Therefore, when learning a voice recognition model, the electronic device 100 may input a learning voice sequence including an EOS label and obtain a CTC loss value (LCTC) at the output of the encoder 210.
  • LCTC CTC loss value
  • the prediction module 310 of the decoder 220 may include at least one layer, and may convert the text sequence at time t-1 (or a previous time point) into a hidden vector and output it. For example, when the voice sequence at time t (or the current time) is converted and output by the encoder 210 into a first hidden vector, the prediction module 340 converts the text sequence at time t-1 into the second hidden vector. It can be converted and output. here.
  • the terms 'first hidden vector' and 'second hidden vector' are used to distinguish and specify the hidden vector output through the encoder 210 and the hidden vector output through the prediction module 310.
  • the term prediction module 310 may be replaced with the term 'prediction network module'.
  • the prediction module 310 may include at least one layer. At least one layer may be implemented as LSTM, as shown in FIG. 4, but is not limited thereto.
  • the joint module 320 of the decoder 220 calculates a logit ( logit) vector can be output. For example, when the first hidden vector is output through the encoder 210 and the second hidden vector is output through the prediction module 310, the joint module 320 calculates the output based on the first hidden vector and the second hidden vector. A logit vector corresponding to the voice sequence at time t can be output.
  • the term joint module 320 may be replaced with the term ‘joint network module.’
  • the softmax module 330 of the decoder 220 may output a text sequence corresponding to the voice sequence at time t based on the input logit vector. Specifically, the softmax module 330 normalizes the input logit vector to a value between 0 and 1 to identify a class corresponding to the voice sequence at the current time among a plurality of classes, and according to the identification result, a class corresponding to the voice sequence. A text sequence can be output.
  • the electronic device 100 may input a learning voice sequence that does not include an EOS label and obtain the transducer loss value (L RNN_T ) at the output of the decoder 220.
  • the electronic device 100 can obtain the final loss value based on the CTC loss value obtained at the output terminal of the encoder 210 and the transducer loss value obtained at the output terminal of the decoder 220. there is. As an example, the electronic device 100 may train a voice recognition model to reduce the final loss value obtained by Equation 1. As another example, the electronic device 100 may train a voice recognition model to reduce the final loss value obtained by Equation 3 below.
  • Equation 3 L is the final loss value, L CTC is the CTC loss value, L RNN-T is the transducer loss value, and ⁇ may be a parameter between 0 and 1.
  • Figures 5 and 6 are diagrams for explaining a method of learning an AED model according to an embodiment of the present disclosure.
  • the AED model includes an encoder 210, an attention module 510, and a decoder 220, and the decoder 220 includes a decoding module 520 and a softmax module 530. You can.
  • the encoder 210 may obtain a hidden vector corresponding to a voice sequence input through a plurality of layers.
  • the plurality of layers included in the encoder 210 may be implemented with LSTM (Long Short-Term Memory) and Max-pool, as shown in FIG. 6, but this is only an embodiment, and the encoder 210 ) can be implemented with different types of layers.
  • the encoder 210 may further include a softmax module for obtaining the CTC loss value (L CTC ) at the output terminal. Therefore, when learning a voice recognition model, the electronic device 100 may input a learning voice sequence including an EOS label and obtain the CTC loss value (L CTC ) at the output terminal of the encoder 210.
  • the attention module 510 generates attention information (e.g., convex vector) based on the hidden vector at time t obtained through the encoder 210 and the hidden vector at time t-1 by the decoding module 520. It can be obtained. And, the attention module 510 may output attention information to the decoding module 520.
  • attention information e.g., convex vector
  • the decoding module 520 may output a logit vector corresponding to the speech sequence at time t based on the attention information acquired at time t and the hidden vector acquired at time t-1.
  • the softmax module 530 can output a text sequence corresponding to the voice sequence at time t based on the input logit vector. Specifically, the softmax module 395 normalizes the input logit vector to a value between 0 and 1 to identify a class corresponding to the voice sequence at the current time among a plurality of classes, and according to the identification result, a class corresponding to the voice sequence. A text sequence can be output.
  • the electronic device 100 may input a learning voice sequence that does not include an EOS label and obtain the CE loss value (L CE ) at the output of the decoder 220.
  • the electronic device 100 may obtain a final loss value based on the CTC loss value obtained at the output terminal of the encoder 210 and the CE loss value obtained at the output terminal of the decoder 220. .
  • the electronic device 100 may train a voice recognition model to reduce the final loss value obtained by Equation 2.
  • the electronic device 100 may train a voice recognition model to reduce the final loss value obtained by Equation 4 below.
  • Equation 4 L is the final loss value, L CTC is the CTC loss value, L CE is the CE loss value, and ⁇ may be a parameter between 0 and 1.
  • the technical idea of the present disclosure was explained as being applied to a voice recognition model that outputs the user's voice as text, but this is only an example, and the user's voice in the first language is translated into the second language.
  • the technical idea of the present invention can also be applied to the Speech-to-Translated Text model, which converts and outputs a user's voice in a first language into a voice in a second language, and a Speech-to-Speech translation model that converts and outputs a user's voice in a first language into a voice in a second language.
  • a Speech-to-Translated Text model or a Speech-to-Speech translation model may be learned based on the second loss value obtained by inputting second training data that does not include the EOS symbol into the translation model.
  • the first loss value can be obtained at the output of the encoder of the Speech-to-Translated Text model or Speech-to-Speech translation model
  • the second loss value can be obtained from the Speech-to-Translated Text model or Speech-to-Speech translation model. It can be obtained at the output of the decoder of the translation model.
  • FIG. 7 is a flowchart illustrating a method of controlling an electronic device for learning a voice recognition model, according to an embodiment of the present disclosure.
  • the speech recognition model may be a cyclic speech recognition model in which information about the speech sequence at time T output from the encoder and information about the text sequence corresponding to the speech sequence at time T-1 output from the decoder are input to the decoder. there is.
  • the electronic device 100 obtains a first loss value by inputting the first learning voice sequence including the EOS label into the voice recognition model (S710).
  • the first loss value is a loss value obtained at the output terminal of the encoder included in the speech recognition model and may be a CTC loss value.
  • the electronic device 100 may obtain a second loss value by inputting a second learning voice sequence that does not include an EOS label into the voice recognition model (S720).
  • the second loss value may be a loss value obtained at the output of the decoder included in the speech recognition model.
  • the speech recognition model is an RNN-T model
  • the second loss value may be a transducer loss value
  • the speech recognition model is an AED model
  • the second loss value may be a CE loss value.
  • the electronic device 100 may learn a voice recognition model based on the first loss value and the second loss value (S730). Specifically, when the speech recognition model is an RNN-T model, the electronic device 100 can obtain the final loss value based on the CTC loss value obtained at the output terminal of the encoder and the transducer loss value obtained at the output terminal of the decoder. there is. And, the electronic device 100 can train the RNN-T model so that the obtained final loss value is reduced. When the voice recognition model is an AED model, the electronic device 100 may obtain the final loss value based on the CTC loss value obtained at the output terminal of the encoder and the CE loss value obtained at the output terminal of the decoder. Additionally, the electronic device 100 may learn the AED model so that the obtained final loss value decreases.
  • a speech recognition model is based on the loss value obtained at the output end of the encoder through learning data containing the EOS label and the loss value obtained at the output end of the decoder through learning data not containing the EOS label.
  • EOS can be better detected by performing the following method even in inference operations rather than learning operations.
  • FIG. 8 is a flowchart illustrating a method of performing voice recognition by inserting a preset symbol instead of an EOS label into a learned voice recognition model, according to an embodiment of the present disclosure.
  • the electronic device 100 may receive a first voice sequence including an EOS label (S810).
  • the electronic device 100 may receive a first voice sequence including an EOS label (eg, ⁇ /S?>) at the end of the voice sequence.
  • the electronic device 100 may obtain a second voice sequence by changing the EOS label included in the first voice sequence to a preset first symbol (S820). That is, before inputting the first voice sequence to the encoder, the electronic device 100 replaces the EOS label included in the first voice sequence with a blank symbol (e.g., ⁇ b>) or a silent symbol (e.g., , ⁇ s>) to input the second voice sequence.
  • a blank symbol e.g., ⁇ b>
  • a silent symbol e.g., , ⁇ s>
  • the electronic device 100 may obtain a text sequence by inputting the second voice sequence into the learned voice recognition model (S830).
  • the electronic device 100 may obtain a text sequence by inputting the second voice sequence into the RNN-T model or AED model described in FIGS. 1 to 7.
  • the RNN-T model or the AED model is only an example, and of course, the second voice sequence can be input to another voice recognition model.
  • the electronic device 100 may detect EOS in the acquired text sequence (S840).
  • the electronic device 100 may determine whether a token including a preset second symbol is output during a threshold time (S850).
  • the preset second symbol is a blank symbol (e.g., ⁇ b>), a silent symbol (e.g., ⁇ s>), or a noise symbol (e.g., ⁇ NOISE>). It can be included. That is, if only the preset second symbol is output within a threshold time (eg, 0.5 seconds) after the EOS is detected, the electronic device 100 may determine that the detected EOS is the correct EOS.
  • the electronic device 100 may recognize the EOS and output the obtained text sequence (S860). Specifically, if it is recognized as an accurate EOS, the electronic device 100 stores information about the acquired text sequence in the next functional block (for example, a Natural Language Understanding (NLU) block for natural language understanding or a Machine Translation (MT) block for translation. ) can be output.
  • NLU Natural Language Understanding
  • MT Machine Translation
  • the electronic device 100 ignores the detected EOS and performs voice recognition again based on the voice sequence at the next time. You can.
  • Functions related to artificial intelligence according to the present disclosure are operated through the processor and memory of the electronic device 100.
  • the processor may consist of one or multiple processors.
  • one or more processors may include at least one of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), and a Neural Processing Unit (NPU), but are not limited to the examples of the processors described above.
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • NPU Neural Processing Unit
  • CPU is a general-purpose processor that can perform not only general calculations but also artificial intelligence calculations, and can efficiently execute complex programs through a multi-layer cache structure. CPUs are advantageous for serial processing, which allows organic connection between previous and next calculation results through sequential calculations.
  • the general-purpose processor is not limited to the above-described examples, except where specified as the above-described CPU.
  • GPU is a processor for large-scale operations such as floating-point operations used in graphics processing, and can perform large-scale operations in parallel by integrating a large number of cores.
  • GPUs may be more advantageous than CPUs in parallel processing methods such as convolution operations.
  • the GPU can be used as a co-processor to supplement the functions of the CPU.
  • the processor for mass computation is not limited to the above-described example, except for the case specified as the above-described GPU.
  • NPU is a processor specialized in artificial intelligence calculations using artificial neural networks, and each layer that makes up the artificial neural network can be implemented in hardware (e.g., silicon). At this time, the NPU is designed specifically according to the company's requirements, so it has a lower degree of freedom than a CPU or GPU, but can efficiently process artificial intelligence calculations requested by the company. Meanwhile, as a processor specialized for artificial intelligence calculations, NPU can be implemented in various forms such as TPU (Tensor Processing Unit), IPU (Intelligence Processing Unit), and VPU (Vision processing unit).
  • the artificial intelligence processor is not limited to the examples described above, except where specified as the NPU described above.
  • one or more processors may be implemented as a System on Chip (SoC).
  • SoC System on Chip
  • the SoC may further include memory and a network interface such as a bus for data communication between the processor and memory.
  • the electronic device uses some of the processors to perform artificial intelligence-related operations (e.g., learning of an artificial intelligence model). or operations related to inference) can be performed.
  • an electronic device can perform operations related to artificial intelligence using at least one of a plurality of processors, a GPU, NPU, VPU, TPU, or hardware accelerator specialized in artificial intelligence operations such as convolution operation, matrix multiplication operation, etc. there is.
  • this is only an example, and of course, calculations related to artificial intelligence can be processed using general-purpose processors such as CPUs.
  • electronic devices can perform calculations on functions related to artificial intelligence using multiple cores (eg, dual core, quad core, etc.) included in one processor.
  • electronic devices can perform artificial intelligence operations such as convolution operations and matrix multiplication operations in parallel using multi-cores included in the processor.
  • One or more processors control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory.
  • Predefined operation rules or artificial intelligence models are characterized by being created through learning.
  • being created through learning means that a predefined operation rule or artificial intelligence model with desired characteristics is created by applying a learning algorithm to a large number of learning data.
  • This learning may be performed on the device itself that performs the artificial intelligence according to the present disclosure, or may be performed through a separate server/system.
  • An artificial intelligence model may be composed of multiple neural network layers. At least one layer has at least one weight value, and the operation of the layer is performed using the operation result of the previous layer and at least one defined operation.
  • Examples of neural networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), and Deep Neural Network (BRDNN).
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Restricted Boltzmann Machine
  • BBM Restricted Boltzmann Machine
  • BBN Deep Belief Network
  • BBN Deep Belief Network
  • BBN Bidirectional Recurrent Deep Neural Network
  • BDN Deep Neural Network
  • BDN Deep Neural Network
  • a learning algorithm is a method of training a target device (eg, a robot) using a large number of learning data so that the target device can make decisions or make predictions on its own.
  • Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified. Except, it is not limited to the examples described above.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
  • a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
  • at least a portion of the computer program product e.g., a downloadable app
  • a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
  • Methods according to various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage media that can be read by a machine (e.g., a computer).
  • the device stores information stored from the storage medium.
  • a device capable of calling a command and operating according to the called command may include an electronic device (eg, a TV) according to the disclosed embodiments.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as .
  • a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
  • the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor.
  • Instructions may contain code generated or executed by a compiler or interpreter.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Machine Translation (AREA)

Abstract

음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법이 제공된다. 본 전자 장치의 제어 방법은, 음성 인식 모델에 EOS(End-of-sentence) 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득하는 단계 및 제1 손실값에 기초하여 음성 인식 모델을 학습하는 단계를 포함한다. 이때, 제1 손실값은 음성 인식 모델에 포함된 인코더의 출력단에서 획득되는 손실값이다.

Description

음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법
본 개시는 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 EOS(End-Of-Sentence)를 효율적으로 인식할 수 있는 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법에 관한 것이다.
근래에는 인공 지능 관련 기술의 발달에 따라, 사용자에 의해 발화된 음성을 인식하기 위한 음성 인식 기술이 발달하고 있다.
특히, 음성 인식 분야에 있어서, 전자 장치는 EOS(End-Of-Sentence)를 인식할 수 있어야 다음 동작의 기능 블록(예로, 자연어 이해를 위한 NLU (Natural Language Understanding) 블록이나 번역을 위한 MT (Machine Translation) 블록)으로 음성 인식 결과인 텍스트를 출력할 수 있다. 만약, EOS가 일찍 감지되면, 문장의 뒷부분에 대한 음성 인식이 부정확할 가능성이 높아지며, EOS가 늦게 감지되면, 음성 인식을 위한 지연(latency)이 길어지는 문제가 발생하게 된다. 즉, 정확한 음성 인식을 위하여 EOS를 정확하게 감지하는 것이 중요하다.
종래에 EOS를 감지하는 방법은 신호 처리 기반의 VAD(Voice Activity Detection) 알고리즘을 이용하여 EOS를 감지하는 방법이다. 다만, 음성 신호만을 이용하고 문장의 내용을 이용하지 않기 때문에 EOS 감지의 정확도가 낮은 문제점이 있다. 또한, 잘못된 EOS 감지의 확률을 줄이기 위하여 상당히 긴 버퍼를 가지고 있어야 한다. 이 경우, 버퍼의 길이가 수백 milliseconds 수준으로 음성 인식을 위한 지연이 길어지는 문제점이 발생한다.
종래의 또 다른 방법은 EOS 라벨을 포함하는 학습 음성을 이용하여 음성 인식 모델을 학습시켜 EOS를 감지하는 방법이다. 이 경우, 음성 인식 모델이 EOS 라벨을 바로 감지하므로 음성 인식을 위한 지연이 길지 않다. 다만, EOS 라벨을 감지하는 error rate가 존재하므로, 문장이 끝난 것이 아닌데 EOS가 감지되어 문장의 뒷부분에 대한 음성 인식이 부정확할 가능성이 존재한다.
본 개시의 일 실시예에 따른, 전자 장치의 제어 방법은, 상기 음성 인식 모델에 EOS(End-of-sentence) 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득하는 단계; 및 상기 제1 손실값에 기초하여 상기 음성 인식 모델을 학습하는 단계;를 포함하며, 상기 음성 인식 모델은 인코더를 포함하며, 상기 제1 손실값은 상기 인코더의 출력단에서 획득된다.
상기 전자 장치의 제어 방법은, 상기 음성 인식 모델에 EOS 라벨을 포함하지 않는 제2 학습 음성 시퀀스를 입력하여 제2 손실값을 획득하는 단계;를 더 포함하고, 상기 학습하는 단계는, 상기 제1 손실값 및 상기 제2 손실값에 기초하여 상기 음성 인식 모델을 학습하며, 상기 음성 인식 모델은 디코더를 더 포함하며, 상기 제2 손실값은 상기 디코더의 출력단에서 획득될 수 있다.
상기 인코더로부터 출력된 T 시점의 음성 시퀀스에 대한 정보 및 상기 디코더로부터 출력된 T-1 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스에 대한 정보가 상기 디코더에 입력될 수 있다.
상기 제1 손실값은 CTC(connectionist temporal classification) 손실 값일 수 있다.
상기 음성 인식 모델은 RNN-T(Recurrent Neural Network-Transducer) 모델을 포함하며, 상기 제2 손실값은 트랜스듀서 손실값(Transducer loss value)이며, 상기 학습하는 단계는, 수학식
Figure PCTKR2023008335-appb-img-000001
에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습하며, 여기서 L은 최종 손실값이고, LCTC는 CTC 손실값이고, LRNN-T는 트랜스듀서 손실값일 수 있다.
상기 음성 인식 모델은 AED(attention-based encoder-decoder) 모델을 포함하며, 상기 제2 손실값은 CE 손실값(cross-entropy loss)이며, 상기 학습하는 단계는, 수학식
Figure PCTKR2023008335-appb-img-000002
에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습하며, 여기서 L은 최종 손실값이고, LCTC는 CTC 손실값이고, LCE는 CE 손실값일 수 있다.
상기 제1 학습 음성 시퀀스 및 상기 제2 학습 음성 시퀀스는 동일한 학습 음성에 의해 획득될 수 있다.
상기 전자 장치의 제어 방법은, 상기 학습된 음성 인식 모델에 EOS 라벨을 포함하는 제1 음성 시퀀스가 입력되면, 상기 EOS 라벨을 기설정된 제1 심볼로 변경하여 제2 음성 시퀀스를 획득하는 단계; 상기 제2 음성 시퀀스를 상기 학습된 음성 인식 모델에 입력하여 텍스트 시퀀스를 획득하는 단계; 상기 획득된 텍스트 시퀀스에서 상기 EOS 라벨이 감지되면, 임계 시간 동안 기설정된 제2 심볼을 포함하는 토큰이 출력되는지 여부를 판단하는 단계; 상기 임계 시간동안 상기 제2 심볼을 포함하는 토큰이 출력되면, 상기 감지된 EOS 라벨을 인식하여 상기 획득된 텍스트 시퀀스를 출력하는 단계;를 포함할 수 있다.
상기 전자 장치의 제어 방법은, 상기 임계 시간동안 텍스트 심볼을 포함하는 토큰이 출력되면, 상기 감지된 EOS 라벨을 무시하는 단계;를 포함할 수 있다.
본 개시의 일 실시에 따른, 전자 장치는, 음성 인식 모델에 대한 데이터를 저장하는 메모리; 및 상기 음성 인식 모델에 액세스 하도록 구성되며, 상기 음성 인식 모델에 EOS(End-of-sentence) 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득하고, 상기 제1 손실값에 기초하여 상기 음성 인식 모델을 학습시키는 적어도 하나의 프로세서;를 포함하며, 상기 음성 인식 모델은 인코더를 포함하며, 상기 제1 손실값은 상기 인코더의 출력단에서 획득된다.
상기 적어도 하나의 프로세서는, 상기 음성 인식 모델에 EOS 라벨을 포함하지 않는 제2 학습 음성 시퀀스를 입력하여 제2 손실값을 획득하며, 상기 제1 손실값 및 상기 제2 손실값에 기초하여 상기 음성 인식 모델을 학습시키며, 상기 음성 인식 모델은 디코더를 더 포함하며, 상기 제2 손실값은 상기 디코더의 출력단에서 획득될 수 있다.
상기 인코더로부터 출력된 T 시점의 음성 시퀀스에 대한 정보 및 상기 디코더로부터 출력된 T-1 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스에 대한 정보가 상기 디코더에 입력될 수 있다.
상기 제1 손실값은 CTC(connectionist temporal classification) 손실 값일 수 있다.
상기 음성 인식 모델은 RNN-T(Recurrent Neural Network-Transducer) 모델을 포함하며,상기 제2 손실값은 트랜스듀서 손실값(Transducer loss)이며, 상기 적어도 하나의 프로세서는, 수학식
Figure PCTKR2023008335-appb-img-000003
에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습시키며, 여기서 L은 최종 손실값이고, LCTC는 CTC 손실값이고, LRNN-T는 트랜스듀서 손실값일 수 있다.
상기 음성 인식 모델은 AED(attention-based encoder-decoder) 모델을 포함하며, 상기 제2 손실값은 CE 손실값(cross-entropy loss)이며, 상기 적어도 하나의 프로세서는, 수학식
Figure PCTKR2023008335-appb-img-000004
에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습시키며, 여기서 L은 최종 손실값이고, LCTC는 CTC 손실값이고, LCE는 CE 손실값일 수 있다.
본 발명의 특정 실시예의 상기 및 다른 측면, 특징 및 이점은 첨부된 도면과 함께 취해진 다음의 설명으로부터 더욱 명백해질 수 있다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치의 구성을 도시한 블럭도이고,
도 2는 본 개시의 일 실시예에 따른, 음성 인식 모델을 간략하게 설명하기 위한 도면,
도 3 및 도 4는 본 개시의 일 실시예에 따른, RNN-T 모델을 학습시키는 방법을 설명하기 위한 도면들,
도 5 및 도 6은 본 개시의 일 실시예에 따른, AED 모델을 학습시키는 방법을 설명하기 위한 도면들,
도 7은 본 개시의 일 실시예에 따른, 음성 인식 모델을 학습시키기 위한 전자 장치의 제어 방법을 설명하기 위한 흐름도, 그리고,
도 8은 본 개시의 일 실시예에 따른, 학습된 음성 인식 모델에 EOS 라벨 대신 기설정된 심볼을 삽입하여 음성 인식을 수행하는 방법을 설명하기 위한 흐름도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 간략하게 나타내는 블록도이다. 본 개시에 따른 '전자 장치(100)'는 사용자 음성에 대응되는 음성 시퀀스를 입력하여 음성 시퀀스에 대응되는 텍스트 시퀀스를 획득할 수 있는 음성 인식 모델을 학습시킬 수 있는 장치를 말한다. 예를 들어, 전자 장치(100)는 서버와 같은 장치일 수 있으나, 스마트폰, 태블릿 PC 등과 같은 사용자 단말일 수 있다.
도 1 에 도시된 바와 같이, 본 개시의 일 실시예에 따른 전자 장치(100)는 메모리(110) 및 적어도 하나의 프로세서(120)를 포함할 수 있다. 다만, 도 1에 도시된 구성은 일 실시예에 불과할 뿐, 전자 장치(100)의 유형에 따라 다른 구성이 추가될 수 있음은 물론이다. 예를 들어, 전자 장치(100)가 서버로 구현된 경우, 학습 데이터(예로, 학습 음성 시퀀스, 학습 음성 신호 등)를 획득하기 위한 통신 인터페이스를 더 포함할 수 있으며, 전자 장치(100)가 사용자 단말로 구현될 경우, 학습 데이터를 획득하기 위한 통신 인터페이스, 입력 인터페이스(예로, 마이크) 등을 더 포함할 수 있음은 물론이다.
메모리(110)에는 전자 장치(100)를 제어하기 위한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 그리고, 메모리(110)에는 전자 장치(100)를 구동시키기 위한 O/S(Operating System)가 저장될 수 있다. 또한, 메모리(110)에는 본 개시의 다양한 실시 예들에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수도 있다. 그리고, 메모리(110)는 플래시 메모리(Flash Memory) 등과 같은 반도체 메모리나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
구체적으로, 메모리(110)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 모듈이 저장될 수 있으며, 적어도 하나의 프로세서(120)는 메모리(110)에 저장된 각종 소프트웨어 모듈을 실행하여 전자 장치(100)의 동작을 제어할 수 있다. 즉, 메모리(110)는 적어도 하나의 프로세서(120)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
한편, 본 개시에서 메모리(110)라는 용어는 메모리(110), 프로세서(120) 내 롬, 램 또는 전자 장치(100)에 장착되는 메모리 카드 (예를 들어, micro SD 카드, 메모리 스틱)를 포함하는 의미로 사용될 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 메모리(110)에는 음성 인식 모델에 대한 데이터가 저장될 수 있다. 여기서, 음성 인식 모델에 대한 데이터라 함은 음성 인식 모델에 포함되는 신경망을 구성하는 가중치, 각종 파라미터 및 노드 등에 대한 정보를 포함할 수 있으며, 음성 인식 모델을 학습시키기 위한 학습 데이터, 음성 인식 모델에 대한 입출력 데이터, 음성 인식 모델에 포함된 모듈들의 입출력 데이터 등을 포함할 수도 있다. 또한, 메모리(110)에는 사용자 음성에 대응되는 음성 신호와 음성 시퀀스에 대한 정보 및 음성 시퀀스에 대응되는 텍스트 시퀀스에 대한 정보가 저장될 수 있다.
그 밖에도 본 개시의 목적을 달성하기 위한 범위 내에서 필요한 다양한 정보가 메모리(110)에 저장될 수 있으며, 메모리(110)에 저장된 정보는 외부 장치로부터 수신되거나 사용자에 의해 입력됨에 따라 갱신될 수도 있다.
적어도 하나의 프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 적어도 하나의 프로세서(120)는 메모리(110)를 포함하는 전자 장치(100)의 구성과 연결되며, 상술한 바와 같은 메모리(120)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 전자 장치(100)의 동작을 전반적으로 제어할 수 있다.
적어도 하나의 프로세서(120)는 사용자 음성에 대응되는 음성 시퀀스를 입력하여 음성 시퀀스에 대응되는 텍스트 시퀀스를 획득할 수 있는 음성 인식 모델을 학습시킬 수 있다. 특히, 본 개시의 일 실시예에 있어서, 적어도 하나의 프로세서(120)는 음성 인식 모델에 EOS(End-of-sentence) 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득한다. 그리고, 적어도 하나의 프로세서(120)는 제1 손실값에 기초하여 음성 인식 모델을 학습시킬 수 있다. 이때, 제1 손실값은 음성 인식 모델에 포함된 인코더의 출력단에서 획득되는 손실값일 수 있다.
여기서, '음성 인식 모델'은 사용자 음성을 인식하여 사용자 음성에 대응되는 텍스트 데이터를 획득하도록 학습된 신경망 모델을 말한다. 특히, 본 개시에 따른 음성 인식 모델은 기설정된 언어에 대한 음성 인식을 수행할 수 있도록 구성될 수 있다. 음성 인식 모델은 ASR(automatic speech recognition) 모델이라고 지칭될 수 있다. 특히, 본 개시의 일 실시예에 따른, 음성 인식 모델은 입력된 음성 시퀀스에 대응되는 텍스트 시퀀스(예: 음소 시퀀스, 단어 시퀀스 등)를 직접적으로 예측하는 종단간(end-to-end) 음성 인식 모델일 수 있다.
여기서, '음성 시퀀스'라는 용어는 사용자의 발화에 의한 사용자 음성이 입력 수단(예로, 마이크)를 통해 음성 신호의 형태로 순차적으로 수신되는 경우, 그 순차적으로 수신되는 음성 신호의 집합을 특정하기 위한 용어로 사용된다. 이때, 음성 시퀀스는 음성 전처리(예를 들어, 노이즈 제거, 시간-주파수 변환 등)가 된 신호일 수 있다.
도 2는 본 개시의 일 실시예에 따른, 음성 인식 모델을 간략하게 설명하기 위한 도면이다. 구체적으로, 본 개시의 일 실시예에 따른, 음성 인식 모델은 음성 시퀀스에 대응되는 정보(예로, 히든 벡터(hidden vector))를 획득하기 위한 인코더(210) 및 음성 시퀀스에 대응되는 정보에 기초하여 텍스트 시퀀스를 획득하기 위한 디코더(220)를 포함하는 시퀀스 투 시퀀스(sequence-to-sequence) 모델일 수 있다.
특히, 음성 인식 모델은 인코더(210)로부터 출력된 T 시점의 음성 시퀀스에 대한 정보 및 디코더(220)로부터 출력된 T-1 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스에 대한 정보가 디코더(220)에 입력되는 순환형(recurrent) 음성 인식 모델일 수 있다. 예를 들어, 음성 인식 모델은 RNN-T(recurrent neural network-Transducer) 모델 또는 AED(attention-based encoder-decoder) 모델 등으로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 순환형 음성 인식 모델로 구현될 수 있다.
구체적으로, 인코더(210)는 기설정된 언어(예로, 영어 또는 한국어 등)로 이루어진 학습 데이터에 기초하여 학습될 수 있으며, 입력되는 음성 시퀀스에 대응되는 정보(예로, 음성 시퀀스에 대응되는 히든 벡터)를 출력하도록 학습될 수 있다. 이때, 인코더(210)에는 음성 시퀀스에 대응되는 히든 벡터를 획득하기 위한 복수의 레이어를 포함할 수 있다. 이때, 레이어는 LSTM(Long Short-Term Memory)으로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, GRU(Gated Recurrent Units), Conformer, CNN(Convolutional Neural Network), Transformer등으로 구현될 수 있다.
디코더(220)는 T 시점(또는 현재 시점)에서 인코더(210)로부터 획득된 정보 및 T-1 시점(이전 시점)에서 디코더(220)로부터 획득된 정보에 기초하여 현재 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. 이때, 디코더(220)는 음성 인식의 유형에 따라 다양한 유형의 모듈을 포함할 수 있다. 이에 대해서는 도 3 내지 도 6을 참조하여 설명하기로 한다.
한편, 음성 인식 모델을 학습할 때, 학습 데이터는 문장 단위로 구성되어 있다. 이때, 학습 데이터에는 학습 음성 시퀀스 뿐만 아니라 EOS 라벨(예로, </S>)이 포함될 수 있다. 다만, 종래의 학습 데이터베이스에는 EOS 라벨이 나온 뒤에 다른 단어가 나오는 경우가 없다. 물론, 복수의 문장을 이어서 훈련할 수 있지만, 이 경우에는 음성 인식을 훈련하기 위하여 메모리가 많이 필요하고 batch size가 작아지는 문제가 존재하므로, 훈련 시간이 많이 걸리는 문제점이 있다. 따라서, 음성 인식 모델은 EOS 라벨 뒤에 단어가 나오는 훈련 데이터를 이용하여 학습되지 않았기 때문에 추론(inference) 동작에서 EOS 라벨 뒤에 단어가 나오는 경우, 음성 인식 성능이 매우 저하되는 문제가 발생하게 된다.
특히, RNN-T 모델이나 AED 모델과 같이, 디코더(220)에서 출력된 이전 시점의 텍스트 시퀀스에 대한 정보가 현재 시점의 텍스트 시퀀스를 구하기 위하여 다시 디코더(220)에 다시 입력되는 경우, 이전 시점의 EOS 라벨을 포함하는 정보가 다시 디코더에 입력되는 문제점이 발생한다. 이 경우, 음성 인식의 성능이 저하되는 문제가 발생한다.
본 개시의 일 실시예에 따르면, 적어도 하나의 프로세서(120)는 음성 인식 모델에 EOS(End-of-sentence) 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득한다. 이때, 제1 손실값은 음성 인식 모델에 포함된 인코더(210)의 출력단에서 획득되는 손실값으로서, CTC(connectionist temporal classification) 손실 값일 수 있다. 이때, CTC 손실값은 입력 음성 시퀀스와 텍스트 시퀀스 간에 명시적인 얼라인먼트(alignment) 정보 없이도 음성 시퀀스를 입력하여 텍스트 시퀀스를 획득할 수 있는 음성 인식 모델의 학습 방법에 이용되는 손실값일 수 있다. 그리고, 적어도 하나의 프로세서(120)는 제1 손실값에 기초하여 음성 인식 모델을 학습시킬 수 있다.
더욱 구체적으로, 적어도 하나의 프로세서(120)는 음성 인식 모델에 EOS(End-of-sentence) 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득하고, 음성 인식 모델에 EOS 라벨을 포함하지 않는 제2 학습 음성 시퀀스를 입력하여 제2 손실값을 획득할 수 있다. 제2 손실값은 음성 인식 모델에 포함된 디코더(220)의 출력단에서 획득되는 손실값일 수 있다. 여기서, 제2 손실값은 음성 인식 모델의 유형에 따라 상이할 수 있다. 예로, RNN-T 모델의 경우, 제2 손실값은트랜스듀서 손실값(Transducer loss)일 수 있으며, AED 모델의 경우, 제2 손실값은 CE 손실값(cross-entropy loss)일 수 있다. 그리고, 제1 학습 음성 시퀀스 및 제2 학습 음성 시퀀스는 동일한 학습 음성에 의해 획득될 수 있다.
그리고, 적어도 하나의 프로세서(120)는 제1 손실값 및 제2 손실값에 기초하여 음성 인식 모델을 학습할 수 있다. 구체적으로, 음성 인식 모델이 RNN-T(Recurrent Neural Network-Transducer) 모델인 경우, 적어도 하나의 프로세서(120)는 아래의 수학식 1에 의해 획득된 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다.
Figure PCTKR2023008335-appb-img-000005
수학식 1에서, L은 최종 손실값이고, LCTC는 CTC 손실값이고, LRNN-T는 트랜스듀서 손실값이다.
또는, 음성 인식 모델이 AED 모델인 경우, 적어도 하나의 프로세서(120)는 아래의 수학식2에 의해 획득된 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다.
Figure PCTKR2023008335-appb-img-000006
수학식 2에서, L은 최종 손실값이고, LCTC는 CTC 손실값이고, LCE는 CE 손실값이다.
상술한 바와 같이, 순환형 음성 인식 모델을 학습할 때, EOS 라벨을 포함하는 학습 데이터를 음성 인식 모델에 입력하여 인코더(210)의 출력단에서 획득되는 손실값에 기초하여 음성 인식 모델을 학습함으로써, 디코더(220)에 EOS 라벨을 포함하는 정보가 입력되지 않게 되므로, 음성 인식 모델의 성능이 향상될 수 있게 된다.
이하에서는 도 3 내지 도 6을 참조하여 본 개시의 다양한 실시예에 따른, 음성 인식 모델의 학습 방법에 대해 설명하기로 한다.
도 3 및 도 4는 본 개시의 일 실시예에 따른, RNN-T 모델을 학습시키는 방법을 설명하기 위한 도면들이다.
RNN-T 모델(300)은 도 3에 도시된 바와 같이, 인코더(210) 및 디코더(220)를 포함하며, 이때, 디코더(220)는 예측 모듈(310), 조인트 모듈(320)과 소프트맥스 모듈(330)을 포함할 수 있다.
인코더(210)는 도 4에 도시된 바와 같이, 복수의 레이어를 포함할 수 있다. 특히, 인코더(210)는 복수의 레이어를 통해 입력된 음성 시퀀스에 대응되는 히든 벡터를 획득할 수 있다. 이때, 인코더(210)에 포함된 복수의 레이어는 도 4에 도시된 바와 같이, LSTM(Long Short-Term Memory) 및 max-pool로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 인코더는 GRU(Gated Recurrent Units), Conformer, CNN(Convolutional Neural Network), Transformer등으로 구현될 수 있다.
특히, 인코더(210)는 출력단에 CTC 손실값(LCTC)을 획득하기 위한 소프트맥스 모듈을 더 포함할 수 있다. 따라서, 음성 인식 모델을 학습할 때, 전자 장치(100)는 EOS 라벨을 포함하는 학습 음성 시퀀스를 입력하여 인코더(210)의 출력단에서 CTC 손실값(LCTC)을 획득할 수 있다.
디코더(220)의 예측 모듈(prediction module)(310)은 적어도 하나의 레이어를 포함할 수 있으며, t-1 시점(또는 이전 시점)의 텍스트 시퀀스를 히든 벡터로 변환하여 출력할 수 있다. 예를 들어, 인코더(210)에 의해 t 시점(또는 현재 시점)의 음성 시퀀스가 제1 히든 벡터로 변환되어 출력되는 경우, 예측 모듈(340)은 t-1 시점의 텍스트 시퀀스를 제2 히든 벡터로 변환하여 출력할 수 있다. 여기서. '제1 히든 벡터'와 '제2 히든 벡터'라는 용어는 인코더(210)를 통해 출력되는 히든 벡터와 예측 모듈(310)을 통해 출력되는 히든 벡터를 구별하여 특정하기 위한 용어로 사용된다. 예측 모듈(310)이라는 용어는 '예측 네트워크 모듈(prediction network module)'이라는 용어로 대체될 수 있다. 이때, 예측 모듈(310)은 적어도 하나의 레이어를 포함할 수 있다. 적어도 하나의 레이어는 도 4에 도시된 바와 같이, LSTM 으로 구현될 수 있으나, 이에 한정되는 것은 아니다.
디코더(220)의 조인트 모듈(joint module)(320)은 인코더(210)를 통해 출력되는 히든 벡터와 예측 모듈(310)을 통해 출력되는 히든 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 로짓(logit) 벡터를 출력할 수 있다. 예를 들어, 인코더(210)를 통해 제1 히든 벡터가 출력되고 예측 모듈(310)을 통해 제2 히든 벡터가 출력되면, 조인트 모듈(320)은 제1 히든 벡터 및 제2 히든 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 로짓 벡터를 출력할 수 있다. 조인트 모듈(320)이라는 용어는 '조인트 네트워크 모듈(joint network module)'이라는 용어로 대체될 수 있다.
디코더(220)의 소프트맥스 모듈(softmax module)(330)은 입력된 로짓 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. 구체적으로, 소프트맥스 모듈(330)은 입력된 로짓 벡터를 0 내지 1사이의 값으로 정규화함으로써 복수의 클래스 중 현재 시점의 음성 시퀀스에 대응되는 클래스를 식별하고, 식별 결과에 따라 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다.
특히, 음성 인식 모델을 학습할 때, 전자 장치(100)는 EOS 라벨을 포함하지 않는 학습 음성 시퀀스를 입력하여 디코더(220)의 출력단에서 트랜스듀서 손실값(LRNN_T)을 획득할 수 있다.
음성 인식 모델을 학습할 때, 전자 장치(100)는 인코더(210)의 출력단에서 획득된 CTC 손실값과 디코더(220)의 출력단에서 획득된 트랜스듀서 손실값에 기초하여 최종 손실값을 획득할 수 있다. 일 예로, 전자 장치(100)는 수학식 1에 의해 획득된 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다. 다른 예로, 전자 장치(100)는 아래의 수학식 3에 의해 획득된 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다.
Figure PCTKR2023008335-appb-img-000007
수학식 3에서, L은 최종 손실값이고, LCTC는 CTC 손실값이고, LRNN-T는 트랜스듀서 손실값이며, β는 0과 1사이의 파라미터일 수 있다.
도 5 및 도 6은 본 개시의 일 실시예에 따른, AED 모델을 학습시키는 방법을 설명하기 위한 도면들이다.
AED 모델은 도 5에 도시된 바와 같이, 인코더(210), 어텐션 모듈(510) 및 디코더(220)를 포함하며, 디코더(220)는 디코딩 모듈(520)과 소프트맥스 모듈(530)을 포함할 수 있다.
인코더(210)는 복수의 레이어를 통해 입력된 음성 시퀀스에 대응되는 히든 벡터를 획득할 수 있다. 이때, 인코더(210)에 포함된 복수의 레이어는 도 6에 도시된 바와 같이, LSTM(Long Short-Term Memory) 및 Max-pool로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 인코더(210)는 다른 유형의 레이어로 구현될 수 있다.
특히, 인코더(210)는 출력단에 CTC 손실값(LCTC)을 획득하기 위한 소프트맥스 모듈을 더 포함할 수 있다. 따라서, 음성 인식 모델을 학습할 때, 전자 장치(100)는 EOS 라벨을 포함하는 학습 음성 시퀀스를 입력하여 인코더(210)의 출력단에서 CTC 손실값(LCTC)을 획득할 수 있다.
어텐션 모듈(attention module)(510)은 인코더(210)를 통해 획득된 t 시점의 히든 벡터와 디코딩 모듈(520)에 의해 t-1 시점의 히든 벡터에 기초하여 어텐션 정보(예로, convex vector)를 획득할 수 있다. 그리고, 어텐션 모듈(510)은 어텐션 정보를 디코딩 모듈(520)로 출력할 수 있다.
디코딩 모듈(decoding module)(520)은 t 시점에 획득된 어텐션 정보와 t-1 시점에 획득된 히든 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 로짓 벡터를 출력할 수 있다.
소프트맥스 모듈(softmax module)(530)은 입력된 로짓 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. 구체적으로, 소프트맥스 모듈(395)은 입력된 로짓 벡터를 0 내지 1사이의 값으로 정규화함으로써 복수의 클래스 중 현재 시점의 음성 시퀀스에 대응되는 클래스를 식별하고, 식별 결과에 따라 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다.
특히, 음성 인식 모델을 학습할 때, 전자 장치(100)는 EOS 라벨을 포함하지 않는 학습 음성 시퀀스를 입력하여 디코더(220)의 출력단에서 CE 손실값(LCE)을 획득할 수 있다.
음성 인식 모델을 학습할 때, 전자 장치(100)는 인코더(210)의 출력단에서 획득된 CTC 손실값과 디코더(220)의 출력단에서 획득된 CE 손실값에 기초하여 최종 손실값을 획득할 수 있다. 일 예로, 전자 장치(100)는 수학식 2에 의해 획득된 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다. 다른 예로, 전자 장치(100)는 아래의 수학식 4에 의해 획득된 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다.
Figure PCTKR2023008335-appb-img-000008
수학식 4에서, L은 최종 손실값이고, LCTC는 CTC 손실값이고, LCE는 CE 손실값이며, β는 0과 1사이의 파라미터일 수 있다.
상술한 바와 같이, RNN-T 모델 또는 AED 모델과 같이, 순환형 음성 인식 모델을 학습할 때, EOS 라벨을 포함하는 학습 데이터를 음성 인식 모델에 입력하여 디코더(220)의 출력단이 아닌 인코더(210)의 출력단에서 획득되는 손실값에 기초하여 음성 인식 모델을 학습함으로써, 디코더(220)에 EOS 라벨을 포함하는 정보가 다시 입력되지 않게 되므로, 음성 인식 모델의 성능이 향상될 수 있게 된다.
한편, 상술한 실시예에서는 본 개시의 기술적 사상이 사용자 음성을 텍스트로 출력하는 음성 인식 모델에 적용되는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 제1 언어의 사용자 음성을 제2 언어로 번역된 텍스트로 변환하여 출력하는 Speech-to-Translated Text 모델, 제1 언어의 사용자 음성을 제2 언어의 음성으로 변환하여 출력하는 Speech-to-Speech translation 모델에도 본 발명의 기술적 사상이 적용될 수 있다. 즉, Speech-to-Translated Text 모델 또는 Speech-to-Speech translation 모델에 EOS 심볼을 포함하는 제1 학습 데이터를 입력하여 획득된 제1 손실값 및 Speech-to-Translated Text 모델 또는 Speech-to-Speech translation 모델에 EOS 심볼을 포함하지 않는 제2 학습 데이터를 입력하여 획득된 제2 손실값에 기초하여 Speech-to-Translated Text 모델 또는 Speech-to-Speech translation 모델이 학습될 수 있다. 이때, 제1 손실값은 Speech-to-Translated Text 모델 또는 Speech-to-Speech translation 모델의 인코더의 출력단에서 획득될 수 있으며, 제2 손실값은 Speech-to-Translated Text 모델 또는 Speech-to-Speech translation 모델의 디코더의 출력단에서 획득될 수 있다.
도 7은 본 개시의 일 실시예에 따른, 음성 인식 모델을 학습시키기 위한 전자 장치의 제어 방법을 설명하기 위한 흐름도이다. 이때, 음성 인식 모델은 인코더로부터 출력된 T 시점의 음성 시퀀스에 대한 정보 및 디코더로부터 출력된 T-1 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스에 대한 정보가 디코더에 입력되는 순환형 음성 인식 모델일 수 있다.
우선, 전자 장치(100)는 음성 인식 모델에 EOS 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득한다(S710). 이때, 제1 손실값은 음성 인식 모델에 포함된 인코더의 출력단에서 획득되는 손실값으로서, CTC 손실값일 수 있다.
그리고, 전자 장치(100)는 음성 인식 모델에 EOS 라벨을 포함하지 않는 제2 학습 음성 시퀀스를 입력하여 제2 손실값을 획득할 수 있다(S720). 이때, 제2 손실값은 음성 인식 모델에 포함된 디코더의 출력단에서 획득되는 손실값일 수 있다. 예를 들어, 음성 인식 모델이 RNN-T 모델인 경우, 제2 손실값은 트랜스듀서 손실값일 수 있으며, 음성 인식 모델이 AED 모델인 경우, 제2 손실값은 CE 손실값일 수 있다.
그리고, 전자 장치(100)는 제1 손실값 및 제2 손실값에 기초하여 음성 인식 모델을 학습시킬 수 있다(S730). 구체적으로, 음성 인식 모델이 RNN-T 모델인 경우, 전자 장치(100)는 인코더의 출력단에서 획득한 CTC 손실값과 디코더의 출력단에서 획득한 트랜스듀서 손실값에 기초하여 최종 손실값을 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 최종 손실값이 감소하도록 RNN-T 모델을 학습시킬 수 있다. 음성 인식 모델이 AED 모델인 경우, 전자 장치(100)는 인코더의 출력단에서 획득한 CTC 손실값과 디코더의 출력단에서 획득한 CE 손실값에 기초하여 최종 손실값을 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 최종 손실값이 감소하도록 AED 모델을 학습시킬 수 있다.
상술한 바와 같이, 학습 동작에서 EOS 라벨을 포함하는 학습 데이터를 통해 인코더의 출력단에서 획득된 손실값과 EOS 라벨을 포함하지 않는 학습 데이터를 통해 디코더의 출력단에서 획득된 손실값에 기초하여 음성 인식 모델을 학습시킴으로써, EOS를 더욱 잘 감지할 수 있는 음성 인식 모델을 제공할 수 있게 된다.
다만, 학습 동작이 아닌 추론(inference) 동작에서도 아래와 같은 방법을 수행하여 EOS를 더욱 잘 감지할 수 있게 된다.
도 8은 본 개시의 일 실시예에 따른, 학습된 음성 인식 모델에 EOS 라벨 대신 기설정된 심볼을 삽입하여 음성 인식을 수행하는 방법을 설명하기 위한 흐름도이다.
우선, 전자 장치(100)는 EOS 라벨을 포함하는 제1 음성 시퀀스를 입력받을 수 있다(S810). 예를 들어, 전자 장치(100)는 음성 시퀀스의 마지막에 EOS 라벨(예로, </S?>)을 포함하는 제1 음성 시퀀스를 입력받을 수 있다.
그리고, 전자 장치(100)는 제1 음성 시퀀스에 포함된 EOS 라벨을 기설정된 제1 심볼로 변경하여 제2 음성 시퀀스를 획득할 수 있다(S820). 즉, 전자 장치(100)는 제1 음성 시퀀스를 인코더에 입력하기 전에 제1 음성 시퀀스에 포함된 EOS 라벨을 블랭크 심볼(blank symbol)(예로, <b>) 또는 사일런트 심볼(silent symbol)(예로, <s>)로 변경하여 제2 음성 시퀀스를 입력할 수 있다.
그리고, 전자 장치(100)는 제2 음성 시퀀스를 학습된 음성 인식 모델에 입력하여 텍스트 시퀀스를 획득할 수 있다(S830). 예를 들어, 전자 장치(100)는 도 1 내지 도 7에서 설명한 RNN-T 모델이나 AED 모델에 제2 음성 시퀀스를 입력하여 텍스트 시퀀스를 획득할 수 있다. 그러나, RNN-T 모델이나 AED 모델은 일 실시예에 불과할 뿐, 다른 음성 인식 모델에 제2 음성 시퀀스를 입력할 수 있음은 물론이다.
전자 장치(100)는 획득된 텍스트 시퀀스에서 EOS를 감지할 수 있다(S840).
획득된 텍스트 시퀀스에서 EOS를 감지되면, 전자 장치(100)는 임계 시간 동안 기설정된 제2 심볼을 포함하는 토큰이 출력되는지 여부를 판단할 수 있다(S850). 이때, 기설정된 제2 심볼은 블랭크 심볼(blank symbol)(예로, <b>) 또는 사일런트 심볼(silent symbol)(예로, <s>), 노이즈 심볼(noise symbol)(예로, <NOISE>)을 포함할 수 있다. 즉, EOS가 감지된 후 임계 시간(예로, 0.5초) 내에 기설정된 제2 심볼만이 출력되면, 전자 장치(100)는 감지된 EOS가 정확한 EOS로 판단할 수 있다.
임계 시간동안 제2 심볼을 포함하는 토큰이 출력되면(S850-Y), 전자 장치(100)는 EOS를 인식하여 획득된 텍스트 시퀀스를 출력할 수 있다(S860). 구체적으로, 정확한 EOS라고 인식되면, 전자 장치(100)는 획득된 텍스트 시퀀스에 대한 정보를 다음 기능 블록(예로, 자연어 이해를 위한 NLU (Natural Language Understanding) 블록이나 번역을 위한 Machine Translation (MT) 블록)으로 출력할 수 있다.
임계 시간동안 제2 심볼이 아닌 텍스트 심볼을 포함하는 토큰이 출력되면(S860-N), 전자 장치(100)는 감지된 EOS를 무시하고, 다시 다음 시점의 음성 시퀀스에 기초하여 음성 인식을 수행할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 전자 장치(100)의 프로세서와 메모리를 통해 동작된다.
프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit) 중 적어도 하나를 포함할 수 있으나 전술한 프로세서의 예시에 한정되지 않는다.
CPU는 일반 연산뿐만 아니라 인공지능 연산을 수행할 수 있는 범용 프로세서로서, 다계층 캐시(Cache) 구조를 통해 복잡한 프로그램을 효율적으로 실행할 수 있다. CPU는 순차적인 계산을 통해 이전 계산 결과와 다음 계산 결과의 유기적인 연계가 가능하도록 하는 직렬 처리 방식에 유리하다. 범용 프로세서는 전술한 CPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
GPU는 그래픽 처리에 이용되는 부동 소수점 연산 등과 같은 대량 연산을 위한 프로세서로서, 코어를 대량으로 집적하여 대규모 연산을 병렬로 수행할 수 있다. 특히, GPU는 CPU에 비해 컨볼루션(Convolution) 연산 등과 같은 병렬 처리 방식에 유리할 수 있다. 또한, GPU는 CPU의 기능을 보완하기 위한 보조 프로세서(co-processor)로 이용될 수 있다. 대량 연산을 위한 프로세서는 전술한 GPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
NPU는 인공 신경망을 이용한 인공지능 연산에 특화된 프로세서로서, 인공 신경망을 구성하는 각 레이어를 하드웨어(예로, 실리콘)로 구현할 수 있다. 이때, NPU는 업체의 요구 사양에 따라 특화되어 설계되므로, CPU나 GPU에 비해 자유도가 낮으나, 업체가 요구하기 위한 인공지능 연산을 효율적으로 처리할 수 있다. 한편, 인공지능 연산에 특화된 프로세서로, NPU 는 TPU(Tensor Processing Unit), IPU(Intelligence Processing Unit), VPU(Vision processing unit) 등과 같은 다양한 형태로 구현 될 수 있다. 인공 지능 프로세서는 전술한 NPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
또한, 하나 또는 복수의 프로세서는 SoC(System on Chip)으로 구현될 수 있다. 이때, SoC에는 하나 또는 복수의 프로세서 이외에 메모리, 및 프로세서와 메모리 사이의 데이터 통신을 위한 버스(Bus)등과 같은 네트워크 인터페이스를 더 포함할 수 있다.
전자 장치에 포함된 SoC(System on Chip)에 복수의 프로세서가 포함된 경우, 전자 장치는 복수의 프로세서 중 일부 프로세서를 이용하여 인공지능과 관련된 연산(예를 들어, 인공지능 모델의 학습(learning)이나 추론(inference)에 관련된 연산)을 수행할 수 있다. 예를 들어, 전자 장치는 복수의 프로세서 중 컨볼루션 연산, 행렬 곱 연산 등과 같은 인공지능 연산에 특화된 GPU, NPU, VPU, TPU, 하드웨어 가속기 중 적어도 하나를 이용하여 인공지능과 관련된 연산을 수행할 수 있다. 다만, 이는 일 실시예에 불과할 뿐, CPU 등과 범용 프로세서를 이용하여 인공지능과 관련된 연산을 처리할 수 있음은 물론이다.
또한, 전자 장치는 하나의 프로세서에 포함된 멀티 코어(예를 들어, 듀얼 코어, 쿼드 코어 등)를 이용하여 인공지능과 관련된 기능에 대한 연산을 수행할 수 있다. 특히, 전자 장치는 프로세서에 포함된 멀티 코어를 이용하여 병렬적으로 컨볼루션 연산, 행렬 곱 연산 등과 같은 인공 지능 연산을 수행할 수 있다.
하나 또는 복수의 프로세서는, 메모리에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 적어도 하나의 레이어는 적어도 하나의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 적어도 하나의 정의된 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks), Transformer가 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
한편, 본 개시의 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 개시의 다양한 실시 예에 따른 방법은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: TV)를 포함할 수 있다.
한편, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.

Claims (15)

  1. 전자 장치의 제어 방법에 있어서,
    상기 음성 인식 모델에 EOS(End-of-sentence) 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득하는 단계; 및
    상기 제1 손실값에 기초하여 상기 음성 인식 모델을 학습하는 단계;를 포함하며,
    상기 음성 인식 모델은 인코더를 포함하며, 상기 제1 손실값은 상기 인코더의 출력단에서 획득되는 제어 방법.
  2. 제1항에 있어서,
    상기 음성 인식 모델에 EOS 라벨을 포함하지 않는 제2 학습 음성 시퀀스를 입력하여 제2 손실값을 획득하는 단계;를 더 포함하고,
    상기 학습하는 단계는,
    상기 제1 손실값 및 상기 제2 손실값에 기초하여 상기 음성 인식 모델을 학습하며,
    상기 음성 인식 모델은 디코더를 더 포함하며, 상기 제2 손실값은 상기 디코더의 출력단에서 획득되는 제어 방법.
  3. 제2항에 있어서,
    상기 인코더로부터 출력된 T 시점의 음성 시퀀스에 대한 정보 및 상기 디코더로부터 출력된 T-1 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스에 대한 정보가 상기 디코더에 입력되는 제어 방법.
  4. 제3항에 있어서,
    상기 제1 손실값은 CTC(connectionist temporal classification) 손실 값인 것을 특징으로 하는 제어 방법.
  5. 제4항에 있어서,
    상기 음성 인식 모델은 RNN-T(Recurrent Neural Network-Transducer) 모델을 포함하며,
    상기 제2 손실값은 트랜스듀서 손실값(Transducer loss value)이며,
    상기 학습하는 단계는,
    수학식
    Figure PCTKR2023008335-appb-img-000009
    에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습하며,
    여기서 L은 최종 손실값이고, LCTC는 CTC 손실값이고, LRNN-T는 트랜스듀서 손실값인 제어 방법.
  6. 제4항에 있어서,
    상기 음성 인식 모델은 AED(attention-based encoder-decoder) 모델을 포함하며,
    상기 제2 손실값은 CE 손실값(cross-entropy loss)이며,
    상기 학습하는 단계는,
    수학식
    Figure PCTKR2023008335-appb-img-000010
    에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습하며,
    여기서 L은 최종 손실값이고, LCTC는 CTC 손실값이고, LCE는 CE 손실값인 제어 방법.
  7. 제2항에 있어서,
    상기 제1 학습 음성 시퀀스 및 상기 제2 학습 음성 시퀀스는 동일한 학습 음성에 의해 획득되는 제어 방법.
  8. 제1항에 있어서,
    상기 학습된 음성 인식 모델에 EOS 라벨을 포함하는 제1 음성 시퀀스가 입력되면, 상기 EOS 라벨을 기설정된 제1 심볼로 변경하여 제2 음성 시퀀스를 획득하는 단계;
    상기 제2 음성 시퀀스를 상기 학습된 음성 인식 모델에 입력하여 텍스트 시퀀스를 획득하는 단계;
    상기 획득된 텍스트 시퀀스에서 상기 EOS 라벨이 감지되면, 임계 시간 동안 기설정된 제2 심볼을 포함하는 토큰이 출력되는지 여부를 판단하는 단계;
    상기 임계 시간동안 상기 제2 심볼을 포함하는 토큰이 출력되면, 상기 감지된 EOS 라벨을 인식하여 상기 획득된 텍스트 시퀀스를 출력하는 단계;를 포함하는 제어 방법.
  9. 제8항에 있어서,
    상기 임계 시간동안 텍스트 심볼을 포함하는 토큰이 출력되면, 상기 감지된 EOS 라벨을 무시하는 단계;를 포함하는 제어 방법.
  10. 전자 장치에 있어서,
    음성 인식 모델에 대한 데이터를 저장하는 메모리; 및
    상기 음성 인식 모델에 액세스 하도록 구성되며,
    상기 음성 인식 모델에 EOS(End-of-sentence) 라벨을 포함하는 제1 학습 음성 시퀀스를 입력하여 제1 손실값을 획득하고,
    상기 제1 손실값에 기초하여 상기 음성 인식 모델을 학습시키는 적어도 하나의 프로세서;를 포함하며,
    상기 음성 인식 모델은 인코더를 포함하며, 상기 제1 손실값은 상기 인코더의 출력단에서 획득되는 전자 장치.
  11. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 음성 인식 모델에 EOS 라벨을 포함하지 않는 제2 학습 음성 시퀀스를 입력하여 제2 손실값을 획득하며,
    상기 제1 손실값 및 상기 제2 손실값에 기초하여 상기 음성 인식 모델을 학습시키며,
    상기 음성 인식 모델은 디코더를 더 포함하며, 상기 제2 손실값은 상기 디코더의 출력단에서 획득되는 전자 장치.
  12. 제111항에 있어서,
    상기 인코더로부터 출력된 T 시점의 음성 시퀀스에 대한 정보 및 상기 디코더로부터 출력된 T-1 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스에 대한 정보가 상기 디코더에 입력되는 전자 장치.
  13. 제12항에 있어서,
    상기 제1 손실값은 CTC(connectionist temporal classification) 손실 값인 것을 특징으로 하는 전자 장치.
  14. 제13항에 있어서,
    상기 음성 인식 모델은 RNN-T(Recurrent Neural Network-Transducer) 모델을 포함하며,
    상기 제2 손실값은 트랜스듀서 손실값(Transducer loss)이며,
    상기 적어도 하나의 프로세서는,
    수학식
    Figure PCTKR2023008335-appb-img-000011
    에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습시키며,
    여기서 L은 최종 손실값이고, LCTC는 CTC 손실값이고, LRNN-T는 트랜스듀서 손실값인 전자 장치.
  15. 제13항에 있어서,
    상기 음성 인식 모델은 AED(attention-based encoder-decoder) 모델을 포함하며,
    상기 제2 손실값은 CE 손실값(cross-entropy loss)이며,
    상기 적어도 하나의 프로세서는,
    수학식
    Figure PCTKR2023008335-appb-img-000012
    에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습시키며,
    여기서 L은 최종 손실값이고, LCTC는 CTC 손실값이고, LCE는 CE 손실값인 전자 장치.
PCT/KR2023/008335 2022-09-07 2023-06-16 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법 WO2024053825A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/225,991 US20240078391A1 (en) 2022-09-07 2023-07-25 Electronic device for training speech recognition model and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220113508A KR20240034470A (ko) 2022-09-07 2022-09-07 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법
KR10-2022-0113508 2022-09-07

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/225,991 Continuation US20240078391A1 (en) 2022-09-07 2023-07-25 Electronic device for training speech recognition model and control method thereof

Publications (1)

Publication Number Publication Date
WO2024053825A1 true WO2024053825A1 (ko) 2024-03-14

Family

ID=90191482

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/008335 WO2024053825A1 (ko) 2022-09-07 2023-06-16 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법

Country Status (2)

Country Link
KR (1) KR20240034470A (ko)
WO (1) WO2024053825A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400754A (zh) * 2020-03-11 2020-07-10 支付宝(杭州)信息技术有限公司 保护用户隐私的用户分类系统的构建方法及装置
CN112002349A (zh) * 2020-09-25 2020-11-27 北京声智科技有限公司 一种语音端点检测方法及装置
CN113096687A (zh) * 2021-03-30 2021-07-09 中国建设银行股份有限公司 音视频处理方法、装置、计算机设备及存储介质
CN114420104A (zh) * 2022-01-27 2022-04-29 网易有道信息技术(北京)有限公司 自动生成字幕的方法及其相关产品
US20220208176A1 (en) * 2020-12-28 2022-06-30 Genesys Telecommunications Laboratories, Inc. Punctuation and capitalization of speech recognition transcripts

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400754A (zh) * 2020-03-11 2020-07-10 支付宝(杭州)信息技术有限公司 保护用户隐私的用户分类系统的构建方法及装置
CN112002349A (zh) * 2020-09-25 2020-11-27 北京声智科技有限公司 一种语音端点检测方法及装置
US20220208176A1 (en) * 2020-12-28 2022-06-30 Genesys Telecommunications Laboratories, Inc. Punctuation and capitalization of speech recognition transcripts
CN113096687A (zh) * 2021-03-30 2021-07-09 中国建设银行股份有限公司 音视频处理方法、装置、计算机设备及存储介质
CN114420104A (zh) * 2022-01-27 2022-04-29 网易有道信息技术(北京)有限公司 自动生成字幕的方法及其相关产品

Also Published As

Publication number Publication date
KR20240034470A (ko) 2024-03-14

Similar Documents

Publication Publication Date Title
US11503155B2 (en) Interactive voice-control method and apparatus, device and medium
US11960843B2 (en) Multi-module and multi-task machine learning system based on an ensemble of datasets
CN111145728B (zh) 语音识别模型训练方法、系统、移动终端及存储介质
US11862143B2 (en) Systems and methods for processing speech dialogues
WO2022142041A1 (zh) 意图识别模型的训练方法、装置、计算机设备和存储介质
US20230080671A1 (en) User intention recognition method and apparatus based on statement context relationship prediction
CN110968660B (zh) 基于联合训练模型的信息抽取方法和系统
WO2022068627A1 (zh) 一种数据处理方法及相关设备
WO2021132797A1 (ko) 반지도 학습 기반 단어 단위 감정 임베딩과 장단기 기억 모델을 이용한 대화 내에서 발화의 감정 분류 방법
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
CN111402861A (zh) 一种语音识别方法、装置、设备及存储介质
KR20220130565A (ko) 키워드 검출 방법 및 장치
US11036996B2 (en) Method and apparatus for determining (raw) video materials for news
CN111414745A (zh) 文本标点确定方法与装置、存储介质、电子设备
WO2022145611A1 (ko) 전자 장치 및 그 제어 방법
CN111161724A (zh) 中文视听结合语音识别方法、系统、设备及介质
WO2024053825A1 (ko) 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법
CN116844529A (zh) 语音识别方法、装置及计算机存储介质
WO2024049025A1 (ko) 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법
WO2021045434A1 (ko) 전자 장치 및 이의 제어 방법
WO2022092445A1 (ko) 전자 장치 및 그 제어 방법
WO2021154018A1 (en) Electronic device and method for controlling the electronic device thereof
WO2024053842A1 (ko) 전자 장치 및 이의 제어 방법
CN116306612A (zh) 一种词句生成方法及相关设备
WO2022177089A1 (ko) 전자 장치 및 그 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23863307

Country of ref document: EP

Kind code of ref document: A1