WO2022177063A1 - Electronic device and control method therefor - Google Patents
Electronic device and control method therefor Download PDFInfo
- Publication number
- WO2022177063A1 WO2022177063A1 PCT/KR2021/003944 KR2021003944W WO2022177063A1 WO 2022177063 A1 WO2022177063 A1 WO 2022177063A1 KR 2021003944 W KR2021003944 W KR 2021003944W WO 2022177063 A1 WO2022177063 A1 WO 2022177063A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- voice
- model
- text
- speech
- segments
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000001914 filtration Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- WUBBRNOQWQTFEX-UHFFFAOYSA-N 4-aminosalicylic acid Chemical compound NC1=CC=C(C(O)=O)C(O)=C1 WUBBRNOQWQTFEX-UHFFFAOYSA-N 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/005—Language recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/15—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being formant information
Definitions
- the present disclosure relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device for obtaining text corresponding to a user's voice using an artificial intelligence model, and a method for controlling the same.
- the artificial intelligence system is a system in which the machine learns, judges, and becomes smarter by itself.
- ASR Auto Speech Recognition
- the present disclosure has been devised to solve the above problems, and an object of the present disclosure is to segment an input user voice, and input the segmented voice segment into an ASR model corresponding to the language type of each voice segment to respond to the user voice
- An object of the present invention is to provide an electronic device for obtaining a text to be used and a method for controlling the same.
- the electronic device acquires a plurality of voice segments by inputting a first user voice input through the microphone into a first model trained to segment a voice based on a microphone, a memory, and a word boundary, and , input the plurality of speech segments into a second model trained to identify a language type of speech to obtain a language type of each of the plurality of speech segments, and apply each of the plurality of speech segments to the plurality of speech segments among a plurality of ASR models.
- a plurality of text segments corresponding to each of the plurality of speech segments are obtained by inputting into an ASR model corresponding to the language type of each speech segment, and a text corresponding to the first user's speech is obtained based on the plurality of text segments. It may include a processor that
- a method for controlling an electronic device acquires a plurality of voice segments by inputting a first user voice input to the electronic device into a first model trained to segment a voice based on a word boundary. obtaining a language type of each of the plurality of speech segments by inputting the plurality of speech segments into a second model trained to identify a language type of speech; obtaining a plurality of text segments corresponding to each of the plurality of speech segments by inputting them into an ASR model corresponding to the language type of each of the plurality of speech segments; and corresponding to the first user's speech based on the plurality of text segments It may include the step of obtaining the text to be
- the electronic device may more accurately obtain a text corresponding to a user's voice in which a plurality of languages are mixed.
- FIG. 1 is a block diagram schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure
- FIG. 2 is a view for explaining a process in which an electronic device acquires text corresponding to a user's voice according to an embodiment of the present disclosure
- FIG. 3 is a view for explaining a process in which an electronic device divides a user's voice according to an embodiment of the present disclosure
- FIG. 4 is a view for explaining the configuration and operation of the first model and the second model, according to an embodiment of the present disclosure
- FIG. 5 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure
- FIG. 6 is a sequence diagram illustrating operations of an electronic device and a server according to an embodiment of the present disclosure
- FIG. 7 is a view for explaining a process in which an electronic device acquires text corresponding to a user's voice according to an embodiment of the present disclosure
- FIGS. 8 and 9 are flowcharts for explaining a process in which an electronic device acquires text corresponding to a user's voice based on voice reliability according to an embodiment of the present disclosure
- FIG. 10 is a detailed block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
- ordinal number such as “first” and “second”
- first and second may be used to distinguish between elements. This ordinal number is used to distinguish the same or similar elements from each other, and the meaning of the term should not be construed as limited due to the use of the ordinal number.
- the components combined with such an ordinal number should not be limited in the order of use or arrangement by the number. If necessary, each ordinal number may be used interchangeably.
- the expression “a device configured to” may mean that the device is “capable of” with other devices or parts.
- a coprocessor configured (or configured to perform) A, B, and C may refer to a dedicated processor (eg, an embedded processor), or one or more software programs stored in a memory device, to perform the corresponding operations.
- a generic-purpose processor eg, a CPU or an application processor
- modules are terms for designating a component that performs at least one function or operation, and such component is hardware or software. It may be implemented or implemented as a combination of hardware and software.
- a plurality of "modules”, “units”, “parts”, etc. are integrated into at least one module or chip, except when each needs to be implemented as individual specific hardware, and thus at least one processor. can be implemented as
- a component eg, a first component is "coupled with/to (operatively or communicatively)" to another component (eg, a second component)
- another component eg, a second component
- the certain element may be directly connected to the other element or may be connected through another element (eg, a third element).
- a component eg, a first component
- another component eg, a second component
- FIG. 1 is a block diagram schematically illustrating a configuration of an electronic device 100 .
- the electronic device 100 may include a memory 110 , a microphone 120 , and a processor 130 .
- the configuration shown in FIG. 1 is an exemplary diagram for implementing embodiments of the present disclosure, and appropriate hardware and software configurations at a level obvious to those skilled in the art may be additionally included in the electronic device 100 .
- the memory 110 may store data related to at least one other component of the electronic device 100 or at least one instruction.
- the command means one action statement that can be directly executed by the processor 130 in a programming language, and is a minimum unit for execution or operation of a program.
- the memory 110 is accessed by the processor 130 , and reading/writing/modification/deletion/update of data by the processor 130 may be performed.
- the term memory may be implemented as a memory 110 , a ROM (not shown), a RAM (not shown) in the processor 130 , or a memory separate from the processor 130 .
- the memory 110 may be implemented in the form of a memory embedded in the electronic device 100 or may be implemented in the form of a memory detachable from the electronic device 100 according to the purpose of data storage. For example, data for driving the electronic device 100 is stored in a memory embedded in the electronic device 100 , and data for an extended function of the electronic device 100 is detachable from the electronic device 100 . It can be stored in any available memory.
- the microphone 120 may receive a user's voice.
- the microphone 120 may receive a trigger voice (or a wake-up voice) indicating the start of voice recognition, and may receive a user query or command requesting specific information.
- the microphone 120 may be provided inside the electronic device 100 , but may be provided outside and electrically connected to the electronic device 100 . As another example, the microphone 120 may be provided outside the electronic device 100 to be connected to the electronic device 100 through a wireless communication module.
- the processor 130 may be electrically connected to the memory 110 to control overall operations and functions of the electronic device 100 .
- the processor 130 may include one or a plurality of processors.
- one or more processors are general-purpose processors such as CPU (Central Processing Unit), AP (Application Processor), DSP (Digital Signal Processor), etc., and dedicated graphics such as GPU (Graphic Processing Unit) and VPU (Vision Processing Unit). It can be a processor or a processor dedicated to artificial intelligence, such as a Neural Processing Unit (NPU).
- NPU Neural Processing Unit
- the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
- the processor 130 may be implemented as a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA) having a built-in processing algorithm.
- SoC system on chip
- LSI large scale integration
- FPGA field programmable gate array
- the processor 130 may perform various functions by executing computer executable instructions stored in the memory.
- the processor 130 may receive a voice input from the user 10 through the microphone 120 .
- the processor 130 may acquire a plurality of voice segments by inputting the voice input from the user into the first model 20 .
- the first model 20 refers to an artificial intelligence model trained to divide speech into at least one segment based on a word boundary.
- the first model 20 may be trained to identify at least one word boundary based on waveform data of a user's speech.
- the word boundary may mean a boundary for separating each of at least one word included in the user's voice or a boundary for separating a reading section spaced for each word.
- the first model 20 may divide the input voice into four segments based on word boundaries.
- the first voice segment (or seg 1) is 'Que'
- the second voice segment (or seg 2) is 'pasa'
- the third voice segment (or seg 3) is 'call'
- the fourth The voice segment (or seg 4) may be 'me'.
- the first model 20 divides the user's voice into at least one voice segment
- the x-axis indicates time
- the y-axis indicates a waveform graph indicating the strength of a voice
- the first model 20 may store a voice signal from the point in time 310 when the user's voice is input until the first word boundary is detected in a buffer.
- the first model 10 When the first word boundary 320 is detected, the first model 10 generates a voice signal (that is, including 'Que') from the point in time 310 when the user's voice is input to the detected first word boundary 320. voice signal) as the first voice segment.
- the detection of the word boundary may mean that a preset time (ie, a spaced reading time period) has elapsed from the utterance of a specific word to the utterance of the next word.
- the first model 20 may store the speech signal from the first word boundary 320 until the next word boundary is detected in the buffer.
- the first model 20 When the second word boundary 330 is detected, the first model 20 generates a voice signal from the first word boundary 320 to the second word boundary 330 (that is, a voice signal including 'pasa'). It can be obtained as a second voice segment.
- the first model 20 may acquire the third and fourth voice segments based on the respective word boundaries 340 and 350 by repeating the above-described method. That is, the first model 20 may divide the user's voice into four voice segments in the manner described above.
- the processor 130 may obtain a language type of each of the plurality of speech segments by inputting a plurality of speech segments into the second model 30 .
- Acquiring the language type of the voice segment may mean acquiring ID (Identification) information (identification information) indicating the language type of the voice segment.
- the second model 30 means an artificial intelligence model trained to identify the language type of speech.
- the second model 30 may output ID information that may indicate the identified language type.
- ID information eg, ⁇ ES>
- the second model 30 outputs ID information (eg, ⁇ ES>) that the language type of the first voice segment and the second voice segment is Spanish, and the third voice segment and the fourth voice segment are English ID information (eg, ⁇ EN>) can be output.
- the processor 130 inputs each of the plurality of speech segments into an ASR model corresponding to the language type of each of the plurality of speech segments among the plurality of Auto Speech Recognition (ASR) models 200 , 210 , and 230 to obtain a plurality of speech segments corresponding to each of the plurality of speech segments.
- a text segment can be obtained.
- each ASR model 200 , 210 , 230 may be stored in an external server.
- each of the ASR models 200 , 210 , and 230 may be stored in a separate external server instead of one external server.
- at least one of the ASR models 200 , 210 , and 230 may be built in the electronic device 100 .
- each of the plurality of ASR models 200 , 210 , and 220 may be a model learned based on learning data related to a specific language type.
- the Spanish (hereinafter, ES) ASR model is a model trained based on Spanish learning data
- the English (hereinafter, EN) ASR model is a model trained based on English learning data
- Korean (hereinafter, KR) The ASR model may be a model trained based on Korean learning data.
- the ASR model shown in FIG. 2 is only an example and may be implemented as a model learned based on another language (eg, addition/deletion/change, etc.).
- the processor 130 may obtain a text segment by inputting a specific voice segment into an ASR model corresponding to the specific voice segment through the ASR router 40 .
- the ASR router 40 means a software or hardware module configured to identify an ASR model corresponding to a language type of a voice segment and transmit the voice segment to the identified ASR model.
- the processor 130 transmits each of the first and second voice segments to the ES ASR model 200 through the ASR router 40 . It is possible to obtain a first text segment (eg, 'Que') and a second text segment (eg, 'pasa') corresponding to the first voice segment by inputting the .
- the processor 130 may control the communication unit 140 to transmit the first and second voice segments to the external server. The communication unit 140 will be described in detail with reference to FIG. 10 .
- the processor 130 inputs each of the third and fourth voice segments to the EN ASR model 210 through the ASR router, A third text segment (eg, 'call') corresponding to the third voice segment and a fourth text segment (eg, 'me') corresponding to the fourth voice segment may be acquired.
- a third text segment eg, 'call'
- a fourth text segment eg, 'me'
- the processor 130 may obtain a text corresponding to the user's voice based on the plurality of text segments.
- the processor 130 uses the post-processing module 50 to generate a plurality of voice segments corresponding to the plurality of text segments according to the order in which they are inputted through the microphone 120 .
- a text corresponding to the first user's voice may be obtained by combining the text segments of .
- the post-processing module 50 refers to a module that combines a plurality of text segments using a language type or an input sequence for each of a plurality of speech segments obtained through the second model 30 .
- each of the first to fourth text segments may correspond to each of the first to fourth voice segments.
- the processor 130 generates text (eg, Que pasa call me) corresponding to the user's voice by combining text segments corresponding to each voice segment according to the order in which each voice segment is input through the post-processing module 50 . can be obtained
- the electronic device 100 does not need to receive an input of a language type for recognition before using the ASR model from the user.
- the electronic device 100 identifies the language types of the divided voice segments, and inputs each voice segment into an ASR model corresponding to the identified language type. By doing so, a more accurate text segment can be obtained.
- the electronic device 100 does not need to additionally learn the existing ASR model by using words (eg, entity names, etc.) of a type of language that the existing ASR model has not learned.
- the processor 130 when a user command requesting that the second model 30 learn to recognize a third language type that has not been learned is input, the processor 130 is related to the third language type
- the second model 30 may be trained based on the training data.
- the processor 130 may train both the first model 20 and the second model 30 based on the learning data related to the third language type.
- the processor 130 may receive a user command for requesting learning to recognize a user's voice including German. Specifically, the processor 130 may display a setting UI for setting a language that the electronic device 100 can recognize. The processor 130 may receive a user command requesting to learn to recognize German through the setting UI.
- the processor 130 may receive learning data related to German from an external server through the communication unit 140 , and may further train the second model 30 based on the received learning data. However, this is only an embodiment, and the processor 130 may additionally train both the first model 20 and the second model 30 based on the received training data.
- the first model 20 may output a plurality of speech segments by detecting a word boundary of a user's speech including German.
- the second model 20 may identify a specific voice segment made of German among a plurality of voice segments, and output ID information indicating the language type of the specific voice segment.
- the processor 130 may input a German voice segment into the German-based ASR model.
- the electronic device 100 does not need to additionally train the ASR model in order to recognize a voice including a new type of language and output a text corresponding thereto.
- the function related to artificial intelligence according to the present disclosure is operated through the processor 130 and the memory 110 .
- One or more processors 130 control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory 110 .
- the predefined action rule or artificial intelligence model is characterized in that it is created through learning.
- being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
- Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
- Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
- the artificial intelligence model includes a plurality of artificial neural networks, and the artificial neural network may be composed of a plurality of layers.
- Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weights.
- the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
- FIG. 4 is a view for explaining the configuration and operation of a first model and a second model according to an embodiment of the present disclosure.
- each of the first model and the second model includes at least one fully connected layer (FC) layer (410-1,410-2,430-1,430-2,430-3) and at least one self-attention layer (self-attention layer).
- attention layers 400-1, 400-2, 440-1, and 440-2 may be included.
- the self-attention layer may be included in each model to consider adjacent frames while processing some frames of the input user's voice.
- the first model may extract a mel-spectrum by using an input user voice.
- the first model may output the result data 420 by inputting the extracted Mel spectrum to the self-attention layer 400 - 1 or the FC layer.
- 1 may mean a word boundary and 0 may mean a word. That is, the first model may divide the user's voice into three voice segments based on three word boundaries.
- the second model may output an ID indicating the language type of the voice segment by inputting the voice segment to the pre-connection layer 430-1 or another self-attention layer.
- FIG. 4 illustrates a case in which the first model and the second model are separate models
- the present invention is not limited thereto, and the first model and the second model may be implemented as one model.
- the first model and the second model are implemented as one model (eg, the third model).
- the third model may output a plurality of voice segments and language type information of each of the plurality of voice segments.
- first model and the second model may be stored in the electronic device 100 , but are not limited thereto. At least one of the first model and the second model may be stored in an external server.
- FIG. 5 is a flowchart illustrating a method of controlling the electronic device 100 according to an embodiment of the present disclosure.
- the electronic device 100 may receive the first user voice (S510).
- the electronic device 100 may obtain a plurality of voice segments by inputting the first user voice into the first model (S520).
- the first model may detect a word boundary in the user's voice, and divide and identify the user's voice into a plurality of voice segments based on the detected word boundary.
- the electronic device 100 may obtain a language type of each of the plurality of speech segments by inputting the plurality of speech segments into the second model ( S530 ).
- the second model may output ID information indicating the language type of each of the plurality of voice segments.
- the electronic device 100 may obtain a plurality of text segments corresponding to each of the plurality of speech segments by inputting each of the plurality of speech segments into an ASR model corresponding to a language type of each of the plurality of speech segments among the plurality of models ( S540).
- the language type of each of the first voice segment and the second voice segment among the plurality of voice segments is a first language type (eg, Korean) and a second language type (eg, English).
- the electronic device 100 may obtain a text segment corresponding to the first voice segment by inputting the first voice segment into an ASR model corresponding to a first language type (eg, Korean) among a plurality of ASR models.
- the ASR model corresponding to the first language type means a model learned based on the first language type.
- the electronic device 100 may obtain a text segment corresponding to the second voice segment by inputting the second voice segment into an ASR model corresponding to the second language type among the plurality of ASR models.
- the electronic device 100 may obtain a text corresponding to the first user's voice based on the plurality of text segments ( S550 ). Specifically, the electronic device 100 obtains the text corresponding to the first user voice by combining the plurality of text segments according to the order in which the voice segments corresponding to the plurality of text segments are input to the electronic device 100 . can do.
- FIG. 6 is a sequence diagram illustrating operations of an electronic device and a server according to an embodiment of the present disclosure. Since each of S610 to S630 of FIG. 6 is the same as each of S510 to S530 of FIG. 5 , a redundant description will be omitted.
- the electronic device 100 obtains a first voice segment and a second voice segment, a language type of the first voice segment is a first language type (eg, Korean), and a language type of the second voice segment is a second language type (eg, English) is assumed.
- a language type of the first voice segment is a first language type (eg, Korean)
- a language type of the second voice segment is a second language type (eg, English) is assumed.
- the electronic device 100 may input each voice segment into an ASR model corresponding to the language type of each voice segment among the plurality of ASR models. For example, the electronic device 100 may transmit the first voice segment to the first server 600 in which the first ASR model is stored ( S640 ). Then, the electronic device 100 may transmit the second voice segment to the second server 605 in which the second ASR model is stored. In this case, the first voice segment may be a voice segment input to the electronic device 100 before the second voice segment.
- the electronic device 100 may transmit each of the first voice segment and the second voice segment to each of the first server 600 and the second server 605 at the same time or in any order. have.
- the first server 600 may obtain the first text segment by inputting the received first voice segment into the first ASR model ( S660 ). The first server 600 may transmit the first text segment to the electronic device 100 (S665). Then, the second server 605 may obtain the second text segment by inputting the received second voice segment into the second ASR model ( S670 ). The second server 605 may transmit the second text segment to the electronic device 100 (S675). Meanwhile, the order of S660 to S675 may be changed. That is, the second server 605 may first obtain the second text segment and transmit it to the electronic device 100 .
- the electronic device 100 may obtain a text corresponding to the user's voice based on the obtained text segment (S680).
- the electronic device 100 may obtain a text corresponding to the user's voice by combining the first text and the second text segment according to the order in which the first and second voice segments are input.
- FIG. 7 is a diagram for describing a process in which the electronic device 100 acquires text corresponding to a user's voice according to an embodiment of the present disclosure.
- the electronic device 100 may divide or convert the voice input from the user into a plurality of frames having a predefined time period (eg, 25 ms).
- the electronic device 100 may filter a non-speech frame. Accordingly, the electronic device 100 may acquire only a plurality of voice frames.
- the voice frame may mean a frame including a voice component
- the non-voice frame may mean a frame (eg, a silence or a silence period) that does not include a voice component.
- the electronic device 100 classifies a voice frame and a non-voice frame among the user's voices using Speech Activity Detection (SAD) (or Voice Activity Detection, VAD) technology, and identifies the non-voice frame. can be filtered.
- SAD Speech Activity Detection
- VAD Voice Activity Detection
- the electronic device 100 may acquire the language types of the plurality of voice frames by inputting the plurality of acquired voice frames into the second model 700 .
- the language type of the voice frame may mean a language type corresponding to a voice component included in the voice frame.
- the second model 700 may be the same model as the second model 30 described with reference to FIG. 2 .
- the second model 700 may be implemented as an artificial intelligence model trained to acquire a language type for each frame having a pre-defined time (eg, 25 ms) for a language frame.
- the electronic device 100 may obtain text segments corresponding to the plurality of voice frames by inputting each of the plurality of voice frames into the ASR model corresponding to the language type of each of the plurality of voice frames.
- the electronic device 100 may divide or convert the user's voice into a plurality of frames having a predefined time by using the SVD technology.
- the electronic device 100 may obtain a plurality of voice frames by filtering non-voice frames among the plurality of frames.
- the electronic device 100 When the language type of the first to fourth frames among the plurality of voice frames is Korean, the electronic device 100 inputs the first to fourth frames into the Korean-based ASR model and text corresponding to each frame. segment can be obtained. And, when the language type of the fifth to sixth frames is English, the electronic device 100 inputs the fifth to sixth frames into the English-based ASR model to obtain text segments corresponding to each frame. can do.
- each ASR model may be included in the electronic device 100 , but may be stored in an external server.
- Each ASR model may be stored in one external server or may be stored in separate external servers.
- the electronic device 100 may acquire the text corresponding to the user's voice by inputting the acquired text segment into the post-processing module 710 .
- the electronic device 100 may obtain a text corresponding to the user's voice by combining the plurality of text segments according to the order in which frames corresponding to the plurality of text segments are input to the electronic device 100 .
- the electronic device 100 may recombined the filtered non-voice frame and the plurality of voice frames according to the order they are input to the electronic device 100 .
- the electronic device 100 inputs the first voice frame and the first non-voice frame adjacent to the first voice frame among the plurality of voice frames into the ASR model corresponding to the language type of the first voice frame, and inserts the first voice frame into the first voice frame.
- the corresponding text can be obtained.
- FIG. 8 is a flowchart illustrating a process in which the electronic device 100 acquires text corresponding to a user's voice based on voice reliability, according to an embodiment of the present disclosure.
- the electronic device 100 may input the input user voice into a first ASR model among a plurality of ASR models ( S810 ).
- the first ASR model means an ASR model learned based on the type of language set (or selected) by the user, and may be expressed as a basic ASR model (or an original ASR model). For example, when the user selects Korean among a plurality of languages, the electronic device 100 may input the input user voice into an ASR model (ie, a basic ASR model) learned based on Korean.
- the electronic device 100 may identify whether a voice confidence output through the first ASR model is less than a threshold value ( S820 ).
- Speech reliability is a numerical measure of how reliable the ASR model is to recognize a voice and output it as text corresponding to the voice.
- a high speech reliability may mean that the ASR model recognizes a speech with high reliability and outputs a text corresponding thereto. That the voice reliability is less than the threshold value may mean that the first ASR model needs to be further updated (or retrained).
- the threshold value may be a value preset by research or experimentation, and may be changed by a user.
- the first ASR model may not accurately recognize the voice corresponding to the foreign word among the user's voices. This exists Accordingly, there is a possibility that the first ASR model outputs a speech reliability below the threshold.
- the first ASR model is a model learned based on Korean, and the user's voice input to the electronic device 100 is 'find an accessory house nearby'. At this time, since 'accessory' is a foreign word introduced from English, the first ASR model may not accurately recognize the voice corresponding to the accessory among the input user voices. Accordingly, the first ASR model may output a voice reliability lower than the threshold value.
- the electronic device 100 may additionally update (or relearn) the first ASR model based on the text corresponding to the user's voice and the user's voice ( S830 ).
- the electronic device 100 may receive a text corresponding to the user's voice from the user in order to update the first ASR model. Specifically, the electronic device 100 may display a UI requesting input of text corresponding to the input user's voice. In addition, the electronic device 100 may receive a text corresponding to the user's voice input from the user through the displayed UI.
- the electronic device 100 may transmit the user's voice to the server including the ASR model learned based on the type of language learned by the first ASR model. Then, the electronic device 100 may receive a text corresponding to the user's voice from the server.
- the ASR model learned in the server is learned based on a larger amount of training data than the ASR stored in the terminal device, so that the recognition rate may be relatively high.
- the electronic device 100 may update the first ASR model by using the text corresponding to the user's voice input from the user or the server and the input user's voice as training data. That is, the electronic device 100 may additionally update the first ASR model to recognize the user's voice and output text corresponding to the user's voice. With further updates, performance such as speech recognition rate of the first ASR model may be improved.
- the electronic device 100 may obtain a text corresponding to the user's voice through the first ASR model ( S840 ). That is, the electronic device 100 may obtain the output text of the first ASR model as text corresponding to the user's voice.
- FIG. 9 is a flowchart illustrating a process in which the electronic device 100 acquires text corresponding to a user's voice based on voice reliability, according to an embodiment of the present disclosure.
- the electronic device 100 may input the input user voice into a first ASR model among a plurality of ASR models ( S910 ).
- the first ASR model refers to an ASR model learned based on a type of language set (or selected) by a user.
- the electronic device 100 may identify whether the voice reliability output through the first ASR model is less than a threshold value (S920).
- the electronic device 100 may obtain a text corresponding to the user's voice through at least one ASR model (S930). Specifically, as described with reference to FIG. 5 , the electronic device 100 divides the user's voice into a plurality of voice segments, and inputs the divided voice segments into an ASR model corresponding to the language type of each voice segment to segment the text. may be obtained, and the text corresponding to the user's voice may be obtained by combining the obtained text segments.
- the electronic device 100 may process the text corresponding to the user's voice to be converted into the text of the language type corresponding to the first ASR model (S940). Specifically, the electronic device 100 may identify whether a text of a language that the first ASR model has not learned from among the text corresponding to the user's voice is included. When some of the texts corresponding to the user's voice are configured in a language of a type not learned by the first ASR model, the electronic device 100 processes the partial texts to be converted into texts of a type of language learned by the first ASR model can do.
- the electronic device 100 may process some text to be converted to match the pronunciation of a type of language learned by the first ASR model.
- the first ASR model is a model learned based on Korean
- the partial text is 'taxi'.
- the electronic device 100 may process the partial text 'taxi' to be converted into 'taxi' to match the Korean pronunciation. That is, the electronic device 100 may process some texts composed of English to be converted into Korean, which is a type learned by the first ASR model.
- the electronic device 100 may train the first ASR model based on the converted text and the user's voice (S950). That is, the electronic device 100 re-learns the first ASR model based on the input to the text converted into the language of the type learned by the first ASR model and the user's voice corresponding to the converted text to obtain the voice of the first ASR model. recognition performance can be improved.
- the electronic device 100 may obtain a text corresponding to the user's voice through the first ASR model ( S960 ). That is, the electronic device 100 may obtain the output text of the first ASR model as text corresponding to the user's voice.
- the electronic device 100 includes a memory 110 , a microphone 120 , a processor 130 , a communication unit 140 , a display 150 , an input unit 160 , a speaker 170 , and a sensor. (180) may be included. Since the memory 110 , the microphone 120 , and the processor 130 have been described in detail with reference to FIG. 1 , redundant descriptions will be omitted.
- the communication unit 140 may communicate with an external device (eg, an external server, etc.).
- the communication connection of the communication unit 140 with the external device may include communication through a third device (eg, a repeater, a hub, an access point, a server, or a gateway).
- the communication unit 140 may include various communication modules to communicate with an external device.
- the communication unit 140 may include a wireless communication module, for example, LTE, LTE Advance (LTE-A), 5G (5th generation), CDMA (code division multiple access), WCDMA (wideband CDMA) , a cellular communication module using at least one of universal mobile telecommunications system (UMTS), wireless broadband (WiBro), and global system for mobile communications (GSM).
- LTE LTE Advance
- 5G 5th generation
- CDMA code division multiple access
- WCDMA wideband CDMA
- UMTS universal mobile telecommunications system
- WiFi wireless broadband
- GSM global system for mobile communications
- the wireless communication module includes, for example, at least one of wireless fidelity (WiFi), Bluetooth, Bluetooth low energy (BLE), Zigbee, radio frequency (RF), or body area network (BAN). can do.
- WiFi wireless fidelity
- BLE Bluetooth low energy
- RF radio frequency
- BAN body area network
- the communication unit 140 may transmit the voice segment to an external server storing the ASR model.
- the communication unit 140 may transmit, under the control of the processor 130 , a voice segment in Korean to an external server in which an ASR model learned based on Korean is stored.
- the communication unit 140 may receive a text segment corresponding to the voice segment from an external server in which the ASR model is stored.
- the communication unit 140 may transmit the user's voice or each of the voice segments to the first model or the second model. In addition, the communication unit 140 may receive data transmitted from the first model or the second model.
- the display 150 may display various information under the control of the processor 130 .
- the display 150 may display a UI for setting a basic ASR model by selecting one of a plurality of language types.
- the processor 130 may set the learned ASR model based on the selected language type as the basic ASR model.
- the display 150 may be implemented as a touch screen together with a touch panel, or may be implemented as a flexible display.
- the input unit 160 may receive a user input for controlling the electronic device 100 .
- the input unit 160 may include a touch panel for receiving a user touch input using a user's hand or a stylus pen, a button for receiving a user manipulation, and the like.
- the input unit 160 may be implemented as another input device (eg, a keyboard, a mouse, a motion input unit, etc.).
- a user command for selecting one of a plurality of languages may be input through the input unit 160 to set the basic ASR model.
- the speaker 170 is configured to output not only various audio data on which various processing tasks such as decoding, amplification, and noise filtering have been performed by the audio processing unit, but also various notification sounds or voice messages.
- the speaker 170 may output a response obtained by processing the text output through the ASR model in the form of a voice.
- the processor 130 may identify the intent of the text by inputting the obtained text into a Natural Language Understanding (NLU) module.
- NLU Natural Language Understanding
- the processor 130 may obtain a response to the input voice based on the identified intention, and output the acquired response in the form of a voice through the speaker 170 .
- a configuration for outputting audio may be implemented as a speaker, but this is only an exemplary embodiment and may be implemented as an output terminal capable of outputting audio data.
- the sensor 180 may detect various state information of the electronic device 100 .
- the sensor 180 may include a motion sensor (eg, a gyro sensor, an acceleration sensor, etc.) capable of detecting motion information of the electronic device 100, a sensor capable of detecting that a user's voice is input;
- a sensor capable of detecting location information eg, a global positioning system (GPS) sensor
- GPS global positioning system
- a sensor capable of detecting environmental information around the electronic device 100 eg, a temperature sensor, a humidity sensor, a barometric pressure sensor, etc.
- a user may include a sensor (eg, a camera, a UWB sensor, an IR sensor, a proximity sensor, an optical sensor, etc.) capable of detecting the presence of the .
- the sensor 180 may further include an image sensor for photographing the outside of the electronic device 100 .
- various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage medium readable by a machine (eg, a computer).
- a device that calls an instruction and can operate according to the called instruction and may include a server cloud according to the disclosed embodiments.
- the processor directly or other configuration under the control of the processor A function corresponding to the command can be performed using the elements.
- the device-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory storage medium' does not include a signal and only means that it is tangible and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
- the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
- the method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play StoreTM).
- an application store eg, Play StoreTM
- at least a portion of the computer program product eg, a downloadable app
- a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server, or temporarily can be created with
- Each of the components may be composed of a singular or a plurality of entities, and some sub-components of the aforementioned sub-components may be omitted, or other sub-components may be various. It may be further included in the embodiment.
- some components eg, a module or a program
- operations performed by a module, program, or other component may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
Abstract
Disclosed are an electronic device and a control method therefor. The electronic device comprises a microphone, a memory and a processor, which obtains a plurality of voice segments by inputting a first user voice, input through the microphone, into a first model trained to segment voices on the basis of word boundaries, obtains the language type of each of the plurality of voice segments by inputting the plurality of voice segments into a second model trained to identify language types of voices, obtains a plurality of text segments corresponding to the plurality of voice segments, respectively, by inputting each of the plurality of voice segments into an ASR model, corresponding to the language type of each of the plurality of voice segments, from among a plurality of ASR models, and obtains text corresponding to the first user voice, on the basis of the plurality of text segments.
Description
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 인공 지능 모델을 이용하여 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치 및 이의 제어 방법에 관한 것이다.The present disclosure relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device for obtaining text corresponding to a user's voice using an artificial intelligence model, and a method for controlling the same.
근래에는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습시키고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.Recently, artificial intelligence systems have been used in various fields. Unlike the existing rule-based smart system, the artificial intelligence system is a system in which the machine learns, judges, and becomes smarter by itself. The more the artificial intelligence system is used, the better the recognition rate and the more accurate understanding of user preferences, and the existing rule-based smart systems are gradually being replaced by deep learning-based artificial intelligence systems.
최근에는, 딥러닝 기반 인공 지능 시스템을 이용하여 사용자 음성을 인식하고 인식된 음성을 텍스트로 변환하는 ASR(Auto Speech Recognition) 기술이 널리 이용되고 있다. 한편, ASR 기술을 수행하는 ASR 모델은 하나의 특정 언어를 기반으로 학습되는 경우가 일반적이다. 따라서, 영어를 기반으로 학습된 ASR 모델에 한국어 음성이 입력될 경우, ASR 모델은 음성에 대응되는 텍스트를 정확하게 출력하지 못할 가능성이 높다.Recently, Auto Speech Recognition (ASR) technology for recognizing a user's voice using a deep learning-based artificial intelligence system and converting the recognized voice into text has been widely used. On the other hand, it is common that the ASR model performing the ASR technique is learned based on one specific language. Therefore, when a Korean voice is input to the English-based ASR model, there is a high possibility that the ASR model cannot accurately output the text corresponding to the voice.
이에 따라, 기존에는 ASR 모델을 복수의 언어를 기반으로 학습시키는 방식이 고안되었다. 예를 들어, 영어 및 한국어로 구성된 학습 데이터를 기반으로 ASR 모델을 학습시킴으로써, 영어 및 한국어가 혼합된 음성에 대응되는 텍스트를 보다 정확하게 출력하는 방식이 고안되었다. 다만, 하나의 ASR 모델을 복수의 언어를 기반으로 학습시키는 것은 학습 비용 및 유지 비용이 클 뿐만 아니라 학습 시간 및 정확도 측면에서도 불리하다는 한계점이 존재한다.Accordingly, conventionally, a method for learning an ASR model based on a plurality of languages has been devised. For example, by training an ASR model based on learning data composed of English and Korean, a method for more accurately outputting text corresponding to a mixed voice of English and Korean was devised. However, there are limitations in that learning one ASR model based on a plurality of languages is disadvantageous in terms of learning time and accuracy as well as high learning and maintenance costs.
또한, 기존에는 사용자 음성이 입력되면, 입력된 사용자 음성에 대응되는 언어 유형을 인식하고, 인식된 언어 유형에 대응되는 ASR 모델에 사용자 음성을 입력하는 방식이 고안되었다. Also, conventionally, when a user's voice is input, a method of recognizing a language type corresponding to the input user's voice and inputting the user's voice into an ASR model corresponding to the recognized language type has been devised.
다만, ASR 모델에 입력된 음성에 복수의 유형의 언어가 혼합된 경우, 하나의 언어 기반으로 학습된 ASR 모델은 정확한 입력된 음성에 대응되는 텍스트를 출력하지 못할 가능성이 높다. 최근 2개 국어(bilingual) 이상을 사용할 수 있는 화자가 전세계적으로 늘어나고 있다는 점에서 위 문제점은 더욱 대두될 수 있다.However, when a plurality of types of languages are mixed with the voice input to the ASR model, there is a high possibility that the ASR model learned based on one language cannot output the text corresponding to the correct input voice. The above problem can be further raised in that the number of speakers who can use more than two languages (bilingual) is increasing worldwide in recent years.
또한, 위 방식의 경우, 짧은 시간(예로, 50ms)동안 입력된 사용자 음성에 기반하여 사용자 음성의 언어 유형을 인식하는 바, 사용자 음성에 포함된 전체 언어 유형을 정확히 판단하지 못한다는 문제점이 존재한다.In addition, in the case of the above method, since the language type of the user's voice is recognized based on the user's voice input for a short period of time (eg, 50 ms), there is a problem that the entire language type included in the user's voice cannot be accurately determined. .
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로서, 본 개시의 목적은 입력된 사용자 음성을 분할하고, 분할된 음성 세그먼트를 각 음성 세그먼트의 언어 유형에 대응되는 ASR 모델에 입력하여 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치 및 이의 제어 방법을 제공함에 있다.The present disclosure has been devised to solve the above problems, and an object of the present disclosure is to segment an input user voice, and input the segmented voice segment into an ASR model corresponding to the language type of each voice segment to respond to the user voice An object of the present invention is to provide an electronic device for obtaining a text to be used and a method for controlling the same.
본 개시의 일 실시예로, 전자 장치는 마이크, 메모리 및 단어 경계에 기초하여 음성을 분할하도록 학습된 제1 모델에 상기 마이크를 통해 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트를 획득하고, 음성의 언어 유형을 식별하도록 학습된 제2 모델에 상기 복수의 음성 세그먼트를 입력하여 상기 복수의 음성 세그먼트 각각의 언어 유형을 획득하고, 상기 복수의 음성 세그먼트 각각을 복수의 ASR 모델 중 상기 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하고, 상기 복수의 텍스트 세그먼트에 기초하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 프로세서를 포함할 수 있다.In an embodiment of the present disclosure, the electronic device acquires a plurality of voice segments by inputting a first user voice input through the microphone into a first model trained to segment a voice based on a microphone, a memory, and a word boundary, and , input the plurality of speech segments into a second model trained to identify a language type of speech to obtain a language type of each of the plurality of speech segments, and apply each of the plurality of speech segments to the plurality of speech segments among a plurality of ASR models. A plurality of text segments corresponding to each of the plurality of speech segments are obtained by inputting into an ASR model corresponding to the language type of each speech segment, and a text corresponding to the first user's speech is obtained based on the plurality of text segments. It may include a processor that
본 개시의 또 다른 실시예로, 전자 장치의 제어 방법은, 단어 경계에 기초하여 음성을 분할하도록 학습된 제1 모델에 상기 전자 장치에 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트를 획득하는 단계, 음성의 언어 유형을 식별하도록 학습된 제2 모델에 상기 복수의 음성 세그먼트를 입력하여 상기 복수의 음성 세그먼트 각각의 언어 유형을 획득하는 단계, 상기 복수의 음성 세그먼트 각각을 복수의 ASR 모델 중 상기 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하는 단계 및 상기 복수의 텍스트 세그먼트에 기초하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 단계를 포함할 수 있다.As another embodiment of the present disclosure, a method for controlling an electronic device acquires a plurality of voice segments by inputting a first user voice input to the electronic device into a first model trained to segment a voice based on a word boundary. obtaining a language type of each of the plurality of speech segments by inputting the plurality of speech segments into a second model trained to identify a language type of speech; obtaining a plurality of text segments corresponding to each of the plurality of speech segments by inputting them into an ASR model corresponding to the language type of each of the plurality of speech segments; and corresponding to the first user's speech based on the plurality of text segments It may include the step of obtaining the text to be
상술한 바와 같은 다양한 실시예에 의해, 전자 장치는 복수의 언어가 혼합된 사용자 음성에 대응되는 텍스트를 보다 정확하게 획득할 수 있다는 효과가 있다.According to various embodiments as described above, there is an effect that the electronic device may more accurately obtain a text corresponding to a user's voice in which a plurality of languages are mixed.
도 1은 본 개시의 일 실시예에 따른, 전자 장치의 구성은 간략히 도시한 블록도,1 is a block diagram schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure;
도 2는 본 개시의 일 실시예에 따른, 전자 장치가 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 도면,2 is a view for explaining a process in which an electronic device acquires text corresponding to a user's voice according to an embodiment of the present disclosure;
도 3은 본 개시의 일 실시예에 따른, 전자 장치가 사용자 음성을 분할하는 과정을 설명하기 위한 도면,3 is a view for explaining a process in which an electronic device divides a user's voice according to an embodiment of the present disclosure;
도 4는 본 개시의 일 실시예에 따른, 제1 모델 및 제2 모델의 구성 및 동작을 설명하기 위한 도면,4 is a view for explaining the configuration and operation of the first model and the second model, according to an embodiment of the present disclosure;
도 5는 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 순서도,5 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure;
도 6은 본 개시의 일 실시예에 따른, 전자 장치 및 서버의 동작을 설명하기 위한 시퀀스도,6 is a sequence diagram illustrating operations of an electronic device and a server according to an embodiment of the present disclosure;
도 7은 본 개시의 일 실시예에 따른, 전자 장치가 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 도면,7 is a view for explaining a process in which an electronic device acquires text corresponding to a user's voice according to an embodiment of the present disclosure;
도 8 및 도 9는 본 개시의 일 실시예에 따른, 전자 장치가 음성 신뢰도에 기초하여 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 순서도,8 and 9 are flowcharts for explaining a process in which an electronic device acquires text corresponding to a user's voice based on voice reliability according to an embodiment of the present disclosure;
도 10은 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도이다.10 is a detailed block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.Prior to describing the present disclosure in detail, a description will be given of the description of the present specification and drawings.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다. First, terms used in the present specification and claims have been selected in consideration of functions in various embodiments of the present disclosure. However, these terms may vary depending on the intention or legal or technical interpretation of a person skilled in the art, and the emergence of new technology. Also, some terms are arbitrarily selected by the applicant. These terms may be interpreted in the meaning defined in the present specification, and if there is no specific term definition, it may be interpreted based on the general content of the present specification and common technical knowledge in the art.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다. Also, the same reference numerals or reference numerals in each drawing attached to this specification indicate parts or components that perform substantially the same functions. For convenience of description and understanding, the same reference numerals or reference numerals are used in different embodiments. That is, even though all components having the same reference number are illustrated in a plurality of drawings, the plurality of drawings do not mean one embodiment.
도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.Various elements and regions in the drawings are schematically drawn. Accordingly, the technical spirit of the present invention is not limited by the relative size or spacing drawn in the accompanying drawings.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다. In addition, in this specification and claims, terms including an ordinal number, such as "first" and "second", may be used to distinguish between elements. This ordinal number is used to distinguish the same or similar elements from each other, and the meaning of the term should not be construed as limited due to the use of the ordinal number. For example, the components combined with such an ordinal number should not be limited in the order of use or arrangement by the number. If necessary, each ordinal number may be used interchangeably.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "comprises" or "consisting of" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, and are intended to indicate that one or more other It is to be understood that this does not preclude the possibility of addition or presence of features or numbers, steps, operations, components, parts, or combinations thereof.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. The expression "configured to (or configured to)" as used in this disclosure depends on the context, for example, "suitable for," "having the capacity to" ," "designed to," "adapted to," "made to," or "capable of." The term “configured (or configured to)” may not necessarily mean only “specifically designed to” in hardware.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.Instead, in some circumstances, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts. For example, the phrase “a coprocessor configured (or configured to perform) A, B, and C” may refer to a dedicated processor (eg, an embedded processor), or one or more software programs stored in a memory device, to perform the corresponding operations. By doing so, it may mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In an embodiment of the present disclosure, terms such as “module”, “unit”, “part”, etc. are terms for designating a component that performs at least one function or operation, and such component is hardware or software. It may be implemented or implemented as a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. are integrated into at least one module or chip, except when each needs to be implemented as individual specific hardware, and thus at least one processor. can be implemented as
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다. A component (eg, a first component) is "coupled with/to (operatively or communicatively)" to another component (eg, a second component) When referring to "connected to", it should be understood that the certain element may be directly connected to the other element or may be connected through another element (eg, a third element). On the other hand, when it is said that a component (eg, a first component) is "directly connected" or "directly connected" to another component (eg, a second component), the component and the It may be understood that other components (eg, a third component) do not exist between other components.
이하에서는 도면을 참조하여 본 개시에 대해 구체적으로 설명하도록 한다. Hereinafter, the present disclosure will be described in detail with reference to the drawings.
본 개시의 일 실시예로, 도 1은 전자 장치(100)의 구성을 간략히 도시한 블록도이다. 도 1에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 마이크(120) 및 프로세서(130)를 포함할 수 있다. 다만, 도 1에 도시된 구성은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어 및 소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.As an embodiment of the present disclosure, FIG. 1 is a block diagram schematically illustrating a configuration of an electronic device 100 . 1 , the electronic device 100 may include a memory 110 , a microphone 120 , and a processor 130 . However, the configuration shown in FIG. 1 is an exemplary diagram for implementing embodiments of the present disclosure, and appropriate hardware and software configurations at a level obvious to those skilled in the art may be additionally included in the electronic device 100 .
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 데이터 또는 적어도 하나의 명령어(instruction)를 저장할 수 있다. 명령어는 프로그래밍 작성 언어에서 프로세서(130)가 직접 실행할 수 있는 하나의 동작 문장(action statement)를 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다. 메모리(110)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.The memory 110 may store data related to at least one other component of the electronic device 100 or at least one instruction. The command means one action statement that can be directly executed by the processor 130 in a programming language, and is a minimum unit for execution or operation of a program. The memory 110 is accessed by the processor 130 , and reading/writing/modification/deletion/update of data by the processor 130 may be performed.
본 개시에서 메모리라는 용어는 메모리(110), 프로세서(130) 내 롬(미도시), 램(미도시)으로 구현되거나 프로세서(130)와 별도의 메모리로 구현될 수 있다. 이 경우, 메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.In the present disclosure, the term memory may be implemented as a memory 110 , a ROM (not shown), a RAM (not shown) in the processor 130 , or a memory separate from the processor 130 . In this case, the memory 110 may be implemented in the form of a memory embedded in the electronic device 100 or may be implemented in the form of a memory detachable from the electronic device 100 according to the purpose of data storage. For example, data for driving the electronic device 100 is stored in a memory embedded in the electronic device 100 , and data for an extended function of the electronic device 100 is detachable from the electronic device 100 . It can be stored in any available memory.
마이크(120)는 사용자 음성을 입력받을 수 있다. 이때, 마이크(120)는 음성 인식의 개시를 나타내는 트리거 음성(또는 웨이크업 음성)을 수신할 수 있으며, 특정 정보를 요청하는 사용자 질의 또는 명령을 수신할 수 있다. The microphone 120 may receive a user's voice. In this case, the microphone 120 may receive a trigger voice (or a wake-up voice) indicating the start of voice recognition, and may receive a user query or command requesting specific information.
마이크(120)는 전자 장치(100) 내부에 구비될 수 있으나, 외부에 구비되어 전자 장치(100)와 전기적으로 연결될 수 있다. 또 다른 예로, 마이크(120)는 전자 장치(100)의 외부에 구비되어 무선 통신 모듈을 통해 전자 장치(100)와 연결될 수 있다.The microphone 120 may be provided inside the electronic device 100 , but may be provided outside and electrically connected to the electronic device 100 . As another example, the microphone 120 may be provided outside the electronic device 100 to be connected to the electronic device 100 through a wireless communication module.
프로세서(130)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. The processor 130 may be electrically connected to the memory 110 to control overall operations and functions of the electronic device 100 .
프로세서(130)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이 때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), AP(Application Processor), DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.The processor 130 may include one or a plurality of processors. At this time, one or more processors are general-purpose processors such as CPU (Central Processing Unit), AP (Application Processor), DSP (Digital Signal Processor), etc., and dedicated graphics such as GPU (Graphic Processing Unit) and VPU (Vision Processing Unit). It can be a processor or a processor dedicated to artificial intelligence, such as a Neural Processing Unit (NPU). When one or more processors are AI-only processors, the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
또한, 프로세서(130)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(130)는 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.In addition, the processor 130 may be implemented as a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA) having a built-in processing algorithm. In addition, the processor 130 may perform various functions by executing computer executable instructions stored in the memory.
프로세서(130)가 수행하는 동작은 도 2 내지 도 3을 참조하여 구체적으로 설명하도록 한다. 도 2에 도시된 바와 같이, 프로세서(130)는 마이크(120)를 통해 사용자(10)로부터 음성을 입력받을 수 있다. 프로세서(130)는 사용자로부터 입력된 음성을 제1 모델(20)에 입력하여 복수의 음성 세그먼트(segment)를 획득할 수 있다. An operation performed by the processor 130 will be described in detail with reference to FIGS. 2 to 3 . As shown in FIG. 2 , the processor 130 may receive a voice input from the user 10 through the microphone 120 . The processor 130 may acquire a plurality of voice segments by inputting the voice input from the user into the first model 20 .
제1 모델(20)은 단어 경계(word boundary)에 기초하여 음성을 적어도 하나의 세그먼트로 분할하도록 학습된 인공 지능 모델을 의미한다. 일 실시예로, 제1 모델(20)은 사용자 음성의 파형(waveform) 데이터에 기초하여 적어도 하나의 단어 경계를 식별하도록 학습될 수 있다. 단어 경계는 사용자 음성에 포함된 적어도 하나의 단어 각각을 구분하기 위한 경계 또는 단어 별로 띄어 읽는 구간을 구분하기 위한 경계를 의미할 수 있다.The first model 20 refers to an artificial intelligence model trained to divide speech into at least one segment based on a word boundary. In one embodiment, the first model 20 may be trained to identify at least one word boundary based on waveform data of a user's speech. The word boundary may mean a boundary for separating each of at least one word included in the user's voice or a boundary for separating a reading section spaced for each word.
예를 들어, 사용자(10)로부터 마이크(120)를 통해 입력된 음성이 'Que pasa, call me'인 경우를 가정한다. 제1 모델(20)은 입력된 음성을 단어 경계에 기초하여 4개의 세그먼트로 분할할 수 있다. 제1 음성 세그먼트(또는, seg 1)는 'Que'이고, 제2 음성 세그먼트(또는, seg 2)는 'pasa'이고, 제3 음성 세그먼트(또는, seg 3)은 'call'이고, 제4 음성 세그먼트(또는, seg 4)는 'me'일 수 있다.For example, it is assumed that the voice input from the user 10 through the microphone 120 is 'Que pasa, call me'. The first model 20 may divide the input voice into four segments based on word boundaries. The first voice segment (or seg 1) is 'Que', the second voice segment (or seg 2) is 'pasa', the third voice segment (or seg 3) is 'call', and the fourth The voice segment (or seg 4) may be 'me'.
도 3을 참조하여 제1 모델(20)이 사용자 음성을 적어도 하나의 음성 세그먼트로 분할하는 과정을 더욱 구체적으로 설명하도록 한다. 도 3에 도시된 그래프의 경우, x축(가로 방향)은 시간을 나타내고, y축(세로 방향)은 음성의 세기를 나타내는 파형 그래프를 의미한다. A process in which the first model 20 divides the user's voice into at least one voice segment will be described in more detail with reference to FIG. 3 . In the case of the graph shown in FIG. 3 , the x-axis (horizontal direction) indicates time, and the y-axis (vertical direction) indicates a waveform graph indicating the strength of a voice.
제1 모델(20)은 사용자 음성이 입력된 시점(310)부터 첫 번째 단어 경계가 감지될 때까지의 음성 신호를 버퍼(buffer)에 저장할 수 있다. 첫 번째 단어 경계(320)가 감지되면, 제1 모델(10)은 사용자 음성이 입력된 시점(310)부터 감지된 첫 번째 단어 경계(320)까지의 음성 신호(즉, 'Que'가 포함된 음성 신호)를 제1 음성 세그먼트로서 획득할 수 있다. 여기서, 단어 경계가 감지되었다는 것은, 특정 단어 발화 후 다음 단어 발화 전까지 기 설정된 시간(즉, 띄어 읽는 시구간)이 경과되었음을 감지했다는 것을 의미할 수 있다.The first model 20 may store a voice signal from the point in time 310 when the user's voice is input until the first word boundary is detected in a buffer. When the first word boundary 320 is detected, the first model 10 generates a voice signal (that is, including 'Que') from the point in time 310 when the user's voice is input to the detected first word boundary 320. voice signal) as the first voice segment. Here, the detection of the word boundary may mean that a preset time (ie, a spaced reading time period) has elapsed from the utterance of a specific word to the utterance of the next word.
그리고, 제1 모델(20)은 첫 번째 단어 경계(320)부터 다음 단어 경계가 감지될 때까지의 음성 신호를 버퍼에 저장할 수 있다. 두 번째 단어 경계(330)가 감지되면, 제1 모델(20)은 첫 번째 단어 경계(320)부터 두 번째 단어 경계(330)까지의 음성 신호(즉, 'pasa'가 포함된 음성 신호)를 제2 음성 세그먼트로서 획득할 수 있다. 제1 모델(20)은 상술한 방식을 반복함으로써 각 단어 경계(340,350)에 기초하여 제3 음성 세그먼트 및 제4 음성 세그먼트를 획득할 수 있다. 즉, 제1 모델(20)은 상술한 방식으로 사용자 음성을 4개의 음성 세그먼트로 분할할 수 있다.In addition, the first model 20 may store the speech signal from the first word boundary 320 until the next word boundary is detected in the buffer. When the second word boundary 330 is detected, the first model 20 generates a voice signal from the first word boundary 320 to the second word boundary 330 (that is, a voice signal including 'pasa'). It can be obtained as a second voice segment. The first model 20 may acquire the third and fourth voice segments based on the respective word boundaries 340 and 350 by repeating the above-described method. That is, the first model 20 may divide the user's voice into four voice segments in the manner described above.
도 2를 참조하면, 프로세서(130)는 복수의 음성 세그먼트를 제2 모델(30)에 입력하여 복수의 음성 세그먼트 각각의 언어 유형을 획득할 수 있다. 음성 세그먼트의 언어 유형을 획득했다는 것은 음성 세그먼트의 언어 유형을 나타내는 ID(Identification) 정보(식별 정보)를 획득했다는 것을 의미할 수 있다. 그리고, 제2 모델(30)은 음성의 언어 유형을 식별하도록 학습된 인공 지능 모델을 의미한다. Referring to FIG. 2 , the processor 130 may obtain a language type of each of the plurality of speech segments by inputting a plurality of speech segments into the second model 30 . Acquiring the language type of the voice segment may mean acquiring ID (Identification) information (identification information) indicating the language type of the voice segment. And, the second model 30 means an artificial intelligence model trained to identify the language type of speech.
일 실시예로, 음성 세그먼트의 언어 유형이 식별되면, 제2 모델(30)은 식별된 언어 유형을 나타낼 수 있는 ID 정보를 출력할 수 있다. 예를 들어, 제2 모델(30)은 제1 음성 세그먼트 및 제2 음성 세그먼트의 언어 유형은 스페인어라는 ID 정보(예로, <ES>)를 출력하고, 제3 음성 세그먼트 및 제4 음성 세그먼트는 영어라는 ID 정보(예로, <EN>)를 출력할 수 있다.In an embodiment, when the language type of the voice segment is identified, the second model 30 may output ID information that may indicate the identified language type. For example, the second model 30 outputs ID information (eg, <ES>) that the language type of the first voice segment and the second voice segment is Spanish, and the third voice segment and the fourth voice segment are English ID information (eg, <EN>) can be output.
프로세서(130)는 복수의 음성 세그먼트 각각을 복수의 ASR(Auto Speech Recognition) 모델(200,210,230) 중 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득할 수 있다. The processor 130 inputs each of the plurality of speech segments into an ASR model corresponding to the language type of each of the plurality of speech segments among the plurality of Auto Speech Recognition (ASR) models 200 , 210 , and 230 to obtain a plurality of speech segments corresponding to each of the plurality of speech segments. A text segment can be obtained.
한편, 도 2에 도시된 바와 같이, 각 ASR 모델(200,210,230)은 외부 서버에 저장될 수 있다. 또 다른 실시예로, 각 ASR 모델(200,210,230)은 하나의 외부 서버가 아닌 별개의 외부 서버에 저장되어 있을 수 있다. 또 다른 실시예로, 각 ASR 모델(200,210,230) 중 적어도 하나는 전자 장치(100)에 내장되어 있을 수 있다. Meanwhile, as shown in FIG. 2 , each ASR model 200 , 210 , 230 may be stored in an external server. As another embodiment, each of the ASR models 200 , 210 , and 230 may be stored in a separate external server instead of one external server. As another embodiment, at least one of the ASR models 200 , 210 , and 230 may be built in the electronic device 100 .
그리고, 복수의 ASR 모델(200,210,220) 각각은 특정 언어 유형과 관련된 학습 데이터에 기반하여 학습된 모델일 수 있다. 예를 들어, Spanish(이하, ES) ASR 모델은 스페인어 학습 데이터에 기반하여 학습된 모델이며, English(이하, EN) ASR 모델은 영어 학습 데이터에 기반하여 학습된 모델이며, Korean(이하, KR) ASR 모델은 한국어 학습 데이터에 기반하여 학습된 모델일 수 있다. 도 2에 도시된 ASR 모델은 일 실시예에 불과하며 다른 언어에 기반하여 학습된 모델로 구현(예로, 추가/삭제/변경 등)될 수 있음은 물론이다.In addition, each of the plurality of ASR models 200 , 210 , and 220 may be a model learned based on learning data related to a specific language type. For example, the Spanish (hereinafter, ES) ASR model is a model trained based on Spanish learning data, the English (hereinafter, EN) ASR model is a model trained based on English learning data, and Korean (hereinafter, KR) The ASR model may be a model trained based on Korean learning data. Of course, the ASR model shown in FIG. 2 is only an example and may be implemented as a model learned based on another language (eg, addition/deletion/change, etc.).
일 실시예로, 프로세서(130)는 ASR 라우터(router)(40)를 통해 특정 음성 세그먼트를 특정 음성 세그먼트에 대응되는 ASR 모델에 입력하여 텍스트 세그먼트를 획득할 수 있다. ASR 라우터(40)는 음성 세그먼트의 언어 유형에 대응되는 ASR 모델을 식별하고, 식별된 ASR 모델에 음성 세그먼트를 전송하도록 구성된 소프트웨어 또는 하드웨어 모듈을 의미한다.In an embodiment, the processor 130 may obtain a text segment by inputting a specific voice segment into an ASR model corresponding to the specific voice segment through the ASR router 40 . The ASR router 40 means a software or hardware module configured to identify an ASR model corresponding to a language type of a voice segment and transmit the voice segment to the identified ASR model.
예를 들어, 제1 음성 세그먼트 및 제2 음성 세그먼트의 언어 유형 ID 정보가 ES인 경우, 프로세서(130)는 ASR 라우터(40)를 통해 제1 및 제2 음성 세그먼트 각각을 ES ASR 모델(200)에 입력하여 제1 음성 세그먼트에 대응되는 제1 텍스트 세그먼트(예로, 'Que') 및 제2 텍스트 세그먼트(예로, 'pasa')를 획득할 수 있다. ES ASR 모델(200)이 외부 서버에 저장된 경우, 프로세서(130)는 외부 서버에 제1 및 제2 음성 세그먼트를 전송하도록 통신부(140)를 제어할 수 있다. 통신부(140)는 도 10을 참조하여 구체적으로 설명하도록 한다.For example, when the language type ID information of the first and second voice segments is ES, the processor 130 transmits each of the first and second voice segments to the ES ASR model 200 through the ASR router 40 . It is possible to obtain a first text segment (eg, 'Que') and a second text segment (eg, 'pasa') corresponding to the first voice segment by inputting the . When the ES ASR model 200 is stored in an external server, the processor 130 may control the communication unit 140 to transmit the first and second voice segments to the external server. The communication unit 140 will be described in detail with reference to FIG. 10 .
또 다른 예로, 제3 음성 세그먼트 및 제4 음성 세그먼트의 언어 유형 ID 정보가 EN인 경우, 프로세서(130)는 ASR 라우터를 통해 제3 및 제4 음성 세그먼트 각각을 EN ASR 모델(210)에 입력하여 제3 음성 세그먼트에 대응되는 제3 텍스트 세그먼트(예로, 'call') 및 제4 음성 세그먼트에 대응되는 제4 텍스트 세그먼트(예로, 'me')를 획득할 수 있다.As another example, when the language type ID information of the third and fourth voice segments is EN, the processor 130 inputs each of the third and fourth voice segments to the EN ASR model 210 through the ASR router, A third text segment (eg, 'call') corresponding to the third voice segment and a fourth text segment (eg, 'me') corresponding to the fourth voice segment may be acquired.
프로세서(130)는 복수의 텍스트 세그먼트에 기초하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다. 일 실시예로, 프로세서(130)는, 후 처리 모듈(post-processing module)(50)을 이용하여, 복수의 텍스트 세그먼트에 대응되는 음성 세그먼트가 마이크(120)를 통해 입력된 순서에 따라, 복수의 텍스트 세그먼트를 조합하여 제1 사용자 음성에 대응되는 텍스트를 획득할 수 있다. 여기서, 후 처리 모듈(50)은, 제2 모델(30)을 통해 획득된 복수의 음성 세그먼트 별 언어 유형 또는 입력 순서를 이용하여, 복수의 텍스트 세그먼트를 조합하는 모듈을 의미한다.The processor 130 may obtain a text corresponding to the user's voice based on the plurality of text segments. In an embodiment, the processor 130 uses the post-processing module 50 to generate a plurality of voice segments corresponding to the plurality of text segments according to the order in which they are inputted through the microphone 120 . A text corresponding to the first user's voice may be obtained by combining the text segments of . Here, the post-processing module 50 refers to a module that combines a plurality of text segments using a language type or an input sequence for each of a plurality of speech segments obtained through the second model 30 .
예를 들어, 제1 텍스트 세그먼트 내지 제4 텍스트 세그먼트 각각은 제1 음성 세그먼트 내지 제4 음성 세그먼트 각각에 대응될 수 있다. 프로세서(130)는, 후 처리 모듈(50)을 통해 각 음성 세그먼트가 입력된 순서에 따라, 각 음성 세그먼트에 대응되는 텍스트 세그먼트를 조합하여 사용자 음성에 대응되는 텍스트(예로, Que pasa call me)를 획득할 수 있다.For example, each of the first to fourth text segments may correspond to each of the first to fourth voice segments. The processor 130 generates text (eg, Que pasa call me) corresponding to the user's voice by combining text segments corresponding to each voice segment according to the order in which each voice segment is input through the post-processing module 50 . can be obtained
상술된 본 개시의 일 실시예에 의해, 전자 장치(100)는 ASR 모델을 이용하기 전 인식하기 위한 언어의 유형을 사용자로부터 입력받을 필요가 없다. According to the above-described embodiment of the present disclosure, the electronic device 100 does not need to receive an input of a language type for recognition before using the ASR model from the user.
또한, 사용자로부터 입력된 음성에 다양한 유형의 언어가 포함되어 있는 경우, 전자 장치(100)는 분할된 음성 세그먼트의 언어 유형을 식별하고, 각 음성 세그먼트를 식별된 언어 유형에 대응되는 ASR 모델에 입력함으로써 보다 정확한 텍스트 세그먼트를 획득할 수 있다. In addition, when the voice input from the user includes various types of languages, the electronic device 100 identifies the language types of the divided voice segments, and inputs each voice segment into an ASR model corresponding to the identified language type. By doing so, a more accurate text segment can be obtained.
또한, 전자 장치(100)는 기존의 ASR 모델이 학습하지 않은 유형의 언어의 단어(예로, 개체명 등)를 이용하여 기존의 ASR 모델을 추가 학습할 필요가 없다.In addition, the electronic device 100 does not need to additionally learn the existing ASR model by using words (eg, entity names, etc.) of a type of language that the existing ASR model has not learned.
한편, 본 개시의 또 다른 실시예로, 제2 모델(30)이 학습하지 않은 제3 언어 유형을 인식하도록 학습할 것을 요구하는 사용자 명령이 입력되면, 프로세서(130)는 제3 언어 유형과 관련된 학습 데이터에 기초하여 제2 모델(30)을 학습시킬 수 있다. 다만, 이는 일 실시예에 불과하며, 프로세서(130)는 제3 언어 유형과 관련된 학습 데이터에 기초하여 제1 모델(20) 및 제2 모델(30)을 모두 학습시킬 수 있다.On the other hand, as another embodiment of the present disclosure, when a user command requesting that the second model 30 learn to recognize a third language type that has not been learned is input, the processor 130 is related to the third language type The second model 30 may be trained based on the training data. However, this is only an embodiment, and the processor 130 may train both the first model 20 and the second model 30 based on the learning data related to the third language type.
예를 들어, 제2 모델(30)은 영어, 스페인어 및 한국어를 기반으로 학습된 인공 지능 모델인 경우를 가정한다. 프로세서(130)는 독일어가 포함된 사용자 음성을 인식할 수 있도록 학습할 것을 요구하는 사용자 명령을 입력받을 수 있다. 구체적으로, 프로세서(130)는 전자 장치(100)가 인식할 수 있는 언어를 설정할 수 있는 설정 UI를 표시할 수 있다. 프로세서(130)는 설정 UI를 통해 독일어를 인식하도록 학습할 것을 요구하는 사용자 명령을 입력받을 수 있다.For example, it is assumed that the second model 30 is an artificial intelligence model learned based on English, Spanish, and Korean. The processor 130 may receive a user command for requesting learning to recognize a user's voice including German. Specifically, the processor 130 may display a setting UI for setting a language that the electronic device 100 can recognize. The processor 130 may receive a user command requesting to learn to recognize German through the setting UI.
사용자 명령이 입력되면, 프로세서(130)는 통신부(140)를 통해 외부 서버로부터 독일어와 관련된 학습 데이터를 수신하고, 수신된 학습 데이터에 기반하여 제2 모델(30)을 추가 학습시킬 수 있다. 다만, 이는 일 실시예에 불과하며, 프로세서(130)는 수신된 학습 데이터에 기반하여 제1 모델(20) 및 제2 모델(30) 모두를 추가 학습시킬 수 있다.When a user command is input, the processor 130 may receive learning data related to German from an external server through the communication unit 140 , and may further train the second model 30 based on the received learning data. However, this is only an embodiment, and the processor 130 may additionally train both the first model 20 and the second model 30 based on the received training data.
예를 들어, 제1 모델(20)은 독일어가 포함된 사용자 음성의 단어 경계를 감지함으로써 복수의 음성 세그먼트를 출력할 수 있다. 그리고, 제2 모델(20)은 복수의 음성 세그먼트 중 독일어로 이루어진 특정 음성 세그먼트를 식별하고, 특정 음성 세그먼트의 언어 유형을 나타내는 ID 정보를 출력할 수 있다. 그리고, 프로세서(130)는 독일어로 이루어진 음성 세그먼트를 독일어를 기반으로 학습된 ASR 모델에 입력할 수 있다.For example, the first model 20 may output a plurality of speech segments by detecting a word boundary of a user's speech including German. In addition, the second model 20 may identify a specific voice segment made of German among a plurality of voice segments, and output ID information indicating the language type of the specific voice segment. In addition, the processor 130 may input a German voice segment into the German-based ASR model.
상술된 본 개시의 일 실시예에 의해, 전자 장치(100)는 새로운 유형의 언어가 포함된 음성을 인식하고 이에 대응되는 텍스트를 출력하기 위해 ASR 모델을 추가적으로 학습시킬 필요가 없다.According to the above-described embodiment of the present disclosure, the electronic device 100 does not need to additionally train the ASR model in order to recognize a voice including a new type of language and output a text corresponding thereto.
한편, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(130)와 메모리(110)를 통해 동작된다. Meanwhile, the function related to artificial intelligence according to the present disclosure is operated through the processor 130 and the memory 110 .
하나 또는 복수의 프로세서(130)는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다.One or more processors 130 control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory 110 .
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. The predefined action rule or artificial intelligence model is characterized in that it is created through learning. Here, being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden. Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
인공지능 모델은 복수의 인공 신경망을 포함하며, 인공 신경망은 복수의 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.The artificial intelligence model includes a plurality of artificial neural networks, and the artificial neural network may be composed of a plurality of layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weights. The plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
도 4는 본 개시의 일 실시예에 따른, 제1 모델 및 제2 모델의 구성 및 동작을 설명하기 위한 도면이다.4 is a view for explaining the configuration and operation of a first model and a second model according to an embodiment of the present disclosure.
일 실시예로, 제1 모델 및 제2 모델 각각은 적어도 하나의 전 연결(fully connected layer, FC) 레이어(410-1,410-2,430-1,430-2,430-3) 및 적어도 하나의 셀프 어텐션 레이어(self-attention layer)(400-1, 400-2, 440-1, 440-2)가 포함될 수 있다. 셀프 어텐션 레이어는, 입력된 사용자 음성 중 일부 프레임(frame)을 처리하는 동안, 인접된 프레임을 고려하기 위해 각 모델에 포함될 수 있다.In an embodiment, each of the first model and the second model includes at least one fully connected layer (FC) layer (410-1,410-2,430-1,430-2,430-3) and at least one self-attention layer (self-attention layer). attention layers) 400-1, 400-2, 440-1, and 440-2 may be included. The self-attention layer may be included in each model to consider adjacent frames while processing some frames of the input user's voice.
도 4에 도시된 바와 같이, 제1 모델은, 입력된 사용자 음성을 이용하여, 멜 스펙트럼(mel-spectrum)을 추출할 수 있다. 제1 모델은 추출된 멜 스펙트럼을 셀프 어텐션 레이어(400-1) 또는 FC 레이어에 입력함으로써 결과 데이터(420)를 출력할 수 있다. 예를 들어, 결과 데이터(420)에서 1은 단어 경계를 의미하고 0은 단어를 의미할 수 있다. 즉, 제1 모델은, 3개의 단어 경계에 기초하여, 사용자 음성을 3개의 음성 세그먼트를 분할할 수 있다.As shown in FIG. 4 , the first model may extract a mel-spectrum by using an input user voice. The first model may output the result data 420 by inputting the extracted Mel spectrum to the self-attention layer 400 - 1 or the FC layer. For example, in the result data 420 , 1 may mean a word boundary and 0 may mean a word. That is, the first model may divide the user's voice into three voice segments based on three word boundaries.
그리고, 제2 모델은 음성 세그먼트를 전 연결 레이어(430-1) 또는 다른 셀프 어텐션 레이어에 입력함으로써 음성 세그먼트의 언어 유형을 나타내는 ID를 출력할 수 있다.In addition, the second model may output an ID indicating the language type of the voice segment by inputting the voice segment to the pre-connection layer 430-1 or another self-attention layer.
한편, 도 4에는 제1 모델 및 제2 모델이 별개의 모델인 경우를 도시하고 있으나, 이에 국한되는 것은 아니며 제1 모델 및 제2 모델은 하나의 모델로 구현될 수 있다. 예를 들어, 제1 모델 및 제2 모델이 하나의 모델(예로, 제3 모델)로 구현된 경우를 가정한다. 사용자 음성이 입력되면, 제3 모델은 복수의 음성 세그먼트 및 복수의 음성 세그먼트 각각의 언어 유형 정보를 출력할 수 있다.Meanwhile, although FIG. 4 illustrates a case in which the first model and the second model are separate models, the present invention is not limited thereto, and the first model and the second model may be implemented as one model. For example, it is assumed that the first model and the second model are implemented as one model (eg, the third model). When a user's voice is input, the third model may output a plurality of voice segments and language type information of each of the plurality of voice segments.
그리고, 제1 모델 및 제2 모델은 전자 장치(100)에 저장되어 있을 수 있으나, 이에 국한되는 것은 아니다. 제1 모델 및 제2 모델 중 적어도 하나는 외부 서버에 저장되어 있을 수 있다.Also, the first model and the second model may be stored in the electronic device 100 , but are not limited thereto. At least one of the first model and the second model may be stored in an external server.
도 5는 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a method of controlling the electronic device 100 according to an embodiment of the present disclosure.
전자 장치(100)는 제1 사용자 음성을 입력받을 수 있다(S510). 전자 장치(100)는 제1 사용자 음성을 제1 모델에 입력하여 복수의 음성 세그먼트를 획득할 수 있다(S520). 제1 모델은 사용자 음성 중 단어 경계를 감지하고, 감지된 단어 경계에 기초하여 사용자 음성을 복수의 음성 세그먼트로 분할 및 식별할 수 있다.The electronic device 100 may receive the first user voice (S510). The electronic device 100 may obtain a plurality of voice segments by inputting the first user voice into the first model (S520). The first model may detect a word boundary in the user's voice, and divide and identify the user's voice into a plurality of voice segments based on the detected word boundary.
전자 장치(100)는 복수의 음성 세그먼트를 제2 모델에 입력하여 복수의 음성 세그먼트 각각의 언어 유형을 획득할 수 있다(S530). 제2 모델은 복수의 음성 세그먼트 각각의 언어 유형을 나타내는 ID 정보를 출력할 수 있다.The electronic device 100 may obtain a language type of each of the plurality of speech segments by inputting the plurality of speech segments into the second model ( S530 ). The second model may output ID information indicating the language type of each of the plurality of voice segments.
전자 장치(100)는 복수의 음성 세그먼트 각각을 복수의 모델 중 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득할 수 있다(S540).The electronic device 100 may obtain a plurality of text segments corresponding to each of the plurality of speech segments by inputting each of the plurality of speech segments into an ASR model corresponding to a language type of each of the plurality of speech segments among the plurality of models ( S540).
예를 들어, 복수의 음성 세그먼트 중 제1 음성 세그먼트 및 제2 음성 세그먼트 각각의 언어 유형이 제1 언어 유형(예로, 한국어) 및 제2 언어 유형(예로, 영어)인 경우를 가정한다. 전자 장치(100)는 제1 음성 세그먼트를 복수의 ASR 모델 중 제1 언어 유형(예로, 한국어)에 대응되는 ASR 모델에 입력하여 제1 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득할 수 있다. 이 때, 제1 언어 유형에 대응되는 ASR 모델은 제1 언어 유형 기반으로 학습된 모델을 의미한다. 그리고, 전자 장치(100)는 제2 음성 세그먼트를 복수의 ASR 모델 중 제2 언어 유형에 대응되는 ASR 모델에 입력하여 제2 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득할 수 있다.For example, it is assumed that the language type of each of the first voice segment and the second voice segment among the plurality of voice segments is a first language type (eg, Korean) and a second language type (eg, English). The electronic device 100 may obtain a text segment corresponding to the first voice segment by inputting the first voice segment into an ASR model corresponding to a first language type (eg, Korean) among a plurality of ASR models. In this case, the ASR model corresponding to the first language type means a model learned based on the first language type. In addition, the electronic device 100 may obtain a text segment corresponding to the second voice segment by inputting the second voice segment into an ASR model corresponding to the second language type among the plurality of ASR models.
전자 장치(100)는 복수의 텍스트 세그먼트에 기초하여 제1 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S550). 구체적으로, 전자 장치(100)는, 복수의 텍스트 세그먼트에 대응되는 음성 세그먼트가 전자 장치(100)에 입력된 순서에 따라, 복수의 텍스트 세그먼트를 조합하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득할 수 있다.The electronic device 100 may obtain a text corresponding to the first user's voice based on the plurality of text segments ( S550 ). Specifically, the electronic device 100 obtains the text corresponding to the first user voice by combining the plurality of text segments according to the order in which the voice segments corresponding to the plurality of text segments are input to the electronic device 100 . can do.
도 6은 본 개시의 일 실시예에 따른, 전자 장치 및 서버의 동작을 설명하기 위한 시퀀스도이다. 도 6의 S610 내지 S630 각각은 도 5의 S510 내지 S530 각각과 동일하므로 중복되는 설명은 생략하도록 한다. 6 is a sequence diagram illustrating operations of an electronic device and a server according to an embodiment of the present disclosure. Since each of S610 to S630 of FIG. 6 is the same as each of S510 to S530 of FIG. 5 , a redundant description will be omitted.
전자 장치(100)는 제1 음성 세그먼트 및 제2 음성 세그먼트를 획득하였으며, 제1 음성 세그먼트의 언어 유형은 제1 언어 유형(예로, 한국어)이고, 제2 음성 세그먼트의 언어 유형은 제2 언어 유형(예로, 영어)인 경우를 가정한다. 그리고, 제1 언어 유형을 기반으로 학습된 제1 ASR 모델은 제1 서버(600)에 저장되어 있고, 제2 언어 유형을 기반으로 학습된 제2 ASR 모델은 제2 서버(605)에 저장된 경우를 가정한다.The electronic device 100 obtains a first voice segment and a second voice segment, a language type of the first voice segment is a first language type (eg, Korean), and a language type of the second voice segment is a second language type (eg, English) is assumed. When the first ASR model learned based on the first language type is stored in the first server 600 and the second ASR model learned based on the second language type is stored in the second server 605 assume
전자 장치(100)는 복수의 ASR 모델 중 각 음성 세그먼트의 언어 유형에 대응되는 ASR 모델에 각 음성 세그먼트를 입력할 수 있다. 예로, 전자 장치(100)는 제1 음성 세그먼트를 제1 ASR 모델이 저장된 제1 서버(600)에 전송할 수 있다(S640). 그리고, 전자 장치(100)는 제2 음성 세그먼트를 제2 ASR 모델이 저장된 제2 서버(605)에 전송할 수 있다. 이 때, 제1 음성 세그먼트는 제2 음성 세그먼트보다 전자 장치(100)에 먼저 입력된 음성 세그먼트일 수 있다.The electronic device 100 may input each voice segment into an ASR model corresponding to the language type of each voice segment among the plurality of ASR models. For example, the electronic device 100 may transmit the first voice segment to the first server 600 in which the first ASR model is stored ( S640 ). Then, the electronic device 100 may transmit the second voice segment to the second server 605 in which the second ASR model is stored. In this case, the first voice segment may be a voice segment input to the electronic device 100 before the second voice segment.
다만, 이는 일 실시예에 불과하며, 전자 장치(100)는 제1 음성 세그먼트 및 제2 음성 세그먼트 각각을 동시에 또는 순서에 상관 없이 제1 서버(600) 및 제2 서버(605) 각각에 전송할 수 있다.However, this is only an embodiment, and the electronic device 100 may transmit each of the first voice segment and the second voice segment to each of the first server 600 and the second server 605 at the same time or in any order. have.
제1 서버(600)는 수신된 제1 음성 세그먼트를 제1 ASR 모델에 입력하여 제1 텍스트 세그먼트를 획득할 수 있다(S660). 제1 서버(600)는 제1 텍스트 세그먼트를 전자 장치(100)에 전송할 수 있다(S665). 그리고, 제2 서버(605)는 수신된 제2 음성 세그먼트를 제2 ASR 모델에 입력하여 제2 텍스트 세그먼트를 획득할 수 있다(S670). 제2 서버(605)는 제2 텍스트 세그먼트를 전자 장치(100)에 전송할 수 있다(S675). 한편, S660 내지 S675는 순서가 변경될 수 있다. 즉, 제2 서버(605)가 먼저 제2 텍스트 세그먼트를 획득하여 전자 장치(100)에 전송할 수 있다.The first server 600 may obtain the first text segment by inputting the received first voice segment into the first ASR model ( S660 ). The first server 600 may transmit the first text segment to the electronic device 100 (S665). Then, the second server 605 may obtain the second text segment by inputting the received second voice segment into the second ASR model ( S670 ). The second server 605 may transmit the second text segment to the electronic device 100 (S675). Meanwhile, the order of S660 to S675 may be changed. That is, the second server 605 may first obtain the second text segment and transmit it to the electronic device 100 .
전자 장치(100)는 획득된 텍스트 세그먼트에 기초하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S680). 전자 장치(100)는 제1 및 제2 음성 세그먼트가 입력된 순서에 따라, 제1 텍스트 및 제2 텍스트 세그먼트를 조합하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다.The electronic device 100 may obtain a text corresponding to the user's voice based on the obtained text segment (S680). The electronic device 100 may obtain a text corresponding to the user's voice by combining the first text and the second text segment according to the order in which the first and second voice segments are input.
도 7은 본 개시의 일 실시예에 따른, 전자 장치(100)가 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 도면이다.7 is a diagram for describing a process in which the electronic device 100 acquires text corresponding to a user's voice according to an embodiment of the present disclosure.
전자 장치(100)는 사용자로부터 입력된 음성을 기 정의된 시간(예로, 25ms)을 가진 복수의 프레임으로 분할 또는 변환할 수 있다. 그리고, 전자 장치(100)는 비 음성 프레임(non-speech frame)을 필터링(filtering)할 수 있다. 이에 따라, 전자 장치(100)는 복수의 음성 프레임만을 획득할 수 있다. 여기서, 음성 프레임은 음성 성분이 포함된 프레임을 의미하며, 비 음성 프레임은 음성 성분이 포함되지 않은 프레임(예로, 침묵 또는 정적 구간(silence period))을 의미할 수 있다. The electronic device 100 may divide or convert the voice input from the user into a plurality of frames having a predefined time period (eg, 25 ms). In addition, the electronic device 100 may filter a non-speech frame. Accordingly, the electronic device 100 may acquire only a plurality of voice frames. Here, the voice frame may mean a frame including a voice component, and the non-voice frame may mean a frame (eg, a silence or a silence period) that does not include a voice component.
예를 들어, 전자 장치(100)는 음성 활동 감지(Speech Activity Detection, SAD)(또는, Voice Activity Detection, VAD) 기술을 이용하여 사용자 음성 중 음성 프레임 및 비 음성 프레임을 분류하고, 비 음성 프레임을 필터링할 수 있다.For example, the electronic device 100 classifies a voice frame and a non-voice frame among the user's voices using Speech Activity Detection (SAD) (or Voice Activity Detection, VAD) technology, and identifies the non-voice frame. can be filtered.
전자 장치(100)는 획득된 복수의 음성 프레임을 제2 모델(700)에 입력하여 상기 복수의 음성 프레임의 언어 유형을 획득할 수 있다. 음성 프레임의 언어 유형은 음성 프레임에 포함된 음성 성분에 대응되는 언어 유형을 의미할 수 있다. 그리고, 제2 모델(700)은 도 2를 참조하여 설명한 제2 모델(30)과 동일한 모델일 수 있다. 또 다른 예로, 제2 모델(700)은 언어 프레임을 기 정의된 시간(예로, 25ms)을 갖는 프레임 별 언어 유형을 획득하도록 학습된 인공 지능 모델로 구현될 수 있다.The electronic device 100 may acquire the language types of the plurality of voice frames by inputting the plurality of acquired voice frames into the second model 700 . The language type of the voice frame may mean a language type corresponding to a voice component included in the voice frame. Also, the second model 700 may be the same model as the second model 30 described with reference to FIG. 2 . As another example, the second model 700 may be implemented as an artificial intelligence model trained to acquire a language type for each frame having a pre-defined time (eg, 25 ms) for a language frame.
전자 장치(100)는 복수의 음성 프레임 각각을 복수의 음성 프레임 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 복수의 음성 프레임에 대응되는 텍스트 세그먼트를 획득할 수 있다.The electronic device 100 may obtain text segments corresponding to the plurality of voice frames by inputting each of the plurality of voice frames into the ASR model corresponding to the language type of each of the plurality of voice frames.
예를 들어, 도 7에 도시된 바와 같이, 전자 장치(100)는 SVD 기술을 이용하여 사용자 음성을 기 정의된 시간을 갖는 복수의 프레임으로 분할 또는 변환할 수 있다. 그리고, 전자 장치(100)는 복수의 프레임 중 비 음성 프레임을 필터링하여 복수의 음성 프레임을 획득할 수 있다.For example, as shown in FIG. 7 , the electronic device 100 may divide or convert the user's voice into a plurality of frames having a predefined time by using the SVD technology. In addition, the electronic device 100 may obtain a plurality of voice frames by filtering non-voice frames among the plurality of frames.
복수의 음성 프레임 중 제1 프레임 내지 제4 프레임의 언어 유형이 한국어인 경우, 전자 장치(100)는 제1 프레임 내지 제4 프레임을 한국어 기반으로 학습된 ASR 모델에 입력하여 각 프레임에 대응되는 텍스트 세그먼트를 획득할 수 있다. 그리고, 제5 프레임 내지 제6 프레임의 언어 유형이 영어인 경우, 전자 장치(100)는 제5 프레임 내지 제6 프레임을 영어 기반으로 학습된 ASR 모델에 입력하여 각 프레임에 대응되는 텍스트 세그먼트를 획득할 수 있다.When the language type of the first to fourth frames among the plurality of voice frames is Korean, the electronic device 100 inputs the first to fourth frames into the Korean-based ASR model and text corresponding to each frame. segment can be obtained. And, when the language type of the fifth to sixth frames is English, the electronic device 100 inputs the fifth to sixth frames into the English-based ASR model to obtain text segments corresponding to each frame. can do.
이 때, 각 ASR 모델은 전자 장치(100)에 포함되어 있을 수 있으나, 외부 서버에 저장되어 있을 수 있다. 각 ASR 모델은 하나의 외부 서버에 저장되어 있을 수 있고, 서로 별개의 외부 서버에 저장되어 있을 수 있다.In this case, each ASR model may be included in the electronic device 100 , but may be stored in an external server. Each ASR model may be stored in one external server or may be stored in separate external servers.
전자 장치(100)는 획득된 텍스트 세그먼트를 후 처리 모듈(710)에 입력하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다. 전자 장치(100)는, 복수의 텍스트 세그먼트에 대응되는 프레임이 전자 장치(100)에 입력된 순서에 따라, 복수의 텍스트 세그먼트를 조합하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다.The electronic device 100 may acquire the text corresponding to the user's voice by inputting the acquired text segment into the post-processing module 710 . The electronic device 100 may obtain a text corresponding to the user's voice by combining the plurality of text segments according to the order in which frames corresponding to the plurality of text segments are input to the electronic device 100 .
한편, 본 개시의 또 다른 실시예로, 전자 장치(100)는 필터링된 비 음성 프레임과 복수의 음성 프레임을 전자 장치(100)에 입력된 순서에 따라 재조합할 수 있다. 그리고, 전자 장치(100)는 복수의 음성 프레임 중 제1음성 프레임 및 제1 음성 프레임과 인접한 제1 비 음성 프레임을 제1 음성 프레임의 언어 유형에 대응되는 ASR 모델에 입력하여 제1 음성 프레임에 대응되는 텍스트를 획득할 수 있다. 음성 프레임에 비 음성 프레임을 재조합하고, 재조합된 프레임을 ASR 모델에 입력 할 경우, ASR 모델에 의한 음성 인식의 강인함(robustness)이 증가될 수 있다. Meanwhile, according to another embodiment of the present disclosure, the electronic device 100 may recombined the filtered non-voice frame and the plurality of voice frames according to the order they are input to the electronic device 100 . In addition, the electronic device 100 inputs the first voice frame and the first non-voice frame adjacent to the first voice frame among the plurality of voice frames into the ASR model corresponding to the language type of the first voice frame, and inserts the first voice frame into the first voice frame. The corresponding text can be obtained. When a non-voice frame is recombined with a speech frame and the recombined frame is input to the ASR model, robustness of speech recognition by the ASR model may be increased.
도 8은 본 개시의 일 실시예에 따른, 전자 장치(100)가 음성 신뢰도에 기초하여 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 순서도이다.8 is a flowchart illustrating a process in which the electronic device 100 acquires text corresponding to a user's voice based on voice reliability, according to an embodiment of the present disclosure.
사용자 음성이 입력되면, 전자 장치(100)는 입력된 사용자 음성을 복수의 ASR 모델 중 제1 ASR 모델에 입력할 수 있다(S810). 제1 ASR 모델은 사용자가 설정(또는, 선택)한 유형의 언어에 기반하여 학습된 ASR 모델을 의미하며, 기본 ASR 모델(또는, 오리지날(original) ASR 모델)이라고 표현될 수 있다. 예를 들어, 복수의 언어 중 사용자가 한국어를 선택한 경우, 전자 장치(100)는 입력된 사용자 음성을 한국어를 기반으로 학습된 ASR 모델(즉, 기본 ASR 모델)에 입력할 수 있다.When a user voice is input, the electronic device 100 may input the input user voice into a first ASR model among a plurality of ASR models ( S810 ). The first ASR model means an ASR model learned based on the type of language set (or selected) by the user, and may be expressed as a basic ASR model (or an original ASR model). For example, when the user selects Korean among a plurality of languages, the electronic device 100 may input the input user voice into an ASR model (ie, a basic ASR model) learned based on Korean.
전자 장치(100)는 제1 ASR 모델을 통해 출력된 음성 신뢰도(confidence)가 임계값 미만인지 여부를 식별할 수 있다(S820). 음성 신뢰도는 ASR 모델이 어느 정도의 신뢰도를 가지고 음성을 인식하고 음성에 대응되는 텍스트로 출력하였는지 수치화한 것이다. 음성 신뢰도가 높다는 것은 ASR 모델이 높은 신뢰도로 음성을 인식하고 이에 대응되는 텍스트를 출력하였다는 것을 의미할 수 있다. 음성 신뢰도가 임계값 미만이라는 것은 제1 ASR 모델을 추가로 업데이트(또는, 재학습)해야 한다는 것을 의미할 수 있다. 그리고, 임계값은 연구 또는 실험 등에 의해 기 설정된 값일 수 있으며, 사용자에 의해 변경될 수 있음은 물론이다.The electronic device 100 may identify whether a voice confidence output through the first ASR model is less than a threshold value ( S820 ). Speech reliability is a numerical measure of how reliable the ASR model is to recognize a voice and output it as text corresponding to the voice. A high speech reliability may mean that the ASR model recognizes a speech with high reliability and outputs a text corresponding thereto. That the voice reliability is less than the threshold value may mean that the first ASR model needs to be further updated (or retrained). And, it goes without saying that the threshold value may be a value preset by research or experimentation, and may be changed by a user.
한편, 입력된 사용자 음성에 제1 ASR 모델이 학습한 언어 유형 기준으로 외래어(loanword)에 해당하는 단어가 포함될 경우, 제1 ASR 모델은 사용자 음성 중 외래어 단어에 대응되는 음성을 정확히 인식하지 못할 가능성이 존재한다. 이에 따라, 제1 ASR 모델은 임계값 미만의 음성 신뢰도를 출력할 가능성이 존재한다. On the other hand, when the input user voice includes a word corresponding to a foreign word based on the language type learned by the first ASR model, the first ASR model may not accurately recognize the voice corresponding to the foreign word among the user's voices. this exists Accordingly, there is a possibility that the first ASR model outputs a speech reliability below the threshold.
예를 들어, 제1 ASR 모델이 한국어를 기반으로 학습된 모델이고, 전자 장치(100)에 입력된 사용자 음성이 '근처에 액세서리 집 찾아줘'인 경우를 가정한다. 이 때, '액세서리'는 영어로부터 유입되어 쓰이는 외래어인 바, 제1 ASR 모델은 입력된 사용자 음성 중 액세서리에 대응되는 음성을 정확히 인식하지 못할 수 있다. 이에 따라, 제1 ASR 모델은 임계값 미만의 음성 신뢰도를 출력할 수 있다.For example, it is assumed that the first ASR model is a model learned based on Korean, and the user's voice input to the electronic device 100 is 'find an accessory house nearby'. At this time, since 'accessory' is a foreign word introduced from English, the first ASR model may not accurately recognize the voice corresponding to the accessory among the input user voices. Accordingly, the first ASR model may output a voice reliability lower than the threshold value.
음성 신뢰도가 임계값 미만인 경우, 전자 장치(100)는 사용자 음성에 대응되는 텍스트 및 사용자 음성에 기초하여 제1 ASR 모델을 추가로 업데이트(또는, 재학습)할 수 있다(S830). When the voice reliability is less than the threshold, the electronic device 100 may additionally update (or relearn) the first ASR model based on the text corresponding to the user's voice and the user's voice ( S830 ).
일 실시예로, 음성 신뢰도가 임계값 미만인 경우, 전자 장치(100)는 제1 ASR 모델을 업데이트하기 위하여 사용자 음성에 대응되는 텍스트를 사용자로부터 입력 받을 수 있다. 구체적으로, 전자 장치(100)는 입력한 사용자 음성에 대응되는 텍스트를 입력할 것을 요청하는 UI를 표시할 수 있다. 그리고, 전자 장치(100)는 표시된 UI를 통해 사용자로부터 입력된 사용자 음성에 대응되는 텍스트를 입력 받을 수 있다.As an embodiment, when the voice reliability is less than the threshold, the electronic device 100 may receive a text corresponding to the user's voice from the user in order to update the first ASR model. Specifically, the electronic device 100 may display a UI requesting input of text corresponding to the input user's voice. In addition, the electronic device 100 may receive a text corresponding to the user's voice input from the user through the displayed UI.
또 다른 실시 예로, 전자 장치(100)는 사용자 음성을 제1 ASR 모델이 학습한 유형의 언어를 기반으로 학습된 ASR 모델이 포함된 서버에 전송할 수 있다. 그리고, 전자 장치(100)는 서버로부터 사용자 음성에 대응되는 텍스트를 수신할 수 있다. 서버에서 학습된 ASR 모델은 단말 장치에서 저장된 ASR보다 많은 양의 학습 데이터에 기반하여 학습되어 인식률이 비교적 높을 수 있다.As another embodiment, the electronic device 100 may transmit the user's voice to the server including the ASR model learned based on the type of language learned by the first ASR model. Then, the electronic device 100 may receive a text corresponding to the user's voice from the server. The ASR model learned in the server is learned based on a larger amount of training data than the ASR stored in the terminal device, so that the recognition rate may be relatively high.
전자 장치(100)는 사용자 또는 서버로부터 입력된 사용자 음성에 대응되는 텍스트 및 입력된 사용자 음성을 학습 데이터로 이용하여 제1 ASR 모델을 업데이트할 수 있다. 즉, 전자 장치(100)는 사용자 음성을 인식하고 사용자 음성에 대응되는 텍스트를 출력할 수 있도록 제1 ASR 모델을 추가 업데이트할 수 있다. 추가 업데이트에 따라, 제1 ASR 모델의 음성 인식률과 같은 성능이 향상될 수 있다.The electronic device 100 may update the first ASR model by using the text corresponding to the user's voice input from the user or the server and the input user's voice as training data. That is, the electronic device 100 may additionally update the first ASR model to recognize the user's voice and output text corresponding to the user's voice. With further updates, performance such as speech recognition rate of the first ASR model may be improved.
한편, 제1 ASR 모델을 통해 출력된 음성 신뢰도가 임계값 이상인 경우, 전자 장치(100)는 제1 ASR 모델을 통해 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S840). 즉, 전자 장치(100)는 제1 ASR 모델을 출력된 텍스트를 사용자 음성에 대응되는 텍스트로서 획득할 수 있다.Meanwhile, when the voice reliability output through the first ASR model is equal to or greater than the threshold value, the electronic device 100 may obtain a text corresponding to the user's voice through the first ASR model ( S840 ). That is, the electronic device 100 may obtain the output text of the first ASR model as text corresponding to the user's voice.
도 9는 본 개시의 일 실시예에 따른, 전자 장치(100)가 음성 신뢰도에 기초하여 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 순서도이다.9 is a flowchart illustrating a process in which the electronic device 100 acquires text corresponding to a user's voice based on voice reliability, according to an embodiment of the present disclosure.
사용자 음성이 입력되면, 전자 장치(100)는 입력된 사용자 음성을 복수의 ASR 모델 중 제1 ASR 모델에 입력할 수 있다(S910). 제1 ASR 모델은 도 8을 참조하여 설명한 바와 같이, 사용자가 설정(또는, 선택)한 유형의 언어에 기반하여 학습된 ASR 모델을 의미한다.When a user voice is input, the electronic device 100 may input the input user voice into a first ASR model among a plurality of ASR models ( S910 ). As described with reference to FIG. 8 , the first ASR model refers to an ASR model learned based on a type of language set (or selected) by a user.
전자 장치(100)는 제1 ASR 모델을 통해 출력된 음성 신뢰도가 임계값 미만인지 여부를 식별할 수 있다(S920).The electronic device 100 may identify whether the voice reliability output through the first ASR model is less than a threshold value (S920).
음성 신뢰도가 임계값 미만인 경우, 전자 장치(100)는 적어도 하나의 ASR 모델을 통해 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S930). 구체적으로, 도 5를 참조하여 설명한 바와 같이, 전자 장치(100)는 사용자 음성을 복수의 음성 세그먼트로 분할하고, 분할된 음성 세그먼트를 각 음성 세그먼트의 언어 유형에 대응되는 ASR 모델에 입력함으로써 텍스트 세그먼트를 획득하고, 획득된 텍스트 세그먼트를 조합하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다.When the voice reliability is less than the threshold, the electronic device 100 may obtain a text corresponding to the user's voice through at least one ASR model (S930). Specifically, as described with reference to FIG. 5 , the electronic device 100 divides the user's voice into a plurality of voice segments, and inputs the divided voice segments into an ASR model corresponding to the language type of each voice segment to segment the text. may be obtained, and the text corresponding to the user's voice may be obtained by combining the obtained text segments.
전자 장치(100)는 사용자 음성에 대응되는 텍스트를 제1 ASR 모델에 대응되는 언어 유형의 텍스트로 변환되도록 처리할 수 있다(S940). 구체적으로, 전자 장치(100)는 사용자 음성에 대응되는 텍스트 중 제1 ASR 모델이 학습하지 않은 유형의 언어의 텍스트가 포함되어 있는지 여부를 식별할 수 있다. 사용자 음성에 대응되는 텍스트 중 일부 텍스트가 제1 ASR 모델이 학습하지 않은 유형의 언어로 구성된 경우, 전자 장치(100)는 일부 텍스트가 제1 ASR 모델이 학습한 유형의 언어의 텍스트로 변환되도록 처리할 수 있다.The electronic device 100 may process the text corresponding to the user's voice to be converted into the text of the language type corresponding to the first ASR model (S940). Specifically, the electronic device 100 may identify whether a text of a language that the first ASR model has not learned from among the text corresponding to the user's voice is included. When some of the texts corresponding to the user's voice are configured in a language of a type not learned by the first ASR model, the electronic device 100 processes the partial texts to be converted into texts of a type of language learned by the first ASR model can do.
일 실시예로, 전자 장치(100)는 일부 텍스트를 제1 ASR 모델이 학습한 유형의 언어의 발음에 맞게 변환되도록 처리할 수 있다. 예를 들어, 제1 ASR 모델이 한국어를 기반으로 학습된 모델이고, 상기 일부 텍스트가 'taxi'인 경우를 가정한다. 전자 장치(100)는 상기 일부 텍스트인 'taxi'를 한국어 발음에 맞도록 '택시'로 변환되도록 처리할 수 있다. 즉, 전자 장치(100)는 영어로 구성된 일부 텍스트를 제1 ASR 모델이 학습한 유형인 한국어로 변환되도록 처리할 수 있다.As an embodiment, the electronic device 100 may process some text to be converted to match the pronunciation of a type of language learned by the first ASR model. For example, it is assumed that the first ASR model is a model learned based on Korean, and the partial text is 'taxi'. The electronic device 100 may process the partial text 'taxi' to be converted into 'taxi' to match the Korean pronunciation. That is, the electronic device 100 may process some texts composed of English to be converted into Korean, which is a type learned by the first ASR model.
전자 장치(100)는 변환된 텍스트 및 사용자 음성에 기초하여 제1 ASR 모델을 학습시킬 수 있다(S950). 즉, 전자 장치(100)는 제1 ASR 모델이 학습한 유형의 언어로 변환된 텍스트 및 변환된 텍스트에 대응되는 사용자 음성에 입력에 기초하여 제1 ASR 모델을 재학습 시킴으로써 제1 ASR 모델의 음성 인식 성능을 높일 수 있다.The electronic device 100 may train the first ASR model based on the converted text and the user's voice (S950). That is, the electronic device 100 re-learns the first ASR model based on the input to the text converted into the language of the type learned by the first ASR model and the user's voice corresponding to the converted text to obtain the voice of the first ASR model. recognition performance can be improved.
한편, 제1 ASR 모델을 통해 출력된 음성 신뢰도가 임계값 이상인 경우, 전자 장치(100)는 제1 ASR 모델을 통해 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S960). 즉, 전자 장치(100)는 제1 ASR 모델을 출력된 텍스트를 사용자 음성에 대응되는 텍스트로서 획득할 수 있다.Meanwhile, when the voice reliability output through the first ASR model is equal to or greater than the threshold value, the electronic device 100 may obtain a text corresponding to the user's voice through the first ASR model ( S960 ). That is, the electronic device 100 may obtain the output text of the first ASR model as text corresponding to the user's voice.
도 10은 본 개시의 일 실시예에 따른, 전자 장치(100)의 구성을 상세히 도시한 블록도이다. 도 10에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 마이크(120), 프로세서(130), 통신부(140), 디스플레이(150), 입력부(160), 스피커(170) 및 센서(180)가 포함될 수 있다. 메모리(110), 마이크(120) 및 프로세서(130)는 도 1을 참조하여 구체적으로 설명하였으므로 중복되는 설명은 생략하도록 한다.10 is a block diagram illustrating in detail the configuration of the electronic device 100 according to an embodiment of the present disclosure. 10 , the electronic device 100 includes a memory 110 , a microphone 120 , a processor 130 , a communication unit 140 , a display 150 , an input unit 160 , a speaker 170 , and a sensor. (180) may be included. Since the memory 110 , the microphone 120 , and the processor 130 have been described in detail with reference to FIG. 1 , redundant descriptions will be omitted.
통신부(140)는 외부 장치(예로, 외부 서버 등)와 통신을 수행할 수 있다. 이때, 통신부(140)가 외부 장치와 통신 연결되는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 서버 또는 게이트웨이 등)를 거쳐서 통신하는 것을 포함할 수 있다.The communication unit 140 may communicate with an external device (eg, an external server, etc.). In this case, the communication connection of the communication unit 140 with the external device may include communication through a third device (eg, a repeater, a hub, an access point, a server, or a gateway).
통신부(140)는 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(140)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), 5G(5th generation), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다. The communication unit 140 may include various communication modules to communicate with an external device. For example, the communication unit 140 may include a wireless communication module, for example, LTE, LTE Advance (LTE-A), 5G (5th generation), CDMA (code division multiple access), WCDMA (wideband CDMA) , a cellular communication module using at least one of universal mobile telecommunications system (UMTS), wireless broadband (WiBro), and global system for mobile communications (GSM).
또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. As another example, the wireless communication module includes, for example, at least one of wireless fidelity (WiFi), Bluetooth, Bluetooth low energy (BLE), Zigbee, radio frequency (RF), or body area network (BAN). can do.
통신부(140)는 음성 세그먼트를 ASR 모델을 저장하는 외부 서버에 전송할 수 있다. 예를 들어, 통신부(140)는, 프로세서(130) 제어에 의해, 한국어로 이루어진 음성 세그먼트를 한국어를 기반으로 학습된 ASR 모델이 저장된 외부 서버에 전송할 수 있다. 통신부(140)는 ASR 모델이 저장된 외부 서버로부터 음성 세그먼트에 대응되는 텍스트 세그먼트를 수신할 수 있다.The communication unit 140 may transmit the voice segment to an external server storing the ASR model. For example, the communication unit 140 may transmit, under the control of the processor 130 , a voice segment in Korean to an external server in which an ASR model learned based on Korean is stored. The communication unit 140 may receive a text segment corresponding to the voice segment from an external server in which the ASR model is stored.
한편, 제1 모델 및 제2 모델 중 적어도 하나가 외부 서버에 저장되어 있는 경우, 통신부(140)는 사용자 음성 또는 음성 세그먼트 각각을 제1 모델 또는 제2 모델에 전송할 수 있다. 그리고, 통신부(140)는 제1 모델 또는 제2 모델로부터 전송된 데이터를 수신할 수 있다.Meanwhile, when at least one of the first model and the second model is stored in the external server, the communication unit 140 may transmit the user's voice or each of the voice segments to the first model or the second model. In addition, the communication unit 140 may receive data transmitted from the first model or the second model.
디스플레이(150)는 프로세서(130)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 디스플레이(150)는 복수의 언어 유형 중 하나를 선택하여 기본 ASR 모델을 설정할 수 있는 UI를 표시할 수 있다. UI를 통해 복수의 언어의 유형 중 하나가 선택되면, 프로세서(130)는 선택된 언어의 유형을 기반으로 학습된 ASR 모델을 기본 ASR 모델로 설정할 수 있다.The display 150 may display various information under the control of the processor 130 . In particular, the display 150 may display a UI for setting a basic ASR model by selecting one of a plurality of language types. When one of the plurality of language types is selected through the UI, the processor 130 may set the learned ASR model based on the selected language type as the basic ASR model.
그리고, 디스플레이(150)는 터치 패널과 함께 터치 스크린으로 구현될 수 있으며, 플렉서블 디스플레이로 구현될 수 있다.In addition, the display 150 may be implemented as a touch screen together with a touch panel, or may be implemented as a flexible display.
입력부(160)는 전자 장치(100)를 제어하기 위한 사용자 입력을 수신할 수 있다. 특히, 입력부(160)는 사용자 손 또는 스타일러스 펜 등을 이용한 사용자 터치를 입력받기 위한 터치 패널, 사용자 조작을 입력받기 위한 버튼 등이 포함될 수 있다. 그 밖에, 입력부(160)는 다른 입력 장치(예로, 키보드, 마우스, 모션 입력부 등)로 구현될 수 있다. 입력부(160)를 통해 기본 ASR 모델을 설정하기 위해 복수의 언어 중 하나를 선택하기 위한 사용자 명령을 입력받을 수 있다.The input unit 160 may receive a user input for controlling the electronic device 100 . In particular, the input unit 160 may include a touch panel for receiving a user touch input using a user's hand or a stylus pen, a button for receiving a user manipulation, and the like. In addition, the input unit 160 may be implemented as another input device (eg, a keyboard, a mouse, a motion input unit, etc.). A user command for selecting one of a plurality of languages may be input through the input unit 160 to set the basic ASR model.
스피커(170)는 오디오 처리부에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. The speaker 170 is configured to output not only various audio data on which various processing tasks such as decoding, amplification, and noise filtering have been performed by the audio processing unit, but also various notification sounds or voice messages.
특히, 스피커(170)는 ASR 모델을 통해 출력된 텍스트를 처리하여 획득된 응답을 음성 형태로 출력할 수 있다. 예를 들어, 프로세서(130)는 획득된 텍스트를 언어 이해 모듈(Natural Language Understanding, NLU) 모듈에 입력하여 통해 텍스트의 의도(intent) 등을 식별할 수 있다. 그리고, 프로세서(130)는 식별된 의도에 기반하여 입력된 음성에 대한 응답을 획득하고, 획득된 응답을 스피커(170)을 통해 음성 형태로 출력할 수 있다.In particular, the speaker 170 may output a response obtained by processing the text output through the ASR model in the form of a voice. For example, the processor 130 may identify the intent of the text by inputting the obtained text into a Natural Language Understanding (NLU) module. In addition, the processor 130 may obtain a response to the input voice based on the identified intention, and output the acquired response in the form of a voice through the speaker 170 .
한편, 오디오를 출력하기 위한 구성은 스피커로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다. Meanwhile, a configuration for outputting audio may be implemented as a speaker, but this is only an exemplary embodiment and may be implemented as an output terminal capable of outputting audio data.
센서(180)는 전자 장치(100)의 다양한 상태 정보를 감지할 수 있다. 예로, 센서(180)는 전자 장치(100)의 움직임 정보를 감지할 수 있는 움직임 센서(예로, 자이로 센서, 가속도 센서 등)를 포함할 수 있으며, 사용자의 음성이 입력되었음을 감지할 수 있는 센서, 위치 정보를 감지할 수 있는 센서(예로, GPS(Global Positioning System) 센서), 전자 장치(100) 주위의 환경 정보를 감지할 수 있는 센서(예로, 온도 센서, 습도 센서, 기압 센서 등), 사용자의 존재를 감지할 수 있는 센서(예로, 카메라, UWB 센서, IR 센서, 근접 센서, 광센서 등) 등을 포함할 수 있다. 그 밖에, 센서(180)는 전자 장치(100)의 외부를 촬영하기 위한 이미지 센서 등을 더 포함할 수 있다.The sensor 180 may detect various state information of the electronic device 100 . For example, the sensor 180 may include a motion sensor (eg, a gyro sensor, an acceleration sensor, etc.) capable of detecting motion information of the electronic device 100, a sensor capable of detecting that a user's voice is input; A sensor capable of detecting location information (eg, a global positioning system (GPS) sensor), a sensor capable of detecting environmental information around the electronic device 100 (eg, a temperature sensor, a humidity sensor, a barometric pressure sensor, etc.), a user It may include a sensor (eg, a camera, a UWB sensor, an IR sensor, a proximity sensor, an optical sensor, etc.) capable of detecting the presence of the . In addition, the sensor 180 may further include an image sensor for photographing the outside of the electronic device 100 .
한편, 본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 서버 클라우드를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. Meanwhile, various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage medium readable by a machine (eg, a computer). A device that calls an instruction and can operate according to the called instruction, and may include a server cloud according to the disclosed embodiments. When the instruction is executed by a processor, the processor directly or other configuration under the control of the processor A function corresponding to the command can be performed using the elements.
명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적은 저장매체'는 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.Instructions may include code generated or executed by a compiler or interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory storage medium' does not include a signal and only means that it is tangible and does not distinguish that data is semi-permanently or temporarily stored in the storage medium. For example, the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예로, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to an embodiment, the method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. The computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play Store™). In the case of online distribution, at least a portion of the computer program product (eg, a downloadable app) is at least temporarily stored in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server, or temporarily can be created with
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each of the components (eg, a module or a program) according to various embodiments may be composed of a singular or a plurality of entities, and some sub-components of the aforementioned sub-components may be omitted, or other sub-components may be various. It may be further included in the embodiment. Alternatively or additionally, some components (eg, a module or a program) may be integrated into a single entity to perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added. can
Claims (15)
- 전자 장치에 있어서,In an electronic device,마이크;MIC;메모리; 및Memory; and단어 경계(word boundary)에 기초하여 음성을 분할하도록 학습된 제1 모델에 상기 마이크를 통해 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트(segment)를 획득하고,Obtaining a plurality of speech segments by inputting a first user voice input through the microphone into a first model trained to segment speech based on a word boundary,음성의 언어 유형을 식별하도록 학습된 제2 모델에 상기 복수의 음성 세그먼트를 입력하여 상기 복수의 음성 세그먼트 각각의 언어 유형을 획득하고,inputting the plurality of speech segments into a second model trained to identify a language type of speech to obtain a language type of each of the plurality of speech segments;상기 복수의 음성 세그먼트 각각을 복수의 ASR(Auto Speech Recognition) 모델 중 상기 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하고,inputting each of the plurality of speech segments into an ASR model corresponding to the language type of each of the plurality of speech segments among a plurality of Auto Speech Recognition (ASR) models to obtain a plurality of text segments corresponding to each of the plurality of speech segments; ,상기 복수의 텍스트 세그먼트에 기초하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 프로세서;를 포함하는 전자 장치.and a processor configured to obtain a text corresponding to the first user's voice based on the plurality of text segments.
- 제1항에 있어서,According to claim 1,상기 제1 모델은,The first model is사용자 음성의 파형(waveform) 데이터에 기초하여 적어도 하나의 단어 경계를 식별하도록 학습되는 것을 특징으로 하는 전자 장치.wherein the electronic device is trained to identify at least one word boundary based on waveform data of a user's speech.
- 제1항에 있어서,According to claim 1,상기 프로세서는,The processor is상기 복수의 음성 세그먼트 중 제1 음성 세그먼트 및 제2 음성 세그먼트 각각의 언어 유형이 제1 언어 유형 및 제2 언어 유형인 경우, When a language type of each of a first voice segment and a second voice segment among the plurality of voice segments is a first language type and a second language type,상기 제1 음성 세그먼트를 상기 복수의 ASR 모델 중 제1 언어 유형에 대응되는 ASR 모델에 입력하여 상기 제1 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득하고, 상기 제2 음성 세그먼트를 상기 복수의 ASR 모델 중 제2 언어 유형에 대응되는 ASR 모델에 입력하여 제2 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득하는 전자 장치.The first speech segment is input to an ASR model corresponding to a first language type among the plurality of ASR models to obtain a text segment corresponding to the first speech segment, and the second speech segment is selected from the plurality of ASR models. An electronic device for obtaining a text segment corresponding to a second voice segment by inputting it into an ASR model corresponding to a second language type.
- 제1항에 있어서,According to claim 1,상기 프로세서는,The processor is상기 제2 모델이 학습하지 않은 제3 언어 유형을 인식하도록 학습할 것을 요구하는 사용자 명령이 입력되면, 상기 제3 언어 유형과 관련된 학습 데이터에 기초하여 상기 제2 모델을 학습시키는 전자 장치.An electronic device that trains the second model based on learning data related to the third language type when a user command for requesting that the second model learn to recognize a third language type that has not been learned is input.
- 제1항에 있어서,According to claim 1,상기 프로세서는,The processor is상기 복수의 텍스트 세그먼트에 대응되는 음성 세그먼트가 입력된 순서에 따라, 상기 복수의 텍스트 세그먼트를 조합하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치.The electronic device obtains the text corresponding to the first user's voice by combining the plurality of text segments according to an input order of the voice segments corresponding to the plurality of text segments.
- 제1항에 있어서,According to claim 1,상기 프로세서는,The processor is상기 마이크를 통해 입력된 제2 사용자 음성을 복수의 프레임으로 변환하고, 상기 변환된 복수의 프레임 중 비 음성 프레임(non-speech frame)을 필터링(filtering)하여 복수의 음성 프레임(speech frame)을 획득하고,The second user's voice input through the microphone is converted into a plurality of frames, and a plurality of speech frames is obtained by filtering non-speech frames among the converted plurality of frames. do,상기 획득된 복수의 음성 프레임을 상기 제2 모델에 입력하여 상기 복수의 음성 프레임 각각의 언어 유형을 획득하고,inputting the plurality of obtained speech frames into the second model to obtain a language type of each of the plurality of speech frames;상기 복수의 음성 프레임 각각을 상기 복수의 음성 프레임 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 프레임에 대응되는 텍스트 세그먼트를 획득하고,inputting each of the plurality of speech frames into an ASR model corresponding to the language type of each of the plurality of speech frames to obtain a text segment corresponding to the plurality of speech frames;상기 획득된 복수의 음성 프레임에 대응되는 텍스트 세그먼트에 기초하여 상기 제2 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치.The electronic device obtains the text corresponding to the second user's voice based on the text segments corresponding to the plurality of acquired voice frames.
- 제6항에 있어서,7. The method of claim 6,상기 프로세서는,The processor is상기 필터링된 비 음성 프레임과 상기 복수의 음성 프레임을 상기 마이크에 입력된 순서에 따라 재조합하고,Recombining the filtered non-voice frame and the plurality of voice frames according to the order inputted to the microphone,상기 복수의 음성 프레임 중 제1 음성 프레임 및 상기 제1 음성 프레임에 인접한 제1 비 음성 프레임을 상기 제1 음성 프레임의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 제1 음성 프레임에 대응되는 텍스트 세그먼트를 획득하는 전자 장치.A text segment corresponding to the first voice frame by inputting a first voice frame among the plurality of voice frames and a first non-voice frame adjacent to the first voice frame into an ASR model corresponding to the language type of the first voice frame An electronic device to obtain
- 제1항에 있어서,According to claim 1,상기 프로세서는,The processor is상기 제1 사용자 음성을 상기 복수의 ASR 모델 중 제1 ASR 모델에 입력하여 음성 신뢰도 값을 획득하고,inputting the first user's voice into a first ASR model among the plurality of ASR models to obtain a voice reliability value;상기 음성 신뢰도 값이 임계값 미만인 경우, 상기 제1 사용자 음성에 대응되는 텍스트 및 상기 사용자 음성에 기초하여 상기 제1 ASR 모델을 업데이트하는 전자 장치.When the voice reliability value is less than a threshold value, the electronic device updates the first ASR model based on a text corresponding to the first user voice and the user voice.
- 제1항에 있어서,According to claim 1,상기 프로세서는,The processor is상기 제1 사용자 음성을 상기 복수의 ASR 모델 중 제1 ASR 모델에 입력하여 음성 신뢰도 값을 획득하고,inputting the first user's voice into a first ASR model among the plurality of ASR models to obtain a voice reliability value;상기 음성 신뢰도 값이 임계값 미만인 경우, 상기 복수의 ASR 모델 중 적어도 하나의 ASR 모델을 이용하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하고,When the voice reliability value is less than the threshold value, the text corresponding to the first user's voice is obtained by using at least one ASR model among the plurality of ASR models,상기 획득된 제1 사용자 음성에 대응되는 텍스트를 상기 제1 ASR 모델에 대응되는 언어 유형의 텍스트로 변환하고,converting text corresponding to the obtained first user voice into text of a language type corresponding to the first ASR model;상기 변환된 텍스트 및 상기 제1 사용자 음성에 기초하여 상기 제1 ASR 모델을 업데이트 하는 전자 장치.The electronic device updates the first ASR model based on the converted text and the first user voice.
- 제8항에 있어서,9. The method of claim 8,상기 프로세서는,The processor is상기 음성 신뢰도 값이 상기 임계값 이상인 경우, 상기 제1 ASR 모델을 통해 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치.When the voice reliability value is equal to or greater than the threshold value, the electronic device acquires a text corresponding to the first user voice through the first ASR model.
- 전자 장치의 제어 방법에 있어서,A method for controlling an electronic device, comprising:단어 경계에 기초하여 음성을 분할하도록 학습된 제1 모델에 상기 전자 장치에 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트를 획득하는 단계; acquiring a plurality of speech segments by inputting a first user's speech input to the electronic device into a first model trained to segment speech based on word boundaries;음성의 언어 유형을 식별하도록 학습된 제2 모델에 상기 복수의 음성 세그먼트를 입력하여 상기 복수의 음성 세그먼트 각각의 언어 유형을 획득하는 단계;obtaining a language type of each of the plurality of speech segments by inputting the plurality of speech segments into a second model trained to identify a language type of speech;상기 복수의 음성 세그먼트 각각을 복수의 ASR 모델 중 상기 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하는 단계; 및inputting each of the plurality of speech segments into an ASR model corresponding to a language type of each of the plurality of speech segments among a plurality of ASR models to obtain a plurality of text segments corresponding to each of the plurality of speech segments; and상기 복수의 텍스트 세그먼트에 기초하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 단계;를 포함하는 제어 방법.and obtaining a text corresponding to the first user's voice based on the plurality of text segments.
- 제11항에 있어서,12. The method of claim 11,상기 제1 모델은,The first model is사용자 음성의 파형(waveform) 데이터에 기초하여 적어도 하나의 단어 경계를 식별하도록 학습되는 것을 특징으로 하는 제어 방법.A method according to claim 1, wherein the control method is learned to identify at least one word boundary based on waveform data of a user's speech.
- 제11항에 있어서,12. The method of claim 11,상기 복수의 텍스트 세그먼트를 획득하는 단계는,Obtaining the plurality of text segments comprises:상기 복수의 음성 세그먼트 중 제1 음성 세그먼트 및 제2 음성 세그먼트 각각의 언어 유형이 제1 언어 유형 및 제2 언어 유형인 경우, When the language type of each of the first and second voice segments among the plurality of voice segments is the first language type and the second language type,상기 제1 음성 세그먼트를 상기 복수의 ASR 모델 중 제1 언어 유형에 대응되는 ASR 모델에 입력하여 상기 제1 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득하고, 상기 제2 음성 세그먼트를 상기 복수의 ASR 모델 중 제2 언어 유형에 대응되는 ASR 모델에 입력하여 제2 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득하는 단계;를 포함하는 제어 방법.The first speech segment is input to an ASR model corresponding to a first language type among the plurality of ASR models to obtain a text segment corresponding to the first speech segment, and the second speech segment is selected from the plurality of ASR models. and obtaining a text segment corresponding to the second speech segment by inputting the input to the ASR model corresponding to the second language type.
- 제11항에 있어서,12. The method of claim 11,상기 제2 모델이 학습하지 않은 제3 언어 유형을 인식하도록 학습할 것을 요구하는 사용자 명령이 입력되면, 상기 제3 언어 유형과 관련된 학습 데이터에 기초하여 상기 제2 모델을 학습시키는 단계;를 더 포함하는 제어 방법.When a user command for requesting that the second model learn to recognize a third language type that has not been learned is input, learning the second model based on learning data related to the third language type; further comprising control method.
- 제11항에 있어서,12. The method of claim 11,상기 복수의 텍스트 세그먼트에 대응되는 음성 세그먼트가 입력된 순서에 따라, 상기 복수의 텍스트 세그먼트를 조합하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 단계;를 더 포함하는 제어 방법.and obtaining a text corresponding to the first user's voice by combining the plurality of text segments according to the order in which the voice segments corresponding to the plurality of text segments are input.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0022137 | 2021-02-18 | ||
KR1020210022137A KR20220118242A (en) | 2021-02-18 | 2021-02-18 | Electronic device and method for controlling thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022177063A1 true WO2022177063A1 (en) | 2022-08-25 |
Family
ID=82932022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/003944 WO2022177063A1 (en) | 2021-02-18 | 2021-03-30 | Electronic device and control method therefor |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20220118242A (en) |
WO (1) | WO2022177063A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100138520A (en) * | 2009-06-25 | 2010-12-31 | 한국전자통신연구원 | Speech recognition apparatus and its method |
US20110307252A1 (en) * | 2010-06-15 | 2011-12-15 | Microsoft Corporation | Using Utterance Classification in Telephony and Speech Recognition Applications |
KR20140120560A (en) * | 2013-04-03 | 2014-10-14 | 삼성전자주식회사 | Interpretation apparatus controlling method, interpretation server controlling method, interpretation system controlling method and user terminal |
KR20170000722A (en) * | 2015-06-24 | 2017-01-03 | 엘지전자 주식회사 | Electronic device and method for recognizing speech thereof |
KR20190096876A (en) * | 2019-07-31 | 2019-08-20 | 엘지전자 주식회사 | System nad method of unsupervised training with weight sharing for the improvement in speech recognition and recording medium for performing the method |
-
2021
- 2021-02-18 KR KR1020210022137A patent/KR20220118242A/en unknown
- 2021-03-30 WO PCT/KR2021/003944 patent/WO2022177063A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100138520A (en) * | 2009-06-25 | 2010-12-31 | 한국전자통신연구원 | Speech recognition apparatus and its method |
US20110307252A1 (en) * | 2010-06-15 | 2011-12-15 | Microsoft Corporation | Using Utterance Classification in Telephony and Speech Recognition Applications |
KR20140120560A (en) * | 2013-04-03 | 2014-10-14 | 삼성전자주식회사 | Interpretation apparatus controlling method, interpretation server controlling method, interpretation system controlling method and user terminal |
KR20170000722A (en) * | 2015-06-24 | 2017-01-03 | 엘지전자 주식회사 | Electronic device and method for recognizing speech thereof |
KR20190096876A (en) * | 2019-07-31 | 2019-08-20 | 엘지전자 주식회사 | System nad method of unsupervised training with weight sharing for the improvement in speech recognition and recording medium for performing the method |
Also Published As
Publication number | Publication date |
---|---|
KR20220118242A (en) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018070780A1 (en) | Electronic device and method for controlling the same | |
WO2020166896A1 (en) | Electronic apparatus and controlling method thereof | |
WO2020159288A1 (en) | Electronic device and control method thereof | |
WO2021071110A1 (en) | Electronic apparatus and method for controlling electronic apparatus | |
WO2020159140A1 (en) | Electronic device and control method therefor | |
WO2020071854A1 (en) | Electronic apparatus and control method thereof | |
WO2020130549A1 (en) | Electronic device and method for controlling electronic device | |
WO2020054980A1 (en) | Phoneme-based speaker model adaptation method and device | |
WO2020080635A1 (en) | Electronic device for performing voice recognition using microphones selected on basis of operation state, and operation method of same | |
WO2021071271A1 (en) | Electronic apparatus and controlling method thereof | |
WO2021251539A1 (en) | Method for implementing interactive message by using artificial neural network and device therefor | |
WO2020080771A1 (en) | Electronic device providing modified utterance text and operation method therefor | |
WO2021045503A1 (en) | Electronic apparatus and control method thereof | |
WO2022177063A1 (en) | Electronic device and control method therefor | |
WO2020101174A1 (en) | Method and apparatus for generating personalized lip reading model | |
WO2020116766A1 (en) | Method for generating user prediction model for identifying user by learning data, electronic device applied with said model, and method for applying said model | |
WO2021154018A1 (en) | Electronic device and method for controlling the electronic device thereof | |
WO2018155810A1 (en) | Electronic device, control method therefor, and non-transitory computer readable recording medium | |
WO2022149688A1 (en) | Electronic device and control method therefor | |
WO2021107308A1 (en) | Electronic device and control method therefor | |
WO2021112391A1 (en) | Electronic device and control method therefor | |
WO2020138943A1 (en) | Voice recognition apparatus and method | |
WO2020009261A1 (en) | Digital device capable of voice recognition and control method thereof | |
WO2023003072A1 (en) | Apparatus and method for providing speech recognition service by using artificial intelligence model | |
WO2022108075A1 (en) | Electronic device, control method thereof, and electronic system |
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: 21926862 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21926862 Country of ref document: EP Kind code of ref document: A1 |