KR20170013712A - 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스 - Google Patents

문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스 Download PDF

Info

Publication number
KR20170013712A
KR20170013712A KR1020150106772A KR20150106772A KR20170013712A KR 20170013712 A KR20170013712 A KR 20170013712A KR 1020150106772 A KR1020150106772 A KR 1020150106772A KR 20150106772 A KR20150106772 A KR 20150106772A KR 20170013712 A KR20170013712 A KR 20170013712A
Authority
KR
South Korea
Prior art keywords
word
segment
grammar model
speech recognition
class
Prior art date
Application number
KR1020150106772A
Other languages
English (en)
Other versions
KR102413067B1 (ko
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 KR1020150106772A priority Critical patent/KR102413067B1/ko
Priority to US15/137,217 priority patent/US9916827B2/en
Priority to EP19171870.9A priority patent/EP3557573A1/en
Priority to EP16167445.2A priority patent/EP3125236B1/en
Priority to CN201610604984.3A priority patent/CN106409284B/zh
Publication of KR20170013712A publication Critical patent/KR20170013712A/ko
Priority to US15/917,880 priority patent/US10497363B2/en
Priority to US16/663,399 priority patent/US11145292B2/en
Application granted granted Critical
Publication of KR102413067B1 publication Critical patent/KR102413067B1/ko

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
    • 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/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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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
    • 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/28Constructional details of speech recognition 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/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • 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
    • G10L2015/027Syllables being the recognition units
    • 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
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

적어도 하나의 단어를 포함하는 코퍼스(corpus)를 획득하고, 코퍼스로부터 적어도 하나의 단어를 획득하고, 획득된 단어를 적어도 하나의 세그먼트로 분할하고, 분할된 세그먼트를 단어로 재조합하기 위한 힌트를 생성하고, 힌트를 포함하는 적어도 하나의 세그먼트를 이용하여, 문법 모델을 갱신하는 음성 인식 시 이용되는 문법 모델을 갱신하는 방법이 개시된다.

Description

문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스 {Method and device for updating language model and performing Speech Recognition based on language model}
본 발명은 문법 모델을 이용하여 음성인식을 수행하는 방법 및 디바이스에 대한 것이다. 또한, 본 발명은 코퍼스(corpus)를 이용하여 문법 모델을 갱신하는 방법 및 디바이스에 대한 것이다.
음성인식은 사용자의 음성을 입력받아 자동으로 문자로 변환하여 인식하는 기술이다. 근래에 들어 스마트폰이나 TV 등에서 키보드 입력을 대체하기 위한 인터페이스 기술로써 음성 인식이 사용되고 있다.
음성인식 시스템은 음성 신호를 입력받는 부분인 클라이언트(Client)와 음성 신호로부터 음성인식을 수행하는 부분인 ASR 엔진(Automatic Speech Recognition engine)으로 나눌 수 있는데, 이 두 개의 구성은 서로 떨어져서 디자인될 수 있다.
일반적으로 음성인식 시스템은 음향 모델, 문법 모델, 발음 사전을 이용하여 음성인식을 수행할 수 있다. 음성 인식 시스템에서 음성 신호로부터 소정 단어를 음성인식 하기 위해서는 소정 단어에 대한 문법 모델 및 발음 사전 등을 미리 구축하는 것이 필요하다.
본 발명은 새로운 단어인 OOV(out of vocabulary)를 음성 인식할 수 있도록 문법 모델을 갱신하고, 문법 모델을 이용하여 음성 인식을 수행하는 방법 및 디바이스에 관한 것이다.
일 실시 예에 의한 음성 인식 시 이용되는 문법 모델을 갱신하는 방법에 있어서, 적어도 하나의 단어를 포함하는 코퍼스(corpus)를 획득하는 단계; 상기 코퍼스로부터 상기 적어도 하나의 단어를 획득하는 단계; 상기 획득된 단어를 적어도 하나의 세그먼트로 분할하는 단계; 상기 분할된 세그먼트를 상기 단어로 재조합하기 위한 힌트를 생성하는 단계; 상기 힌트를 포함하는 적어도 하나의 세그먼트를 이용하여, 상기 문법 모델을 갱신하는 단계를 포함한다.
더하여, 상기 분할하는 단계는 상기 획득된 단어의 출현 빈도수 및 길이 중 적어도 하나에 기초하여, 분할하고자 하는 단어를 결정하고, 상기 결정된 단어를 분할하는 단계를 포함한다.
더하여, 상기 분할하는 단계는 상기 단어에 대하여 후보 분할 지점을 적어도 하나 결정하는 단계; 각 후보 분할 지점에 따라 분할된 세그먼트의 출현 확률 정보에 기초하여, 상기 각 후보 분할 지점에 대한 스코어를 획득하는 단계; 상기 스코어에 기초하여, 상기 후보 분할 지점 중 분할 지점을 결정하고, 상기 분할 지점에 따라 상기 단어를 적어도 하나의 세그먼트로 분할하는 단계를 포함한다.
더하여, 상기 분할하는 단계는 상기 분할된 세그먼트에 기초하여, 상기 코퍼스에 포함된 단어를 상기 분할된 세그먼트 단위로 분할하는 단계를 포함한다.
더하여, 상기 힌트를 생성하는 단계는 상기 세그먼트가 상기 단어의 경계에 위치하는지 여부에 기초하여, 상기 세그먼트에 대한 힌트를 생성하는 단계를 포함한다.
더하여, 상기 문법 모델을 갱신하는 단계는 상기 세그먼트의 음성 인식 시 출현할 확률에 관한 정보를 결정하는 단계; 상기 결정된 확률 정보에 기초하여, 상기 문법 모델을 갱신하는 단계를 포함한다.
더하여, 상기 분할하는 단계는 상기 획득된 단어를, 음운, 음절, 형태소 또는 어절 단위의 세그먼트로 분할하는 단계를 포함한다.
더하여, 상기 획득된 단어에 대한 발음열을 생성하는 단계; 발음 사전에 포함된 발음열 중 상기 생성된 발음열과 대응되는 발음열을 획득하는 단계; 상기 획득된 발음열의 음성 인식 시 출현할 확률에 관한 정보를 결정하는 단계; 상기 결정된 확률 정보에 기초하여, 제2 문법 모델을 갱신하는 단계를 더 포함한다.
더하여, 상기 문법 모델을 갱신하는 단계는 상기 단어 또는 세그먼트에 대하여, 엔트리 토큰을 추가하는 단계; 상기 엔트리 토큰을 포함하는 단어 또는 세그먼트에 기초하여 클래스 기반 문법 모델을 갱신하는 단계를 포함한다.
더하여, 상기 문법 모델을 갱신하는 단계는 상기 단어 또는 세그먼트가 속한 클래스를 결정하는 단계; 상기 단어 또는 세그먼트에 대하여 상기 엔트리 토큰 또는 엑시트 토큰을 추가할지 여부를 결정하고, 결정된 결과에 따라 상기 단어 또는 세그먼트에 상기 엔트리 토큰 또는 엑시트 토큰을 추가하는 단계; 상기 단어 또는 세그먼트에 기초하여, 상기 결정된 클래스의 문법 모델을 갱신하는 단계를 포함한다.
일 실시 예에 의한 음성인식을 수행하는 방법에 있어서, 음성 인식을 수행하고자 하는 음성 데이터를 획득하는 단계; 적어도 하나의 세그먼트의 출현 확률에 관한 정보를 포함하는 문법 모델에 기초하여, 음성 인식을 수행함으로써 적어도 하나의 세그먼트를 검출하는 단계; 상기 검출된 세그먼트의 힌트에 기초하여, 상기 결정된 세그먼트를 단어로 재조합하는 단계를 포함한다.
더하여, 상기 단어 또는 세그먼트가 제1 순위 단어에 속하는 경우, 제2 문법 모델에 기초하여, 미리 정해진 순서에 따라 단어가 검출되도록 음성 인식을 수행하는 단계를 더 포함한다.
더하여, 상기 문법 모델은 클래스 기반 문법 모델을 포함하고, 상기 단어 또는 세그먼트가 엔트리 토큰을 포함하는 경우, 상기 엔트리 토큰이 속한 클래스의 문법 모델에 기초하여, 음성 인식을 수행하는 단계; 상기 단어 또는 세그먼트가 엑시트 토큰을 포함하는 경우, 상기 클래스 기반 문법 모델에 기초하여, 음성 인식을 수행하는 단계를 포함한다.
일 실시 예에 의한 문법 모델을 갱신하는 디바이스에 있어서, 적어도 하나의 단어를 포함하는 코퍼스를 획득하는 수신부; 상기 문법 모델을 저장하는 저장부; 상기 코퍼스로부터 상기 적어도 하나의 단어를 획득하고, 상기 획득된 단어를 적어도 하나의 세그먼트로 분할하고, 상기 분할된 세그먼트를 상기 단어로 재조합하기 위한 힌트를 생성하고, 상기 힌트를 포함하는 적어도 하나의 세그먼트를 이용하여, 상기 문법 모델을 갱신하는 제어부를 포함한다.
일 실시 예에 의한 음성 인식을 수행하는 디바이스에 있어서, 음성 인식을 수행하고자 하는 음성 데이터를 획득하는 수신부; 적어도 하나의 세그먼트의 출현 확률에 관한 정보를 포함하는 문법 모델을 저장하는 저장부; 적어도 하나의 세그먼트의 출현 확률에 관한 정보를 포함하는 문법 모델에 기초하여, 음성 인식을 수행함으로써 적어도 하나의 세그먼트를 검출하고, 상기 검출된 세그먼트의 힌트에 기초하여 상기 결정된 세그먼트를 단어로 재조합하는 제어부를 포함한다.
도 1은 일 실시 예에 따른 음성 인식을 수행하는 디바이스의 일 예를 나타낸 블록도이다.
도 2는 일 실시 예에 의한 문법 모델을 갱신하고, 갱신된 문법 모델을 이용하여 음성 인식을 수행하는 프로세스를 나타낸 블록도이다.
도 3은 일 실시 예에 의한 문법 모델을 갱신하는 방법을 나타낸 순서도이다.
도 4는 일 실시 예에 의한 단어를 출현 빈도 수와 단어 길이에 따라 나타낸 그래프를 도시한 것이다.
도 5는 일 실시 예에 의한 단어를 분할하는 순서의 일 예를 나타낸 그래프를 도시한 것이다.
도 6은 일 실시 예에 의한 단어를 분할하는 일 예를 나타낸 도면이다.
도 7은 일 실시 예에 의한 음성 인식을 수행하는 방법을 나타낸 순서도이다.
도 8은 일 실시 예에 의한 음성 데이터에 포함된 단어를 이용하여 OOV를 검출하고, 검출된 OOV에 기초하여 문법 모델을 갱신하는 프로세스를 나타낸 예시 도면이다.
도 9는 일 실시 예에 의한 문법 모델을 갱신하는 방법의 일 예를 나타낸 예시 도면이다.
도 10은 일 실시 예에 의한 제2 문법 모델을 갱신하는 방법을 나타낸 순서도이다.
도 11은 일 실시 예에 의한 음성 인식을 수행하는 프로세스를 나타낸 예시 도면이다.
도 12는 일 실시 예에 의한 음성 인식을 수행하는 방법을 나타낸 순서도이다.
도 13은 일 실시 예에 의한 음성 인식을 수행하는 일 예를 나타낸 예시 도면이다.
도 14는 일 실시 예에 의한 음성 인식부(1410)의 내부 구성을 나타낸 블록도이다.
도 15는 일 실시 예에 의한 미리 정해진 단어의 순서에 따라 음성 인식을 수행하는 방법을 나타낸 순서도이다.
도 16은 일 실시 예에 의한 정해진 순서에 따라 음성 인식을 수행하는 일 예를 나타낸 예시 도면이다.
도 17은 일 실시 예에 의한 단어가 속한 클래스에 따라 음성 인식을 수행하는 음성 인식부의 내부 구성을 나타낸 블록도이다.
도 18은 일 실시 예에 의한 클래스 기반 문법 모델을 갱신하는 방법을 나타낸 순서도이다.
도 19는 일 실시 예에 의한 클래스 별 문법 모델을 갱신하는 방법을 나타낸 순서도이다.
도 20은 일 실시 예에 의한 클래스 기반 문법 모델 및 클래스별 문법 모델을 이용하여 음성 인식을 수행하는 일 예를 나타낸 예시 도면이다.
도 21은 일 실시 예에 의한 단어가 속한 클래스에 기초하여 음성 인식을 수행하는 방법을 나타낸 순서도이다.
도 22는 일 실시 예에 의한 문법 모델을 갱신하는 디바이스의 내부 구성을 나타낸 블록도이다.
도 23은 일 실시 예에 의한 음성 인식 디바이스의 내부 구성을 나타낸 블록도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 본 발명은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되어지지 않는다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 1은 일 실시 예에 따른 음성 인식을 수행하는 디바이스의 일 예를 나타낸 블록도이다.
도 1을 참조하면, 음성 인식을 수행하는 디바이스(100)는 특징 추출부(110), 후보 발음열 검출부(120) 및 언어 선택부(140)를 포함할 수 있다. 특징 추출부(110)는 입력된 음성 신호에 대한 특징 정보를 추출한다. 후보 발음열 검출부(120)는 추출된 특징 정보로부터 적어도 하나의 후보 발음열을 검출한다. 언어 선택부(140)는 각 후보 발음열의 출현 확률 정보에 기초하여, 음성 인식된 최종 언어를 선택한다. 또한, 언어 선택부(140)는 발음 사전(150)을 이용하여 각 후보 발음열과 대응되는 단어를 검출함으로써, 검출된 단어의 출현 확률 정보에 기초하여, 음성 인식된 최종 언어를 선택할 수 있다. 단어의 출현 확률 정보는, 음성 인식이 수행될 때, 음성 인식된 언어에서, 해당 단어가 출현할 확률 정보를 의미한다. 이하에서 디바이스(100)의 각 구성 요소에 대해 구체적으로 설명하기로 한다.
특징 추출부(110)는 음성 신호를 수신하면, 실제 화자가 발성한 음성 부분만을 검출하여, 음성 신호의 특징을 나타낼 수 있는 정보를 추출할 수 있다. 음성 신호의 특징을 나타내는 정보는, 예를 들면, 음성 신호가 속하는 파형(waveform)에 따라 입 모양 또는 혀의 위치를 나타낼 수 있는 정보를 포함할 수 있다. 특징 추출부(110)에 의하여 추출된 특징 정보에 기초하여 음성 신호와 대응되는 발음열이 검출될 수 있다.
후보 발음열 검출부(120)는 추출된 음성 신호의 특징 정보와 음향 모델(acoustic model, 130)을 이용하여 음성 신호와 매칭될 수 있는 적어도 하나의 후보 발음열(pronunciation variants)을 검출할 수 있다. 음성 신호에 따라 복수 개의 후보 발음열이 검출될 수 있다. 예를 들어, '져', '저' 등의 발음은 비슷하므로, 동일 음성 신호에 대하여 '져', '저' 등의 비슷한 발음을 포함하는 복수 개의 후보 발음열이 검출될 수 있다. 후보 발음열은 단어 단위로 검출될 수 있으나, 이에 한하지 않고, 후보 발음열은 음운, 음소, 음절 등의 다양한 단위로 검출될 수 있다.
음향 모델(130)은 음성 신호의 특징 정보로부터 후보 발음열을 검출하기 위한 정보를 포함할 수 있다. 또한, 음향 모델(130)은 많은 양의 음성 데이터로부터 통계적인 방법을 통하여 생성될 수 있다. 예를 들면, 음향 모델(130)은 불특정 다수의 발화 데이터로부터 생성될 수도 있고, 특정 화자로부터 수집된 발화 데이터로부터 생성될 수도 있다. 따라서, 화자에 따라 음성 인식 시 개별적으로 적용될 수 있는 음향 모델(130)이 존재할 수 있다.
언어 선택부(140)는 발음 사전(150) 및 문법 모델(160)을 이용하여 후보 발음열 검출부(120)에서 검출된 각 후보 발음열의 출현 확률 정보를 구할 수 있다. 그리고, 언어 선택부(140)는 각 후보 발음열의 출현 확률 정보에 기초하여, 음성 인식된 최종 언어를 선택한다.
또한, 언어 선택부(140)는 발음 사전(150)을 이용하여 각 후보 발음열과 대응되는 단어를 구할 수 있다. 언어 선택부(140)는 각 후보 발음열과 대응되는 단어에 대한 출현 확률 값을 문법 모델(160)을 이용하여 구할 수 있다. 언어 선택부(140)는 단어에 대한 출현 확률 값이 가장 큰 후보 발음열을 최종 선택할 수 있다. 최종 선택된 발음열과 대응되는 단어가 음성 인식된 단어로 출력될 수 있다.
발음 사전(150)은 후보 발음열 검출부(120)에 의해 검출된 후보 발음열과 대응되는 단어(word)를 획득하기 위해 필요한 정보를 포함할 수 있다. 발음 사전(150)은 각 단어의 음운변화 현상에 따라 획득된 발음열로부터 구축될 수 있다.
단어의 발음은 해당 단어의 앞뒤 단어 또는 문장 상 위치, 화자의 특성 등에 따라 변경될 수 있어 일관적이지 않다. 또한, 출현 확률 값은 현재 단어가 출현할 확률 또는, 현재 단어가 특정 단어와 동시에 출현할 확률을 의미한다. 디바이스(100)는 문법 모델(160)에 포함된 단어 또는 발음열에 대한 출현 확률 값을 이용함으로써, 문맥을 고려한 음성 인식을 수행할 수 있다.
디바이스(100)는 발음 사전(150)을 이용하여 후보 발음열의 단어를 구하고, 문법 모델(160)을 이용하여 후보 발음열과 대응되는 단어에 대한 출현 확률 정보를 구함으로써, 음성 인식을 수행할 수 있다. 이에 한하지 않고, 디바이스(100)는 발음 사전(150)을 통해 발음열과 대응되는 단어를 구하지 않고 후보 발음열에 대한 출현 확률 정보를 문법 모델(160)로부터 구할 수도 있다.
예를 들면, 한국어의 경우, 후보 발음열 검출부(120)는 '학꾜(hakkkyo)'라는 후보 발음열을 검출하였을 때, 언어 선택부(140)는 검출된 후보 발음열 '학꾜(hakkkyo)'와 대응되는 단어로, 발음 사전(150)을 이용하여 '학교'라는 단어를 구할 수 있다. 또 다른 예로, 영어의 경우, 후보 발음열 검출부(120)는 'skul'이라는 후보 발음열을 검출하였을 때, 언어 선택부(140)는 검출된 후보 발음열 'skul'과 대응되는 단어로, 발음 사전(150)을 이용하여 'school'이라는 단어를 구할 수 있다. 언어 선택부(140)는 '학교' 또는 'school'이란 단어에 대한 출현 확률 정보에 기초하여 음성 신호와 대응되는 단어를 최종적으로 선택하고 선택된 단어를 출력할 수 있다.
문법 모델(160)은 단어에 대한 출현 확률 정보를 포함할 수 있다. 출현 확률 정보는 단어 별로 존재할 수 있다. 디바이스(100)는 각 후보 발음열에 포함된 단어에 대한 출현 확률 정보를 문법 모델(160)로부터 획득할 수 있다.
예를 들어, 문법 모델(160)은 현재 단어 B가 출현하기 이전에 단어 A가 출현한 경우, 현재 단어 B가 출현할 확률에 관한 정보인 P(B|A)를 포함할 수 있다. 다시 말하면, 단어 B의 출현 확률 정보인 P(B|A)는 단어 B의 출현 전에 단어 A가 출현하는 것을 조건으로 할 수 있다. 또 다른 예로, 문법 모델(160)은 단어 B의 출현 전에 단어 A 및 C, 즉, 복수 개의 단어가 출현하는 것을 조건으로 하는 P(B|A C)를 포함할 수 있다. 다시 말하면, P(B|A C)는 단어 B의 출현 전에 단어 A와 C 모두 출현하는 것을 조건으로 할 수 있다. 또 다른 예로, 문법 모델(160)은 조건부 확률이 아닌, 단어 B에 대한 출현 확률 정보 P(B)를 포함할 수 있다. P(B)는 단어 B가 음성 인식 시 출현할 확률을 의미한다.
디바이스(100)는 문법 모델(160)을 이용하여 언어 선택부(140)에서 각 후보 발음열과 대응되는 단어의 출현 확률 정보에 기초하여 음성 인식된 단어를 최종 결정할 수 있다. 즉, 디바이스(100)는 출현 확률 정보가 가장 높은 단어를 음성 인식된 단어로 최종 결정할 수 있다. 언어 선택부(140)는 음성 인식된 단어를 텍스트로 출력할 수 있다.
상술된 도 1의 설명에서, 단어 단위로 음성 인식을 수행하는 것에 한하지 않고, 다른 언어 단위로 수행될 수 있다. 또한, 이하 설명에서는, 한국어를 포함하는 음성 데이터에 대해 음성 인식을 수행하는 것을 기준으로 설명하였으나, 이에 한하지 않고, 다양한 언어를 포함하는 음성 데이터에 대해 음성 인식을 수행하는 경우에도 동일하게 적용될 수 있다.
이하 도 2 내지 도 7을 참조하여, 음성 인식으로 검출될 수 없는 새로운 단어인 OOV(out of vocabulary)를 음성 인식할 수 있도록 문법 모델을 갱신하고, 음성 인식을 수행하는 방법에 대해 자세히 설명하기로 한다. 일 실시 예에 의하면, OOV를 음성 인식할 수 있도록 문법 모델을 갱신하는 경우, OOV에 대한 추가적인 정보 없이도 문법 모델을 갱신하는 것이 가능하다.
OOV란 문법 모델에 OOV에 관한 출현 확률 정보가 포함되어 있지 않음에 따라 음성 인식으로 검출될 수 없는 단어를 의미한다. OOV는 단어 단위의 언어에 한하지 않고, 음운, 음절, 음소, 어절 등 다양한 단위의 언어를 포함할 수 있다.
도 2는 일 실시 예에 의한 문법 모델을 갱신하고, 갱신된 문법 모델을 이용하여 음성 인식을 수행하는 프로세스를 나타낸 블록도이다. 일 실시 예에 의하면, OOV는 보다 작은 단위로 나뉘어지고, 보다 작은 단위로 나뉘어진 세그먼트에 기초하여, 문법 모델이 갱신될 수 있다.
도 2를 참조하면, 문법 모델을 갱신하는 프로세스에서, OOV를 포함하는 코퍼스(210)에 기초하여, 문법 모델(240)은 OOV가 음성 인식될 수 있도록 갱신될 수 있다. 그리고, 갱신된 문법 모델(240)에 기초하여, 음성 신호로부터 OOV였던 단어가 음성 인식(250)으로 검출될 수 있다.
문법 모델을 갱신하는 디바이스는 코퍼스(210)로부터 새로운 단어를 획득할 수 있다. OOV는 문법 모델(240)에 출현 확률 정보가 포함되어 있지 않아 음성 인식 시 검출될 수 없다. 디바이스는 코퍼스(210)에 포함된 OOV가 음성 인식될 수 있도록 문법 모델(240)을 갱신할 수 있다.
디바이스는 220에서, OOV를 보다 작은 단위의 세그먼트로 분할할 수 있다. 디바이스는 하나의 OOV에 대하여 한 번 이상 분할을 수행할 수 있다. 디바이스는 띄어쓰기가 포함되지 않은 하나의 OOV에 대하여 분할을 수행할 수 있다. 디바이스가 하나의 OOV에 대하여 분할을 한 번 수행할 때마다 두 개의 세그먼트가 생성될 수 있다. OOV는 음절, 음소, 단어, 어절 등 다양한 단위의 세그먼트로 분할될 수 있다. 또한, 디바이스는 분할이 수행됨에 따라 발생된 하나의 세그먼트에 대하여 분할을 수행할 수 있다.
이하에서 일 실시 예에 따라 단어를 반복적으로 분할하는 방법을 예를 들어 설명하기로 한다.
첫번째로, '인천신흥초등학교'는 '인천+신흥초등학교', '인천+신흥+초등학교', '인천+신흥+초등+학교'과 같이 하나의 단어가 반복적으로 분할될 수 있다.
두번째로, '미쳐버린파닭염창역점저나버노좀알려주세요그리고지금영업하나요'는 '미쳐버린파닭염창역점저나버노좀알려주세요그리고지금+영업하나요', '미쳐버린파닭염창역점저나버노+좀알려주세요+그리고+지금+영업하나요', '미쳐버린파닭+염창역점저나버노+좀알려주세요+ 그리고+지금+영업하나요', '미쳐버린파닭+염창역+점+저나버노+좀알려주세요+ 그리고+지금+영업+하나요', '미쳐버린+파닭+염창역+점+저나+버노+좀알려주세요+ 그리고+지금+영업+하나요'와 같이 하나의 단어가 반복적으로 분할될 수 있다.
디바이스는 문법 모델(240)에 추가될 수 있는 세그먼트 또는 단어가 소정 개수 이상이 될 때까지 분할을 수행할 수 있다. 문법 모델(240)의 크기가 너무 커지면 음성 인식시 연산량이 과도하게 많아지므로, 디바이스는 문법 모델(240)에 추가될 수 있는 세그먼트 또는 단어 개수가 소정 개수 이하가 되도록 문법 모델(240)을 갱신할 수 있다.
분할이 여러 번 수행될수록, 생성된 세그먼트가 문법 모델(240)에 포함된 단어와 중복될 가능성이 높아진다. 생성된 세그먼트가 문법 모델(240)에 포함된 단어와 중복되는 경우, 문법 모델(240)에 중복된 단어의 확률 값만 세그먼트의 출현 빈도에 따라 갱신될 수 있다. 따라서, 분할이 여러 번 수행될수록 문법 모델(240)에 포함된 단어에 비해서 인식될 수 있는 단어의 수가 많아질 수 있다.
그러나, 짧은 길이의 단어는 긴 단어에 비해 음성 인식 오류가 발생될 가능성이 높을 수 있다. 예를 들어, 형태소 또는 음소 단위로 OOV가 분할되는 경우, 앞뒤로 위치할 수 있는 단어 또는 세그먼트가 다수 존재하여 음성 인식 오류가 발생되기 쉽다. 또한, 코퍼스(210)에 포함된 텍스트는 축약이나 오탈자, 띄어쓰기 오류를 포함하기 쉬우나, 텍스트가 형태소 또는 음소 등 매우 작은 단위로 분할되어 문법 모델(240)에 추가되는 경우, 오류가 식별되기 어려워질 수 있다. 따라서, 음성 인식 시 오류가 발생될 가능성이 높아질 수 있다.
반면, 긴 길이의 OOV가 문법 모델(240)에 추가되는 경우, 코퍼스(210)에 포함된 OOV의 수만큼 문법 모델(240)에 추가되는 단어 또는 세그먼트의 수가 크게 증가할 수 있다.
디바이스는 코퍼스(210)에 포함된 OOV에 대하여 소정 개수의 분할된 세그먼트를 생성할 수 있다. 소정 개수는 문법 모델(240)의 크기에 따라 음성 인식시 연산량이 과도해지지 않도록 결정될 수 있다. 일 실시 예에 의하면, 소정 개수의 분할된 세그먼트로 문법 모델(240)이 갱신될 수 있으므로, 너무 짧거나 너무 긴 길이의 단어가 문법 모델(240)에 추가되는 경우 보다, 음성 인식 성능이 향상될 수 있다.
또한, 디바이스는 음성 인식 시 세그먼트들이 분할되기 전의 단어로 효과적으로 재조합될 수 있도록 힌트를 포함하는 세그먼트를 생성할 수 있다. 음성 인식을 수행하는 디바이스는 세그먼트의 힌트에 기초하여, 각 세그먼트 사이에 띄어쓰기를 추가할지 여부를 결정할 수 있다. 디바이스는 힌트를 포함하는 세그먼트를 이용하여 문법 모델(240)을 갱신할 수 있다. 문법 모델(240)은 힌트를 포함하는 세그먼트에 대한 출현 확률에 관한 정보를 포함할 수 있다.
디바이스가 새로운 단어에 대하여 분할을 수행하는 방법에 관하여는, 이하 도 4 내지 도 6을 참조하여 더 자세히 설명하기로 한다.
디바이스는 230에서, 분할된 각 세그먼트에 대하여 재조합을 위한 힌트를 생성할 수 있다. 힌트는 분할되기 전 단어의 형태에 따라 결정될 수 있다. 단어가 다수의 세그먼트로 분할될 때, 세그먼트의 분할 지점에 인접한 측은 재조합 시 띄어쓰기를 포함하지 않고 재조합됨이 바람직하다. 또한, 세그먼트의 분할 지점과 반대쪽에 위치한 측은 재조합 시 띄어쓰기를 포함하여 재조합됨이 바람직하다. 디바이스는 세그먼트가 분할전 단어로 재조합될 수 있도록 세그먼트의 띄어쓰기 여부를 나타내는 힌트를 생성할 수 있다.
디바이스는 힌트를 포함하는 세그먼트를 이용하여 문법 모델(240)을 갱신할 수 있다.
더하여, 음성 인식 프로세스에서, 음성 인식을 수행하는 디바이스는 250에서, 입력된 음성 신호에 대하여 문법 모델을 갱신하는 디바이스에 의해 갱신된 문법 모델(240)을 이용하여 음성 인식을 수행할 수 있다. 음성 인식은 도 1에서 언급한 바와 같이 음성 신호의 특징 정보에 따라 하나 이상의 후보 발음열이 검출될 수 있다. 그리고, 검출된 후보 발음열과 대응되는 단어의 출현 확률 정보에 기초하여 음성 인식된 언어가 출력될 수 있다. 단어의 출현 확률 정보는 문법 모델을 갱신하는 디바이스에 의해 갱신된 문법 모델(240)로부터 획득될 수 있다. 문법 모델(240)은 단어뿐만 아니라 힌트를 포함하는 다양한 단위의 세그먼트를 포함할 수 있다.
문법 모델(240)에는 동일한 세그먼트이나 서로 다른 힌트를 포함하는 세그먼트가 존재할 수 있다. 서로 다른 힌트를 포함하는 세그먼트는 각각 전후 단어의 출현을 조건으로 출현할 확률에 관한 정보를 포함할 수 있다. 각각 세그먼트 전후에 어떤 단어가 출현하는지에 따라서, 서로 다른 힌트를 포함하는 세그먼트는 서로 다른 출현 확률 정보를 포함할 수 있다. 서로 다른 힌트를 포함하는 세그먼트는 동일한 발음열과 대응될 수 있으나, 출현 확률 정보에 기초하여 하나의 세그먼트가 결정될 수 있다.
음성 인식을 수행하는 디바이스는 260에서, 세그먼트에 포함된 힌트에 기초하여 하나 이상의 세그먼트들을 문법 모델 갱신 시 세그먼트로 분할 전의 단어로 재조합할 수 있다. 디바이스는 세그먼트의 힌트에 따라 재조합된 단어를 음성 인식 결과로써 출력할 수 있다.
도 3은 일 실시 예에 의한 문법 모델을 갱신하는 방법을 나타낸 순서도이다.
도 3의 단계 S310을 참조하면, 디바이스는 적어도 하나의 단어를 포함하는 코퍼스를 획득할 수 있다.
코퍼스는 컨텐츠 또는 웹 페이지에 포함된 텍스트들을 포함할 수 있다. 텍스트가 이미지 파일에 포함되어 있는 경우, OCR(optical character reader)에 의해 텍스트가 획득될 수 있다. 코퍼스는 다수의 단어를 포함하는 문장 또는 문단 형태의 텍스트를 포함할 수 있다. 디바이스는 코퍼스로부터 문법 모델(240)을 갱신하기 위한 단어를 획득할 수 있다.
단계 S320에서, 디바이스는 단계 S310에서 획득한 코퍼스로부터 적어도 하나의 단어를 획득할 수 있다. 단계 S310에서 획득될 수 있는 단어는 문법 모델(240)에 포함되어 있지 않아 음성 인식으로 검출될 수 없는 OOV를 포함할 수 있다.
단계 S330에서, 디바이스는 단계 S320에서 획득한 단어를 적어도 하나의 세그먼트로 분할할 수 있다. 디바이스는 단어 또는 세그먼트의 출현 빈도 수 또는 길이에 기초하여 분할 순서를 결정할 수 있다. 낮은 빈도 수의 긴 단어들은 자주 쓰이는 여러 개의 단어들이 합쳐진 형태일 가능성이 높은 점에서, 디바이스는 낮은 출현 빈도 수의 길이가 긴 단어들을 우선적으로 분할할 수 있다. 그리고, 디바이스는 분할된 세그먼트들의 출현 빈도 수에 기초하여, 분할 지점을 결정할 수 있다. 단계 S330에서 단어를 분할하는 방법에 관하여 이하 도 4 내지 도 6을 참조하여 더 자세히 설명하기로 한다.
디바이스는 문법 모델(240)의 크기를 고려하여, 문법 모델(240)에 추가될 수 있는 세그먼트 또는 단어가 소정 개수 이상이 될 때까지 분할을 수행할 수 있다.
또한, 디바이스는 단계 S330의 분할을 완료한 후, 단계 S330에서 생성된 세그먼트들을 이용하여, 단계 S320에서 획득된 단어를 분할할 수 있다. 디바이스는 단계 S320에서 획득된 단어 중 이미 생성된 세그먼트를 포함하는 단어를 식별하여, 분할할 수 있다. 디바이스는 분할로 인해 새로운 세그먼트가 생성되지 않도록 단어를 분할할 수 있다. 이때에는, 분할로 인해 새로운 세그먼트가 생성되지는 않고 이미 단계 S330에서 생성된 세그먼트들이 생성될 수 있다.
단계 S340에서, 디바이스는 단계 S330의 분할을 완료한 후, 분할된 세그먼트를 단어로 재조합하기 위한 힌트를 생성할 수 있다. 생성된 힌트는 세그먼트와 함께 문법 모델에 추가될 수 있다. 단어를 재조합하기 위한 힌트는 분할전 단어의 띄어쓰기 포함 여부에 따라서 결정될 수 있다. 음성 인식이 수행될 때, 세그먼트의 힌트에 기초하여, 세그먼트 사이에 띄어쓰기가 추가될 수 있다.
예를 들면, 세그먼트의 양끝에는 분할 전 원래 단어에서 단어의 경계에 존재하는지, 단어 내분에서 분할된 부분인지에 따라 서로 다른 힌트가 표기될 수 있다.
원래 단어가 '대한초등학교'인 경우, 힌트가 표기된 세그먼트는 '_대한+초등+학교_'로 생성될 수 있다. '초등학교교육과정'은 분할에 의해 '_초등+학교+교육+과정_'으로 세그먼트가 생성될 수 있다. '학교에 갔습니다'는 분할에 의해 '_학교+에_+_갔+습니다_'로 세그먼트가 생성될 수 있다. '학교'는 분할에 의해 '_학교_'로 세그먼트가 생성될 수 있다.
상술된 예시와 같이 원래 단어의 경계에 위치한 세그먼트의 경우, 단어의 경계임을 나타내기 위하여 세그먼트의 원래 단어의 경계에 위치한 부분에 특수한 기호가 붙여질 수 있다. 따라서, 상술한 방법에 따라 힌트가 표기되는 경우, '_s', 's_', '_s_', 's'와 같이 동일한 세그먼트이나 서로 다른 힌트를 포함하는 4가지의 세그먼트가 생성될 수 있다. 각 세그먼트는 서로 다른 출현 확률 정보를 가지는 값으로써 문법 모델(240)에 추가될 수 있다.
단계 S350에서, 디바이스는 힌트를 포함하는 적어도 하나의 세그먼트를 이용하여 문법 모델을 갱신할 수 있다. 문법 모델은 각 세그먼트들의 출현 확률 정보에 따라 갱신될 수 있다. 문법 모델에 이미 포함되어 있는 세그먼트의 경우, 세그먼트의 출현 확률 정보가 갱신될 수 있다. 문법 모델에 포함되어 있지 않은 세그먼트의 경우, 세그먼트의 출현 확률 정보가 문법 모델에 새롭게 추가될 수 있다. 세그먼트의 출현 확률 정보는 문법 모델에 포함되어 있는 출현 확률 정보와 코퍼스에 포함된 단어들에 기초하여 결정될 수 있다.
도 4는 일 실시 예에 의한 단어를 출현 빈도 수와 단어 길이에 따라 나타낸 그래프를 도시한 것이다.
도 4를 참조하면, 코퍼스에 포함된 단어 또는 문법 모델(240)을 생성하는데 쓰인 단어들이 출현 빈도 수와 단어 길이에 따라 2차원 그래프에 도시될 수 있다. 단어는 띄어쓰기에 따라 구분될 수 있는 텍스트를 포함할 수 있다. 상술한 바와 같이, 단어 길이가 긴 단어들이 주로 출현 빈도수가 낮고, 단어 길이가 짧은 단어들이 주로 출현 빈도수가 높다.
길이가 긴 단어는 '명사+명사' 또는 '명사+조사'와 같이 두 개 이상의 의미 있는 단어들로 구성된 경우가 많다. 따라서, 디바이스가 길이가 긴 단어를 우선적으로 분할함으로써, 짧은 단어는 분할되지 않고 문법 모델(240)에 그대로 추가될 수 있다. 따라서, 문법 모델을 갱신하는 디바이스는 코퍼스에 포함된 OOV를 최소화하면서 문법 모델(240)에 추가되는 단어 또는 세그먼트의 수를 최소화할 수 있다.
도 5는 일 실시 예에 의한 단어를 분할하는 순서의 일 예를 나타낸 그래프를 도시한 것이다.
도 5를 참조하면, 길이가 길고 출현 빈도수가 적을수록 우선적으로 분할될 수 있다. 저빈도의 단어 중에서도 길이가 짧아지는 방향, 1a에서 1e 순서로 순차적으로 분할될 수 있다. 또한, 고빈도의 단어의 경우에도 길이가 짧아지는 방향, 2a에서 2e 순서로 순차적으로 분할될 수 있다. 길이가 짧고 출현 빈도수가 많은 단어일수록 분할되지 않고 문법 모델(240)에 추가될 가능성이 높아질 수 있다.
도 6은 일 실시 예에 의한 단어를 분할하는 일 예를 나타낸 도면이다.
도 6을 참조하면, '채널에서'란 단어는 일 실시 예에 따라서 도 6에 도시된 바와 같이 분할될 수 있다. '채널에서'란 단어는 다양한 단위로 분할될 수 있으나, 음절단위로 분할되는 것을 기준으로 이하에서 설명하기로 한다.
'채널에서'란 단어는 띄어쓰기를 포함하지 않음에 따라 하나의 단어로 취급될 수 있으며, 음절 단위로 분할되는 경우, 세가지의 분할 방법을 포함할 수 있다. 문법 모델을 갱신하는 디바이스는 각 분할 방법에 따라 분할된 세그먼트의 출현 확률을 610과 같이 구할 수 있다.
610에서, f(s)는 단어 머리 부분(word head)에서 출현할 수 있는 세그먼트 s의 출현 확률을 의미한다. 또한, t(s)는 단어 끝 부분(word tail)에서 출현할 수 있는 세그먼트 s의 출현 확률을 의미한다. 상술된 단어는 음성 인식을 수행하는 디바이스에 의해 음성 인식될 수 있는 단어와 코퍼스에 포함되어 있는 단어들을 의미할 수 있다.
620에서, 0, 1, 2의 분할 방법에 대하여, 각 분할된 세그먼트의 출현 확률에 따라 스코어가 결정될 수 있다. 1의 분할 방법에 대한 스코어가 가장 높은 값을 가짐에 따라 1의 분할 방법에 따라서 '채널에서'란 단어가 '채널', '에서'로 분할될 수 있다.
분할 지점을 기준으로 앞뒤 세그먼트가 가장 빈번히 변경되는 부분일수록 해당 분할 방법의 스코어가 높은 점수로 결정될 수 있다. 반면, 분할 지점을 기준으로 앞뒤 세그먼트가 띄어쓰기 없이 자주 연결되어 나오는 경우, 해당 분할 방법의 스코어는 낮은 점수로 결정될 수 있다.
문법 모델을 갱신하는 디바이스는 스코어 값이 기준값 이상인 경우에 해당 분할 방법에 따라 단어를 분할할 수 있다. 스코어 값이 기준값 이하인 경우, 해당 분할 방법에 따른 세그먼트가 분할된 상태로 빈번하게 출현되지 않을 수 있으므로, 해당 분할 방법에 따라 단어를 분할하지 않음이 바람직하다.
630에서, 1의 분할 방법에 대한 스코어가 결정될 수 있다. 1의 분할 방법에 의하면, 각 세그먼트인 '채널', '에서'에 대한 출현 확률 값에 기초하여 스코어가 결정될 수 있다. '채널'은 단어 머리 부분에서 '채널에' 및 '채'가 출현한 것을 조건으로, '에서'는 단어 끝부분에서 '에서'와 '서'가 출현한 것을 조건으로 출현 확률 값이 결정될 수 있다.
630의 스코어는 상술한 방법에 한하지 않고, 다양한 방법으로 획득될 수 있다. 스코어는 각 분할 방법에 따라 분할된 세그먼트들의 출현 확률 값에 기초하여 결정될 수 있다.
이하에서 일 실시 예에 따라 단어를 분할하는 방법을 예를 들어 설명하기로 한다.
'박지훈 핸드폰'이란 단어를 분할하는 경우, '박+지훈+핸드폰'으로 세그먼트가 분할될 수 있다. 단어에 띄어쓰기가 포함됨에 따라 띄어쓰기를 기준으로 분할될 수 있다. '박지훈'에서 각 분할 방법에 따라 결정된 스코어에 기초하여 '박+지훈'으로 분할될 수 있다.
또한, '석모도 삼량염전'이란 단어는, '석모도+삼+량+염전'으로 분할될 수 있다.
또한, '청담동엘루이호텔'이란 단어는 '청담동+엘+루이+호텔'로 분할될 수 있다.
또한, '강남역씨티극장하녀몄씨꺼있나요'란 단어는 '강남역+씨티+극장+하녀+몇+씨+꺼있나요'로 분할될 수 있다.
또한, '쇼핑몰고고싱조경화우체국계좌번호먼가요'란 단어는 '쇼핑몰+고고싱+조+경화+우체국+계좌번호+먼가요'로 분할될 수 있다.
또한, '삼성전자읍제품살수있는매장이어디있나요'란 단어는 '삼성전자+읍+제품+살수있는+매장이+어디+있나요'로 분할될 수 있다.
상술된 예시들은, 웹 텍스트에서 흔히 볼 수 있는 구어체, 비정형 형태의 텍스트들을 포함하고 있다. '강남역', '삼성전자', '살수있는'처럼 빈번히 사용되는 단어들은 분할되지 않으나, '엘+루이', '삼+량+염전'처럼 출현 빈도가 적은 단어들은 빈도수가 충분히 많고 보다 짧은 세그먼트들로 분할될 수 있다. 특히, '삼성전자+읍+제품'이나 '몄+씨'와 같이 오자가 포함되어 있는 경우에도, 주변 세그먼트는 적합하게 분할될 수 있다.
분할된 각각의 세그먼트는 그 자체로 의미를 가지는 접두사, 접미사, 조사 등의 더 작은 단위로 나뉘어 질 수 있다. 세그먼트에 포함된 더 작은 단위의 언어가 다른 세그먼트들에 포함된 경우도 다수 존재하여, 더 작은 단위의 세그먼트로 분할되지 않을 수 있다.
일 실시 예에 의하면, 단어로부터 분할된 각 세그먼트들은 충분한 출현 빈도수를 가지므로, 신조어에 대해 음성 인식이 수행되는 경우, 세그먼트들을 조합함으로써 음성 신호로부터 신조어를 검출하는데 보다 유리할 수 있다.
이하 도 7을 참조하여, 일 실시 예에 따라 음성 인식을 수행하는 방법에 대해 더 자세히 설명하기로 한다.
도 7은 일 실시 예에 의한 음성 인식을 수행하는 방법을 나타낸 순서도이다.
도 7을 참조하면, 단계 S710에서, 음성 인식을 수행하는 디바이스는 음성 인식을 수행하고자 하는 음성 데이터를 획득할 수 있다. 음성 데이터는 사람의 말 소리가 포함된 음성 신호를 포함할 수 있다.
단계 S720에서, 디바이스는 문법 모델(240)에 기초하여, 음성 인식을 수행함으로써 세그먼트 또는 단어를 검출할 수 있다. 예를 들면, 디바이스는 음성 데이터와 대응되는 발음열을 구하고, 발음 사전에 기초하여 발음열과 대응되는 세그먼트 또는 단어를 구할 수 있다. 또한, 디바이스는 발음 사전에 기초하여 획득된 세그먼트 또는 단어 중에서, 문법 모델(240)에 기초하여, 높은 출현 확률 값을 가지는 세그먼트 또는 단어를 검출할 수 있다.
단계 S730에서, 디바이스는 단계 S720에서 검출된 세그먼트의 힌트에 기초하여 세그먼트를 원래 단어로 재조합할 수 있다. 예를 들면, 단계 S720에서 검출될 수 있는 세그먼트는 가장 높은 출현 확률 정보를 가지는 세그먼트일 수 있다. 디바이스는 검출된 세그먼트의 힌트를 이용하여 세그먼트 간 띄어쓰기를 추가할 수 있다.
상술된 예와 같이 단어 경계에 위치한 세그먼트에 '_' 기호가 추가되는 경우, 디바이스는 '_' 기호가 두 번 연속으로 나올 때 띄어쓰기를 추가할 수 있다.
일 예로, '대한_+초등+_학교'의 경우, 디바이스는 '대한초등학교'로 단어를 재조합할 수 있다. '초등_+학교_+_교육_+과정'은, '학교'와 '교육' 사이에 _기호가 두 번 연속으로 나오므로, '초등학교 교육과정'으로 재조합될 수 있다. '_학교_+에_+_갔+습니다_'는 '에'와 '갔' 사이에 _기호가 두 번 연속으로 나오므로, '학교에 갔습니다'로 재조합될 수 있다.
이하 도 8 내지 도 13을 참조하여, 음성 데이터에 포함되어 있는 단어를 이용하여 OOV를 검출함으로써 음성 데이터를 갱신하고, 갱신된 음성 데이터를 이용하여 음성 인식을 수행하는 방법에 관하여 더 자세히 설명하기로 한다.
도 8은 일 실시 예에 의한 음성 데이터에 포함된 단어를 이용하여 OOV를 검출하고, 검출된 OOV에 기초하여 문법 모델을 갱신하는 프로세스를 나타낸 예시 도면이다.
도 8을 참조하면, 단어 리스트(810)는 코퍼스로부터 획득된 OOV를 포함할 수 있다. 음성 데이터를 갱신하는 디바이스는 820에서, 단어 리스트(810)에 포함된 OOV의 발음열을 생성할 수 있다. 디바이스는 예를 들면, N-best 탐색 알고리즘에 따라서, OOV의 발음열을 생성할 수 있다. 이에 한하지 않고 디바이스는 다양한 방법으로 OOV의 발음열을 생성할 수 있다. 실시 예에 따라 복수 개의 OOV의 발음열이 생성될 수도 있다.
디바이스는 820에서 생성한 OOV의 발음열과 OOV를 대응시켜 단어/발음 리스트(830)를 생성할 수 있다. 그리고, 디바이스는 850에서, 음성 인식 가능한 단어들의 발음열을 포함하는 발음 사전(840)을 이용하여 단어/발음 리스트(830)에 포함된 OOV의 발음열들을 분절할 수 있다. 디바이스는 발음 사전(840)에 포함된 발음열로 OOV의 발음열을 분절할 수 있다. 발음 사전(840)은 도 1의 발음 사전(150)과 대응될 수 있으나, 이에 한하지 않고, 발음 사전(840)은 기존에 존재하는 단어의 발음열을 포함하는 다양한 형태의 데이터를 포함할 수 있다.
기존에 존재하는 단어의 발음열에 기초하여 제2 문법 모델이 갱신됨에 따라, OOV가 새로운 발음열이 아닌 기존의 발음열에 따라 음성 인식될 수 있는 점에서 음성 인식 시 더 높은 정확률로 OOV가 검출될 수 있다.
디바이스는 850에서 분절된 OOV의 발음열들을 포함한 분절 단어 리스트(860)를 생성할 수 있다. 분절 단어 리스트(860)에는 동일한 OOV에 대하여 서로 다른 분절 방식에 따라 분절된 복수 개의 발음열이 존재할 수 있다.
각 발음열에 대하여, 분절 방식이나 각 발음열에 포함된 단어에 따라서 서로 다른 스코어가 할당될 수 있다. 예를 들면, 조사와 같은 특정된 단어를 기준으로 분절된 발음열에 대하여 더 높은 스코어가 할당될 수 있다. 또한, 미리 정해진 단어를 포함하는 발음열에 대하여 더 높은 스코어를 할당할 수 있다. 할당된 스코어에 따라 제2 문법 모델에 추가되는 발음열의 출현 확률 정보가 결정될 수 있다. 예를 들면, 스코어 값에 비례하여 출현 확률 값이 결정될 수 있다.
디바이스는 870에서, 분절 단어 리스트(860)의 각각 분절된 발음열에 대하여 출현 확률 정보를 결정하고, 결정된 출현 확률 정보를 포함하는 발음열을 이용하여 제2 문법 모델(880)을 갱신할 수 있다. 제2 문법 모델(880)에는 분절 단어 리스트(860)의 각 분절된 발음열에 대한 출현 확률 정보가 추가될 수 있다.
이하 도 9를 참조하여, 도 8에서 설명한 문법 모델을 갱신하는 방법을 예를 들어 더 자세히 설명하기로 한다.
도 9는 일 실시 예에 의한 문법 모델을 갱신하는 방법의 일 예를 나타낸 예시 도면이다.
도 9를 참조하면, 910의 단어 리스트는 코퍼스에서 획득된 OOV를 포함할 수 있다. 디바이스는 920과 같이 발음열 생성 프로세스에 따라 OOV의 발음열을 포함하는 단어/발음 리스트를 생성할 수 있다.
920에서, '쿵따리샤바라'는 OOV이며, 'K U OO TT AA R IY S YA B A R A'는 OOV의 발음열이다. 또한, 'K A K A O T O KK'은 '카카오톡'의 발음열이다. 실시 예에 따라 다수의 발음열이 존재할 수도 있다.
930은 미리 구축되어 있는 발음 사전을 나타낸 일 예이다. 발음 사전은 음성 인식으로 검출될 수 있는 단어들의 발음열을 포함할 수 있다.
940은 분절 단어 리스트를 나타낸 일 예이다. 분절 단어 리스트는 OOV의 발음열을 발음 사전(930)에 포함된 단어들로 재구성된 분절 단어열을 포함할 수 있다. 분절 단어열은 발음 사전(930)의 발음열과 OOV의 발음열을 서로 비교함으로써 획득될 수 있다.
'쿵따리샤바라'의 발음열 중 'K U OO'는 발음 사전의 'K U OO'과 동일하므로, 분절 단어열에 'K U OO'의 '쿵'이 포함될 수 있다. 'K U OO TT AA'는 발음 사전의 '쿵따'의 발음열과 동일하므로, 분절 단어열에 '쿵따'가 포함될 수 있다. 마찬가지로, OOV의 발음열 중 발음 사전의 발음열과 동일한 단어가 분절 단어열에 포함될 수 있다.
950은 분절 단어 리스트에 기초하여 갱신될 수 있는 제2 문법 모델의 일 예를 나타낸 것이다. 950을 참조하면, 제2 문법 모델은 각각 '쿵' 다음 '딸이'가 출현할 확률 정보, '쿵 딸이' 다음 '샤바'가 출현할 확률 정보, '쿵 딸이 샤바' 다음 '라'가 출현할 확률 정보, '카카오' 다음 '톡'이 출현할 확률 정보를 포함할 수 있다. 제2 문법 모델은 분절 단어 리스트의 분절 단어열에 기초하여 갱신될 수 있다.
제2 문법 모델은 기존에 사용되는 제1 문법 모델 또는 상술된 문법 모델(160, 240)과의 가중치 합을 구하는 방식으로 이용될 수 있다. 예를 들면, 하나의 단어에 대한 출현 확률 정보는 제2 문법 모델에서 획득된 출현 확률 정보 및 제1 문법 모델 또는 문법 모델(160, 240)에서 획득된 출현 확률 정보의 가중치 합으로부터 결정될 수 있다. 이에 한하지 않고, 상술된 방법으로 생성되거나 갱신된 제2 문법 모델은 다양한 방법으로 음성 인식 수행 시 이용될 수 있다.
도 10은 일 실시 예에 의한 제2 문법 모델을 갱신하는 방법을 나타낸 순서도이다.
도 10을 참조하면, 문법 모델을 갱신하는 디바이스는 단계 S1010에서, 적어도 하나의 단어를 포함하는 코퍼스를 획득할 수 있다. 단계 S1020에서, 디바이스는 코퍼스로부터 적어도 하나의 단어를 획득할 수 있다. 예를 들면, 디바이스는 코퍼스로부터 음성 인식 시 검출될 수 없는 단어인 OOV를 획득할 수 있다.
단계 S1030에서, 디바이스는 단계 S1020에서 획득된 단어에 대한 발음열을 생성할 수 있다. 발음열은 텍스트로부터 발음열을 생성하는 방법에 따라 생성될 수 있다.
단계 S1040에서, 디바이스는 단계 S1030에서 생성된 발음열과 발음 사전에 포함된 발음열에 기초하여, 단계 S1020에서 획득된 단어를 발음 사전에 포함된 단어로 분절함으로써 분절 단어열을 생성할 수 있다. 디바이스는 코퍼스로부터 획득된 단어의 발음열과 발음 사전의 발음열을 비교함으로써 분절 단어열을 생성할 수 있다. 분절 단어열은 발음 사전에 포함된 단어들로 구성될 수 있다.
단계 S1050에서, 디바이스는 분절 단어열에 포함된 단어에 대한 음성 인식시 출현할 확률에 관한 정보를 획득할 수 있다. 디바이스는 단계 S1040에서 생성된 분절 단어열에서 각 단어의 출현 확률 정보를 획득할 수 있다.
단계 S1060에서, 디바이스는 단계 S1050에서 획득된 출현 확률 정보에 기초하여 제2 문법 모델을 갱신할 수 있다.
이하 도 11 내지 도 13을 참조하여, 상술된 도 8 내지 도 10에 도시된 방법에 따라 갱신된 음성 데이터에 기초하여 음성 인식을 수행하는 방법에 관하여 더 자세히 설명하기로 한다.
도 11은 일 실시 예에 의한 음성 인식을 수행하는 프로세스를 나타낸 예시 도면이다.
도 11을 참조하면, 음성 인식을 수행하는 디바이스는 1120에서 문법 모델(1110) 및 제2 문법 모델(1130)을 이용하여 음성 인식을 수행할 수 있다. 문법 모델(1110)은 상술된 문법 모델(160, 240)을 포함할 수 있다. 제2 문법 모델(1130)은 상술된 제2 문법 모델(880)을 포함할 수 있다. 디바이스는 1120에서 음성 인식을 수행함으로써, 입력된 음성과 대응되는 단어를 획득할 수 있다.
디바이스는 1140에서, 분절 단어 리스트(1150)를 이용하여, 제2 문법 모델(1130)로부터 획득된 단어를 복원할 수 있다. 제2 언어 모델은 코퍼스에서 획득된 단어 대신 발음 사전에 포함된 단어에 대한 출현 확률 정보를 포함한다. 따라서, 디바이스는 분절 단어열의 원래 단어를 포함하는 분절 단어 리스트(1150)를 이용하여 코퍼스에서 획득된 원래 단어로 음성 인식된 단어를 복원할 수 있다.
1160에서, 디바이스는 복원된 단어를 재조합하여 음성 인식된 결과로써 텍스트를 출력할 수 있다. 예를 들어, 복원된 단어가 상술된 힌트를 포함하는 세그먼트와 같이 힌트를 포함하고 있는 경우, 디바이스는 상술한 재조합 방법과 같이, 힌트에 기초하여 복원된 단어를 재조합할 수 있다.
도 12는 일 실시 예에 의한 음성 인식을 수행하는 방법을 나타낸 순서도이다.
도 12를 참조하면, 단계 S1210에서 디바이스는 음성 인식을 수행하고자 하는 음성 데이터를 획득할 수 있다. 또한, 디바이스는 음성 데이터와 대응되는 적어도 하나의 후보 발음열을 검출할 수 있다. 디바이스는 상술된 음향 모델(130)을 이용하여 후보 발음열을 검출할 수 있다.
단계 S1220에서, 디바이스는 상술된 제2 문법 모델을 포함하는 문법 모델에 기초하여, 음성 인식을 수행함으로써 음성 데이터와 대응되는 단어를 검출할 수 있다. 제2 문법 모델에 기초하여 음성 인식으로 검출된 단어는, 원래 단어가 아닌 발음 사전에 존재하는 단어에 해당되므로, 단계 S1230에서 원래 단어로 복원될 수 있다.
단계 S1230에서, 디바이스는 분절 단어 리스트에 기초하여 제2 문법 모델에 기초하여 검출된 단어를 코퍼스에서 획득된 원래 단어로 복원할 수 있다.
도 13은 일 실시 예에 의한 음성 인식을 수행하는 일 예를 나타낸 예시 도면이다.
도 13을 참조하면, 디바이스는 제2 문법 모델을 포함하는 문법 모델에 기초하여 음성 인식 결과로써 1310에 도시된 바와 같이 단어들을 획득할 수 있다.
디바이스는 분절 단어 리스트(1320)를 참조하여, 음성 인식 결과(1310)에 포함되어 있는 단어 중 분절 단어열과 동일한 단어를 검출하고, 검출된 단어를 원래 단어로 복원할 수 있다.
예를 들어, 음성 인식 결과(1310) 중 '쿵 딸이 샤 발아'는 분절 단어 리스트(1320)의 '쿵+딸이+샤+발아'와 동일하다. 따라서, '쿵 딸이 샤 발아'는 1330에서, '쿵+딸이+샤+발아'와 대응되는 원래 단어인 '쿵따리샤바라'로 복원될 수 있다.
이하 도 14 내지 도 16을 참조하여, 정해진 단어의 순서에 따라 음성 인식을 수행하는 방법에 대하여 자세히 설명하기로 한다.
도 14는 일 실시 예에 의한 음성 인식부(1410)의 내부 구성을 나타낸 블록도이다.
음성 인식부(1410)는 상술된 음성 인식을 수행하는 디바이스에 포함될 수 있다. 도 14를 참조하면, 음성 인식부(1410)는 제1 문법 모델(1420), 제2 문법 모델(1430), 음성 인식 코어(1440) 및 위치 기반 음소 집합(1450)을 포함할 수 있다.
제1 문법 모델(1420)은 상술된 문법 모델(160, 240)을 포함할 수 있으며, 이에 한하지 않고, 음성 인식 시 이용될 수 있는 다양한 종류의 문법 모델을 포함할 수 있다.
제2 문법 모델(1430)은 소정 순서에 따라 음소 또는 단어가 음성 인식될 수 있도록 조정된 출현 확률 정보를 포함한다.
한국어에서, 처음에 올 수 있는 음소와 두번째 및 마지막으로 올 수 있는 음소는 자음 또는 모음으로 결정될 수 있다. 예를 들면, 첫 음소 및 끝 음소는 자음으로 결정될 수 있고, 두번째 음소는 모음으로 결정될 수 있다. 첫 음소가 자음으로 결정되었는데, 두번째 음소가 자음으로 결정되는 경우, 언어가 구성될 수 없으므로 바람직하지 않다. 따라서, 일 실시 예에 의한 음성 인식부(1400)는 제2 문법 모델(1430)을 참조하여, 소정 순서에 따라 음소가 검출될 수 있도록 음성 인식을 수행할 수 있다.
음소에 한하지 않고, 일 실시 예에 의한 음성 인식부(1400)는 단어, 음절 등의 정해진 순서에 따라 음성 인식을 수행할 수 있다. 음성 인식 시 소정 단어 또는 음절이 검출되었을 때, 다음 음성 데이터에 대하여 미리 정해진 단어 또는 음절이 검출될 수 있도록 음성 인식이 수행될 수 있다. 음성 인식부(1400)는 정해진 순서에 따라 단어, 음절 등이 음성 인식될 수 있도록 조정된 출현 확률 값을 포함하는 제2 문법 모델(1430)을 이용하여 음성 인식을 수행할 수 있다. 단어 또는 음절의 순서가 중요한 경우, 음성 인식부(1400)는 미리 정해진 순서에 따라 단어 또는 음절이 음성 인식될 수 있도록 제1 문법 모델(1420) 대신 제2 문법 모델(1430)을 이용하여 음성 인식을 수행할 수 있다.
음성 인식 코어(1440)는 제1 문법 모델(1420) 및 제2 문법 모델(1430)을 이용하여 입력된 음성 신호에 대한 음성 인식을 수행할 수 있다. 상술된 방법과 같이 제1 문법 모델(1420) 및 제2 문법 모델(1430)로부터 획득된 출현 확률 값에 대하여 가중치 합을 구함으로써 소정 단어에 대한 출현 확률 값이 결정될 수 있다. 일 실시 예에 의한 음성 인식 코어(1440)는 일반 모드에서는 제1 문법 모델(1420) 및 제2 문법 모델(1430) 중 적어도 하나를 이용하여 음성 인식을 수행할 수 있다.
또한, 음성 인식 코어(1440)는 미리 정해진 순서에 따라 음소, 단어 등이 차례대로 음성 인식될 수 있는 순서 모드에서 음성 인식을 수행할 수 있다. 음성 인식 코어(1440)는 순서 모드에서 동작하는 경우, 순서에 따라 음성 인식이 수행될 수 있도록 조정된 출현 확률 값을 포함하는 제2 문법 모델(1430)을 이용하여 음성 인식을 수행할 수 있다.
위치 기반 음소 집합(1450)은 각각, 첫음소(1451), 중간 음소(1452), 끝 음소(1453)로 분류된 음소에 관한 식별 정보들을 포함할 수 있다. 위치 기반 음소 집합(1450)은 상술된 음소의 순서에 따라 음성 인식이 수행되는 경우 이용될 수 있다.
음성 인식 코어(1440)가 일반 모드에서 음성 인식을 수행할 때, 첫음소(1451)로 분류된 음소가 음성 인식된 결과로 검출되는 경우, 음성 인식 코어(1440)는 순서 모드로 변환되어 음성 인식을 수행할 수 있다. 음성 인식 코어(1440)는 순서 모드에서, 제2 문법 모델(1430)을 이용하여 음성 인식을 수행할 수 있다.
순서 모드에서 음성 인식 코어(1440)가 동작하는 경우, 첫음소(1451) 다음의 음성 데이터에 대하여 중간 음소(1452)에 속하는 음소가 검출될 수 있도록 음성 인식이 수행될 수 있다. 중간 음소(1452)가 음성 인식으로 검출된 후, 음성 인식 코어(1440)는 끝 음소(1453)에 속하는 음소가 검출될 수 있도록 음성 인식을 수행할 수 있다. 끝 음소(1453)가 음성 인식으로 검출되는 경우, 음성 인식 코어(1440)는 다시 일반 모드에서 음성 인식을 수행할 수 있다.
상술된 예에서는 음소 순서에 따라 음성 인식이 수행되는 경우를 예를 들어 설명하였으나, 음소 순서에 한하지 않고, 미리 정해진 단어, 음절 등의 순서에 따라 음성 인식이 수행될 수 있다. 또한, 상술된 예에서는 첫번째, 두번째, 세번째까지 기재되어 있으나 이에 한하지 않고 다수의 순서에 따라 음성 인식이 수행될 수 있다.
음성 인식 코어(1440)가 첫 순서의 단어를 음성 인식을 검출한 경우, 순서 모드로 동작할 수 있다. 음성 인식 코어(1440)는 제2 문법 모델(1430)을 이용하여 다음 순서에 속하는 단어가 음성 인식될 수 있도록 동작할 수 있다. 예를 들면, 음성 인식 코어(1440)는 제2 문법 모델(1430)을 이용하여 첫 순서의 단어 다음에 올 수 있는 단어들의 집합에 속하는 단어 중에서 음성 인식으로 검출할 수 있다. 음성 인식 코어(1440)는 마지막 순서의 단어가 검출될 때까지 순서 모드에서 음성 인식을 수행할 수 있다. 음성 인식 코어(1440)는 마지막 순서의 단어가 검출되는 경우, 순서 모드에서 일반 모드로 돌아가, 제1 문법 모델(1420) 및 제2 문법 모델(1430)을 이용하여 음성 인식을 수행할 수 있다.
도 15는 일 실시 예에 의한 미리 정해진 단어의 순서에 따라 음성 인식을 수행하는 방법을 나타낸 순서도이다.
도 15를 참조하면, 음성 인식을 수행하는 디바이스는, 단계 S1510에서, 음성 인식을 수행하고자 하는 음성 데이터를 획득할 수 있다.
단계 S1520에서, 디바이스는 제1 문법 모델 및 제2 문법 모델에 기초하여, 단계 S1510에서 획득된 데이터에 대하여 일반 모드에서, 음성 인식을 수행할 수 있다. 예를 들면, 디바이스는 음성 데이터와 대응되는 적어도 하나의 후보 발음열을 획득할 수 있다. 디바이스는 각 후보 발음열과 대응되는 후보 단어들을 획득할 수 있다. 디바이스는 상술된 발음 사전(150)에 기초하여 발음열과 대응되는 단어를 획득할 수 있다. 디바이스는 제1 문법 모델 및 제2 문법 모델에 기초하여, 각 후보 발음열과 대응되는 단어에 대한 출현 확률 정보에 기초하여 하나의 단어를 음성 인식 결과로써 검출할 수 있다.
이하 설명에서, 음성 인식으로 검출될 수 있는 언어는 단어 단위에 한하지 않고, 음절, 음소, 어절 등 다양한 단위로 검출될 수 있으나, 설명 편의상 단어 단위로 검출되는 것을 기준으로 설명하기로 한다.
제1 문법 모델(1420)은 음성 인식 시 이용될 수 있는 다양한 종류의 문법 모델을 포함할 수 있다. 제2 문법 모델(1430)은 소정 순서에 따라 음소 또는 단어가 음성 인식될 수 있도록 조정된 출현 확률 정보를 포함한다. 디바이스는 제1 문법 모델 및 제2 문법 모델에서 획득된 출현 확률 값의 가중치 합을 구함으로써 음성 인식을 수행할 수 있다.
단계 S1530에서, 단계 S1520에서 음성 인식된 단어가 제1 순위로 정해진 단어에 속하는지 여부를 결정할 수 있다. 최종 단어는 상술한 바와 같이 단어 단위에 한하지 않고, 음절, 음소 등 다양한 단위의 언어를 포함할 수 있다.
단계 S1540에서, 최종 단어가 제1 순위로 정해진 단어에 속하는 경우, 디바이스는 순서 모드에서 음성 인식을 수행할 수 있다. 디바이스는 제2 문법 모델에 기초하여, 미리 정해진 순서에 따라 단어가 검출될 수 있도록 음성 인식을 수행할 수 있다. 제1 순위의 단어가 음성 인식으로 검출된 이후, 디바이스는 제2 문법 모델에 기초하여 제1 순위 다음으로 올 수 있는 단어들 중에서 음성 인식 결과로써 단어를 검출할 수 있다.
디바이스는 단계 S1550에서, 마지막 순위에 속하는 단어가 음성 인식 결과로써 검출될 때까지 순서 모드에서 음성 인식을 수행할 수 있다. 디바이스는 마지막 순위에 속하는 단어가 검출되는 경우, 일반 모드로 돌아가, 단계 S1520에서 제1 문법 모델 및 제2 문법 모델에 기초하여 음성 인식을 수행할 수 있다.
도 16은 일 실시 예에 의한 정해진 순서에 따라 음성 인식을 수행하는 일 예를 나타낸 예시 도면이다.
도 16의 1610을 참조하면, 서로 다른 문법 모델에 따라서 단어가 음성 인식된 결과로써 검출될 수 있다. '오늘', '무한', '도전', '언제', '해'는 일반 모드에서 제1 문법 모델(LM1)에 의해 음성 인식 결과로 검출될 수 있다. 상술된 단어들은 제1 문법 모델(LM1)과 제2 문법 모델(LM2)의 가중치 합에 따라 검출될 수도 있다. 또한, 'L_B', 'A', 'B', 'A_E'는 순서 모드에서 제2 문법 모델(LM2)에 따라 음성 인식 결과로 검출될 수 있다. 'L_B', 'A', 'B', 'A_E'는 상술된 단어, 음소, 음절 등을 기호로서 표기한 것이다. '_B'는 제1 순위로 지정됨을 나타내며, '_E'는 마지막 순위로 지정됨을 나타낼 수 있다.
'오늘'이란 단어가 일반 모드에서 검출된 후, 제1 순위로 지정된 'L_B'가 검출된 경우, 디바이스는 순서 모드에서 제2 문법 모델(LM2)에 따라 음성 인식을 수행할 수 있다. 'L_B'가 검출된 후, 정해진 순서에 따라 'A', 'B'가 음성 인식 결과로써 검출될 수 있다. 예를 들면, 'A', 'B'는 각각 제2 순위, 제3 순위로 검출될 수 있는 단어들 중 하나일 수 있다. 'A_E'가 검출되는 경우, 디바이스는 순서 모드에서 일반 모드로 돌아가 음성 인식을 수행할 수 있다.
도 16의 1620을 참조하면, 서로 다른 문법 모델에 따라서 단어가 음성 인식된 결과로써 검출될 수 있다. '오늘', '무한', '도전', '언제', '해'는 일반 모드에서 제1 문법 모델(LM1)에 의해 음성 인식 결과로 검출될 수 있다. 상술된 단어들은 제1 문법 모델(LM1)과 제2 문법 모델(LM2)의 가중치 합에 따라 검출될 수도 있다. 또한, '혹_B', '성', '탈출/E'는 순서 모드에서 제2 문법 모델(LM2)에 따라 음성 인식 결과로 검출될 수 있다.
'오늘'이란 단어가 일반 모드에서 검출된 후, 제1 순위로 지정된 '혹_B'가 검출된 경우, 디바이스는 순서 모드에서 제2 문법 모델(LM2)에 따라 음성 인식을 수행할 수 있다. '혹_B'가 검출된 후, 정해진 순서에 따라 '성'이 음성 인식 결과로써 검출될 수 있다. 예를 들면, '성'은 '혹_B' 다음으로 검출될 수 있는 단어들 중 하나일 수 있다. '탈출/E'이 검출되는 경우, 디바이스는 순서 모드에서 일반 모드로 돌아가 음성 인식을 수행할 수 있다.
이하 도 17 내지 도 21을 참조하여, 단어가 속한 클래스에 따라 문법 모델을 갱신하고, 음성 인식을 수행하는 방법에 대해 더 자세히 설명하기로 한다.
도 17은 일 실시 예에 의한 단어가 속한 클래스에 따라 음성 인식을 수행하는 음성 인식부의 내부 구성을 나타낸 블록도이다.
음성 인식부(1710)는 상술된 음성 인식을 수행하는 디바이스에 포함될 수 있다. 도 17을 참조하면, 음성 인식부(1710)는 클래스 기반 문법 모델(1720), 클래스 별 문법 모델(1730) 및 음성 인식 코어(1740)를 포함할 수 있다.
음성 인식 코어(1740)는 클래스 기반 문법 모델(1720) 및 클래스 별 문법 모델(1730)을 이용하여 음성 인식을 수행할 수 있다.
클래스 기반 문법 모델(1720)은 엔트리 토큰을 포함하는 단어에 관한 출현 확률 정보를 포함할 수 있다. 엔트리 토큰을 포함하는 단어가 음성 인식된 결과로 검출되는 경우, 음성 인식 코어(1740)는 일반 모드에서 클래스 인식 모드로 전환되어 음성 인식을 수행할 수 있다.
클래스 기반 문법 모델(1720)은 음성 인식 시 이용될 수 있는 다양한 종류의 문법 모델을 포함할 수 있다. 예를 들면, 클래스 기반 문법 모델(1720)은 상술된 제1 문법 모델(1420) 및 제2 문법 모델(1430), 문법 모델(160,240) 등을 포함할 수 있다.
클래스 별 문법 모델(1730)은 하나 이상의 클래스마다 각각 존재하는 클래스 별 문법 모델을 포함할 수 있다. 서로 다른 클래스에 속하는 문법 모델은 해당 클래스에 속하는 단어에 관한 출현 확률 정보를 포함할 수 있다. 엔트리 토큰을 포함하는 단어가 음성 인식된 결과로 검출됨에 따라, 음성 인식 코어(1740)가 클래스 인식 모드에서 동작하는 경우, 음성 인식 코어(1740)는 클래스 별 문법 모델(1730)을 이용하여 음성 인식을 수행할 수 있다. 음성 인식 코어(1740)는 엔트리 토큰이 나타내는 클래스에 따라 해당 클래스에 속하는 문법 모델을 이용하여 음성 인식을 수행할 수 있다. 음성 인식 코어(1740)는 클래스 인식 모드에서, 엑시트 토큰을 포함하는 단어를 검출하는 경우, 일반 인식 모드로 돌아가 동작할 수 있다.
클래스 별 문법 모델(1730)에 속한 단어는 다른 클래스를 나타내는 엔트리 토큰을 포함할 수 있다. 다른 클래스를 나타내는 엔트리 토큰을 포함하는 단어가 음성 인식 결과로 검출되는 경우, 엔트리 토큰이 나타내는 클래스에 속하는 문법 모델에 따라 음성 인식이 수행될 수 있다. 예를 들면, 음성 인식 코어(1740)는 클래스 인식 모드에서 제1 클래스에 속하는 문법 모델을 이용하여 음성 인식을 수행할 수 있다. 클래스 인식 모드에서 제2 클래스를 나타내는 엔트리 토큰을 포함하는 단어가 검출되는 경우, 음성 인식 코어(1740)는 제2 클래스에 속하는 문법 모델을 이용하여 음성 인식을 수행할 수 있다.
도 18은 일 실시 예에 의한 클래스 기반 문법 모델을 갱신하는 방법을 나타낸 순서도이다.
도 18을 참조하면, 단계 S1810에서 문법 모델을 갱신하는 디바이스는 적어도 하나의 단어를 포함하는 코퍼스를 획득할 수 있다. 단계 S1820에서, 디바이스는 코퍼스로부터 적어도 하나의 단어를 획득할 수 있다. 단계 S1820에서 획득될 수 있는 단어는 음성 인식 디바이스에 의해 음성 인식으로 검출될 수 없는 단어인 OOV를 포함할 수 있다.
단계 S1830에서, 디바이스는 단계 S1820에서 획득된 단어에 대하여 엔트리 토큰을 추가할 지 여부를 결정하고, 결정된 결과에 따라 단어에 엔트리 토큰을 추가할 수 있다. 예를 들면, 디바이스는 소정 단어 다음에 미리 정해진 클래스에 속하는 단어가 음성 인식될 수 있도록 소정 단어에 엔트리 토큰을 포함시켜 클래스 기반 문법 모델(1720)을 갱신할 수 있다.
단계 S1840에서, 디바이스는 단계 S1830에서 엔트리 토큰을 포함하는 단어를 이용하여, 클래스 기반 문법 모델(1720)을 갱신할 수 있다. 디바이스는 엔트리 토큰을 포함하는 단어에 대한 출현 확률 정보를 결정하고, 결정된 출현 확률 정보를 이용하여 클래스 기반 문법 모델(1720)을 갱신할 수 있다.
도 19는 일 실시 예에 의한 클래스 별 문법 모델을 갱신하는 방법을 나타낸 순서도이다.
도 19를 참조하면, 문법 모델을 갱신하는 디바이스는 단계 S1910에서 코퍼스로부터 획득된 단어가 속한 클래스를 결정할 수 있다. 코퍼스로부터 획득된 단어는 상술된 OOV를 포함할 수 있다. 디바이스는 단계 S1910에서 클래스가 결정되지 않은 단어의 경우, 상술된 도 18의 클래스 기반 문법 모델을 갱신하는 방법에 따라 클래스 기반 문법 모델을 갱신하는데 이용할 수 있다.
단계 S1920에서, 디바이스는 단계 S1910에서 클래스가 결정된 단어에 대하여 엑스트 토큰을 추가할 지 여부를 결정하고, 결정 결과에 따라 엑시트 토큰을 추가할 수 있다. 예를 들면, 디바이스는 단어의 의미에 따라서, 단어에 엑시트 토큰을 추가할지 여부를 결정할 수 있다.
단계 S1930에서, 디바이스는 엑시트 토큰을 포함하거나 포함하지 않는 단어를 이용하여 단어가 속한 클래스의 문법 모델을 갱신할 수 있다.
도 20은 일 실시 예에 의한 클래스 기반 문법 모델 및 클래스별 문법 모델을 이용하여 음성 인식을 수행하는 일 예를 나타낸 예시 도면이다.
도 20을 참조하면, '오늘 <A>'은 클래스 기반 문법 모델(1720)에 기초하여 음성 인식 결과로 검출될 수 있다. <A>(2010)은 A 클래스를 나타내는 엔트리 토큰을 의미한다. A 클래스를 나타내는 엔트리 토큰(2010)을 포함하는 단어가 검출됨에 따라서, 음성 인식 디바이스는 클래스 인식 모드(2020)에서 클래스 별 문법 모델을 이용하여 음성 인식을 수행할 수 있다.
음성 인식된 결과에 따라, 클래스 인식 모드(2020)에서 A 클래스에 속하는 클래스 문법 모델(1730)에 기초하여, '1박 2일 </A>(2030)' 이나 '무한 도전 </A>(2040)'이 검출될 수 있다. </A>(2030, 2040)은 A 클래스를 나타내는 엑시트 토큰을 의미한다. 클래스 인식 모드(2020)에서, 엑시트 토큰(2030, 2040)을 포함하는 단어가 검출됨에 따라서, 음성 인식 디바이스는 클래스 인식 모드(2020)에서 일반 모드로 돌아가 음성 인식을 수행할 수 있다.
일 실시 예에 의하면, '오늘 </A>'이란 단어 다음에, 프로그램 이름에 속하는 단어들이 검출될 수 있도록 A 클래스에 속하는 문법 모델이 이용될 수 있다. 따라서, '오늘 </A>'이란 단어 다음에 프로그램 이름이 아닌 단어가 음성 인식 결과로 검출됨에 따라 음성 인식 오류가 발생될 가능성이 낮아질 수 있다. 음성 인식 디바이스는 A 클래스의 문법 모델에 포함된 단어들이 검출될 수 있도록 A 클래스의 문법 모델만 이용하여 음성 인식을 수행하거나, A 클래스의 문법 모델에 대한 가중치를 높게 설정하여 음성 인식을 수행할 수 있다. 또한, 엔트리 토큰은 '오늘' 대신 '<A> 언제 해'와 같이 '언제 해'란 단어 앞에 포함될 수도 있다.
반면, 엔트리 토큰을 포함하지 않는 '오늘' 이나 '언제 해'가 검출되는 경우, 음성 인식 디바이스는 클래스 인식 모드에서 동작하지 않고, 일반 모드에서 음성 인식을 수행할 수 있다.
음성 인식 디바이스는 다시 일반 모드에서, '언제 해'를 차례대로 음성 인식 결과로써 검출할 수 있다.
도 21은 일 실시 예에 의한 단어가 속한 클래스에 기초하여 음성 인식을 수행하는 방법을 나타낸 순서도이다.
도 21을 참조하면, 음성 인식을 수행하는 디바이스는 단계 S2110에서, 음성 인식을 수행하고자 하는 음성 데이터를 획득할 수 있다. 그리고, 단계 S2120에서, 음성 인식을 수행하는 디바이스는 음성 데이터에 대하여, 클래스 기반 문법 모델(1720)에 기초하여, 음성 인식을 수행할 수 있다.
클래스 기반 문법 모델(1720)은 엔트리 토큰을 포함하는 단어에 관한 출현 확률 정보를 포함할 수 있다. 또한, 클래스 기반 문법 모델(1720)은 음성 인식 시 이용될 수 있는 다양한 종류의 문법 모델을 포함할 수 있다. 예를 들면, 클래스 기반 문법 모델(1720)은 상술된 제1 문법 모델(1420) 및 제2 문법 모델(1430), 문법 모델(160,240) 등을 더 포함할 수 있다.
단계 S2130에서, 음성 인식을 수행하는 디바이스가 엔트리 토큰을 포함하는 단어를 검출하는 경우, 단계 S2140에서, 클래스 인식 모드에서 엔트리 토큰이 속한 클래스의 문법 모델에 기초하여 음성 인식을 수행할 수 있다. 음성 인식 디바이스는 엔트리 토큰을 포함하는 단어가 검출된 후, 다음 음성 데이터에 대하여 엔트리 토큰이 속한 클래스의 문법 모델에 기초하여 음성 인식을 수행할 수 있다.
또한, 음성 인식 디바이스는, 클래스 인식 모드에서, 다른 클래스를 나타내는 엔트리 토큰을 포함하는 단어가 검출되는 경우, 해당 클래스에 속하는 문법 모델에 기초하여 음성 인식을 수행할 수 있다.
단계 S2150에서, 클래스 인식 모드에서 엑시트 토큰을 포함하는 단어가 검출되는 경우, 음성 인식 디바이스는 일반 인식 모드로 돌아가 음성 인식을 수행할 수 있다. 예를 들면, 음성 인식 디바이스는, 엑시트 토큰을 포함하는 단어가 검출됨에 따라, S2120의 단계로 돌아가 음성 인식을 수행할 수 있다.
이하 도 22 내지 도 23을 참조하여 문법 모델을 갱신하는 디바이스와 음성 인식을 수행하는 디바이스에 관해 더 자세히 설명하기로 한다. 도 22 및 도 23에서는 문법 모델을 갱신하는 디바이스(2200)와 음성 인식을 수행하는 디바이스(2300)가 별개의 장치인 것으로 도시하고 있으나, 이는 하나의 실시예로서 설명하는 것이다. 예를 들면, 음성 인식을 수행하는 디바이스(2300)내에 문법 모델을 갱신하는 디바이스(2200)가 포함되는 것과 같이 상술된 두 장치는 하나의 장치로 구성될 수 있다. 도면들과 후술되어 있는 실시예에서, 문법 모델을 갱신하는 디바이스(2200)와 음성 인식을 수행하는 디바이스(2300)에 포함되어 있는 개개의 구성 요소는 물리적 형태 또는 논리적 형태로 분산되어 배치될 수도 있고, 통합될 수도 있다.
문법 모델을 갱신하는 디바이스(2200)와 음성 인식을 수행하는 디바이스(2300)는 사용자가 이용할 수 있는 다양한 형태의 장치를 포함할 수 있다. 예를 들면, 디바이스(2200, 2300)는 PC(Personal Computer), 노트북 컴퓨터, 휴대폰(mobile phone), 태블릿 PC, 내비게이션(navigation) 단말기, 스마트폰(smart phone), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player) 및 디지털방송 수신기를 포함할 수 있다. 물론 이는 예시에 불과할 뿐이며, 상술한 예 이외에도 디바이스(2200, 2300)는 현재 개발되어 상용화되었거나 향후 개발될 모든 통신이 가능한 장치를 포함할 수 있다.
도 22는 일 실시 예에 의한 문법 모델을 갱신하는 디바이스의 내부 구성을 나타낸 블록도이다.
도 22를 참조하면, 문법 모델을 갱신하는 디바이스(2200)는 수신부(2210), 제어부(2220), 저장부(2230)를 포함할 수 있다. 그러나 도 22에 도시된 구성요소가 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 디바이스(2200)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 디바이스(2200)가 구현될 수 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
수신부(2210)는 적어도 하나의 단어를 포함하는 코퍼스를 획득할 수 있다. 코퍼스는 문법 모델에 기초하여 음성 인식된 단어로 검출될 수 없는 OOV를 포함할 수 있다. 수신부(2210)는 무선 인터넷, 무선 인트라넷, 무선 전화망, 무선 랜(LAN), 와이파이(Wi-Fi), 와이파이 다이렉트(WFD, Wi-Fi Direct), 3G(Generation), 4G(4 Generation), 블루투스(Bluetooth), 적외선 통신(IrDA, Infrared Data Association), RFID(Radio Frequency Identification), UWB(Ultra WideBand), 지그비(Zigbee), NFC(Near Field Communication)와 같은 무선 네트워크 또는 유선 전화망, 유선 인터넷과 같은 유선 네트워크를 통해 외부 기기와 데이터를 송수신할 수 있도록 구성될 수 있다.
제어부(2220)는 디바이스(2200)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(2220)는 코퍼스에 포함된 OOV에 기초하여, 문법 모델을 갱신할 수 있다. 제어부(2220)는 OOV를 보다 작은 단위의 세그먼트로 분할하고, 원래 단어로 재조합할 수 있는 힌트가 추가된 세그먼트를 이용하여 문법 모델을 갱신할 수 있다. 또한, 제어부(2220)는 발음 사전에 포함된 단어를 이용하여 OOV를 분절하고, 분절된 OOV를 이용하여 문법 모델을 갱신할 수 있다. 또한, 제어부(2220)는 엔트리 토큰 또는 엑시트 토큰을 포함하는 OOV를 이용하여 클래스 기반 문법 모델 또는 클래스 별 문법 모델을 갱신할 수 있다.
저장부(2230)는 제어부(2220)의 작업(operation) 및 디바이스(2200)의 제어를 위한 프로그램이나, 입/출력되는 데이터들(예를 들어, 오디오 데이터, 문법 모델 등)을 저장할 수 있다. 저장부(2230)에 저장될 수 있는 문법 모델은 소정 조건에 따라 선택적으로 이용될 수 있는 복수 개의 문법 모델을 포함할 수 있다. 예를 들면, 저장부(2230)는 상술된 제1 문법 모델, 제2 문법 모델, 클래스 기반 문법 모델, 클래스 별 문법 모델 등을 저장할 수 있다.
저장부(2230)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 디바이스(2200)는 인터넷상에서 저장부(2230)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영할 수도 있다.
도 23은 일 실시 예에 의한 음성 인식 디바이스의 내부 구성을 나타낸 블록도이다.
도 23을 참조하면, 음성 인식 디바이스(2300)는 수신부(2310), 제어부(2320), 저장부(2330)를 포함할 수 있다. 그러나 도 23에 도시된 구성요소가 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 디바이스(2300)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 디바이스(2300)가 구현될 수 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
수신부(2310)는 음성 인식을 수행하고자 하는 음성 데이터를 획득할 수 있다. 예를 들면, 음성 데이터는 사람의 목소리, 대화, 명령 등을 포함하는 음성 신호를 포함할 수 있다. 음성 인식 디바이스(2310)는 음성 신호의 특징점을 구하고, 음성 신호와 텍스트를 출력할 수 있다. 수신부(2310)는 무선 인터넷, 무선 인트라넷, 무선 전화망, 무선 랜(LAN), 와이파이(Wi-Fi), 와이파이 다이렉트(WFD, Wi-Fi Direct), 3G(Generation), 4G(4 Generation), 블루투스(Bluetooth), 적외선 통신(IrDA, Infrared Data Association), RFID(Radio Frequency Identification), UWB(Ultra WideBand), 지그비(Zigbee), NFC(Near Field Communication)와 같은 무선 네트워크 또는 유선 전화망, 유선 인터넷과 같은 유선 네트워크를 통해 외부 기기와 데이터를 송수신할 수 있도록 구성될 수 있다.
제어부(2320)는 음성 인식 디바이스(2300)의 전반적인 동작을 제어할 수 있다. 예를 들면, 제어부(2320)는 문법 모델을 이용하여 음성 인식을 수행할 수 있고, 검출된 단어 또는 세그먼트가 재조합을 위한 힌트를 포함하는 경우, 힌트에 기초하여, 단어 또는 세그먼트를 원래 단어로 재조합할 수 있다. 세그먼트 또는 단어는 코퍼스에서 획득된 단어와 같이 재조합될 수 있다. 또한, 제어부(2320)는 음성 인식 결과로 검출된 단어가 분절 단어 리스트에 포함되어 있는 경우, 분절 단어 리스트에 기초하여 검출된 단어를 복원할 수 있다. 또한, 제어부(2320)는 음성 인식 결과로 검출된 단어가 제1 순위 단어에 해당되는 경우, 순서 모드에서, 제2 문법 모델에 기초하여, 미리 정해진 순서에 따라 단어가 검출되도록 음성 인식을 수행할 수 있다. 또한, 제어부(2320)는 음성 인식 결과로 검출된 단어가 엔트리 토큰 또는 엑시트 토큰을 포함하는지 여부에 따라, 클래스 인식 모드 또는 일반 인식 모드에서, 음성 인식을 수행할 수 있다. 제어부(2320)는 엔트리 토큰을 포함하는 단어가 검출되면, 엔트리 토큰이 나타내는 클래스에 속한 문법 모델에 기초하여 음성 인식을 수행할 수 있다. 또한, 제어부(2320)는 엑시트 토큰을 포함하는 단어가 검출되면, 일반 모드에서, 클래스 기반 문법 모델에 기초하여 음성 인식을 수행할 수 있다.
저장부(2330)는 제어부(2320)의 작업(operation) 및 음성 인식 디바이스(2300)의 제어를 위한 프로그램이나, 입/출력되는 데이터들(예를 들어, 오디오 데이터, 문법 모델 등)을 저장할 수 있다. 저장부(2330)에 저장될 수 있는 문법 모델은 소정 조건에 따라 선택적으로 이용될 수 있는 복수 개의 문법 모델을 포함할 수 있다. 예를 들면, 저장부(2330)는 상술된 제1 문법 모델, 제2 문법 모델, 클래스 기반 문법 모델, 클래스 별 문법 모델 등을 저장할 수 있다.
저장부(2330)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 디바이스(2300)는 인터넷상에서 저장부(2330)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영할 수도 있다.
일 실시 예에 의하면 보다 낮은 오인식률로 OOV를 음성 인식할 수 있도록 문법 모델을 갱신할 수 있다.
일부 실시 예에 의한 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
비록 상기 설명이 다양한 실시예들에 적용되는 본 발명의 신규한 특징들에 초점을 맞추어 설명되었지만, 본 기술 분야에 숙달된 기술을 가진 사람은 본 발명의 범위를 벗어나지 않으면서도 상기 설명된 장치 및 방법의 형태 및 세부 사항에서 다양한 삭제, 대체, 및 변경이 가능함을 이해할 것이다. 따라서, 본 발명의 범위는 상기 설명에서보다는 첨부된 특허청구범위에 의해 정의된다. 특허청구범위의 균등 범위 안의 모든 변형은 본 발명의 범위에 포섭된다.

Claims (20)

  1. 음성 인식 시 이용되는 문법 모델을 갱신하는 방법에 있어서,
    적어도 하나의 단어를 포함하는 코퍼스(corpus)를 획득하는 단계;
    상기 코퍼스로부터 상기 적어도 하나의 단어를 획득하는 단계;
    상기 획득된 단어를 적어도 하나의 세그먼트로 분할하는 단계;
    상기 분할된 세그먼트를 상기 단어로 재조합하기 위한 힌트를 생성하는 단계;
    상기 힌트를 포함하는 적어도 하나의 세그먼트를 이용하여, 상기 문법 모델을 갱신하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 분할하는 단계는
    상기 획득된 단어의 출현 빈도수 및 길이 중 적어도 하나에 기초하여, 분할하고자 하는 단어를 결정하고, 상기 결정된 단어를 분할하는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 분할하는 단계는
    상기 단어에 대하여 후보 분할 지점을 적어도 하나 결정하는 단계;
    각 후보 분할 지점에 따라 분할된 세그먼트의 출현 확률 정보에 기초하여, 상기 각 후보 분할 지점에 대한 스코어를 획득하는 단계;
    상기 스코어에 기초하여, 상기 후보 분할 지점 중 분할 지점을 결정하고, 상기 분할 지점에 따라 상기 단어를 적어도 하나의 세그먼트로 분할하는 단계를 포함하는, 방법.
  4. 제1항에 있어서, 상기 분할하는 단계는
    상기 분할된 세그먼트에 기초하여, 상기 코퍼스에 포함된 단어를 상기 분할된 세그먼트 단위로 분할하는 단계를 포함하는, 방법.
  5. 제1항에 있어서, 상기 힌트를 생성하는 단계는
    상기 세그먼트가 상기 단어의 경계에 위치하는지 여부에 기초하여, 상기 세그먼트에 대한 힌트를 생성하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 상기 문법 모델을 갱신하는 단계는
    상기 세그먼트의 음성 인식 시 출현할 확률에 관한 정보를 결정하는 단계;
    상기 결정된 확률 정보에 기초하여, 상기 문법 모델을 갱신하는 단계를 포함하는, 방법.
  7. 제1항에 있어서, 상기 분할하는 단계는
    상기 획득된 단어를, 음운, 음절, 형태소 또는 어절 단위의 세그먼트로 분할하는 단계를 포함하는, 방법.
  8. 제1항에 있어서,
    상기 획득된 단어에 대한 발음열을 생성하는 단계;
    발음 사전에 포함된 발음열 중 상기 생성된 발음열과 대응되는 발음열을 획득하는 단계;
    상기 획득된 발음열의 음성 인식 시 출현할 확률에 관한 정보를 결정하는 단계;
    상기 결정된 확률 정보에 기초하여, 제2 문법 모델을 갱신하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서, 상기 문법 모델을 갱신하는 단계는
    상기 단어 또는 세그먼트에 대하여, 엔트리 토큰을 추가하는 단계;
    상기 엔트리 토큰을 포함하는 단어 또는 세그먼트에 기초하여 클래스 기반 문법 모델을 갱신하는 단계를 포함하는, 방법.
  10. 제9항에 있어서, 상기 문법 모델을 갱신하는 단계는
    상기 단어 또는 세그먼트가 속한 클래스를 결정하는 단계;
    상기 단어 또는 세그먼트에 대하여 상기 엔트리 토큰 또는 엑시트 토큰을 추가할지 여부를 결정하고, 결정된 결과에 따라 상기 단어 또는 세그먼트에 상기 엔트리 토큰 또는 엑시트 토큰을 추가하는 단계;
    상기 단어 또는 세그먼트에 기초하여, 상기 결정된 클래스의 문법 모델을 갱신하는 단계를 포함하는, 방법.
  11. 음성인식을 수행하는 방법에 있어서,
    음성 인식을 수행하고자 하는 음성 데이터를 획득하는 단계;
    적어도 하나의 세그먼트의 출현 확률에 관한 정보를 포함하는 문법 모델에 기초하여, 음성 인식을 수행함으로써 적어도 하나의 세그먼트를 검출하는 단계;
    상기 검출된 세그먼트의 힌트에 기초하여, 상기 결정된 세그먼트를 단어로 재조합하는 단계를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 단어 또는 세그먼트가 제1 순위 단어에 속하는 경우, 제2 문법 모델에 기초하여, 미리 정해진 순서에 따라 단어가 검출되도록 음성 인식을 수행하는 단계를 더 포함하는, 방법.
  13. 제11항에 있어서,
    상기 문법 모델은 클래스 기반 문법 모델을 포함하고,
    상기 단어 또는 세그먼트가 엔트리 토큰을 포함하는 경우, 상기 엔트리 토큰이 속한 클래스의 문법 모델에 기초하여, 음성 인식을 수행하는 단계;
    상기 단어 또는 세그먼트가 엑시트 토큰을 포함하는 경우, 상기 클래스 기반 문법 모델에 기초하여, 음성 인식을 수행하는 단계를 포함하는, 방법.
  14. 문법 모델을 갱신하는 디바이스에 있어서,
    적어도 하나의 단어를 포함하는 코퍼스를 획득하는 수신부;
    상기 문법 모델을 저장하는 저장부;
    상기 코퍼스로부터 상기 적어도 하나의 단어를 획득하고, 상기 획득된 단어를 적어도 하나의 세그먼트로 분할하고, 상기 분할된 세그먼트를 상기 단어로 재조합하기 위한 힌트를 생성하고, 상기 힌트를 포함하는 적어도 하나의 세그먼트를 이용하여, 상기 문법 모델을 갱신하는 제어부를 포함하는, 디바이스.
  15. 제14항에 있어서, 상기 제어부는
    상기 획득된 단어의 출현 빈도수 및 길이 중 적어도 하나에 기초하여, 분할하고자 하는 단어를 결정하고, 상기 결정된 단어를 분할하는, 디바이스.
  16. 제14항에 있어서, 상기 제어부는
    상기 단어에 대하여 후보 분할 지점을 적어도 하나 결정하고, 각 후보 분할 지점에 따라 분할된 세그먼트의 출현 확률 정보에 기초하여, 상기 각 후보 분할 지점에 대한 스코어를 획득하고, 상기 스코어에 기초하여, 상기 후보 분할 지점 중 분할 지점을 결정하고, 상기 분할 지점에 따라 상기 단어를 적어도 하나의 세그먼트로 분할하는, 디바이스.
  17. 음성 인식을 수행하는 디바이스에 있어서,
    음성 인식을 수행하고자 하는 음성 데이터를 획득하는 수신부;
    적어도 하나의 세그먼트의 출현 확률에 관한 정보를 포함하는 문법 모델을 저장하는 저장부;
    적어도 하나의 세그먼트의 출현 확률에 관한 정보를 포함하는 문법 모델에 기초하여, 음성 인식을 수행함으로써 적어도 하나의 세그먼트를 검출하고, 상기 검출된 세그먼트의 힌트에 기초하여 상기 결정된 세그먼트를 단어로 재조합하는 제어부를 포함하는, 디바이스.
  18. 제17항에 있어서, 상기 제어부는
    상기 단어 또는 세그먼트가 제1 순위 단어에 속하는 경우, 제2 문법 모델에 기초하여, 미리 정해진 순서에 따라 단어가 검출되도록 음성 인식을 수행하는, 디바이스.
  19. 제17항에 있어서,
    상기 문법 모델은 클래스 기반 문법 모델을 포함하고,
    상기 제어부는, 상기 단어 또는 세그먼트가 엔트리 토큰을 포함하는 경우, 상기 엔트리 토큰이 속한 클래스의 문법 모델에 기초하여, 음성 인식을 수행하고, 상기 단어 또는 세그먼트가 엑시트 토큰을 포함하는 경우, 상기 클래스 기반 문법 모델에 기초하여, 음성 인식을 수행하는, 디바이스.
  20. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020150106772A 2015-07-28 2015-07-28 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스 KR102413067B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020150106772A KR102413067B1 (ko) 2015-07-28 2015-07-28 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스
US15/137,217 US9916827B2 (en) 2015-07-28 2016-04-25 Method and device for updating language model and performing speech recognition based on language model
EP19171870.9A EP3557573A1 (en) 2015-07-28 2016-04-28 Method and device for updating language model and performing speech recognition based on language model
EP16167445.2A EP3125236B1 (en) 2015-07-28 2016-04-28 Method and device for updating language model and performing speech recognition based on language model
CN201610604984.3A CN106409284B (zh) 2015-07-28 2016-07-28 用于更新语言模型并执行语音识别的方法和装置
US15/917,880 US10497363B2 (en) 2015-07-28 2018-03-12 Method and device for updating language model and performing speech recognition based on language model
US16/663,399 US11145292B2 (en) 2015-07-28 2019-10-25 Method and device for updating language model and performing speech recognition based on language model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150106772A KR102413067B1 (ko) 2015-07-28 2015-07-28 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스

Publications (2)

Publication Number Publication Date
KR20170013712A true KR20170013712A (ko) 2017-02-07
KR102413067B1 KR102413067B1 (ko) 2022-06-24

Family

ID=55854730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150106772A KR102413067B1 (ko) 2015-07-28 2015-07-28 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스

Country Status (4)

Country Link
US (3) US9916827B2 (ko)
EP (2) EP3557573A1 (ko)
KR (1) KR102413067B1 (ko)
CN (1) CN106409284B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106644A (ko) * 2019-03-05 2020-09-15 충북대학교 산학협력단 형태소 발음변이를 고려한 음성인식 단위 생성 장치 및 방법
WO2020235910A1 (en) * 2019-05-20 2020-11-26 Samsung Electronics Co., Ltd. Text reconstruction system and method thereof

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112014007287B4 (de) * 2014-12-24 2019-10-31 Mitsubishi Electric Corporation Spracherkennungsvorrichtung und Spracherkennungsverfahren
KR102325724B1 (ko) * 2015-02-28 2021-11-15 삼성전자주식회사 다수의 기기에서 텍스트 데이터 동기화
KR102413067B1 (ko) 2015-07-28 2022-06-24 삼성전자주식회사 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스
WO2017156640A1 (en) * 2016-03-18 2017-09-21 Fluent.Ai Inc. Method and device for automatically learning relevance of words in a speech recognition system
CN109313894A (zh) * 2016-06-21 2019-02-05 索尼公司 信息处理装置与信息处理方法
CN108573697B (zh) * 2017-03-10 2021-06-01 北京搜狗科技发展有限公司 一种语言模型更新方法、装置及设备
CN107066447B (zh) * 2017-04-19 2021-03-26 广东惠禾科技发展有限公司 一种无意义句子识别的方法和设备
JP6711343B2 (ja) * 2017-12-05 2020-06-17 カシオ計算機株式会社 音声処理装置、音声処理方法及びプログラム
CN108198552B (zh) * 2018-01-18 2021-02-02 深圳市大疆创新科技有限公司 一种语音控制方法及视频眼镜
US10572586B2 (en) 2018-02-27 2020-02-25 International Business Machines Corporation Technique for automatically splitting words
CN110895659B (zh) * 2018-08-22 2023-05-26 阿里巴巴集团控股有限公司 模型训练方法、识别方法、装置及计算设备
CN109257547B (zh) * 2018-09-21 2021-04-06 南京邮电大学 中文在线音视频的字幕生成方法
US11282512B2 (en) * 2018-10-27 2022-03-22 Qualcomm Incorporated Automatic grammar augmentation for robust voice command recognition
US11145296B1 (en) * 2019-03-25 2021-10-12 Amazon Technologies, Inc. Language and grammar model adaptation
US11074909B2 (en) 2019-06-28 2021-07-27 Samsung Electronics Co., Ltd. Device for recognizing speech input from user and operating method thereof
US11527234B2 (en) * 2019-10-01 2022-12-13 Rovi Guides, Inc. Method and apparatus for generating hint words for automated speech recognition
US11341961B2 (en) * 2019-12-02 2022-05-24 National Cheng Kung University Multi-lingual speech recognition and theme-semanteme analysis method and device
CN111785300B (zh) * 2020-06-12 2021-05-25 北京快鱼电子股份公司 一种基于深度神经网络的哭声检测方法和系统
CN113129869B (zh) * 2021-03-22 2022-01-28 北京百度网讯科技有限公司 语音识别模型的训练与语音识别的方法、装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835888A (en) * 1996-06-10 1998-11-10 International Business Machines Corporation Statistical language model for inflected languages
US8214213B1 (en) * 2006-04-27 2012-07-03 At&T Intellectual Property Ii, L.P. Speech recognition based on pronunciation modeling

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996035207A1 (en) * 1995-05-03 1996-11-07 Philips Electronics N.V. Speech recognition methods and apparatus on the basis of the modelling of new words
US6526380B1 (en) * 1999-03-26 2003-02-25 Koninklijke Philips Electronics N.V. Speech recognition system having parallel large vocabulary recognition engines
US7120582B1 (en) * 1999-09-07 2006-10-10 Dragon Systems, Inc. Expanding an effective vocabulary of a speech recognition system
US20030144846A1 (en) * 2002-01-31 2003-07-31 Denenberg Lawrence A. Method and system for modifying the behavior of an application based upon the application's grammar
US6999931B2 (en) * 2002-02-01 2006-02-14 Intel Corporation Spoken dialog system using a best-fit language model and best-fit grammar
US7016849B2 (en) * 2002-03-25 2006-03-21 Sri International Method and apparatus for providing speech-driven routing between spoken language applications
AU2003271083A1 (en) * 2002-10-08 2004-05-04 Matsushita Electric Industrial Co., Ltd. Language model creation/accumulation device, speech recognition device, language model creation method, and speech recognition method
US7519534B2 (en) * 2002-10-31 2009-04-14 Agiletv Corporation Speech controlled access to content on a presentation medium
US7302392B1 (en) * 2003-10-07 2007-11-27 Sprint Spectrum L.P. Voice browser with weighting of browser-level grammar to enhance usability
KR100612839B1 (ko) * 2004-02-18 2006-08-18 삼성전자주식회사 도메인 기반 대화 음성인식방법 및 장치
KR100636317B1 (ko) * 2004-09-06 2006-10-18 삼성전자주식회사 분산 음성 인식 시스템 및 그 방법
KR100755677B1 (ko) * 2005-11-02 2007-09-05 삼성전자주식회사 주제 영역 검출을 이용한 대화체 음성 인식 장치 및 방법
EP2081185B1 (en) * 2008-01-16 2014-11-26 Nuance Communications, Inc. Speech recognition on large lists using fragments
CN102236639B (zh) * 2010-04-28 2016-08-10 三星电子株式会社 更新语言模型的系统和方法
CN103999152A (zh) * 2011-12-29 2014-08-20 英特尔公司 利用动态语法元素集的语音识别
CN102937972B (zh) * 2012-10-15 2016-06-22 上海外教社信息技术有限公司 一种视听字幕制作系统及方法
US9542936B2 (en) * 2012-12-29 2017-01-10 Genesys Telecommunications Laboratories, Inc. Fast out-of-vocabulary search in automatic speech recognition systems
WO2015026366A1 (en) * 2013-08-23 2015-02-26 Nuance Communications, Inc. Multiple pass automatic speech recognition methods and apparatus
CN103578464B (zh) * 2013-10-18 2017-01-11 威盛电子股份有限公司 语言模型的建立方法、语音辨识方法及电子装置
KR102413067B1 (ko) 2015-07-28 2022-06-24 삼성전자주식회사 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835888A (en) * 1996-06-10 1998-11-10 International Business Machines Corporation Statistical language model for inflected languages
US8214213B1 (en) * 2006-04-27 2012-07-03 At&T Intellectual Property Ii, L.P. Speech recognition based on pronunciation modeling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌(SPEECH RECOGNITION FOR HUGE VOCABULARIES BY USING OPTIMIZED SUB_WORD UNITS." SEVENTH EUROPEAN CONFERENCE ON SPEECH COMMUNICATION AND TECHNOLOGY)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106644A (ko) * 2019-03-05 2020-09-15 충북대학교 산학협력단 형태소 발음변이를 고려한 음성인식 단위 생성 장치 및 방법
WO2020235910A1 (en) * 2019-05-20 2020-11-26 Samsung Electronics Co., Ltd. Text reconstruction system and method thereof

Also Published As

Publication number Publication date
EP3125236B1 (en) 2019-06-12
EP3125236A1 (en) 2017-02-01
US10497363B2 (en) 2019-12-03
CN106409284A (zh) 2017-02-15
EP3557573A1 (en) 2019-10-23
US9916827B2 (en) 2018-03-13
US20170032779A1 (en) 2017-02-02
US11145292B2 (en) 2021-10-12
US20180204564A1 (en) 2018-07-19
CN106409284B (zh) 2019-12-10
US20200058294A1 (en) 2020-02-20
KR102413067B1 (ko) 2022-06-24

Similar Documents

Publication Publication Date Title
KR102413067B1 (ko) 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스
US20230317079A1 (en) Systems and methods for adaptive proper name entity recognition and understanding
CN111566656B (zh) 利用多种语言文本语音合成模型的语音翻译方法及系统
US8036894B2 (en) Multi-unit approach to text-to-speech synthesis
JP4559946B2 (ja) 入力装置、入力方法および入力プログラム
US20180137109A1 (en) Methodology for automatic multilingual speech recognition
US11024298B2 (en) Methods and apparatus for speech recognition using a garbage model
CN108630200B (zh) 声音关键字检测装置以及声音关键字检测方法
KR20210138776A (ko) 엔드-투-엔드 모델들에서 교차-언어 음성 인식을 위한 음소-기반 컨텍스트화
JP2016062069A (ja) 音声認識方法、及び音声認識装置
Hu et al. Phoneme-based contextualization for cross-lingual speech recognition in end-to-end models
JP6941494B2 (ja) エンドツーエンド日本語音声認識モデル学習装置およびプログラム
CN113327574A (zh) 一种语音合成方法、装置、计算机设备和存储介质
KR102580904B1 (ko) 음성 신호를 번역하는 방법 및 그에 따른 전자 디바이스
CN116682411A (zh) 语音合成方法、语音合成系统、电子设备及存储介质
KR101747873B1 (ko) 음성인식을 위한 언어모델 생성 장치 및 방법
KR20160061135A (ko) 음성 인식 장치 및 음성 인식 장치의 제어 방법
US11328713B1 (en) On-device contextual understanding
Johnson et al. Leveraging Multiple Sources in Automatic African American English Dialect Detection for Adults and Children
CN114528812A (zh) 一种语音识别方法、系统、计算设备及存储介质
JP2004294542A (ja) 音声認識装置及びそのプログラム
JP6003127B2 (ja) 言語モデル作成プログラム及び言語モデル作成装置
KR20230064466A (ko) 음성 인식 방법 및 장치
KR101729972B1 (ko) 타국인 발화 음성을 위한 음성 인식 장치
KR20230064471A (ko) 음성 인식 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant