KR20180087942A - 음성 인식 방법 및 장치 - Google Patents
음성 인식 방법 및 장치 Download PDFInfo
- Publication number
- KR20180087942A KR20180087942A KR1020170012354A KR20170012354A KR20180087942A KR 20180087942 A KR20180087942 A KR 20180087942A KR 1020170012354 A KR1020170012354 A KR 1020170012354A KR 20170012354 A KR20170012354 A KR 20170012354A KR 20180087942 A KR20180087942 A KR 20180087942A
- Authority
- KR
- South Korea
- Prior art keywords
- speech
- text data
- type
- decoding
- user
- 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/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/187—Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
-
- 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/04—Segmentation; Word boundary detection
-
- 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/08—Speech classification or search
-
- 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
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
-
- 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/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- 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/26—Speech to text systems
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/221—Announcement of recognition results
Abstract
음성 인식 방법 및 장치가 개시된다. 일 실시예는 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하고, 상기 사용자의 발화 타입과 대응되는 디코딩 컨디션을 결정하며, 상기 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여, 상기 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정한다.
Description
아래 실시예들은 음성 인식 방법 및 장치에 관한 것이다.
음성 인식은 사용자의 음성을 인식하는 기술이다. 음성 인식에 의해 사용자의 음성은 텍스트로 변환될 수 있다. 이러한 음성 인식에서, 인식 정확도는 사용자가 음성을 발화할 때의 주변 환경, 사용자 현재 상태 등 다양한 요인(factor)들에 의해 결정될 수 있다.
일 측에 따른 음성 인식 방법은 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하는 단계; 상기 사용자의 발화(utterance) 타입과 대응되는 디코딩 컨디션(condition)을 결정하는 단계; 및 상기 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여, 상기 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정하는 단계를 포함한다.
음성 인식 방법은 상기 음성 신호의 특징, 컨텍스트(context) 정보, 및 상기 음성 신호의 일부 인식 구간에 대한 음성 인식 결과 중 적어도 하나를 기초로 상기 발화 타입을 결정하는 단계를 더 포함할 수 있다.
상기 컨텍스트 정보는, 상기 사용자의 위치 정보, 사용자 프로파일 정보, 사용자 기기에서 실행된 어플리케이션의 타입 정보 중 적어도 하나를 포함할 수 있다.
상기 디코딩 컨디션을 결정하는 단계는, 상기 발화 타입이 결정된 경우, 발화 타입들과 디코딩 컨디션들이 맵핑된 맵핑 정보로부터 상기 결정된 발화 타입과 맵핑된 디코딩 컨디션을 선택하는 단계를 포함할 수 있다.
상기 타겟 텍스트 데이터를 결정하는 단계는, 현재 디코딩 컨디션을 상기 결정된 디코딩 컨디션으로 변경하여 상기 후보 텍스트 데이터들 각각의 확률을 계산하는 단계; 및 상기 계산된 확률들을 기초로 상기 후보 텍스트 데이터들 중에서 상기 타겟 텍스트 데이터를 결정하는 단계를 포함할 수 있다.
상기 타겟 텍스트 데이터를 결정하는 단계는, 상기 결정된 디코딩 컨디션을 기초로 음향 모델 및 언어 모델 각각의 가중치 중 적어도 하나를 조절하는 단계를 포함할 수 있다.
상기 후보 텍스트 데이터들을 생성하는 단계는, 음향 모델을 기초로 상기 음성 신호로부터 음소 시퀀스를 결정하는 단계; 언어 모델을 기초로 상기 음소 시퀀스로부터 워드들을 인식하는 단계; 및 상기 인식된 워드들을 통해 상기 후보 텍스트 데이터들을 생성하는 단계를 포함할 수 있다.
상기 음향 모델은, 상기 음성 신호의 특징을 기초로 상기 발화 타입을 결정하는 분류기를 포함할 수 있다.
상기 디코딩 컨디션은, 음향 모델의 가중치, 언어 모델의 가중치, 발음 기호의 분포의 의존도와 관련된 prior scale, CMVN(Cepstral Mean Variance Normalization), 및 디코딩 윈도우 사이즈 중 적어도 하나를 포함할 수 있다.
일 측에 따른 음성 인식 장치는 컨트롤러; 및 상기 컨트롤러에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 컨트롤러에서 실행되면, 상기 컨트롤러는 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하고, 상기 사용자의 발화(utterance) 타입과 대응되는 디코딩 컨디션(condition)을 결정하며, 상기 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여, 상기 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정한다.
상기 컨트롤러는 상기 음성 신호의 특징, 컨텍스트(context) 정보, 및 상기 음성 신호의 일부 인식 구간에 대한 음성 인식 결과 중 적어도 하나를 기초로 상기 발화 타입을 결정할 수 있다.
상기 컨텍스트 정보는, 상기 사용자의 위치 정보, 사용자 프로파일 정보, 사용자 기기에서 실행된 어플리케이션의 타입 정보 중 적어도 하나를 포함할 수 있다.
상기 컨트롤러는, 상기 발화 타입이 결정된 경우, 발화 타입들과 디코딩 컨디션들이 맵핑된 맵핑 정보로부터 상기 결정된 발화 타입과 맵핑된 디코딩 컨디션을 선택할 수 있다.
상기 컨트롤러는, 현재 디코딩 컨디션을 상기 결정된 디코딩 컨디션으로 변경하여 상기 후보 텍스트 데이터들 각각의 확률을 계산할 수 있고, 상기 계산된 확률들을 기초로 상기 후보 텍스트 데이터들 중에서 상기 타겟 텍스트 데이터를 결정할 수 있다.
상기 컨트롤러는, 상기 결정된 디코딩 컨디션을 기초로 음향 모델 및 언어 모델 각각의 가중치 중 적어도 하나를 조절할 수 있다.
상기 컨트롤러는, 음향 모델을 기초로 상기 음성 신호로부터 음소 시퀀스를 결정할 수 있고, 언어 모델을 기초로 상기 음소 시퀀스로부터 워드들을 인식할 수 있으며, 상기 인식된 워드들을 통해 상기 후보 텍스트 데이터들을 생성할 수 있다.
상기 음향 모델은, 상기 음성 신호의 특징을 기초로 상기 발화 타입을 결정하는 분류기를 포함할 수 있다.
상기 디코딩 컨디션은, 음향 모델의 가중치, 언어 모델의 가중치, 발음 기호의 분포의 의존도와 관련된 prior scale, CMVN(Cepstral Mean Variance Normalization), 및 디코딩 윈도우 사이즈 중 적어도 하나를 포함할 수 있다.
도 1은 일 실시예에 따른 음성 인식 장치를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 분류기의 동작을 설명하기 위한 도면이다.
도 3 내지 도 6은 일 실시예에 따른 음성 인식 장치의 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 음성 인식 장치를 설명하기 위한 블록도이다.
도 8은 일 실시예에 따른 음성 인식 방법을 설명하기 위한 순서도이다.
도 9는 일 실시예에 따른 음성 인식 장치를 포함하는 자연어 처리 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 분류기의 동작을 설명하기 위한 도면이다.
도 3 내지 도 6은 일 실시예에 따른 음성 인식 장치의 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 음성 인식 장치를 설명하기 위한 블록도이다.
도 8은 일 실시예에 따른 음성 인식 방법을 설명하기 위한 순서도이다.
도 9는 일 실시예에 따른 음성 인식 장치를 포함하는 자연어 처리 시스템을 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 음성 인식 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 음성 인식 장치(100)는 음성 신호를 수신한다. 음성 인식 장치(100)는, 예를 들어, 서버 형태로 구현될 수 있고, 사용자 기기(예를 들어, 이동 단말)로부터 네트워크를 통해 사용자의 음성 신호를 수신할 수 있다.
음성 인식 장치(100)는 분류기(110) 및 인식기(120)를 포함한다.
분류기(110)는 사용자의 발화 타입을 결정한다. 예를 들어, 분류기(110)는 사용자의 발화 타입이 문어체(read speech)안자 또는 대화체(conversation speech)인지 결정할 수 있다. 문어체 또는 대화체는 발화 타입의 일례일 뿐, 발화 타입은 문어체 또는 대화체로 제한되지 않는다.
분류기(110)는 발화 타입에 대응되는 디코딩 컨디션(condition)을 결정한다. 디코딩 컨디션은 인식기(120)가 음성 인식 결과를 생성하는데 사용하는 하나 이상의 디코딩 파라미터를 포함할 수 있다. 디코딩 컨디션은, 예를 들어, 언어 모델(Language Model)의 가중치, prior scale, 음향 모델(Acoustic Model)의 가중치, CMVN(Cepstral Mean Variance Normalization), 및 디코딩 윈도우 사이즈 중 어느 하나 또는 이들의 조합을 포함할 수 있다. 디코딩 컨디션은 전술한 사항으로 제한되지 않는다. 일례로, 분류기(110)는 음성 신호에 대한 발화 타입이 문어체로 결정되면, 미리 정해진 맵핑 정보로부터 디코딩 컨디션문어체를 선택할 수 있다. 디코딩 컨디션문어체는, 예를 들어, "언어 모델의 가중치=2, prior scale=0.7, 음향 모델의 가중치=0.061, CMVN=v1, 및 디코딩 윈도우 사이즈=200"을 포함할 수 있다. 디코딩 컨디션문어체는 전술한 사항으로 제한되지 않는다.
분류기(110)의 동작에 대해선 도 2를 통해 구체적으로 설명한다.
인식기(120)는 음성 신호에 대한 후보 텍스트 데이터들을 결정한다. 예를 들어, 인식기(120)가 음성 신호를 입력 받으면, 음향 모델을 기초로 음성 신호로부터 음소 시퀀스를 결정할 수 있고, 언어 모델을 기초로 음소 시퀀스로부터 워드들을 인식함으로써 후보 텍스트 데이터들을 결정할 수 있다.
인식기(120)는 디코딩 컨디션을 기초로 디코딩을 수행하여 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정한다. 일례로, 인식기(120)는 디코딩 컨디션문어체인 "언어 모델의 가중치=2, prior scale=0.7, 음향 모델의 가중치=0.061, CMVN=v1, 및 디코딩 윈도우 사이즈=200"을 디코더에 적용하여 후보 텍스트 데이터들 각각의 확률을 계산할 수 있다. 인식기(120)는 계산된 확률들을 기초로 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정할 수 있다. 일례로, 인식기(120)는 확률이 최대인 후보 텍스트 데이터를 타겟 텍스트 데이터로 결정할 수 있다.
음성 인식 장치(100)는 다른 음성 신호를 수신할 수 있다. 예를 들어, 음성 인식 장치(100)가 "They um and our entire school was on one campus from kindergarten to uh you know twelfth grade"의 다른 음성 신호를 수신할 수 있다. 분류기(110)는 다른 음성 신호에 대한 발화 타입을 결정할 수 있다. 분류기(110)는 다른 음성 신호에 대한 발화 타입을 대화체로 결정한다고 하자. 분류기(110)는 미리 정해진 맵핑 정보로부터 디코딩 컨디션대화체를 선택할 수 있다. 디코딩 컨디션대화체는, 예를 들어, "언어 모델의 가중치=2.2, prior scale=0.94, 음향 모델의 가중치=0.071, CMVN=v2, 및 디코딩 윈도우 사이즈=300"을 포함할 수 있다. 디코딩 컨디션대화체는 전술한 사항으로 제한되지 않는다.
인식기(120)는 디코딩 컨디션대화체를 기초로 디코딩을 수행할 수 있다. 다른 음성 신호에 대한 음성 인식 전에, 인식기(120)는 디코더에 디코딩 컨디션문어체를 적용하였다. 다시 말해, 디코더에 현재 적용된 디코딩 컨디션은 디코딩 컨디션문어체이다. 인식기(120)는 다른 음성 신호에 대한 음성 인식을 위해 디코딩 컨디션대화체를 디코더에 적용할 수 있다. 디코더에 적용된 디코딩 컨디션은 디코딩 컨디션문어체에서 디코딩 컨디션대화체로 변경될 수 있다. 이에 따라, 언어 모델의 가중치, prior scale, 음향 모델의 가중치, CMVN, 및 디코딩 윈도우 사이즈 중 하나 이상이 조절될 수 있다.
인식기(120)는 디코딩을 통해 다른 음성 신호에 대한 타겟 문장 데이터를 결정할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는 사용자의 발화 타입에 대한 최적 디코딩 컨디션으로 음성 인식을 수행할 수 있다. 이에 따라, 음성 인식 결과가 정확해 질 수 있고, 워드 에러율(Word Error Rate, WER)이 향상될 수 있다.
도 2는 일 실시예에 따른 분류기의 동작을 설명하기 위한 도면이다.
사용자들은 다양한 상황 또는 환경에서 음성을 발화할 수 있다. 일례로, 일부 사용자는 소음이 많은 환경 또는 적은 환경에서 음성을 발화할 수 있고, 사용자 기기와 근거리 또는 원거리에서 음성을 발화할 수 있다. 또한, 사용자들의 나이는 다양할 수 있다.
다양한 상황, 환경, 사용자들의 나이, 성별 등을 기초로 다양한 발화 타입들이 미리 정의될 수 있다. 일례로, 위에서 설명한 대화체, 문어체뿐 아니라, 원거리 대화체, 근거리 문어체, 소음이 많은 장소에서의 근거리 대화체, 실내에서의 노인의 원거리 대화체, 젊은 여성의 원거리 대화체 등 다양한 발화 타입들이 미리 정의될 수 있다.
분류기(200)는 미리 정의된 발화 타입들 중에서 음성 신호에 대한 발화 타입을 결정할 수 있다. 분류기(200)는 음성 신호에 대한 발화 타입을 결정하기 위해 하나 이상의 정보를 고려할 수 있다. 정보는, 예를 들어, 음성 신호의 특징 및/또는 컨텍스트 정보를 포함할 수 있다. 먼저, 분류기(200)가 음성 신호의 특징을 기초로 발화 타입을 결정하는 것을 설명한다.
음성 인식 장치는 음성 신호의 특징(feature)을 결정할 수 있다. 일례로, 음성 인식 장치는 음성 신호의 주파수 스펙트럼을 분석하여 음성 신호의 특징을 결정할 수 있다. 분류기(200)는 음성 신호의 특징을 기초로 다양한 발화 타입들 중에서 음성 신호에 대한 발화 타입을 결정할 수 있다. 일례로, 분류기(200)는 음성 신호의 특징과 임계값과 비교할 수 있다. 분류기(200)는 음성 신호의 특징이 임계값 이상이면 발화 타입을 문어체로 결정할 수 있고, 음성 신호의 특징이 임계값보다 작으면 발화 타입을 대화체로 결정할 수 있다.
또한, 분류기(200)는 컨텍스트 정보를 기초로 음성 신호에 대한 발화 타입을 결정할 수 있다. 컨텍스트 정보는 사용자 기기가 사용자로부터 음성을 수신할 때의 상황에 대한 정보를 포함할 수 있다. 컨텍스트 정보는, 예를 들어, 사용자의 주변 환경 정보, 사용자 프로파일 정보, 및/또는 사용자 기기에서 실행되는 어플리케이션의 타입 정보를 포함할 수 있다. 주변 환경 정보는 사용자의 위치 정보, 사용자가 위치한 장소의 날씨 정보, 시간 정보, 소음 정보(예를 들어, 음성 신호의 신호 대 잡음 비율(Signal-to-Noise Ratio, SNR)) 등을 포함할 수 있다. 사용자 프로파일 정보는 사용자의 성별, 나이 등 사용자에 대한 다양한 정보를 포함할 수 있다. 사용자 기기에서 실행되는 어플리케이션의 타입 정보는 사용자의 음성을 수신 및/또는 녹음하기 위해 실행된 어플리케이션의 타입 정보를 포함할 수 있다.
구현에 따라, 분류기(200)는 음성 신호의 특징 및 컨텍스트 정보 모두를 고려하여 음성 신호에 대한 발화 타입을 결정할 수 있다. 또한, 분류기(200)는 이전 디코딩 결과를 기초로 사용자의 발화 타입을 결정할 수 있다. 이에 대해선 도 4를 통해 후술한다.
발화 타입이 결정되면, 분류기(200)는 미리 정해진 맵핑 정보를 참조하여, 음성 신호에 대한 발화 타입과 맵핑된 디코딩 컨디션을 선택할 수 있다. 도 2에 도시된 예와 같이, 미리 정해진 맵핑 정보는 데이터베이스(210)에 저장될 수 있다. 아래 표 1은 미리 정해진 맵핑 정보의 일례를 보여준다.
언어 모델의 가중치 | prior scale | 음향 모델의 가중치 | CMVN | 디코딩 윈도우 사이즈 | ... | |
Type1 | α1 | β1 | γ1 | v1 | s1 | ... |
Type2 | α2 | β2 | γ2 | v2 | s2 | ... |
... | ... | ... | ... | ... | ... | ... |
Type10 | α10 | β10 | γ10 | v10 | s10 | ... |
... | ... | ... | ... | ... | ... | ... |
TypeN | αN | βN | γN | vN | sN | ... |
default | αdefault | βdefault | γdefault | vdefault | sdefault | ... |
위의 표 1에서, 언어 모델의 가중치, prior scale, 음향 모델의 가중치, CMVN, 디코딩 윈도우 사이즈 등은 디코딩 컨디션을 나타낸다. 여기서, prior scale을 기초로 트레이닝 데이터에서의 발음 기호의 분포에 대한 의존도의 정도가 조절될 수 있고, CMVN은 음성 신호로부터 추출된 특징 벡터들을 정규화(normalization)하는데 사용될 수 있다. 여기서, 특징 벡터들은 음향 모델이 음성 신호를 기초로 음소 확률 벡터를 결정하는 과정에서 생성될 수 있다. 디코딩 윈도우 사이즈는 디코딩 속도와 관련될 수 있다. 예를 들어, "디코딩 윈도우 사이즈=200" 보다 "디코딩 윈도우 사이즈=300"에서 디코딩 속도는 작을 수 있다.
위의 표 1에서, Type1~TypeN은 미리 정의된 발화 타입들을 나타낸다. Type1은, 예를 들어, 대화체를 나타낼 수 있고, Type2는, 예를 들어, 문어체를 나타낼 수 있다. Type10은, 예를 들어, 소음이 많은 장소에서의 근거리 대화체를 나타낼 수 있다. Type20은, 예를 들어, 실내에서의 노인의 원거리 대화체를 나타낼 수 있다. 또한, 위의 표 2에서, default는 음성 신호에 대한 발화 타입이 결정되지 못한 경우를 위한 것이다. 분류기(200)는 음성 신호에 대한 발화 타입이 발화 타입들 중 어느 하나에 해당하지 않으면, default를 선택할 수 있다.
일례로, 사람들이 밀집한 강남에서 사용자는 사용자 기기와 근접하게 "Where is a French restaurant?"의 음성을 발화한다고 하자. 음성 인식 장치는 "Where is a French restaurant?"의 음성 신호 및 컨텍스트 정보(예를 들어, 위치=강남, 성별=여자, SNR, 및/또는 나이=25세 등)를 사용자 기기로부터 수신할 수 있다. 분류기(200)는 음성 신호의 특징 및/또는 컨텍스트 정보를 기초로 사용자의 발화 타입을 Type10 "소음이 많은 장소에서의 근거리 대화체"로 결정할 수 있다. 분류기(200)는 Type10과 맵핑된 디코딩 컨디션 {α10, β10, γ10, v10, s10, ...}을 선택할 수 있다.
다른 일례로, 노인이 집에서 사용자 기기와 멀리 떨어진 채로 "turn on the TV"를 발화한다고 하자. 음성 인식 장치는 "turn on the TV"의 음성 신호 및 컨텍스트 정보(예를 들어, 위치=실내, 성별=남자, 및/또는 나이=60대 등)를 사용자 기기로부터 수신할 수 있다. 분류기(200)는 음성 신호의 특징 및/또는 컨텍스트 정보를 기초로 사용자의 발화 타입을 Type20 "실내에서의 노인의 원거리 대화체"로 결정할 수 있다. 분류기(200)는 Type20과 맵핑된 디코딩 컨디션을 선택할 수 있다.
또 다른 일례로, 사용자가 통화 녹음 어플리케이션이 실행되는 동안 통화한다고 하자. 사용자 기기는 통화 동안에 녹음된 음성, 즉, 음성 신호를 텍스트로 변환하기 위해 음성 신호 및/또는 컨텍스트 정보(예를 들어, 어플리케이션의 타입 정보=녹음)을 음성 인식 장치로 전송할 수 있다. 통화 녹음에 의해 생성된 음성 신호에 대한 발화 타입은 문어체보다는 대화체일 수 있다. 분류기(200)는 어플리케이션의 타입 정보를 기초로, 통화 녹음에 의해 생성된 음성 신호에 대한 발화 타입을 Type1 "대화체"로 결정할 수 있다. 분류기(200)는 Type1과 맵핑된 디코딩 컨디션을 선택할 수 있다. 구현에 따라, 분류기(200)는 다른 컨텍스트 정보(예를 들어, 위치 정보 등)및/또는 음성 신호의 특징을 더 고려하여, 해당 음성 신호에 대한 보다 정확한 발화 타입을 결정할 수 있다.
분류기(200)는 디코딩 컨디션을 인식기(미도시)로 제공 또는 출력할 수 있다.
일 실시예에 따르면, 음성 인식 장치는 사용자의 현재 상황 또는 현재 환경에 가장 적합한 디코딩 컨디션으로 음성 인식을 수행할 수 있다. 이에 따라, 음성 인식 결과가 보다 정확할 수 있다.
도 3 내지 도 6은 일 실시예에 따른 음성 인식 장치의 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따른 음성 인식 장치(300)는 분류기(320), 데이터베이스(330), 음향 모델(340), 언어 모델(350), 및 디코더(360)를 포함한다.
음성 인식 장치(300)는 "I'm like everybody you need to read this book right now"의 음성 신호(310)를 수신한다고 하자.
분류기(320)는 사용자의 발화 타입을 결정하고, 결정된 발화 타입에 대응되는 디코딩 컨디션을 결정한다. 분류기(320)에 대해선 도 1 내지 도 2를 통해 설명하였으므로, 자세한 설명을 생략한다.
데이터베이스(330)는 도 2를 통해 설명한 데이터베이스에 대응될 수 있으므로, 자세한 설명을 생략한다.
음향 모델(340)은 음성 신호를 기초로 음소 시퀀스를 결정할 수 있다. 음향 모델(340)은, 예를 들어, HMM(Hidden Markov Modeling) 기반 모델, GMM(Gaussian Mixture Model), DNN(Deep Neural Network) 기반 모델, 또는 BLSTM(Bidirectional Long Short Term Memory) 기반 모델일 수 있다. 음향 모델(340)의 종류는 전술한 사항으로 제한되지 않는다.
언어 모델(350)은 음소 시퀀스를 기초로 워드들을 인식할 수 있다. 이러한 인식을 통해 인식 후보들이 결정될 수 있다. 달리 표현하면, 후보 텍스트 데이터들이 언어 모델(350)을 기초로 결정될 수 있다. 언어 모델(350)은, 예를 들어, n-gram 언어 모델 또는 뉴럴 네트워크 기반 모델일 수 있다. 언어 모델(350)의 종류는 전술한 사항으로 제한되지 않는다.
아래 표 2는 음성 신호(310) "I'm like everybody you need to read this book right now"에 대한 후보 텍스트 데이터들의 일례를 보여준다.
후보 1 | I'm like everybody need to read this book right now |
후보 2 | I'm like everybody meta regensburg right now |
후보 3 | I'm <> everybody need to read the book <> now |
후보 3에서 <> 표시는 언노운(unknown)을 의미할 수 있다.
디코더(360)는 디코딩 컨디션, 음향 모델(340), 및 언어 모델(350)을 기초로 후보 텍스트 데이터들 각각의 확률을 계산할 수 있다. 디코더(360)는 계산된 확률들을 기초로 후보 텍스트 데이터들 중 어느 하나를 타겟 텍스트 데이터로 결정할 수 있다. 일례로, 디코더(360)는 아래 수학식 1을 기초로 후보 텍스트 데이터들 각각의 확률을 계산할 수 있고, 타겟 텍스트 데이터를 결정할 수 있다.
수학식 1에서, 는 음향 모델(340)을 나타내고, 는 언어 모델(350)을 나타낸다. 달리 표현하면, 는 음소 시퀀스에 대한 확률(또는 확률 벡터)을 나타낼 수 있고, 는 언어 모델(350)에 의해 계산된 워드 확률을 나타낼 수 있다. 수학식 1에서, α는 언어 모델의 가중치를 나타내고, β는 prior scale을 나타낸다. 수학식 1에서 언어 모델의 가중치가 클수록 언어 모델의 비중(importance) 또는 의존도(dependency)는 작아질 수 있다. 여기서, 언어 모델(350)의 가중치가 조절되면 음향 모델(340)의 가중치는 자동으로 조정될 수 있다. 또한, 수학식 1에서 prior scale을 기초로 트레이닝 데이터에서의 발음 기호의 분포의 의존도가 조절될 수 있다.
수학식 1을 기초로 후보 1의 확률=0.9, 후보 2의 확률=0.1, 후보 3의 확률=0.6으로 계산되면, 디코더(360)는 후보 1을 타겟 텍스트 데이터로 결정할 수 있다.
위의 수학식 1은 언어 모델의 가중치 및 prior scale만을 포함하고 있다. 디코더(360)가 수학식 1을 기초로 후보 텍스트 데이터들 각각의 확률을 계산하고 타겟 텍스트 데이터를 결정하는 것은 예시적인 사항일 뿐, 디코더(360)는 언어 모델의 가중치 및 prior scale 뿐 아니라 다양한 디코딩 파라미터들을 고려하여 후보 텍스트 데이터들 각각의 확률을 계산하고, 계산된 확률들을 통해 타겟 텍스트 데이터를 결정할 수 있다.
구현에 따라, 실시간 음성 인식을 위해 음성 인식 장치(300)는 미리 정해진 사이즈에 해당하는 인식 구간에 대해 음성 인식을 수행하고, 순차적으로 이후 인식 구간에 대해 음성 인식을 수행할 수 있다. 이하, 도 4를 참조하면서 설명한다.
도 4에 도시된 예에서, 현재 인식 구간이 Ot라 할 때, 분류기(320)는 현재 인식 구간의 특징, 컨텍스트 정보, 및 이전 디코딩 결과 중 하나 이상 또는 이들의 조합을 기초로 현재 인식 구간에 대한 발화 타입을 결정할 수 있다. 이전 디코딩 결과는 이전 인식 구간에 대한 음성 인식 결과를 포함할 수 있다. 도 4에 도시된 예에서, 이전 디코딩 결과는 Ot -1에 대한 음성 인식 결과인 "I'm like"를 포함할 수 있다. 또한, 이전 디코딩 결과는 Ot -1에 대한 음성 인식 결과, Ot -2에 대한 음성 인식 결과 등을 포함할 수 있다.
일례로, 분류기(320)는 이전 디코딩 결과에 해당하는 용법(usage)를 통해 현재 인식 구간에 대한 발화 타입이 미리 정의된 발화 타입들 중 어떤 발화 타입에 해당하는지 결정할 수 있다. 도 4에 도시된 예에서, 분류기(320)는 현재 인식 구간 Ot에 대한 발화 타입을 문어체로 결정한다고 하자.
음향 모델(340)은 현재 인식 구간 Ot를 기초로 음소 확률 벡터를 생성할 수 있다. 음소 확률 벡터는 음소 시퀀스에 대한 확률 벡터를 나타낼 수 있다. 음소 확률 벡터는, 예를 들어, [0.9, 0.1,0.005, ...]와 같은 실수 벡터일 수 있다.
언어 모델(350)은 음소 시퀀스를 기초로 워드를 인식할 수 있다. 또한, 언어 모델(350)은 인식된 워드에 연결될 수 있는 워드들을 음소 확률 벡터를 기초로 예측(또는 인식)할 수 있고, 예측된(또는 인식된) 워드들 각각의 워드 확률을 계산할 수 있다. 일례로, 언어 모델(350)은 음소 시퀀스를 기초로, "everybody" 다음에 연결될 워드를 "need to", "meta", 및 "neat"로 예측할 수 있다. 언어 모델(350)은 "need to", "meta", 및 "neat" 각각의 워드 확률을 계산할 수 있다. 여기서, "need to", "meta", 및 "neat" 각각의 워드 확률은 "everybody" 다음에 "need to", "meta", 및 "neat" 각각이 연결될 확률을 나타낼 수 있다. 언어 모델(350)에 기초하여 후보 텍스트 데이터들 "everybody need to", "everybody meta", 및 "everybody neat"이 결정될 수 있다.
디코더(360)는 음소 확률 벡터, 워드 확률, 및 디코딩 컨디션을 기초로 후보 텍스트 데이터들 각각의 확률을 계산할 수 있다. 일례로, 디코더(360)는 음소 확률 벡터, 워드 확률, 및 디코딩 컨디션을 위의 수학식 1에 적용하여 후보 텍스트 데이터들 "everybody need to", "everybody meta", 및 "everybody neat" 각각의 확률을 계산할 수 있다. 디코더(360)는 계산된 확률들을 기초로 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정할 수 있다. 일례로, "everybody need to"에 대한 확률이 가장 크게 계산되는 경우, 디코더(360)는 "everybody need to"를 선택할 수 있다.
분류기(320)는 이후 인식 구간마다 발화 타입을 결정할 수 있고, 결정된 발화 타입에 대응되는 디코딩 컨디션을 결정할 수 있다. 디코더(360)는 이후 인식 구간 마다 디코딩을 수행하여 이후 인식 구간에 대한 음성 인식 결과를 생성할 수 있다. 인식 도중에 발화 타입이 변경되면, 분류기(320)는 디코딩 컨디션을 동적으로 변경할 수 있고, 디코더(360)는 변경된 디코딩 컨디션을 기초로 디코딩을 수행할 수 있다. 이에 따라, 발화 타입에 적합한 디코딩 컨디션이 적용되는 실시간 디코딩이 가능할 수 있다.
구현에 따라, 분류기(320)는 이후 인식 구간에 대한 발화 타입을 결정하지 않을 수 있다. 사용자가 대화체로 음성을 발화하면, 발화 도중에 대화체에서 문어체로 변경될 가능성은 크지 않다. 달리 표현하면, 음성 신호가 지속되면 발화 타입은 변경되지 않을 수 있다. 음성 신호의 일부 인식 구간에 대한 발화 타입이 결정되면, 음성 인식 장치(300)는 일부 인식 구간에 대한 발화 타입이 미리 정해진 시간 동안(예를 들어, 음성 신호가 종료할 때까지) 유지될 것으로 추정할 수 있다. 이러한 추정에 따라, 음성 인식 장치(300)는 일부 인식 구간을 음성 인식하는데 이용한 디코딩 컨디션으로 이후 인식 구간에 음성 인식을 수행할 수 있다. 도 4에 도시된 예에서, 현재 인식 구간 Ot에 대한 발화 타입은 문어체로 결정되었으므로, 음성 인식 장치(300)는 이후 인식 구간에 대한 발화 타입을 결정하지 않고, 디코딩 컨디션문어체로 이후 인식 구간을 음성 인식할 수 있다.
도 1 내지 도 3을 통해 설명한 분류기(320)는 음향 모델(340) 외부에 위치할 수 있다. 구현에 따라, 분류기(320)는 음향 모델(340) 내부에 위치할 수 있다. 이하, 도 5를 참조하면서, 분류기(320)를 포함하는 음향 모델(340)에 대해 설명한다.
도 5를 참조하면, 분류기(320)는 음향 모델(340)에 포함될 수 있다.
분류기(320)를 포함하는 음향 모델(340)이 구현될 수 있도록 음향 모델(340)의 뉴럴 네트워크 내의 히든 레이어(hidden layer) 및/또는 출력 레이어(output layer)는 하나 이상의 분류 노드(classification node)를 포함할 수 있다. 이하, 도 6을 참조하면서 설명한다.
도 6을 참조하면, 음향 모델은 뉴럴 네트워크(600) 기반 모델일 수 있다. 도 6에 도시된 예와 같이, 음향 모델은 입력 레이어(610), 히든 레이어들(620 및 630), 및 출력 레이어(640)를 포함한다. 하나 이상의 분류 노드는 히든 레이어들(620 및 630) 중 어느 하나 또는 출력 레이어(640)에 위치할 수 있다. 분류 노드는 인접한 레이어의 하나 이상의 노드와 연결선으로 연결될 수 있다. 여기서, 연결선은 연결 가중치를 갖는다.
음성 신호는 음향 모델의 입력 레이어(610)로 입력될 수 있다. 입력 레이어(610)가 음성 신호를 입력 받으면, 전방 연산(forward computation)이 수행될 수 있다. 전방 연산은 입력 레이어(610) → 히든 레이어들(620 및 630) → 출력 레이어(640) 방향으로 수행되는 연산을 나타낸다. 전방 연산을 통해 음성 신호에 대한 발화 타입 및 음소 확률 벡터가 결정될 수 있다. 분류 노드로부터 발화 타입이 출력될 수 있고, 출력 레이어(640)에서 음소 확률 벡터가 출력될 수 있다.
도 7은 일 실시예에 따른 음성 인식 장치를 설명하기 위한 블록도이다.
도 7을 참조하면, 음성 인식 장치(700)는 메모리(710) 및 컨트롤러(720)를 포함한다.
메모리(710)는 컨트롤러(720)에 의해 실행 가능한 하나 이상의 명령어를 포함한다.
컨트롤러(720)는 하나 이상의 명령어가 컨트롤러(720) 자신에 의해 실행되면, 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하고, 사용자의 발화 타입과 대응되는 디코딩 컨디션을 결정하며, 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정한다.
도 1 내지 도 6을 통해 기술된 사항들은 도 7을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 8은 일 실시예에 따른 음성 인식 방법을 설명하기 위한 순서도이다.
일 실시예에 따른 음성 인식 방법은 음성 인식 장치에 의해 수행될 수 있다.
도 8을 참조하면, 음성 인식 장치는 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성한다(810).
음성 인식 장치는 사용자의 발화 타입과 대응되는 디코딩 컨디션을 결정한다(820).
음성 인식 장치는 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정한다(830).
도 1 내지 도 7을 통해 기술된 사항들은 도 8을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 9는 일 실시예에 따른 음성 인식 장치를 포함하는 자연어 처리 시스템을 설명하기 위한 도면이다.
도 9를 참조하면, 자연어 처리 시스템(900)은 사용자 기기(910) 및 자연어 처리 장치(920)를 포함한다. 자연어 처리 장치(920)는 서버 형태로 구현될 수 있다.
사용자 기기(910)는 사용자의 음성을 수신할 수 있다. 달리 표현하면, 사용자 기기(910)는 음성을 캡쳐(capture)할 수 있다. 사용자 기기(910)는 사용자의 음성을 전처리 및/또는 압축하여 음성 신호를 생성할 수 있다. 사용자 기기(910)는 음성 신호를 자연어 처리 장치(920)로 전송할 수 있다.
사용자 기기(910)는, 예를 들어, 이동 단말(일례로, 웨어러블 디바이스, 스마트폰, 태블릿 PC 등) 또는 스마트 홈 시스템을 제어하는 홈 에이전트(home agent)일 수 있다. 사용자 기기(910)는 전술한 사항으로 제한되지 않는다.
자연어 처리 장치(920)는 음성 인식 장치(921) 및 자연어 분석 장치(922)를 포함한다. 음성 인식 장치(921)는 음성 인식 엔진으로 달리 표현될 수 있고, 자연어 분석 장치(922)는 NLU(Natural Language Understanding) 엔진으로 달리 표현될 수 있다.
음성 인식 장치(921)는 음성 신호에 대응되는 타겟 텍스트 데이터를 결정한다. 음성 인식 장치(921)는 도 1 내지 도 8을 통해 설명한 음성 음식 장치에 대응될 수 있으므로, 상세한 설명을 생략한다.
자연어 분석 장치(922)는 타겟 텍스트 데이터를 분석한다. 예를 들어, 자연어 분석 장치(922)는 타겟 텍스트 데이터에 형태소(morpheme) 분석, 구문(syntax) 분석, 의미(semantic) 분석, 및 담화(discourse) 분석 중 하나 이상을 수행할 수 있다. 자연어 분석 장치(922)는 이러한 분석을 통해 타겟 텍스트 데이터의 의도(intent) 정보를 결정할 수 있다. 예를 들어, "turn on the TV"의 타겟 텍스트 데이터가 결정된 경우, 자연어 분석 장치(922)는 "turn on the TV"의 타겟 텍스트 데이터를 분석하여 "사용자는 TV를 turn on하는 것을 원한다"의 의도 정보를 결정할 수 있다. 구현에 따라, 자연어 분석 장치(922)는 타겟 텍스트 데이터 내의 오류 워드를 수정하거나 타겟 텍스트 데이터의 문법을 교정할 수 있다.
자연어 분석 장치(922)는 타겟 텍스트 데이터의 의도 정보에 대응되는 제어 신호 및/또는 텍스트 데이터를 생성할 수 있다. 자연어 처리 장치(920)는 사용자 기기(910)로 제어 신호 및/또는 텍스트 데이터를 전송할 수 있다. 사용자 기기(910)는 제어 신호에 따라 동작하거나 텍스트 데이터를 디스플레이에 표시할 수 있다. 일례로, 사용자 기기(910)가 "사용자는 TV를 turn on하는 것을 원한다"의 의도 정보에 대응되는 제어 신호를 수신하면, 사용자 기기(910)는 TV가 turn on되도록 TV를 제어할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (19)
- 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하는 단계;
상기 사용자의 발화(utterance) 타입과 대응되는 디코딩 컨디션(condition)을 결정하는 단계; 및
상기 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여, 상기 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정하는 단계
를 포함하는,
음성 인식 방법.
- 제1항에 있어서,
상기 음성 신호의 특징, 컨텍스트(context) 정보, 및 상기 음성 신호의 일부 인식 구간에 대한 음성 인식 결과 중 적어도 하나를 기초로 상기 발화 타입을 결정하는 단계
를 더 포함하는,
음성 인식 방법.
- 제2항에 있어서,
상기 컨텍스트 정보는,
상기 사용자의 위치 정보, 사용자 프로파일 정보, 사용자 기기에서 실행된 어플리케이션의 타입 정보 중 적어도 하나를 포함하는,
음성 인식 방법.
- 제1항에 있어서,
상기 디코딩 컨디션을 결정하는 단계는,
상기 발화 타입이 결정된 경우, 발화 타입들과 디코딩 컨디션들이 맵핑된 맵핑 정보로부터 상기 결정된 발화 타입과 맵핑된 디코딩 컨디션을 선택하는 단계
를 포함하는,
음성 인식 방법.
- 제1항에 있어서,
상기 타겟 텍스트 데이터를 결정하는 단계는,
현재 디코딩 컨디션을 상기 결정된 디코딩 컨디션으로 변경하여 상기 후보 텍스트 데이터들 각각의 확률을 계산하는 단계; 및
상기 계산된 확률들을 기초로 상기 후보 텍스트 데이터들 중에서 상기 타겟 텍스트 데이터를 결정하는 단계
를 포함하는,
음성 인식 방법.
- 제1항에 있어서,
상기 타겟 텍스트 데이터를 결정하는 단계는,
상기 결정된 디코딩 컨디션을 기초로 음향 모델 및 언어 모델 각각의 가중치 중 적어도 하나를 조절하는 단계
를 포함하는,
음성 인식 방법.
- 제1항에 있어서,
상기 후보 텍스트 데이터들을 생성하는 단계는,
음향 모델을 기초로 상기 음성 신호로부터 음소 시퀀스를 결정하는 단계;
언어 모델을 기초로 상기 음소 시퀀스로부터 워드들을 인식하는 단계; 및
상기 인식된 워드들을 통해 상기 후보 텍스트 데이터들을 생성하는 단계
를 포함하는,
음성 인식 방법.
- 제7항에 있어서,
상기 음향 모델은,
상기 음성 신호의 특징을 기초로 상기 발화 타입을 결정하는 분류기를 포함하는,
음성 인식 방법.
- 제1항에 있어서,
상기 디코딩 컨디션은,
음향 모델의 가중치, 언어 모델의 가중치, 발음 기호의 분포의 의존도와 관련된 prior scale, CMVN(Cepstral Mean Variance Normalization), 및 디코딩 윈도우 사이즈 중 적어도 하나를 포함하는,
음성 인식 방법.
- 제1항 내지 제9항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
- 컨트롤러; 및
상기 컨트롤러에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
를 포함하고,
상기 적어도 하나의 명령어가 상기 컨트롤러에서 실행되면, 상기 컨트롤러는 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하고, 상기 사용자의 발화(utterance) 타입과 대응되는 디코딩 컨디션(condition)을 결정하며, 상기 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여, 상기 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정하는,
음성 인식 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 음성 신호의 특징, 컨텍스트(context) 정보, 및 상기 음성 신호의 일부 인식 구간에 대한 음성 인식 결과 중 적어도 하나를 기초로 상기 발화 타입을 결정하는,
음성 인식 장치.
- 제12항에 있어서,
상기 컨텍스트 정보는,
상기 사용자의 위치 정보, 사용자 프로파일 정보, 사용자 기기에서 실행된 어플리케이션의 타입 정보 중 적어도 하나를 포함하는,
음성 인식 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 발화 타입이 결정된 경우, 발화 타입들과 디코딩 컨디션들이 맵핑된 맵핑 정보로부터 상기 결정된 발화 타입과 맵핑된 디코딩 컨디션을 선택하는,
음성 인식 장치.
- 제11항에 있어서,
상기 컨트롤러는,
현재 디코딩 컨디션을 상기 결정된 디코딩 컨디션으로 변경하여 상기 후보 텍스트 데이터들 각각의 확률을 계산하고, 상기 계산된 확률들을 기초로 상기 후보 텍스트 데이터들 중에서 상기 타겟 텍스트 데이터를 결정하는,
음성 인식 장치.
- 제11항에 있어서,
상기 컨트롤러는,
상기 결정된 디코딩 컨디션을 기초로 음향 모델 및 언어 모델 각각의 가중치 중 적어도 하나를 조절하는,
음성 인식 장치.
- 제11항에 있어서,
상기 컨트롤러는,
음향 모델을 기초로 상기 음성 신호로부터 음소 시퀀스를 결정하고, 언어 모델을 기초로 상기 음소 시퀀스로부터 워드들을 인식하며, 상기 인식된 워드들을 통해 상기 후보 텍스트 데이터들을 생성하는,
음성 인식 장치.
- 제17항에 있어서,
상기 음향 모델은,
상기 음성 신호의 특징을 기초로 상기 발화 타입을 결정하는 분류기를 포함하는,
음성 인식 장치.
- 제11항에 있어서,
상기 디코딩 컨디션은,
음향 모델의 가중치, 언어 모델의 가중치, 발음 기호의 분포의 의존도와 관련된 prior scale, CMVN(Cepstral Mean Variance Normalization), 및 디코딩 윈도우 사이즈 중 적어도 하나를 포함하는,
음성 인식 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170012354A KR20180087942A (ko) | 2017-01-26 | 2017-01-26 | 음성 인식 방법 및 장치 |
EP17206914.8A EP3355303A1 (en) | 2017-01-26 | 2017-12-13 | Speech recognition method and apparatus |
US15/841,528 US20180211652A1 (en) | 2017-01-26 | 2017-12-14 | Speech recognition method and apparatus |
CN201711372384.XA CN108364651A (zh) | 2017-01-26 | 2017-12-19 | 语音识别方法和设备 |
JP2017245281A JP2018120212A (ja) | 2017-01-26 | 2017-12-21 | 音声認識方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170012354A KR20180087942A (ko) | 2017-01-26 | 2017-01-26 | 음성 인식 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180087942A true KR20180087942A (ko) | 2018-08-03 |
Family
ID=60673333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170012354A KR20180087942A (ko) | 2017-01-26 | 2017-01-26 | 음성 인식 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20180211652A1 (ko) |
EP (1) | EP3355303A1 (ko) |
JP (1) | JP2018120212A (ko) |
KR (1) | KR20180087942A (ko) |
CN (1) | CN108364651A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200019522A (ko) * | 2018-08-14 | 2020-02-24 | 주식회사 알티캐스트 | Gui 음성제어 장치 및 방법 |
KR102135643B1 (ko) * | 2019-09-04 | 2020-07-20 | (주) 소프트기획 | 음성인식 엔진을 이용한 실시간 지능형 자막화 서비스 제공 시스템 |
WO2021040092A1 (ko) * | 2019-08-29 | 2021-03-04 | 엘지전자 주식회사 | 음성 인식 서비스 제공 방법 및 장치 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087630B (zh) * | 2018-08-29 | 2020-09-15 | 深圳追一科技有限公司 | 语音识别的方法及相关装置 |
TWI697890B (zh) * | 2018-10-12 | 2020-07-01 | 廣達電腦股份有限公司 | 語音校正系統及語音校正方法 |
CN109087645B (zh) * | 2018-10-24 | 2021-04-30 | 科大讯飞股份有限公司 | 一种解码网络生成方法、装置、设备及可读存储介质 |
KR20200059703A (ko) * | 2018-11-21 | 2020-05-29 | 삼성전자주식회사 | 음성 인식 방법 및 음성 인식 장치 |
WO2020111676A1 (ko) * | 2018-11-28 | 2020-06-04 | 삼성전자 주식회사 | 음성 인식 장치 및 방법 |
CN111383641B (zh) * | 2018-12-29 | 2022-10-18 | 华为技术有限公司 | 语音识别方法、装置和控制器 |
WO2020153736A1 (en) | 2019-01-23 | 2020-07-30 | Samsung Electronics Co., Ltd. | Method and device for speech recognition |
KR102615154B1 (ko) | 2019-02-28 | 2023-12-18 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
EP3888084A4 (en) * | 2019-05-16 | 2022-01-05 | Samsung Electronics Co., Ltd. | METHOD AND DEVICE FOR PROVIDING A VOICE RECOGNITION SERVICE |
KR102577589B1 (ko) * | 2019-10-22 | 2023-09-12 | 삼성전자주식회사 | 음성 인식 방법 및 음성 인식 장치 |
KR20210060897A (ko) * | 2019-11-19 | 2021-05-27 | 삼성전자주식회사 | 음성 처리 방법 및 장치 |
KR20210073252A (ko) * | 2019-12-10 | 2021-06-18 | 엘지전자 주식회사 | 인공 지능 장치 및 그의 동작 방법 |
US11335350B2 (en) * | 2020-03-18 | 2022-05-17 | Sas Institute Inc. | Dual use of audio noise level in speech-to-text framework |
US11145309B1 (en) * | 2020-03-18 | 2021-10-12 | Sas Institute Inc. | Dynamic model selection in speech-to-text processing |
US11049502B1 (en) | 2020-03-18 | 2021-06-29 | Sas Institute Inc. | Speech audio pre-processing segmentation |
WO2022198474A1 (en) | 2021-03-24 | 2022-09-29 | Sas Institute Inc. | Speech-to-analytics framework with support for large n-gram corpora |
KR20210119181A (ko) * | 2020-03-24 | 2021-10-05 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
CN112349289B (zh) * | 2020-09-28 | 2023-12-29 | 北京捷通华声科技股份有限公司 | 一种语音识别方法、装置、设备以及存储介质 |
WO2022086252A1 (ko) * | 2020-10-22 | 2022-04-28 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
CN112349275A (zh) * | 2020-11-10 | 2021-02-09 | 平安普惠企业管理有限公司 | 适用于多种用户的语音识别方法、装置、设备及介质 |
CN113782005B (zh) * | 2021-01-18 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 语音识别方法及装置、存储介质及电子设备 |
CN112908339B (zh) * | 2021-03-18 | 2022-11-04 | 龙马智芯(珠海横琴)科技有限公司 | 一种会议环节定位方法、装置、定位设备及可读存储介质 |
CN113268981B (zh) * | 2021-05-27 | 2023-04-28 | 咪咕音乐有限公司 | 一种信息处理方法、装置及电子设备 |
CN115116437B (zh) * | 2022-04-07 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、计算机设备、存储介质及产品 |
US20240127801A1 (en) * | 2022-10-13 | 2024-04-18 | International Business Machines Corporation | Domain adaptive speech recognition using artificial intelligence |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665639B2 (en) * | 1996-12-06 | 2003-12-16 | Sensory, Inc. | Speech recognition in consumer electronic products |
US7457750B2 (en) * | 2000-10-13 | 2008-11-25 | At&T Corp. | Systems and methods for dynamic re-configurable speech recognition |
US20030233233A1 (en) * | 2002-06-13 | 2003-12-18 | Industrial Technology Research Institute | Speech recognition involving a neural network |
JP2005208152A (ja) * | 2004-01-20 | 2005-08-04 | Matsushita Electric Ind Co Ltd | 雑音レベル推定装置 |
US7580837B2 (en) * | 2004-08-12 | 2009-08-25 | At&T Intellectual Property I, L.P. | System and method for targeted tuning module of a speech recognition system |
KR100845428B1 (ko) * | 2006-08-25 | 2008-07-10 | 한국전자통신연구원 | 휴대용 단말기의 음성 인식 시스템 |
JP4427530B2 (ja) * | 2006-09-21 | 2010-03-10 | 株式会社東芝 | 音声認識装置、プログラムおよび音声認識方法 |
US9129599B2 (en) * | 2007-10-18 | 2015-09-08 | Nuance Communications, Inc. | Automated tuning of speech recognition parameters |
US8352245B1 (en) * | 2010-12-30 | 2013-01-08 | Google Inc. | Adjusting language models |
US9263040B2 (en) * | 2012-01-17 | 2016-02-16 | GM Global Technology Operations LLC | Method and system for using sound related vehicle information to enhance speech recognition |
US9043205B2 (en) * | 2012-06-21 | 2015-05-26 | Google Inc. | Dynamic language model |
US8600746B1 (en) * | 2012-09-10 | 2013-12-03 | Google Inc. | Speech recognition parameter adjustment |
US9177550B2 (en) * | 2013-03-06 | 2015-11-03 | Microsoft Technology Licensing, Llc | Conservatively adapting a deep neural network in a recognition system |
US9159317B2 (en) * | 2013-06-14 | 2015-10-13 | Mitsubishi Electric Research Laboratories, Inc. | System and method for recognizing speech |
US9646606B2 (en) * | 2013-07-03 | 2017-05-09 | Google Inc. | Speech recognition using domain knowledge |
US9311915B2 (en) * | 2013-07-31 | 2016-04-12 | Google Inc. | Context-based speech recognition |
KR101614756B1 (ko) * | 2014-08-22 | 2016-04-27 | 현대자동차주식회사 | 음성 인식 장치, 그를 포함하는 차량, 및 그 차량의 제어 방법 |
-
2017
- 2017-01-26 KR KR1020170012354A patent/KR20180087942A/ko unknown
- 2017-12-13 EP EP17206914.8A patent/EP3355303A1/en not_active Ceased
- 2017-12-14 US US15/841,528 patent/US20180211652A1/en not_active Abandoned
- 2017-12-19 CN CN201711372384.XA patent/CN108364651A/zh not_active Withdrawn
- 2017-12-21 JP JP2017245281A patent/JP2018120212A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200019522A (ko) * | 2018-08-14 | 2020-02-24 | 주식회사 알티캐스트 | Gui 음성제어 장치 및 방법 |
WO2021040092A1 (ko) * | 2019-08-29 | 2021-03-04 | 엘지전자 주식회사 | 음성 인식 서비스 제공 방법 및 장치 |
US11393470B2 (en) | 2019-08-29 | 2022-07-19 | Lg Electronics Inc. | Method and apparatus for providing speech recognition service |
KR102135643B1 (ko) * | 2019-09-04 | 2020-07-20 | (주) 소프트기획 | 음성인식 엔진을 이용한 실시간 지능형 자막화 서비스 제공 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CN108364651A (zh) | 2018-08-03 |
EP3355303A1 (en) | 2018-08-01 |
JP2018120212A (ja) | 2018-08-02 |
US20180211652A1 (en) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180087942A (ko) | 음성 인식 방법 및 장치 | |
US11620991B2 (en) | Speech recognition using neural networks | |
O’Shaughnessy | Automatic speech recognition: History, methods and challenges | |
US10810996B2 (en) | System and method for performing automatic speech recognition system parameter adjustment via machine learning | |
JP4274962B2 (ja) | 音声認識システム | |
US8996366B2 (en) | Multi-stage speaker adaptation | |
US8386254B2 (en) | Multi-class constrained maximum likelihood linear regression | |
US10650802B2 (en) | Voice recognition method, recording medium, voice recognition device, and robot | |
CN107967916B (zh) | 确定语音关系 | |
CN113168828A (zh) | 基于合成数据训练的会话代理管线 | |
US20150154953A1 (en) | Generation of wake-up words | |
EP1557822A1 (en) | Automatic speech recognition adaptation using user corrections | |
Hirsch et al. | A new approach for the adaptation of HMMs to reverberation and background noise | |
US8996373B2 (en) | State detection device and state detecting method | |
JP6284462B2 (ja) | 音声認識方法、及び音声認識装置 | |
US9911411B2 (en) | Rapid speech recognition adaptation using acoustic input | |
KR20040088368A (ko) | 스위칭 상태 공간 모델들을 갖는 변분 추론을 사용하는음성 인식 방법 | |
WO2014018004A1 (en) | Feature normalization inputs to front end processing for automatic speech recognition | |
JP2015187684A (ja) | N−gram言語モデルの教師無し学習方法、学習装置、および学習プログラム | |
JP4836076B2 (ja) | 音声認識システム及びコンピュータプログラム | |
Tabibian | A voice command detection system for aerospace applications | |
JP3535292B2 (ja) | 音声認識システム | |
EP2867890B1 (en) | Meta-data inputs to front end processing for automatic speech recognition | |
Das et al. | Issues in practical large vocabulary isolated word recognition: The IBM Tangora system | |
Savchenko et al. | Fuzzy Phonetic Encoding of Speech Signals in Voice Processing Systems |