KR102313028B1 - 음성 인식 시스템 및 방법 - Google Patents
음성 인식 시스템 및 방법 Download PDFInfo
- Publication number
- KR102313028B1 KR102313028B1 KR1020150151042A KR20150151042A KR102313028B1 KR 102313028 B1 KR102313028 B1 KR 102313028B1 KR 1020150151042 A KR1020150151042 A KR 1020150151042A KR 20150151042 A KR20150151042 A KR 20150151042A KR 102313028 B1 KR102313028 B1 KR 102313028B1
- Authority
- KR
- South Korea
- Prior art keywords
- voice
- recognition unit
- learning
- voice recognition
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000003062 neural network model Methods 0.000 claims abstract description 43
- 238000013527 convolutional neural network Methods 0.000 claims description 27
- 239000000284 extract Substances 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 230000000306 recurrent effect Effects 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
- G10L15/142—Hidden Markov Models [HMMs]
- G10L15/144—Training of HMMs
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/02—Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/18—Artificial neural networks; Connectionist approaches
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
음성 인식 시스템 및 방법이 제공된다. 본 발명의 일 실시예에 따른 음성 인식 시스템은, 학습용 음성 데이터와 상기 학습용 음성 데이터를 나타내는 자모(letter) 정보를 포함하는 타깃 레이블(label)을 입력 받고, 상기 학습용 음성 데이터를 설정된 크기의 윈도우(window)로 분할하는 음성 입력부; 제1 신경망 모델 및 상기 타깃 레이블을 이용하여 분할된 상기 윈도우의 특징들(features)을 학습하는 제1 음성 인식부; 제2 신경망 모델을 이용하여 추출된 상기 특징들의 시계열 패턴을 학습하는 제2 음성 인식부; 및 상기 제1 음성 인식부 및 상기 제2 음성 인식부에서의 학습 결과에 기초하여 상기 음성 입력부에 입력되는 타깃 음성 데이터를 텍스트로 변환하여 출력하는 텍스트 출력부를 포함한다.
Description
본 발명의 실시예들은 음성 인식 기술에 관한 것으로서, 보다 상세하게는 신경망 모델 기반의 음성 인식 기술과 관련된다.
종래에는 음성 인식을 위해 은닉 마르코프 모델(HMM : Hidden Markov Model)을 주로 사용하였다. 이러한 HMM 기반의 음성 인식 방식은 음성 데이터로부터 발음을 분석하고, 분석된 발음에 기초하여 단어나 문장을 조합하는 과정을 거치게 된다.
그러나, 발음은 발화자, 언어의 종류 등에 따라 달라질 수 있으므로, 발음을 분석하여 음성을 인식하는 데에는 많은 시행 착오를 통한 교정 작업이 수반될 수 밖에 없다. 또한, HMM 기반의 음성 인식 방식은 발음에 기초하여 음성을 인식한다는 점에서 주변 잡음에 취약한 문제점이 있다.
본 발명의 실시예들은 하이브리드 신경망 모델을 이용하여 음성으로부터 텍스트를 직접 인식하는 수단을 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 학습용 음성 데이터와 상기 학습용 음성 데이터를 나타내는 자모(letter) 정보를 포함하는 타깃 레이블(label)을 입력 받고, 상기 학습용 음성 데이터를 설정된 크기의 윈도우(window)로 분할하는 음성 입력부; 제1 신경망 모델 및 상기 타깃 레이블을 이용하여 분할된 상기 윈도우의 특징들(features)을 학습하는 제1 음성 인식부; 제2 신경망 모델을 이용하여 추출된 상기 특징들의 시계열 패턴을 학습하는 제2 음성 인식부; 및 상기 제1 음성 인식부 및 상기 제2 음성 인식부에서의 학습 결과에 기초하여 상기 음성 입력부에 입력되는 타깃 음성 데이터를 텍스트로 변환하여 출력하는 텍스트 출력부를 포함하는, 음성 인식 시스템이 제공된다.
상기 음성 입력부는, 분할된 상기 윈도우 중 연속되는 둘 이상의 윈도우를 하나의 묶음으로 구성하여 상기 제1 음성 인식부에 입력할 수 있다.
상기 음성 입력부는, 설정된 스트라이드(stride)에 따라 분할된 상기 윈도우의 개수를 저감시켜 상기 제1 음성 인식부에 입력할 수 있다.
상기 제1 신경망 모델은, 합성곱 신경망(CNN : Convolutional Neural Network) 모델일 수 있다.
상기 제2 신경망 모델은, 순환 신경망(RNN : Recurrent Neural Network) 모델일 수 있다.
상기 제2 음성 인식부는, CTC(Connectionist Temporal Classification) 기법을 이용하여 상기 타깃 레이블에 대한 후보 레이블을 학습할 수 있다.
상기 제1 음성 인식부는, 상기 제1 음성 인식부에서의 학습 결과에 기초하여 상기 타깃 음성 데이터의 특징들을 추출하며, 상기 제2 음성 인식부는, 상기 제2 음성 인식부에서의 학습 결과에 기초하여 추출된 상기 타깃 음성 데이터의 특징들의 시계열 패턴을 추출하고 학습된 상기 타깃 레이블 또는 상기 후보 레이블 중 추출된 상기 시계열 패턴에 대응되는 레이블을 선별할 수 있다.
상기 텍스트 출력부는, 선별된 상기 레이블을 텍스트로 변환하여 출력할 수 있다.
상기 음성 인식 시스템은, 상기 제1 음성 인식부 및 상기 제2 음성 인식부의 학습률을 제어하는 학습 제어부를 더 포함할 수 있다.
상기 학습 제어부는, 상기 제1 음성 인식부에서의 학습이 완료되기 전까지는 상기 제1 음성 인식부 및 상기 제2 음성 인식부의 학습률을 동일하게 유지하되, 상기 제1 음성 인식부에서의 학습이 완료되는 경우 상기 제1 음성 인식부의 학습률을 0으로 제어할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 음성 입력부에서, 학습용 음성 데이터와 상기 학습용 음성 데이터를 나타내는 자모 정보를 포함하는 타깃 레이블을 입력받는 단계; 상기 음성 입력부에서, 상기 학습용 음성 데이터를 설정된 크기의 윈도우로 분할하는 단계; 제1 음성 인식부에서, 제1 신경망 모델 및 상기 타깃 레이블을 이용하여 분할된 상기 윈도우의 특징들을 학습하는 단계; 제2 음성 인식부에서, 제2 신경망 모델을 이용하여 추출된 상기 특징들의 시계열 패턴을 학습하는 단계; 및 텍스트 출력부에서, 상기 제1 음성 인식부 및 상기 제2 음성 인식부에서의 학습 결과에 기초하여 상기 음성 입력부에 입력되는 타깃 음성 데이터를 텍스트로 변환하여 출력하는 단계를 포함하는, 음성 인식 방법이 제공된다.
상기 학습용 음성 데이터를 설정된 크기의 윈도우로 분할하는 단계 이후, 상기 음성 입력부에서, 분할된 상기 윈도우 중 연속되는 둘 이상의 윈도우를 하나의 묶음으로 구성하여 상기 제1 음성 인식부에 입력하는 단계를 더 포함할 수 있다.
상기 제1 음성 인식부에 입력하는 단계는, 설정된 스트라이드에 따라 분할된 상기 윈도우의 개수를 저감시켜 상기 제1 음성 인식부에 입력할 수 있다.
상기 제1 신경망 모델은, 합성곱 신경망 모델일 수 있다.
상기 제2 신경망 모델은, 순환 신경망 모델일 수 있다.
상기 음성 인식 방법은, 추출된 상기 특징들의 시계열 패턴을 학습하는 단계 이후, 상기 제2 음성 인식부에서, CTC 기법을 이용하여 상기 타깃 레이블에 대한 후보 레이블을 학습하는 단계를 더 포함할 수 있다.
상기 음성 인식 방법은, 상기 텍스트로 변환하여 출력하는 단계 이전에, 상기 제1 음성 인식부에서, 상기 제1 음성 인식부에서의 학습 결과에 기초하여 상기 타깃 음성 데이터의 특징들을 추출하는 단계; 및 상기 제2 음성 인식부에서, 상기 제2 음성 인식부에서의 학습 결과에 기초하여 추출된 상기 타깃 음성 데이터의 특징들의 시계열 패턴을 추출하고 학습된 상기 타깃 레이블 또는 상기 후보 레이블 중 추출된 상기 시계열 패턴에 대응되는 레이블을 선별하는 단계를 더 포함할 수 있다.
상기 텍스트로 변환하여 출력하는 단계는, 선별된 상기 레이블을 텍스트로 변환하여 출력할 수 있다.
상기 음성 인식 방법은, 학습 제어부에서, 상기 제1 음성 인식부 및 상기 제2 음성 인식부의 학습률을 제어하는 단계를 더 포함할 수 있다.
상기 학습률을 제어하는 단계는, 상기 제1 음성 인식부에서의 학습이 완료되기 전까지는 상기 제1 음성 인식부 및 상기 제2 음성 인식부의 학습률을 동일하게 유지하되, 상기 제1 음성 인식부에서의 학습이 완료되는 경우 상기 제1 음성 인식부의 학습률을 0으로 제어할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 하드웨어와 결합되어 음성 입력부에서, 학습용 음성 데이터와 상기 학습용 음성 데이터를 나타내는 자모 정보를 포함하는 타깃 레이블을 입력받는 단계; 상기 음성 입력부에서, 상기 학습용 음성 데이터를 설정된 크기의 윈도우로 분할하는 단계; 제1 음성 인식부에서, 제1 신경망 모델 및 상기 타깃 레이블을 이용하여 분할된 상기 윈도우의 특징들을 학습하는 단계; 제2 음성 인식부에서, 제2 신경망 모델을 이용하여 추출된 상기 특징들의 시계열 패턴을 학습하는 단계; 및 텍스트 출력부에서, 상기 제1 음성 인식부 및 상기 제2 음성 인식부에서의 학습 결과에 기초하여 상기 음성 입력부에 입력되는 타깃 음성 데이터를 텍스트로 변환하여 출력하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램이 제공된다.
본 발명의 실시예들에 따르면, 신경망 모델 기반의 학습 결과에 기초하여 음성 데이터에 대한 발음 분석 과정 없이 음성 데이터를 텍스트로 직접 변환(end-to-end 변환)하여 출력함으로써, 음성 인식을 위한 전체적인 프로세스를 단순화할 수 있다.
또한, 본 발명의 실시예들에 따르면, 음성 데이터에 관한 자모 및 자모간 띄어쓰기 정보를 타깃 레이블로 입력 받아 학습을 수행함으로써, 자모 자체가 하나의 글자를 이루는 알파벳뿐 아니라 자모들(예를 들어, 초성, 중성, 종성 등)이 조합되어 하나의 글자를 이루는 조합형 언어(예를 들어, 한글)의 인식에도 용이하게 적용될 수 있다.
또한, 본 발명의 실시예들에 따르면, 제1 음성 인식부 및 제2 음성 인식부의 학습률을 제어함으로써, 음성 인식률을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 음성 인식 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 음성 입력부에서 음성 데이터를 분할하는 과정을 설명하기 위한 도면
도 3은 본 발명의 일 실시예에 따라 튜닝된 음성 데이터의 예시를 나타낸 도면
도 4는 본 발명의 일 실시예에 따른 음성 데이터와 타깃 레이블과의 관계를 설명하기 위한 도면
도 5는 본 발명의 일 실시예에 따른 제1 음성 인식부에서 음성 데이터의 특징을 추출하는 과정을 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 제2 음성 인식부에서 음성 데이터의 시계열 패턴을 추출하는 과정을 설명하기 위한 도면
도 7은 본 발명의 일 실시예에 따른 제2 음성 인식부에서 타깃 레이블에 대한 후보 레이블을 학습하는 과정을 설명하기 위한 도면
도 8은 본 발명의 일 실시예에 따른 학습 제어부에서 제1 음성 인식부 및 제2 음성 인식부의 학습률을 제어하는 과정을 설명하기 위한 도면
도 9는 본 발명의 일 실시예에 따른 학습 제어부에서 제1 음성 인식부 및 제2 음성 인식부의 학습률을 제어하는 과정을 설명하기 위한 도면
도 10은 본 발명의 일 실시예에 따른 학습 제어부에서의 학습 제어에 따른 음성 인식률 향상 효과를 설명하기 위한 도면
도 11은 본 발명의 일 실시예에 따른 학습용 음성 데이터를 학습하는 방법을 설명하기 위한 흐름도
도 12는 본 발명의 일 실시예에 따른 음성 인식 방법을 설명하기 위한 흐름도
도 2는 본 발명의 일 실시예에 따른 음성 입력부에서 음성 데이터를 분할하는 과정을 설명하기 위한 도면
도 3은 본 발명의 일 실시예에 따라 튜닝된 음성 데이터의 예시를 나타낸 도면
도 4는 본 발명의 일 실시예에 따른 음성 데이터와 타깃 레이블과의 관계를 설명하기 위한 도면
도 5는 본 발명의 일 실시예에 따른 제1 음성 인식부에서 음성 데이터의 특징을 추출하는 과정을 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 제2 음성 인식부에서 음성 데이터의 시계열 패턴을 추출하는 과정을 설명하기 위한 도면
도 7은 본 발명의 일 실시예에 따른 제2 음성 인식부에서 타깃 레이블에 대한 후보 레이블을 학습하는 과정을 설명하기 위한 도면
도 8은 본 발명의 일 실시예에 따른 학습 제어부에서 제1 음성 인식부 및 제2 음성 인식부의 학습률을 제어하는 과정을 설명하기 위한 도면
도 9는 본 발명의 일 실시예에 따른 학습 제어부에서 제1 음성 인식부 및 제2 음성 인식부의 학습률을 제어하는 과정을 설명하기 위한 도면
도 10은 본 발명의 일 실시예에 따른 학습 제어부에서의 학습 제어에 따른 음성 인식률 향상 효과를 설명하기 위한 도면
도 11은 본 발명의 일 실시예에 따른 학습용 음성 데이터를 학습하는 방법을 설명하기 위한 흐름도
도 12는 본 발명의 일 실시예에 따른 음성 인식 방법을 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 음성 인식 시스템(100)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 인식 시스템(100)은 입력되는 음성 데이터를 텍스트로 직접 변환(end-to-end 변환)하여 출력하기 위한 것으로, 음성 입력부(102), 제1 음성 인식부(104), 제2 음성 인식부(106), 텍스트 출력부(108) 및 학습 제어부(110)를 포함한다.
음성 입력부(102)는 음성 데이터를 입력 받는 모듈이다. 여기서, 음성 데이터란 음성 신호를 웨이브(wave) 형태로 나타낸 웨이브 파일, 상기 웨이브 파일을 주파수 형태로 나타낸 스펙트로그램(spectrogram), MFCC(Mel-Frequency Cepstral Coefficient) 등을 모두 포함하는 넓은 의미로 사용된다. 음성 입력부(102)는 예를 들어, 마이크, 스피커, 오디오 등과 같은 음향 기기로부터 음성 데이터를 입력 받을 수 있다. 다만, 이에 한정되는 것은 아니며, 음성 입력부(102)는 예를 들어, 데스크탑, 노트북, 태블릿 PC 등과 같은 통신 기기로부터 음성 데이터를 입력 받을 수도 있다.
음성 입력부(102)에 입력되는 음성 데이터는 타깃 음성 데이터 또는 학습용 음성 데이터일 수 있다. 타깃 음성 데이터는 실제 인식 대상이 되는 음성 데이터이며, 학습용 음성 데이터는 상기 타깃 음성 데이터의 인식을 위해 사용되는 음성 데이터로서 음성 인식 시스템(100)의 학습을 위해 음성 입력부(102)에 입력될 수 있다.
학습용 음성 데이터는 상기 학습용 음성 데이터를 나타내는 타깃 레이블(label)과 함께 음성 입력부(102)에 입력될 수 있다. 타깃 레이블은 신경망 모델의 지도 학습(supervised learning)에 있어서 학습용 음성 데이터에 관한 결과 데이터를 의미한다. 상기 타깃 레이블은 상기 학습용 음성 데이터를 나타내는 자모(또는 글자, letter) 정보를 포함할 수 있다. 예를 들어, “안녕하세요”라는 학습용 음성 데이터에 관한 타깃 레이블은 “ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ”일 수 있다. 또한, 상기 타깃 레이블은 상기 학습용 음성 데이터를 나타내는 자모간 띄어쓰기(space) 정보를 더 포함할 수 있다. 예를 들어, “안녕 반가워요”라는 학습용 음성 데이터에 관한 타깃 레이블은 “ㅇㅏㄴㄴㅕㅇ$ㅂㅏㄴㄱㅏㅇㅝㅇㅛ”일 수 있다. 상기 띄어쓰기 정보는 설정된 심볼, 예를 들어 “$”로 나타낼 수 있다. 상기 타깃 레이블의 예시는 아래 표 1과 같다.
언어 | 타깃 레이블 |
한국어 | ㅇㅏㄴㄴㅕㅇ$ㅂㅏㄴㄱㅏㅇㅝㅇㅛ |
영어 | nice$to$meet$you |
이와 같이, 음성 입력부(102)는 음성 데이터에 관한 자모 및 자모간 띄어쓰기 정보를 타깃 레이블로 입력 받아 학습을 수행함으로써, 자모 자체가 하나의 글자를 이루는 알파벳뿐 아니라 자모들(예를 들어, 초성, 중성, 종성 등)이 조합되어 하나의 글자를 이루는 조합형 언어(예를 들어, 한글)의 인식에도 적용이 용이한 장점이 있다. 음성 입력부(102)는 다수의 학습용 음성 데이터(예를 들어, 1400개 문장의 학습용 음성 데이터) 및 상기 학습용 음성 데이터에 관한 타깃 레이블을 입력 받을 수 있다. 음성 입력부(102)에 입력되는 학습용 음성 데이터의 양이 많아질수록 후술할 제1 음성 인식부(104) 및 제2 음성 인식부(106)에서의 음성 인식률이 향상될 수 있다.
또한, 음성 입력부(102)는 음성 데이터(타깃 음성 데이터 또는 학습용 음성 데이터)를 설정된 크기(또는 길이)의 윈도우(window)로 분할할 수 있다. 상기 설정된 크기는 예를 들어, 25ms 일 수 있으나 분할되는 윈도우의 크기가 이에 한정되는 것은 아니다. 또한, 음성 입력부(102)에서 분할된 윈도우 각각은 설정된 시간차를 가질 수 있다. 예를 들어, 음성 입력부(102)에서 분할된 윈도우 각각은 10ms 의 시간차를 가질 수 있다. 상기 분할된 윈도우 중 인접하는 윈도우들은 소정 크기만큼의 중복된 부분을 가질 수 있으며, 이에 따라 상기 윈도우들을 통해 음성 데이터의 모든 부분을 커버할 수 있다.
또한, 상기 음성 데이터는 음성 데이터의 특성 또는 제1 음성 인식부(104) 및 제2 음성 인식부(106)의 학습 파라미터(또는 가중치값)에 따라 튜닝될 수 있다.
일 예시로서, 음성 입력부(102)에서 분할된 윈도우 중 연속되는 둘 이상의 윈도우는 하나의 묶음으로 묶일 수 있으며, 상기 윈도우 묶음이 하나의 입력(input)으로 제1 음성 인식부(104)에 입력될 수 있다. 이는 현재 시간 t에 대해 표현된 음성뿐 아니라 t의 앞, 뒤에 연결된 음을 하나의 입력으로 보고 이들의 관계로부터 특징을 추출하기 위함이다. 이하의 실시예들에 있어서, 하나의 입력으로 묶여진 윈도우의 개수를 height 라 칭하기로 하며, 예를 들어 height = 9 인 경우 음성 입력부(102)는 9개의 윈도우를 하나의 입력으로 제1 음성 인식부(104)에 입력할 수 있다.
다른 예시로서, 음성 입력부(102)는 설정된 스트라이드(stride)에 따라 분할된 상기 윈도우의 개수를 저감시켜 제1 음성 인식부(104)에 입력할 수 있다. 음성 입력부(102)는 예를 들어, 음성 데이터를 25ms 의 윈도우로 10ms씩 슬라이딩하면서 분할할 수 있으며, 이 경우 인접한 윈도우들은 일정 부분 서로 중복될 수 있다. 만약, stride = 0 인 경우 분할된 윈도우 각각 또는 height 에 따라 묶인 윈도우 묶음 각각이 하나의 입력으로 제1 음성 인식부(104)에 순차적으로 입력되나, stride = 2 인 경우 분할된 윈도우 또는 윈도우 묶음 중 제1 음성 인식부(104)에 입력되는 윈도우 또는 윈도우 묶음과 바로 인접한 윈도우 또는 윈도우 묶음은 건너뛰고 다음 윈도우 또는 윈도우 묶음이 제1 음성 인식부(104)에 입력될 수 있다. 이에 따라, 제1 음성 인식부(104)에 입력되는 전체 윈도우 개수가 저감될 수 있으며, 연속성을 갖는 음성 데이터가 스파스(sparse)하게 제1 음성 인식부(104)에 입력될 수 있다. 상기 height 및 stride 값은 분석가 또는 관리자에 의해 설정될 수 있으며, 음성 입력부(102)는 설정된 상기 height 및 stride 값에 따라 음성 데이터를 튜닝하여 제1 음성 인식부(104)에 입력할 수 있다.
제1 음성 인식부(104) 및 제2 음성 인식부(106)는 딥러닝(Deep Learning) 기반의 신경망 모델(Neural Network model)을 이용하여 학습용 음성 데이터를 학습하고, 상기 학습 결과에 기초하여 타깃 음성 데이터를 인식하는 모듈이다.
먼저, 제1 음성 인식부(104)는 제1 신경망 모델을 이용하여 학습용 음성 데이터의 특징을 학습한다. 여기서, 제1 신경망 모델은 예를 들어, 합성곱 신경망(CNN : Convolutional Neural Network) 모델일 수 있다. 상기 CNN 모델은 두 가지 연산 레이어(Convolutional Layer, Subsampling(pooling) Layer)를 번갈아 수행하여 최종적으로는 입력 데이터의 특징을 추출하는 데 사용되는 계층 모델이다. 제1 음성 인식부(104)는 상기 CNN 모델을 이용하여 음성 입력부(102)로부터 입력된 분할된 윈도우들과 타깃 레이블에 대해 기계 학습(machine learning)을 수행할 수 있다. 상술한 바와 같이, 타깃 레이블은 음성 입력부(102)에 입력된 학습용 음성 데이터의 자모 및 상기 자모간 띄어쓰기 정보를 포함할 수 있다. 제1 음성 인식부(104)는 상기 CNN 모델을 이용하여 각 컨볼루션 레이어들의 필터들을 학습시킬 수 있으며, 이에 따라 학습용 음성 데이터에 관한 특징, 즉 자모 및 자모간 띄어쓰기 정보를 학습할 수 있다. 상기 CNN 모델은 여러 계층으로 이루어지며, 단계적으로 특징을 추출/학습/분류하므로 종래의 음성 인식 모델에 비해 주변 잡음에 영향을 덜 받는 장점이 있다. 제1 음성 인식부(104)는 입력된 학습용 음성 데이터에 대응되는 자모 및 띄어쓰기 정보를 기계 학습을 통해 학습할 수 있으며, 상기 학습된 정보(즉, 학습용 음성 데이터에 대응되는 자모 및 띄어쓰기 정보)에 기초하여 이후 입력되는 타깃 음성 데이터의 특징을 추출(즉, 입력되는 타깃 음성 데이터가 어떤 자모 및 띄어쓰기 정보를 갖는지 추출)할 수 있다.
다음으로, 제2 음성 인식부(106)는 제2 신경망 모델을 이용하여 제1 음성 인식부(104)에서 추출된 특징들의 시계열 패턴(temporal pattern 또는 time series pattern)을 학습한다. 여기서, 제2 신경망 모델은 예를 들어, 순환 신경망(RNN : Recurrent Neural Network) 모델일 수 있다. 상기 RNN 모델은 입력 데이터들의 시계열적 상관 관계(또는 연결 관계)를 추출하는 데 사용되는 모델이다. 제2 음성 인식부(106)는 상기 RNN 모델을 이용하여 제1 음성 인식부(104)에서 추출된 특징들에 대해 기계 학습을 수행할 수 있다. 상기 RNN 모델은 예를 들어, BRNN(Bi-directional Neural Network) 모델일 수 있으며, 상기 BRNN 모델은 데이터들의 시계열적 상관 관계를 추출/학습하는 방향에 따라 Forward 레이어(앞에서부터 학습하는 레이어)와 Backward 레이어(뒤에서부터 학습하는 레이어)로 이루어질 수 있다. 제2 음성 인식부(106)는 제1 음성 인식부(104)에서 추출된 특징들에 대해 BRNN 모델을 적용함으로써 상기 특징들의 시계열 패턴, 예를 들어 어떤 자모 뒤에는 어떤 자모가 주로 나오는지, 어떤 자모 앞에는 어떤 자모가 주로 나오는지 등을 학습할 수 있다. 제2 음성 인식부(106)는 이러한 시계열 패턴을 추출 및 학습하고, 이러한 학습 결과를 확률로 나타낼 수 있다. 예를 들어, 추출된 특징이 “ㅁㅏㄴㅎㅇㅡㄴ”인 경우, 제2 음성 인식부(106)는 상기 자모들의 시계열 패턴, 즉 “ㅏ” 앞에 “ㅁ” 자모가 나타나는 시계열 패턴, “ㅏ” 뒤에 “ㄴ”, “ㅎ” 자모가 나타나는 시계열 패턴 등을 추출 및 학습할 수 있다.
또한, 제2 음성 인식부(106)는 CTC(Connectionist Temporal Classification) 기법을 이용하여 상기 타깃 레이블에 대한 후보 레이블을 학습할 수 있다. CTC 기법은 입력 데이터들의 시계열 패턴을 분류 및 예측하는 데 사용되는 기법이다. 동일한 내용의 음성 데이터라 할지라도, 음성 데이터에 포함된 음성의 발화자가 누구냐에 따라 상기 음성 데이터의 레이블(자모 및 자모간 띄어쓰기 정보)이 달라질 수 있다. 예를 들어, A로부터 발화된 음성(예를 들어, “-ㅂㅏ---ㅁ-”의 레이블로 나타나는 음성)과 B로부터 발화된 음성(예를 들어, “ㅂ--ㅏㅏㅏ-ㅁ”의 레이블로 나타나는 음성)은 모두 동일한 의미를 나타내나 서로 다른 장, 단음을 가질 수 있다. 여기서, “-”는 blank 로서 레이블로 분류되지 못한 음을 나타낸다. 따라서, 하나의 단어일지라도 대응되는 레이블은 다수개가 존재할 수 있다. 이러한 레이블들을 타깃 레이블(예를 들어, “ㅂㅏㅁ”)에 대한 후보 레이블이라 칭하며, 제2 음성 인식부(106)는 CTC 기법을 이용하여 타깃 레이블에 대한 후보 레이블을 학습할 수 있다. 제2 음성 인식부(106)는 다수의 학습용 음성 데이터와 이에 대응되는 타깃 레이블로부터 다수의 후보 레이블을 학습할 수 있다. 제2 음성 인식부(106)는 예를 들어, 학습용 음성 데이터를 모든 시간 t에 대해 자모 또는 띄어쓰기로 분류하여 레이블을 생성하고, 상기 레이블과 타깃 레이블과의 유사도를 계산하고, BPTT(Back-propagation Through Time) 기법을 이용하여 후보 레이블을 학습할 수 있다. 이와 같이, 제2 음성 인식부(106)는 동일한 시간 t에 대한 음성 데이터가 blank로 분류되는지, 또는 자모로 분류되는지에 따라 음성 데이터의 장/단음을 구분할 수 있다. 위 예시에서, “밤”에 대한 음성 데이터의 장/단음은 아래 표 2와 같이 구분될 수 있다.
레이블 | 텍스트 |
-ㅂㅏ---ㅁ- | 밤 |
ㅂ--ㅏㅏㅏ-ㅁ | 밤: |
제2 음성 인식부(106)는 제1 음성 인식부(104)에서 추출된 특징들의 시계열 패턴을 학습하고, 상기 학습된 정보(즉, 자모 및 띄어쓰기의 시계열 패턴)에 기초하여 이후 제1 음성 인식부(104)를 거쳐 입력되는 타깃 음성 데이터의 특징들의 시계열 패턴을 추출할 수 있다. 또한, 제2 음성 인식부(106)는 상기 학습된 타깃 레이블 또는 후보 레이블 중 추출된 상기 시계열 패턴에 대응되는 레이블을 선별할 수 있다.
한편, 여기서는 제1 신경망 모델 및 제2 신경망 모델로서 CNN 모델 및 RNN 모델을 각각 예시로 들었으나 제1 신경망 모델 및 제2 신경망 모델이 이에 한정되는 것은 아니며, 이들과 유사한 기능을 수행하는 모델 또는 알고리즘이 다양하게 적용될 수 있음에 유의한다.
텍스트 출력부(108)는 제1 음성 인식부(104) 및 제2 음성 인식부(106)에서의 학습 결과에 기초하여 음성 입력부(102)에 입력되는 타깃 음성 데이터를 텍스트로 변환하여 출력하는 모듈이다. 상술한 바와 같이, 제1 음성 인식부(104)는 학습용 음성 데이터의 특징들을 학습하고, 제2 음성 인식부(106)는 상기 특징들의 시계열 패턴을 학습할 수 있다. 텍스트 출력부(108)는 학습용 음성 데이터에 관한 타깃 레이블 및 상기 타깃 레이블에 관한 후보 레이블의 초성, 중성 및 종성을 각각 결합함으로써 상기 타깃 레이블 및 후보 레이블을 텍스트로 변환할 수 있다. 예를 들어, 음성 데이터 “안녕하세요”에 관한 타깃 레이블이 “ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ” 인 경우, 텍스트 출력부(108)는 상기 “ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ” 의 초성, 중성 및 종성을 결합함으로써 “ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ” 를 “안녕하세요” 라는 텍스트로 변환할 수 있다. 이때, 텍스트 출력부(108)는 설정된 사전을 참조하여 타깃 레이블의 초성, 중성 및 종성을 결합할 수 있다. 예를 들어, 텍스트 출력부(108)는 타깃 레이블의 초성, 중성 및 종성을 결합함으로써 텍스트를 구성하되, 구성된 텍스트가 상기 사전에 존재하는지의 여부를 판단하여 텍스트 변환의 정확도를 향상시킬 수 있다. 다만, 텍스트 출력부(108)가 선별된 레이블을 텍스트로 변환하는 방법이 이에 한정되는 것은 아니며, 텍스트 출력부(108)는 다양한 방법으로 타깃 레이블 및 후보 레이블을 텍스트로 변환할 수 있다. 이와 같이, 텍스트 변환부(108)는 학습용 음성 데이터에 관한 텍스트 정보를 학습할 수 있으며, 상기 학습 결과에 기초하여 음성 입력부(102)에 새롭게 입력되는 타깃 음성 데이터를 텍스트로 변환하여 출력할 수 있다.
구체적으로, 제1 음성 인식부(104)는 상기 학습 결과에 기초하여 타깃 음성 데이터의 특징들을 추출하고, 제2 음성 인식부(106)는 상기 학습 결과에 기초하여 제1 음성 인식부(104)에서 추출된 음성 데이터의 특징들의 시계열 패턴을 추출하고 학습된 타깃 레이블 또는 후보 레이블 중 추출된 상기 시계열 패턴에 대응되는 레이블을 선별할 수 있다. 또한, 텍스트 변환부(108)는 상기 학습 결과에 기초하여 선별된 레이블을 텍스트로 변환할 수 있다. 예를 들어, 선별된 레이블이 “ㅂ--ㅏㅏㅏ-ㅁ”인 경우, 텍스트 변환부(108)는 상기 레이블에 대응되는 텍스트 “밤”을 출력할 수 있다. 즉, 본 발명의 실시예들에 따르면, 신경망 모델 기반의 학습 결과에 기초하여 음성 데이터에 대한 발음 분석 과정 없이 음성 데이터를 텍스트로 직접 변환(end-to-end 변환)하여 출력함으로써, 음성 인식을 위한 전체적인 프로세스를 단순화할 수 있다.
학습 제어부(110)는 제1 음성 인식부(104) 및 제2 음성 인식부(106)의 학습률을 제어하는 모듈이다. 상술한 바와 같이, 제1 음성 인식부(104) 및 제2 음성 인식부(106)는 CNN 모델 및 RNN 모델을 각각 이용하여 음성을 인식할 수 있다. 그러나, CNN 모델과 RNN 모델의 학습에 대한 수렴(완료) 속도는 각각 다르다. 여기서, 학습의 수렴이란 신경망 모델의 파라미터, 즉 가중치(weight) 값이 더 이상 변하지 않는(즉, 업데이트되지 않는) 상태를 의미한다.
구체적으로, CNN 모델의 필터들은 RNN 모델에 비해 학습이 더 빠르게 진행될 수 있다. 이는 CNN 모델이 입력 데이터의 공간 정보(spatial information)만을 학습하는 반면 RNN 모델은 입력 데이터의 시간 정보(temporal information)를 추가적으로 학습하기 때문이다. 이러한 이유로, 만약 CNN 모델과 RNN 모델을 동일한 학습률(learning rate)로 학습하는 경우 RNN 모델을 더 길게 학습시켜야 하며, 이 경우 CNN 모델의 필터가 수렴된 이후에도 CNN 모델의 파라미터(예를 들어, 가중치) 값이 변하게 되므로 RNN 모델의 학습에 방해가 될 수 있다. 또한, CNN 모델만을 충분히 학습시킨 후 RNN 모델을 학습시키는 경우 입력 데이터의 연속성을 충분히 반영시킬 수 없다. 이러한 이유로, 본 발명의 실시예들에서는 학습 제어부(110)가 제1 음성 인식부(104) 및 제2 음성 인식부(106)의 학습률을 제어할 수 있도록 하였다. 구체적으로, 학습 제어부(110)는 제1 음성 인식부(104)에서의 학습이 완료되기 전까지는 제1 음성 인식부(104) 및 제2 음성 인식부(106)의 학습률을 동일하게 유지(Active state training)하되, 제1 음성 인식부(104)에서의 학습이 완료되는 경우 제1 음성 인식부(104)의 학습률을 0으로 제어(Inactive state training)할 수 있다. 여기서, 학습률을 0으로 제어하는 것은 CNN 모델의 파라미터(예를 들어, 가중치) 값을 더 이상 업데이트하지 않음을 의미한다. 학습 제어부(110)는 이와 같은 Active state training - Inactive state training 과정을 반복 수행할 수 있으며, 이에 따라 음성 인식 시스템(100)의 음성 인식률이 향상될 수 있다.
일 실시예에서, 음성 입력부(102), 제1 음성 인식부(104), 제2 음성 인식부(106), 텍스트 출력부(108) 및 학습 제어부(110)는 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 예시적인 실시예에 따라 동작하도록 할 수 있다. 예를 들어, 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
도 2는 본 발명의 일 실시예에 따른 음성 입력부(102)에서 음성 데이터를 분할하는 과정을 설명하기 위한 도면이다. 도 2에 도시된 바와 같이, 음성 입력부(102)는 음성 데이터(타깃 음성 데이터 또는 학습용 음성 데이터)를 설정된 크기(또는 길이)의 윈도우(window)로 분할할 수 있다.
또한, 음성 입력부(102)는 예를 들어, 음성 데이터를 25ms 의 윈도우로 10ms씩 슬라이딩하면서 T개로 분할할 수 있다. 도 2에는 음성 데이터가 T개의 윈도우로 분할되는 과정 및 상기 분할된 T개의 윈도우에 대한 스펙트로그램이 도시되고 있다.
도 3은 본 발명의 일 실시예에 따라 튜닝된 음성 데이터의 예시를 나타낸 도면이다. 상술한 바와 같이, 음성 입력부(102)에 입력되는 음성 데이터는 음성 데이터의 특성 또는 제1 음성 인식부(104) 및 제2 음성 인식부(106)의 학습 파라미터(또는 가중치값)에 따라 튜닝될 수 있다.
먼저, 음성 입력부(102)에서 분할된 윈도우 중 연속되는 둘 이상의 윈도우는 하나의 묶음으로 구성될 수 있다. 예를 들어, height = 9 인 경우 9개의 윈도우가 하나의 묶음으로 구성되어 제1 음성 입력부(104)에 입력될 수 있다.
다음으로, 음성 입력부(102)는 설정된 스트라이드(stride)에 따라 분할된 윈도우의 개수를 저감시켜 제1 음성 인식부(104)에 입력할 수 있다. 예를 들어, stride = 2 인 경우 음성 입력부(102)는 상기 윈도우 묶음들 중 제1 윈도우 묶음, 제3 윈도우 묶음, 제5 윈도우 묶음…등을 제1 음성 인식부(104)에 순차적으로 입력할 수 있으며, 제2 윈도우 묶음, 제4 윈도우 묶음, 제6 윈도우 묶음…등은 제1 음성 인식부(104)에 입력하지 않을 수 있다. 이에 따라, 제1 음성 인식부(104)에 입력되는 전체 윈도우 개수가 저감될 수 있으며, 연속성을 갖는 음성 데이터가 스파스(sparse)하게 제1 음성 인식부(104)에 입력될 수 있다.
도 4는 본 발명의 일 실시예에 따른 음성 데이터와 타깃 레이블과의 관계를 설명하기 위한 도면이다. 도 4에 도시된 바와 같이, 타깃 레이블의 길이(Y)는 음성 데이터의 길이(T)보다 길 수 없다. 여기서, 타깃 레이블의 길이(Y)는 자모와 자모간 띄어쓰기를 나타내는 심볼들의 개수를 의미하며, 음성 데이터의 길이(T)는 분할된 윈도우의 개수를 의미한다. 음성 데이터에 포함된 음성의 장, 단음 또는 상기 음성에 대한 발화자의 발음에 따라 여러 개의 윈도우가 하나의 자모에 대응될 수 있으므로, 음성 데이터의 길이(T)는 타깃 레이블의 길이(Y)보다 크다. 예를 들어, 타깃 레이블이 “ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ” 인 경우, 분할된 윈도우 각각에는 ㅇ, ㅇ, ㅇ, ㅏ, ㅏ, ㄴ, ㄴ, ㄴ, ㅕ, ㅇ…의 자모가 대응될 수 있으며, 이 경우 음성 데이터의 길이(T)는 타깃 레이블의 길이(Y)보다 크다. 만약, 빠른 속도로 녹음된 음성 데이터에 stride 파라미터를 변경하여 제1 음성 인식부(104)에 입력하는 경우, 음성 데이터의 길이(T)가 변경되어 타깃 레이블의 길이(Y)보다 짧아질 수 있으며, 이러한 이유로 음성 데이터의 튜닝은 음성 데이터의 특성 및 음성 인식 모델의 구조에 맞추어야 한다.
도 5는 본 발명의 일 실시예에 따른 제1 음성 인식부(104)에서 음성 데이터의 특징을 추출하는 과정을 설명하기 위한 도면이다. 상술한 바와 같이, 제1 음성 인식부(104)는 CNN 모델을 이용하여 음성 데이터의 특징을 추출할 수 있다. 일반적으로, CNN 모델은 아래과 같은 3개의 층을 가진다.
① Convolution layer : convolution feature를 추출하는 레이어
② Pooling layer : 특징을 줄이기 위해 sub-sampling 하는 레이어
③ Feedforward layer : 마지막 레이어로서 convolution layer, pooling layer에서 추출된 특징을 분류하는 레이어
제1 음성 인식부(104)는 상기 CNN 모델을 이용하여 음성 입력부(102)로부터 입력된 분할된 윈도우들과 타깃 레이블에 대해 기계 학습(machine learning)을 수행할 수 있다. 제1 음성 인식부(104)는 상기 CNN 모델을 이용하여 각 컨볼루션 레이어들의 필터들을 학습시킬 수 있으며, 이에 따라 학습용 음성 데이터에 관한 특징, 즉 자모 및 자모간 띄어쓰기 정보를 학습할 수 있다. 또한, 제1 음성 인식부(104)는 상기 학습된 정보(즉, 음성 데이터에 대응되는 자모 및 띄어쓰기 정보)에 기초하여 이후 입력되는 타깃 음성 데이터의 특징을 추출(즉, 타깃 음성 데이터가 어떤 자모 및 띄어쓰기 정보를 갖는지 추출)할 수 있다.
도 6은 본 발명의 일 실시예에 따른 제2 음성 인식부(106)에서 음성 데이터의 시계열 패턴을 추출하는 과정을 설명하기 위한 도면이다. 상술한 바와 같이, 제2 음성 인식부(106)는 RNN 모델을 이용하여 제1 음성 인식부(104)에서 인식된 특징들의 시계열 패턴을 추출할 수 있다. 상기 RNN 모델은 예를 들어, BRNN(Bi-directional Neural Network) 모델일 수 있으며, 상기 BRNN 모델은 데이터들의 시계열적 상관 관계를 추출/학습하는 방향에 따라 Forward 레이어와 Backward 레이어로 이루어질 수 있다. 제2 음성 인식부(106)는 제1 음성 인식부(104)에서 추출된 특징들에 대해 BRNN 모델을 적용함으로써 상기 특징들의 시계열 패턴, 예를 들어 어떤 자모 뒤에는 어떤 자모가 주로 나오는지, 어떤 자모 앞에는 어떤 자모가 주로 나오는지 등을 학습할 수 있다.
도 7은 본 발명의 일 실시예에 따른 제2 음성 인식부(106)에서 타깃 레이블에 대한 후보 레이블을 학습하는 과정을 설명하기 위한 도면이다. 상술한 바와 같이, 제2 음성 인식부(106)는 CTC 기법을 이용하여 타깃 레이블에 대한 후보 레이블을 학습할 수 있다. 제2 음성 인식부(106)는 다수의 학습용 음성 데이터와 이에 대응되는 타깃 레이블로부터 다수의 후보 레이블을 학습할 수 있다. 예를 들어, 제2 음성 인식부(106)는 학습용 음성 데이터를 모든 시간 t에 대해 자모 또는 띄어쓰기로 분류하여 레이블을 생성하고, 상기 레이블과 타깃 레이블과의 유사도를 계산하고, BPTT(Back-propagation Through Time) 기법을 이용하여 후보 레이블을 학습할 수 있다.
도 7을 참조하면, 제2 음성 인식부(106)는 “ㅂㅏㅁ”이라는 타깃 레이블에 대해 가장 가능성 있는 조합의 레이어, 즉 “-ㅂㅂ-ㅏ-ㅁ”, “-바---ㅁ-”, “ㅂ--ㅏㅏㅏ-ㅁ”… 등을 추출 및 학습할 수 있다. 또한, 제2 음성 인식부(106)는 동일한 시간 t에 대해 blank로 분류되는지, 또는 자모로 분류되는지에 따라 음성 데이터의 장/단음을 구분할 수 있다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 학습 제어부(110)에서 제1 음성 인식부(104) 및 제2 음성 인식부(106)의 학습률을 제어하는 과정을 설명하기 위한 도면이다. 상술한 바와 같이, 학습 제어부(110)는 제1 음성 인식부(104)에서의 학습이 완료되기 전까지는 제1 음성 인식부(104) 및 제2 음성 인식부(106)의 학습률을 동일하게 유지(Active state training)하되, 제1 음성 인식부(104)에서의 학습이 완료되는 경우 제1 음성 인식부(104)의 학습률을 0으로 제어(Inactive state training)할 수 있다.
도 8은 학습 제어부(110)에서 Active state training 이 수행되는 과정을 나타내며, 도 9는 학습 제어부(110)에서 Inactive state training 이 수행되는 과정을 나타낸다. 학습 제어부(110)는 이와 같은 Active state training - Inactive state training 과정을 반복 수행할 수 있으며, 이에 따라 음성 인식 시스템(100)의 음성 인식률이 향상될 수 있다.
도 10은 본 발명의 일 실시예에 따른 학습 제어부(110)에서의 학습 제어에 따른 음성 인식률 향상 효과를 설명하기 위한 도면이다. 상술한 바와 같이, 학습 제어부(110)는 Active state training - Inactive state training 과정을 반복 수행할 수 있다.
도 10에 도시된 바와 같이, 학습 제어부(110)의 제어에 의해 Active state training - Inactive state training 과정이 반복되는 경우, CNN 에서의 학습이 계속되는 경우와 비교하여 단어 인식률이 크게 향상(85.91% → 90.72%)됨을 확인할 수 있다. 위 실험 결과를 도출하기 위해, 1400개의 문장이 학습용 음성 데이터로서 음성 입력부(102)에 입력되었으며, 이후 400개의 문장이 테스트 음성 데이터(즉, 타깃 음성 데이터)로서 음성 입력부(102)에 입력되었다. 상기 각 문장은 예를 들어, 평균적으로 약 6.7개의 단어로 구성될 수 있다.
도 11은 본 발명의 일 실시예에 따른 학습용 음성 데이터를 학습하는 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S110 단계에서, 음성 입력부(102)는 학습용 음성 데이터를 입력 받는다. 음성 입력부(102)는 예를 들어, 마이크, 스피커, 오디오 등과 같은 음향 기기로부터 음성 데이터를 입력 받을 수 있다. 이때, 음성 입력부(102)는 상기 학습용 음성 데이터와 함께 상기 학습용 음성 데이터를 나타내는 타깃 레이블을 입력 받을 수 있다. 상기 타깃 레이블은 학습용 음성 데이터에 대한 자모 및 자모간 띄어쓰기 정보를 포함할 수 있다. 음성 입력부(102)는 상기 학습용 음성 데이터를 설정된 크기의 윈도우로 분할할 수 있으며, 분할된 윈도우 각각을 제1 음성 인식부(104)에 입력할 수 있다.
S120 단계에서, 제1 음성 인식부(104)는 음성 입력부(102)로부터 입력되는 윈도우 각각의 특징들을 학습한다. 제1 음성 인식부(104)는 예를 들어, 제1 신경망 모델을 이용하여 상기 윈도우 각각의 특징들을 학습할 수 있다. 여기서, 제1 신경망 모델은 예를 들어, CNN 모델일 수 있다. 제1 음성 인식부(104)는 상기 CNN 모델을 이용하여 각 컨볼루션 레이어들의 필터들을 학습시킬 수 있으며, 이에 따라 학습용 음성 데이터에 관한 특징, 즉 자모 및 자모간 띄어쓰기 정보를 학습할 수 있다.
S130 단계에서, 제2 음성 인식부(106)는 제1 음성 인식부(104)에서 추출된 특징들의 시계열 패턴을 학습한다. 제2 음성 인식부(106)는 예를 들어, 제2 신경망 모델을 이용하여 상기 시계열 패턴을 학습할 수 있다. 여기서, 제2 신경망 모델은 예를 들어, BRNN 모델일 수 있다. 제2 음성 인식부(106)는 제1 음성 인식부(104)에서 추출된 특징들에 대해 BRNN 모델을 적용함으로써 상기 특징들의 시계열 패턴, 예를 들어 어떤 자모 뒤에는 어떤 자모가 주로 나오는지, 어떤 자모 앞에는 어떤 자모가 주로 나오는지 등을 학습할 수 있다. 또한, 제2 음성 인식부(106)는 CTC 기법을 이용하여 타깃 레이블에 대한 후보 레이블을 학습할 수 있다. 제2 음성 인식부(106)는 예를 들어, 학습용 음성 데이터를 모든 시간 t에 대해 자모 또는 띄어쓰기로 분류하여 레이블을 생성하고, 상기 레이블과 타깃 레이블과의 유사도를 계산하고, BPTT 기법을 이용하여 후보 레이블을 학습할 수 있다.
S140 단계에서, 텍스트 출력부(108)는 학습용 음성 데이터를 텍스트로 변환한다. 텍스트 출력부(108)는 학습용 음성 데이터에 관한 타깃 레이블 및 상기 타깃 레이블에 관한 후보 레이블의 초성, 중성 및 종성을 결합함으로써 상기 타깃 레이블 및 후보 레이블을 텍스트로 변환할 수 있다. 이와 같은 과정을 통해, 음성 인식 시스템(100)은 학습용 음성 데이터에 대응되는 텍스트를 학습할 수 있다.
도 12는 본 발명의 일 실시예에 따른 음성 인식 방법을 설명하기 위한 흐름도이다.
S210 단계에서, 음성 입력부(102)는 타깃 음성 데이터를 입력 받는다.
S220 단계에서, 텍스트 출력부(108)는 제1 음성 인식부(104) 및 제2 음성 인식부(106)에서의 학습 결과에 기초하여 타깃 음성 데이터에 대응되는 텍스트를 출력한다. 구체적으로, 제1 음성 인식부(104)는 상기 학습 결과에 기초하여 타깃 음성 데이터의 특징들을 추출하고, 제2 음성 인식부(106)는 상기 학습 결과에 기초하여 추출된 타깃 음성 데이터의 특징들의 시계열 패턴을 추출하고 학습된 타깃 레이블 또는 후보 레이블 중 추출된 시계열 패턴에 대응되는 레이블을 선별할 수 있다. 이에 따라, 텍스트 출력부(108)는 선별된 상기 레이블을 상기 레이블과 대응되는 텍스트로 변환하여 출력할 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 음성 인식 시스템
102 : 음성 입력부
104 : 제1 음성 인식부
106 : 제2 음성 인식부
108 : 텍스트 출력부
110 : 학습 제어부
102 : 음성 입력부
104 : 제1 음성 인식부
106 : 제2 음성 인식부
108 : 텍스트 출력부
110 : 학습 제어부
Claims (21)
- 학습용 음성 데이터와 상기 학습용 음성 데이터를 나타내는 자모(letter) 정보를 포함하는 타깃 레이블(label)을 입력 받고, 상기 학습용 음성 데이터를 설정된 크기의 윈도우(window)로 분할하는 음성 입력부;
제1 신경망 모델 및 상기 타깃 레이블을 이용하여 상기 분할된 윈도우의 특징들(features)을 학습하는 제1 음성 인식부;
제2 신경망 모델을 이용하여 상기 특징들의 시계열 패턴을 학습하는 제2 음성 인식부; 및
상기 제1 음성 인식부 및 상기 제2 음성 인식부에서의 학습 결과에 기초하여 상기 음성 입력부에 입력되는 타깃 음성 데이터를 텍스트로 변환하여 출력하는 텍스트 출력부를 포함하는, 음성 인식 시스템.
- 청구항 1에 있어서,
상기 음성 입력부는, 상기 분할된 윈도우 중 연속되는 둘 이상의 윈도우를 하나의 묶음으로 구성하여 상기 제1 음성 인식부에 입력하는, 음성 인식 시스템.
- 청구항 2에 있어서,
상기 음성 입력부는, 설정된 스트라이드(stride)에 따라 상기 분할된 윈도우의 개수를 저감시켜 상기 제1 음성 인식부에 입력하는, 음성 인식 시스템.
- 청구항 1에 있어서,
상기 제1 신경망 모델은, 합성곱 신경망(CNN : Convolutional Neural Network) 모델인, 음성 인식 시스템.
- 청구항 4에 있어서,
상기 제2 신경망 모델은, 순환 신경망(RNN : Recurrent Neural Network) 모델인, 음성 인식 시스템.
- 청구항 5에 있어서,
상기 제2 음성 인식부는, CTC(Connectionist Temporal Classification) 기법을 이용하여 상기 타깃 레이블에 대한 후보 레이블을 학습하는, 음성 인식 시스템.
- 청구항 6에 있어서,
상기 제1 음성 인식부는, 상기 제1 음성 인식부에서의 학습 결과에 기초하여 상기 타깃 음성 데이터의 특징들을 추출하며,
상기 제2 음성 인식부는, 상기 제2 음성 인식부에서의 학습 결과에 기초하여 상기 추출된 타깃 음성 데이터의 특징들의 시계열 패턴을 추출하고 학습된 상기 타깃 레이블 또는 상기 후보 레이블 중 상기 추출된 시계열 패턴에 대응되는 레이블을 선별하는, 음성 인식 시스템.
- 청구항 7에 있어서,
상기 텍스트 출력부는, 상기 선별된 레이블을 텍스트로 변환하여 출력하는, 음성 인식 시스템.
- 청구항 1에 있어서,
상기 제1 음성 인식부 및 상기 제2 음성 인식부의 학습률을 제어하는 학습 제어부를 더 포함하는, 음성 인식 시스템.
- 청구항 9에 있어서,
상기 학습 제어부는, 상기 제1 음성 인식부에서의 학습이 완료되기 전까지는 상기 제1 음성 인식부 및 상기 제2 음성 인식부의 학습률을 동일하게 유지하되, 상기 제1 음성 인식부에서의 학습이 완료되는 경우 상기 제1 음성 인식부의 학습률을 0으로 제어하는, 음성 인식 시스템.
- 음성 입력부에서, 학습용 음성 데이터와 상기 학습용 음성 데이터를 나타내는 자모 정보를 포함하는 타깃 레이블을 입력받는 단계;
상기 음성 입력부에서, 상기 학습용 음성 데이터를 설정된 크기의 윈도우로 분할하는 단계;
제1 음성 인식부에서, 제1 신경망 모델 및 상기 타깃 레이블을 이용하여 상기 분할된 윈도우의 특징들을 학습하는 단계;
제2 음성 인식부에서, 제2 신경망 모델을 이용하여 상기 특징들의 시계열 패턴을 학습하는 단계; 및
텍스트 출력부에서, 상기 제1 음성 인식부 및 상기 제2 음성 인식부에서의 학습 결과에 기초하여 상기 음성 입력부에 입력되는 타깃 음성 데이터를 텍스트로 변환하여 출력하는 단계를 포함하는, 음성 인식 방법.
- 청구항 11에 있어서,
상기 학습용 음성 데이터를 설정된 크기의 윈도우로 분할하는 단계 이후,
상기 음성 입력부에서, 상기 분할된 윈도우 중 연속되는 둘 이상의 윈도우를 하나의 묶음으로 구성하여 상기 제1 음성 인식부에 입력하는 단계를 더 포함하는, 음성 인식 방법.
- 청구항 12에 있어서,
상기 제1 음성 인식부에 입력하는 단계는, 설정된 스트라이드에 따라 상기 분할된 윈도우의 개수를 저감시켜 상기 제1 음성 인식부에 입력하는, 음성 인식 방법.
- 청구항 11에 있어서,
상기 제1 신경망 모델은, 합성곱 신경망 모델인, 음성 인식 방법. - 청구항 14에 있어서,
상기 제2 신경망 모델은, 순환 신경망 모델인, 음성 인식 방법.
- 청구항 15에 있어서,
상기 특징들의 시계열 패턴을 학습하는 단계 이후,
상기 제2 음성 인식부에서, CTC 기법을 이용하여 상기 타깃 레이블에 대한 후보 레이블을 학습하는 단계를 더 포함하는, 음성 인식 방법.
- 청구항 16에 있어서,
상기 텍스트로 변환하여 출력하는 단계 이전에,
상기 제1 음성 인식부에서, 상기 제1 음성 인식부에서의 학습 결과에 기초하여 상기 타깃 음성 데이터의 특징들을 추출하는 단계; 및
상기 제2 음성 인식부에서, 상기 제2 음성 인식부에서의 학습 결과에 기초하여 상기 추출된 타깃 음성 데이터의 특징들의 시계열 패턴을 추출하고 학습된 상기 타깃 레이블 또는 상기 후보 레이블 중 상기 추출된 시계열 패턴에 대응되는 레이블을 선별하는 단계를 더 포함하는, 음성 인식 방법. - 청구항 17에 있어서,
상기 텍스트로 변환하여 출력하는 단계는, 상기 선별된 레이블을 텍스트로 변환하여 출력하는, 음성 인식 방법.
- 청구항 11에 있어서,
학습 제어부에서, 상기 제1 음성 인식부 및 상기 제2 음성 인식부의 학습률을 제어하는 단계를 더 포함하는, 음성 인식 방법.
- 청구항 19에 있어서,
상기 학습률을 제어하는 단계는, 상기 제1 음성 인식부에서의 학습이 완료되기 전까지는 상기 제1 음성 인식부 및 상기 제2 음성 인식부의 학습률을 동일하게 유지하되, 상기 제1 음성 인식부에서의 학습이 완료되는 경우 상기 제1 음성 인식부의 학습률을 0으로 제어하는, 음성 인식 방법.
- 하드웨어와 결합되어
음성 입력부에서, 학습용 음성 데이터와 상기 학습용 음성 데이터를 나타내는 자모 정보인 타깃 레이블을 입력받는 단계;
상기 음성 입력부에서, 상기 학습용 음성 데이터를 설정된 크기의 윈도우로 분할하는 단계;
제1 음성 인식부에서, 제1 신경망 모델 및 상기 타깃 레이블을 이용하여 상기 분할된 윈도우의 특징들을 학습하는 단계;
제2 음성 인식부에서, 제2 신경망 모델을 이용하여 상기 특징들의 시계열 패턴을 학습하는 단계; 및
텍스트 출력부에서, 상기 음성 입력부에 입력되는 타깃 음성 데이터를 상기 제1 음성 인식부 및 상기 제2 음성 인식부에서의 학습 결과에 기초하여 텍스트로 변환하여 출력하는 단계
를 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150151042A KR102313028B1 (ko) | 2015-10-29 | 2015-10-29 | 음성 인식 시스템 및 방법 |
CN201510977841.2A CN106652999A (zh) | 2015-10-29 | 2015-12-23 | 语音识别系统以及方法 |
US14/982,248 US9886957B2 (en) | 2015-10-29 | 2015-12-29 | System and method for voice recognition |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150151042A KR102313028B1 (ko) | 2015-10-29 | 2015-10-29 | 음성 인식 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170050029A KR20170050029A (ko) | 2017-05-11 |
KR102313028B1 true KR102313028B1 (ko) | 2021-10-13 |
Family
ID=58637862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150151042A KR102313028B1 (ko) | 2015-10-29 | 2015-10-29 | 음성 인식 시스템 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9886957B2 (ko) |
KR (1) | KR102313028B1 (ko) |
CN (1) | CN106652999A (ko) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160293167A1 (en) * | 2013-10-10 | 2016-10-06 | Google Inc. | Speaker recognition using neural networks |
US10229672B1 (en) | 2015-12-31 | 2019-03-12 | Google Llc | Training acoustic models using connectionist temporal classification |
JP6802756B2 (ja) * | 2017-05-18 | 2020-12-16 | 株式会社デンソーアイティーラボラトリ | 認識システム、共通特徴量抽出ユニット、及び認識システム構成方法 |
CN110741363B (zh) * | 2017-06-18 | 2024-04-02 | 谷歌有限责任公司 | 使用机器学习处理自然语言以基于槽描述符确定槽值 |
CN109102810B (zh) * | 2017-06-21 | 2021-10-15 | 北京搜狗科技发展有限公司 | 声纹识别方法和装置 |
KR102339716B1 (ko) * | 2017-06-30 | 2021-12-14 | 삼성에스디에스 주식회사 | 음성 인식 방법 및 그 장치 |
KR102002528B1 (ko) * | 2017-07-05 | 2019-07-22 | 주식회사 케이티 | 객체 검출 장치 및 그 방법 |
US10714076B2 (en) * | 2017-07-10 | 2020-07-14 | Sony Interactive Entertainment Inc. | Initialization of CTC speech recognition with standard HMM |
JP6987378B2 (ja) * | 2017-07-18 | 2021-12-22 | 国立研究開発法人情報通信研究機構 | ニューラルネットワークの学習方法及びコンピュータプログラム |
KR102442055B1 (ko) | 2017-09-26 | 2022-09-13 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN107680587A (zh) * | 2017-09-29 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 声学模型训练方法和装置 |
US20190114543A1 (en) * | 2017-10-12 | 2019-04-18 | British Cayman Islands Intelligo Technology Inc. | Local learning system in artificial intelligence device |
CN108932941B (zh) * | 2017-10-13 | 2020-07-03 | 北京猎户星空科技有限公司 | 语音识别方法、装置及计算机设备、存储介质及程序产品 |
CN107911338B (zh) * | 2017-10-13 | 2019-06-28 | 深圳市迅雷网络技术有限公司 | 一种数据验证方法、相关设备和系统 |
CN109754790B (zh) * | 2017-11-01 | 2020-11-06 | 中国科学院声学研究所 | 一种基于混合声学模型的语音识别系统及方法 |
CN107731233B (zh) * | 2017-11-03 | 2021-02-09 | 王华锋 | 一种基于rnn的声纹识别方法 |
KR102075796B1 (ko) * | 2017-11-14 | 2020-03-02 | 주식회사 엘솔루 | 자동 음성인식 장치 및 방법 |
CN108010514B (zh) * | 2017-11-20 | 2021-09-10 | 四川大学 | 一种基于深度神经网络的语音分类方法 |
CN107945791B (zh) * | 2017-12-05 | 2021-07-20 | 华南理工大学 | 一种基于深度学习目标检测的语音识别方法 |
KR102462426B1 (ko) * | 2017-12-14 | 2022-11-03 | 삼성전자주식회사 | 발화의 의미를 분석하기 위한 전자 장치 및 그의 동작 방법 |
KR102036279B1 (ko) | 2018-02-09 | 2019-10-24 | 충북대학교 산학협력단 | 사용자의 발표 패턴을 이용한 프리젠테이션 제어 시스템 및 방법 |
US10636423B2 (en) * | 2018-02-21 | 2020-04-28 | Motorola Solutions, Inc. | System and method for managing speech recognition |
US11182565B2 (en) | 2018-02-23 | 2021-11-23 | Samsung Electronics Co., Ltd. | Method to learn personalized intents |
KR20190114694A (ko) * | 2018-03-30 | 2019-10-10 | 삼성에스디에스 주식회사 | 인공지능을 이용한 시계열 데이터 학습 및 분석 방법 |
WO2019190185A1 (ko) * | 2018-03-30 | 2019-10-03 | 삼성에스디에스 주식회사 | 인공지능을 이용한 시계열 데이터 학습 및 분석 방법 |
KR102704648B1 (ko) | 2018-04-10 | 2024-09-10 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
GB2573809B (en) * | 2018-05-18 | 2020-11-04 | Emotech Ltd | Speaker Recognition |
US11314940B2 (en) | 2018-05-22 | 2022-04-26 | Samsung Electronics Co., Ltd. | Cross domain personalized vocabulary learning in intelligent assistants |
CN109192226A (zh) * | 2018-06-26 | 2019-01-11 | 深圳大学 | 一种信号处理方法及装置 |
WO2020004727A1 (ko) * | 2018-06-29 | 2020-01-02 | 주식회사 디플리 | 실시간 소리 분석 방법 및 장치 |
CN109214820B (zh) * | 2018-07-06 | 2021-12-21 | 厦门快商通信息技术有限公司 | 一种基于音视频结合的商户收款系统及方法 |
US20200026985A1 (en) * | 2018-07-17 | 2020-01-23 | Palo Alto Research Center Incorporated | System and method for characterizing an arbitrary-length time series using pre-selected signatures |
US10210860B1 (en) * | 2018-07-27 | 2019-02-19 | Deepgram, Inc. | Augmented generalized deep learning with special vocabulary |
CN112567459B (zh) * | 2018-08-24 | 2023-12-12 | 三菱电机株式会社 | 声音分离装置、声音分离系统、声音分离方法以及存储介质 |
CN109272990B (zh) * | 2018-09-25 | 2021-11-05 | 江南大学 | 基于卷积神经网络的语音识别方法 |
KR20200036352A (ko) | 2018-09-28 | 2020-04-07 | 삼성전자주식회사 | 신경망의 동작 방법과 학습 방법 및 그 신경망 |
US11731232B2 (en) * | 2018-10-30 | 2023-08-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | Irregular mechanical motion detection systems and method |
CN110009333B (zh) | 2018-10-31 | 2020-10-27 | 创新先进技术有限公司 | 一种生成目标合同的方法及终端设备 |
KR102199825B1 (ko) * | 2018-12-28 | 2021-01-08 | 강원대학교산학협력단 | 음성 인식 장치 및 방법 |
US11114103B2 (en) * | 2018-12-28 | 2021-09-07 | Alibaba Group Holding Limited | Systems, methods, and computer-readable storage media for audio signal processing |
CN110085210B (zh) * | 2019-03-15 | 2023-10-13 | 平安科技(深圳)有限公司 | 交互信息测试方法、装置、计算机设备及存储介质 |
JP7290507B2 (ja) * | 2019-08-06 | 2023-06-13 | 本田技研工業株式会社 | 情報処理装置、情報処理方法、認識モデルならびにプログラム |
CN110398370B (zh) * | 2019-08-20 | 2021-02-05 | 贵州大学 | 一种基于hts-cnn模型的轴承故障诊断方法 |
IT201900015506A1 (it) * | 2019-09-03 | 2021-03-03 | St Microelectronics Srl | Procedimento di elaborazione di un segnale elettrico trasdotto da un segnale vocale, dispositivo elettronico, rete connessa di dispositivi elettronici e prodotto informatico corrispondenti |
CN110648655B (zh) * | 2019-09-11 | 2022-03-01 | 北京探境科技有限公司 | 一种语音识别方法、装置、系统及存储介质 |
CN112489630A (zh) * | 2019-09-12 | 2021-03-12 | 武汉Tcl集团工业研究院有限公司 | 一种语音识别方法及设备 |
CN110689902B (zh) * | 2019-12-11 | 2020-07-14 | 北京影谱科技股份有限公司 | 基于神经网络的音频信号时序处理方法、装置及系统及计算机可读存储介质 |
CN111696524B (zh) * | 2020-04-21 | 2023-02-14 | 厦门快商通科技股份有限公司 | 一种叠字语音识别方法及系统 |
CN113658596A (zh) | 2020-04-29 | 2021-11-16 | 扬智科技股份有限公司 | 语意辨识方法与语意辨识装置 |
CN112908301B (zh) * | 2021-01-27 | 2024-06-11 | 科大讯飞(上海)科技有限公司 | 一种语音识别方法、装置、存储介质及设备 |
KR102640791B1 (ko) * | 2021-12-07 | 2024-02-27 | 한화오션 주식회사 | 선내 음성 디지털화 시스템 |
WO2024071729A1 (ko) * | 2022-09-28 | 2024-04-04 | 경북대학교 산학협력단 | 2단계 사전 학습 기반의 인공지능을 이용한 음성 인식 장치 |
KR102610360B1 (ko) * | 2022-12-28 | 2023-12-06 | 주식회사 포지큐브 | 발화 보이스에 대한 레이블링 방법, 그리고 이를 구현하기 위한 장치 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253178B1 (en) * | 1997-09-22 | 2001-06-26 | Nortel Networks Limited | Search and rescoring method for a speech recognition system |
US6202049B1 (en) * | 1999-03-09 | 2001-03-13 | Matsushita Electric Industrial Co., Ltd. | Identification of unit overlap regions for concatenative speech synthesis system |
EP2221805B1 (en) * | 2009-02-20 | 2014-06-25 | Nuance Communications, Inc. | Method for automated training of a plurality of artificial neural networks |
US8560311B2 (en) * | 2009-09-23 | 2013-10-15 | Robert W. Williams | System and method for isolating uncertainty between speech recognition and natural language processing |
CN102122507A (zh) * | 2010-01-08 | 2011-07-13 | 龚澍 | 一种运用人工神经网络进行前端处理的语音检错方法 |
US8972253B2 (en) * | 2010-09-15 | 2015-03-03 | Microsoft Technology Licensing, Llc | Deep belief network for large vocabulary continuous speech recognition |
KR101399777B1 (ko) | 2012-07-27 | 2014-05-27 | 한국과학기술원 | 음성 인식률의 향상을 위한 음성 인식 지원 방법 및 시스템 |
CN103117060B (zh) * | 2013-01-18 | 2015-10-28 | 中国科学院声学研究所 | 用于语音识别的声学模型的建模方法、建模系统 |
CN103578465B (zh) * | 2013-10-18 | 2016-08-17 | 威盛电子股份有限公司 | 语音辨识方法及电子装置 |
CN103578464B (zh) * | 2013-10-18 | 2017-01-11 | 威盛电子股份有限公司 | 语言模型的建立方法、语音辨识方法及电子装置 |
KR101598950B1 (ko) * | 2013-10-30 | 2016-03-03 | 에스케이텔레콤 주식회사 | 발음 평가 장치 및 이를 이용한 발음 평가 방법에 대한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체 |
US20150228277A1 (en) * | 2014-02-11 | 2015-08-13 | Malaspina Labs (Barbados), Inc. | Voiced Sound Pattern Detection |
US9484022B2 (en) * | 2014-05-23 | 2016-11-01 | Google Inc. | Training multiple neural networks with different accuracy |
CN104700828B (zh) * | 2015-03-19 | 2018-01-12 | 清华大学 | 基于选择性注意原理的深度长短期记忆循环神经网络声学模型的构建方法 |
US9786270B2 (en) * | 2015-07-09 | 2017-10-10 | Google Inc. | Generating acoustic models |
-
2015
- 2015-10-29 KR KR1020150151042A patent/KR102313028B1/ko active IP Right Grant
- 2015-12-23 CN CN201510977841.2A patent/CN106652999A/zh active Pending
- 2015-12-29 US US14/982,248 patent/US9886957B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9886957B2 (en) | 2018-02-06 |
CN106652999A (zh) | 2017-05-10 |
US20170125020A1 (en) | 2017-05-04 |
KR20170050029A (ko) | 2017-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102313028B1 (ko) | 음성 인식 시스템 및 방법 | |
US11961511B2 (en) | System and method for disambiguation and error resolution in call transcripts | |
US11145292B2 (en) | Method and device for updating language model and performing speech recognition based on language model | |
CN110364171B (zh) | 一种语音识别方法、语音识别系统及存储介质 | |
KR102339716B1 (ko) | 음성 인식 방법 및 그 장치 | |
US10373610B2 (en) | Systems and methods for automatic unit selection and target decomposition for sequence labelling | |
US8935167B2 (en) | Exemplar-based latent perceptual modeling for automatic speech recognition | |
JP2020112787A (ja) | 切断アテンションに基づくリアルタイム音声認識方法、装置、機器及びコンピュータ読み取り可能な記憶媒体 | |
CN111081230B (zh) | 语音识别方法和设备 | |
JP7266683B2 (ja) | 音声対話に基づく情報検証方法、装置、デバイス、コンピュータ記憶媒体、およびコンピュータプログラム | |
CN104252864A (zh) | 实时语音分析方法和系统 | |
JP2019159654A (ja) | 時系列情報の学習システム、方法およびニューラルネットワークモデル | |
CN110472548B (zh) | 一种基于语法分类器的视频连续手语识别方法及系统 | |
KR20220130565A (ko) | 키워드 검출 방법 및 장치 | |
EP4002354B1 (en) | Method and system for automatic speech recognition in resource constrained devices | |
KR101483947B1 (ko) | 핵심어에서의 음소 오류 결과를 고려한 음향 모델 변별 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체 | |
US12094453B2 (en) | Fast emit low-latency streaming ASR with sequence-level emission regularization utilizing forward and backward probabilities between nodes of an alignment lattice | |
CN113327596B (zh) | 语音识别模型的训练方法、语音识别方法和装置 | |
KR101424496B1 (ko) | 음향 모델 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체 | |
CN112037772B (zh) | 基于多模态的响应义务检测方法、系统及装置 | |
KR102199445B1 (ko) | 클래스 기반 음향 모델의 변별 학습 방법 및 장치, 그리고 이를 이용한 음성 인식 장치 | |
US12100388B2 (en) | Method and apparatus for training speech recognition model, electronic device and storage medium | |
CN110930985A (zh) | 电话语音识别模型、方法、系统、设备及介质 | |
US20240153508A1 (en) | End-to-End Speech Recognition Adapted for Multi-Speaker Applications | |
CN116266454A (zh) | 多方言语音识别方法、装置、计算机设备和存储介质 |
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 |