WO2023163383A1 - 멀티모달 기반 실시간 감정인식 방법 및 장치 - Google Patents
멀티모달 기반 실시간 감정인식 방법 및 장치 Download PDFInfo
- Publication number
- WO2023163383A1 WO2023163383A1 PCT/KR2023/001005 KR2023001005W WO2023163383A1 WO 2023163383 A1 WO2023163383 A1 WO 2023163383A1 KR 2023001005 W KR2023001005 W KR 2023001005W WO 2023163383 A1 WO2023163383 A1 WO 2023163383A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature
- stream
- voice
- embedding vector
- emotion recognition
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000008451 emotion Effects 0.000 title claims abstract description 71
- 230000008909 emotion recognition Effects 0.000 claims abstract description 135
- 230000005236 sound signal Effects 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 122
- 238000000605 extraction Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 33
- 230000002123 temporal effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 description 27
- 238000007781 pre-processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 206010002953 Aphonia Diseases 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 210000003477 cochlea Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/02—Feature extraction for speech recognition; Selection of recognition unit
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
- G10L25/63—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state
Definitions
- the present disclosure relates to a multimodal-based real-time emotion recognition method and apparatus. More particularly, the present disclosure relates to a method and apparatus belonging to the field of audio-text based non-contact sentiment analysis.
- Conventional face recognition based multimodal emotion recognition technology uses an image containing a face as main information.
- Conventional face recognition-based multimodal emotion recognition technology uses voice input as additional information to improve recognition accuracy.
- the conventional facial recognition-based emotion recognition technology has the potential for personal information infringement in data collection.
- the conventional facial recognition-based emotion recognition technology has a problem in that it cannot provide a method for recognizing emotions based on voice and text.
- the acoustic feature includes a technique for extracting a feature based on an input signal divided into predetermined sections or a Mel Frequency Cepstral Coefficient (MFCC), which is a feature extracted by the method.
- MFCC Mel Frequency Cepstral Coefficient
- the word embedding vector may be an embedding vector extracted using Word2Vec, a vectorization method for expressing similarity between words in a sentence.
- the conventional English-based multimodal sentiment analysis model has not been commercialized due to a performance issue.
- transformer networks using self-attention have been studied.
- the conventional transformer network-based deep learning model has a problem in that it cannot provide a commercialized model for implementing real-time services due to data processing latency.
- the main object is to provide an emotion recognition device including a multi-modal transformer model based on a cross-modal transformer and an emotion recognition method therefor .
- another main object is to provide an emotion recognition device including a multimodal transformer model based on parameter sharing and an emotion recognition method using the same.
- an emotion recognition method using an audio stream receives an audio signal having a predetermined unit length and corresponds to the audio signal. generating the voice stream; converting the voice stream into a text stream corresponding to the voice stream; and inputting the voice stream and the converted text stream to a pre-learned emotion recognition model and outputting multi-modal emotion corresponding to the voice signal. It provides a method for recognizing emotions.
- an emotion recognition device using a voice stream comprising: a voice buffer for receiving a voice signal having a preset unit length and generating the voice stream corresponding to the voice signal; a speech-to-text (STT) model for converting the voice stream into a text stream corresponding to the voice stream; and an emotion recognition model that receives the voice stream and the converted text stream and outputs a multimodal emotion corresponding to the voice signal.
- a voice buffer for receiving a voice signal having a preset unit length and generating the voice stream corresponding to the voice signal
- STT speech-to-text
- computer programs stored in one or more computer-readable recording media are provided to execute each process included in the emotion recognition method.
- FIG. 1A and 1B are block diagrams for explaining the configuration of an emotion recognition device according to an embodiment of the present disclosure.
- FIG. 2 is a block diagram illustrating the configuration of an emotion recognition model included in an emotion recognition device according to an embodiment of the present disclosure.
- FIG. 3 is a block diagram illustrating the extraction of multimodal features by an emotion recognition model according to an embodiment of the present disclosure.
- FIG. 4 is a block diagram illustrating the configuration of an emotion recognition model included in an emotion recognition device according to another embodiment of the present disclosure.
- FIG. 5 is a block diagram illustrating the extraction of multimodal features by an emotion recognition model according to another embodiment of the present disclosure.
- FIG. 6 is a flowchart illustrating an emotion recognition method according to an embodiment of the present disclosure.
- FIG. 7 is a flowchart illustrating a process of outputting multimodal emotions included in an emotion recognition method according to an embodiment of the present disclosure.
- FIG. 8 is a flowchart illustrating a process of outputting multimodal emotions included in an emotion recognition method according to another embodiment of the present disclosure.
- first, second, A, B, (a), and (b) may be used in describing the components of the present invention. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term.
- a part 'includes' or 'includes' a certain component it means that it may further include other components without excluding other components unless otherwise stated.
- terms such as ' ⁇ unit' and 'module' described in the specification refer to a unit that processes at least one function or operation, and may be implemented by hardware, software, or a combination of hardware and software.
- the present disclosure provides a multimodal-based real-time emotion recognition method and an emotion recognition device. Specifically, the present disclosure provides for recognizing human emotions in real time by extracting multi-modal features by inputting voice and text into a pre-trained deep learning model. An emotion recognition method and an emotion recognition device are provided.
- FIG. 1A and 1B are block diagrams for explaining the configuration of an emotion recognition device according to an embodiment of the present disclosure.
- the emotion recognition device includes a sound buffer (100), a speech-to-text model (STT model, 110), and an emotion recognition model (emotion recognition model, 120). includes all or part of The emotion recognition device 10 shown in FIG. 1A is according to an embodiment of the present disclosure, and all blocks shown in FIG. 1A are not essential components, and some included in the emotion recognition device 10 in another embodiment. Blocks can be added, changed or deleted.
- the audio buffer 100 receives an audio signal having a predetermined unit length and generates an audio stream corresponding to the audio signal. Specifically, the audio buffer 100 connects a previously stored audio signal and a currently input audio signal to generate a audio stream corresponding to the currently input audio signal.
- the unit length of the audio signal may be the length of the audio signal corresponding to a preset time interval.
- the entire audio signal may be divided into a plurality of time frames having a unit length and inputted in order to grasp context information. A time period for dividing frames may be variously changed according to an embodiment of the present disclosure.
- the voice buffer 100 creates a voice stream by connecting the currently input voice signal with the voice signal stored in the voice buffer 100 whenever a frame-based voice signal is input. Accordingly, the voice buffer 100 enables the emotion recognition device 10 to recognize the emotion of each voice stream and to determine context information.
- the STT model 110 converts the audio stream generated by the audio buffer 100 into a text stream corresponding to the audio stream.
- the emotion recognition device 10 does not include the STT model 110, only one kind of signal, the voice stream, is input to the emotion recognition model 120. Accordingly, the STT model 110 allows two types of signals to be input to the emotion recognition model 120 for extracting multimodal features based on voice and text. Meanwhile, a method in which the STT model 110 learns using voice learning data to output a text stream corresponding to a voice stream, and a specific method in which the pre-learned STT model 110 infers a text stream by receiving a voice stream is common in the art, and further description is omitted.
- the emotion recognition model 120 receives the voice stream and the converted text stream, and outputs multimodal emotions corresponding to the voice signal.
- the emotion recognition model 120 may be a deep learning model pretrained to output multimodal emotions based on input voice and text information. Therefore, the emotion recognition model 120 according to an embodiment of the present disclosure can extract multimodal features associated with voice and text based on voice and text, and recognize emotions corresponding to voice signals from multimodal features. .
- Each component included in the emotion recognition model 120 will be described later with reference to FIGS. 2 and 4 .
- the emotion recognition apparatus 10 outputs a multimodal emotion corresponding to each voice signal from a plurality of voice signals divided by frame according to time.
- the emotion recognition device 10 receives a plurality of voice signals corresponding to each time interval divided by a unit length Tu from time 0 to time N*Tu, generates and generates a voice stream corresponding to each voice signal. Multimodal emotion corresponding to the voice stream is output. Since the emotion recognition device 10 generates a voice stream using voice signals accumulated in the voice buffer 100, each multimodal emotion may include different context information.
- the audio buffer 100 performs a reset when the length of the audio signal stored in the audio buffer 100 exceeds a preset reference length.
- a reference length serving as a reference for resetting the audio buffer 100 is 4 seconds, and a unit length Tu for distinguishing audio signals may be 0.5 seconds.
- the emotion recognition device 10 generates a voice stream and a text stream for the interval [0, 0.5] from a voice signal for the interval [0, 0.5], and uses the voice stream and the text stream in the interval [0, 0.5]. Outputs multimodal emotions for At the same time, the emotion recognition device 10 connects the audio signal for the section [0.5, 1] with the audio signal for the section [0, 0.5] stored in the voice buffer 100 to obtain a voice stream for the section [0, 1].
- the emotion recognition device 10 converts the voice stream for the interval [0, 1] into a text stream for the interval [0, 1], and multimodal for the interval [0, 1] using the voice stream and the text stream. output emotions
- the emotion recognition device 10 performs an operation of outputting multimodal emotions corresponding to the voice stream 8 times for each section of 0.5 seconds in length from the section [0, 0.5] to the section [3.5, 4.0].
- the multimodal emotion corresponding to the voice stream in the section [0, 2] output by the emotion recognition device 10 is positive, whereas the section [0, 2] output by the emotion recognition device 10 is positive. 4] may be negative.
- the emotion recognition device 10 repeats an operation of outputting multimodal emotions corresponding to a voice stream to which a plurality of sections of voice signals are connected, context information of the entire voice signal can be grasped.
- the reference length of the audio buffer 100 is 4 seconds
- the audio buffer 100 is reset when the length of the audio signal stored in the audio buffer 100 exceeds 4 seconds. Since the emotion recognition device 10 outputs multimodal emotions for each section, a delay may occur due to buffering of calculation time.
- a unit length Tu for distinguishing a voice signal may be 1 second.
- the emotion recognition device 10 performs an operation of outputting multimodal emotions corresponding to the voice stream four times for each section of 1 second in length from section [0, 1] to section [3, 4]. . That is, the unit length Tu for distinguishing the voice signal may be variously changed according to the computing environment in which the emotion recognition device 10 operates to ensure real-time performance of emotion recognition.
- FIG. 2 is a block diagram illustrating the configuration of an emotion recognition model included in an emotion recognition device according to an embodiment of the present disclosure.
- the emotion recognition model 120 includes an audio pre-processor 200, a first pre-feature extractor 210, and a first pre-feature extractor 210.
- the extractor 212, the second unimodal feature extractor 222, and the second multimodal feature extractor 232 are all or partially included.
- the emotion recognition model 120 shown in FIG. 2 is according to an embodiment of the present disclosure, and all blocks shown in FIG. 2 are not essential components, and some included in the emotion recognition model 120 in another embodiment. Blocks can be added, changed or deleted.
- the audio pre-processor 200 processes the audio stream into data suitable for processing in a neural network.
- the audio pre-processor 200 may perform amplitude normalization using resampling in order to minimize the influence of an environment in which a voice stream is input.
- the sampling rate may be 16 kHz, but the sampling rate may be variously changed according to an embodiment of the present disclosure and is not limited thereto.
- the audio pre-processor 200 extracts a spectrogram corresponding to the normalized audio stream using Short-Time Fourier Transform (STFT).
- STFT Short-Time Fourier Transform
- the FFT window length Fast Fourier Transform window length
- hop_length may be 1024 samples and 256 samples, respectively, but the specific window length and hop length are not limited to the present embodiment.
- the dialog pre-processing unit 202 processes the text stream into data suitable for processing in a neural network.
- the dialog preprocessing unit 202 may perform text normalization before tokenization.
- the dialogue preprocessing unit 202 may extract only English uppercase letters, English lowercase letters, Korean syllables, Korean consonants, numbers, and preset punctuation marks by preprocessing the text stream.
- the dialogue preprocessing unit 202 may perform preprocessing by converting a plurality of spaces between word phrases in a sentence or a Korean vowel in a sentence into a single space.
- the dialogue preprocessing unit 202 extracts a plurality of tokens from the normalized text stream by performing tokenization.
- the dialogue preprocessor 202 is a tokenizer, and may use a model based on morphology analysis or a model based on word segmentation.
- the dialogue preprocessing unit 202 converts a plurality of extracted tokens into a plurality of indices corresponding to respective tokens in order to generate input data of pre-learned Bidirectional Encoder Representations from Transformers (BERT). Since a specific method of performing a tokenization operation using text data is known in the art, further description is omitted.
- the first pre-feature extractor 210 extracts first features from the preprocessed voice stream.
- the first characteristic may be MFCC.
- the first pre-feature extraction unit 210 converts the extracted spectrogram into a Mel-scale unit to simulate the perception characteristics of the human cochlea, and obtains a Mel-spectrogram. extract
- the first pre-feature extractor 210 calculates a Mel-Frequency Cepstral Coefficient (MFCC) from the Mel spectrogram by using cepstrum analysis.
- MFCC Mel-Frequency Cepstral Coefficient
- the number of calculated coefficients may be 40, but the number of output MFCCs is not limited thereto. Since a more specific method of calculating MFCC from voice data is known in the art, further description is omitted.
- the first feature may be a PASE+ (Problem-Agnostic Speech Encoder+) feature that has performance higher than MFCC in the emotion recognition task.
- the PASE+ feature is a feature that can be learned, so it can improve the performance of the emotion recognition task.
- the first pre-feature extractor 210 may use PASE+, which is a pre-learned encoder, to output PASE+ features.
- the first pre-feature extractor 210 adds speech distortion to the preprocessed speech stream and extracts PASE+ features from PASE+.
- the first feature extracted by the first pre-feature extractor 210 is input to the convolutional layer of the first unimodal feature extractor 220 .
- PASE+ includes a SincNet, multiple convolutional layers, a Quasi-Recurrent Neural Network (QRRNN), and a linear transformation and batch normalization (BN) layer.
- PASE+ features may be learned using a plurality of workers that extract specific acoustic features. Each walker restores an acoustic feature corresponding to the walker from voice data encoded by PASE+. When the learning of the PASE+ feature ends, the plurality of workers are removed.
- a learning method of PASE+ and input/output of layers included in PASE+ are known in the art, and thus further descriptions are omitted.
- the second pre-feature extractor 212 extracts second features from the preprocessed text stream.
- the second pre-feature extraction unit 212 may include a pre-trained BERT in order to extract features of a word order included in an input sentence in a long context. That is, the second feature is a feature including information about the context of the text stream.
- BERT is a type of Masked Language Model (MLM), which is a model that predicts masked words in an input sentence based on the context of surrounding words.
- MLM Masked Language Model
- the input of BERT consists of the sum of position embedding, token embedding and segment embedding. BERT predicts an original unmasked token by inputting input and masked tokens to a transformer encoder composed of a plurality of transformer modules.
- the number of transformer modules included in the transformer encoder may be 12 or 24, but the specific structure of the transformer encoder is not limited to the present embodiment. That is, since BERT is a bidirectional language model that considers both a token located before and after a token that is masked in a sentence, the context can be accurately identified.
- the second feature extracted by the second pre-feature extractor 212 is input to the convolutional layer of the second unimodal feature extractor 222 .
- FIG. 3 is a block diagram illustrating the extraction of multimodal features by an emotion recognition model according to an embodiment of the present disclosure.
- a first unimodal feature extraction unit 220 receives a first feature and extracts a first embedding vector.
- the second unimodal feature extraction unit 222 receives a second feature and extracts a second embedding vector.
- Each unimodal feature extraction unit may extract an embedding vector capable of more accurately grasping relational information within a sentence, in contrast to the case of using only the features extracted by the pre-feature extraction unit.
- the feelings of the speaker of the sentence or the writer of the sentence may be determined differently according to the context. For example, in the sentence 'Smile will make you happy.', the word 'happiness' forms a context with the word 'smile' to express positive emotions. On the other hand, in the sentence 'You'd rather be happy if you give up.', 'happiness' forms a context with the word 'giving up' to express negative emotions. Accordingly, the first and second unimodal feature extractors use a plurality of self-attention layers to obtain temporal and regional association information between words in a sentence.
- the number of self-attention layers used by the first and second unimodal feature extractors may be two, but the specific number of self-attention layers is not limited to this embodiment.
- the first multimodal feature extraction unit 230 extracts a first multimodal feature based on the first embedding vector and the second embedding vector.
- the second multimodal feature extraction unit 232 extracts a second multimodal feature based on the second embedding vector and the first embedding vector. That is, each multimodal feature extraction unit extracts a multimodal feature by correlating heterogeneous embedding vectors. Since the emotion recognition model 120 of this embodiment extracts multimodal features using a cross-transformer network, there is an effect of enabling high-accuracy emotion recognition by considering both voice and text.
- the first unimodal feature extractor 220 includes a convolution layer and a plurality of first self-attention layers.
- the first unimodal feature extraction unit 220 may be connected to BERT for extracting optimal text features and extract an optimal embedding vector for text.
- the dimension of the first feature must be transformed.
- the dimension of the first feature may be (40, 256), but the specific number of dimensions of the acoustic feature is not limited to this embodiment.
- the first unimodal feature extractor 220 may change the dimension of the first feature to a preset dimension using a single 1-D (dimension) convolutional layer.
- the number of transformed dimensions may be 40 dimensions.
- the first unimodal feature extractor 220 passes the first features through the first convolutional layer and outputs an input vector sequence of the first self-attention layer.
- An input vector sequence having a preset dimension output from the first convolution layer may be referred to as a third feature.
- the first unimodal feature extraction unit 220 multiplies the input vector sequence by weighted matrices for queries, keys, and values, respectively. Each weight matrix is preset by being updated in the learning process.
- a query vector sequence, a key vector sequence, and a value vector sequence are generated from one input vector sequence by matrix operation.
- the first unimodal feature extraction unit 220 extracts a first embedding vector by inputting the query vector sequence, the key vector sequence, and the value vector sequence to a plurality of first self-attention layers.
- the first embedding vector includes correlation information between words in a sentence corresponding to a voice stream. Since a specific calculation process used in the self-attention technique is known in the art, further description is omitted.
- the second unimodal feature extractor 222 includes a convolution layer and a plurality of second self-attention layers.
- the second unimodal feature extraction unit 222 may be connected to PASE+ for extracting optimal acoustic features, and extract an optimal embedding vector for speech.
- the dimension of the second feature must be transformed.
- the dimension of the second feature may be 768 dimensions, but the specific number of dimensions of the second feature is not limited to this embodiment. .
- the second unimodal feature extractor 222 may change the dimension of the second feature to a preset dimension using a single 1-D (dimension) convolutional layer.
- the number of transformed dimensions may be 40 dimensions.
- the second unimodal feature extractor 222 passes the second feature through the second convolutional layer and outputs an input vector sequence of the self-attention layer.
- An input vector sequence having a preset dimension output from the second convolution layer may be referred to as a fourth feature.
- the second unimodal feature extraction unit 222 multiplies the input vector sequence by weight matrices for queries, keys, and values, respectively. Each weight matrix is preset by being updated in the learning process.
- a query vector sequence, a key vector sequence, and a value vector sequence are generated from one input vector sequence by matrix operation.
- the second unimodal feature extraction unit 222 extracts a second embedding vector by inputting the query vector sequence, the key vector sequence, and the value vector sequence to a plurality of second self-attention layers.
- the second embedding vector includes correlation information between words in a sentence corresponding to the text stream.
- the emotion recognition model 120 uses a cross-modal transformer for extracting correlation information between heterogeneous modality embedding vectors in order to obtain correlation information between the first embedding vector and the second embedding vector.
- a cross-modal transformer includes a plurality of cross-modal attention layers. In this embodiment, the number of heads of multi-head attention may be set to 8, but is not limited thereto. Sentences uttered by humans may include both the meanings of compliment and sarcasm, even if they are formally identical sentences. In order for the emotion recognition model 120 to determine the actual meaning included in the sentence, it must be able to analyze correlation information between the first embedding vector for speech and the second embedding vector for text. Therefore, the emotion recognition model 120 extracts the first multimodal feature and the second multimodal feature including the correlation information between voice and text, respectively, using the previously learned crossmodal transformer.
- the first multimodal feature extraction unit 230 inputs the query embedding vector generated based on the first embedding vector to a first cross-modal transformer, and the key embedding generated based on the second embedding vector The first multimodal feature is extracted by inputting the vector and the value embedding vector. Since the specific operation process used in the attention technique is known in the art, further description is omitted.
- the second multimodal feature extraction unit 232 inputs the query embedding vector generated based on the second embedding vector to the second cross-modal transformer, and generates a key embedding vector and a value embedding vector generated based on the first embedding vector. input to extract the second multimodal feature.
- an output of the first multimodal feature extractor 230 and an output of the second multimodal feature extractor 232 are concatenated in a channel direction. That is, the emotion recognition model 120 may recognize emotions from heterogeneous modalities by connecting the first multimodal feature and the second multimodal feature.
- the emotion recognition model 120 passes the connected multimodal features through a fully connected (FC) layer and inputs the output of the fully connected layer to a softmax function (SoftMAX), so that the emotion corresponding to the initially input voice signal The probability of being included in each emotion class is estimated.
- the emotion recognition model 120 uses a multi-modal classifier to output an emotion label having the highest probability as the recognized emotion.
- the emotion recognition model 120 is based on an audio emotion classifier outputting an audio emotion corresponding to a voice stream based on a first embedding vector and a second embedding vector. It may further include a text emotion classifier that outputs a text emotion corresponding to the text stream.
- outputs of the first and unimodal feature extractors may be delivered to an independent fully connected layer in addition to the first and second multimodal feature extractors.
- the voice emotion classifier and the text emotion classifier operate as auxiliary classifiers of the multimodal classifier, thereby improving the recognition accuracy of the emotion recognition model 120 .
- Equation 1 is an equation for obtaining a loss E audio or E text when cross entropy is used as a loss function.
- t k is the value of the ground-truth label, and only elements of the ground-truth class have a value of 1, and all elements of the other classes have a value of 0. Therefore, when the voice emotion classifier and the text emotion classifier recognize emotions of different labels from the same sentence, the sum of the loss of voice modality and the loss of text modality is equal to the sum of the natural logarithms of estimated values for different classes. That is, since the cross entropy value of each modality reflects the output value when recognizing emotions of different labels, accurate emotion recognition for various language expressions is possible.
- the multimodal classifier can perform more accurate emotion recognition based on weight learning using the loss E audio or E text calculated according to Equation 1.
- the total cross entropy loss reflecting the outputs of the speech emotion classifier and the text emotion classifier can be expressed as Equation 2.
- the loss weight w audio of the voice emotion classifier and the loss weight w text of the text emotion classifier may be updated according to learning.
- FIG. 4 is a block diagram illustrating the configuration of an emotion recognition model included in an emotion recognition device according to another embodiment of the present disclosure.
- the emotion recognition model 120 includes an audio pre-processing unit, a first pre-feature extraction unit, a first multimodal feature extraction unit 420, a dialogue pre-processing unit, and a second A pre-feature extraction unit and a second multimodal feature extraction unit 422 are included in whole or in part.
- the emotion recognition model 120 shown in FIG. 4 is according to an embodiment of the present disclosure, and all blocks shown in FIG. 4 are not essential components, and some included in the emotion recognition model 120 in another embodiment. Blocks can be added, changed or deleted.
- FIG. 5 is a block diagram illustrating the extraction of multimodal features by an emotion recognition model according to another embodiment of the present disclosure.
- the emotion recognition model 120 has a network structure based on parameter sharing.
- the emotion recognition model 120 obtains first and second embedding vectors including correlation information between the voice stream and the text stream, respectively, based on a weighted sum between features of the voice stream and features of the text stream. do.
- each component of the emotion recognition model 120 included in the emotion recognition device according to another embodiment of the present disclosure will be described with reference to FIGS. 4 and 5 .
- a description of a configuration overlapping with the emotion recognition model 120 of the embodiment of FIGS. 2 and 3 will be omitted.
- a first pre-feature extractor included in the emotion recognition model 120 extracts a first feature from the preprocessed voice stream.
- the first feature may be an MFCC or PASE+ feature.
- a second pre-feature extractor extracts second features from the preprocessed text stream.
- the second feature may be a text feature extracted using BERT.
- the first multimodal feature extractor 420 and the second multimodal feature extractor 422 each include a 1-D convolutional layer, a plurality of convolutional blocks, and a plurality of self-attention layers.
- the emotion recognition model 120 of this embodiment learns weights between heterogeneous modalities using parameter sharing before self-attention. Therefore, the emotion recognition model 120 has an effect of being able to obtain weights and correlation information between heterogeneous modalities without having a cross-modal transformer.
- the first multimodal feature extractor 420 inputs the first feature extracted by the first pre-feature extractor to the 1-D convolution layer, and maps the dimension of the first feature to a preset dimension.
- the second multimodal feature extractor 422 inputs the second feature extracted by the second pre-feature extractor to the 1-D convolution layer, and maps the dimension of the second feature to a preset dimension.
- the dimensions of the transformed first and second features may be 40 dimensions, but specific values are not limited to this embodiment.
- the first and second multimodal feature extractors 420 and 422 can generate a query embedding vector, a key embedding vector, and a value embedding vector by matching dimensions of the output of the convolution block.
- the first multimodal feature extractor 420 passes the dimensionally transformed first feature through a plurality of convolution blocks, and shares parameters with the second multimodal feature extractor 422 .
- the second multimodal feature extractor 422 passes the dimensionally transformed second features through a plurality of convolution blocks, and shares parameters with the first multimodal feature extractor 420 .
- Each convolution block included in the first multimodal feature 420 and the second multimodal feature 422 includes a 2-D convolution layer and a 2-D average pooling layer.
- the number of convolution blocks included in each multimodal feature unit is 4, and output channels of each convolution block may be 64, 128, 256, and 512 according to the order of the blocks.
- the first multimodal feature extractor 420 calculates the sum of weights between the first feature and the second feature whenever the first feature whose dimension has been transformed is passed through one convolution block, so that the second multimodal feature extractor ( 422) and parameter sharing.
- the second multimodal feature extractor 422 calculates the sum of the weights between the second feature and the first feature each time the second feature whose dimension has been transformed is passed through one convolution block, so that the first multimodal feature extractor ( 420) and parameter sharing. For example, the first multimodal feature extractor 420 inputs the sum of weights calculated in the first convolution block to the second convolution block.
- the sum of weights calculated in the first convolution block of the second multimodal feature extractor 422 is input to the second convolution block.
- the first multimodal feature extractor 420 calculates a sum of weights between outputs of the first convolution blocks in the second convolution block.
- weights multiplied to the first feature and the second feature in each convolution block are learnable parameters. Weights used for parameter sharing may be adjusted by learning to output accurate correlation information between heterogeneous modalities.
- the first multimodal feature extraction unit 420 outputs a first embedding vector including correlation information between a voice stream and a text stream by calculating a sum of weights in the last convolution block.
- the second multimodal feature extractor 422 outputs a second embedding vector including correlation information between a text stream and a voice stream by calculating a sum of weights in the last convolution block.
- the first multimodal feature extractor 420 inputs the query embedding vector, the key embedding vector, and the value embedding vector obtained by multiplying the first embedding vector by each weight matrix into a plurality of self-attention layers, and includes temporal correlation information Extracts the first multimodal feature that
- the second multimodal feature extractor 422 inputs the query embedding vector, the key embedding vector, and the value embedding vector obtained by multiplying the second embedding vector by each weight matrix into a plurality of self-attention layers, and includes temporal correlation information extracts the second multimodal feature that
- each of the plurality of self-attention layers included in the first and second multimodal feature extractors 420 and 422 may be two, but is not limited to the present embodiment.
- the emotion recognition model 120 connects the first multimodal feature and the second multimodal feature with a channel axis, and recognizes an emotion based on the connected multimodal feature.
- FIG. 6 is a flowchart illustrating an emotion recognition method according to an embodiment of the present disclosure.
- the emotion recognition device 10 receives an audio signal having a predetermined unit length, and generates an audio stream corresponding to the audio signal (S600).
- the emotion recognition device 10 connects the voice signal pre-stored in the voice buffer and the input voice signal to generate a voice stream.
- the emotion recognition device 10 may reset the voice buffer when the length of the voice signal stored in the voice buffer exceeds a predetermined reference length.
- the emotion recognition device 10 converts the voice stream into a text stream corresponding to the voice stream (S602).
- the emotion recognition device 10 inputs the voice stream and the converted text stream to the pre-learned emotion recognition model, and outputs multimodal emotions corresponding to the voice signal (S604).
- FIG. 7 is a flowchart illustrating a process of outputting multimodal emotions included in an emotion recognition method according to an embodiment of the present disclosure.
- the emotion recognition device 10 performs a pre-feature extraction process of extracting a first feature from a voice stream and a second feature from a text stream (S700).
- the pre-feature extraction process may include a process of preprocessing a voice stream or text stream, and the voice stream or text stream may be preprocessed data.
- the emotion recognition device 10 may extract the first feature by inputting the voice stream to PASE+.
- the emotion recognition apparatus 10 performs a unimodal feature extraction process of extracting a first embedding vector from a first feature and a second embedding vector from a second feature (S702).
- the unimodal feature extraction process (S702) is a process of extracting a third feature having a predetermined dimension by inputting the first feature to the first convolution layer, inputting the third feature to the first self-attention layer, and A process of obtaining a first embedding vector including association information between words in a sentence corresponding to a stream, a process of extracting a fourth feature having a predetermined dimension by inputting a second feature to a second convolution layer, and a process of extracting a fourth feature having a predetermined dimension.
- a process of obtaining a second embedding vector including correlation information between words in a sentence corresponding to the text stream by inputting the feature to the second self-attention layer may be included.
- the emotion recognition apparatus 10 may perform a process of outputting a voice emotion corresponding to the voice stream based on the first embedding vector.
- the emotion recognition device 10 may perform a process of outputting a text emotion corresponding to the text stream based on the second embedding vector. That is, the emotion recognition method according to an embodiment of the present disclosure associates voice and text at an equal level and performs a secondary classification process for classifying voice emotion or text emotion.
- the emotion recognition method may use a weight between voice emotion and text emotion as a control parameter for emotion recognition accuracy.
- the emotion recognition device 10 performs a multimodal feature extraction process of extracting a first multimodal feature and a second multimodal feature by associating the first embedding vector and the second embedding vector (S704).
- the multimodal feature extraction process is performed by inputting a query embedding vector generated based on the first embedding vector into the first cross-modal transformer, and inputting a key embedding vector and a value embedding vector generated based on the second embedding vector.
- the process of extracting the first multimodal feature and the query embedding vector generated based on the second embedding vector is input to the second cross-modal transformer, and the key embedding vector and the value embedding vector generated based on the first embedding vector and extracting the second multimodal feature by inputting .
- the emotion recognition device 10 connects the first multimodal feature and the second multimodal feature in the channel direction (S706).
- FIG. 8 is a flowchart illustrating a process of outputting multimodal emotions included in an emotion recognition method according to another embodiment of the present disclosure.
- the emotion recognition device 10 obtains embedding vectors including information on correlation between modalities (S800).
- the process of obtaining embedding vectors (S800) is a process of obtaining a first embedding vector including correlation information between a voice stream and a text stream based on a weighted sum between features of a voice stream and features of a text stream. and obtaining a second embedding vector including correlation information between the text stream and the voice stream, based on a weighted sum of features of the text stream and features of the voice stream.
- the emotion recognition device 10 inputs the embedding vectors to the self-attention layer, respectively, and extracts multimodal features including temporal correlation information (S802).
- the emotion recognition device 10 connects multimodal features in a channel direction (S804).
- a programmable system includes at least one programmable processor (which may be a special purpose processor) coupled to receive data and instructions from and transmit data and instructions to a storage system, at least one input device, and at least one output device. or may be a general-purpose processor).
- Computer programs also known as programs, software, software applications or code
- a computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored. These computer-readable recording media include non-volatile or non-transitory media such as ROM, CD-ROM, magnetic tape, floppy disk, memory card, hard disk, magneto-optical disk, and storage device. It may further include a medium or a transitory medium such as a data transmission medium. Also, computer-readable recording media may be distributed in computer systems connected through a network, and computer-readable codes may be stored and executed in a distributed manner.
- a programmable computer includes a programmable processor, a data storage system (including volatile memory, non-volatile memory, or other types of storage systems, or combinations thereof) and at least one communication interface.
- a programmable computer may be one of a server, network device, set top box, embedded device, computer expansion module, personal computer, laptop, personal data assistant (PDA), cloud computing system, or mobile device.
- PDA personal data assistant
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Psychiatry (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Hospice & Palliative Care (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Child & Adolescent Psychology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
Abstract
본 개시는 본 개시는 멀티모달 기반 실시간 감정인식 방법 및 장치를 제공한다. 본 개시의 일 측면에 의하면, 감정인식 장치에 의해 수행되는 음성 스트림(audio stream)을 이용한 감정인식 방법으로서, 기 설정된 단위길이를 갖는 음성신호(audio signal)를 입력받아, 상기 음성신호에 상응하는 상기 음성 스트림을 생성하는 과정; 상기 음성 스트림을 상기 음성 스트림에 상응하는 텍스트 스트림(text stream)으로 변환하는 과정; 및 상기 음성 스트림 및 변환된 상기 텍스트 스트림을 기 학습된 감정인식 모델(emotion recognition model)에 입력하여, 상기 음성신호에 상응하는 멀티모달 감정(Multi-Modal emotion)을 출력하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법을 제공한다.
Description
본 개시는 멀티모달 기반 실시간 감정인식 방법 및 장치에 관한 것이다. 더욱 상세하게는, 본 개시는 오디오-텍스트(audio-text) 기반의 비대면 감성분석(non-contact sentiment analysis) 분야에 속하는 방법 및 장치에 관한 것이다.
이하에 기술되는 내용은 단순히 본 개시의 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
종래에 인간의 감정을 분석하기 위한 멀티모달 감성분석 기술이 존재한다. 종래의 얼굴인식(face recognition) 기반의 멀티모달 감정인식 기술은 얼굴이 포함된 이미지를 주된 정보로써 이용한다. 종래의 얼굴인식 기반의 멀티모달 감정인식 기술은 인식의 정확도를 향상시키기 위하여 음성입력을 추가 정보로써 이용한다. 하지만, 종래의 얼굴인식 기반 감정인식 기술은 데이터 수집에 있어서 개인정보 침해의 소지가 있다. 또한, 종래의 얼굴인식 기반 감정인식 기술은 음성 및 텍스트에 기초하여 감정을 인식하는 방법을 제공하지 못하는 문제가 있다.
종래에 영어 음성 및 영문 텍스트 기반의 멀티모달 감성분석 기술이 존재한다. 종래의 영어 기반의 멀티모달 감성분석 기술은 음향특징(acoustic feature) 및 워드 임베딩벡터(word embedding vector)을 병렬적으로 이용하여 감정을 인식한다. 여기서, 음향특징은 소정의 구간 단위로 나뉜 입력신호에 기초하여 특징(feature)을 추출하는 기법 또는 그에 의하여 추출된 특징인 MFCC(Mel Frequency Cepstral Coefficient)를 포함한다. 워드 임베딩벡터는 문장 내 단어 간의 유사도를 표현하기 위한 벡터화 방법인 워드투벡터(Word2Vec)를 이용하여 추출된 임베딩벡터(embedding vector)일 수 있다. 하지만, 종래의 영어 기반의 멀티모달 감성분석 모델은 성능 문제(performance issue)로 인하여 상용화되지 못하였다.
종래의 CNN(Convolutional Neural Networks) 또는 LSTM(Long Short-Term Memory) 기반의 멀티모달 감성분석 모델의 성능을 향상시키기 위하여, 셀프어텐션(self-attention)을 이용하는 트랜스포머 네트워크(transformer network)가 연구되었다. 하지만, 종래의 트랜스포머 네트워크 기반의 딥러닝 모델은 데이터처리의 지연(latency)으로 인하여, 실시간 서비스를 구현하기 위한 상용화된 모델을 제공하지 못하는 문제가 있다.
따라서, 실시간으로 감정을 인식하기 위한 음성 및 텍스트 기반의 멀티모달 감정인식 방법 및 장치가 필요하다.
본 개시의 일 측면에 의하면, 크로스모달 트랜스포머(cross-modal transformer) 기반의 멀티모달 트랜스포머 모델(multi-modal transformer model)을 포함하는 감정인식 장치 및 그에 의한 감정인식 방법을 제공하는 데 주된 목적이 있다.
본 개시의 다른 측면에 의하면, 파라미터 공유(parameter sharing)에 기반한 멀티모달 트랜스포머 모델을 포함하는 감정인식 장치 및 그에 의한 감정인식 방법을 제공하는 데 다른 주된 목적이 있다.
본 개시의 일 실시예에 따르면, 감정인식 장치에 의해 수행되는 음성 스트림(audio stream)을 이용한 감정인식 방법으로서, 기 설정된 단위길이를 갖는 음성신호(audio signal)를 입력받아, 상기 음성신호에 상응하는 상기 음성 스트림을 생성하는 과정; 상기 음성 스트림을 상기 음성 스트림에 상응하는 텍스트 스트림(text stream)으로 변환하는 과정; 및 상기 음성 스트림 및 변환된 상기 텍스트 스트림을 기 학습된 감정인식 모델(emotion recognition model)에 입력하여, 상기 음성신호에 상응하는 멀티모달 감정(Multi-Modal emotion)을 출력하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법을 제공한다.
본 개시의 다른 실시예에 따르면, 음성 스트림을 이용한 감정인식 장치로서, 기 설정된 단위길이를 갖는 음성신호를 입력받아, 상기 음성신호에 상응하는 상기 음성 스트림을 생성하는 음성버퍼; 상기 음성 스트림을 상기 음성 스트림에 상응하는 텍스트 스트림으로 변환하는 STT(Speech-To-Text) 모델; 및 상기 음성 스트림 및 변환된 상기 텍스트 스트림을 입력받아, 상기 음성신호에 상응하는 멀티모달 감정을 출력하는 감정인식 모델을 포함하는 것을 특징으로 하는 감정인식 장치를 제공한다.
본 개시의 또 다른 실시예에 따르면, 감정인식 방법이 포함하는 각 과정을 실행시키기 위하여 컴퓨터로 읽을 수 있는 하나 이상의 기록매체에 각각 저장된 컴퓨터 프로그램을 제공한다.
본 개시의 일 실시예에 의하면, 음성 및 텍스트에 기초하여, 실시간으로 감정을 인식하고, 인식된 감정을 비대면으로 사용자에게 제공할 수 있게 되는 효과가 있다.
본 개시의 다른 실시예에 의하면, 파라미터 공유를 이용하여 크로스모달 트랜스포머 없이도 모달리티 간의 연관성 정보를 획득할 수 있게 되는 효과가 있다.
도 1a 및 도 1b는 본 개시의 일 실시예에 따른 감정인식 장치의 구성을 설명하기 위한 블록구성도이다.
도 2는 본 개시의 일 실시예에 따른 감정인식 장치가 포함하는 감정인식 모델의 구성을 설명하기 위한 블록구성도이다.
도 3은 본 개시의 일 실시예에 따른 감정인식 모델이 멀티모달 특징을 추출하는 것을 설명하기 위한 블록구성도이다.
도 4는 본 개시의 다른 실시예에 따른 감정인식 장치가 포함하는 감정인식 모델의 구성을 설명하기 위한 블록구성도이다.
도 5는 본 개시의 다른 실시예에 따른 감정인식 모델이 멀티모달 특징을 추출하는 것을 설명하기 위한 블록구성도이다.
도 6은 본 개시의 일 실시예에 따른 감정인식 방법을 설명하기 위한 순서도이다.
도 7은 본 개시의 일 실시예에 따른 감정인식 방법이 포함하는 멀티모달 감정을 출력하는 과정을 설명하기 위한 순서도이다.
도 8은 본 개시의 다른 실시예에 따른 감정인식 방법이 포함하는 멀티모달 감정을 출력하는 과정을 설명하기 위한 순서도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한 명세서에 기재된 '~부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 개시는 멀티모달 기반 실시간 감정인식 방법 및 감정인식 장치를 제공한다. 구체적으로, 본 개시는 음성 및 텍스트를 기 학습된 딥러닝 모델(pre-trained deep learning model)에 입력하여 멀티모달 특징(multi-modal feature)를 추출함으로써, 실시간으로 인간의 감정을 인식할 수 있는 감정인식 방법 및 감정인식 장치를 제공한다.
첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 개시의 예시적인 실시 형태를 설명하고자 하는 것이며, 본 개시가 실시될 수 있는 유일한 실시 형태를 나타내고자 하는 것이 아니다.
도 1a 및 도 1b는 본 개시의 일 실시예에 따른 감정인식 장치의 구성을 설명하기 위한 블록구성도이다.
도 1a를 참조하면, 본 개시의 일 실시예에 따른 감정인식 장치는 음성버퍼(sound buffer, 100), STT 모델(Speech-To-Text model, 110) 및 감정인식 모델(emotion recognition model, 120)을 전부 또는 일부 포함한다. 도 1a에 도시된 감정인식 장치(10)는 본 개시의 일 실시예에 따른 것으로서, 도 1a에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 감정인식 장치(10)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다.
이하, 도 1a를 참조하여 감정인식 장치(10)에 포함된 각각의 구성에 대하여 설명한다.
음성버퍼(100)는 기 설정된 단위길이를 갖는 음성신호(audio signal)를 입력받아, 음성신호에 상응하는 음성 스트림(audio stream)을 생성한다. 구체적으로, 음성버퍼(100)는 기 저장된 음성신호와 현재 입력된 음성신호를 연결하여, 현재 입력된 음성신호에 상응하는 음성 스트림을 생성한다. 여기서, 음성신호의 단위길이는 기 설정된 시간구간에 대응하는 음성신호의 길이일 수 있다. 전체 음성신호는 문맥정보(context information)를 파악하기 위하여 단위길이를 갖는 복수의 시간프레임(time frame)으로 나뉘어 입력될 수 있다. 프레임을 구분하기 위한 시간구간은 본 개시의 실시예에 따라 다양하게 변경될 수 있다. 음성버퍼(100)는 프레임 단위의 음성신호가 입력될 때마다, 현재 입력된 음성신호를 음성버퍼(100)에 저장된 음성신호와 연결하여 음성 스트림을 생성한다. 따라서, 음성버퍼(100)는 감정인식 장치(10)로 하여금 각각의 음성 스트림에 대한 감정을 인식하여 문맥정보를 파악할 수 있게 한다.
STT 모델(110)은 음성버퍼(100)에 의해 생성된 음성 스트림을 음성 스트림에 상응하는 텍스트 스트림으로 변환한다. 감정인식 장치(10)에 STT 모델(110)이 포함되지 않는 경우, 감정인식 모델(120)에는 한 가지 종류의 신호인 음성 스트림만 입력되게 된다. 따라서, STT 모델(110)은 음성 및 텍스트에 기반하여 멀티모달 특징들을 추출하기 위한 감정인식 모델(120)에 두 가지 종류의 신호가 입력될 수 있게 한다. 한편, STT 모델(110)이 음성 스트림에 대응하는 텍스트 스트림을 출력하기 위하여 음성 학습데이터를 이용하여 학습하는 방법 및 기 학습된 STT 모델(110)이 음성 스트림을 입력받아 텍스트 스트림을 추론하는 구체적인 방법은 해당 기술분야에서 일반적인 바, 더 이상의 설명은 생략한다.
감정인식 모델(120)은 음성 스트림 및 변환된 텍스트 스트림을 입력받아, 음성신호에 상응하는 멀티모달 감정을 출력한다. 감정인식 모델(120)은 입력된 음성 및 텍스트 정보에 기초하여 멀티모달 감정을 출력하도록 기 학습된 딥러닝 모델일 수 있다. 따라서, 본 개시의 일 실시예에 따른 감정인식 모델(120)은 음성 및 텍스트에 기반하여 음성 및 텍스트가 연관된 멀티모달 특징을 추출하고, 멀티모달 특징으로부터 음성신호에 대응하는 감정을 인식할 수 있다. 감정인식 모델(120)이 포함하는 각 구성에 관하여는 도 2 및 도 4에서 후술한다.
도 1b를 참조하면, 감정인식 장치(10)가 시간에 따라 프레임 단위로 나뉜 복수의 음성신호로부터, 각각의 음성신호에 상응하는 멀티모달 감정을 출력하는 실시예가 도시되어 있다. 감정인식 장치(10)는 시간 0으로부터 시간 N*Tu까지, 단위길이 Tu로 구분되는 각각의 시간구간에 상응하는 복수의 음성신호를 입력받아 각각의 음성신호에 상응하는 음성 스트림을 생성하고, 생성된 음성 스트림에 상응하는 멀티모달 감정을 출력한다. 감정인식 장치(10)는 음성버퍼(100)에 누적된 음성신호를 이용하여 음성 스트림을 생성하므로, 각각의 멀티모달 감정은 서로 다른 문맥정보를 포함할 수 있다. 음성버퍼(100)는 음성버퍼(100)에 저장된 음성신호의 길이가 기 설정된 기준길이를 초과하는 경우, 리셋을 수행한다. 예컨대, 음성버퍼(100)의 리셋의 기준이 되는 기준길이는 4 초 이며, 음성신호를 구분하기 위한 단위길이 Tu는 0.5 초 일 수 있다. 감정인식 장치(10)는 구간 [0, 0.5]에 대한 음성신호로부터 구간 [0, 0.5]에 대한 음성 스트림 및 텍스트 스트림을 생성하고, 음성 스트림 및 텍스트 스트림을 이용하여 구간 [0, 0.5]에 대한 멀티모달 감정을 출력한다. 동시에 감정인식 장치(10)는 구간 [0.5, 1]에 대한 음성신호를 음성버퍼(100)에 저장된 구간 [0, 0.5]에 대한 음성신호를 연결하여 구간 [0, 1]에 대한 음성 스트림을 생성한다. 감정인식 장치(10)는 구간 [0, 1]에 대한 음성 스트림을 구간 [0, 1]에 대한 텍스트 스트림으로 변환하고, 음성 스트림 및 텍스트 스트림을 이용하여 구간 [0, 1]에 대한 멀티모달 감정을 출력한다. 감정인식 장치(10)는 구간 [0, 0.5]로부터 구간 [3.5, 4.0]까지, 0.5 초 길이의 각각의 구간에 대하여 음성 스트림에 상응하는 멀티모달 감정을 출력하는 동작을 8 회 수행한다. 일 실시예에서, 감정인식 장치(10)가 출력한 구간 [0, 2]의 음성 스트림에 상응하는 멀티모달 감정은 긍정(positive)인 반면, 감정인식 장치(10)가 출력한 구간 [0, 4]의 음성 스트림에 상응하는 멀티모달 감정은 부정(negative)일 수 있다. 즉, 감정인식 장치(10)는 복수의 구간의 음성신호가 연결된 음성 스트림에 상응하는 멀티모달 감정을 출력하는 동작을 반복하므로, 전체 음성신호의 문맥정보를 파악할 수 있게 된다. 여기서, 음성버퍼(100)의 기준길이는 4 초 이므로, 음성버퍼(100)에 저장된 음성신호의 길이가 4 초를 초과하는 경우 음성버퍼(100)는 리셋된다. 감정인식 장치(10)는 각각의 구간에 대하여 멀티모달 감정을 출력하므로, 계산 시간 버퍼링(buffering)으로 인한 지연(delay)이 발생할 수 있다. 하지만, 음성버퍼(100)에 저장된 음성신호의 길이가 기준길이를 초과하는 경우 음성버퍼(100)가 리셋되므로, 감정인식 장치(10)는 마지막 구간 [(N-1)*Tu, N*Tu]의 음성신호에 기초하여 출력된 구간 [0, N*Tu]에 대한 멀티모달 감정을 실시간으로 제공할 수 있게 된다. 한편, 본 개시의 다른 실시예에서 음성신호를 구분하기 위한 단위길이 Tu는 1 초 일 수 있다. 여기서, 감정인식 장치(10)는 구간 [0, 1]로부터 구간 [3, 4]까지, 1 초 길이의 각각의 구간에 대하여 음성 스트림에 상응하는 멀티모달 감정을 출력하는 동작을 4 회 수행한다. 즉, 음성신호를 구분하기 위한 단위길이 Tu는 감정인식 장치(10)가 동작하는 컴퓨팅 환경에 따라, 감정 인식의 실시간성을 확보하기 위하여 다양하게 변경될 수 있다.
도 2는 본 개시의 일 실시예에 따른 감정인식 장치가 포함하는 감정인식 모델의 구성을 설명하기 위한 블록구성도이다.
도 2를 참조하면, 본 개시의 일 실시예에 따른 감정인식 모델(120)은 오디오 전처리부(audio pre-processor, 200), 제1 사전-특징 추출부(pre-feature extractor, 210), 제1 유니모달 특징 추출부(uni-modal feature extractor, 220), 제1 멀티모달 특징 추출부(multi-modal feature extractor, 230), 대화문 전처리부(dialogue pre-processor, 202), 제2 사전-특징 추출부(212), 제2 유니모달 특징 추출부(222), 제2 멀티모달 특징 추출부(232)를 전부 또는 일부 포함한다. 도 2에 도시된 감정인식 모델(120)은 본 개시의 일 실시예에 따른 것으로서, 도 2에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 감정인식 모델(120)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다.
오디오 전처리부(200)는 음성 스트림을 신경망에서 처리하기에 적합한 데이터로 가공한다. 예컨대, 오디오 전처리부(200)는 음성 스트림이 입력되는 환경의 영향을 최소화하기 위하여, 리샘플링(resampling)을 이용하여 진폭정규화(amplitude normalization)를 수행할 수 있다. 여기서, 샘플링 레이트는 16 kHz일 수 있으나, 샘플링레이트는 본 개시의 실시예에 따라 다양하게 변경될 수 있으며 이에 제한되지 않는다. 오디오 전처리부(200)는 STFT(Short-Time Fourier Transform)을 이용하여, 정규화된 음성 스트림에 상응하는 스펙트로그램(spectrogram)을 추출한다. 여기서, FFT 윈도우 길이(Fast Fourier Transform window length) 및 홉 길이(hop_length)는 각각 1024 개의 샘플 및 256 개의 샘플일 수 있으나, 구체적인 윈도우 길이 및 홉 길이는 본 실시예에 제한되지 않는다.
대화문 전처리부(202)는 텍스트 스트림을 신경망에서 처리하기에 적합한 데이터로 가공한다. 대화문 전처리부(202)는 토큰화(tokenization) 작업을 수행하기 전에, 텍스트 정규화(text normalization) 작업을 수행할 수 있다. 예컨대, 대화문 전처리부(202)는 텍스트 스트림을 전처리함으로써, 영어 대문자, 영어 소문자, 한글 음절, 한글 자음, 숫자, 기 설정된 문장부호들만 추출할 수 있다. 대화문 전처리부(202)는 문장 내 어절 간의 복수의 공백 또는 문장 내 한글 모음을 한 칸의 공백으로 변환하는 방식으로 전처리를 수행할 수 있다. 대화문 전처리부(202)는 토큰화 작업을 수행하여, 정규화된 텍스트 스트림으로부터 복수의 토큰을 추출한다. 여기서, 대화문 전처리부(202)는 토크나이저(tokenizer)로서, 형태소 분석(morphology analysis) 기반의 모델 또는 단어분리(subword segmentation) 기반의 모델을 이용할 수 있다. 여기서, 단어분리 기반의 모델을 이용하는 경우 실시간성을 확보할 수 있는 효과가 있다. 대화문 전처리부(202)는 기 학습된 BERT(Bidirectional Encoder Representations from Transformers)의 입력데이터를 생성하기 위하여, 추출된 복수의 토큰을 각각의 토큰에 상응하는 복수의 인덱스(index)로 변환한다. 텍스트 데이터를 이용하여 토큰화 작업을 수행하는 구체적인 방법은 해당 기술분야에서 알려진 바, 더 이상의 설명은 생략한다.
제1 사전-특징 추출부(210)는 전처리된 음성 스트림으로부터 제1 특징을 추출한다. 일 실시예에서, 제1 특징은 MFCC일 수 있다. 제1 사전-특징 추출부(210)는 인간의 달팽이관(cochlea)의 지각 특성을 모사하기 위하여, 추출된 스펙트로그램을 멜 스케일(Mel-scale) 단위로 변환하여 멜 스펙트로그램(Mel-spectrogram)을 추출한다. 제1 사전-특징 추출부(210)는 켑스트럼 분석(cepstrum analysis)를 이용하여, 멜 스펙트로그램으로부터 MFCC(Mel-Frequency Cepstral Coefficient)를 산출한다. 여기서, 산출되는 계수(coefficient)의 수는 40 개 일 수 있으나, 출력되는 MFCC의 개수는 이에 제한되지 않는다. 음성 데이터로부터 MFCC를 산출하는 보다 구체적인 방법은 해당 기술분야에서 알려진 바, 더 이상의 설명은 생략한다. 다른 실시예에서, 제1 특징은 감정인식 태스크에 있어서 MFCC 이상의 성능을 갖는 특징인 PASE+(Problem-Agnostic Speech Encoder+) 특징일 수 있다. PASE+ 특징은 MFCC와 달리 학습이 가능한 특징이므로, 감정인식 태스크의 성능을 향상시킬 수 있다. 제1 사전-특징 추출부(210)는 PASE+ 특징을 출력하기 위하여 기 학습된 인코더(encoder)인 PASE+를 이용할 수 있다. 제1 사전-특징 추출부(210)는 전처리된 음성 스트림에 음성노이즈(speech distortion)을 추가하고, PASE+로부터 PASE+ 특징을 추출한다. 제1 사전-특징 추출부(210)에 의하여 추출된 제1 특징은 제1 유니모달 특징 추출부(220)의 컨벌루션 레이어에 입력된다. PASE+는 싱크넷(SincNet), 복수의 컨벌루션 레이어(convolutional layer), QRNN(Quasi-Recurrent Neural Network) 및 선형변환(linear transformation)과 배치 정규화(BN: Batch Normalization) 레이어를 포함한다. 한편, PASE+ 특징은 특정한 음향특징을 추출하는 복수의 워커(worker)를 이용하여 학습될 수 있다. 각각의 워커는 PASE+에 의하여 인코딩된 음성 데이터로부터, 워커에 대응하는 음향특징을 복원한다. PASE+ 특징의 학습이 종료되면, 복수의 워커는 제거된다. PASE+의 학습 방법 및 PASE+에 포함된 레이어들의 입출력에 관하여는 해당 기술분야에서 알려진 바, 더 이상의 설명은 생략한다.
제2 사전-특징 추출부(212)는 전처리된 텍스트 스트림으로부터 제2 특징을 추출한다. 제2 사전-특징 추출부(212)는 길이가 긴 문맥에서 입력 문장에 포함된 어순의 특징을 추출하기 위하여 사전에 학습된 BERT를 포함할 수 있다. 즉, 제2 특징은 텍스트 스트림의 문맥에 관한 정보를 포함하는 특징이다. BERT는 주변 단어의 문맥에 기초하여, 입력 문장 내 마스킹된 단어를 예측하는 모델인 MLM(Masked Language Model: 마스킹된 언어모델)의 일종이다. BERT의 입력은 위치임베딩(position embedding), 토큰임베딩(token embedding) 및 세그먼트 임베딩(segment embedding)의 합으로 구성된다. BERT는 입력 및 마스킹된 토큰을 복수의 트랜스포머 모듈(transformer module)에 의하여 구성된 트랜스포머 인코더(transformer encoder)에 입력하여, 마스킹되지 않은 원본토큰을 예측한다. 여기서, 트랜스포머 인코더에 포함된 트랜스포머 모듈의 수는 12 개 또는 24 개 일 수 있으나, 트랜스포머 인코더의 구체적인 구조는 본 실시예에 제한되지 않는다. 즉, BERT는 문장 내에서 마스킹된 토큰의 이전에 위치하는 토큰 및 이후에 위치하는 토큰을 모두 고려하는 양방향 언어모델(bidirectional language model)이므로, 문맥을 정확히 파악할 수 있다. 제2 사전-특징 추출부(212)에 의하여 추출된 제2 특징은 제2 유니모달 특징 추출부(222)의 컨벌루션 레이어에 입력된다.
도 3은 본 개시의 일 실시예에 따른 감정인식 모델이 멀티모달 특징을 추출하는 것을 설명하기 위한 블록구성도이다.
도 3을 참조하면, 감정인식 모델(120)에 포함된 제1 유니모달 특징 추출부(220), 제1 멀티모달 특징 추출부(230), 제2 유니모달 특징 추출부(222) 및 제2 멀티모달 특징 추출부(232)의 구조가 도시되어 있다. 제1 유니모달 특징 추출부(220)는 제1 특징을 입력받아, 제1 임베딩벡터를 추출한다. 제2 유니모달 특징 추출부(222)는 제2 특징을 입력받아, 제2 임베딩벡터를 추출한다. 각각의 유니모달 특징 추출부는 사전-특징 추출부에 의해 추출된 특징만을 이용하는 경우와 대비하여, 문장 내 연관성 정보를 보다 정확히 파악할 수 있는 임베딩벡터를 추출할 수 있다. 발화 또는 문장은 순차데이터(sequential data)이기 때문에 시간정보(temporal information)의 분석이 중요하다. 즉, 동일한 단어가 다른 단어와 조합되는 다양한 문장에서, 문맥에 따라 문장 발화자 또는 문장 작성자의 감정이 상이하게 판단될 수 있다. 예컨대, '웃으면 행복해져(Smile will make you happy.)' 라는 문장에서'행복'이라는 단어는 '웃으면'이라는 어절과 함께 문맥을 형성하여, 긍정의 감정을 표현한다. 반면, '포기하면 행복해져(You'd rather be happy if you give up.)'라는 문장에서, '행복'은 '포기'라는 단어와 함께 문맥을 형성하여, 부정의 감정을 표현하게 된다. 따라서, 제1 및 제2 유니모달 특징 추출부는 문장 내 단어들 간의 시간적 및 지역적 연관정보를 획득하기 위하여, 복수의 셀프어텐션 레이어를 이용한다. 일 실시예에서, 제1 및 제2 유니모달 특징 추출부가 이용하는 셀프어텐션 레이어의 수는 2 개 일 수 있으나, 셀프어텐션 레이어의 구체적인 수는 본 실시예에 제한되지 않는다. 제1 멀티모달 특징 추출부(230)는 제1 임베딩벡터 및 제2 임베딩벡터에 기초하여, 제1 멀티모달 특징을 추출한다. 제2 멀티모달 특징 추출부(232)는 제2 임베딩벡터 및 제1 임베딩벡터에 기초하여, 제2 멀티모달 특징을 추출한다. 즉, 각각의 멀티모달 특징 추출부는 이종(heterogeneous) 임베딩벡터들을 연관(correlation)시켜, 멀티모달 특징을 추출한다. 본 실시예의 감정인식 모델(120)은 크로스 트랜스포머 네트워크를 이용하여 멀티모달 특징을 추출하므로, 음성 및 텍스트를 모두 고려하여 높은 정확도의 감정인식이 가능한 효과가 있다.
제1 유니모달 특징 추출부(220)는 컨벌루션 레이어 및 복수의 제1 셀프어텐션 레이어를 포함한다. 일 실시예에서, 제1 유니모달 특징 추출부(220)는 최적의 텍스트 특징을 추출하기 위한 BERT와 연결되어, 텍스트에 관한 최적의 임베딩벡터를 추출할 수 있다. 제1 멀티모달 특징 추출부(230)가 제1 임베딩벡터에 기초하여 쿼리 임베딩벡터, 키 임베딩벡터 또는 밸류 임베딩벡터를 생성하기 위하여는, 제1 특징의 차원이 변환되어야 한다. 일 실시예에서, 감정인식 모델(120)이 제1 특징으로서 MFCC 또는 PASE+를 이용하는 경우 제1 특징의 차원은 (40, 256) 일 수 있으나, 음향특징의 구체적인 차원 수는 본 실시예에 한정되지 않는다. 제1 유니모달 특징 추출부(220)는 단일한 1-D(dimension) 컨벌루션 레이어를 이용하여, 제1 특징의 차원을 기 설정된 차원으로 변경할 수 있다. 예컨대, 변환된 차원의 수치는 40 차원일 수 있다. 구체적으로, 제1 유니모달 특징 추출부(220)는 제1 특징을 제1 컨벌루션 레이어에 통과시켜, 제1 셀프어텐션 레이어의 입력 벡터시퀀스(input vector sequence)를 출력한다. 제1 컨벌루션 레이어로부터 출력된 기 설정된 차원을 갖는 입력 벡터시퀀스를 제3 특징이라고 지칭할 수 있다. 제1 유니모달 특징 추출부(220)는 입력 벡터시퀀스에 쿼리(Query), 키(Key), 밸류(Value)에 대한 각각의 가중치행렬(weighted matrix)을 곱한다. 각각의 가중치행렬은 학습 과정에서 업데이트되어 미리 설정된다. 행렬연산에 의하여 하나의 입력 벡터시퀀스로부터 쿼리 벡터시퀀스(query vector sequence), 키 벡터시퀀스(key vector sequence) 및 밸류 벡터시퀀스(value vector sequence)가 생성된다. 제1 유니모달 특징 추출부(220)는 쿼리 벡터시퀀스, 키 벡터시퀀스 및 밸류 벡터시퀀스를 복수의 제1 셀프어텐션 레이어에 입력하여, 제1 임베딩벡터를 추출한다. 제1 임베딩벡터는 음성 스트림에 상응하는 문장 내의 단어들 간의 연관성 정보를 포함한다. 셀프어텐션 기법에서 이용되는 구체적인 연산 과정은 해당 기술분야에서 알려진 바, 더 이상의 설명은 생략한다.
제2 유니모달 특징 추출부(222)는 컨벌루션 레이어 및 복수의 제2 셀프어텐션 레이어를 포함한다. 일 실시예에서, 제2 유니모달 특징 추출부(222)는 최적의 음향특징을 추출하기 위한 PASE+와 연결되어, 음성에 관한 최적의 임베딩벡터를 추출할 수 있다. 제2 멀티모달 특징 추출부(232)가 제2 임베딩벡터에 기초하여 쿼리 임베딩벡터, 키 임베딩벡터 또는 밸류 임베딩벡터를 생성하기 위하여는, 제2 특징의 차원이 변환되어야 한다. 일 실시예에서, 제2 사전-특징 추출부가 제2 특징을 추출하기 위하여 BERT를 이용하는 경우 제2 특징의 차원은 768 차원 일 수 있으나, 제2 특징의 구체적인 차원 수는 본 실시예에 한정되지 않는다. 제2 유니모달 특징 추출부(222)는 단일한 1-D(dimension) 컨벌루션 레이어를 이용하여, 제2 특징의 차원을 기 설정된 차원으로 변경할 수 있다. 예컨대, 변환된 차원의 수치는 40 차원일 수 있다. 구체적으로, 제2 유니모달 특징 추출부(222)는 제2 특징을 제2 컨벌루션 레이어에 통과시켜, 셀프어텐션 레이어의 입력 벡터시퀀스를 출력한다. 제2 컨벌루션 레이어로부터 출력된 기 설정된 차원을 갖는 입력 벡터시퀀스를 제4 특징이라고 지칭할 수 있다. 제2 유니모달 특징 추출부(222)는 입력 벡터시퀀스에 쿼리, 키, 밸류에 대한 각각의 가중치행렬을 곱한다. 각각의 가중치행렬은 학습 과정에서 업데이트되어 미리 설정된다. 행렬연산에 의하여 하나의 입력 벡터시퀀스로부터 쿼리 벡터시퀀스, 키 벡터시퀀스 및 밸류 벡터시퀀스가 생성된다. 제2 유니모달 특징 추출부(222)는 쿼리 벡터시퀀스, 키 벡터시퀀스 및 밸류 벡터시퀀스를 복수의 제2 셀프어텐션 레이어에 입력하여, 제2 임베딩벡터를 추출한다. 제2 임베딩벡터는 텍스트 스트림에 상응하는 문장 내의 단어들 간의 연관성 정보를 포함한다.
감정인식 모델(120)은 제1 임베딩벡터 및 제2 임베딩벡터 간의 연관성 정보를 획득하기 위하여, 이종 모달리티 임베딩 벡터 간의 연관성 정보를 추출하기 위한 크로스모달 트랜스포머를 이용한다. 크로스모달 트랜스포머는 복수의 크로스모달 어텐션 레이어(cross-modal attention layer)를 포함한다. 본 실시예에서, 멀티헤드 어텐션의 헤드 수는 8 개로 설정될 수 있으나, 이에 제한되지 않는다. 인간에 의해 발화되는 문장은, 형식적으로 동일한 문장이라고 하더라도, 칭찬(compliment) 및 냉소(sarcasm)의 의미를 모두 포함할 수 있다. 감정인식 모델(120)이 문장에 포함된 실질적 의미를 판단하기 위하여는, 음성에 관한 제1 임베딩벡터와 텍스트에 관한 제2 임베딩벡터 간의 연관성 정보를 분석할 수 있어야 한다. 따라서, 감정인식 모델(120)은 기 학습된 크로스모달 트랜스포머를 이용하여, 음성과 텍스트 간의 연관성 정보를 포함하는 제1 멀티모달 특징 및 제2 멀티모달 특징을 각각 추출한다.
제1 멀티모달 특징 추출부(230)는 제1 크로스모달 트랜스포머(cross-modal transformer)에 제1 임베딩벡터에 기초하여 생성된 쿼리 임베딩벡터를 입력하고, 제2 임베딩벡터에 기초하여 생성된 키 임베딩벡터 및 밸류 임베딩벡터를 입력하여, 제1 멀티모달 특징을 추출한다. 어텐션 기법에서 이용되는 구체적인 연산 과정은 해당 기술분야에서 알려진 바, 더 이상의 설명은 생략한다.
제2 멀티모달 특징 추출부(232)는 제2 크로스모달 트랜스포머에 제2 임베딩벡터에 기초하여 생성된 쿼리 임베딩벡터를 입력하고, 제1 임베딩벡터에 기초하여 생성된 키 임베딩벡터 및 밸류 임베딩벡터를 입력하여, 제2 멀티모달 특징을 추출한다.
도 2를 참조하면, 제1 멀티모달 특징 추출부(230)의 출력과 제2 멀티모달 특징 추출부(232)의 출력은 채널 방향으로 연결(concatenation)된다. 즉, 감정인식 모델(120)은 제1 멀티모달 특징 및 제2 멀티모달 특징을 연결하여, 이종 모달리티로부터 감정을 인식할 수 있다. 감정인식 모델(120)은 연결된 멀티모달 특징들을 완전연결(FC: Fully Connected) 레이어에 통과시키고, 완전연결 레이어의 출력을 소프트맥스 함수(SoftMAX)에 입력하여, 최초 입력된 음성신호에 상응하는 감정이 각각의 감정클래스(emotion class)에 포함될 확률을 추정한다. 감정인식 모델(120)은 멀티모달 분류기(multi-modal classifier)를 이용하여, 가장 높은 확률을 갖는 감정레이블(emotion label)을 인식된 감정으로서 출력한다.
한편, 본 실시예에 따른 감정인식 모델(120)은 제1 임베딩벡터에 기초하여 음성 스트림에 상응하는 음성 감정(audio emotion)을 출력하는 음성감정 분류기(audio emotion classifier) 및 제2 임베딩벡터에 기초하여 텍스트 스트림에 상응하는 텍스트 감정(text emotion)을 출력하는 텍스트감정 분류기(text emotion classifier)를 더 포함할 수 있다. 도 2를 참조하면, 제1 및 유니모달 특징 추출부의 출력은 제1 및 제2 멀티모달 특징 추출부 이외에도 독립된 완전연결 레이어에 전달될 수 있다. 음성감정 분류기 및 텍스트감정 분류기는 멀티모달 분류기의 보조 분류기로서 동작하여, 감정인식 모델(120)의 인식 정확도를 향상시킬 수 있다. 예컨대, 텍스트감정 분류기는 "너 참 잘 됐다(Good for you.)"라는 문장으로부터 추출된 칭찬의 의미에 기초하여 긍정적인 감정을 인식할 수 있다. 반면, 동일한 문장의 발화에 냉소의 어조(intonation)가 포함되는 경우, 음성감정 분류기는 입력된 음성으로부터 부정적인 감정을 인식할 수 있다. 수학식 1은 크로스 엔트로피(cross entropy)를 손실함수(loss function)로서 이용하는 경우, 손실 Eaudio 또는 Etext 를 구하기 위한 수식이다.
yk: 신경망의 k번째 샘플(sample)에 대한 추정값
tk: k번째 샘플에 대한 정답 레이블값
k: 샘플 인덱스(sample index)
tk는 정답(ground-truth) 레이블의 값이며, 정답 클래스의 원소만 1의 값을 갖고, 나머지 클래스의 원소는 모두 0의 값을 갖는다. 따라서, 음성감정 분류기 및 텍스트감정 분류기가 동일한 문장으로부터 서로 다른 레이블의 감정을 인식하는 경우, 음성 모달리티의 손실과 텍스트 모달리티의 손실의 합은 서로 다른 클래스에 대한 추정값의 자연로그의 합과 같게 된다. 즉, 각각의 모달리티의 크로스 엔트로피 값은 서로 다른 레이블의 감정을 인식하는 경우의 출력값을 반영하므로, 다양한 언어표현에 대한 정확한 감정 인식이 가능한 효과가 있다.
멀티모달 분류기는 수학식 1에 따라 산출된 손실 Eaudio 또는 Etext 를 이용한 가중치 학습에 기초하여, 보다 정확한 감정 인식을 할 수 있게 된다. 음성감정 분류기 및 텍스트감정 분류기의 출력이 반영된 전체 크로스 엔트로피 손실은 수학식 2와 같이 표현할 수 있다. 음성감정 분류기의 손실에 대한 가중치 waudio 및 텍스트감정 분류기의 손실에 대한 가중치 wtext 는 학습에 따라 업데이트될 수 있다.
yk: 신경망의 k번째 샘플에 대한 추정값
tk: k번째 샘플에 대한 정답 레이블값
k: 샘플 인덱스
도 4는 본 개시의 다른 실시예에 따른 감정인식 장치가 포함하는 감정인식 모델의 구성을 설명하기 위한 블록구성도이다.
도 4를 참조하면, 본 개시의 일 실시예에 따른 감정인식 모델(120)은 오디오 전처리부, 제1 사전-특징 추출부, 제1 멀티모달 특징 추출부(420), 대화문 전처리부, 제2 사전-특징 추출부, 제2 멀티모달 특징 추출부(422)를 전부 또는 일부 포함한다. 도 4에 도시된 감정인식 모델(120)은 본 개시의 일 실시예에 따른 것으로서, 도 4에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 감정인식 모델(120)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다.
도 5는 본 개시의 다른 실시예에 따른 감정인식 모델이 멀티모달 특징을 추출하는 것을 설명하기 위한 블록구성도이다.
본 개시의 다른 실시예에 따른 감정인식 모델(120)은 파라미터 공유(parameter sharing) 기반의 네트워크 구조를 갖는다. 감정인식 모델(120)은 음성 스트림에 대한 특징 및 텍스트 스트림에 대한 특징 간의 가중치 합(weighted sum)에 기초하여, 음성 스트림과 텍스트 스트림 간의 연관성 정보를 포함하는 제1 및 제2 임베딩벡터를 각각 획득한다.
이하, 도 4 및 도 5를 참조하여, 본 개시의 다른 실시예에 따른 감정인식 장치가 포함하는 감정인식 모델(120)의 각 구성을 설명한다. 도 2 및 도 3의 실시예의 감정인식 모델(120)과 중복되는 구성에 관하여는 설명을 생략한다.
감정인식 모델(120)에 포함된 제1 사전-특징 추출부는 전처리된 음성 스트림으로부터 제1 특징을 추출한다. 여기서, 제1 특징은 MFCC 또는 PASE+ 특징일 수 있다. 제2 사전-특징 추출부는 전처리된 텍스트 스트림으로부터 제2 특징을 추출한다. 여기서, 제2 특징은 BERT를 이용하여 추출된 텍스트 특징일 수 있다.
제1 멀티모달 특징 추출부(420) 및 제2 멀티모달 특징 추출부(422)는 각각 1-D 컨벌루션 레이어, 복수의 컨벌루션 블록(convolutional block) 및 복수의 셀프어텐션 레이어를 포함한다. 본 실시예의 감정인식 모델(120)은 셀프어텐션 이전에, 파라미터 공유를 이용하여 이종 모달리티 간의 가중치를 학습한다. 따라서, 감정인식 모델(120)은 크로스모달 트랜스포머를 구비하지 않고도 이종 모달리티 간의 가중치 및 연관성 정보를 획득할 수 있게 되는 효과가 있다.
제1 멀티모달 특징 추출부(420)는 제1 사전-특징 추출부에 의하여 추출된 제1 특징을 1-D 컨벌루션 레이어에 입력하여, 제1 특징의 차원을 기 설정된 차원으로 매핑한다. 제2 멀티모달 특징 추출부(422)는 제2 사전-특징 추출부에 의하여 추출된 제2 특징을 1-D 컨벌루션 레이어에 입력하여, 제2 특징의 차원을 기 설정된 차원으로 매핑한다. 여기서, 변환된 제1 및 제2 특징의 차원은 40 차원일 수 있으나, 구체적인 수치는 본 실시예에 제한되지 않는다. 제1 및 제2 멀티모달 특징 추출부(420 및 422)는 컨벌루션 블록의 출력이 갖는 차원을 맞춤으로써, 쿼리 임베딩벡터, 키 임베딩벡터 및 밸류 임베딩벡터를 생성할 수 있게 된다.
제1 멀티모달 특징 추출부(420)는 차원이 변환된 제1 특징을 복수의 컨벌루션 블록에 통과시켜, 제2 멀티모달 특징 추출부(422)와 파라미터 공유를 수행한다. 제2 멀티모달 특징 추출부(422)는 차원이 변환된 제2 특징을 복수의 컨벌루션 블록에 통과시켜, 제1 멀티모달 특징 추출부(420)와 파라미터 공유를 수행한다. 제1 멀티모달 특징부(420) 및 제2 멀티모달 특징부(422)에 포함된 각각의 컨벌루션 블록은 2-D 컨벌루션 레이어 및 2-D 평균풀링 레이어(average pooling layer)를 포함한다. 여기서, 각각의 멀티모달 특징부가 포함하는 컨벌루션 블록의 수는 4 개 이며, 각각의 컨벌루션 블록의 출력채널(output channel)은 블록의 순서에 따라 64, 128, 256 및 512 일 수 있다. 하지만, 컨벌루션 블록의 수 및 출력된 피쳐맵(feature map)의 수는 본 개시의 실시예에 따라 다양하게 변경될 수 있다. 제1 멀티모달 특징 추출부(420)는 차원이 변환된 제1 특징을 하나의 컨벌루션 블록에 통과시킬 때마다, 제1 특징과 제2 특징 간의 가중치 합을 연산함으로써 제2 멀티모달 특징 추출부(422)와 파라미터 공유를 수행한다. 제2 멀티모달 특징 추출부(422)는 차원이 변환된 제2 특징을 하나의 컨벌루션 블록에 통과시킬 때마다, 제2 특징과 제1 특징 간의 가중치 합을 연산함으로써 제1 멀티모달 특징 추출부(420)와 파라미터 공유를 수행한다. 예컨대, 제1 멀티모달 특징 추출부(420)는 제1 컨벌루션 블록에서 연산된 가중치 합을 제2 컨벌루션 블록에 입력한다. 제2 컨벌루션 블록에는 제2 멀티모달 특징 추출부(422)의 제1 컨벌루션 블록에서 연산된 가중치 합이 입력된다. 제1 멀티모달 특징 추출부(420)는 제2 컨벌루션 블록에서 제1 컨벌루션 블록들의 출력 간의 가중치 합을 연산한다. 여기서, 각각의 컨벌루션 블록에서 제1 특징과 제2 특징에 곱해지는 가중치들은 학습가능한 파라미터(learnable parameter)이다. 파라미터 공유에 이용되는 가중치들은 이종 모달리티 간의 정확한 연관성 정보를 출력하도록 학습에 의하여 조정될 수 있다. 제1 멀티모달 특징 추출부(420)는 마지막 컨벌루션 블록에서 가중치 합을 연산함으로써, 음성 스트림과 텍스트 스트림 간의 연관성 정보를 포함하는 제1 임베딩벡터를 출력한다. 제2 멀티모달 특징 추출부(422)는 마지막 컨벌루션 블록에서 가중치 합을 연산함으로써, 텍스트 스트림과 음성 스트림 간의 연관성 정보를 포함하는 제2 임베딩벡터를 출력한다.
제1 멀티모달 특징 추출부(420)는 제1 임베딩벡터에 각각의 가중치 행렬이 곱해진 쿼리 임베딩벡터, 키 임베딩벡터 및 밸류 임베딩벡터를 복수의 셀프어텐션 레이어에 입력하여, 시간 상의 연관성 정보를 포함하는 제1 멀티모달 특징을 추출한다. 제2 멀티모달 특징 추출부(422)는 제2 임베딩벡터에 각각의 가중치 행렬이 곱해진 쿼리 임베딩벡터, 키 임베딩벡터 및 밸류 임베딩벡터를 복수의 셀프어텐션 레이어에 입력하여, 시간 상의 연관성 정보를 포함하는 제2 멀티모달 특징을 추출한다. 여기서, 제1 및 제2 멀티모달 특징 추출부(420, 422)에 포함된 복수의 셀프어텐션 레이어는 각각 2 개 일 수 있으나, 본 실시예에 제한되지 않는다.
감정인식 모델(120)은 제1 멀티모달 특징 및 제2 멀티모달 특징을 채널 축으로 연결하고, 연결된 멀티모달 특징에 기초하여 감정을 인식한다.
도 6은 본 개시의 일 실시예에 따른 감정인식 방법을 설명하기 위한 순서도이다.
감정인식 장치(10)는 기 설정된 단위길이를 갖는 음성신호(audio signal)를 입력받아, 음성신호에 상응하는 음성 스트림을 생성한다(S600). 여기서, 감정인식 장치(10)는 음성버퍼에 기 저장된 음성신호와 입력된 음성신호를 연결하여, 음성 스트림을 생성한다. 한편, 감정인식 장치(10)는 음성버퍼에 저장된 음성신호의 길이가 기 설정된 기준길이를 초과하는 경우, 음성버퍼를 리셋할 수 있다.
감정인식 장치(10)는 음성 스트림을 음성 스트림에 상응하는 텍스트 스트림으로 변환한다(S602).
감정인식 장치(10)는 음성 스트림 및 변환된 상기 텍스트 스트림을 기 학습된 감정인식 모델에 입력하여, 상기 음성신호에 상응하는 멀티모달 감정을 출력한다(S604).
도 7은 본 개시의 일 실시예에 따른 감정인식 방법이 포함하는 멀티모달 감정을 출력하는 과정을 설명하기 위한 순서도이다.
감정인식 장치(10)는 음성 스트림으로부터 제1 특징을 추출하고, 텍스트 스트림으로부터 제2 특징을 추출하는 사전-특징 추출 과정을 수행한다(S700). 여기서, 사전-특징 추출 과정에는 음성 스트림 또는 텍스트 스트림을 전처리하는 과정이 포함될 수 있으며, 음성 스트림 또는 텍스트 스트림은 전처리된 데이터일 수 있다. 여기서, 감정인식 장치(10)는 제1 특징을 추출할 때, 음성 스트림을 PASE+에 입력하여, 제1 특징을 추출할 수 있다.
감정인식 장치(10)는 제1 특징으로부터 제1 임베딩벡터를 추출하고, 제2 특징으로부터 제2 임베딩벡터를 추출하는 유니모달 특징 추출 과정을 수행한다(S702). 여기서, 유니모달 특징 추출 과정(S702)은 제1 특징을 제1 컨벌루션 레이어에 입력하여, 기 설정된 차원을 갖는 제3 특징을 추출하는 과정, 제3 특징을 제1 셀프어텐션 레이어에 입력하여, 음성 스트림에 상응하는 문장 내의 단어들 간의 연관성 정보를 포함하는 제1 임베딩벡터를 획득하는 과정, 제2 특징을 제2 컨벌루션 레이어에 입력하여, 기 설정된 차원을 갖는 제4 특징을 추출하는 과정 및 제4 특징을 제2 셀프어텐션 레이어에 입력하여, 텍스트 스트림에 상응하는 문장 내의 단어들 간의 연관성 정보를 포함하는 제2 임베딩벡터를 획득하는 과정을 포함할 수 있다. 한편, 감정인식 장치(10)는 유니모달 특징 추출 과정(S702)을 수행한 이후에, 제1 임베딩벡터에 기초하여 음성 스트림에 상응하는 음성 감정을 출력하는 과정을 수행할 수 있다. 감정인식 장치(10)는 유니모달 특징 추출 과정(S702)을 수행한 이후에, 제2 임베딩벡터에 기초하여 텍스트 스트림에 상응하는 텍스트 감정을 출력하는 과정을 수행할 수 있다. 즉, 본 개시의 일 실시예에 따른 감정인식 방법은 음성 및 텍스트를 동등한 수준으로 연관시키고, 음성감정 또는 텍스트감정을 분류하기 위한 보조 분류 과정을 수행한다. 또한, 감정인식 방법은 감정인식 정확도에 대한 제어 파라미터로서, 음성감정 또는 텍스트감정 간의 가중치를 이용할 수 있다.
감정인식 장치(10)는 제1 임베딩벡터 및 제2 임베딩벡터를 연관시켜, 제1 멀티모달 특징 및 제2 멀티모달 특징을 추출하는 멀티모달 특징 추출 과정을 수행한다(S704). 여기서, 멀티모달 특징 추출 과정은 제1 크로스모달 트랜스포머에, 제1 임베딩벡터에 기초하여 생성된 쿼리 임베딩벡터를 입력하고, 제2 임베딩벡터에 기초하여 생성된 키 임베딩벡터 및 밸류 임베딩벡터를 입력하여, 제1 멀티모달 특징을 추출하는 과정 및 제2 크로스모달 트랜스포머에, 제2 임베딩벡터에 기초하여 생성된 쿼리 임베딩벡터를 입력하고, 제1 임베딩벡터에 기초하여 생성된 키 임베딩벡터 및 밸류 임베딩벡터를 입력하여, 제2 멀티모달 특징을 추출하는 과정을 포함한다.
감정인식 장치(10)는 제1 멀티모달 특징 및 제2 멀티모달 특징을 채널 방향으로 연결한다(S706).
도 8은 본 개시의 다른 실시예에 따른 감정인식 방법이 포함하는 멀티모달 감정을 출력하는 과정을 설명하기 위한 순서도이다.
감정인식 장치(10)는 모달리티 간의 연관성 정보를 포함하는 임베딩벡터들을 획득한다(S800). 여기서, 임베딩벡터들을 획득하는 과정(S800)은, 음성 스트림에 대한 특징 및 텍스트 스트림에 대한 특징 간의 가중치 합에 기초하여, 음성 스트림과 텍스트 스트림 간의 연관성 정보를 포함하는 제1 임베딩벡터를 획득하는 과정 및 텍스트 스트림에 대한 특징 및 음성 스트림에 대한 특징 간의 가중치 합에 기초하여, 텍스트 스트림과 음성 스트림 간의 연관성 정보를 포함하는 제2 임베딩벡터를 획득하는 과정을 포함한다.
감정인식 장치(10)는 임베딩벡터들을 각각 셀프어텐션 레이어에 입력하여, 시간 상의 연관성 정보를 포함하는 멀티모달 특징들을 추출한다(S802).
감정인식 장치(10)는 멀티모달 특징들을 채널 방향으로 연결한다(S804).
순서도에서는 각각의 과정들을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일부 실시예의 기술 사상을 예시적으로 설명한 것에 불과하다. 다시 말해, 본 발명의 일부 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일부 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 순서도에 기재된 과정을 변경하여 실행하거나 각각의 과정 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 순서도는 시계열적인 순서로 한정되는 것은 아니다.
본 명세서에 설명되는 장치 및 방법의 다양한 구현예들은, 디지털 전자 회로, 집적 회로, FPGA(Field Programmable Gate Array), ASIC(Application Specific Integrated Circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 프로그래밍가능 시스템상에서 실행 가능한 하나 이상의 컴퓨터 프로그램들로 구현되는 것을 포함할 수 있다. 프로그래밍가능 시스템은, 저장 시스템, 적어도 하나의 입력 디바이스, 그리고 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 이들에게 데이터 및 명령들을 전송하도록 결합되는 적어도 하나의 프로그래밍가능 프로세서(이것은 특수 목적 프로세서일 수 있거나 혹은 범용 프로세서일 수 있음)를 포함한다. 컴퓨터 프로그램들(이것은 또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 혹은 코드로서 알려져 있음)은 프로그래밍가능 프로세서에 대한 명령어들을 포함하며 "컴퓨터가 읽을 수 있는 기록매체"에 저장된다.
컴퓨터가 읽을 수 있는 기록매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체는 ROM, CD-ROM, 자기 테이프, 플로피디스크, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등의 비휘발성(non-volatile) 또는 비 일시적인(non-transitory) 매체 또는 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.
본 명세서에 설명되는 장치 및 방법의 다양한 구현예들은, 프로그램가능 컴퓨터에 의하여 구현될 수 있다. 여기서, 컴퓨터는 프로그램가능 프로세서, 데이터 저장 시스템(휘발성 메모리, 비휘발성 메모리, 또는 다른 종류의 저장 시스템이거나 이들의 조합을 포함함) 및 적어도 한 개의 커뮤니케이션 인터페이스를 포함한다. 예컨대, 프로그램가능 컴퓨터는 서버, 네트워크 기기, 셋탑 박스, 내장형 장치, 컴퓨터 확장 모듈, 개인용 컴퓨터, 랩탑, PDA(Personal Data Assistant), 클라우드 컴퓨팅 시스템 또는 모바일 장치 중 하나일 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
(부호의 설명)
10: 감정인식 장치
100: 음성버퍼
110: STT 모델
120: 감정인식 모델
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2022년 02월 28일에 한국에 출원한 특허출원번호 제10-2022-0025988호에 대해 우선권을 주장한다.
Claims (12)
- 감정인식 장치에 의해 수행되는 음성 스트림(audio stream)을 이용한 감정인식 방법으로서,기 설정된 단위길이를 갖는 음성신호(audio signal)를 입력받아, 상기 음성신호에 상응하는 상기 음성 스트림을 생성하는 과정;상기 음성 스트림을 상기 음성 스트림에 상응하는 텍스트 스트림(text stream)으로 변환하는 과정; 및상기 음성 스트림 및 변환된 상기 텍스트 스트림을 기 학습된 감정인식 모델(emotion recognition model)에 입력하여, 상기 음성신호에 상응하는 멀티모달 감정(Multi-Modal emotion)을 출력하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법.
- 제1 항에 있어서,상기 생성하는 과정은,음성버퍼(audio buffer)에 기 저장된 음성신호와 상기 음성신호를 연결하여, 상기 음성 스트림을 생성하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법.
- 제2 항에 있어서,상기 음성버퍼에 저장된 음성신호의 길이가 기 설정된 기준길이를 초과하는 경우, 상기 음성버퍼를 리셋하는 과정을 더 포함하는 것을 특징으로 하는 감정인식 방법.
- 제1 항에 있어서,상기 출력하는 과정은,상기 음성 스트림으로부터 제1 특징을 추출하고, 상기 텍스트 스트림으로부터 제2 특징을 추출하는 사전-특징(pre-feature) 추출 과정;상기 제1 특징으로부터 제1 임베딩벡터(embedding vector)를 추출하고, 상기 제2 특징으로부터 제2 임베딩벡터를 추출하는 유니모달 특징(Uni-Modal feature) 추출 과정;상기 제1 임베딩벡터 및 상기 제2 임베딩벡터를 연관(correlation)시켜, 제1 멀티모달 특징 및 제2 멀티모달 특징을 추출하는 멀티모달 특징(Multi-Modal feature) 추출 과정; 및상기 제1 멀티모달 특징 및 상기 제2 멀티모달 특징을 채널 방향으로 연결(concatenation)하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법.
- 제4 항에 있어서,상기 유니모달 특징 추출 과정은,상기 제1 특징을 제1 컨벌루션 레이어(convolutional layer)에 입력하여, 기 설정된 차원을 갖는 제3 특징을 추출하는 과정;상기 제3 특징을 제1 셀프어텐션 레이어(self-attention layer)에 입력하여, 상기 음성 스트림에 상응하는 문장 내의 단어들 간의 연관성 정보를 포함하는 제1 임베딩벡터를 획득하는 과정;상기 제2 특징을 제2 컨벌루션 레이어에 입력하여, 상기 차원을 갖는 제4 특징을 추출하는 과정; 및상기 제4 특징을 제2 셀프어텐션 레이어에 입력하여, 상기 텍스트 스트림에 상응하는 문장 내의 단어들 간의 연관성 정보를 포함하는 제2 임베딩벡터를 획득하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법.
- 제4 항에 있어서,상기 멀티모달 특징 추출 과정은,제1 크로스모달 트랜스포머(cross-modal transformer)에 상기 제1 임베딩벡터에 기초하여 생성된 쿼리(Query) 임베딩벡터를 입력하고, 상기 제2 임베딩벡터에 기초하여 생성된 키(Key) 임베딩벡터 및 밸류(Value) 임베딩벡터를 입력하여, 상기 제1 멀티모달 특징을 추출하는 과정; 및제2 크로스모달 트랜스포머에 상기 제2 임베딩벡터에 기초하여 생성된 쿼리 임베딩벡터를 입력하고, 상기 제1 임베딩벡터에 기초하여 생성된 키 임베딩벡터 및 밸류 임베딩벡터를 입력하여, 상기 제2 멀티모달 특징을 추출하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법.
- 제4 항에 있어서,상기 제1 임베딩벡터에 기초하여 상기 음성 스트림에 상응하는 음성 감정(audio emotion)을 출력하는 과정; 및상기 제2 임베딩벡터에 기초하여 상기 텍스트 스트림에 상응하는 텍스트 감정(text emotion)을 출력하는 과정을 더 포함하는 것을 특징으로 하는 감정인식 방법.
- 제4 항에 있어서,상기 사전-특징 추출 과정은,상기 음성 스트림을 PASE+(Problem-Agnostic Speech Encoder+)에 입력하여, 상기 제1 특징을 추출하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법.
- 제1 항에 있어서,상기 출력하는 과정은,모달리티 간의 연관성 정보를 포함하는 임베딩벡터들을 획득하는 과정;상기 임베딩벡터들을 각각 셀프어텐션 레이어에 입력하여, 시간 상의 연관성 정보를 포함하는 멀티모달 특징들을 추출하는 과정; 및상기 멀티모달 특징들을 채널 방향으로 연결하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법.
- 제9 항에 있어서,상기 임베딩벡터들을 획득하는 과정은,상기 음성 스트림에 대한 특징 및 상기 텍스트 스트림에 대한 특징 간의 가중치 합(weighted sum)에 기초하여, 상기 음성 스트림과 상기 텍스트 스트림 간의 연관성 정보를 포함하는 제1 임베딩벡터를 획득하는 과정; 및상기 텍스트 스트림에 대한 특징 및 상기 음성 스트림에 대한 특징 간의 가중치 합에 기초하여, 상기 텍스트 스트림과 상기 음성 스트림 간의 연관성 정보를 포함하는 제2 임베딩벡터를 획득하는 과정을 포함하는 것을 특징으로 하는 감정인식 방법.
- 음성 스트림을 이용한 감정인식 장치로서,기 설정된 단위길이를 갖는 음성신호를 입력받아, 상기 음성신호에 상응하는 상기 음성 스트림을 생성하는 음성버퍼;상기 음성 스트림을 상기 음성 스트림에 상응하는 텍스트 스트림으로 변환하는 STT(Speech-To-Text) 모델; 및상기 음성 스트림 및 변환된 상기 텍스트 스트림을 입력받아, 상기 음성신호에 상응하는 멀티모달 감정을 출력하는 감정인식 모델을 포함하는 것을 특징으로 하는 감정인식 장치.
- 제1 항 내지 제10 항 중 어느 한 항에 따른 감정인식 방법이 포함하는 각 과정을 실행시키기 위하여 컴퓨터로 읽을 수 있는 하나 이상의 기록매체에 각각 저장된 컴퓨터 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220025988A KR20230129094A (ko) | 2022-02-28 | 2022-02-28 | 멀티모달 기반 실시간 감정인식 방법 및 장치 |
KR10-2022-0025988 | 2022-02-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023163383A1 true WO2023163383A1 (ko) | 2023-08-31 |
Family
ID=87766224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/001005 WO2023163383A1 (ko) | 2022-02-28 | 2023-01-20 | 멀티모달 기반 실시간 감정인식 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230129094A (ko) |
WO (1) | WO2023163383A1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117688344A (zh) * | 2024-02-04 | 2024-03-12 | 北京大学 | 一种基于大模型的多模态细粒度倾向分析方法及*** |
CN117933269A (zh) * | 2024-03-22 | 2024-04-26 | 合肥工业大学 | 一种基于情感分布的多模态深度模型构建方法及*** |
CN118194238A (zh) * | 2024-05-14 | 2024-06-14 | 广东电网有限责任公司 | 一种多语种多模态情感识别方法、***及设备 |
CN118212939A (zh) * | 2024-05-21 | 2024-06-18 | 杭州觅睿科技股份有限公司 | 一种婴儿哭声的检测翻译方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015052743A (ja) * | 2013-09-09 | 2015-03-19 | Necパーソナルコンピュータ株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
CN112329604A (zh) * | 2020-11-03 | 2021-02-05 | 浙江大学 | 一种基于多维度低秩分解的多模态情感分析方法 |
-
2022
- 2022-02-28 KR KR1020220025988A patent/KR20230129094A/ko not_active Application Discontinuation
-
2023
- 2023-01-20 WO PCT/KR2023/001005 patent/WO2023163383A1/ko unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015052743A (ja) * | 2013-09-09 | 2015-03-19 | Necパーソナルコンピュータ株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
CN112329604A (zh) * | 2020-11-03 | 2021-02-05 | 浙江大学 | 一种基于多维度低秩分解的多模态情感分析方法 |
Non-Patent Citations (3)
Title |
---|
9A3710: "Multi-modal Emotion Recognition AI Model Development - Research Planning (1)", SKT AI FELLOWSHIP, pages 1 - 5, XP009549236, Retrieved from the Internet <URL:https://devocean.sk.com/blog/techBoardDetail.do?ID=163238> * |
DAVIDSHLEE47: "Multi-modal Emotion Recognition AI Model Development - Research Process (2)", SKT AI FELLOWSHIP., XP009549237, Retrieved from the Internet <URL:https://devocean.sk.com/blog/techBoardDetail.do?ID=163343> * |
DAVIDSHLEE47: "Multi-modal Emotion Recognition AI Model Development - Research Results (3)", SKT AI FELLOWSHIP, XP009549238, Retrieved from the Internet <URL:https://devocean.sk.com/blog/techBoardDetail.do?ID=163482> * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117688344A (zh) * | 2024-02-04 | 2024-03-12 | 北京大学 | 一种基于大模型的多模态细粒度倾向分析方法及*** |
CN117688344B (zh) * | 2024-02-04 | 2024-05-07 | 北京大学 | 一种基于大模型的多模态细粒度倾向分析方法及*** |
CN117933269A (zh) * | 2024-03-22 | 2024-04-26 | 合肥工业大学 | 一种基于情感分布的多模态深度模型构建方法及*** |
CN118194238A (zh) * | 2024-05-14 | 2024-06-14 | 广东电网有限责任公司 | 一种多语种多模态情感识别方法、***及设备 |
CN118212939A (zh) * | 2024-05-21 | 2024-06-18 | 杭州觅睿科技股份有限公司 | 一种婴儿哭声的检测翻译方法及*** |
Also Published As
Publication number | Publication date |
---|---|
KR20230129094A (ko) | 2023-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023163383A1 (ko) | 멀티모달 기반 실시간 감정인식 방법 및 장치 | |
CN109741732B (zh) | 命名实体识别方法、命名实体识别装置、设备及介质 | |
CN110751208A (zh) | 一种基于自权重差分编码器进行多模态特征融合的服刑人员情感识别方法 | |
US5457770A (en) | Speaker independent speech recognition system and method using neural network and/or DP matching technique | |
CN113223509B (zh) | 一种应用于多人混杂场景下的模糊语句识别方法及*** | |
CN112397054B (zh) | 一种电力调度语音识别方法 | |
Nasereddin et al. | Classification techniques for automatic speech recognition (ASR) algorithms used with real time speech translation | |
US20220180864A1 (en) | Dialogue system, dialogue processing method, translating apparatus, and method of translation | |
EP4392972A1 (en) | Speaker-turn-based online speaker diarization with constrained spectral clustering | |
Kumar et al. | A comprehensive review of recent automatic speech summarization and keyword identification techniques | |
CN112735404A (zh) | 一种语音反讽检测方法、***、终端设备和存储介质 | |
JPH0372997B2 (ko) | ||
Larabi-Marie-Sainte et al. | A new framework for Arabic recitation using speech recognition and the Jaro Winkler algorithm | |
WO2020091123A1 (ko) | 문맥 기반의 음성인식 서비스를 제공하기 위한 방법 및 장치 | |
Ikawa et al. | Generating sound words from audio signals of acoustic events with sequence-to-sequence model | |
WO2020096078A1 (ko) | 음성인식 서비스를 제공하기 위한 방법 및 장치 | |
JP2002169592A (ja) | 情報分類・区分化装置、情報分類・区分化方法、情報検索・抽出装置、情報検索・抽出方法、記録媒体および情報検索システム | |
Sawakare et al. | Speech recognition techniques: a review | |
WO2019208858A1 (ko) | 음성 인식 방법 및 이를 위한 장치 | |
CN113096667A (zh) | 一种错别字识别检测方法和*** | |
WO2019208859A1 (ko) | 발음 사전 생성 방법 및 이를 위한 장치 | |
TW202129628A (zh) | 細粒度解碼之語音辨識系統 | |
WO2020096073A1 (ko) | 빅 데이터를 이용한 최적의 언어 모델 생성 방법 및 이를 위한 장치 | |
JP2813209B2 (ja) | 大語彙音声認識装置 | |
WO2024177172A1 (ko) | 발화검증 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23760258 Country of ref document: EP Kind code of ref document: A1 |