KR20180087942A - 음성 인식 방법 및 장치 - Google Patents

음성 인식 방법 및 장치 Download PDF

Info

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
Application number
KR1020170012354A
Other languages
English (en)
Inventor
문민영
이호식
최영상
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170012354A priority Critical patent/KR20180087942A/ko
Priority to EP17206914.8A priority patent/EP3355303A1/en
Priority to US15/841,528 priority patent/US20180211652A1/en
Priority to CN201711372384.XA priority patent/CN108364651A/zh
Priority to JP2017245281A priority patent/JP2018120212A/ja
Publication of KR20180087942A publication Critical patent/KR20180087942A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/221Announcement of recognition results

Abstract

음성 인식 방법 및 장치가 개시된다. 일 실시예는 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하고, 상기 사용자의 발화 타입과 대응되는 디코딩 컨디션을 결정하며, 상기 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여, 상기 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정한다.

Description

음성 인식 방법 및 장치{METHOD AND APPARATUS FOR SPEECH RECOGNITION}
아래 실시예들은 음성 인식 방법 및 장치에 관한 것이다.
음성 인식은 사용자의 음성을 인식하는 기술이다. 음성 인식에 의해 사용자의 음성은 텍스트로 변환될 수 있다. 이러한 음성 인식에서, 인식 정확도는 사용자가 음성을 발화할 때의 주변 환경, 사용자 현재 상태 등 다양한 요인(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는 일 실시예에 따른 음성 인식 장치를 포함하는 자연어 처리 시스템을 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 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을 기초로 후보 텍스트 데이터들 각각의 확률을 계산할 수 있고, 타겟 텍스트 데이터를 결정할 수 있다.
Figure pat00001
수학식 1에서,
Figure pat00002
는 음향 모델(340)을 나타내고,
Figure pat00003
는 언어 모델(350)을 나타낸다. 달리 표현하면,
Figure pat00004
는 음소 시퀀스에 대한 확률(또는 확률 벡터)을 나타낼 수 있고,
Figure pat00005
는 언어 모델(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)

  1. 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하는 단계;
    상기 사용자의 발화(utterance) 타입과 대응되는 디코딩 컨디션(condition)을 결정하는 단계; 및
    상기 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여, 상기 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정하는 단계
    를 포함하는,
    음성 인식 방법.
  2. 제1항에 있어서,
    상기 음성 신호의 특징, 컨텍스트(context) 정보, 및 상기 음성 신호의 일부 인식 구간에 대한 음성 인식 결과 중 적어도 하나를 기초로 상기 발화 타입을 결정하는 단계
    를 더 포함하는,
    음성 인식 방법.
  3. 제2항에 있어서,
    상기 컨텍스트 정보는,
    상기 사용자의 위치 정보, 사용자 프로파일 정보, 사용자 기기에서 실행된 어플리케이션의 타입 정보 중 적어도 하나를 포함하는,
    음성 인식 방법.
  4. 제1항에 있어서,
    상기 디코딩 컨디션을 결정하는 단계는,
    상기 발화 타입이 결정된 경우, 발화 타입들과 디코딩 컨디션들이 맵핑된 맵핑 정보로부터 상기 결정된 발화 타입과 맵핑된 디코딩 컨디션을 선택하는 단계
    를 포함하는,
    음성 인식 방법.
  5. 제1항에 있어서,
    상기 타겟 텍스트 데이터를 결정하는 단계는,
    현재 디코딩 컨디션을 상기 결정된 디코딩 컨디션으로 변경하여 상기 후보 텍스트 데이터들 각각의 확률을 계산하는 단계; 및
    상기 계산된 확률들을 기초로 상기 후보 텍스트 데이터들 중에서 상기 타겟 텍스트 데이터를 결정하는 단계
    를 포함하는,
    음성 인식 방법.
  6. 제1항에 있어서,
    상기 타겟 텍스트 데이터를 결정하는 단계는,
    상기 결정된 디코딩 컨디션을 기초로 음향 모델 및 언어 모델 각각의 가중치 중 적어도 하나를 조절하는 단계
    를 포함하는,
    음성 인식 방법.
  7. 제1항에 있어서,
    상기 후보 텍스트 데이터들을 생성하는 단계는,
    음향 모델을 기초로 상기 음성 신호로부터 음소 시퀀스를 결정하는 단계;
    언어 모델을 기초로 상기 음소 시퀀스로부터 워드들을 인식하는 단계; 및
    상기 인식된 워드들을 통해 상기 후보 텍스트 데이터들을 생성하는 단계
    를 포함하는,
    음성 인식 방법.
  8. 제7항에 있어서,
    상기 음향 모델은,
    상기 음성 신호의 특징을 기초로 상기 발화 타입을 결정하는 분류기를 포함하는,
    음성 인식 방법.
  9. 제1항에 있어서,
    상기 디코딩 컨디션은,
    음향 모델의 가중치, 언어 모델의 가중치, 발음 기호의 분포의 의존도와 관련된 prior scale, CMVN(Cepstral Mean Variance Normalization), 및 디코딩 윈도우 사이즈 중 적어도 하나를 포함하는,
    음성 인식 방법.
  10. 제1항 내지 제9항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  11. 컨트롤러; 및
    상기 컨트롤러에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
    를 포함하고,
    상기 적어도 하나의 명령어가 상기 컨트롤러에서 실행되면, 상기 컨트롤러는 사용자의 음성 신호에 대한 후보 텍스트 데이터들을 생성하고, 상기 사용자의 발화(utterance) 타입과 대응되는 디코딩 컨디션(condition)을 결정하며, 상기 결정된 디코딩 컨디션을 기초로 디코딩을 수행하여, 상기 후보 텍스트 데이터들 중에서 타겟 텍스트 데이터를 결정하는,
    음성 인식 장치.
  12. 제11항에 있어서,
    상기 컨트롤러는,
    상기 음성 신호의 특징, 컨텍스트(context) 정보, 및 상기 음성 신호의 일부 인식 구간에 대한 음성 인식 결과 중 적어도 하나를 기초로 상기 발화 타입을 결정하는,
    음성 인식 장치.
  13. 제12항에 있어서,
    상기 컨텍스트 정보는,
    상기 사용자의 위치 정보, 사용자 프로파일 정보, 사용자 기기에서 실행된 어플리케이션의 타입 정보 중 적어도 하나를 포함하는,
    음성 인식 장치.
  14. 제11항에 있어서,
    상기 컨트롤러는,
    상기 발화 타입이 결정된 경우, 발화 타입들과 디코딩 컨디션들이 맵핑된 맵핑 정보로부터 상기 결정된 발화 타입과 맵핑된 디코딩 컨디션을 선택하는,
    음성 인식 장치.
  15. 제11항에 있어서,
    상기 컨트롤러는,
    현재 디코딩 컨디션을 상기 결정된 디코딩 컨디션으로 변경하여 상기 후보 텍스트 데이터들 각각의 확률을 계산하고, 상기 계산된 확률들을 기초로 상기 후보 텍스트 데이터들 중에서 상기 타겟 텍스트 데이터를 결정하는,
    음성 인식 장치.
  16. 제11항에 있어서,
    상기 컨트롤러는,
    상기 결정된 디코딩 컨디션을 기초로 음향 모델 및 언어 모델 각각의 가중치 중 적어도 하나를 조절하는,
    음성 인식 장치.
  17. 제11항에 있어서,
    상기 컨트롤러는,
    음향 모델을 기초로 상기 음성 신호로부터 음소 시퀀스를 결정하고, 언어 모델을 기초로 상기 음소 시퀀스로부터 워드들을 인식하며, 상기 인식된 워드들을 통해 상기 후보 텍스트 데이터들을 생성하는,
    음성 인식 장치.
  18. 제17항에 있어서,
    상기 음향 모델은,
    상기 음성 신호의 특징을 기초로 상기 발화 타입을 결정하는 분류기를 포함하는,
    음성 인식 장치.
  19. 제11항에 있어서,
    상기 디코딩 컨디션은,
    음향 모델의 가중치, 언어 모델의 가중치, 발음 기호의 분포의 의존도와 관련된 prior scale, CMVN(Cepstral Mean Variance Normalization), 및 디코딩 윈도우 사이즈 중 적어도 하나를 포함하는,
    음성 인식 장치.
KR1020170012354A 2017-01-26 2017-01-26 음성 인식 방법 및 장치 KR20180087942A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 현대자동차주식회사 음성 인식 장치, 그를 포함하는 차량, 및 그 차량의 제어 방법

Cited By (4)

* Cited by examiner, † Cited by third party
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