KR102429891B1 - Voice recognition device and method of operating the same - Google Patents
Voice recognition device and method of operating the same Download PDFInfo
- Publication number
- KR102429891B1 KR102429891B1 KR1020200146976A KR20200146976A KR102429891B1 KR 102429891 B1 KR102429891 B1 KR 102429891B1 KR 1020200146976 A KR1020200146976 A KR 1020200146976A KR 20200146976 A KR20200146976 A KR 20200146976A KR 102429891 B1 KR102429891 B1 KR 102429891B1
- Authority
- KR
- South Korea
- Prior art keywords
- phonemes
- voice
- arrangement
- candidate
- likelihood values
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/22—Interactive procedures; Man-machine interfaces
- G10L17/24—Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
- G10L2015/025—Phonemes, fenemes or fenones being the recognition units
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
Abstract
음성 인식 장치는, 소정의 음소들의 배열에 대한 가중치들을 저장하는 저장 매체; 사용자로부터 감지된 음성에 따라 음성 신호를 생성하는 음성 전처리부; 음성 신호로부터 후보 음소들을 판별하면서 후보 음소들에 대응하는 우도 값들을 생성하도록 구성되는 제 1 음성 인식부; 소정의 음소들의 배열에 대한 가중치들에 따라 후보 음소들에 대응하는 우도 값들의 적어도 일부를 조절하도록 구성되는 제 2 음성 인식부; 및 조절된 우도 값들에 기반하여 후보 음소들로부터 사용자의 음성에 대응하는 음소들의 배열을 추정하도록 구성되는 음성 추정부를 포함한다.A speech recognition apparatus includes: a storage medium for storing weights for an arrangement of predetermined phonemes; a voice pre-processing unit for generating a voice signal according to a voice sensed by a user; a first speech recognition unit configured to generate likelihood values corresponding to the candidate phonemes while discriminating the candidate phonemes from the speech signal; a second speech recognition unit configured to adjust at least a portion of likelihood values corresponding to candidate phonemes according to weights for an arrangement of predetermined phonemes; and a speech estimator configured to estimate an arrangement of phonemes corresponding to the user's speech from the candidate phonemes based on the adjusted likelihood values.
Description
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 사용자의 음성을 인식할 수 있는 음성 인식 장치 및 그것의 동작 방법에 관한 것이다.The present invention relates to an electronic device, and more particularly, to a voice recognition device capable of recognizing a user's voice and an operating method thereof.
최근 들어 음성 인식 기술은 실험실 데모 수준을 벗어나 실생활에 적용, 상용화되고 있다. 현재의 음성 인식 시스템은 정해진 환경 하에서는 비교적 좋은 성능을 보이지만 실제 다양한 환경들 하에서는 저하된 인식 성능을 보인다. 이는 음성 인식을 수행하는 실제 환경들이 주변 소음, 발성 거리, 마이크 특성, 및 화자의 상이함 등 인식 성능을 저하시키는 요소들을 수반하기 때문이다.Recently, voice recognition technology has been applied and commercialized in real life beyond the level of laboratory demonstrations. The current speech recognition system shows relatively good performance under a set environment, but shows a degraded recognition performance under various environments. This is because real environments in which voice recognition is performed involve factors that degrade recognition performance, such as ambient noise, utterance distance, microphone characteristics, and speaker differences.
이러한 요소들은 감지된 음성 신호를 오염시켜 변화를 야기하며 이에 따라 그에 대응하는 특징 벡터를 변화시킬 수 있다. 이는, 특징 벡터가 갖는 통계적 특성이 변화됨을 의미한다. 예를 들면, 백색 잡음은 스펙트럼의 포락선 정보를 표현하는 켑스트럼과 같은 특징 벡터의 동적 범위(또는 분산)를 감소시킬 수 있다.These elements may pollute the sensed speech signal to cause changes and thus change the corresponding feature vector. This means that the statistical properties of the feature vector are changed. For example, white noise may reduce the dynamic range (or variance) of a feature vector, such as a cepstrum, that represents the envelope information of a spectrum.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.The above description is only for helping the understanding of the background of the technical spirit of the present invention, and therefore it cannot be understood as the content corresponding to the prior art known to those skilled in the art.
현재 한 개의 단어와 같은 짧은 길이의 언어(language)에 대한 음성 인식은 특징 벡터에 기반한 음향 모델에 의존하고 있으며, 음향 모델에 기반하여 인식된 단어에 대한 추가적인 보정은 고려되지 못하고 있다. 예를 들면, 명령어를 이용하여 활성화되는 디바이스에 있어서, 그러한 명령어는 “하이”와 같은 짧은 길이의 언어로 이루어져 있는 관계로, 복수의 단어들의 배열을 학습한 언어 모델을 이용하는 추가적인 보정은 고려되지 못하고 있으며, 이에 따라 해당 명령어에 대한 인식률은 낮은 실정이다.Currently, speech recognition for a short language such as a single word depends on an acoustic model based on a feature vector, and additional correction for a word recognized based on the acoustic model is not considered. For example, in a device activated using a command, since the command is made up of a short language such as “high”, additional correction using a language model that has learned the arrangement of a plurality of words is not considered. Accordingly, the recognition rate for the corresponding command is low.
본 발명은 향상된 신뢰성으로 음성을 인식할 수 있는 음성 인식 장치를 제공하기 위한 것이다. 예를 들면, 음성 인식 장치는 사용자의 음성으로부터 음소(phoneme)들을 인식하고 인식된 음소들에 대한 우도 값들을 조절하기 위한 가중치들을 제공할 수 있다. 이에 따라, 음성 인식 장치는 명령어와 같은 상대적으로 짧은 길이의 언어에 대해서도 상대적으로 높은 신뢰성으로 음성 인식을 수행할 수 있다.An object of the present invention is to provide a voice recognition apparatus capable of recognizing a voice with improved reliability. For example, the voice recognition apparatus may recognize phonemes from the user's voice and provide weights for adjusting likelihood values for the recognized phonemes. Accordingly, the voice recognition apparatus may perform voice recognition with relatively high reliability even for a language of a relatively short length, such as a command.
본 발명의 실시 예에 따른 음성 인식 장치는, 소정의 음소들의 배열에 대한 가중치들을 저장하는 저장 매체; 사용자로부터 감지된 음성에 따라 음성 신호를 생성하는 음성 전처리부; 상기 음성 신호로부터 후보 음소들을 판별하면서 상기 후보 음소들에 대응하는 우도 값들을 생성하도록 구성되는 제 1 음성 인식부; 상기 소정의 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 후보 음소들에 대응하는 상기 우도 값들의 적어도 일부를 조절하도록 구성되는 제 2 음성 인식부; 및 상기 조절된 우도 값들에 기반하여 상기 후보 음소들로부터 상기 사용자의 상기 음성에 대응하는 음소들의 배열을 추정하도록 구성되는 음성 추정부를 포함한다.A voice recognition apparatus according to an embodiment of the present invention includes: a storage medium for storing weights for an arrangement of predetermined phonemes; a voice pre-processing unit for generating a voice signal according to a voice sensed by a user; a first speech recognition unit configured to generate likelihood values corresponding to the candidate phonemes while discriminating candidate phonemes from the speech signal; a second speech recognition unit configured to adjust at least a portion of the likelihood values corresponding to the candidate phonemes according to the weights for the arrangement of the predetermined phonemes; and a speech estimator configured to estimate an arrangement of phonemes corresponding to the user's speech from the candidate phonemes based on the adjusted likelihood values.
상기 제 2 음성 인식부는 상기 후보 음소들 중 상기 소정의 음소들의 상기 배열의 적어도 일부와 매치되는 것들을 선택하고, 상기 소정의 음소들의 상기 매치되는 배열에 대응하는 가중치들에 따라 상기 선택된 후보 음소들에 대응하는 우도 값들을 조절하도록 구성될 수 있다.The second speech recognition unit selects from among the candidate phonemes that match at least a part of the arrangement of the predetermined phonemes, and assigns the selected candidate phonemes to the selected candidate phonemes according to weights corresponding to the matched arrangement of the predetermined phonemes. may be configured to adjust the corresponding likelihood values.
상기 음성 신호는 상기 감지된 음성을 주파수 도메인으로 변환한 특징 벡터 값들을 포함할 수 있다.The voice signal may include feature vector values obtained by converting the sensed voice into a frequency domain.
상기 제 1 음성 인식부는 은닉 마르코프 모델에 기반하여 상기 후보 음소들에 대응하는 상기 우도 값들을 생성하도록 구성될 수 있다.The first speech recognition unit may be configured to generate the likelihood values corresponding to the candidate phonemes based on a hidden Markov model.
상기 음성 추정부는 상기 추정된 음소들의 배열이 미리 정해진 명령어와 일치할 때 트리거 신호를 생성하도록 구성될 수 있다.The speech estimator may be configured to generate a trigger signal when the arrangement of the estimated phonemes matches a predetermined command.
상기 음성 인식 장치는 상기 트리거 신호에 응답하여 소정의 동작을 활성화하도록 구성되는 기능 블록을 더 포함할 수 있다.The voice recognition apparatus may further include a function block configured to activate a predetermined operation in response to the trigger signal.
본 발명의 다른 실시 예에 따른 음성 인식 장치는, 사용자로부터 음성을 감지하도록 구성되는 음향 센서; 상기 감지된 음성이 명령어에 대응하는지 여부를 판별하도록 구성되는 프로세서; 및 소정의 음소들의 배열에 대한 가중치들을 저장하는 저장 매체를 포함하며, 상기 프로세서는, 상기 감지된 음성에 따라 음성 신호를 생성하고; 상기 음성 신호로부터 후보 음소들을 판별하면서 상기 후보 음소들에 대응하는 우도 값들을 생성하고; 상기 소정의 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 후보 음소들에 대응하는 상기 우도 값들의 적어도 일부를 조절하고; 상기 조절된 우도 값들에 기반하여 상기 후보 음소들로부터 상기 사용자의 상기 음성에 대응하는 음소들의 배열을 추정하도록 구성된다.A voice recognition apparatus according to another embodiment of the present invention includes an acoustic sensor configured to detect a voice from a user; a processor configured to determine whether the sensed voice corresponds to a command; and a storage medium for storing weights for an arrangement of predetermined phonemes, wherein the processor is configured to: generate a voice signal according to the sensed voice; generating likelihood values corresponding to the candidate phonemes while discriminating candidate phonemes from the speech signal; adjust at least some of the likelihood values corresponding to the candidate phonemes according to the weights for the arrangement of the predetermined phonemes; and estimate an arrangement of phonemes corresponding to the voice of the user from the candidate phonemes based on the adjusted likelihood values.
상기 프로세서는 상기 후보 음소들 중 상기 소정의 음소들의 상기 배열의 적어도 일부와 매치되는 것들을 선택하고, 상기 소정의 음소들의 상기 매치되는 배열에 대응하는 가중치들에 따라 상기 선택된 후보 음소들에 대응하는 우도 값들을 조절하도록 구성될 수 있다.The processor selects among the candidate phonemes that match at least a portion of the arrangement of the given phonemes, and a likelihood corresponding to the selected candidate phonemes according to weights corresponding to the matched arrangement of the given phonemes. may be configured to adjust the values.
상기 음성 신호는 상기 감지된 음성을 주파수 도메인으로 변환한 특징 벡터 값들을 포함할 수 있다.The voice signal may include feature vector values obtained by converting the sensed voice into a frequency domain.
상기 프로세서는 은닉 마르코프 모델에 기반하여 상기 후보 음소들에 대응하는 상기 우도 값들을 생성하도록 구성될 수 있다.The processor may be configured to generate the likelihood values corresponding to the candidate phonemes based on a hidden Markov model.
상기 프로세서는 상기 추정된 음소들의 배열이 상기 명령어와 일치할 때 트리거 신호를 생성하도록 구성될 수 있다.The processor may be configured to generate a trigger signal when the arrangement of the estimated phonemes matches the instruction.
상기 음성 인식 장치는 상기 프로세서의 제어에 응답하여 동작하는 스피커를 더 포함하되, 상기 프로세서는 상기 트리거 신호에 응답하여 소정의 음성을 생성하도록 상기 스피커를 제어하도록 구성될 수 있다.The voice recognition apparatus may further include a speaker operating in response to the control of the processor, wherein the processor may be configured to control the speaker to generate a predetermined voice in response to the trigger signal.
본 발명의 다른 일면은 사용자의 음성을 인식하는 방법에 관한 것이다. 상기 방법은, 소정의 음소들의 배열에 대한 가중치들을 저장 매체에 저장하는 단계; 사용자의 상기 음성을 감지하는 단계; 상기 감지된 음성에 따라 음성 신호를 생성하는 단계; 상기 음성 신호로부터 후보 음소들을 판별하면서 상기 후보 음소들에 대응하는 우도 값들을 생성하는 단계; 상기 소정의 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 후보 음소들에 대응하는 상기 우도 값들의 적어도 일부를 조절하는 단계; 및 상기 조절된 우도 값들에 기반하여 상기 후보 음소들로부터 상기 음성에 대응하는 음소들의 배열을 추정하는 단계를 포함한다.Another aspect of the present invention relates to a method for recognizing a user's voice. The method includes the steps of: storing weights for an arrangement of predetermined phonemes in a storage medium; detecting the user's voice; generating a voice signal according to the sensed voice; generating likelihood values corresponding to the candidate phonemes while discriminating candidate phonemes from the speech signal; adjusting at least some of the likelihood values corresponding to the candidate phonemes according to the weights for the arrangement of the predetermined phonemes; and estimating an arrangement of phonemes corresponding to the voice from the candidate phonemes based on the adjusted likelihood values.
상기 방법은 상기 추정된 음소들의 배열이 미리 정해진 명령어와 일치할 때 트리거 신호를 생성하는 단계를 더 포함할 수 있다.The method may further include generating a trigger signal when the arrangement of the estimated phonemes matches a predetermined instruction.
상기 방법은 상기 트리거 신호에 응답하여 소정의 동작을 활성화하는 단계를 더 포함할 수 있다.The method may further include activating a predetermined operation in response to the trigger signal.
상기 조절하는 단계는, 상기 후보 음소들 중 상기 소정의 음소들의 상기 배열의 적어도 일부와 매치되는 것들을 선택하는 단계; 및 상기 소정의 음소들의 상기 매치되는 배열에 대응하는 가중치들에 따라 상기 선택된 후보 음소들에 대응하는 우도 값들을 조절하는 단계를 포함할 수 있다.The adjusting may include: selecting ones of the candidate phonemes that match at least a part of the arrangement of the predetermined phonemes; and adjusting likelihood values corresponding to the selected candidate phonemes according to weights corresponding to the matching arrangement of the predetermined phonemes.
상기 음성 신호는 상기 감지된 음성을 주파수 도메인으로 변환한 특징 벡터 값들을 포함할 수 있다.The voice signal may include feature vector values obtained by converting the sensed voice into a frequency domain.
상기 우도 값들을 생성하는 단계는 은닉 마르코프 모델에 기반하여 상기 후보 음소들에 대응하는 상기 우도 값들을 생성하는 단계를 포함할 수 있다.The generating of the likelihood values may include generating the likelihood values corresponding to the candidate phonemes based on a hidden Markov model.
본 발명의 또 다른 일면은 컴퓨터 장치와 통신하는 클라이언트 서버에 관한 것이다. 상기 클라이언트 서버는, 통신기; 소정의 음소들의 배열에 대한 가중치들, 그리고 프로그램 코드들을 저장하는 데이터베이스; 및 상기 통신기를 통해 컴퓨터 장치와 통신하여 상기 소정의 음소들의 상기 배열에 대한 상기 가중치들, 그리고 상기 프로그램 코드들을 제공하도록 구성되는 프로세서를 포함한다. 상기 프로그램 코드들은 상기 컴퓨터 장치에 의해 실행될 때, 사용자로부터 감지된 음성에 따라 음성 신호를 생성하기 위한 제 1 명령어들; 상기 음성 신호로부터 후보 음소들을 판별하면서 상기 후보 음소들에 대응하는 우도 값들을 생성하기 위한 제 2 명령어들; 상기 소정의 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 후보 음소들에 대응하는 상기 우도 값들의 적어도 일부를 조절하기 위한 제 3 명령어들; 및 상기 조절된 우도 값들에 기반하여 상기 후보 음소들로부터 상기 사용자의 상기 음성에 대응하는 음소들의 배열을 추정하기 위한 제 4 명령어들을 포함한다.Another aspect of the invention relates to a client server in communication with a computer device. The client server may include: a communicator; a database storing weights for an arrangement of predetermined phonemes, and program codes; and a processor configured to communicate with a computer device via the communicator to provide the weights for the arrangement of the predetermined phonemes and the program codes. The program codes, when executed by the computer device, include: first instructions for generating a voice signal according to a voice sensed from a user; second instructions for generating likelihood values corresponding to the candidate phonemes while discriminating candidate phonemes from the speech signal; third instructions for adjusting at least a portion of the likelihood values corresponding to the candidate phonemes according to the weights for the arrangement of the predetermined phonemes; and fourth instructions for estimating an arrangement of phonemes corresponding to the user's voice from the candidate phonemes based on the adjusted likelihood values.
상기 제 3 명령어들은 상기 컴퓨터 장치에 의해 실행될 때, 상기 후보 음소들 중 상기 소정의 음소들의 상기 배열의 적어도 일부와 매치되는 것들을 선택하고, 상기 소정의 음소들의 상기 매치되는 배열에 대응하는 가중치들에 따라 상기 선택된 후보 음소들의 우도 값들을 조절하기 위한 제 5 명령어들을 포함할 수 있다.the third instructions, when executed by the computer device, select ones of the candidate phonemes that match at least a portion of the arrangement of the given phonemes, and apply to weights corresponding to the matched arrangement of the given phonemes. Accordingly, fifth instructions for adjusting likelihood values of the selected candidate phonemes may be included.
본 발명에 따르면, 향상된 신뢰성으로 음성을 인식할 수 있는 음성 인식 장치가 제공된다.According to the present invention, there is provided a voice recognition apparatus capable of recognizing a voice with improved reliability.
도 1은 본 발명의 실시 예에 따른 음성 인식 장치를 보여주는 블록도이다.
도 2는 사용자의 음성으로부터 생성되는 후보 음소들을 개념적으로 보여주는 도면이다.
도 3은 후보 음소들 및 그것들에 대응하는 우도 값들을 개념적으로 보여주는 도면이다.
도 4는 도 1의 가중치 데이터 셋에 포함되는 가중치들을 개념적으로 보여주는 도면이다.
도 5는 가중치들이 적용되어 조절된 우도 값들을 개념적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 사용자의 음성을 인식하는 방법을 보여주는 순서도이다.
도 7은 도 1의 음성 인식 장치를 구현하기에 적합한 컴퓨터 장치를 보여주는 블록도이다.
도 8은 도 7의 음성 인식 모듈을 제공하도록 구성되는 클라이언트 서버의 실시 예를 보여주는 블록도이다.1 is a block diagram illustrating a voice recognition apparatus according to an embodiment of the present invention.
2 is a diagram conceptually illustrating candidate phonemes generated from a user's voice.
3 is a diagram conceptually showing candidate phonemes and likelihood values corresponding to them.
FIG. 4 is a diagram conceptually showing weights included in the weight data set of FIG. 1 .
5 is a diagram conceptually illustrating likelihood values adjusted by applying weights.
6 is a flowchart illustrating a method of recognizing a user's voice according to an embodiment of the present invention.
FIG. 7 is a block diagram illustrating a computer device suitable for implementing the voice recognition apparatus of FIG. 1 .
8 is a block diagram illustrating an embodiment of a client server configured to provide the voice recognition module of FIG. 7 .
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in the following description, only parts necessary for understanding the operation according to the present invention are described, and descriptions of other parts will be omitted so as not to obscure the gist of the present invention. Also, the present invention is not limited to the embodiments described herein and may be embodied in other forms. However, the embodiments described herein are provided to explain in detail enough to be able to easily implement the technical spirit of the present invention to those of ordinary skill in the art to which the present invention pertains.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 여기에서 사용된 용어는 특정한 실시예들을 설명하기 위한 것이며 본 발명을 한정하기 위한 것이 아니다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. "X, Y, 및 Z 중 적어도 어느 하나", 그리고 "X, Y, 및 Z로 구성된 그룹으로부터 선택된 적어도 어느 하나"는 X 하나, Y 하나, Z 하나, 또는 X, Y, 및 Z 중 둘 또는 그 이상의 어떤 조합 (예를 들면, XYZ, XYY, YZ, ZZ) 으로 해석될 수 있다. 여기에서, "및/또는"은 해당 구성들 중 하나 또는 그 이상의 모든 조합을 포함한다.Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "indirectly connected" with another element interposed therebetween. . The terminology used herein is for the purpose of describing particular embodiments and not for limiting the present invention. Throughout the specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. “At least any one of X, Y, and Z” and “at least any one selected from the group consisting of X, Y, and Z” means one X, one Y, one Z, or two of X, Y, and Z or It can be interpreted as any combination of more (eg, XYZ, XYY, YZ, ZZ). Herein, “and/or” includes any combination of one or more of the components.
도 1은 본 발명의 실시 예에 따른 음성 인식 장치를 보여주는 블록도이다. 도 2는 사용자의 음성으로부터 생성되는 후보 음소들을 개념적으로 보여주는 도면이다. 도 3은 후보 음소들 및 그것들에 대응하는 우도 값들을 개념적으로 보여주는 도면이다. 도 4는 도 1의 가중치 데이터 셋에 포함되는 가중치들을 개념적으로 보여주는 도면이다. 도 5는 가중치들이 적용되어 조절된 우도 값들을 개념적으로 보여주는 도면이다.1 is a block diagram illustrating a voice recognition apparatus according to an embodiment of the present invention. 2 is a diagram conceptually illustrating candidate phonemes generated from a user's voice. 3 is a diagram conceptually showing candidate phonemes and likelihood values corresponding to them. FIG. 4 is a diagram conceptually showing weights included in the weight data set of FIG. 1 . 5 is a diagram conceptually illustrating likelihood values adjusted by applying weights.
도 1을 참조하면, 음성 인식 장치(100)는 마이크로폰(110), 제 1 인터페이스(I/F)(120), 음성 인식 프로세서(130), 제 2 인터페이스(140), 저장 매체(150), 제 3 인터페이스(160), 및 기능 블록(170)을 포함할 수 있다.Referring to FIG. 1 , the
마이크로폰(110)과 같은 음향 센서는 제 1 인터페이스(120)를 통해 음성 인식 프로세서(130)에 연결된다. 마이크로폰(110)은 사용자의 음성을 감지할 수 있으며, 감지된 음성에 대응하는 디지털 및/또는 아날로그 데이터를 제 1 인터페이스(120)를 통해 음성 인식 프로세서(130)로 제공할 수 있다.An acoustic sensor such as a
제 1 인터페이스(120)는 음성 인식 프로세서(130)가 마이크로폰(110)과 통신할 수 있도록, 마이크로폰(110)과 음성 인식 프로세서(130) 사이의 인터페이스를 제공할 수 있다.The
음성 인식 프로세서(130)는 제 1 인터페이스(120)를 통해 마이크로폰(110)에 연결되며, 제 2 인터페이스(140)를 통해 저장 매체(150)에 연결되며, 제 3 인터페이스(160)를 통해 기능 블록(170)에 연결될 수 있다. 음성 인식 프로세서(130)는 마이크로폰(110)으로부터 사용자의 음성에 대응하는 데이터를 수신할 수 있으며, 음성 데이터가 소정의 명령어(예를 들면, 단어 혹은 텍스트)에 대응하는지 여부를 판별하도록 구성될 수 있다. 음성 인식 프로세서(130)는 음성 전처리부(131), 제 1 음성 인식부(132), 제 2 음성 인식부(133), 및 음성 추정부(134)를 포함할 수 있다.The
음성 전처리부(131)는 마이크로폰(110)으로부터의 음성 데이터에 따라 제 1 음성 인식부(132)에서 처리되기에 적합한 형식의 음성 신호, 예를 들면 특징 벡터 값들을 생성하도록 구성된다.The
제 1 음성 인식부(132)는 음성 전처리부(131)에 의해 생성된 음성 신호로부터 후보 음소(phoneme)들을 판별하면서 후보 음소들에 대응하는 우도 값들을 생성하도록 구성된다. 도 2를 참조하면, 음성 전처리부(131)는 마이크로폰(110)으로부터의 음성 데이터(SND)에 기반하여 음성 신호를 제공하며, 음성 신호는 음성 데이터(SND)를 복수의 프레임들(FR1~FR3) 각각의 주파수 도메인의 신호들(혹은 값들)로 변환한 특징 벡터 값들을 포함할 수 있다. 실시 예들에서, 음성 전처리부(131)는 음성 데이터(SND)를 복수의 프레임들(FR1, FR2, FR3)의 데이터로 구분하고, 각 구분된 데이터를 주파수 도메인의 신호들로 변환하여 특징 벡터 값들을 생성할 수 있다. 제 1 음성 인식부(132)는 음향 모델에 기초하여, 특징 벡터 값들로부터 복수의 프레임들(FR1, FR2, FR3)에 대응하는 후보 음소들(CPHN1, CPHN2, CPHN3)을 생성할 수 있다. 도 2에서, 제 1 프레임(FR1)의 특징 벡터 값들로부터 제 1 후보 음소들(CPHN1)이 생성되고, 제 2 프레임(FR2)의 특징 벡터 값들로부터 제 2 후보 음소들(CPHN2)이 생성되고, 제 3 프레임(FR3)의 특징 벡터 값들로부터 제 3 후보 음소들(CPHN3)이 생성된다.The first
이어서 도 3을 참조하면, 제 1 음성 인식부(132)는 음향 모델에 기초하여, 특징 벡터 값들로부터 제 1 내지 제 3 후보 음소들(CPHN1~CPHN3)에 대응하는 우도 값들(LH1, LH2)을 생성한다. 이웃하는 후보 음소들(혹은 이웃하는 프레임들)에 있어서, 그것들 중 하나의 후보 음소 다음에 배열되는 후보 음소에 대응하는 우도 값이 생성될 수 있다. 예를 들면, 제 1 음성 인식부(132)는 제 1 프레임(FR1)의 제 1 후보 음소들(CPHN1)을 “ㅎ” 및 “ㅍ”로 결정할 수 있고, 제 2 프레임(FR2)의 제 2 후보 음소들(CPHN2)을 “ㅏ”, “ㅔ”, 및 “ㅣ”로 결정할 수 있다. 제 1 음성 인식부(132)는 “ㅎ” 다음에 “ㅏ”가 배열될 우도 값(혹은 확률)을 0.4로, “ㅎ” 다음에 “ㅔ”가 배열될 우도 값을 0.4로, “ㅎ” 다음에 “ㅐ”가 배열될 우도 값을 0.2로 결정할 수 있다. 제 1 음성 인식부(132)는 “ㅍ” 다음에 “ㅏ”, “ㅔ”, 및 “ㅐ”가 배열될 우도 값들을 각각 0.4, 0.3, 및 0.3으로 결정할 수 있다. 제 1 음성 인식부(132)는 제 3 프레임(FR3)의 제 3 후보 음소들(CPHN3)을 “ㅏ”, “ㅣ”, 및 “ㅐ”로 결정할 수 있다. 제 1 음성 인식부(132)는 “ㅏ” 다음에 “ㅏ”, “ㅣ”, 및 “ㅐ”가 배열될 우도 값들을 각각 0.1, 0.6, 및 0.3으로 결정할 수 있다. “ㅔ” 다음에 “ㅏ”, “ㅣ”, 및 “ㅐ”가 배열될 우도 값들은 각각 0.2, 0.6, 및 0.2로 결정될 수 있다. “ㅐ” 다음에 “ㅏ”, “ㅣ”, 및 “ㅐ”가 배열될 우도 값들은 각각 0.2, 0.7, 및 0.1로 결정될 수 있다.Next, referring to FIG. 3 , the first
실시 예들에서, 제 1 음성 인식부(132)는 은닉 마르코프 모델(Hidden Markov Model)에 기반한 알고리즘을 포함하여 후보 음소들(CPHN1~CPHN3) 및 우도 값들(LH1, LH2)을 생성할 수 있다. 실시 예들에서, 음향 모델은 GMM(Gaussian Mixture Model) 또는 DNN(Deep Neural Network)을 포함할 수 있다.In embodiments, the first
다시 도 1을 참조하면, 제 2 음성 인식부(133)는 후보 음소들(CPHN1, CPHN2, CPHN3, 도 3 참조)에 대응하는 우도 값들(LH1, LH2, 도 3 참조)의 적어도 일부를 소정의 가중치 데이터 셋(WTS)에 따라 조절하도록 구성된다. 도 4를 참조하면, 가중치 데이터 셋(WTS)은 타겟이 되는 명령어(이하, 타겟 명령어)의 음소들(CMDPHN1, CMDPHN2, CMDPHN3, 이하 타겟 음소들)의 배열에 대한 가중치들(WT1, WT2)을 포함할 수 있다. 도 4에서, 타겟 음소들(CMDPHN1~CMDPHN3)은 “ㅎ”, “ㅏ”, 및 “ㅣ”이며, 가중치 데이터 셋(WTS)은 “ㅎ” 다음에 배열되는 “ㅏ”에 대해 제 1 가중치(WT1)를, “ㅏ” 다음에 배열되는 “ㅣ”에 대해 제 2 가중치(WT2)를 포함하고 있다. 제 1 및 제 2 가중치들(WT1, WT2)은 1보다 클 수 있다. 제 1 내지 제 3 타겟 음소들(CMDPHN1~CMDPHN3) “ㅎ”, “ㅏ”, 및 “ㅣ”에 따라 타겟 명령어는 “하이”일 수 있다. Referring back to FIG. 1 , the second
제 1 음성 인식부(132)에 의해 생성된 후보 음소들(CPHN1~CPHN3) 및 그 우도 값들(LH1, LH2)에 기반하여 명령어 “하이”가 감지되지 않을 수 있다. 다시 도 3을 참조하면, “ㅎ” 다음에 “ㅏ”가 배열될 우도 값은 0.4로서, “ㅎ” 다음에 “ㅔ”가 배열될 우도 값 0.4 혹은 “ㅎ” 다음에 “ㅐ”가 배열될 우도 값 0.2보다 적어도 임계값만큼 크지 않을 수 있다. 이러한 경우, 사용자가 “하이”라고 발음했더라도 “하이”가 감지되지 못하고, 예를 들면 “헤이”가 감지되거나, 음성 인식이 실패할 수 있다. 이와 같이, 특히 한 개의 단어와 같은 짧은 길이의 타겟 명령어에 대한 음성 인식은, 만약 특징 벡터 값들에 기반한 음향 모델에만 의존한다면, 주변 소음, 발성 거리, 마이크 특성, 및 화자의 상이함 등 인식 성능의 변화를 야기하는 다양한 요인들로 인해 사용자가 타겟 명령어를 발음했더라도 타겟 명령어의 감지에 실패할 수 있다.The command “high” may not be detected based on the candidate phonemes CPHN1 to CPHN3 generated by the first
다시 도 3 및 4와 함께 도 1을 참조하면, 제 2 음성 인식부(133)는 후보 음소들(CPHN1, CPHN2, CPHN3) 중 가중치 데이터 셋(WTS)의 타겟 음소들(CMDPHN1~CMDPHN3)의 배열과 매치되는 후보 음소들을 선택하고, 매치되는 타겟 음소들(CMDPHN1~CMDPHN3)의 배열에 대응하는 가중치들(WT1, WT2)에 따라 선택된 후보 음소들의 우도 값들을 조절할 수 있다. 음성 추정부(134)는 조절된 우도 값들에 기반하여 후보 음소들(CPHN1, CPHN2, CPHN3)로부터 사용자의 음성에 대응하는 음소들의 배열을 추정하도록 구성된다. 실시 예들에서, 음성 추정부(134)는 비터비(viterbi) 복호 알고리즘에 기반하여 위 추정을 수행할 수 있다.Referring back to FIG. 1 together with FIGS. 3 and 4 , the second
위 설명된 바와 같이 가중치 데이터 셋(WTS)은 “ㅎ” 다음에 배열되는 “ㅏ”에 대한 제 1 가중치(WT1)를, “ㅏ” 다음에 배열되는 “ㅣ”에 대한 제 2 가중치(WT2)를 포함하고 있다. 제 2 음성 인식부(133)는 후보 음소들(CPHN1~CPHN3) 중 “ㅎ” 다음에 배열되는 “ㅏ”, 그리고 “ㅏ” 다음에 배열되는 “ㅣ”를 선택하고, “ㅎ” 다음에 배열되는 “ㅏ”에 대응하는 우도 값 0.4에 제 1 가중치(WT1)를 적용하여 그것을 조절하고, “ㅏ” 다음에 배열되는 “ㅣ”에 대응하는 우도 값 0.6에 제 2 가중치(WT2)를 적용하여 그것을 조절할 수 있다. 예를 들면, 제 2 음성 인식부(133)는 우도 값에 해당 가중치를 곱함으로써 조절된 우도 값을 연산할 수 있다. 이에 따라, 도 5에 도시된 바와 같이 “ㅎ” 다음에 배열되는 “ㅏ”는 조절된 우도 값(MLH1)인 0.8을 가지며, “ㅏ” 다음에 배열되는 “ㅣ”는 조절된 우도 값(MLH2)인 0.9를 가진다. 조절된 우도 값(MLH1)은 “ㅎ” 및/또는 “ㅏ”와 연관된 다른 우도 값들, 예를 들면 “ㅎ” 다음에 “ㅔ”가 배열될 우도 값 0.4, “ㅎ” 다음에 “ㅐ”가 배열될 우도 값 0.2, “ㅍ” 다음에 “ㅏ”가 배열될 우도 값 0.4보다 적어도 임계값만큼 클 수 있다. 또한, 조절된 우도 값(MLH2)은 “ㅏ” 및/또는 “ㅣ”와 연관된 우도 값들, 예를 들면 “ㅏ” 다음에 “ㅏ”가 배열될 우도 값 0.1, “ㅏ” 다음에 “ㅐ”가 배열될 우도 값 0.3, “ㅔ” 다음에 “ㅣ”가 배열될 우도 값 0.6, 및 “ㅐ” 다음에 “ㅣ”가 배열될 우도 값 0.7보다 적어도 임계값만큼 클 수 있다. 조절된 우도 값들(MLH1, MLH2)에 의해, 음성 추정부(134)는 예를 들면 비터비 복호 알고리즘에 기반하여 사용자의 음성에 대응하는 음소들의 배열을 도 5의 굵은 선으로 표시된 바와 같이 “ㅎ”, “ㅏ”, 및 “ㅣ”로 추정 및/또는 결정할 수 있다.As described above, the weight data set (WTS) includes a first weight (WT1) for “a” arranged after “h” and a second weight (WT2) for “l” arranged after “h”. contains The second
이와 같이, 음성 인식 프로세서(130)는 사용자가 “하이”와 같은 짧은 길이의 타겟 명령어를 발음하더라도 상대적으로 높은 확률로 그 타겟 명령어를 감지할 수 있다. 이에 따라, 향상된 신뢰성으로 음성을 인식할 수 있는 음성 인식 장치(100)가 제공될 수 있다.As such, the
음성 추정부(134)는 추정된 음소들의 배열이 타겟 명령어와 일치할 때 트리거 신호를 생성할 수 있다.The
제 2 인터페이스(140)는 음성 인식 프로세서(130)와 저장 매체(150) 사이의 인터페이스를 제공한다. 저장 매체(150)는 가중치 데이터 셋(WTS)을 저장하도록 구성된다. 타겟 명령어는 음성 인식 장치(100)의 임의의 동작을 트리거시키기 위한 것으로 미리 결정될 수 있으며, 타겟 명령어에 대응하는 가중치 데이터 셋(WTS)도 미리 결정되어 저장 매체(150)에 저장 및/또는 업데이트될 수 있다. 가중치 데이터 셋(WTS)은 음성 인식 프로세서(130)가 사용될 수 있는 다양한 환경들을 고려하여 결정될 수 있다.The
실시 예들에서, 저장 매체(150)는 전원이 차단되더라도 저장된 데이터를 유지하는 다양한 타입들의 불휘발성 저장 매체들, 예를 들면 플래시 메모리(flash memory), 하드 디스크(hard disk) 등을 포함할 수 있다.In embodiments, the
제 3 인터페이스(160)는 음성 인식 프로세서(130)와 기능 블록(170) 사이의 인터페이스를 제공한다. 기능 블록(170)은 음성 인식 프로세서(130)의 다양한 기능들 중 적어도 하나를 수행하기 위한 프로세서를 포함할 수 있다. 기능 블록(170)은 음성 인식 프로세서(130)로부터 생성된 트리거 신호에 응답하여 임의의 동작을 수행하거나 활성화하도록 구성된다. 예를 들면, 기능 블록(170)은 트리거 신호에 응답하여 “예”와 같은 음성 신호를 출력하거나 임의의 동작을 활성화시킬 수 있다. 실시 예들에서, 기능 블록(170)은 하드웨어, 소프트웨어, 및/또는 그것들의 조합을 통해 구성될 수 있다.The
실시 예들에서, 음성 인식 장치(100)는 AI(artificial intelligence) 스피커, 모바일 폰(mobile phone), 스마트폰(smart phone), UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), PMP(portable multimedia player), 휴대용 게임기 등과 같은 음향을 감지하고 감지된 음향을 위 설명된 바와 같이 처리할 수 있는 다양한 컴퓨터 장치들로서 구현될 수 있다.In embodiments, the
도 6은 본 발명의 실시 예에 따른 사용자의 음성을 인식하는 방법을 보여주는 순서도이다.6 is a flowchart illustrating a method of recognizing a user's voice according to an embodiment of the present invention.
도 6을 참조하면, S110단계에서, 사용자의 음성이 감지된다. S120단계에서, 감지된 음성에 따라 음성 신호가 생성된다. 음성 신호는 S130단계를 수행하는 데에 적합한 데이터 포멧을 가질 수 있다. 실시 예들에서, 음성 신호는 S110단계에서 감지된 음성 데이터를 주파수 도메인의 신호들로 변환한 특징 벡터 값들을 포함할 수 있다.Referring to FIG. 6 , in step S110, the user's voice is detected. In step S120, a voice signal is generated according to the sensed voice. The voice signal may have a data format suitable for performing step S130. In embodiments, the voice signal may include feature vector values obtained by converting the voice data sensed in step S110 into signals of a frequency domain.
S130단계에서, 음성 신호로부터 후보 음소들이 판별되며, 그 후보 음소들 및/또는 그것들 사이의 배열에 대응하는 우도 값들이 생성된다.In step S130, candidate phonemes are determined from the speech signal, and likelihood values corresponding to the candidate phonemes and/or an arrangement therebetween are generated.
S140단계에서, 데이터베이스, 예를 들면 도 1의 저장 매체(150)에 저장된 타겟 음소들의 배열에 대한 가중치들에 따라, 후보 음소들에 대응하는 우도 값들의 적어도 일부가 조절된다. 실시 예들에서, 후보 음소들 중 타겟 음소들의 배열의 적어도 일부와 매치되는 것들이 선택되고, 타겟 음소들의 매치되는 배열에 대응하는 가중치들에 따라 선택된 후보 음소들에 대응하는 우도 값들이 조절될 수 있다.In operation S140 , at least some of likelihood values corresponding to candidate phonemes are adjusted according to weights for an arrangement of target phonemes stored in a database, for example, the
S150단계에서, 우도 값들에 기반하여 후보 음소들로부터 사용자의 음성에 대응하는 음소들의 배열이 추정된다. 가중치들에 따라 조절된 우도 값들로 인해, 사용자가 “하이”와 같은 짧은 길이의 타겟 명령어를 발음하더라도 타겟 음소들의 배열에 대한 추정은 상대적으로 높은 확률로 성공할 수 있다. 이에 따라, 향상된 신뢰성으로 음성을 인식할 수 있는 음성 인식 방법이 제공될 수 있다.In operation S150, an arrangement of phonemes corresponding to the user's voice is estimated from the candidate phonemes based on the likelihood values. Due to the likelihood values adjusted according to the weights, even if the user pronounces a short-length target command such as “high”, the estimation of the arrangement of target phonemes may be successful with a relatively high probability. Accordingly, a voice recognition method capable of recognizing a voice with improved reliability may be provided.
S160단계에서, 추정된 음소들의 배열이 타겟 명령어와 일치할 때 S170단계가 수행된다. S170단계에서, 트리거 신호가 생성된다. 트리거 신호에 응답하여 음성 처리 장치는 임의의 동작을 수행하거나 그것을 활성화할 수 있다.In step S160, when the arrangement of the estimated phonemes matches the target instruction, step S170 is performed. In step S170, a trigger signal is generated. In response to the trigger signal, the voice processing device may perform an arbitrary operation or activate it.
도 7은 도 1의 음성 인식 장치를 구현하기에 적합한 컴퓨터 장치를 보여주는 블록도이다.FIG. 7 is a block diagram illustrating a computer device suitable for implementing the voice recognition apparatus of FIG. 1 .
도 7을 참조하면, 컴퓨터 장치(1000)는 통신기(1100), 음향 센서(1200), 사용자 인터페이스(1300), 불휘발성 저장 매체(1400), 스피커(1500), 프로세서(1600), 및 시스템 메모리(1700)를 포함한다.Referring to FIG. 7 , the
통신기(1100)는 이동 통신망 상에서 네트워크를 통해 외부의 서버와 유선 및/또는 무선 신호를 송신하도록 구성된다. 나아가, 통신기(1100)는 근거리 통신을 통해 사용자 단말기와 통신하도록 구성될 수 있으며, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee) 등의 근거리 통신 기술들이 이용될 수 있다.The
음향 센서(1200)는 사용자 음성의 입력을 위한 것으로, 사용자의 음성을 감지하여 음성 데이터를 프로세서(1600)에 제공하도록 구성된다. 음향 센서(1200)는 도 1의 마이크로폰(110)을 포함할 수 있다.The
사용자 인터페이스(1300)는 컴퓨터 장치(1000) 혹은 프로세서(1600)의 동작들을 제어하기 위한 사용자 입력을 수신할 수 있다. 사용자 인터페이스(1300)는 키 패드(key pad), 돔 스위치(dome switch), 조그 휠, 조그 스위치, 핑거 마우스 등을 포함할 수 있다.The
불휘발성 저장 매체(1400)는 플래시 메모리(flash memory type), 하드 디스크 (hard disk type), 멀티미디어 카드(multimedia card) 등 중 적어도 하나일 수 있다. 불휘발성 저장 매체(1400)는 프로세서(1600)의 제어에 응답하여 데이터를 기입하고 독출하도록 구성된다. 불휘발성 저장 매체(1400)는 도 1의 저장 매체(150)로서 제공될 수 있다. 실시 예들에서, 프로세서(1600)는 통신기(1100)를 통해 외부의 서버로부터 가중치 데이터 셋(WTS)을 수신하고, 수신된 가중치 데이터 셋(WTS)을 저장 매체(150)에 저장할 수 있다.The
실시 예들에서, 통신기(1100), 음향 센서(1200), 사용자 인터페이스(1300), 불휘발성 저장 매체(1400), 프로세서(1600), 및 시스템 메모리(1700)를 서로 연결하도록 구성되는 시스템 버스가 더 제공될 수 있다.In embodiments, a system bus configured to connect the
프로세서(1600)는 범용 혹은 전용 프로세서 중 어느 하나를 포함할 수 있으며, 통신기(1100), 음향 센서(1200), 사용자 인터페이스(1300), 불휘발성 저장 매체(1400), 스피커(1500), 및 시스템 메모리(1700)의 동작들을 제어한다.The
프로세서(1600)는 실행될 때 다양한 기능들을 제공하는 명령어들을 포함하는 프로그램 코드들을 불휘발성 저장 매체(1400)로부터 시스템 메모리(1700)에 로딩하고, 로딩된 프로그램 코드들을 실행하도록 구성된다. 프로세서(1600)는 프로세서(1600)에 의해 실행될 때 도 1의 음성 인식 프로세서(130)의 기능들을 수행하는 음성 인식 모듈(1710)을 시스템 메모리(1700)에 로딩하고, 로딩된 음성 인식 모듈(1710)을 실행할 수 있다. 예를 들면, 음성 인식 모듈(1710)은, 프로세서(1600)에 의해 실행될 때, 음성 전처리부(131)의 기능들을 수행하기 위한 명령어들 및/또는 프로그램 코드들, 제 1 음성 인식부(132)의 기능들을 수행하기 위한 명령어들 및/또는 프로그램 코드들, 제 2 음성 인식부(133)의 기능들을 수행하기 위한 명령어들 및/또는 프로그램 코드들, 그리고 음성 추정부(134)의 기능들을 명령어들 및/또는 프로그램 코드들을 포함할 수 있다. 프로세서(1600)는 프로세서(1600)에 의해 실행될 때 음성 인식 모듈(1710)이 실행되기에 적합한 환경을 제공하도록 구성되는 운영 체제(1720)를 시스템 메모리(1700)에 로딩하고, 로딩된 운영 체제(1720)을 실행할 수 있다. 운영 체제(1720)는 컴퓨터 장치(1000)의 통신기(1100), 음향 센서(1200), 사용자 인터페이스(1300), 불휘발성 저장 매체(1400), 및 시스템 메모리(1700)과 같은 구성 요소들과 음성 인식 모듈(1710) 사이의 인터페이스를 제공할 수 있다. 예를 들면, 운영 체제(1720)는 프로세서(1600)에 의해 실행될 때 도 1을 참조하여 설명된 제 1 내지 제 3 인터페이스들(120, 140, 160)의 기능들을 수행할 수 있다. 운영 체제(1720)는 컴퓨터 장치(1000)의 제반 동작을 제어할 수 있다.The
컴퓨터 장치(1000)는 실시 예들에 따라 다양한 기능들 중 적어도 하나를 수행하기 위한 하드웨어, 소프트웨어, 및/또는 그것들의 조합을 포함할 수 있으며, 그것은 도 1의 기능 블록(170)으로서 제공될 수 있다. 실시 예들에서, 프로세서(1600)는 위 다양한 기능들 중 적어도 하나를 수행하기 위한 명령어들 및/또는 프로그램 코드들을 불휘발성 저장 매체(1400)로부터 시스템 메모리(1700)에 로딩하고, 로딩된 명령어들 및/또는 프로그램 코드들을 실행함으로써 도 1의 기능 블록(170)을 제공할 수 있다. 그러한 기능 블록(170)은 트리거 신호에 응답하여 임의의 동작을 활성화 시킬 수 있다. 실시 예들에서, 기능 블록(170)은 트리거 신호에 응답하여 “예”와 같은 음성 신호를 출력하도록 스피커(1500)를 제어할 수 있다.The
실시 예들에서, 시스템 메모리(1700)는 램(Random Access Memory, RAM), 롬(Read Only Memory, ROM), 및 다른 타입들의 컴퓨터에 의해 판독 가능한 저장 매체들 중 적어도 하나를 포함할 수 있다. 시스템 메모리(1700)는 프로세서(1600)와 분리된 구성 요소로서 도시되어 있으나, 이는 예시적인 것으로 시스템 메모리(1700)의 적어도 일부는 프로세서(1600) 내에 통합될 수 있다. 실시 예들에서, 시스템 메모리(1700)는 버퍼 메모리로서 제공될 수 있다.In embodiments, the
도 8은 도 7의 음성 인식 모듈을 제공하도록 구성되는 클라이언트 서버의 실시 예를 보여주는 블록도이다.8 is a block diagram illustrating an embodiment of a client server configured to provide the voice recognition module of FIG. 7 .
본 발명의 실시 예에 따르면, 도 7의 컴퓨터 장치(1000)에 의해 실행되는 프로그램 코드들 및/또는 명령어들은 클라이언트 서버(2000)로부터 제공될 수 있다. 도 8을 참조하면, 클라이언트 서버(2000)는 통신기(2100), 프로세서(2200), 및 데이터베이스(2300)를 포함할 수 있다. 통신기(2100)는 네트워크를 통해 컴퓨터 장치(1000)와 통신할 수 있다. 데이터베이스(2300)는 도 7의 컴퓨터 장치(1000) 및/또는 프로세서(1600)에 의해 실행될 수 있는 프로그램 코드들 및/또는 명령어들, 예를 들면 도 7의 음성 인식 모듈(1710)을 포함하는 응용 어플리케이션을 저장할 수 있다. 프로세서(2200)는 컴퓨터 장치(1000)로부터의 요청에 응답하여, 데이터베이스(2300)에 저장된 응용 어플리케이션을 통신기(2100)를 통해 컴퓨터 장치(1000)에 제공할 수 있다. 응용 어플리케이션은 컴퓨터 장치(1000)에 설치되어 실행될 수 있다.According to an embodiment of the present invention, program codes and/or instructions executed by the
비록 특정 실시 예들 및 적용 례들이 여기에 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정들 및 변형들이 가능하다.Although specific embodiments and application examples have been described herein, these are provided only to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments, and those of ordinary skill in the art to which the present invention pertains Various modifications and variations are possible from this substrate as it grows.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims described below, but also all those with equivalent or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .
110: 마이크로폰
130: 음성 처리 프로세서
150: 저장 매체
170: 기능 블록110: microphone
130: speech processing processor
150: storage medium
170: function block
Claims (20)
상기 음성 인식 장치의 소정의 동작을 트리거시키기 위한 미리 정해진 음성 명령어의 음소들의 배열에 대한 가중치들을 저장하는 저장 매체;
사용자로부터 감지된 음성에 따라 음성 신호를 생성하는 음성 전처리부;
상기 음성 신호로부터 후보 음소(phoneme)들을 판별하면서 상기 후보 음소들에 대응하는 우도(likelihood) 값들을 생성하도록 구성되는 제 1 음성 인식부;
상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 후보 음소들에 대응하는 상기 우도 값들을 선택적으로 조절하도록 구성되는 제 2 음성 인식부; 및
상기 조절된 우도 값들에 기반하여 상기 후보 음소들로부터 상기 사용자의 상기 음성에 대응하는 음소들의 배열을 추정하도록 구성되는 음성 추정부를 포함하는 음성 인식 장치.In the speech recognition device:
a storage medium storing weights for the arrangement of phonemes of a predetermined voice command for triggering a predetermined operation of the voice recognition apparatus;
a voice pre-processing unit for generating a voice signal according to a voice sensed by a user;
a first speech recognition unit configured to generate likelihood values corresponding to the candidate phonemes while discriminating candidate phonemes from the speech signal;
a second speech recognition unit configured to selectively adjust the likelihood values corresponding to the candidate phonemes according to the weights for the arrangement of the phonemes of the speech command; and
and a voice estimator configured to estimate an arrangement of phonemes corresponding to the user's voice from the candidate phonemes based on the adjusted likelihood values.
상기 제 2 음성 인식부는 상기 후보 음소들 중 상기 음성 명령어의 상기 음소들의 상기 배열과 매치되는 것들을 선택하고, 상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 선택된 후보 음소들에 대응하는 우도 값들을 조절하도록 구성되는 음성 인식 장치.The method of claim 1,
The second speech recognition unit selects among the candidate phonemes that match the arrangement of the phonemes of the speech command, and corresponds to the selected candidate phonemes according to the weights for the arrangement of the phonemes of the speech command. Speech recognition device configured to adjust likelihood values.
상기 음성 신호는 상기 감지된 음성을 주파수 도메인으로 변환한 특징 벡터 값들을 포함하는 음성 인식 장치.The method of claim 1,
The voice signal includes feature vector values obtained by converting the sensed voice into a frequency domain.
상기 제 1 음성 인식부는 은닉 마르코프 모델(Hidden Markov Model)에 기반하여 상기 후보 음소들에 대응하는 상기 우도 값들을 생성하도록 구성되는 음성 인식 장치.The method of claim 1,
The first speech recognition unit is configured to generate the likelihood values corresponding to the candidate phonemes based on a Hidden Markov Model.
상기 음성 추정부는 상기 추정된 음소들의 배열이 상기 음성 명령어의 상기 음소들의 상기 배열과 일치할 때 트리거 신호를 생성하도록 구성되는 음성 인식 장치.The method of claim 1,
and the speech estimator is configured to generate a trigger signal when the arrangement of the estimated phonemes matches the arrangement of the phonemes of the voice command.
상기 트리거 신호에 응답하여 상기 소정의 동작을 활성화하도록 구성되는 기능 블록을 더 포함하는 음성 인식 장치.6. The method of claim 5,
and a function block configured to activate the predetermined operation in response to the trigger signal.
사용자로부터 음성을 감지하도록 구성되는 음향 센서;
상기 감지된 음성이 명령어에 대응하는지 여부를 판별하도록 구성되는 프로세서; 및
상기 음성 인식 장치의 소정의 동작을 트리거시키기 위한 미리 정해진 음성 명령어의 음소들의 배열에 대한 가중치들을 저장하는 저장 매체를 포함하며,
상기 프로세서는,
상기 감지된 음성에 따라 음성 신호를 생성하고;
상기 음성 신호로부터 후보 음소들을 판별하면서 상기 후보 음소들에 대응하는 우도 값들을 생성하고;
상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 후보 음소들에 대응하는 상기 우도 값들을 선택적으로 조절하고;
상기 조절된 우도 값들에 기반하여 상기 후보 음소들로부터 상기 사용자의 상기 음성에 대응하는 음소들의 배열을 추정하도록 구성되는 음성 인식 장치.In the speech recognition device:
an acoustic sensor configured to detect a voice from a user;
a processor configured to determine whether the sensed voice corresponds to a command; and
a storage medium for storing weights for the arrangement of phonemes of a predetermined voice command for triggering a predetermined operation of the voice recognition device,
The processor is
generate a voice signal according to the sensed voice;
generating likelihood values corresponding to the candidate phonemes while discriminating candidate phonemes from the speech signal;
selectively adjusting the likelihood values corresponding to the candidate phonemes according to the weights for the arrangement of phonemes of the voice command;
and estimating an arrangement of phonemes corresponding to the user's voice from the candidate phonemes based on the adjusted likelihood values.
상기 프로세서는 상기 후보 음소들 중 상기 음성 명령어의 상기 음소들의 상기 배열과 매치되는 것들을 선택하고, 상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 선택된 후보 음소들에 대응하는 우도 값들을 조절하도록 구성되는 음성 인식 장치.8. The method of claim 7,
the processor selects ones of the candidate phonemes that match the arrangement of the phonemes of the speech command, and a likelihood value corresponding to the selected candidate phonemes according to the weights for the arrangement of the phonemes of the speech command A voice recognition device configured to control the sounds.
상기 음성 신호는 상기 감지된 음성을 주파수 도메인으로 변환한 특징 벡터 값들을 포함하는 음성 인식 장치.8. The method of claim 7,
The voice signal includes feature vector values obtained by converting the sensed voice into a frequency domain.
상기 프로세서는 은닉 마르코프 모델에 기반하여 상기 후보 음소들에 대응하는 상기 우도 값들을 생성하도록 구성되는 음성 인식 장치.8. The method of claim 7,
and the processor is configured to generate the likelihood values corresponding to the candidate phonemes based on a hidden Markov model.
상기 프로세서는 상기 추정된 음소들의 배열이 상기 음성 명령어의 상기 음소들의 상기 배열과 일치할 때 트리거 신호를 생성하도록 구성되는 음성 인식 장치.8. The method of claim 7,
and the processor is configured to generate a trigger signal when the arrangement of the estimated phonemes matches the arrangement of the phonemes of the speech command.
상기 프로세서의 제어에 응답하여 동작하는 스피커를 더 포함하되,
상기 프로세서는 상기 트리거 신호에 응답하여 상기 소정의 동작으로서 소정의 음성을 생성하도록 상기 스피커를 제어하도록 구성되는 음성 인식 장치.12. The method of claim 11,
Further comprising a speaker operating in response to the control of the processor,
and the processor is configured to control the speaker to generate a predetermined voice as the predetermined operation in response to the trigger signal.
소정의 동작을 트리거시키기 위한 미리 정해진 음성 명령어의 음소들의 배열에 대한 가중치들을 저장 매체에 저장하는 단계;
사용자의 상기 음성을 감지하는 단계;
상기 감지된 음성에 따라 음성 신호를 생성하는 단계;
상기 음성 신호로부터 후보 음소들을 판별하면서 상기 후보 음소들에 대응하는 우도 값들을 생성하는 단계;
상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 후보 음소들에 대응하는 상기 우도 값들을 선택적으로 조절하는 단계; 및
상기 조절된 우도 값들에 기반하여 상기 후보 음소들로부터 상기 음성에 대응하는 음소들의 배열을 추정하는 단계를 포함하는 방법.In a method for recognizing a user's voice:
storing in a storage medium weights for arrangement of phonemes of a predetermined voice command for triggering a predetermined operation;
detecting the user's voice;
generating a voice signal according to the sensed voice;
generating likelihood values corresponding to the candidate phonemes while discriminating candidate phonemes from the speech signal;
selectively adjusting the likelihood values corresponding to the candidate phonemes according to the weights for the arrangement of the phonemes of the voice command; and
and estimating an arrangement of phonemes corresponding to the voice from the candidate phonemes based on the adjusted likelihood values.
상기 추정된 음소들의 배열이 상기 미리 정해진 음성 명령어의 상기 음소들의 상기 배열과 일치할 때 트리거 신호를 생성하는 단계를 더 포함하는 방법.14. The method of claim 13,
generating a trigger signal when the estimated arrangement of phonemes matches the arrangement of the phonemes of the predetermined spoken command.
상기 트리거 신호에 응답하여 상기 소정의 동작을 활성화하는 단계를 더 포함하는 방법.15. The method of claim 14,
activating the predetermined action in response to the trigger signal.
상기 조절하는 단계는,
상기 후보 음소들 중 상기 음성 명령어의 상기 음소들의 상기 배열과 매치되는 것들을 선택하는 단계; 및
상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 선택된 후보 음소들에 대응하는 우도 값들을 조절하는 단계를 포함하는 방법.14. The method of claim 13,
The adjusting step is
selecting ones of the candidate phonemes that match the arrangement of the phonemes of the voice command; and
and adjusting likelihood values corresponding to the selected candidate phonemes according to the weights for the arrangement of phonemes of the speech command.
상기 음성 신호는 상기 감지된 음성을 주파수 도메인으로 변환한 특징 벡터 값들을 포함하는 방법.14. The method of claim 13,
The voice signal includes feature vector values obtained by converting the sensed voice into a frequency domain.
상기 우도 값들을 생성하는 단계는 은닉 마르코프 모델에 기반하여 상기 후보 음소들에 대응하는 상기 우도 값들을 생성하는 단계를 포함하는 방법.14. The method of claim 13,
The generating the likelihood values includes generating the likelihood values corresponding to the candidate phonemes based on a hidden Markov model.
통신기를 통해 컴퓨터 장치와 통신하여 상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들, 그리고 상기 프로그램 코드들을 제공하도록 구성되는 프로세서를 포함하되,
상기 프로그램 코드들은 상기 컴퓨터 장치에 의해 실행될 때,
사용자로부터 감지된 음성에 따라 음성 신호를 생성하기 위한 제 1 명령어들;
상기 음성 신호로부터 후보 음소들을 판별하면서 상기 후보 음소들에 대응하는 우도 값들을 생성하기 위한 제 2 명령어들;
상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 후보 음소들에 대응하는 상기 우도 값들을 선택적으로 조절하기 위한 제 3 명령어들; 및
상기 조절된 우도 값들에 기반하여 상기 후보 음소들로부터 상기 사용자의 상기 음성에 대응하는 음소들의 배열을 추정하기 위한 제 4 명령어들을 포함하는 클라이언트 서버.a database storing program codes and weights for the arrangement of phonemes of a predetermined voice command for triggering a predetermined operation; and
a processor configured to communicate with a computer device via a communicator to provide the weights for the arrangement of the phonemes of the spoken command and the program codes;
When the program codes are executed by the computer device,
first instructions for generating a voice signal according to a voice sensed by the user;
second instructions for generating likelihood values corresponding to the candidate phonemes while discriminating candidate phonemes from the speech signal;
third instructions for selectively adjusting the likelihood values corresponding to the candidate phonemes according to the weights for the arrangement of phonemes of the voice command; and
and fourth instructions for estimating an arrangement of phonemes corresponding to the user's voice from the candidate phonemes based on the adjusted likelihood values.
상기 제 3 명령어들은 상기 컴퓨터 장치에 의해 실행될 때, 상기 후보 음소들 중 상기 음성 명령어의 상기 음소들의 상기 배열과 매치되는 것들을 선택하고, 상기 음성 명령어의 상기 음소들의 상기 배열에 대한 상기 가중치들에 따라 상기 선택된 후보 음소들의 우도 값들을 조절하기 위한 제 5 명령어들을 포함하는 클라이언트 서버.
20. The method of claim 19,
the third instructions, when executed by the computer device, select ones of the candidate phonemes that match the arrangement of the phonemes of the voice command, according to the weights for the arrangement of the phonemes of the voice command and fifth instructions for adjusting likelihood values of the selected candidate phonemes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200146976A KR102429891B1 (en) | 2020-11-05 | 2020-11-05 | Voice recognition device and method of operating the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200146976A KR102429891B1 (en) | 2020-11-05 | 2020-11-05 | Voice recognition device and method of operating the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220060867A KR20220060867A (en) | 2022-05-12 |
KR102429891B1 true KR102429891B1 (en) | 2022-08-05 |
Family
ID=81590309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200146976A KR102429891B1 (en) | 2020-11-05 | 2020-11-05 | Voice recognition device and method of operating the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102429891B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012036305A1 (en) | 2010-09-17 | 2012-03-22 | 日本電気株式会社 | Voice recognition device, voice recognition method, and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040061070A (en) * | 2002-12-30 | 2004-07-07 | 주식회사 케이티 | Apparatus and Method for Speech Recognition in Speech Recognition System |
KR101095865B1 (en) * | 2008-12-01 | 2011-12-21 | 한국전자통신연구원 | Utterance verification apparatus and its method |
KR20140139982A (en) * | 2013-05-28 | 2014-12-08 | 삼성전자주식회사 | Method for executing voice recognition and Electronic device using the same |
-
2020
- 2020-11-05 KR KR1020200146976A patent/KR102429891B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012036305A1 (en) | 2010-09-17 | 2012-03-22 | 日本電気株式会社 | Voice recognition device, voice recognition method, and program |
Also Published As
Publication number | Publication date |
---|---|
KR20220060867A (en) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11373644B2 (en) | Wakeword detection | |
US11450312B2 (en) | Speech recognition method, apparatus, and device, and storage medium | |
US20210193176A1 (en) | Context-based detection of end-point of utterance | |
JP6316884B2 (en) | Personalized hotword detection model | |
US11056118B2 (en) | Speaker identification | |
US20090119103A1 (en) | Speaker recognition system | |
WO2017212206A1 (en) | Voice user interface | |
US11514900B1 (en) | Wakeword detection | |
US11200903B2 (en) | Systems and methods for speaker verification using summarized extracted features | |
US20180301144A1 (en) | Electronic device, method for adapting acoustic model thereof, and voice recognition system | |
US11437022B2 (en) | Performing speaker change detection and speaker recognition on a trigger phrase | |
US20230223014A1 (en) | Adapting Automated Speech Recognition Parameters Based on Hotword Properties | |
KR102429891B1 (en) | Voice recognition device and method of operating the same | |
KR20200132673A (en) | Electronic device and method for controlling the electronic device thereof | |
KR102051011B1 (en) | Server and method for controlling learning-based speech recognition apparatus | |
US20210241771A1 (en) | Electronic device and method for controlling the electronic device thereof | |
CN108573708A (en) | Method and system for promoting reliable pattern detection | |
US11205433B2 (en) | Method and apparatus for activating speech recognition | |
US11195545B2 (en) | Method and apparatus for detecting an end of an utterance | |
US11600275B2 (en) | Electronic device and control method thereof | |
KR20220151504A (en) | Server identifying wrong call and method for controlling the same | |
KR20210016975A (en) | Dialogue processing appratus, vehicle comprising the same and dialogue processing method | |
JP2006163285A (en) | Device, method and program for speech recognition, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |