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

음성 인식 방법 및 음성 인식 장치 Download PDF

Info

Publication number
KR20200059703A
KR20200059703A KR1020180144753A KR20180144753A KR20200059703A KR 20200059703 A KR20200059703 A KR 20200059703A KR 1020180144753 A KR1020180144753 A KR 1020180144753A KR 20180144753 A KR20180144753 A KR 20180144753A KR 20200059703 A KR20200059703 A KR 20200059703A
Authority
KR
South Korea
Prior art keywords
weight
score
speech recognition
language model
determining
Prior art date
Application number
KR1020180144753A
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 KR1020180144753A priority Critical patent/KR20200059703A/ko
Priority to US16/398,482 priority patent/US11100916B2/en
Priority to CN201910417694.1A priority patent/CN111292728B/zh
Priority to EP19179693.7A priority patent/EP3657501B1/en
Priority to JP2019183896A priority patent/JP7452968B2/ja
Publication of KR20200059703A publication Critical patent/KR20200059703A/ko
Priority to US17/380,217 priority patent/US11935516B2/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/005Language recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

음성 인식 방법 및 음성 인식 장치가 개시된다. 음성 인식 방법은 음성 입력에 기초하여 후보 텍스트들에 대한 제1 스코어를 결정하는 단계, 음성 입력에 기초하여 언어 모델의 출력에 적용될 가중치를 결정하는 단계, 언어 모델로부터 출력된 상기 후보 텍스트들에 대한 제2 스코어에 가중치를 적용하는 단계, 제1 스코어와 가중치가 적용된 제2 스코어에 기초하여 상기 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하는 단계 및 선택된 타겟 후보 텍스트를 음성 입력의 적어도 일부에 대응하는 타겟 텍스트로 결정하는 단계를 포함할 수 있다.

Description

음성 인식 방법 및 음성 인식 장치{VOICE RECOGNIZING METHOD AND VOICE RECOGNIZING APPRATUS}
아래의 실시예들은 음성 인식 기술에 관한 것이다.
음성 인식 기술은 인간이 의사 소통을 위하여 말하는 음성을 컴퓨터가 해석하여 문자 데이터로 전환하는 기술로서, 편리함을 원하는 사용자들의 요구에 따라 빠르게 발전하고 있다. 최근에는, 뉴럴 네트워크(neural network)를 이용하여 음성 인식을 수행하는 기술이 활발히 연구되고 있다. 뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 모델로서, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 뉴럴 네트워크는 학습된 결과에 기초하여 학습에 이용되지 않았던 입력 패턴에 대하여 비교적 올바른 출력을 생성할 수 있는 일반화 능력을 가지고, 이러한 일반화 능력의 장점으로 인하여 음성 인식 기술 분야에서 뉴럴 네트워크가 널리 이용되고 있다.
일 실시예에 따른 음성 인식 방법은, 음성 입력에 기초하여 후보 텍스트들에 대한 제1 스코어를 결정하는 단계; 상기 음성 입력에 기초하여 언어 모델의 출력에 적용될 가중치를 결정하는 단계; 상기 언어 모델로부터 출력된 상기 후보 텍스트들에 대한 제2 스코어에 상기 결정된 가중치를 적용하는 단계; 상기 제1 스코어와 상기 가중치가 적용된 제2 스코어에 기초하여, 상기 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하는 단계; 및 상기 선택된 타겟 후보 텍스트를 상기 음성 입력의 적어도 일부에 대응하는 타겟 텍스트로 결정하는 단계를 포함할 수 있다.
상기 가중치를 결정하는 단계는, 상기 음성 입력과 이전 시점에서 결정된 타겟 텍스트에 기초하여 현재 시점에서 상기 언어 모델의 출력에 적용될 가중치를 결정하는 단계를 포함할 수 있다.
상기 이전 시점에서 결정된 타겟 텍스트는, 음성 인식의 시작 시점부터 상기 현재 시점의 바로 이전 시점까지 결정된 하나 이상의 타겟 텍스트 중 적어도 하나를 포함할 수 있다.
상기 가중치를 결정하는 단계는, 상기 음성 입력 및 컨텍스트 정보에 기초하여 상기 가중치를 결정하는 단계를 포함할 수 있다.
상기 가중치를 결정하는 단계는, 상기 음성 입력, 이전 시점에서 결정된 타겟 텍스트 및 컨텍스트 정보에 기초하여 현재 시점에서 상기 언어 모델의 출력에 적용될 가중치를 결정하는 단계를 포함할 수 있다.
상기 가중치를 결정하는 단계는, 상기 음성 입력으로부터 특징 값을 추출하는 단계; 및 상기 추출된 특징 값을 입력으로 하고, 상기 특징 값에 대응하는 가중치를 출력하는 뉴럴 네트워크 기반의 가중치 결정기를 이용하여 상기 가중치를 결정하는 단계를 포함할 수 있다.
상기 언어 모델들은, 제1 언어 모델 및 제2 언어 모델을 포함하고, 상기 제1 언어 모델은, 상기 후보 텍스트들에 대한 제2 스코어를 출력하고, 상기 제2 언어 모델은, 상기 후보 텍스트들에 대한 제3 스코어를 출력하고, 상기 가중치를 결정하는 단계는, 상기 제2 스코어에 적용될 제1 가중치와 상기 제3 스코어에 적용될 제2 가중치를 결정하고, 상기 타겟 후보 텍스트를 선택하는 단계는, 상기 제1 스코어, 상기 제1 가중치가 적용된 제2 스코어 및 상기 제2 가중치가 적용된 제3 스코어에 기초하여, 상기 후보 텍스트들 중에서 상기 타겟 후보 텍스트를 선택하는 단계를 포함할 수 있다.
상기 가중치를 결정하는 단계는, 상기 복수의 언어 모델들 중 상기 가중치가 적용될 하나 이상의 언어 모델을 선택하는 단계; 및 상기 선택된 하나 이상의 언어 모델의 출력에 적용될 가중치를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 음성 인식 장치는, 사용자로부터 음성 입력을 수신하는 음성 인터페이스; 및 상기 음성 입력에 기초하여 음성 인식을 수행하는 프로세서를 포함하고, 상기 프로세서는, 상기 음성 입력에 기초하여 후보 텍스트들에 대한 제1 스코어를 결정하고, 상기 음성 입력에 기초하여 언어 모델의 출력에 적용될 가중치를 결정하고, 상기 언어 모델로부터 출력된 상기 후보 텍스트들에 대한 제2 스코어에 상기 결정된 가중치를 적용하고, 상기 제1 스코어와 상기 가중치가 적용된 제2 스코어에 기초하여, 상기 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하고, 상기 선택된 타겟 후보 텍스트를 상기 음성 입력의 적어도 일부에 대응하는 타겟 텍스트로 결정할 수 있다.
도 1은 일 실시예에 따른 음성 인식 시스템의 개요(overview)를 제공하는 도면이다.
도 2는 일 실시예에 따른 음성 인식 방법의 동작을 설명하기 위한 흐름도이다.
도 3 및 도 4는 일 실시예에 따른 음성 인식 과정을 설명하기 위한 도면들이다.
도 3, 도 4 및 도 5는 일 실시예에 따른 음성 인식 과정을 설명하기 위한 도면들이다.
도 6 및 도 7은 다른 실시예에 따른 음성 인식 과정을 설명하기 위한 도면들이다.
도 8 및 도 9는 또 다른 실시예에 따른 음성 인식 과정을 설명하기 위한 도면들이다.
도 10은 또 다른 실시예에 따른 음성 인식 과정을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 음성 인식 장치의 구성을 도시하는 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 또한, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 달리 명시되지 않는 한 일반적으로 "하나 이상의"를 의미하는 것으로 해석되어야 한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 음성 인식 시스템의 개요(overview)를 제공하는 도면이다.
도 1을 참조하면, 음성 인식 시스템(100)은 서버를 포함하는 하나 이상의 컴퓨터 또는 사용자 단말에서 실행될 수 있다. 일 실시예에서, 사용자는 음성 입력(120)(speech input)을 통해 특정한 커맨드(command)를 음성 인식 시스템(100)에 지시할 수 있고, 음성 인식 시스템(100)은 사용자의 음성 입력(120)을 분석하여 음성 입력(120)에 대응하는 텍스트(140), 예를 들어 "Call to Jane"을 추정할 수 있다. 음성 인식 시스템(100)은 추정된 텍스트(140)로부터 텍스트(140)에 내포된 사용자의 커맨드를 추출하고, 추출된 커맨드를 실행하여 실행 결과를 사용자에게 제공할 수 있다. 음성 입력(120)은 단어 시퀀스(a sequence of words)를 포함할 수 있고, 각각의 단어 시퀀스는 단어(word), 구(phrase) 또는 문장(sentence)을 포함할 수 있다. 음성 인식 시스템(100)은 위와 같이 사용자의 음성 입력(120)에 포함된 커맨드를 인식하는 것 이외에, 기계 번역 및 사람-기계 간 대화 등의 다양한 응용에서 활용될 수 있다.
음성 인식 시스템(100)은 사용자로부터 음성 입력(120)을 수신하고, 음성 입력(120)을 텍스트(140)로 변환하도록 프로그램된 음성 인식 장치(110)를 포함한다. 음성 인식 장치(110)는 음성 입력을 인식하여, 음성 입력에 대응하는 텍스트 데이터를 생성할 수 있다. 음성 인식 장치(110)는 음성 입력에 포함된 단어들을 텍스트로 변환하도록 구성된 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 일 실시예에 따르면, 음성 인식 장치(110)는 모바일 폰, 셀룰러 폰, 스마트 폰, 퍼스널 컴퓨터, 랩탑, 노트북, 넷북 또는 태블릿, 휴대 정보 단말기(personal digital assistant; PDA), 디지털 카메라, 게임 콘솔, MP3 플레이어, 퍼스널 멀티미디어 플레이어(personal multimedia player; PMP), 전자 북(E-Book), 네비게이션, 디스크 플레이어, 셋톱박스, 가정용 전자기기(home appliance), 통신 장치, 디스플레이 장치, 또는 다른 전자기기에 내장되거나 또는 이것들과 상호 동작할 수 있다. 또한, 음성 인식 장치(110)는 스마트 가전 기기, 지능형 차량, 자율 주행 장치, 스마트 홈 환경, 스마트 빌딩 환경, 스마트 오피스 환경, 스마트 전자 보안 시스템 등에 내장되거나 또는 이것들과 상호 동작할 수 있다. 또한, 음성 인식 장치(110)는 사용자의 신체에 착용되는 웨어러블 기기(wearable device)에 포함되어 동작하거나 이것과 상호 독작할 수 있다. 웨어러블 기기는 예를 들어, 반지, 시계, 안경, 팔찌, 벨트, 밴드, 목걸이, 귀걸이, 헬멧 또는 옷의 형태를 가질 수 있다.
음성 인식 장치(110)는 음성 인식 결과의 정확도를 개선시키기 위해 언어 모델 데이터베이스(130)에 저장된 언어 모델을 이용한다. 언어 모델은 자연어 처리 엔진을 구성하는 컴포넌트로서, 음성 입력의 인식 결과가 자연스러운 자연어 표현이 되도록 하는데 있어 중요한 역할을 한다. 언어 모델은 각각의 부분 단어(subword), 단어(word), 구(phrase) 및/또는 문장과 관련된 확률 값들(probability values)을 제공하고, 음성 인식 장치(110)는 이러한 언어 모델이 제공하는 텍스트 표현들과 해당 텍스트 표현들의 확률 값들에 기초하여 음성 인식 결과를 결정한다. 음성 인식을 위해 하나 또는 여러 개의 언어 모델들이 이용될 수 있다. 음성 인식에 이용되는 언어 모델로서, 예를 들어 음성 입력의 도메인(domain)에 독립적인 일반 언어 모델, 각 도메인별로 주로 사용되는 스피치 표현들이 포함된 코퍼스(corpus)로 학습된(trained) 언어 모델 및 사용자 정보나 스마트폰과 같은 사용자 단말에 저장된 정보(예, 연락처)에 기반한 개인화된 언어 모델(personalized language model; PLM)이 있을 수 있다.
음성 인식이 실행되는 상황이나 도메인에 따라 사용자의 발화(speech) 유형과 음성 입력에 포함되는 단어나 스피치 패턴이 다를 수 있다. 예를 들어, TV에서 이용되는 음성 인식의 경우, 음성 입력은 주로 '프로그램 검색', '채널 선택' 또는 '볼륨 조절' 과 같은 TV의 기능과 관련된 발화가 많을 것이다. 스마트폰에서 이용되는 음성 인식의 경우, 음성 입력은 주로 스마트폰의 기능과 관련된 발화가 많을 것이다. 또한, 사용자가 음성 인식을 통해 스마트폰에서 SMS(short message service)를 이용하려고 하는지, 지도에서 특정한 식당의 위치를 검색하려고 하는지, 또는 친구에게 전화하려고 하는지 여부에 따라 음성 입력에 포함되는 단어나 스피치 패턴이 달라질 수 있다. 따라서, 음성 인식에서는 음성 인식이 실행되는 도메인이나 상황에 따라 언어 모델을 적절히 사용할 때 음성 인식의 성능이 보장될 수 있다.
스마트폰 또는 여러 가전 기기를 통합적으로 관리하는 스마트홈에서와 같이 사용자의 발화에 대한 다양한 도메인을 고려하여 음성 인식을 수행해야 하는 경우, 발화 유형에 따라 언어 모델의 영향을 조절하는 것이 필요하다. 예를 들어, 사용자가 음성 인식을 통해 스마트폰 상에서 특정한 친구에게 전화하려고 하는 경우, 사용자의 음성 입력에서 해당 친구의 이름을 잘 구별해 내기 위해 개인화된 언어 모델의 영향을 높게 설정하는 것이 바람직하다. 다른 예로, 사용자가 음성 인식을 통해 스마트폰에서 특정한 어플리케이션을 실행하고자 하는 경우, 음성 인식 결과를 결정하는데 있어서 스마트폰과 관련된 언어 모델의 영향을 높게 설정하는 것이 바람직하다.
본 명세서에서 설명되는 실시예들은 음성 인식이 실행되는 상황이나 도메인에 따라 하나 이상의 언어 모델의 출력에 적용될 가중치를 동적(dynamic)으로 결정하는 것에 의해, 보다 정확한 음성 인식 결과가 도출되도록 하는 기술적 수단을 제공한다. 예를 들어, 음성 인식 장치(110)는 음성 입력에 기초하여 음성 입력의 도메인을 분류(classification)하고, 분류된 도메인에 따라 언어 모델의 출력에 적용될 결합 가중치를 조절함으로써, 음성 입력의 도메인이나 상황에 따라 음성 인식 결과에 미치는 언어 모델의 영향을 효과적으로 조절할 수 있다.
도 2는 일 실시예에 따른 음성 인식 방법의 동작을 설명하기 위한 흐름도이다. 음성 인식 방법은 본 명세서에서 설명되는 음성 인식 장치에 의해 수행될 수 있다.
도 2를 참조하면, 단계(210)에서 음성 인식 장치는 음성 입력을 수신한다. 사용자는 음성 명령을 위해 마이크로폰과 같은 음성 인터페이스를 통해 음성을 입력할 수 있고, 입력된 음성의 음성 신호는 음성 인식 장치에 전달될 수 있다.
단계(220)에서, 음성 인식 장치는 음성 입력에 기초하여 후보 텍스트들에 대한 제1 스코어를 결정한다. 예를 들어, 음성 인식 장치는 현재 분석 대상이 되는 음성 입력 부분이 후보 텍스트 'call'에 해당할 제1 스코어 및 후보 텍스트 'send'에 해당할 제1 스코어를 결정할 수 있다. 음성 인식 장치는 'call' 및 'send' 이외의 다른 후보 텍스트들 각각에 대응되는 제1 스코어를 결정할 수 있다. 후보 텍스트들은 다양한 부분 단어, 단어, 구(phrase) 및/또는 문장을 포함하고, 제1 스코어는 각 후보 텍스트들에 대응하는 확률 값 또는 기대 값을 나타낼 수 있다. 예를 들어, 후보 텍스트 'call'에 대한 제1 스코어가 0.75라고 가정하면, 이는 현재 인식 대상이 되는 음성 입력 부분이 텍스트 'call'에 해당할 확률이 0.75(상대적인 값)가 된다는 것을 의미할 수 있다.
일 실시예에서, 음성 인식 장치는 뉴럴 네트워크 기반의 인코더-디코더 언어 인식 모델을 이용하여 후보 텍스트들에 대한 제1 스코어를 결정할 수 있다. 음성 인식 장치는 인코더를 이용하여 음성 입력으로부터 특징 값(예, 특징 벡터)을 추출하고, 디코더를 이용하여 해당 추출된 특징 값으로부터 후보 텍스트들 각각에 대한 제1 스코어를 결정할 수 있다. 인코더는 음성 입력을 추상화된 특징 벡터로 변환할 수 있고, 디코더는 해당 특징 벡터에 기초하여 후보 텍스트들에 대한 확률 값 또는 기대 값을 결정할 수 있다.
이하에서는 설명의 편의를 위해 인코더-디코더 기반의 음성 인식 모델을 중심으로 실시예들을 설명하나, 실시예의 범위가 인코더-디코더 기반의 음성 인식 모델을 이용하는 실시예로 한정되는 것은 아니다. 예를 들어, 음성 인식 장치는 음향 모델(acoustic model)과 기본 언어 모델을 포함하는 언어 인식 모델을 이용하여 후보 텍스트들에 대한 제1 스코어를 결정할 수도 있다. 음향 모델은 음성 입력으로부터 추출된 특징에 기초하여 음성 입력을 음소(phoneme) 단위로 인식한 결과를 출력하고, 기본 언어 모델은 음소 단위의 인식 결과에 기초하여 단어들 사이의 연결 관계에 기초한 확률 정보를 제1 스코어로서 제공할 수 있다.
단계(230)에서, 음성 인식 장치는 음성 입력에 기초하여 언어 모델의 출력에 적용될 가중치를 결정한다. 음성 인식 장치는 음성 입력으로부터 특징 값을 추출하고, 추출된 특징 값에 기초하여 가중치를 결정할 수 있다. 가중치에 의해 언어 모델의 출력이 언어 인식 결과에 미치는 정도가 조절될 수 있다. 예를 들어, 언어 모델 L의 출력에 적용되는 가중치가 클수록 언어 모델 L의 비중(importance) 또는 의존도(dependency)가 커질 수 있다.
실시예에 따라, 음성 인식에 복수 개의 언어 모델들이 이용될 수 있고, 이 경우 음성 인식 장치는 언어 모델들 각각의 출력에 적용될 가중치들을 결정할 수 있다. 일 실시예에서, 언어 모델이 후보 텍스트들에 대한 제2 스코어를 출력하는 제1 언어 모델 및 후보 텍스트들에 대한 제3 스코어를 출력하는 제2 언어 모델을 포함하는 경우, 음성 인식 장치는 제2 스코어에 적용될 제1 가중치와 제3 스코어에 적용될 제2 가중치를 결정할 수 있다. 다른 실시예에서, 음성 인식 장치는 복수의 언어 모델들 중 가중치가 적용될 하나 이상의 언어 모델을 선택하고, 선택된 하나 이상의 언어 모델의 출력에 적용될 가중치를 결정할 수도 있다. 이를 통해, 복수의 음성 모델들 중 음성 인식에 필요한 언어 모델만 선택적으로 이용되어 효율성이 개선될 수 있다.
일 실시예에서, 음성 인식 장치는 뉴럴 네트워크 기반의 인코더-디코더 언어 인식 모델에서 인코더로부터 출력된 특징 값을 입력으로 하고, 해당 특징 값에 대응하는 가중치를 출력하는 뉴럴 네트워크 기반의 가중치 결정기를 이용하여 가중치를 결정할 수 있다. 가중치 결정기는 인코더의 출력, 이전 시점에서의 디코더의 출력(즉, 이전 시점(time)에서의 인식 결과) 및 컨텍스트(context) 정보 중 하나 이상을 입력 받고, 하나 이상의 언어 모델들 각각의 출력에 적용될 가중치를 제공할 수 있다. 일 예에서, 가중치 결정기는 각 언어 모델에 적용될 확률을 나타내는 벡터 값을 가중치로서 출력할 수 있고, 출력된 벡터 값은 각 언어 모델의 반영 비율을 결정하기 위한 결합 가중치로서 이용될 수 있다.
일 실시예에서, 음성 인식 장치는 음성 입력과 이전 시점에서 결정된 타겟 텍스트에 기초하여 현재 시점에서 언어 모델의 출력에 적용될 가중치를 결정할 수 있다. 이 경우, 가중치 결정기에는 인코더의 출력과 이전 시점에서 결정된 타겟 텍스트에 대한 정보가 입력된다. 이전 시점에서 결정된 타겟 텍스트는 음성 인식의 시작 시점부터 현재 시점의 바로 이전 시점까지 결정된 하나 이상의 타겟 텍스트 중 적어도 하나를 포함할 수 있다. 타겟 텍스트는 음성 입력의 적어도 일 부분에 대응되는 것으로 최종 결정된 텍스트를 의미한다.
다른 실시예에서, 음성 인식 장치는 음성 입력 및 컨텍스트 정보에 기초하여 언어 모델의 출력에 적용될 가중치를 결정할 수도 있다. 이 경우, 가중치 결정기에는 인코더의 출력과 별도의 컨텍스트 정보가 입력된다. 컨텍스트 정보는 사용자의 음성 입력과 관련된 모든 정보가 해당될 수 있다. 예를 들어, 컨텍스트 정보는 음성 입력을 입력하는 사용자에 대한 사용자 정보(예, 성별, 나이, 국적, 주소, 직장, 직업 등), 시간 정보, 위치 정보, 언어 정보, 음성 인식 히스토리 정보 및 현재 동작 중인 응용 프로그램 정보 중 하나 이상을 포함할 수 있다.
또 다른 실시예에서, 음성 인식 장치는 음성 입력, 이전 시점에서 결정된 타겟 텍스트 및 컨텍스트 정보에 기초하여 현재 시점에서 언어 모델의 출력에 적용될 가중치를 결정할 수도 있다. 이 경우, 가중치 결정기에는 인코더의 출력, 이전 시점에서 결정된 타겟 텍스트에 대한 정보와 별도의 컨텍스트 정보가 입력된다.
위와 같은 가중치 결정기는 사용자의 음성 입력에 대응하는 레이블(label)을 출력 값으로 가지는 학습 데이터(training data)를 이용하여 사전에 학습(training)될 수 있다. 학습 과정에서, 가중치 결정기는 인코더의 출력, 또는 인코더의 출력 및 디코더의 출력을 모두를 입력 받아 입력에 대응하는 레이블을 예측하도록 학습될 수 있다. 이와 다르게, 예측할 레이블이 없는 경우, 음성 인식 모델의 성능 점수(예, WER(word error rate), BLEU(bilingual evaluation understudy) 등)가 향상되도록 가중치 결정기가 학습될 수 있다.
단계(240)에서, 음성 인식 장치는 언어 모델로부터 출력된 후보 텍스트들에 대한 제2 스코어에 단계(230)에서 결정된 가중치를 적용한다. 후보 텍스트들은 부분 단어, 단어, 구(phrase) 및 문장 중 어느 하나일 수 있고, 제2 스코어는 제1 스코어와 유사하게 각 후보 텍스트들에 대응하는 확률 값 또는 기대 값을 나타낼 수 있다. 언어 모델이 복수 개인 경우, 각 언어 모델들이 제공하는 후보 텍스트들은 서로 간에 동일할 수 있다. 실시예에 따라, 언어 모델들이 제공하는 후보 텍스트들 간에는 일부 차이가 존재할 수도 있다. 각 언어 모델들은 이전 시점에서 결정된 타겟 텍스트에 기초하여 이전 시점에서 결정된 타겟 텍스트에 이어질 다음 타겟 텍스트를 결정하기 위한 각 후보 텍스트들의 스코어(제2 스코어, 제3 스코어, ?)를 출력할 수 있다. 이후에, 음성 인식 장치는 각 언어 모델로부터 출력된 후보 텍스트들에 대한 스코어에 각 언어 모델에 대응하는 가중치를 적용한다. 예를 들어, 단계(230)에서 결정된 가중치가 언어 모델로부터 출력된 각 후보 텍스트들의 스코어에 곱해질 수 있다.
단계(250)에서, 음성 인식 장치는 단계(220)에서 결정된 제1 스코어와 단계(240)에서 가중치가 적용된 제2 스코어에 기초하여, 후보 텍스트들 중에서 타겟 후보 텍스트를 선택한다. 예를 들어, 음성 인식 장치는 후보 텍스트들 중에서 제1 스코어와 가중치가 적용된 제2 스코어 간의 합이 가장 큰 후보 텍스트를 타겟 후보 텍스트로 선택할 수 있다. 이와 같이, 음성 인식 장치는 각 스코어를 통합한 결과에 기초하여 하나의 타겟 후보 텍스트를 선택할 수 있다.
일 실시예에서, 언어 모델이 후보 텍스트들에 대한 제2 스코어를 출력하는 제1 언어 모델 및 해당 후보 텍스트들에 대한 제3 스코어를 출력하는 제2 언어 모델을 포함할 수 있다. 제1 언어 모델 및 제2 언어 모델은 동일한 후보 텍스트 세트에 대해 개별적으로 스코어를 결정할 수 있다. 제2 스코어 및 제3 스코어 각각에 대응하는 제1 가중치 및 제2 가중치가 결정된 경우, 음성 인식 장치는 단계(220)에서 결정된 제1 스코어, 제1 가중치가 적용된 제2 스코어 및 제2 가중치가 적용된 제3 스코어에 기초하여, 후보 텍스트들 중에서 타겟 후보 텍스트를 선택할 수 있다.
단계(260)에서, 음성 인식 장치는 단계(250)에서 선택된 타겟 후보 텍스트를 음성 입력의 적어도 일부에 대응하는 타겟 텍스트로 결정한다. 일 실시예에서, 음성 인식 장치는 단계(220) 내지 단계(260)의 과정을 반복적으로 수행하여 음성 입력의 적어도 일 부분에 대응하는 타겟 텍스트들을 순차적으로 결정하고, 결정된 타겟 텍스트들을 서로 결합시키는 것에 의해 음성 입력 전체에 대응하는 텍스트를 결정할 수 있다.
위와 같이, 음성 인식 장치는 음성 입력에 기초하여 언어 모델의 출력에 적용될 가중치를 동적으로 조절함으로써, 상황에 따라 변할 수 있는 사용자의 발화 유형에 따라 적절한 언어 모델을 선택하거나 각 언어 모델들의 영향을 적절히 조절하여 음성 인식 결과의 정확도를 개선시킬 수 있다. 이에 따라, 음성 인식 장치는 스마트폰 및 스마트홈과 같이 다양한 응용들이 실행될 수 있는 도메인에서 자연어 처리(natural language processing)를 수행해야 하는 경우에 효과적으로 활용될 수 있다.
도 3은 인코더의 출력에 기초하여 가중치를 결정하는 실시예를 설명하기 위한 도면이다. 도 3을 참조하면, 언어 인식 모델로서 뉴럴 네트워크 기반의 인코더-디코더 언어 인식 모델이 이용될 수 있다. 인코더-디코더 언어 인식 모델은 여러 디코딩 단계들에 걸쳐 음성 입력(310)에 대응하는 전체 텍스트를 구성하는 단어들을 순차적으로 추정한다. 먼저, 인코더(320)에 음성 입력(310)이 입력될 수 있다. 인코더(320)로부터 추상화된 음성 입력(310)의 특징 값(예, 특징 벡터)이 출력되고, 해당 특징 값은 디코더(330)와 뉴럴 네트워크 기반의 가중치 결정기(340)에 입력될 수 있다.
디코더(330)는 인코더(320)로부터 수신한 특징 값과 이전 시점에서 결정된 이전 타겟 텍스트(350)에 기초하여 후보 텍스트들에 대한 제1 스코어들을 결정할 수 있다. 만약, 음성 인식의 처음 시작 단계라서 이전 타겟 텍스트(350)가 존재하지 않는다면, 디코더(330)는 이전 타겟 텍스트(350) 없이 인코더(320)로부터 수신한 특징 값만을 이용하여 후보 텍스트들에 대한 제1 스코어들을 결정할 수 있다.
인코더(320)와 디코더(330)는 오디오 신호와 오디오 신호에 대응하는 텍스트로 구성된 학습 데이터에 기초하여 사전에 학습될 수 있다. 이 경우, 학습 과정에서 다루지 못하는 발화 표현이 존재할 수 있고, 이러한 부족한 발화 표현을 보완하기 위해 음성 인식 과정에서 하나 이상의 언어 모델(362, 364, 366)이 이용될 수 있다. 음성 인식 장치는 다양한 도메인에서의 사용자 발화를 잘 인식하기 위해 복수의 언어 모델들(362, 364, 366)을 이용할 수 있다. 언어 모델(362, 364, 366)은, 예를 들어 뉴럴 네트워크, N-그램(gram) 또는 단어/문자열 리스트 등에 기초할 수 있고, 음성 입력(310)으로 제시될 수 있는 다양한 발화 표현들을 제공할 수 있다.
인코더-디코더 언어 인식 모델에서 디코더(330)가 언어 모델의 역할을 수행하지만, 음성 인식의 성능을 더 향상시키기 위해서는 외부 언어 모델로서 하나 이상의 언어 모델(362, 364, 366)이 이용될 수 있다. 일 실시예에서, 언어 모델(362, 364, 366)은 특정한 도메인에 특화된 언어 모델을 포함할 수 있다. 예를 들어, 언어 인식 모델이 TV에서의 음성 인식을 위해 이용된다면, 언어 모델(362, 364, 366)은 TV의 기능 수행과 관련된 후보 텍스트들을 제공하는 언어 모델을 포함할 수 있다.
언어 모델(362, 364, 366)이 제1 언어 모델(362), 제2 언어 모델(364) 및 제3 언어 모델(366)을 포함한다고 가정하면, 제1 언어 모델(362), 제2 언어 모델(364) 및 제3 언어 모델(366)은 각각 이전 타겟 텍스트(350)에 기초하여, 이전 타겟 텍스트(350)에 이어질 다음 타겟 텍스트를 결정하기 위한 후보 텍스트들과 해당 후보 텍스트들에 대응하는 제2, 제3 및 제4 스코어들을 제공할 수 있다. 예를 들어, 이전 타겟 텍스트(350)로서 "everybody"가 결정된 경우, 제1 언어 모델(362)은 "everybody" 다음에 연결될 가능성이 있는 "need to", "meta" 및 "neat" 등을 후보 텍스트들로서 제공하고, "everybody" 다음에 "need to", "meta" 및 "neat" 각각이 연결될 확률을 제2 스코어로서 제공할 수 있다. 이 경우. 제2 언어 모델(364)도 "everybody" 다음에 연결될 가능성이 있는 "need to", "meta" 및 "neat" 등의 후보 텍스트들에 대해 각 후보 텍스트들이 "everybody" 다음에 연결될 확률을 제3 스코어로서 제공할 수 있다. 제3 언어 모델(366)의 기능도 제1 언어 모델(362) 및 제2 언어 모델(364)의 기능과 유사하다. 일 실시예에 따르면, 온-더-플라이 리스코어링(on-the-fly rescoring) 방식에 따라, 디코더(330)의 디코딩 각 단계마다 언어 모델들(362, 364, 366)이 제공하는 제2, 제3 및 제4 스코어들이 반영될 수 있다.
가중치 결정기(340)는 인코더(320)의 출력(예, 특징 벡터)에 기초하여 언어 모델(362, 364, 366)의 출력에 적용될 가중치를 결정한다. 가중치 결정기(340)는 입력된 데이터에 기초하여 각 언어 모델(362, 364, 366)의 출력에 적용될 가중치를 출력하도록 학습된 뉴럴 네트워크일 수 있다. 가중치 결정기(340)는, 예를 들어 제1 언어 모델(362)로부터 출력된 제2 스코어에 적용될 제1 가중치, 제2 언어 모델(364)로부터 출력된 제3 스코어에 적용될 제2 가중치 및 제3 언어 모델(366)로부터 출력된 제4 스코어에 적용될 제3 가중치를 결정할 수 있다. 이러한 제1, 제2 및 제3 가중치들은 언어 모델(362, 364, 366)의 출력에 대한 결합 가중치의 역할을 한다. 일 실시예에서, 제1, 제2 및 제3 가중치들은 가중치 결정기(340)에 의해 값이 결정된 후, 각 디코딩 단계마다 동일한 값으로 유지될 수 있다.
다른 실시예에서, 가중치 결정기(340)는 인코더(320)의 출력에 기초하여 언어 모델(362, 364, 366) 중 가중치가 적용될 하나 이상의 언어 모델을 선택하고, 선택된 하나 이상의 언어 모델의 출력에 적용될 가중치를 결정할 수도 있다. 입력 음성(310)의 유형에 따라 음성 인식에 적절한 언어 모델이 선택되어 음성 인식 결과의 정확도가 개선될 수 있다. 실시예에 따라, 가중치 결정기(340)는 선택된 언어 모델에 대해서만 가중치를 결정하거나 또는 선택되지 않은 언어 모델에 적용될 가중치를 '0'으로 설정할 수 있다.
인코더(320)의 출력에 기초함으로써, 가중치 결정기(340)가 가중치를 결정하는데 있어 음성 입력(310)으로부터 도출된 정보가 고려되어 보다 정확한 음성 인식이 가능해 진다. 음성 인식 결과에 영향을 미치는 언어 모델(362, 364, 366) 간의 기여도가 가중치 결정기(340)에 의해 결정된 가중치에 따라 서로 달라질 수 있으므로, 음성 입력(310)의 각 유형에 최적화된 음성 인식이 가능해 진다. 음성 입력(310)의 유형과 관련된 언어 모델의 출력이 음성 인식 결과에 더 많이 반영되도록 언어 모델(362, 364, 366)에 적용될 가중치가 조절될 수 있다. 음성 입력(310)의 유형은 다양하게 정의될 수 있다. 예를 들어, 음성 인식이 구동되는 환경(예, TV, 냉장고, 스마트폰 등)이 될 수도 있고, 스마트폰에서의 음성 인식에서 주요 발화의 종류(예, 전화 통화, 문자 전송, 어플리케이션 실행, 검색 등)가 될 수도 있으며, 음성 입력(310)에 포함된 단어의 종류(예, 사람 이름, 식당/호텔 등과 같은 특정 카테고리의 단어 등)가 될 수도 있다.
음성 인식 장치는 가중치 결정기(340)에 의해 결정된 가중치를 언어 모델(362, 364, 366)의 출력에 적용(345)한다. 예를 들어, 음성 인식 장치는 제1 언어 모델(362)로부터 출력된 제2 스코어에 제1 가중치를 곱하고, 제2 언어 모델(364)로부터 출력된 제3 스코어에 제2 가중치를 곱하며, 제3 언어 모델(366)로부터 출력된 제4 스코어에 제3 가중치를 곱할 수 있다.
음성 인식 장치는 후보 텍스트들 중에서 하나의 타겟 후보 텍스트를 선택한다. 예를 들어, 음성 인식 장치는 제1 스코어, 제1 가중치가 곱해진 제2 스코어, 제2 가중치가 곱해진 제3 스코어 및 제3 가중치가 곱해진 제4 스코어를 합(sum, 355)하고, 전체 후보 텍스트들 중에서 그 합이 가장 큰 후보 텍스트를 타겟 후보 텍스트로 선택할 수 있다. 예를 들어, 음성 인식 장치는 다음의 수학식 1에 따라 각 후보 텍스트들에 대한 최종 스코어를 결정할 수 있다.
Figure pat00001
수학식 1에서, p(s)는 특정한 후보 텍스트 s에 대한 최종 스코어이고, De(s)는 디코더(330)로부터 출력된 후보 텍스트 s에 대한 제1 스코어를 나타낸다. LMa(s), LMb(s) 및 LMc(s)는 각각 후보 텍스트 s에 대한 제1 언어 모델(362), 제2 언어 모델(364) 및 제3 언어 모델(366)의 제2, 제3 및 제4 스코어를 나타낸다. wa, wb 및 wc는 가중치 결정기(340)에 의해 결정된 제1, 제2 및 제3 가중치를 나타낸다. 음성 입력(310)의 유형, 음성 입력(310)이 이루어지는 환경 및/또는 음성 인식이 수행되는 기기의 종류 등에 따라 wa, wb 및 wc의 값이 조절될 수 있다. 예를 들어, 음성 입력(310)의 유형과 관련도가 높은 언어 모델에 적용될 가중치가 관련도가 낮은 다른 언어 모델에 적용될 가중치보다 크게 설정될 수 있다. 음성 인식 장치는 각 후보 텍스트들에 대한 p(s) 중에서 가장 큰 p(s)를 나타내는 후보 텍스트를 타겟 후보 텍스트로 선택한다.
음성 인식 장치는 위와 같은 과정에 따라 선택된 타겟 후보 텍스트를 현재 디코딩 단계에서의 최종적인 현재 타겟 텍스트(370)로 결정한다. 각 디코딩 단계마다, 현재 타겟 텍스트(370)는 하나의 단어 또는 부분 단어씩 결정될 수 있다.
도 4는 인코더의 출력에 기초하여 가중치를 결정하는 일 실시예를 설명하기 위한 흐름도이다. 본 실시예에 대해서는 도 2 및 도 3에서 설명한 내용이 적용될 수 있으며, 중복되는 내용에 대한 설명은 생략한다.
도 4를 참조하면, 단계(410)에서 음성 인식 장치는 음성 입력을 수신한다. 단계(420)에서, 음성 인식 장치는 인코더(320)를 이용하여 음성 입력을 인코딩한다. 인코딩을 통해 음성 입력의 추상화된 특징 값이 추출될 수 있다. 단계(440)에서, 음성 인식 장치는 디코더(330)를 이용하여 인코딩된 음성 입력에 대해 디코딩을 수행하여 후보 텍스트들에 대한 제1 스코어를 계산한다.
단계(430)에서, 음성 인식 장치는 인코더(320)의 출력을 입력으로 하는 가중치 결정기(340)를 이용하여 언어 모델의 출력에 적용될 가중치를 결정한다. 여기서, 언어 모델은 하나 이상의 언어 모델을 포함할 수 있고, 가중치 결정기(340)는 각 언어 모델의 출력에 적용될 가중치를 결정할 수 있다. 단계(450)에서, 음성 인식 장치는 언어 모델로부터 각 후보 텍스트들에 대한 제2 스코어를 획득할 수 있다. 언어 모델은 이전 시점에서 결정된 이전 타겟 텍스트에 기초하여, 이전 타겟 텍스트 다음에 이어질 현재 타겟 텍스트를 결정하기 위한 후보 텍스트들 각각에 대응되는 제2 스코어를 제공할 수 있다.
단계(460)에서, 음성 인식 장치는 후보 텍스트들의 제2 스코어에 단계(430)에서 결정된 가중치를 적용한다. 단계(470)에서, 음성 인식 장치는 단계(440)에서 결정된 제1 스코어와 단계(460)에서 가중치가 적용된 제2 스코어에 기초하여, 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하고, 선택된 타겟 후보 텍스트를 현재 시점에서의 타겟 텍스트로 결정할 수 있다. 음성 인식 장치는, 예를 들어 동일한 후보 텍스트 각각에 대해, 제1 스코어와 가중치가 적용된 제2 스코어를 합산하고, 합산한 결과 스코어 값이 가장 큰 후보 텍스트를 타겟 후보 텍스트로 결정할 수 있다. 단계(480)에서, 음성 인식 장치는 단계(470)에서 결정된 타겟 텍스트를 출력한다. 단계(470)에서 결정된 타겟 텍스트는 다음 디코딩 단계에서 언어 모델과 디코더(330)의 입력이 되고, 다음 타겟 텍스트를 결정하기 위해 단계(440, 450, 460, 470, 480)의 과정이 반복하여 다시 수행될 수 있다.
도 5는 음성 인식 장치가 n-베스트 리스코어링(n-best rescoring) 기법을 이용하여 음성 인식을 수행하는 실시예를 도시한다. 인코더(520)는 음성 입력(510)으로부터 추상화된 특징 값을 추출한다. 디코더(530)는 인코더(520)로부터 출력된 특징 값에 기초하여 디코딩을 수행하고, 음성 입력(510)에 대응될 수 있는 후보 단어 시퀀스들(550)을 출력할 수 있다. 예를 들어, 디코더(530)는 디코딩이 완료되면, 제1 스코어(예, 확률)가 높은 순서대로 n 개의 후보 단어 시퀀스들(550)을 출력할 수 있다.
언어 모델(560)은 디코더(530)의 출력에 기초하여 후보 단어 시퀀스들(550)과 후보 단어 시퀀스들(550) 각각에 대응하는 제2 스코어를 제공할 수 있다. 언어 모델(560)은 하나 또는 복수 개의 언어 모델들을 포함할 수 있으며, 언어 모델(560)의 복수 개의 언어 모델들을 포함하는 경우 각 언어 모델들은 각 언어 모델마다 후보 단어 시퀀스들(550) 각각에 대응하는 스코어를 제공할 수 있다.
뉴럴 네트워크 기반의 가중치 결정기(540)는 인코더(520)의 출력에 기초하여 언어 모델(560)의 출력에 적용될 가중치를 결정한다. 언어 모델(560)이 복수 개인 경우, 가중치 결정기(540)는 각 언어 모델들의 출력에 적용될 가중치를 결정할 수 있다. 음성 인식 장치는 가중치 결정기(540)에 의해 결정된 가중치를 언어 모델(560)로부터 출력된 제2 스코어에 적용(545)한다. 예를 들어, 후보 단어 시퀀스들(550) 각각에 대응하는 제2 스코어에 가중치가 곱해질 수 있다.
타겟 텍스트 결정기(570)는 디코더(530)로부터 출력된 후보 단어 시퀀스들(550)의 제1 스코어와 후보 단어 시퀀스들(550)의 가중치가 적용된 제2 스코어에 기초하여, 후보 단어 시퀀스들(550) 중에서 타겟 단어 시퀀스를 선택할 수 있다. 예를 들어, 타겟 텍스트 결정기(570)는 후보 단어 시퀀스들(550) 중에서 최종 스코어가 가장 큰 후보 단어 시퀀스를 타겟 단어 시퀀스로 선택할 수 있다. 이후에, 타겟 텍스트 결정기(570)는 선택된 타겟 단어 시퀀스를 타겟 텍스트(580)로서 출력할 수 있다.
도 6은 인코더의 출력 및 이전 타겟 텍스트에 기초하여 가중치를 결정하는 실시예를 설명하기 위한 도면이다. 본 실시예에 대해서는 도 3에서 설명한 내용이 적용될 수 있으며, 중복되는 내용에 대한 설명은 생략한다.
하나의 음성 입력(610)을 인식하는 과정에서도 각 언어 모델에 대한 가중치가 음성 입력(610)을 구성하는 텍스트에 따라 다르게 적용되어야 할 경우가 있다. 예를 들어, 음성 인식을 위한 음성 입력(610)으로서 "Call to Chaewon"에 대응하는 음성 신호가 스마트폰에 입력되었다고 가정한다. 여기서, 음성 입력(610)의 앞 부분 "Call to"는 스마트폰의 음성 인식에서 주로 입력될 만한 발화 표현으로서, 스마트폰의 도메인과 관련된 언어 모델이나 일반 언어 모델을 이용하여 용이하게 인식할 수 있다. 다만, 뒷 부분의 "Chaewon"은 메시지 송신자의 이름으로서, 유사한 발음의 이름들(예, Jaewon, Chawon, Chaeon 등)과의 구별을 위해 스마트폰에 저장된 연락처의 도메인과 관련된 언어 모델의 비중을 높여 주는 것이 정확한 음성 인식을 위해 필요할 수 있다.
도 6을 참조하면, 디코더(630)는 인코더(620)로부터 출력된 특징 값과 이전 시점에서 결정된 이전 타겟 텍스트에 기초하여 후보 텍스트들에 대한 제1 스코어들을 결정할 수 있다. 가중치 결정기(640)는 각 디코딩 단계마다 사용자의 발화인 음성 입력(610)과 함께 이전 디코딩 단계에서의 음성 인식 결과를 고려하여 언어 모델(650)의 출력에 적용될 가중치를 결정할 수 있다. 예를 들어, 가중치 결정기(640)는 이전 타겟 텍스트와 인코더(620)의 출력에 기초하여 언어 모델(650)로부터 출력되는 제2 스코어에 적용될 제1 가중치를 결정할 수 있다. 가중치 결정기(640)에는 현재 시점까지 결정된 하나 이상의 타겟 텍스트 중 적어도 하나가 입력될 수 있다.
일 실시예에서, 가중치 결정기(640)는 각 디코딩 단계마다 언어 모델(650)의 출력에 적용될 가중치를 결정할 수 있다. 가중치 결정기(640)는 각 디코딩 계마다 인코더(620)의 출력과 이전에 출력된 이전 타겟 텍스트를 입력 받아 현재 시점에서의 가중치를 결정한다. 이 경우, 위 수학식 1에서 wa, wb 및 wc는 각 디코딩 단계마다 달라질 수 있다. 예를 들어, 이전 시점에서 결정된 wa와 현재 시점에서 결정된 wa는 서로 다를 수 있다. 위 가정한 음성 신호에서, "Call to"가 출력되는 시점까지는 가중치 결정기(640)가 스마트폰의 도메인과 관련된 언어 모델의 출력에 적용될 가중치를 높게 설정할 것이다. 그 다음 시점에서, 가중치 결정기(610)는 이전 타겟 텍스트(예, "Call to")에 기초하여 가중치를 결정하기 때문에, "Call to" 이후에 스마트폰의 연락처 상의 "사람 이름"이 등장할 확률이 높다고 판단하고 연락처의 도메인과 관련된 언어 모델의 출력에 적용될 가중치를 높게 설정할 수 있다.
음성 인식 장치는 각 디코딩 단계마다 결정된 가중치를 언어 모델(650)의 출력에 적용(645)하고, 적용 결과에 기초하여 후보 텍스트들 중에서 현재 타겟 텍스트(660)을 선택할 수 있다. 디코딩 단계마다 제2 스코어에 적용되는 가중치는 달라질 수 있다. 음성 인식 장치는, 예를 들어 각각의 후보 텍스트에 대응하는 제2 스코어에 가중치 결정기(640)에 의해 결정된 가중치를 곱할 수 있다. 음성 인식 장치는 제1 스코어와 가중치가 적용된 제2 스코어를 동일한 후보 텍스트 각각에 대해 합산(655)하고, 합산 결과에 기초하여 후보 텍스트들 중에서 현재 시점에서의 타겟 텍스트(660)인 "Chaewon"을 결정할 수 있다. 예를 들어, 음성 인식 장치는 후보 텍스트들 중에서 합산 결과가 가장 큰 후보 텍스트를 타겟 텍스트(660)로 결정할 수 있다.
도 7은 인코더의 출력 및 이전 타겟 텍스트에 기초하여 가중치를 결정하는 실시예를 설명하기 위한 흐름도이다. 본 실시예에 대해서는 도 2 및 도 6에서 설명한 내용이 적용될 수 있으며, 중복되는 내용에 대한 설명은 생략한다.
도 7을 참조하면, 단계(710)에서 음성 인식 장치는 인코더(320)의 출력과 이전에 결정된 타겟 텍스트에 기초하여 언어 모델의 출력에 적용될 가중치를 결정한다. 음성 인식 장치는 각 디코딩 단계마다 이전 시점에서 결정된 타겟 텍스트들 중 적어도 하나에 기초하여 가중치를 결정할 수 있다. 단계(460)에서, 음성 인식 장치는 단계(710)에서 결정된 가중치를 언어 모델로부터 획득한 제2 스코어에 적용한다. 단계(470)에서, 음성 인식 장치는 단계(440)에서 결정된 제1 스코어와 단계(460)에서 가중치가 적용된 제2 스코어에 기초하여, 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하고, 선택된 타겟 후보 텍스트를 현재 시점에서의 타겟 텍스트로 결정할 수 있다. 이렇게 결정된 타겟 텍스트는 단계(710)에 따라 다음 시점에서의 가중치를 결정하는데 이용될 수 있다. 단계(480)에서, 음성 인식 장치가 현재 시점에서 결정된 타겟 텍스트를 출력하고, 단계(440, 450, 460, 470, 480) 및 단계(710)의 과정이 반복하여 다시 수행될 수 있다.
도 8은 인코더의 출력 및 컨텍스트 정보에 기초하여 가중치를 결정하는 실시예를 설명하기 위한 도면이다. 본 실시예에 대해서는 도 3에서 설명한 내용이 적용될 수 있으며, 중복되는 내용에 대한 설명은 생략한다.
도 8을 참조하면, 가중치 결정기(820)는 사용자의 발화인 음성 입력(310)과 함께 컨텍스트 정보(810)를 고려하여 언어 모델(362, 364, 366)의 출력에 적용될 가중치를 결정할 수 있다. 예를 들어, 가중치 결정기(820)는 인코더(320)의 출력과 컨텍스트 정보(810)에 기초하여 각 언어 모델(362, 364, 366)로부터 출력되는 제2, 제3 및 제4 스코어에 각각 적용될 제1, 제2 및 제3 가중치를 결정할 수 있다. 컨텍스트 정보(810)는 음성 입력(310)의 입력 상황이나 사용자와 관련된 정보를 포함할 수 있다. 예를 들어, 컨텍스트 정보(810)는 성별, 나이, 국적 및 직업 프로파일 등과 같은 사용자 정보, 현재 위치, 현재 시간, 현재 동작중인 프로그램, 음성 인식 히스토리 및 대화 히스토리 등을 포함할 수 있다. 이와 같이, 가중치를 결정하는데 있어 컨텍스트 정보(810)을 고려함으로써, 음성 입력(310)의 입력 상황이나 사용자 개개인의 특성에 더 적합한 방향으로 음성 인식이 수행될 수 있다. 음성 인식 장치는 각 디코딩 단계마다 결정된 가중치를 언어 모델(362, 364, 366)의 출력에 적용(345)하고, 적용 결과에 기초하여 후보 텍스트들 중에서 현재 타겟 텍스트(370)을 선택할 수 있다.
도 9는 인코더의 출력 및 컨텍스트 정보에 기초하여 가중치를 결정하는 실시예를 설명하기 위한 흐름도이다. 본 실시예에 대해서는 도 2 및 도 8에서 설명한 내용이 적용될 수 있으며, 중복되는 내용에 대한 설명은 생략한다.
도 9를 참조하면, 단계(910)에서 음성 인식 장치는 컨텍스트 정보를 판독(read)한다. 단계(920)에서 음성 인식 장치는 인코더(320)의 출력과 컨텍스트 정보에 기초하여 언어 모델의 출력에 적용될 가중치를 결정한다. 단계(460)에서, 음성 인식 장치는 단계(920)에서 결정된 가중치를 언어 모델로부터 획득한 제2 스코어에 적용한다. 단계(470)에서, 음성 인식 장치는 단계(440)에서 결정된 제1 스코어와 단계(460)에서 가중치가 적용된 제2 스코어에 기초하여, 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하고, 선택된 타겟 후보 텍스트를 현재 시점에서의 타겟 텍스트로 결정할 수 있다. 단계(480)에서, 음성 인식 장치는 현재 시점에서 결정된 타겟 텍스트를 출력하고, 단계(440, 450, 460, 470, 480) 및 단계(710)의 과정이 반복하여 다시 수행될 수 있다.
도 10은 인코더의 출력, 이전 타겟 텍스트에 및 컨텍스트 정보 중 하나 이상에 기초하여 가중치를 결정하는 실시예를 설명하기 위한 도면이다.
도 10을 참조하면, 인코더(1020)는 음성 입력(1010)으로부터 특징 값을 추출할 수 있다. 디코더(1030)는 인코더(1020)로부터 출력된 특징 값과 이전 시점에서 결정된 이전 타겟 텍스트에 기초하여 후보 텍스트들에 대한 제1 스코어들을 결정할 수 있다. 언어 모델(1050)은 이전 타겟 텍스트에 기초하여 이전 타겟 텍스트에 이어질 수 있는 후보 텍스트들과 각 후보 텍스트들에 대응하는 제2 스코어를 출력할 수 있다. 가중치 결정기(1040)는 인코더(1020)의 출력, 이전 타겟 텍스트 및 컨텍스트 정보(1060) 중 하나 이상에 기초하여 언어 모델(1050)의 출력에 적용될 가중치를 결정할 수 있다. 음성 인식 장치는 가중치 결정기(1040)에 의해 결정된 가중치를 언어 모델(1050)로부터 출력된 제2 스코어에 적용(1045)할 수 있다. 예를 들어, 음성 인식 장치는 각각의 후보 텍스트에 대응하는 제2 스코어에 가중치 결정기(1040)에 의해 결정된 가중치를 곱할 수 있다. 음성 인식 장치는 제1 스코어와 가중치가 적용된 제2 스코어를 동일한 후보 텍스트 각각에 대해 합산(1055)하고, 후보 텍스트들 중에서 합산 결과가 가장 큰 후보 텍스트를 타겟 텍스트(1070)로 결정할 수 있다.
도 11은 일 실시예에 따른 음성 인식 장치의 구성을 도시하는 도면이다.
도 11을 참조하면, 음성 인식 장치(1100)는 프로세서(1110), 메모리(1120) 및 입출력 인터페이스(1130)를 포함한다. 실시예에 따라, 음성 인식 장치(1100)는 하나 이상의 언어 모델을 저장하고 있는 언어 모델 데이터베이스(1140)를 더 포함할 수도 있다.
입출력 인터페이스(1130)는 음성 입력을 수신하기 위한 음성 인터페이스(예, 마이크로폰)를 포함할 수 있다. 또한, 입출력 인터페이스(1130)는 키보드, 터치 스크린 또는 터치 패드 등의 입력 인터페이스와 음성 인식 결과를 출력하기 위한 디스플레이 등의 출력 인터페이스를 포함할 수도 있다.
메모리(1120)는 프로세서(1110)에 연결되고, 프로세서(1110)에 의해 실행가능한 인스트럭션들, 프로세서(1110)가 연산할 데이터 또는 프로세서(1110)에 의해 처리된 데이터를 저장할 수 있다. 메모리(1120)는, 예를 들어 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.
프로세서(1110)는 음성 인식 장치(1100)의 전체적인 동작들을 제어하고, 음성 인식 장치(1100) 내에서 실행하기 위한 기능 및/또는 인스트럭션들(instructions)을 실행한다. 프로세서(1110)는 음성 입력에 기초하여 음성 인식을 수행하고, 도 1 내지 도 10와 관련하여 전술한 하나 이상의 동작을 실행할 수 있다.
예를 들어, 프로세서(1110)는 음성 입력에 기초하여 후보 텍스트들에 대한 제1 스코어를 결정할 수 있다. 프로세서(1110)는 인코더-디코더 기반의 언어 인식 모델이나 음향 모델-언어 모델 기반의 언어 인식 모델을 이용하여 제1 스코어를 결정할 수 있다. 프로세서(1110)는 음성 입력에 음성 입력으로부터 특징 값을 추출하고, 추출된 특징 값에 대응하는 가중치를 출력하는 뉴럴 네트워크 기반의 가중치 결정기를 이용하여 언어 모델의 출력에 적용될 가중치를 결정할 수 있다. 프로세서(1110)는 전술한 것과 같은 다양한 실시예에 따라 가중치를 결정할 수 있다. 언어 모델은 복수의 언어 모델들을 포함할 수 있고, 이 경우 프로세서(1110)는 언어 모델들 각각의 출력에 적용될 가중치를 결정하거나 또는 언어 모델들 중 가중치가 적용될 하나 이상의 언어 모델을 선택하고, 선택된 하나 이상의 언어 모델의 출력에 적용될 가중치를 결정할 수 있다. 언어 모델은 언어 모델 데이터베이스(1140)에 저장될 수 있다.
프로세서(1110)는 언어 모델로부터 출력된 후보 텍스트들에 대한 제2 스코어에 가중치를 적용할 수 있다. 프로세서(1110)는 제1 스코어와 가중치가 적용된 제2 스코어에 기초하여, 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하고, 선택된 타겟 후보 텍스트를 음성 입력의 적어도 일부에 대응하는 타겟 텍스트로 결정할 수 있다. 프로세서(1110)는 위와 같은 과정에 기초하여 각 디코딩 단계마다 타겟 텍스트를 순차적으로 결정하여 전체 음성 입력에 대응하는 텍스트를 결정할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (21)

  1. 음성 입력에 기초하여 후보 텍스트들에 대한 제1 스코어를 결정하는 단계;
    상기 음성 입력에 기초하여 언어 모델의 출력에 적용될 가중치를 결정하는 단계;
    상기 언어 모델로부터 출력된 상기 후보 텍스트들에 대한 제2 스코어에 상기 결정된 가중치를 적용하는 단계;
    상기 제1 스코어와 상기 가중치가 적용된 제2 스코어에 기초하여, 상기 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하는 단계; 및
    상기 선택된 타겟 후보 텍스트를 상기 음성 입력의 적어도 일부에 대응하는 타겟 텍스트로 결정하는 단계
    를 포함하는 음성 인식 방법.
  2. 제1항에 있어서,
    상기 가중치를 결정하는 단계는,
    상기 음성 입력과 이전 시점(time)에서 결정된 타겟 텍스트에 기초하여 현재 시점에서 상기 언어 모델의 출력에 적용될 가중치를 결정하는 단계
    를 포함하는 음성 인식 방법.
  3. 제2항에 있어서,
    상기 이전 시점에서 결정된 타겟 텍스트는,
    음성 인식의 시작 시점부터 상기 현재 시점의 바로 이전 시점까지 결정된 하나 이상의 타겟 텍스트 중 적어도 하나를 포함하는,
    음성 인식 방법.
  4. 제1항에 있어서,
    상기 가중치를 결정하는 단계는,
    상기 음성 입력 및 컨텍스트 정보에 기초하여 상기 가중치를 결정하는 단계
    를 포함하는 음성 인식 방법.
  5. 제4항에 있어서,
    상기 컨텍스트 정보는,
    상기 음성 입력을 입력하는 사용자에 대한 사용자 정보, 시간 정보, 위치 정보, 언어 정보, 음성 인식 히스토리 정보 및 현재 동작 중인 응용 프로그램 정보 중 적어도 하나를 포함하는,
    음성 인식 방법.
  6. 제1항에 있어서,
    상기 가중치를 결정하는 단계는,
    상기 음성 입력, 이전 시점에서 결정된 타겟 텍스트 및 컨텍스트 정보에 기초하여 현재 시점에서 상기 언어 모델의 출력에 적용될 가중치를 결정하는 단계
    를 포함하는 음성 인식 방법.
  7. 제1항에 있어서,
    상기 타겟 후보 텍스트를 선택하는 단계는,
    상기 후보 텍스트들 중에서 상기 제1 스코어와 상기 가중치가 적용된 제2 스코어의 합이 가장 큰 후보 텍스트를 상기 타겟 후보 텍스트로 선택하는 단계
    를 포함하는 음성 인식 방법.
  8. 제1항에 있어서,
    상기 가중치를 결정하는 단계는,
    상기 음성 입력으로부터 특징 값을 추출하는 단계; 및
    상기 추출된 특징 값을 입력으로 하고, 상기 특징 값에 대응하는 가중치를 출력하는 뉴럴 네트워크 기반의 가중치 결정기를 이용하여 상기 가중치를 결정하는 단계
    를 포함하는 음성 인식 방법.
  9. 제1항에 있어서,
    상기 제1 스코어를 결정하는 단계는,
    뉴럴 네트워크 기반의 인코더를 이용하여 상기 음성 입력으로부터 특징 값을 추출하는 단계; 및
    뉴럴 네트워크 기반의 디코더를 이용하여 상기 추출된 특징 값으로부터 상기 후보 텍스트들 각각에 대한 제1 스코어를 결정하는 단계
    를 포함하는 음성 인식 방법.
  10. 제1항에 있어서,
    상기 언어 모델은, 복수의 언어 모델들을 포함하고,
    상기 가중치를 결정하는 단계는,
    상기 언어 모델들 각각의 출력에 적용될 가중치를 결정하는,
    음성 인식 방법.
  11. 제10항에 있어서,
    상기 언어 모델들은, 제1 언어 모델 및 제2 언어 모델을 포함하고,
    상기 제1 언어 모델은, 상기 후보 텍스트들에 대한 제2 스코어를 출력하고,
    상기 제2 언어 모델은, 상기 후보 텍스트들에 대한 제3 스코어를 출력하고,
    상기 가중치를 결정하는 단계는,
    상기 제2 스코어에 적용될 제1 가중치와 상기 제3 스코어에 적용될 제2 가중치를 결정하고,
    상기 타겟 후보 텍스트를 선택하는 단계는,
    상기 제1 스코어, 상기 제1 가중치가 적용된 제2 스코어 및 상기 제2 가중치가 적용된 제3 스코어에 기초하여, 상기 후보 텍스트들 중에서 상기 타겟 후보 텍스트를 선택하는 단계
    를 포함하는 음성 인식 방법.
  12. 제1항에 있어서,
    상기 언어 모델은, 복수의 언어 모델들을 포함하고,
    상기 가중치를 결정하는 단계는,
    상기 복수의 언어 모델들 중 상기 가중치가 적용될 하나 이상의 언어 모델을 선택하는 단계; 및
    상기 선택된 하나 이상의 언어 모델의 출력에 적용될 가중치를 결정하는 단계
    를 포함하는 음성 인식 방법.
  13. 제1항에 있어서,
    상기 언어 모델은,
    이전 시점에서 결정된 타겟 텍스트에 기초하여 상기 이전 시점에서 결정된 타겟 텍스트에 이어질 다음 타겟 텍스트를 결정하기 위한 각 후보 텍스트들의 제2 스코어를 출력하는, 음성 인식 방법.
  14. 제1항에 있어서,
    상기 후보 텍스트들 각각은,
    부분 단어(subword), 단어, 구(phrase) 및 문장 중 어느 하나인, 음성 인식 방법.
  15. 하드웨어와 결합되어 제1항 내지 제14항 중 어느 하나의 항의 방법을 실행시키기 위하여 기록 매체에 저장된 컴퓨터 프로그램.
  16. 사용자로부터 음성 입력을 수신하는 음성 인터페이스; 및
    상기 음성 입력에 기초하여 음성 인식을 수행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 음성 입력에 기초하여 후보 텍스트들에 대한 제1 스코어를 결정하고,
    상기 음성 입력에 기초하여 언어 모델의 출력에 적용될 가중치를 결정하고,
    상기 언어 모델로부터 출력된 상기 후보 텍스트들에 대한 제2 스코어에 상기 결정된 가중치를 적용하고,
    상기 제1 스코어와 상기 가중치가 적용된 제2 스코어에 기초하여, 상기 후보 텍스트들 중에서 타겟 후보 텍스트를 선택하고,
    상기 선택된 타겟 후보 텍스트를 상기 음성 입력의 적어도 일부에 대응하는 타겟 텍스트로 결정하는,
    음성 인식 장치.
  17. 제16항에 있어서,
    상기 프로세서는,
    상기 음성 입력과 이전 시점에서 결정된 타겟 텍스트에 기초하여 현재 시점에서 상기 언어 모델의 출력에 적용될 가중치를 결정하는,
    음성 인식 장치.
  18. 제16항에 있어서,
    상기 프로세서는,
    상기 음성 입력 및 컨텍스트 정보에 기초하여 상기 가중치를 결정하는,
    음성 인식 장치.
  19. 제16항에 있어서,
    상기 프로세서는,
    상기 음성 입력으로부터 특징 값을 추출하고,
    상기 추출된 특징 값에 대응하는 가중치를 출력하는 뉴럴 네트워크 기반의 가중치 결정기를 이용하여 상기 가중치를 결정하는,
    음성 인식 장치.
  20. 제16항에 있어서,
    상기 언어 모델은, 상기 후보 텍스트들에 대한 제2 스코어를 출력하는 제1 언어 모델 및 상기 후보 텍스트들에 대한 제3 스코어를 출력하는 제2 언어 모델을 포함하고,
    상기 프로세서는,
    상기 제2 스코어에 적용될 제1 가중치와 상기 제3 스코어에 적용될 제2 가중치를 결정하고,
    상기 제1 스코어, 상기 제1 가중치가 적용된 제2 스코어 및 상기 제2 가중치가 적용된 제3 스코어에 기초하여, 상기 후보 텍스트들 중에서 상기 타겟 후보 텍스트를 선택하는,
    음성 인식 장치.
  21. 제16항에 있어서,
    상기 언어 모델은, 복수의 언어 모델들을 포함하고,
    상기 프로세서는,
    상기 복수의 언어 모델들 중 상기 가중치가 적용될 하나 이상의 언어 모델을 선택하고,
    상기 선택된 하나 이상의 언어 모델의 출력에 적용될 가중치를 결정하는,
    음성 인식 장치.
KR1020180144753A 2018-11-21 2018-11-21 음성 인식 방법 및 음성 인식 장치 KR20200059703A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020180144753A KR20200059703A (ko) 2018-11-21 2018-11-21 음성 인식 방법 및 음성 인식 장치
US16/398,482 US11100916B2 (en) 2018-11-21 2019-04-30 Speech recognition method and apparatus
CN201910417694.1A CN111292728B (zh) 2018-11-21 2019-05-20 语音识别方法和设备
EP19179693.7A EP3657501B1 (en) 2018-11-21 2019-06-12 Speech recognition method and appratus
JP2019183896A JP7452968B2 (ja) 2018-11-21 2019-10-04 音声認識方法及び音声認識装置
US17/380,217 US11935516B2 (en) 2018-11-21 2021-07-20 Speech recognition method and appratus using weighted scores

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180144753A KR20200059703A (ko) 2018-11-21 2018-11-21 음성 인식 방법 및 음성 인식 장치

Publications (1)

Publication Number Publication Date
KR20200059703A true KR20200059703A (ko) 2020-05-29

Family

ID=66826927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180144753A KR20200059703A (ko) 2018-11-21 2018-11-21 음성 인식 방법 및 음성 인식 장치

Country Status (5)

Country Link
US (2) US11100916B2 (ko)
EP (1) EP3657501B1 (ko)
JP (1) JP7452968B2 (ko)
KR (1) KR20200059703A (ko)
CN (1) CN111292728B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022035183A1 (ko) * 2020-08-12 2022-02-17 삼성전자 주식회사 사용자의 음성 입력을 인식하는 디바이스 및 그 동작 방법
WO2022186450A1 (ko) * 2021-03-05 2022-09-09 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2024101668A1 (ko) * 2022-11-11 2024-05-16 삼성전자주식회사 전자 장치 및 이의 제어 방법

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11043214B1 (en) * 2018-11-29 2021-06-22 Amazon Technologies, Inc. Speech recognition using dialog history
US11599773B2 (en) 2018-12-27 2023-03-07 Micron Technology, Inc. Neural networks and systems for decoding encoded data
US11158307B1 (en) * 2019-03-25 2021-10-26 Amazon Technologies, Inc. Alternate utterance generation
US11475884B2 (en) * 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
KR20210014949A (ko) * 2019-07-31 2021-02-10 삼성전자주식회사 음성 인식을 위한 인공신경망에서의 디코딩 방법 및 장치
US11295732B2 (en) * 2019-08-01 2022-04-05 Soundhound, Inc. Dynamic interpolation for hybrid language models
KR20210016767A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
KR102281602B1 (ko) * 2019-08-21 2021-07-29 엘지전자 주식회사 사용자의 발화 음성을 인식하는 인공 지능 장치 및 그 방법
KR20190118539A (ko) * 2019-09-30 2019-10-18 엘지전자 주식회사 발화 스타일을 고려하여 음성을 인식하는 인공 지능 장치 및 그 방법
KR20210042707A (ko) * 2019-10-10 2021-04-20 삼성전자주식회사 음성 처리 방법 및 장치
US11424764B2 (en) 2019-11-13 2022-08-23 Micron Technology, Inc. Recurrent neural networks and systems for decoding encoded data
US11482214B1 (en) * 2019-12-12 2022-10-25 Amazon Technologies, Inc. Hypothesis generation and selection for inverse text normalization for search
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
CN113763943A (zh) * 2020-06-04 2021-12-07 微软技术许可有限责任公司 在语音识别结果中实时地提供提示
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
JP7375943B2 (ja) * 2020-08-19 2023-11-08 日本電信電話株式会社 変換装置、変換方法、およびプログラム
CN111951807A (zh) * 2020-08-21 2020-11-17 上海依图网络科技有限公司 语音内容检测方法及其装置、介质和系统
CN112349289B (zh) * 2020-09-28 2023-12-29 北京捷通华声科技股份有限公司 一种语音识别方法、装置、设备以及存储介质
JP6820632B1 (ja) * 2020-10-05 2021-01-27 株式会社グルーパー 情報処理装置、及びプログラム
CN112185363B (zh) * 2020-10-21 2024-02-13 北京猿力未来科技有限公司 音频处理方法及装置
CN112102815B (zh) * 2020-11-13 2021-07-13 深圳追一科技有限公司 语音识别方法、装置、计算机设备和存储介质
CN113421551B (zh) * 2020-11-16 2023-12-19 腾讯科技(深圳)有限公司 语音识别方法、装置、计算机可读介质及电子设备
CN112102812B (zh) * 2020-11-19 2021-02-05 成都启英泰伦科技有限公司 一种基于多声学模型的防误唤醒方法
CN117378005A (zh) * 2021-03-26 2024-01-09 谷歌有限责任公司 用于自动语音识别的多语言重新评分模型
CN113051400A (zh) * 2021-03-31 2021-06-29 北京字节跳动网络技术有限公司 标注数据确定方法、装置、可读介质及电子设备
US11973513B2 (en) 2021-04-27 2024-04-30 Micron Technology, Inc. Decoders and systems for decoding encoded data using neural networks
US11563449B2 (en) * 2021-04-27 2023-01-24 Micron Technology, Inc. Systems for error reduction of encoded data using neural networks
CN113160820B (zh) * 2021-04-28 2024-02-27 百度在线网络技术(北京)有限公司 语音识别的方法、语音识别模型的训练方法、装置及设备
US20220398474A1 (en) * 2021-06-04 2022-12-15 Nuance Communications, Inc. System and Method for Contextual Density Ratio-based Biasing of Sequence-to-Sequence Processing Systems
JPWO2022269760A1 (ko) * 2021-06-22 2022-12-29
US11755408B2 (en) 2021-10-07 2023-09-12 Micron Technology, Inc. Systems for estimating bit error rate (BER) of encoded data using neural networks
KR102465228B1 (ko) * 2021-11-24 2022-11-09 인하대학교 산학협력단 메타버스 플랫폼 이용한 혼합현실에서의 복잡한 기계류 훈련 및 교육과 홍보 시스템
CN115116437B (zh) * 2022-04-07 2024-02-09 腾讯科技(深圳)有限公司 语音识别方法、装置、计算机设备、存储介质及产品
CN117912456A (zh) * 2023-11-28 2024-04-19 广州视声智能科技有限公司 基于数据预测的语音识别方法及系统

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395205B2 (en) * 2001-02-13 2008-07-01 International Business Machines Corporation Dynamic language model mixtures with history-based buckets
US6879954B2 (en) 2002-04-22 2005-04-12 Matsushita Electric Industrial Co., Ltd. Pattern matching for large vocabulary speech recognition systems
JP2004198831A (ja) 2002-12-19 2004-07-15 Sony Corp 音声認識装置および方法、プログラム、並びに記録媒体
JP4836076B2 (ja) 2006-02-23 2011-12-14 株式会社国際電気通信基礎技術研究所 音声認識システム及びコンピュータプログラム
US8069032B2 (en) 2006-07-27 2011-11-29 Microsoft Corporation Lightweight windowing method for screening harvested data for novelty
JP4188989B2 (ja) 2006-09-15 2008-12-03 本田技研工業株式会社 音声認識装置、音声認識方法、及び音声認識プログラム
US8447608B1 (en) 2008-12-10 2013-05-21 Adobe Systems Incorporated Custom language models for audio content
KR101597289B1 (ko) 2009-07-31 2016-03-08 삼성전자주식회사 동적 화면에 따라 음성을 인식하는 장치 및 방법
CN102280106A (zh) * 2010-06-12 2011-12-14 三星电子株式会社 用于移动通信终端的语音网络搜索方法及其装置
KR101739531B1 (ko) * 2010-10-13 2017-05-25 삼성전자주식회사 음성 인식 장치 및 방법
KR20120066530A (ko) 2010-12-14 2012-06-22 한국전자통신연구원 언어 모델 가중치 추정 방법 및 이를 위한 장치
US8352245B1 (en) 2010-12-30 2013-01-08 Google Inc. Adjusting language models
US8296142B2 (en) * 2011-01-21 2012-10-23 Google Inc. Speech recognition using dock context
JP2013125144A (ja) * 2011-12-14 2013-06-24 Nippon Hoso Kyokai <Nhk> 音声認識装置およびそのプログラム
US9324323B1 (en) * 2012-01-13 2016-04-26 Google Inc. Speech recognition using topic-specific language models
US9043205B2 (en) 2012-06-21 2015-05-26 Google Inc. Dynamic language model
US9697821B2 (en) 2013-01-29 2017-07-04 Tencent Technology (Shenzhen) Company Limited Method and system for building a topic specific language model for use in automatic speech recognition
US9208779B2 (en) 2013-09-06 2015-12-08 Google Inc. Mixture of n-gram language models
JP6188831B2 (ja) * 2014-02-06 2017-08-30 三菱電機株式会社 音声検索装置および音声検索方法
CN103915092B (zh) * 2014-04-01 2019-01-25 百度在线网络技术(北京)有限公司 语音识别方法和装置
US20150370787A1 (en) * 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
KR102292546B1 (ko) * 2014-07-21 2021-08-23 삼성전자주식회사 컨텍스트 정보를 이용하는 음성 인식 방법 및 장치
JP6052814B2 (ja) * 2014-09-24 2016-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 音声認識モデルの構築方法、音声認識方法、コンピュータ・システム、音声認識装置、プログラムおよび記録媒体
US9502032B2 (en) * 2014-10-08 2016-11-22 Google Inc. Dynamically biasing language models
KR102380833B1 (ko) 2014-12-02 2022-03-31 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
JP6518142B2 (ja) * 2015-06-18 2019-05-22 日本放送協会 言語モデル生成装置およびそのプログラム
KR102386854B1 (ko) * 2015-08-20 2022-04-13 삼성전자주식회사 통합 모델 기반의 음성 인식 장치 및 방법
KR102386863B1 (ko) * 2015-09-09 2022-04-13 삼성전자주식회사 사용자 기반 언어 모델 생성 장치, 방법 및 음성 인식 장치
KR102450853B1 (ko) 2015-11-30 2022-10-04 삼성전자주식회사 음성 인식 장치 및 방법
US20170229124A1 (en) 2016-02-05 2017-08-10 Google Inc. Re-recognizing speech with external data sources
CN106297797B (zh) * 2016-07-26 2019-05-31 百度在线网络技术(北京)有限公司 语音识别结果纠错方法和装置
US10832664B2 (en) 2016-08-19 2020-11-10 Google Llc Automated speech recognition using language models that selectively use domain-specific model components
CN106328147B (zh) * 2016-08-31 2022-02-01 中国科学技术大学 语音识别方法和装置
KR20180038707A (ko) 2016-10-07 2018-04-17 한국전자통신연구원 동적 가중치 값과 토픽 정보를 이용하는 음성인식 방법
KR20180074210A (ko) * 2016-12-23 2018-07-03 삼성전자주식회사 전자 장치 및 전자 장치의 음성 인식 방법
KR20180080446A (ko) * 2017-01-04 2018-07-12 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
KR20180087942A (ko) * 2017-01-26 2018-08-03 삼성전자주식회사 음성 인식 방법 및 장치
US10811000B2 (en) * 2018-04-13 2020-10-20 Mitsubishi Electric Research Laboratories, Inc. Methods and systems for recognizing simultaneous speech by multiple speakers

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022035183A1 (ko) * 2020-08-12 2022-02-17 삼성전자 주식회사 사용자의 음성 입력을 인식하는 디바이스 및 그 동작 방법
US11984126B2 (en) 2020-08-12 2024-05-14 Samsung Electronics Co., Ltd. Device for recognizing speech input of user and operating method thereof
WO2022186450A1 (ko) * 2021-03-05 2022-09-09 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2024101668A1 (ko) * 2022-11-11 2024-05-16 삼성전자주식회사 전자 장치 및 이의 제어 방법

Also Published As

Publication number Publication date
US11100916B2 (en) 2021-08-24
JP7452968B2 (ja) 2024-03-19
EP3657501A1 (en) 2020-05-27
CN111292728B (zh) 2024-05-28
US20200160838A1 (en) 2020-05-21
US20210350792A1 (en) 2021-11-11
US11935516B2 (en) 2024-03-19
JP2020086437A (ja) 2020-06-04
CN111292728A (zh) 2020-06-16
EP3657501B1 (en) 2022-02-09

Similar Documents

Publication Publication Date Title
KR20200059703A (ko) 음성 인식 방법 및 음성 인식 장치
US10719507B2 (en) System and method for natural language processing
KR102550932B1 (ko) 음성 인식 모델의 개인화 방법 및 장치
JP6923332B2 (ja) 自動通訳方法及び装置
US11769492B2 (en) Voice conversation analysis method and apparatus using artificial intelligence
KR102449875B1 (ko) 음성 신호 번역 방법 및 그에 따른 전자 장치
KR102577589B1 (ko) 음성 인식 방법 및 음성 인식 장치
US11164562B2 (en) Entity-level clarification in conversation services
JP2016110082A (ja) 言語モデル学習方法及び装置、音声認識方法及び装置
JP2019197203A (ja) 音声認識モデルを個人化する方法及び装置
KR20200044388A (ko) 음성을 인식하는 장치 및 방법, 음성 인식 모델을 트레이닝하는 장치 및 방법
KR20210016767A (ko) 음성 인식 방법 및 음성 인식 장치
US11468892B2 (en) Electronic apparatus and method for controlling electronic apparatus
CN112825249A (zh) 语音处理方法和设备
CN114223029A (zh) 支持装置进行语音识别的服务器及服务器的操作方法
CN113113024A (zh) 语音识别方法、装置、电子设备和存储介质
US11984126B2 (en) Device for recognizing speech input of user and operating method thereof
JP7044856B2 (ja) 増強された一貫性正規化を利用した音声認識モデル学習方法およびシステム
KR102584436B1 (ko) 화자분리 기반 자동통역 서비스를 제공하는 시스템, 사용자 단말 및 방법
KR20220118818A (ko) 전자 장치 및 전자 장치의 동작 방법
Jeong et al. A computer remote control system based on speech recognition technologies of mobile devices and wireless communication technologies
CN112037772A (zh) 基于多模态的响应义务检测方法、系统及装置
KR102448733B1 (ko) 문맥 내 턴 구성을 고려하여 응답을 선택하는 대화 시스템 및 그 방법
KR102570908B1 (ko) 음성의 끝점 검출 장치, 프로그램 및 그것의 제어 방법
Kearns It’s Time to Personalise the Voice

Legal Events

Date Code Title Description
A201 Request for examination