KR102378895B1 - 음성 인식을 위한 호출어 학습 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents
음성 인식을 위한 호출어 학습 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR102378895B1 KR102378895B1 KR1020210128500A KR20210128500A KR102378895B1 KR 102378895 B1 KR102378895 B1 KR 102378895B1 KR 1020210128500 A KR1020210128500 A KR 1020210128500A KR 20210128500 A KR20210128500 A KR 20210128500A KR 102378895 B1 KR102378895 B1 KR 102378895B1
- Authority
- KR
- South Korea
- Prior art keywords
- voice data
- speaker
- word
- classified
- difference value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004590 computer program Methods 0.000 title claims description 16
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 122
- 238000010219 correlation analysis Methods 0.000 claims description 4
- 238000000556 factor analysis Methods 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 description 40
- 230000002996 emotional effect Effects 0.000 description 27
- 238000013515 script Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 23
- 238000004458 analytical method Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 238000013480 data collection Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 7
- 230000000903 blocking effect Effects 0.000 description 6
- 230000008451 emotion Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000002194 synthesizing effect Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004424 eye movement Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000746 purification Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000001308 synthesis 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/22—Interactive procedures; Man-machine interfaces
- G10L17/24—Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
-
- 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/005—Language recognition
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 음성 인식을 위한 호출어의 학습 방법을 제안한다. 상기 방법은 음성 데이터 생성 장치가 사전에 구비된 데이터베이스(database)에 저장된 음성 데이터들 중에서 호출어(wake-word)로 분류된 음성 데이터를 식별하는 단계; 상기 음성 데이터 생성 장치가 상기 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서, 상기 호출어로 분류된 음성 데이터와 음절(syllable)이 동일하나 호출어로 분류되지 않음 음성 데이터를 식별하는 단계; 상기 음성 데이터 생성 장치가 상기 호출어로 분류된 음성 데이터의 파형(wave form)과 상기 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여, 상기 호출어로 분류된 음성 데이터와 상기 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출하는 단계; 및 상기 음성 데이터 생성 장치가 상기 발화자에 관한 메타데이터(metadata)에 상기 차이 값을 추가하여 상기 데이터베이스에 저장하는 단계를 포함할 수 있다. 이 경우, 상기 호출어는 대기 상태(standby status)인 인공지능(Artificial Intelligence, AI) 시스템을 활성화(activate)시키도록, 사전에 설정된 단어일 수 있다.
Description
본 발명은 인공지능(Artificial Intelligence, AI) 기계 학습용 데이터의 수집에 관한 것이다. 보다 상세하게는, 음성 인식을 위한 호출어(wake-word)의 학습 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 기계 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하거나, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
한편, 음성 인식(speech recognition)은 음성 데이터 신호로부터 언어적 의미를 인식하는 기술을 의미한다. 이와 같은, 음성 인식은 인식의 대상에 따라, 단어 음성 인식(word recognition), 연속 음성 인식(continuous speech recognition) 및 화자 인식(speaker recognition)으로 분류된다.
일반적으로, 음성 인식의 분류 중 단어 음성 인식 및 연속 음성 인식은 음성을 통해 컴퓨팅 시스템의 호출, 명령의 지시 또는 정보의 입력 등을 위한 사용자 인터페이스(user interface)로 활용될 수 있다. 그리고, 화자 인식은 화자의 진위 여부 판정, 무리로부터 화자 식별 등의 보안 목적으로 활용될 수 있다.
음성 인식 과정에 대하여 보다 구체적으로 설명하면, 음성 인식은 기준 패턴(reference pattern)이 포함된 음향 모델(acoustic model)과 외부로부터 입력된 음성 데이터를 서로 비교하는 패턴 인식을 수행하여 이루어진다. 이러한 음성 인식에 사용되는 음향 모델은 크게 템플릿(template) 기반 방식과, 확률 분포(probability distribution)에 기초한 통계학적 방식으로 구분될 수 있다. 그리고, 음향 모델 중 템플릿 기반의 방식은 동적 정합(Dynamic Time Warping, DTW)이 널리 사용되며, 확률 분포에 기초한 통계학적 방식은 은닉 마르코프 모델(Hidden Markov Model, HMM)이 널리 사용되고 있다.
한편, 사람의 음성은 동일한 뜻을 가지는 어휘 또는 문장이라 할지라도, 국가, 언어, 지역, 성별 또는 연령 등에 따라 서로 상이한 파형(wave form)을 가지고 있다. 따라서, 국가별, 언어별, 지역별, 성별 및 연령별로 음성 인식을 수행하기 위한 기준 패턴을 제각각 구축하기 위해서는 수많은 음성 데이터가 확보되어야 한다.
본 발명의 일 목적은 음성 인식을 위한 호출어의 학습 방법을 제공하는 것이다.
본 발명의 다른 목적은 호출어를 학습시키기 위한 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 음성 인식을 위한 호출어의 학습 방법을 제안한다. 상기 방법은 음성 데이터 생성 장치가 사전에 구비된 데이터베이스(database)에 저장된 음성 데이터들 중에서 호출어(wake-word)로 분류된 음성 데이터를 식별하는 단계; 상기 음성 데이터 생성 장치가 상기 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서, 상기 호출어로 분류된 음성 데이터와 음절(syllable)이 동일하나 호출어로 분류되지 않음 음성 데이터를 식별하는 단계; 상기 음성 데이터 생성 장치가 상기 호출어로 분류된 음성 데이터의 파형(wave form)과 상기 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여, 상기 호출어로 분류된 음성 데이터와 상기 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출하는 단계; 및 상기 음성 데이터 생성 장치가 상기 발화자에 관한 메타데이터(metadata)에 상기 차이 값을 추가하여 상기 데이터베이스에 저장하는 단계를 포함할 수 있다. 이 경우, 상기 호출어는 대기 상태(standby status)인 인공지능(Artificial Intelligence, AI) 시스템을 활성화(activate)시키도록, 사전에 설정된 단어일 수 있다.
구체적으로, 상기 음성 데이터를 식별하는 단계는 상기 음절이 동일하나 호출어로 분류되지 않은 음성 데이터를 식별할 수 없는 경우, 둘 이상의 음소(phoneme)들의 조합으로 상기 음절과 동일한 음절을 구성할 수 있도록, 상기 음절과는 상이하나 호출어로 분류되지 않은 음성 데이터들을 각각 구성하고 있는 하나 이상의 음소들을 조합하여 상기 음성 데이터를 생성할 수 있다.
상기 음성 데이터를 식별하는 단계는 상기 음성 데이터에 대한 메타데이터를 기준으로, 상기 음성 데이터가 호출어로 분류되었는지 여부를 판단할 수 있다.
한편, 상기 저장하는 단계는 상기 산출된 차이 값을 상기 발화자의 속성과 매칭하여 상기 데이터베이스에 누적 저장할 수 있다. 이 경우, 상기 발화자의 속성에는 상기 발화자의 국가, 언어, 지역, 성별 및 연령이 포함될 수 있다.
상기 차이 값을 산출하는 단계는 상기 데이터베이스에 누적 저장된 차이 값과 발화자의 속성에 대하여 상관 분석(correlation analysis)을 수행하여 상기 차이 값과 발화자의 속성 사이의 관련성을 평가하고, 상기 평가된 관련성에 대하여 요인 분석(factor analysis) 및 회귀 분석(regression)을 수행하여 상기 발화자의 속성에 포함된 요소들 중에서 상기 차이 값에 최대 영향을 미치는 요소를 식별할 수 있다.
상기 저장하는 단계는 상기 차이 값에 최대 영향을 미치는 요소를 상기 발화자에 대한 호출어와 비호출어 사이의 구별 기준으로 설정한 후, 상기 설정된 구별 기준을 상기 발화자에 관한 메타데이터에 추가시켜 저장할 수 있다.
한편, 상기 방법은 상기 음성 데이터 생성 장치가, 상기 발화자에 의해 발화되었으며 상기 호출어로 분류되지 않은 음성 데이터들 중에서 사전에 설정된 호출어 등록 가능 크기의 음절로 구성된 음성 데이터 중 하나를 식별하고, 상기 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터에 상기 차이 값을 적용하는 단계를 더 포함할 수 있다.
이 경우, 상기 차이 값을 적용하는 단계는 상기 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터의 메타데이터를 기준으로 하나의 반향 신호(echo signal)을 식별한 후, 상기 식별된 반향 신호를 상기 차이 값이 적용된 음성 데이터와 합성할 수 있다.
그리고, 상기 차이 값을 적용하는 단계는 상기 데이터베이스에 포함된 복수 개의 잡음 신호(noise signal)을 무작위로 선택한 후, 상기 무작위로 선택된 잡음 신호 각각을 상기 반향 신호가 합성된 음성 데이터에 추가 합성하여, 상기 호출어를 음성 인식하기 위한 복수 개의 기준 패턴(reference pattern)들을 구축할 수 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 호출어 학습 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 사전에 구비된 데이터베이스에 저장된 음성 데이터들 중에서 호출어로 분류된 음성 데이터를 식별하는 단계; 상기 프로세서가 상기 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서, 상기 호출어로 분류된 음성 데이터와 음절이 동일하나 호출어로 분류되지 않음 음성 데이터를 식별하는 단계; 상기 프로세서가 상기 호출어로 분류된 음성 데이터의 파형과 상기 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여, 상기 호출어로 분류된 음성 데이터와 상기 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출하는 단계; 및 상기 프로세서가 상기 발화자에 관한 메타데이터에 상기 차이 값을 추가하여 상기 데이터베이스에 저장하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 동일한 발화자가 발성한 일반적인 단어와 호출어의 차이를 명확히 식별함으로써, 발화자가 의도하지 않고 발성한 단어에 의해 대기 상태의 인공지능 시스템이 활성화되는 것을 방지할 수 있다. 또한, 호출어에 해당하는 음성 데이터들을 직접 수집하지 않고도, 기존에 수집된 일반적인 단어들을 기반으로 호출어를 학습시킬 수 있게 된다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 음성 데이터 수집 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 음성 데이터 녹음 장치의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 논리적 구성도이다.
도 4은 본 발명의 일 실시예에 따른 데이터 가공부의 세부 구성도이다.
도 5는 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 하드웨어 구성도이다.
도 6 및 도 7은 본 발명의 일 실시예에 따라 음성 데이터를 분해하는 과정을 설명하기 위한 예시도이다.
도 8 및 도 9는 본 발명의 일 실시예에 따라 음성 데이터를 생성하는 과정을 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따라 호출어를 학습하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따라 음성 데이터를 녹음하는 과정을 설명하기 위한 예시도이다.
도 12는 본 발명의 일 실시예에 따라 발화자의 얼굴을 이용하여 메타데이터를 생성하는 과정을 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시예에 따른 음성 데이터 녹음 방법을 설명하기 위한 순서도이다.
도 14는 본 발명의 일 실시예에 따른 음성 데이터 생성 방법을 설명하기 위한 순서도이다.
도 15는 본 발명의 일 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.
도 16은 본 발명의 다른 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.
도 2는 본 발명의 일 실시예에 따른 음성 데이터 녹음 장치의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 논리적 구성도이다.
도 4은 본 발명의 일 실시예에 따른 데이터 가공부의 세부 구성도이다.
도 5는 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 하드웨어 구성도이다.
도 6 및 도 7은 본 발명의 일 실시예에 따라 음성 데이터를 분해하는 과정을 설명하기 위한 예시도이다.
도 8 및 도 9는 본 발명의 일 실시예에 따라 음성 데이터를 생성하는 과정을 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따라 호출어를 학습하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따라 음성 데이터를 녹음하는 과정을 설명하기 위한 예시도이다.
도 12는 본 발명의 일 실시예에 따라 발화자의 얼굴을 이용하여 메타데이터를 생성하는 과정을 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시예에 따른 음성 데이터 녹음 방법을 설명하기 위한 순서도이다.
도 14는 본 발명의 일 실시예에 따른 음성 데이터 생성 방법을 설명하기 위한 순서도이다.
도 15는 본 발명의 일 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.
도 16은 본 발명의 다른 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
사람의 음성은 동일한 뜻을 가지는 어휘 또는 문장이라 할지라도, 국가, 언어, 지역, 성별 또는 연령 등에 따라 서로 상이한 파형(wave form)을 가지고 있다. 따라서, 국가별, 언어별, 지역별, 성별 및 연령별로 음성 인식을 수행하기 위한 기준 패턴을 제각각 구축하기 위해서는 수많은 음성 데이터가 확보되어야 한다.
이러한 필요에 대응하고자, 본 발명은 수많음 음성 데이터를 수집, 가공 및 생성할 수 있는 다양한 수단들을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 음성 데이터 수집 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 데이터 수집 시스템은 다종의 음성 데이터 녹음 장치(100a, 100b, …, 100n; 100), 음성 데이터 생성 장치(200) 및 음성 인식 학습 장치(300)를 포함하여 구성될 수 있다.
이와 같은, 일 실시예에 따른 음성 데이터 수집 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 음성 데이터 녹음 장치(100)는 다양한 환경에서 음성 데이터들을 수집할 수 있다. 이와 같은, 음성 데이터 녹음 장치(100)의 전부 또는 일부는 클라우딩 서비스(clouding service)를 통해 음성 데이터를 수집할 수 있는 장치가 될 수도 있다. 또한, 음성 데이터 녹음 장치(100)에 의해 수집된 다양한 음성 데이터들은 음성 인식의 음향 모델에 포함될 수 있는 기준 패턴들을 구축하기 위해 활용될 수 있다.
특징적으로, 음성 데이터 녹음 장치(100)는 음성 데이터 생성 장치(200)에 의해 지시되는 환경 조건을 만족하는 곳에 음성 데이터 녹음 장치(100)가 위치하는 경우에만 음성 데이터의 녹음을 수행할 수 있도록 통제될 수 있다.
또한, 음성 데이터 녹음 장치(100)는 사용자로부터 음성 데이터를 입력(즉, 녹음)받는 과정에서 카메라를 통해 사용자의 안면이 포함된 영상을 시계열적으로 촬영할 수 있다. 이와 같이, 음성 데이터 녹음 장치(100)에 의해 촬영된 영상은 사용자의 감정 상태를 추정하기 위해 사용될 수 있다.
이하 설명의 편의를 위하여, 음성 데이터 녹음 장치(100)가 음성 데이터를 녹음하는 과정에서 음성 데이터 녹음 장치(100)의 사용자(user)는 발화자(speaker)로 지칭될 수 있다.
상술한 바와 같은, 음성 데이터 녹음 장치(100)는 음성 데이터의 녹음만을 위한 전용 장치에 해당되지 아니하며, 3GPP(3rd Generation Partnership Project)에서 규정하고 있는 UE(User Equipment), 또는 IEEE(Institute of Electrical and Electronics Engineers)에서 규정하고 있는 MS(Mobile Station) 등과 같은 범용 장치에 해당할 수 있다.
즉, 음성 데이터 녹음 장치(100)는 음성 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 음성 데이터 녹음 장치(100)는 스마트폰(smart phone), 랩탑(laptop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)와 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 않는다.
이와 같은, 음성 데이터 녹음 장치(100)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 2를 참조하여 후술하기로 한다.
다음 구성으로, 음성 데이터 생성 장치(200)는 다수의 음성 데이터 녹음 장치(100)들에 의해 수집된 음성 데이터들을 기초로, 음성 인식의 음향 모델에 사용될 수 있는 다양한 기준 패턴을 생성할 수 있다.
특징적으로, 음성 데이터 생성 장치(200)는 다수의 음성 데이터 녹음 장치(100)들에 의해 수집된 음성 데이터들을 세부 구성요소들로 분해 관리할 수 있으며, 음성 인식 학습 장치(300)의 요구 사항에 대응하여 다양한 형태의 음성 데이터들을 생성할 수 있다. 또한, 음성 데이터 생성 장치(200)는 단순한 대화 음성과 호출어(wake-word)를 구별할 수 있는 기준을 설정할 수 있으며, 이를 기초로 호출어를 학습하기 위한 다양한 형태의 음성 데이터들도 생성할 수 있다. 나아가, 음성 데이터 생성 장치(200)는 발화자의 감정 상태를 인식할 수 있는 메타데이터를 생성할 수도 있다.
이와 같은, 음성 데이터 생성 장치(200)는 음성 데이터 녹음 장치(100) 및 음성 인식 학습 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 음성 데이터 생성 장치(200)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
이와 같은, 음성 데이터 생성 장치(200)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 3 내지 도 5를 참조하여 후술하기로 한다.
다음 구성으로, 음성 인식 학습 장치(300)는 음성 데이터 생성 장치(200)로부터 제공된 음성 데이터(즉, 기준 패턴)을 기초로 음향 모델을 구축하고, 구축된 음향 모델을 이용하여 음성 인식을 수행할 수 있다.
구체적으로, 음성 인식 학습 장치(300)는 음향 모델을 구축하기 위한 요구 사항을 음성 데이터 생성 장치(200)에 전송할 수 있다. 음성 인식 학습 장치(300)는 음성 데이터 생성 장치(200)로부터 다수의 음성 데이터를 수신하고, 수신된 음성 데이터를 기준 패턴으로 설정하여 음향 모델을 구축할 수 있다. 그리고, 음성 인식 학습 장치(300)는 구축된 음향 모델을 이용하여 음성 인식을 수행할 수 있다.
이와 같은, 음성 인식 학습 장치(300)는 음성 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 음성 인식 학습 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
지금까지 상술한 바와 같은, 다종의 음성 데이터 녹음 장치(100), 음성 데이터 생성 장치(200) 및 음성 인식 학습 장치(300)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
이하, 상술한 바와 같은 특징을 가지는 음성 데이터 녹음 장치(100)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 음성 데이터 녹음 장치의 논리적 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 데이터 녹음 장치(100)는 단말기 통신부(105), 단말기 입출력부(110), 녹음 환경 식별부(115), 음성 녹음 제어부(120), 메타데이터 부여부(125) 및 수집 데이터 제공부(130)를 포함하여 구성될 수 있다.
이와 같은, 음성 데이터 녹음 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 단말기 통신부(105)는 음성 데이터 생성 장치(200)와 데이터를 송수신할 수 있다.
구체적으로, 단말기 통신부(105)는 음성 데이터 생성 장치(200)로부터 환경 조건을 수신할 수 있다. 여기서, 환경 조건은 음성 데이터를 녹음하는 상황에서 음성 데이터 생성 장치(200)가 만족해야 하는 조건들이다. 예를 들어, 환경 조건에는 음성 데이터를 녹음하는 상황에서 음성 데이터 생성 장치(200)가 위치해야 하는 장소, 음성 데이터 녹음을 진행할 수 있는 시간대 및 음성 데이터 생성 장치(200)가 위치하는 장소의 혼잡도 등이 포함될 수 있으며, 이에 한정되는 것은 아니다.
단말기 통신부(105)는 녹음된 음성 데이터를 음성 데이터 생성 장치(200)에 전송할 수 있다. 그리고, 단말기 통신부(105)는 음성 데이터를 녹음하는 과정에서 촬영된 영상을 음성 데이터 생성 장치(200)에 전송할 수 있다.
다음 구성으로, 단말기 입출력부(110)는 사용자 인터페이스(User Interface, UI)를 통해 음성 데이터 녹음 장치(100)의 사용자로부터 신호를 입력 받거나, 또는 연산 결과를 외부로 출력할 수 있다.
구체적으로, 단말기 입출력부(110)는 녹음 환경 식별부(115) 또는 음성 녹음 제어부(120)의 지시에 따라, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 활성화 또는 비활성화할 수 있다. 예를 들어, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)는 음성 데이터 녹음 장치(100)의 터치 스크린(touch screen)을 통해 입출력되는 인터페이스가 될 수 있다.
단말기 입출력부(110)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 통해, 사용자로부터 녹음 시작을 지시하는 명령 또는 녹음 종료를 지시하는 명령을 입력 받을 수 있다.
단말기 입출력부(110)는 음성 데이터 생성 장치(200)에 의해 사전에 설정된 스크립트(script)를 디스플레이를 통해 출력할 수 있다. 이 경우, 스크립트는 음성 데이터 녹음 장치(100)의 사용자가 음성 데이터 녹음 과정에서 따라 읽어야 하는 대본이 될 수 있다.
단말기 입출력부(110)는 GPS(Global Positioning System)을 통해 음성 데이터 녹음 장치(100)가 위치하는 위치 정보를 수집할 수 있다. 단말기 입출력부(110)는 마이크를 통해 음성 데이터를 입력 받을 수 있다. 단말기 입력부(110)는 카메라를 통해 영상을 시계열적으로 촬영할 수 있다.
그리고, 단말기 입출력부(110)는 사용자의 제어에 따라, 스피커를 통해 음성 데이터를 재생할 수 있다.
다음 구성으로, 녹음 환경 식별부(115)는 음성 데이터를 녹음하기 위하여, 음성 데이터 녹음 장치(100)가 위치하는 환경에 관한 정보를 식별할 수 있다.
구체적으로, 녹음 환경 식별부(115)는 단말기 입출력부(110)의 마이크를 통해 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)가 활성화되기 이전에, 단말기 입출력부(110)의 마이크를 통해 배경 음향 데이터를 입력 받을 수 있다.
이 경우, 배경 음향 데이터는 사용자(즉, 발화자)의 음성이 포함되지 않은 음성 데이터가 될 수 있다. 이와 같은, 배경 음향 데이터에는 음향 반향(acoustic echo) 및 배경 잡음(background noise)이 포함될 수 있다.
녹음 환경 식별부(115)는 입력된 배경 음향 데이터를 기초로 녹음 환경에 관한 정보를 식별할 수 있다. 이 경우, 녹음 환경에 관한 정보는 음성 데이터 녹음 장치(100)가 음성 데이터의 녹음을 수행할 수 있는 환경에 관한 정보이다. 예를 들어, 녹음 환경에 관한 정보에는 음향 반향의 크기 및 주파수, 배경 잡음의 크기 및 주파수 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.
또한, 녹음 환경 식별부(115)는 단말기 입력부(110)의 GPS를 통해 음성 데이터 녹음 장치(100)가 위치하고 있는 위치 정보를 수집할 수 있다. 그리고, 녹음 환경 식별부(115)는 수집된 위치 정보를 녹음 환경에 관한 정보에 더 포함시킬 수 있다.
다음 구성으로, 음성 녹음 제어부(120)는 음성 데이터의 녹음을 제어할 수 있다.
구체적으로, 음성 녹음 제어부(120)는 녹음 환경 식별부(115)에 의해 식별된 녹음 환경에 관한 정보가 음성 데이터 생성 장치(200)에 의해 사전에 설정된 환경 조건을 만족하는지 여부를 판단할 수 있다.
이 경우, 환경 조건은 음성 데이터를 녹음하는 상황에서 음성 데이터 녹음 장치(100)가 만족해야 하는 조건들이다. 예를 들어, 환경 조건에는 음성 데이터를 녹음하는 상황에서 음성 데이터 녹음 장치(100)가 위치해야 하는 장소, 음성 데이터 녹음을 진행할 수 있는 시간대 및 음성 데이터 녹음 장치(100)가 위치하는 장소의 혼잡도 등이 포함될 수 있으며, 이에 한정되는 것은 아니다.
즉, 음성 녹음 제어부(120)는 녹음 환경에 관한 정보에 포함된 음향 반향의 크기 및 주파수 및 배경 잡음의 크기 및 주파수 및 위치 정보가, 환경 조건에 포함된 장소, 시간대 및 혼잡도를 만족하는지 여부 등을 판단할 수 있다.
예를 들어, 환경 조건에 의해 요구되는 실내(indoor)에 해당하는 경우, 음성 녹음 제어부(120)는 배경 음향 데이터에 포함된 음향 반향의 크기를 기준으로, 음성 데이터 녹음 장치(100)가 환경 조건에 의해 요구되는 위치를 만족하는지 여부를 판단할 수 있다.
음성 녹음 제어부(120)는 식별된 녹음 환경에 관한 정보가 환경 조건을 만족하는 경우, 단말기 입출력부(110)의 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 활성화시킬 수 있다.
그리고, 음성 녹음 제어부(120)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 통해 사용자로부터 녹음 시작을 지시하는 명령이 입력되면, 단말기 입출력부(110)의 마이크를 통해 음성 데이터를 입력 받을 수 있다.
이 경우, 음성 데이터 녹음 장치(100)의 마이크는 둘 이상으로 구성될 수 있으며, 음성 녹음 제어부(120)는 음성 데이터 녹음 장치(100)를 구성하고 있는 둘 이상의 마이크를 통해 동시에 녹음된 둘 이상의 음성 신호를 포함할 수 있다.
한편, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)가 활성화된 이후, 음성 녹음 제어부(120)는 사전에 설정된 주기마다 음성 데이터 녹음 장치(100)의 위치를 재수집할 수 있다. 음성 녹음 제어부(120)는 재수집된 위치 정보, 음성 데이터의 크기 및 주파수가 환경 조건을 만족하지 않는 경우, 기 활성화된 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 비활성화시키거나, 또는 입력 중인 음성 데이터의 입력을 중단할 수 있다.
또한, 음성 녹음 제어부(120)는 음성 데이터 생성 장치(200)에 의해 환경 조건에 매칭하여 사전에 설정된 스크립트를 단말기 입출력부(110)를 통해 출력할 수 있다. 이 경우, 스크립트는 음성 데이터 녹음 장치(100)의 사용자가 음성 데이터 녹음 과정에서 따라 읽어야 하는 대본이 될 수 있다.
음성 녹음 제어부(120)는 스크립트가 디스플레이를 통해 출력된 이후, 입력된 음성 데이터를 STT(Speech To Text)한 결과와 상기 스크립트가 서로 대응하는지 여부를 검증할 수 있다. 이 경우, 음성 녹음 제어부(120)는 녹음 환경 식별부(115)가 입력 받은 배경 음향 데이터를 기반으로, 음성 데이터에 포함된 잡음 신호(noise signal)를 제거할 수 있다. 그리고, 음성 녹음 제어부(120)는 잡음 신호가 제거된 음성 데이터를 대상으로 STT를 수행할 수 있다.
음성 녹음 제어부(120)는 STT를 수행한 결과와 스크립트가 서로 대응하는지 대비한 결과, 사전에 설정된 개수 이상의 음절이 서로 상이한 경우 음성 데이터의 입력을 중단할 수도 있다.
그리고, 음성 녹음 제어부(120)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 통해 사용자로부터 녹음 종료를 지시하는 명령이 입력되면, 단말기 입출력부(110)의 마이크를 통한 음성 데이터의 입력을 종료할 수 있다.
한편, 음성 녹음 제어부(120)는 단말기 입출력부(110)의 마이크를 통해 사용자의 음성 데이터를 입력 받는 과정(즉, 녹음 시작을 지시하는 명령이 입력된 이후에서 녹음 종료를 지시하는 명령이 입력되기까지)에서, 사전에 설정된 주기마다 카메라를 통해 사용자의 안면이 포함된 영상을 시계열적으로 촬영할 수도 있다.
다음 구성으로, 메타데이터 부여부(125)는 녹음된 음성 데이터에 대한 메타데이터를 부여할 수 있다. 이 경우, 음성 데이터 녹음 장치(100)가 부여한 메타데이터는 완전성을 가지지 않으며, 음성 데이터 생성 장치(200)가 부여할 메타데이터의 기초 자료로서 활용될 수 있다.
구체적으로, 메타데이터 부여부(125)는 녹음 환경 식별부(115)에 의해 식별된 녹음 환경에 관한 정보를 이용하여, 음성 녹음 제어부(120)를 통해 입력된 음성 데이터를 위한 메타데이터(metadata)를 생성할 수 있다.
이 경우, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 통해 사용자로부터 녹음 종료를 지시하는 명령이 입력되면, 메타데이터 부여부(125)는 단말기 입출력부(110)를 통해 사용자로부터 감정 상태에 관한 정보를 입력 받을 수 있다. 그리고, 메타데이터 부여부(125)는 입력된 감정 상태에 관한 정보를 포함시켜 메타데이터를 생성할 수도 있다.
또한, 메타데이터 부여부(125)는 음성 녹음 제어부(120)를 통해 사용자의 음성 데이터를 입력 받는 과정에서 촬영된 영상을 메타데이터에 더 포함시킬 수도 있다.
그리고, 메타데이터 부여부(125)는 생성된 메타데이터를 음성 데이터와 서로 매칭하여 데이터베이스(database)에 저장할 수 있다.
다음 구성으로, 수집 데이터 제공부(130)는 수집된 음성 데이터 및 메타데이터를 단말기 통신부(105)를 통해 음성 데이터 생성 장치(200)에 제공할 수 있다.
구체적으로, 수집 데이터 제공부(130)는 수집된 음성 데이터 및 메타데이터를 즉각적으로 음성 데이터 생성 장치(200)에 전송할 수 있으나, 이에 한정되지 않고, 수집된 음성 데이터 및 메타데이터를 데이터베이스에 누적 저장한 후 사전에 설정된 주기마다 누적 저장된 음성 데이터 및 메타데이터를 음성 데이터 생성 장치(200)에 전송할 수도 있다.
이하, 상술한 바와 같은 특징을 가지는 음성 데이터 생성 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 논리적 구성도이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 데이터 생성 장치(200)는 서버 통신부(205), 서버 입출력부(210), 데이터 구조 설계부(215), 데이터 수집 및 정제부(220), 데이터 가공부(225) 및 음성 데이터 제공부(230)를 포함하여 구성될 수 있다.
이와 같은, 음성 데이터 생성 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 서버 통신부(205)는 음성 데이터 녹음 장치(100) 및 음성 인식 학습 장치(300) 중 하나 이상과 데이터를 송수신할 수 있다.
구체적으로, 음성 인식 학습 장치(300)로부터 음향 모델을 구축하기 위한 요구 사항을 수신할 수 있다.
서버 통신부(205)는 다수의 음성 데이터 녹음 장치(100)들에게 환경 조건 및 스크립트를 전송할 수 있다. 서버 통신부(205)는 다수의 음성 데이터 녹음 장치(100)들로부터 수집된 음성 데이터 및 메타데이터를 수신할 수 있다.
그리고, 서버 통신부(205)는 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 가공된 음성 데이터를 음성 인식 학습 장치(300)에 전송할 수 있다.
다음 구성으로, 서버 입출력부(210)는 사용자 인터페이스(UI)를 통해, 음성 데이터 생성 장치(200)의 관리자로부터 신호를 입력 받거나, 또는 연산 결과를 외부로 출력할 수 있다.
구체적으로, 서버 입출력부(210)는 관리자로부터 음성 데이터의 데이터 구조를 설계하기 위한 제어 신호를 입력 받을 수 있다. 서버 입출력부(210)는 관리자로부터 메타데이터의 데이터 구조를 설계하기 위한 제어 신호를 입력 받을 수 있다.
서버 입출력부(210)는 다수의 음성 데이터 녹음 장치(100)들이 음성 데이터를 녹음하는 과정에서 만족해야 하는 환경 조건을 관리자로부터 입력 받을 수 있다.
또한, 서버 입출력부(210)는 다수의 음성 데이터 녹음 장치(100)의 발화자가 따라 읽을 수 있는 스크립트를 관리자로부터 입력 받을 수 있다.
다음 구성으로, 데이터 구조 설계부(215)는 음향 모델의 기준 패턴이 될 수 있는 음성 데이터 및 메타데이터의 데이터 구조를 설계할 수 있다.
구체적으로, 데이터 구조 설계부(215)는 서버 입출력부(210)를 통해 관리자로부터 입력된 제어 신호, 또는 음성 인식 학습 장치(300)로부터 수신된 요구 사항을 기초로, 음향 모델의 기준 패턴이 될 수 있는 음성 데이터 및 메타데이터의 데이터 구조를 설계할 수 있다.
데이터 구조 설계부(215)는 관리자로부터 입력된 제어 신호 또는 수신된 요구 사항을 기초로, 음성 인식의 음향 모델을 위한 온톨로지(ontology), 음성 데이터 및 메타데이터의 분류 체계 등을 정의할 수 있다.
다음 구성으로, 데이터 수집 및 정제부(220)는 데이터 구조 설계부(215)에 의해 설계된 데이터 구조를 기초로, 음성 데이터 및 메타데이터를 수집 및 정제할 수 있다.
구체적으로, 데이터 수집 및 정제부(220)는 서버 통신부(205)를 통해 다수의 음성 데이터 녹음 장치(100)들을 대상으로, 환경 조건 및 스크립트를 전송할 수 있다. 데이터 수집 및 정제부(220)는 서버 통신부(205)를 통해 다수의 음성 데이터 녹음 장치(100)들로부터 음성 데이터 및 메타데이터를 수신할 수 있다.
그러나, 이에 한정되지 아니하고, 데이터 수집 및 정제부(220)는 서버 통신부(205)를 통해 웹 크롤링(crawling)을 수행하여 음성 데이터를 직접 수집하거나, 또는 음성 데이터들을 보유하고 있는 외부 기관의 장치로부터 음성 데이터를 다운로드할 수도 있다.
데이터 수집 및 정제부(220)는 수집된 음성 데이터들 중에서 중복되거나 또는 극히 유사한 음성 데이터를 제거할 수 있다. 그리고, 데이터 수집 및 정제부(220)는 수집된 음성 데이터들에 포함된 개인정보를 비식별화(de-identification)할 수 있다.
다음 구성으로, 데이터 가공부(225)는 데이터 수집 및 정제부(220)에 의해 수집 및 정제된 음성 데이터 및 메타데이터를 기초로, 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 음성 데이터 및 메타데이터로 가공할 수 있다.
특징적으로, 데이터 가공부(225)는 다수의 음성 데이터들을 세부 구성요소들로 분해 관리할 수 있으며, 음성 인식 학습 장치(300)의 요구 사항에 대응하여 다양한 형태의 음성 데이터를 생성할 수 있다. 또한, 데이터 가공부(225)는 단순한 대화 음성과 호출어를 구별할 수 있는 기준을 설정할 수 있으며, 이를 기초로 호출어를 학습하기 위한 다양한 형태의 음성 데이터들도 생성할 수 있다. 나아가, 데이터 가공부(225)는 발화자의 감정 상태를 인식할 수 있는 메타데이터도 생성할 수 있다.
이와 같은 특징을 가지는, 데이터 가공부(225)에 대한 구체적인 설명은 도 4를 참조하여 후술하기로 한다.
다음 구성으로, 음성 데이터 제공부(230)는 데이터 가공부(225)에 의해 가공된 음성 데이터 및 메타데이터를 음성 인식 학습 장치(300)에 제공할 수 있다. 이 경우, 데이터 가공부(225)에 의해 가공된 음성 데이터 및 메타데이터는 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 음성 데이터가 될 수 있다.
이하, 상술한 바와 같은 특징을 가지는 데이터 가공부(225)에 대하여 보다 구체적으로 설명하기로 한다.
도 4은 본 발명의 일 실시예에 따른 데이터 가공부의 세부 구성도이다.
도 4에 도시된 바와 같이, 음성 데이터 생성 장치(200)의 데이터 가공부(225)는 음성 데이터 가공 모듈(225-1), 호출어 가공 모듈(225-2) 및 메타데이터 처리 모듈(225-3)을 포함하여 구성될 수 있다.
이와 같은, 데이터 가공부(225)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 세부 구성 요소에 대하여 설명하면, 음성 데이터 가공 모듈(225-1)은 수집된 음성 데이터를 분해하여 누적 저장하고, 분해 저장된 음성 데이터를 기반으로 다양한 음성 데이터를 생성할 수 있다.
우선적으로, 음성 데이터 가공 모듈(225-1)이 음성 데이터를 분해하여 누적 저장하는 특징에 대하여 설명한다.
음성 데이터 가공 모듈(225-1)은 수집된 음성 데이터의 파형(wave form)을 분석하여 음성 데이터로부터 배경 음향 데이터를 분리할 수 있다.
여기서, 수집된 음성 데이터는 음성 인식의 음향 모델에 포함될 기준 패턴들을 구축하기 위하여 음성 데이터 녹음 장치(100)를 통해 수집된 음성 데이터가 될 수 있다.
그리고, 배경 음향 데이터는 사용자(즉, 발화자)의 음성이 포함되지 않은 음성 데이터가 될 수 있다. 이와 같은, 배경 음향 데이터에는 음향 반향 및 배경 잡음이 포함될 수 있다.
보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 수집된 음향 데이터에 주파수 영역 필터(Frequency Domain Adaptive Filter, FDAF)를 적용하여 음성 데이터와 관련된 음성 데이터 녹음 장치(100)의 스피커와 마이크 사이의 전달 함수(transfer function)를 식별할 수 있다.
그리고, 음성 데이터 가공 모듈(225-1)은 식별된 전달 함수를 이용하여 음성 데이터로부터 반향 신호를 생성한 후, 음성 데이터로부터 반향 신호를 차감하여 음성 데이터에 포함된 반향 신호를 제거할 수 있다.
즉, 음성 데이터 가공 모듈(225-1)은 전달 함수를 이용하여 음성 데이터로부터 반향 신호를 분리할 수 있다.
음성 데이터 가공 모듈(225-1)은 음성 데이터에 포함된 둘 이상의 음성 신호의 도착 시간 차이(Time Difference of Arrival, TDoA)를 기초로 음성 데이터 녹음 장치(100)와 발화자(즉, 음성 데이터 녹음 장치(100)의 사용자) 사이의 방향성을 추정할 수 있다.
음성 데이터 가공 모듈(225-1)은 추정된 방향성을 기초로, 음성 데이터로부터 잡음 신호를 생성할 수 있다.
보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 둘 이상의 음성 신호에 대하여 최소 분산 비왜곡 응답(Minimum Variance Distortionless Response, MVDR) 필터를 적용한 이득(gain)이 사전에 설정된 상수 값으로 유지시킨 상태에서, 둘 이상의 음성 신호의 최종 출력 파워를 최소화할 수 있도록 설계된 블로킹 매트릭스(Blocking Matrix, BM)를 생성할 수 있다.
음성 데이터 가공 모듈(225-1)은 음성 데이터를 상기 블로킹 매트릭스(BM)에 통과시켜 음성 데이터로부터 목적 방향(target direction)만의 음성 성분이 제거된 잡음 신호를 생성할 수 있다. 이 경우, 목적 방향은 음성 데이터 녹음 장치(100)를 기준으로 발화자가 위치하는 상대적인 방향(즉, 음성 데이터 녹음 장치(100)와 발화자 사이의 방향성)이다.
그리고, 음성 데이터 가공 모듈(225-1)은 반향 신호가 제거된 음성 데이터로부터 잡음 신호를 차감하여 음성 데이터에 포함된 잡음 신호를 제거할 수 있다.
즉, 음성 데이터 가공 모듈(225-1)은 음성 데이터 녹음 장치(100)와 발화자 사이의 방향성을 기초로, 음성 데이터로부터 잡음 신호를 분리할 수 있다.
이 경우, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 재생이 종료될 때까지, 둘 이상의 음성 신호의 도착 시간 차이(TDoA)에 대한 가중 교차 상관 관계(weighted cross correlation)의 총합이 최대인 상태로 유지되도록, 음성 데이터에 대한 목적 방향을 제어할 수 있다.
이와 다르게, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 메타 데이터에 발화자의 안면이 포함된 영상이 포함되어 있는 경우, 음성 데이터 가공 모듈(225-1)은 영상 속 발화자의 안면 중 입의 개폐 여부를 기준으로, 해당 발화자의 음성 데이터 내에서 잡음 구간과 음성 구간을 서로 구별할 수 있다. 그리고, 음성 데이터 가공 모듈(225-1)은 구별된 음성 구간의 신호에서 잡음 구간의 신호를 차감함으로써, 음성 데이터에 포함된 잡음 신호를 제거할 수도 있다.
음성 데이터 가공 모듈(225-1)은 배경 음향 데이터가 분리된 음성 데이터로부터 인위적인 노이즈(man-made noise)를 식별할 수 있다.
이 경우, 인위적인 노이즈는 음성 데이터의 발화자의 발성 화법, 감탄사 또는 추임새 등에 따라 발화자로부터 발화되었으나, 단어적 의미를 가지지 않는 음소(phoneme)가 될 수 있다.
예를 들어, "음 그것은 사과입니다"라는 어절 중에서 "음"은 발화자의 발성 화법에 따라 발화되긴 하였으나 특별한 단어적 의미를 가지지 않는 음소로서, 인위적인 노이즈에 해당될 수 있다.
보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 배경 음향 데이터가 분리된 음성 데이터를 STT하여 녹취록(transcript)을 생성할 수 있다. 음성 데이터 가공 모듈(225-1)은 생성된 녹취록을 파싱(parsing)하여 녹취록을 구성하고 있는 복수 개의 토큰(token)들을 식별할 수 있다. 음성 데이터 가공 모듈(225-1)은 식별된 각각의 토큰에 대하여 의미 분석(semantic analysis)을 수행할 수 있다. 파싱된 토큰에 대하여 의미 분석을 수행하는 구체적인 수단들에 대해서는 널리 알려진 바와 동일하므로 기재하지 않는다.
음성 데이터 가공 모듈(225-1)은 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 분류되지 않은 해당 토큰을 인위적인 노이즈로 식별할 수 있다.
또한, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 발화자에 대한 메타데이터로부터 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하고, 식별된 발화자의 국가, 언어, 지역, 성별 및 연령을 기초로, 분류되지 않은 토큰으로부터 식별된 인위적인 노이즈가 올바른지 검증할 수도 있다.
그리고, 음성 데이터 가공 모듈(225-1)은 식별된 인위적인 노이즈만을 음성 데이터로부터 분리할 수 있다.
한편, 음성 데이터 가공 모듈(225-1)은 메타데이터 처리 모듈(225-3)에 의해, 반향 신호, 잡음 신호, 인위적인 노이즈 및 인위적인 노이즈가 제거된 음성 데이터가 서로 매칭되도록 음성 데이터에 대한 메타데이터가 생성되면, 생성된 음성 데이터 및 메타데이터를 데이터베이스에 누적 저장할 수 있다.
다음으로, 음성 데이터 가공 모듈(225-1)이 음성 신호들을 합성하여 새로운 음성 데이터를 생성하는 특징에 대하여 설명한다.
음성 데이터 가공 모듈(225-1)은 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 환경 조건을 만족하는 발화자의 국가, 언어, 지역, 성별 및 연령을 식별할 수 있다. 이 경우, 발화자는 음성 데이터 녹음 장치(100)의 사용자가 아닌, 음성 데이터를 발화하는 것으로 식별될 수 있는 가상의 인물이 될 수 있다.
음성 데이터 가공 모듈(225-1)은 식별된 발화자의 국가, 언어, 지역, 성별 및 연령을 기초로, 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 스크립트에 대응하는 복수 개의 음성 신호들을 데이터베이스로부터 식별할 수 있다.
보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 스크립트를 파싱하여 스크립트를 구성하고 있는 복수 개의 토큰을 식별할 수 있다. 음성 데이터 가공 모듈(225-1)은 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.
음성 데이터 가공 모듈(225-1)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 각각의 토큰에 대응하는 음성 신호를 식별하는 과정에서 해당 토큰은 인위적인 노이즈로 분류된 음성 신호를 식별할 수 있다.
한편, 음성 데이터 가공 모듈(225-1)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정(emotion)을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다.
음성 데이터 가공 모듈(225-1)은 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 데이터베이스로부터 하나 이상 식별하고, 식별된 하나 이상의 음소를 스크립트에 무작위로 추가할 수도 있다.
음성 데이터 가공 모듈(225-1)은 각각의 토큰에 대응하는 것으로 식별된 복수 개의 음성 신호들을 조합하여 어절(word segment) 단위의 음성 데이터를 생성할 수 있다.
이 경우, 음성 데이터 가공 모듈(225-1)은 발화자의 국가, 언어, 지역, 성별 및 연령에 대응하는 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 어절 단위의 음성 데이터를 생성하는 과정에서 인위적인 노이즈를 발생시킬 수 있는 것으로 식별된 하나 이상의 음소에 대응하는 음성 신호를 추가시킬 수도 있다.
그리고, 음성 데이터 가공 모듈(225-1)은 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 환경 조건을 만족하는 배경 음향 데이터를 식별하고, 식별된 배경 음향 데이터를 어절 단위의 음성 데이터에 합성할 수 있다.
보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 환경 조건을 만족하는 잡음 신호 및 반향 신호를 식별한 뒤, 어절 단위의 음성 데이터에 잡음 신호 및 반향 신호를 순서대로 합성할 수 있다.
또한, 음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 환경 조건을 만족하는 비가청 신호(inaudible signal)을 식별한 뒤, 잡음 신호 및 반향 신호가 합성된 음성 데이터에 비가청 신호를 추가적으로 합성할 수도 있다.
한편, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 재생 과정에서 발화자의 방향성이 변화되도록, 비가청 신호까지 합성된 음성 데이터에 포함된 음성 신호의 채널별 음량을 조정할 수도 있다.
다음으로, 음성 데이터 가공 모듈(225-1)이 기존에 분해 저장된 음성 데이터를 기반으로, 새로운 음성 데이터를 생성하는 특징에 대하여 설명한다.
음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터를 식별할 수 있다. 이 경우, 모든 노이즈가 제거된 음성 데이터는 음성 데이터 녹음 장치(100)에 의해 녹음된 음성 데이터로부터 인위적인 노이즈, 반향 신호, 잡음 신호가 제거된 음성 데이터가 될 수 있다.
음성 데이터 가공 모듈(225-1)은 식별된 음성 데이터에 매칭된 메타데이터를 기준으로, 음성 데이터를 녹음한 발화자를 식별할 수 있다.
음성 데이터 가공 모듈(225-1)은 식별된 발화자에 대응하는 인위적인 노이즈를 식별하고, 식별된 인위적인 노이즈를 음성 데이터에 합성할 수 있다.
보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 음성 데이터를 STT하여 녹취록을 생성할 수 있다. 음성 데이터 가공 모듈(225-1)은 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 음성 데이터 가공 모듈(225-1)은 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.
음성 데이터 가공 모듈(225-1)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다.
음성 데이터 가공 모듈(225-1)은 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 데이터베이스로부터 하나 이상 식별하고, 식별된 하나 이상의 음소를 음성 데이터 합성할 수 있다.
이와 다르게, 음성 데이터 가공 모듈(225-1)은 발화자에 대한 메타데이터로부터 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하고, 식별된 발화자의 국가, 언어, 지역, 성별 및 연령에 대응하여 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 식별된 하나 이상의 음소를 음성 데이터에 합성할 수 있다.
이와 또 다르게, 음성 데이터 가공 모듈(225-1)은 발화자와 국가, 언어, 지역, 성별 및 연령 중 하나 이상이 상이한 다른 발화자에 관련된 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 식별된 하나 이상의 음소를 음성 데이터에 합성할 수도 있다.
그리고, 음성 데이터 가공 모듈(225-1)은 생성하고자 하는 음성 데이터와 관련하여 사전에 설정된 환경 조건을 만족하는 배경 음향 데이터를 식별하고, 식별된 배경 음향 데이터를 인위적인 노이즈까지 합성된 음성 데이터에 합성할 수 있다.
보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 환경 조건을 만족하는 잡음 신호 및 반향 신호를 식별한 뒤, 어절 단위의 음성 데이터에 잡음 신호 및 반향 신호를 순서대로 합성할 수 있다.
또한, 음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 환경 조건을 만족하는 비가청 신호를 식별한 뒤, 잡음 신호 및 반향 신호가 합성된 음성 데이터에 비가청 신호를 추가적으로 합성할 수도 있다.
한편, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 재생 과정에서 발화자의 방향성이 변화되도록, 비가청 신호까지 합성된 음성 데이터에 포함된 음성 신호의 채널별 음량을 조정할 수도 있다.
다음 구성으로, 호출어 가공 모듈(225-2)은 단순 대화 음성과 호출어를 구별할 수 있는 기준을 설정하고, 호출어를 학습하기 위한 다양한 형태의 음성 데이터들을 생성할 수 있다.
구체적으로, 호출어 가공 모듈(225-2)은 데이터베이스에 저장된 음성 데이터들 중에서 호출어로 분류된 음성 데이터를 식별할 수 있다. 이 경우, 호출어는 대기 상태(standby status)인 인공지능(Artificial Intelligence, AI) 시스템을 활성화(activate)시키도록 사전에 설정된 단어가 될 수 있다.
이를 위하여, 호출어 가공 모듈(225-2)은 음성 데이터에 대한 메타데이터를 기준으로, 음성 데이터가 호출어로 분류되었는지 여부를 판단할 수 있다.
다음으로, 호출어 가공 모듈(225-2)은 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서, 호출어로 분류된 음성 데이터와 음절(syllable)이 동일하나 호출어로 분류되지 않은 음성 데이터를 데이터베이스로부터 식별할 수 있다.
만약, 데이터베이스로부터 호출어로 분류된 음성 데이터와 음절이 동일하나 호출어로 분류되지 않은 음성 데이터를 식별할 수 없는 경우, 호출어 가공 모듈(225-2)은 둘 이상의 음소들의 조합으로 호출어의 음절과 동일한 음절을 구성할 수 있도록, 호출어의 음절과는 상이하나 호출어로 분류되지 않은 음성 데이터들을 각각 구성하고 있는 하나 이상의 음소들을 조합함으로써, 호출어로 분류된 음성 데이터와 음절이 동일하며 호출어로 분류되지 않은 음성 데이터를 생성할 수도 있다.
다음으로, 호출어 가공 모듈(225-2)은 호출어로 분류된 음성 데이터의 파형과 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여, 호출어로 분류된 음성 데이터와 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출할 수 있다.
이 경우, 호출어로 분류된 음성 데이터와 호출어로 분류되지 않은 음성 데이터 사이의 차이 값은 파형의 길이, 파형의 진폭, 파형의 주파수의 차이로 구성될 수 있으나, 이에 한정되는 것은 아니다.
다음으로, 호출어 가공 모듈(225-2)은 발화자에 관하여 기 생성된 메타데이터에 산출된 차이 값을 추가하여 데이터베이스에 저장할 수 있다. 특히, 호출어 가공 모듈(225-2)은 산출된 차이 값을 발화자의 속성과 매칭하여 데이터베이스에 누적 저장할 수 있다. 이 경우, 발화자의 속성에는 발화자의 국가, 언어, 지역, 성별 및 연령이 포함될 수 있다.
한편, 호출어 가공 모듈(225-2)은 데이터베이스에 누적 저장된 차이 값과 발화자의 속성에 대하여 상관 분석(correlation analysis)을 수행하여 상기 차이 값과 발화자의 속성 사이의 관련성을 평가할 수 있다. 호출어 가공 모듈(225-2)은 평가된 관련성에 대하여 요인 분석(factor analysis) 및 회귀 분석(regression)을 수행하여 발화자의 속성에 포함된 요소들 중에서 차이 값에 최대 영향을 미치는 요소를 식별할 수 있다.
그리고, 호출어 가공 모듈(225-2)은 차이 값에 최대 영향을 미치는 요소를 발화자에 대한 호출어와 비호출어 사이의 구별 기준으로 설정할 수 있다. 그리고, 호출어 가공 모듈(225-2)은 설정된 구별 기준을 발화자에 대한 메타데이터에 추가시켜 저장할 수 있다.
다음으로, 호출어 가공 모듈(225-2)은 동일한 발화자에 의해 발화되었으며 호출어로 분류되지 않은 음성 데이터들 중에서 호출어 등록 가능 크기의 음절로 구성된 음성 데이터 중 하나를 식별할 수 있다. 이 경우, 호출어 등록 가능한 크기는 음성 데이터 생성 장치(200) 또는 음성 인식 학습 장치(300)에 의해 사전에 설정될 수 있다.
호출어 가공 모듈(225-2)은 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터에 발화자의 차이 값을 적용하여, 호출어로 분류될 수 있는 새로운 음성 데이터를 생성할 수 있다.
호출어 가공 모듈(225-2)은 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터의 메타데이터를 기준으로, 하나의 반향 신호를 식별한 후 식별된 반향 신호를 차이 값이 적용된 새로운 음성 데이터에 합성할 수 있다.
그리고, 호출어 가공 모듈(225-2)은 데이터베이스에 포함된 복수 개의 잡음 신호를 무작위로 선택한 후, 무작위로 선택된 잡음 신호 각각을 반향 신호까지 합성된 새로운 음성 데이터에 추가 합성함으로써, 호출어를 인식하기 위한 복수 개의 기준 패턴들을 구축할 수 있다.
다음 구성으로, 메타데이터 처리 모듈(225-3)은 음성 데이터 가공 모듈(225-1) 및 호출어 가공 모듈(225-2)에 의해 가공된 음성 데이터에 메타데이터를 부여할 수 있다.
구체적으로, 메타데이터 처리 모듈(225-3)은 음성 데이터 가공 모듈(225-1)에 의해 분리된 반향 신호, 잡음 신호, 인위적인 노이즈 및 인위적인 노이즈까지 제거된 음성 데이터가 서로 매칭되도록, 해당 음성 데이터에 대한 메타데이터를 생성할 수 있다.
그리고, 메타데이터 처리 모듈(225-3)은 생성된 메타데이터를 음성 데이터와 매칭하여 데이터베이스에 저장할 수 있다.
한편, 메타데이터 처리 모듈(225-3)은 서버 입출력부(205)를 통해 음성 데이터 녹음 장치(100)로부터 발화자의 안면이 포함된 영상을 수신한 경우, 영상 속에 포함된 발화자 안면의 변화를 기준으로, 발화자의 감정 상태를 추정할 수 있다.
보다 구체적으로, 메타데이터 처리 모듈(225-3)은 발화자의 안면이 포함된 영상으로부터 발화자의 눈, 코 및 입의 움직임을 추적할 수 있다. 메타데이터 처리 모듈(225-3)은 추적된 발화자의 눈, 코 및 입의 움직임을 기초로 인공지능(AI)에 질의하여, 발화자의 감정 상태를 추정할 수 있다. 이 경우, 인공지능(AI)은 기존에 다수 발화자의 안면 영상을 기초로 기계 학습된 인공지능이 될 수 있다.
메타데이터 처리 모듈(225-3)은 음성 데이터를 STT하여 녹취록을 생성할 수 있다. 메타데이터 처리 모듈(225-3)은 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 메타데이터 처리 모듈(225-3)은 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.
메타데이터 처리 모듈(225-3)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 인공지능(AI)에 의해 추정된 감정 상태가 정확한지 검증할 수 있다.
또한, 메타데이터 처리 모듈(225-3)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 분류되지 않은 해당 토큰을 인위적인 노이즈로 식별할 수 있다. 그리고, 메타데이터 처리 모듈(225-3)은 식별된 인위적인 노이즈의 속성을 기초로, 인공지능(AI)에 의해 추정된 감정 상태가 정확한지 검증할 수도 있다.
한편, 메타데이터 처리 모듈(225-3)은 추적된 발화자의 눈 움직임을 기초로, 음성 데이터가 입력되는 과정(즉, 녹음 과정)에서의 발화자의 집중도를 평가할 수 있다. 그리고, 메타데이터 처리 모듈(225-3)은 평가된 발화자의 집중도를 더 포함시켜 메타데이터를 생성할 수도 있다.
그리고, 메타데이터 처리 모듈(225-3)은 인공지능(AI)에 의해 추정된 감정 상태에 관한 정보를 포함시켜 음성 데이터에 대한 메타데이터를 생성할 수 있다. 이 경우, 메타데이터 처리 모듈(225-3)은 추정된 감정 상태에 대응하는 일시정지 영상을 음성 데이터 녹음 장치(100)에 의해 시계열적으로 촬영된 영상으로부터 추출하고, 추출된 일시정지 영상을 더 포함시켜 메타데이터를 생성할 수도 있다.
이하, 상술한 바와 같은 음성 데이터 생성 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 하드웨어 구성도이다.
도 5에 도시된 바와 같이, 음성 데이터 생성 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.
프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 음성 데이터 생성 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 음성 데이터 녹음 장치(100) 및 음성 인식 학습 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(265)는 음성 데이터 생성 장치(200)의 동작에 필요한 데이터를 입력 받고, 가공된 음성 데이터 및 메타데이터를 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보 및 음성 데이터 및 메타데이터가 저장된 데이터베이스를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 음성 데이터 분해 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 음성 인식의 음향 모델에 포함될 기준 패턴들을 구축하기 위해 수집된 음성 데이터의 파형을 분석하여 음성 데이터로부터 배경 음향 데이터를 분리하는 단계, 프로세서(250)가 배경 음향 데이터가 분리된 음성 데이터로부터 인위적인 노이즈를 식별하는 단계, 및 프로세서(250)가 음성 데이터로부터 상기 식별된 인위적인 노이즈만을 분리하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 음성 데이터 합성 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 사전에 설정된 환경 조건을 만족하는 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하는 단계, 프로세서(250)가 식별된 국가, 언어, 지역, 성별 및 연령을 기초로, 사전에 설정된 스크립트에 대응하는 복수 개의 음성 신호들을 식별하는 단계, 프로세서(250)가 복수 개의 음성 신호들을 조합하여 어절 단위의 음성 데이터를 생성하는 단계, 및 프로세서(250)가 환경 조건을 만족하는 배경 음향 데이터를 식별하고, 식별된 배경 음향 데이터를 상기 어절 단위의 음성 데이터에 합성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 호출어 학습 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 사전에 구비된 데이터베이스에 저장된 음성 데이터들 중에서 호출어로 분류된 음성 데이터를 식별하는 단계, 프로세서(250)가 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서 호출어로 분류된 음성 데이터와 음절이 동일하나 호출어로 분류되지 않음 음성 데이터를 식별하는 단계, 프로세서(250)가 호출어로 분류된 음성 데이터의 파형과 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여 호출어로 분류된 음성 데이터와 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출하는 단계, 및 프로세서(250)가 발화자에 관한 메타데이터에 상기 차이 값을 추가하여 상기 데이터베이스에 저장하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 자연발화 음성 생성 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 사전에 구비된 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터를 식별하는 단계, 프로세서(250)가 음성 데이터에 매칭된 메타데이터를 기준으로 음성 데이터를 녹음한 발화자를 식별하는 단계, 프로세서(250)가 식별된 발화자에 대응하는 인위적인 노이즈를 식별하고 음성 데이터에 상기 식별된 인위적인 노이즈를 합성하는 단계, 및 프로세서(250)가 사전에 설정된 환경 조건에 대응하는 배경 음향 데이터를 식별하고 인위적인 노이즈가 합성된 음성 데이터에 식별된 배경 음향 데이터를 합성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 메타데이터 부여 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 송수신기(260)를 통해 음성 데이터 녹음 장치(100)로부터 음성 데이터 및 영상을 수신하되, 상기 영상은 음성 데이터 녹음 장치(100)가 마이크를 통해 발화자의 음성 데이터를 입력 받는 과정에서 카메라를 통해 시계열적으로 촬영한 상기 발화자의 안면이 포함된 영상인 단계, 프로세서(250)가 영상 속에 포함된 상기 안면의 변화를 기준으로 상기 발화자의 감정 상태를 추정하는 단계, 및 프로세서(250)가 추정된 감정 상태에 관한 정보를 포함시켜 상기 입력된 음성 데이터에 관한 메타데이터를 생성하고 상기 음성 데이터와 매칭하여 상기 생성된 메타데이터를 저장하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.
도 5에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 상술한 바와 같은 본 발명의 다양한 실시예에 따른 음성 데이터 수집 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.
도 6 및 도 7은 본 발명의 일 실시예에 따라 음성 데이터를 분해하는 과정을 설명하기 위한 예시도이다.
도 6 및 도 7에 도시된 바와 같이, 음성 데이터 생성 장치(200)는 다수의 음성 데이터 녹음 장치(100)들로부터 수집된 음성 데이터(10)를 분해하여 저장할 수 있다.
구체적으로, 음성 데이터 생성 장치(200)는 음성 데이터 녹음 장치(100)에 의해 수집된 음성 데이터(10)의 파형을 분석하여, 음성 데이터(10)로부터 배경 음향 데이터(20)를 분리할 수 있다. 이와 같은, 배경 음향 데이터(20)에는 음향 반향 및 배경 잡음이 포함될 수 있다.
우선, 음성 데이터 생성 장치(200)는 수집된 음향 데이터(10)에 주파수 영역 필터(FDAF)를 적용하여 음성 데이터(10)와 관련된 음성 데이터 녹음 장치(100)의 스피커와 마이크 사이의 전달 함수를 식별할 수 있다.
음성 데이터 생성 장치(200)는 식별된 전달 함수를 이용하여 음성 데이터(10)로부터 반향 신호를 생성한 후, 음성 데이터(10)로부터 반향 신호를 차감하여 음성 데이터(10)에 포함된 반향 신호를 제거할 수 있다.
음성 데이터 생성 장치(200)는 음성 데이터(10)에 포함된 둘 이상의 음성 신호의 도착 시간 차이(TDoA)를 기초로 음성 데이터 녹음 장치(100)와 발화자(즉, 음성 데이터 녹음 장치(100)의 사용자) 사이의 방향성을 추정할 수 있다.
음성 데이터 생성 장치(200)는 둘 이상의 음성 신호에 대하여 최소 분산 비왜곡 응답(MVDR) 필터를 적용한 이득을 사전에 설정된 상수 값으로 유지시킨 상태에서, 둘 이상의 음성 신호의 최종 출력 파워를 최소화할 수 있도록 설계된 블로킹 매트릭스(BM)를 생성할 수 있다.
음성 데이터 생성 장치(200)는 반향 신호가 제거된 음성 데이터(10)를 상기 블로킹 매트릭스(BM)에 통과시켜, 음성 데이터로부터 목적 방향만의 음성 성분이 제거된 잡음 신호를 생성할 수 있다.
그리고, 음성 데이터 생성 장치(200)는 반향 신호가 제거된 음성 데이터로부터 잡음 신호를 차감하여, 음성 데이터에 포함된 잡음 신호를 제거할 수 있다.
다음으로, 음성 데이터 생성 장치(200)는 배경 음향 데이터(20)가 제거된 음성 데이터(30)로부터 인위적인 노이즈(32)를 식별할 수 있다. 이 경우, 인위적인 노이즈(32)는 음성 데이터의 발화자의 발성 화법, 감탄사 또는 추임새 등에 따라 발화자로부터 발화되었으나, 단어적 의미를 가지지 않는 음소가 될 수 있다.
우선, 음성 데이터 생성 장치(200)는 배경 음향 데이터(20)가 분리된 음성 데이터(30)를 STT하여 녹취록을 생성할 수 있다. 음성 데이터 생성 장치(200)는 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 음성 데이터 생성 장치(200)는 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.
음성 데이터 생성 장치(200)는 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 분류되지 않은 해당 토큰을 인위적인 노이즈(32)로 식별할 수 있다.
또한, 음성 데이터 생성 장치(200)는 음성 데이터(10)의 발화자에 대한 메타데이터로부터 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하고, 식별된 발화자의 국가, 언어, 지역, 성별 및 연령을 기초로, 분류되지 않은 토큰으로부터 식별된 인위적인 노이즈(32)가 올바른지 검증할 수도 있다.
음성 데이터 생성 장치(200)는 식별된 인위적인 노이즈(32)만을 음성 데이터(30)로부터 분리하여, 모든 노이즈가 제거된 음성 데이터(34)를 생성할 수 있다.
그리고, 음성 데이터 생성 장치(200)는 분리된 반향 신호, 잡음 신호, 인위적인 노이즈(32) 및 모든 노이즈가 제거된 음성 데이터(34)가 서로 매칭되도록 메타데이터를 생성하고, 생성된 메타데이터 및 음성 데이터를 데이터베이스에 저장할 수 있다.
도 8 및 도 9는 본 발명의 일 실시예에 따라 음성 데이터를 생성하는 과정을 설명하기 위한 예시도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 음성 데이터 생성 장치(200)는 음성 신호들을 합성하여 새로운 음성 데이터를 생성할 수 있다.
구체적으로, 음성 데이터 생성 장치(200)는 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 스크립트에 대응하는 복수 개의 음성 신호들(40)을 데이터베이스로부터 식별할 수 있다.
이를 위하여, 음성 데이터 생성 장치(200)는 스크립트를 파싱하여 스크립트를 구성하고 있는 복수 개의 토큰을 식별할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 각각의 토큰에 대응하는 것으로 식별된 복수 개의 음성 신호들(40)을 조합하여 음성 데이터(30)를 생성할 수 있다.
이 경우, 음성 데이터 생성 장치(200)는 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 데이터베이스로부터 하나 이상 식별하고, 식별된 하나 이상의 음소를 스크립트에 무작위로 추가할 수도 있다.
그리고, 음성 데이터 생성 장치(200)는 합성하고자 하는 음성 데이터(10)와 관련하여 사전에 설정된 환경 조건을 만족하는 배경 음향 데이터(20)를 식별하고, 음성 신호들(40)의 조합으로 생성된 음성 데이터(30)에 배경 음향 데이터(20)를 합성할 수 있다.
도 9를 참조하면, 본 발명의 다른 실시예에 따른 음성 데이터 생성 장치(200)는 기존에 분해 저장된 음성 데이터를 기반으로 새로운 음성 데이터를 생성할 수 있다.
구체적으로, 음성 데이터 생성 장치(200)는 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터(34)를 식별할 수 있다. 이 경우, 모든 노이즈가 제거된 음성 데이터(34)는 음성 데이터 녹음 장치(100)에 의해 녹음된 음성 데이터로부터 인위적인 노이즈(32), 반향 신호 및 잡음 신호가 제거된 음성 데이터가 될 수 있다.
음성 데이터 생성 장치(200)는 식별된 음성 데이터(34)에 매칭된 메타데이터를 기준으로 음성 데이터를 녹음한 발화자를 식별할 수 있다. 음성 데이터 생성 장치(200)는 식별된 발화자에 대응하는 인위적인 노이즈(32)를 식별하고 식별된 인위적인 노이즈(32)를 음성 데이터(34)에 합성할 수 있다.
이 경우, 음성 데이터 생성 장치(200)는 음성 데이터(34)를 STT하여 녹취록을 생성할 수 있다. 음성 데이터 생성 장치(200)는 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 음성 데이터 생성 장치(200)는 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.
음성 데이터 생성 장치(200)는 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 추정된 감정 상태에 대응하며 인위적인 노이즈(32)를 발생시킬 수 있는 음소를 데이터베이스로부터 하나 이상 식별하고, 식별된 하나 이상의 음소를 음성 데이터(34)에 합성할 수 있다.
그리고, 음성 데이터 생성 장치(200)는 생성하고자 하는 음성 데이터(10)와 관련하여 사전에 설정된 환경 조건을 만족하는 배경 음향 데이터(20)를 식별하고, 기존에 분해 저장된 음성 데이터(34)로부터 생성된 음성 데이터(30)에 배경 음향 데이터(20)를 합성할 수 있다.
도 10은 본 발명의 일 실시예에 따라 호출어를 학습하는 과정을 설명하기 위한 예시도이다.
도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 데이터 생성 장치(200)는 단순 대화 음성과 호출어를 구별할 수 있는 기준을 설정하고, 호출어를 학습하기 위한 다양한 형태의 음성 데이터들을 생성할 수 있다.
구체적으로, 음성 데이터 생성 장치(200)는 데이터베이스에 저장된 음성 데이터들 중에서 호출어로 분류된 음성 데이터(30_w)를 식별할 수 있다. 이 경우, 호출어는 대기 상태인 인공지능(AI) 시스템을 활성화시키도록 사전에 설정된 단어가 될 수 있다.
음성 데이터 생성 장치(200)는 호출어로 분류된 음성 데이터(30w)의 발화자와 동일한 발화자의 음성 데이터들 중에서, 호출어로 분류된 음성 데이터(30_w)와 음절이 동일하나 호출어로 분류되지 않은 음성 데이터(30_g)를 데이터베이스로부터 식별할 수 있다.
만약, 데이터베이스로부터 호출어로 분류된 음성 데이터(30_w)와 음절이 동일하나 호출어로 분류되지 않은 음성 데이터(30_g)를 식별할 수 없는 경우, 음성 데이터 생성 장치(200)는 둘 이상의 음소들의 조합으로 호출어의 음절과 동일한 음절을 구성할 수 있도록, 호출어의 음절과는 상이하나 호출어로 분류되지 않은 음성 데이터들을 각각 구성하고 있는 하나 이상의 음소들을 조합함으로써, 호출어로 분류된 음성 데이터(30_w)와 음절이 동일하며 호출어로 분류되지 않은 음성 데이터(30_g)를 생성할 수도 있다.
음성 데이터 생성 장치(200)는 호출어로 분류된 음성 데이터(30_w)의 파형과 호출어로 분류되지 않은 음성 데이터(30_g)의 파형을 서로 비교하여, 호출어로 분류된 음성 데이터(30_w)와 호출어로 분류되지 않은 음성 데이터(30_g) 사이의 차이 값을 산출할 수 있다.
이 경우, 호출어로 분류된 음성 데이터(30_w)와 호출어로 분류되지 않은 음성 데이터(30_g) 사이의 차이 값은 파형의 길이(T_w - T_g), 파형의 진폭(A_w - A_g), 파형의 주파수(F_w - F_g)의 차이로 구성될 수 있으나, 이에 한정되는 것은 아니다.
그리고, 음성 데이터 생성 장치(200)는 발화자에 관하여 기 생성된 메타데이터에 산출된 차이 값을 추가하여 데이터베이스에 저장할 수 있다.
한편, 음성 데이터 생성 장치(200)는 동일한 발화자에 의해 발화되었으며 호출어로 분류되지 않은 음성 데이터들 중에서 호출어 등록 가능 크기의 음절로 구성된 음성 데이터 중 하나를 식별할 수 있다. 이 경우, 호출어 등록 가능한 크기는 음성 데이터 생성 장치(200) 또는 음성 인식 학습 장치(300)에 의해 사전에 설정될 수 있다.
음성 데이터 생성 장치(200)는 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터에 발화자의 차이 값을 적용하여, 호출어로 분류될 수 있는 새로운 음성 데이터를 생성할 수 있다.
음성 데이터 생성 장치(200)는 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터의 메타데이터를 기준으로, 하나의 반향 신호를 식별한 후 식별된 반향 신호를 차이 값이 적용된 새로운 음성 데이터에 합성할 수 있다.
그리고, 음성 데이터 생성 장치(200)는 데이터베이스에 포함된 복수 개의 잡음 신호를 무작위로 선택한 후, 무작위로 선택된 잡음 신호 각각을 반향 신호까지 합성된 새로운 음성 데이터에 추가 합성함으로써, 호출어를 인식하기 위한 복수 개의 기준 패턴들을 구축할 수 있다.
도 11은 본 발명의 일 실시예에 따라 음성 데이터를 녹음하는 과정을 설명하기 위한 예시도이다.
도 11에 도시된 바와 같이, 음성 데이터 녹음 장치(100)는 음성 데이터 생성 장치(200)에 의해 지시되는 환경 조건을 만족하는 곳에 음성 데이터 녹음 장치(100)가 위치하는 경우에만 음성 데이터의 녹음을 수행할 수 있도록 통제될 수 있다.
구체적으로, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)가 활성화되기 이전에, 마이크를 통해 배경 음향 데이터를 입력 받을 수 있다. 음성 데이터 녹음 장치(100)는 GPS를 통해 음성 데이터 녹음 장치(100)가 위치하고 있는 위치 정보를 수집할 수 있다.
음성 데이터 녹음 장치(100)는 입력된 배경 음향 데이터 및 위치 정보를 기초로 녹음 환경에 관한 정보를 식별할 수 있다. 이 경우, 녹음 환경에 관한 정보는 음성 데이터 녹음 장치(100)가 음성 데이터의 녹음을 수행할 수 있는 환경에 관한 정보이다.
음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보가 음성 데이터 생성 장치(200)에 의해 사전에 설정된 환경 조건(50)을 만족하는지 여부를 판단할 수 있다. 이 경우, 환경 조건(50)은 음성 데이터를 녹음하는 상황에서 음성 데이터 녹음 장치(100)가 만족해야 하는 조건들이다.
음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보가 환경 조건을 만족하는 경우, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)를 활성화시킬 수 있다.
음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)를 통해 사용자로부터 녹음 시작을 지시하는 명령이 입력되면, 마이크를 통해 음성 데이터를 입력 받을 수 있다.
한편, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)가 활성화된 이후, 사전에 설정된 주기마다 음성 데이터 녹음 장치(100)의 위치를 재수집할 수 있다. 음성 데이터 녹음 장치(100)는 재수집된 위치 정보, 음성 데이터의 크기 및 주파수가 환경 조건을 만족하지 않는 경우, 기 활성화된 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)를 비활성화시키거나, 또는 입력 중인 음성 데이터의 입력을 중단할 수 있다.
음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)를 통해 사용자로부터 녹음 종료를 지시하는 명령이 입력되면, 마이크를 통한 음성 데이터의 입력을 종료할 수 있다.
음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보를 이용하여, 음성 데이터를 위한 메타데이터를 생성할 수 있다. 그리고, 음성 데이터 녹음 장치(100)는 생성된 메타데이터를 음성 데이터와 서로 매칭하여 데이터베이스에 저장한 후, 음성 데이터 생성 장치(200)에 전송할 수 있다.
도 12는 본 발명의 일 실시예에 따라 발화자의 얼굴을 이용하여 메타데이터를 생성하는 과정을 설명하기 위한 예시도이다.
도 11에 도시된 바와 같이, 음성 데이터 생성 장치(200)는 발화자의 감정 상태를 인식할 수 있는 메타데이터를 생성할 수도 있다.
구체적으로, 음성 데이터 녹음 장치(100)는 마이크를 통해 사용자의 음성 데이터를 입력 받는 과정(즉, 녹음 시작을 지시하는 명령이 입력된 이후에서 녹음 종료를 지시하는 명령이 입력되기까지)에서, 사전에 설정된 주기마다 카메라를 통해 사용자의 안면(60)이 포함된 영상을 시계열적으로 촬영할 수 있다.
음성 데이터 생성 장치(200)는 음성 데이터 녹음 장치(100)로부터 발화자의 안면(60)이 포함된 영상이 수신된 경우, 영상 속에 포함된 발화자 안면(60)의 변화를 기준으로 발화자의 감정 상태를 추정할 수 있다.
이를 위하여, 음성 데이터 생성 장치(200)는 발화자의 안면(60)이 포함된 영상으로부터 발화자의 눈, 코 및 입의 움직임을 추적할 수 있다. 음성 데이터 생성 장치(200)는 추적된 발화자의 눈, 코 및 입의 움직임을 기초로 인공지능(AI)에 질의하여, 발화자의 감정 상태를 추정할 수 있다. 이 경우, 인공지능(AI)은 기존에 다수 발화자의 안면 영상을 기초로 기계 학습된 인공지능이 될 수 있다.
그리고, 음성 데이터 생성 장치(200)는 인공지능(AI)에 의해 추정된 감정 상태에 관한 정보를 포함시켜 음성 데이터(34)에 대한 메타데이터를 생성할 수 있다.
한편, 음성 데이터 생성 장치(200)는 추적된 발화자의 눈 움직임을 기초로, 음성 데이터가 입력되는 과정(즉, 녹음 과정)에서의 발화자의 집중도를 평가할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 평가된 발화자의 집중도를 더 포함시켜 메타데이터를 생성할 수도 있다.
이하, 상술한 바와 같은 본 발명의 다양한 실시예에 따른 음성 데이터 수집 시스템의 구성요소들의 동작에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.
도 13은 본 발명의 일 실시예에 따른 음성 데이터 녹음 방법을 설명하기 위한 순서도이다.
도 13을 참조하면, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)가 활성화되기 이전에, 마이크를 통해 배경 음향 데이터를 입력 받을 수 있다(S110). 또한, 음성 데이터 녹음 장치(100)는 GPS를 통해 음성 데이터 녹음 장치(100)가 위치하고 있는 위치 정보를 수집할 수 있다.
음성 데이터 녹음 장치(100)는 입력된 배경 음향 데이터 및 위치 정보를 기초로 녹음 환경에 관한 정보를 식별할 수 있다(S120). 이 경우, 녹음 환경에 관한 정보는 음성 데이터 녹음 장치(100)가 음성 데이터의 녹음을 수행할 수 있는 환경에 관한 정보이다.
음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보가 음성 데이터 생성 장치(200)에 의해 사전에 설정된 환경 조건을 만족하는지 여부를 판단할 수 있다(S130). 이 경우, 환경 조건은 음성 데이터를 녹음하는 상황에서 음성 데이터 녹음 장치(100)가 만족해야 하는 조건들이다.
판단 결과, 녹음 환경에 관한 정보가 환경 조건을 만족하지 않는 경우, 음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보가 환경 조건을 만족할 때가지, 배경 음향 데이터를 입력 받고(S110), 녹음 환경에 관한 정보를 식별(S120)하는 단계를 반복적으로 수행할 수 있다.
판단 결과, 녹음 환경에 관한 정보가 환경 조건을 만족하는 경우, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스를 활성화시킬 수 있다(S140).
음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스를 통해 사용자로부터 녹음 시작을 지시하는 명령이 입력되면, 마이크를 통해 음성 데이터를 입력 받을 수 있다(S150).
한편, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)가 활성화된 이후, 사전에 설정된 주기마다 음성 데이터 녹음 장치(100)의 위치를 재수집할 수도 있다. 그리고, 음성 데이터 녹음 장치(100)는 재수집된 위치 정보, 음성 데이터의 크기 및 주파수가 환경 조건을 만족하지 않는 경우, 기 활성화된 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스를 비활성화시키거나, 또는 입력 중인 음성 데이터의 입력을 중단할 수도 있다.
음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스를 통해 사용자로부터 녹음 종료를 지시하는 명령이 입력되면 마이크를 통한 음성 데이터의 입력을 종료한 후, 녹음 환경에 관한 정보를 이용하여 음성 데이터를 위한 메타데이터를 생성할 수 있다(S160).
그리고, 음성 데이터 녹음 장치(100)는 생성된 메타데이터를 음성 데이터와 서로 매칭하여 데이터베이스에 저장한 후, 음성 데이터 생성 장치(200)에 전송할 수 있다(S170).
도 14는 본 발명의 일 실시예에 따른 음성 데이터 생성 방법을 설명하기 위한 순서도이다.
도 14를 참조하면, 음성 데이터 생성 장치(200)는 음향 모델의 기준 패턴이 될 수 있는 음성 데이터 및 메타데이터의 데이터 구조를 설계할 수 있다(S210).
구체적으로, 음성 데이터 생성 장치(200)는 관리자로부터 입력된 제어 신호, 또는 음성 인식 학습 장치(300)로부터 수신된 요구 사항을 기초로, 음향 모델의 기준 패턴이 될 수 있는 음성 데이터 및 메타데이터의 데이터 구조를 설계할 수 있다.
음성 데이터 생성 장치(200)는 설계된 데이터 구조를 기초로, 음성 데이터 및 메타데이터를 수집 및 정제할 수 있다(S220, 230).
구체적으로, 음성 데이터 생성 장치(200)는 다수의 음성 데이터 녹음 장치(100)들로부터 음성 데이터 및 메타데이터를 수신할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 수집된 음성 데이터들 중에서 중복되거나 또는 극히 유사한 음성 데이터를 제거하고, 수집된 음성 데이터들에 포함된 개인정보를 비식별화할 수 있다.
음성 데이터 생성 장치(200)는 수집 및 정제된 음성 데이터 및 메타데이터를 기초로, 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 음성 데이터 및 메타데이터로 가공할 수 있다(S240). 음성 데이터의 가공 단계에 대한 구체적인 설명은 도 15 및 도 16을 참고하여 후술하기로 한다.
음성 데이터 생성 장치(200)는 가공된 음성 데이터 및 메타데이터를 음성 인식 학습 장치(300)에 제공할 수 있다(S250). 이 경우, 음성 데이터 및 메타데이터는 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 음성 데이터가 될 수 있다.
도 15는 본 발명의 일 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.
도 15를 참조하면, 음성 데이터 생성 장치(200)는 음성 데이터 녹음 장치(100)에 의해 수집된 음성 데이터의 파형을 분석하여, 음성 데이터로부터 반향 신호를 식별하여 분리할 수 있다(S241).
구체적으로, 음성 데이터 생성 장치(200)는 수집된 음향 데이터에 주파수 영역 필터(FDAF)를 적용하여 음성 데이터와 관련된 음성 데이터 녹음 장치(100)의 스피커와 마이크 사이의 전달 함수를 식별할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 식별된 전달 함수를 이용하여 음성 데이터로부터 반향 신호를 생성한 후, 음성 데이터(10)로부터 반향 신호를 차감하여 음성 데이터(10)에 포함된 반향 신호를 제거할 수 있다.
음성 데이터 생성 장치(200)는 반향 신호가 분리 제거된 음성 데이터로부터 잡음 신호를 식별하여 분리할 수 있다(S242).
구체적으로, 음성 데이터 생성 장치(200)는 음성 데이터(10)에 포함된 둘 이상의 음성 신호의 도착 시간 차이(TDoA)를 기초로 음성 데이터 녹음 장치(100)와 발화자(즉, 음성 데이터 녹음 장치(100)의 사용자) 사이의 방향성을 추정할 수 있다. 음성 데이터 생성 장치(200)는 둘 이상의 음성 신호에 대하여 최소 분산 비왜곡 응답(MVDR) 필터를 적용한 이득을 사전에 설정된 상수 값으로 유지시킨 상태에서, 둘 이상의 음성 신호의 최종 출력 파워를 최소화할 수 있도록 설계된 블로킹 매트릭스(BM)를 생성할 수 있다. 음성 데이터 생성 장치(200)는 반향 신호가 제거된 음성 데이터를 상기 블로킹 매트릭스(BM)에 통과시켜, 음성 데이터로부터 목적 방향만의 음성 성분이 제거된 잡음 신호를 생성할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 반향 신호가 제거된 음성 데이터로부터 잡음 신호를 차감하여, 음성 데이터에 포함된 잡음 신호를 제거할 수 있다.
음성 데이터 생성 장치(200)는 잡음 신호가 분리 제거된 음성 데이터로부터 인위적인 노이즈를 식별하여 분리할 수 있다(S243).
구체적으로, 음성 데이터 생성 장치(200)는 배경 음향 데이터가 분리된 음성 데이터를 STT하여 녹취록을 생성할 수 있다. 음성 데이터 생성 장치(200)는 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 음성 데이터 생성 장치(200)는 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다. 음성 데이터 생성 장치(200)는 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 분류되지 않은 해당 토큰을 인위적인 노이즈로 식별할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 식별된 인위적인 노이즈만을 음성 데이터로부터 분리하여, 모든 노이즈가 제거된 음성 데이터를 생성할 수 있다.
음성 데이터 생성 장치(200)는 분리된 반향 신호, 잡음 신호, 인위적인 노이즈(32) 및 모든 노이즈가 제거된 음성 데이터(34)가 서로 매칭되도록 메타데이터를 생성할 수 있다(S244).
그리고, 음성 데이터 생성 장치(200)는 생성된 메타데이터 및 음성 데이터를 서로 매칭하여 데이터베이스에 저장할 수 있다(S245).
도 16은 본 발명의 다른 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.
도 16을 참조하면, 음성 데이터 생성 장치(200)는 음성 신호들을 합성하여 새로운 음성 데이터를 생성하거나, 또는 기존에 분해 저장된 음성 데이터를 기반으로 새로운 음성 데이터를 생성할 수 있다(S246).
구체적으로, 음성 데이터 생성 장치(200)는 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 스크립트에 대응하는 복수 개의 음성 신호들을 데이터베이스로부터 식별할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 식별된 복수 개의 음성 신호들을 조합하여 음성 데이터(30)를 생성할 수 있다.
이와 다르게, 음성 데이터 생성 장치(200)는 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터를 식별할 수도 있다.
음성 데이터 생성 장치(200)는 인위적인 노이즈를 음성 데이터에 합성할 수 있다(S247).
구체적으로, 음성 데이터 생성 장치(200)는 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 스크립트를 파싱하여 스크립트를 구성하고 있는 복수 개의 토큰을 식별하고, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정하고, 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 무작위로 추가할 수도 있다.
이와 다르게, 음성 데이터 생성 장치(200)는 식별된 음성 데이터에 매칭된 메타데이터를 기준으로 음성 데이터를 녹음한 발화자를 식별하고, 식별된 발화자에 대응하는 인위적인 노이즈를 음성 데이터에 합성할 수도 있다.
음성 데이터 생성 장치(200)는 합성 또는 생성하고자 하는 음성 데이터(10)와 관련하여 사전에 설정된 환경 조건을 만족하는 잡음 신호를 식별하고, 인위적인 노이즈가 합성된 음성 데이터에 식별된 잡음 신호를 추가적으로 합성할 수 있다(S248).
그리고, 음성 데이터 생성 장치(200)는 합성 또는 생성하고자 하는 음성 데이터(10)와 관련하여 사전에 설정된 환경 조건을 만족하는 반향 신호를 식별하고, 잡음 신호가 합성된 음성 데이터에 식별된 반향 신호를 추가적으로 합성할 수 있다(S249).
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
음성 데이터 녹음 장치: 100 음성 데이터 생성 장치: 200
음성 인식 학습 장치: 300
단말기 통신부: 105 단말기 입출력부: 110
녹음 환경 식별부: 115 음성 녹음 제어부: 120
메타데이터 부여부: 125 수집 데이터 제공부: 130
서버 통신부: 205 서버 입출력부: 210
데이터 구조 설계부: 215 데이터 수집 및 정제부: 220
데이터 가공부: 225 음성 데이터 제공부: 230
음성 데이터 가공 모듈: 225-1 호출어 가공 모듈: 225-2
메타데이터 처리 모듈: 225-3
음성 인식 학습 장치: 300
단말기 통신부: 105 단말기 입출력부: 110
녹음 환경 식별부: 115 음성 녹음 제어부: 120
메타데이터 부여부: 125 수집 데이터 제공부: 130
서버 통신부: 205 서버 입출력부: 210
데이터 구조 설계부: 215 데이터 수집 및 정제부: 220
데이터 가공부: 225 음성 데이터 제공부: 230
음성 데이터 가공 모듈: 225-1 호출어 가공 모듈: 225-2
메타데이터 처리 모듈: 225-3
Claims (10)
- 음성 데이터 생성 장치가, 사전에 구비된 데이터베이스(database)에 저장된 음성 데이터들 중에서 호출어(wake-word)로 분류된 음성 데이터를 식별하는 단계;
상기 음성 데이터 생성 장치가, 상기 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서, 상기 호출어로 분류된 음성 데이터와 음절(syllable)이 동일하나 호출어로 분류되지 않은 음성 데이터를 식별하는 단계;
상기 음성 데이터 생성 장치가, 상기 호출어로 분류된 음성 데이터의 파형(wave form)과 상기 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여, 상기 호출어로 분류된 음성 데이터와 상기 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출하는 단계; 및
상기 음성 데이터 생성 장치가, 상기 발화자에 관한 메타데이터(metadata)에 상기 차이 값을 추가하여 상기 데이터베이스에 저장하는 단계를 포함하되,
상기 호출어는
대기 상태(standby status)인 인공지능(Artificial Intelligence, AI) 시스템을 활성화(activate)시키도록, 사전에 설정된 단어인 것을 특징으로 하고,
상기 저장하는 단계는
상기 산출된 차이 값을 상기 발화자의 속성과 매칭하여 상기 데이터베이스에 누적 저장하되,
상기 발화자의 속성에는
상기 발화자의 국가, 언어, 지역, 성별 및 연령이 포함되는 것을 특징으로 하며,
상기 차이 값을 산출하는 단계는
상기 데이터베이스에 누적 저장된 차이 값과 발화자의 속성에 대하여 상관 분석(correlation analysis)을 수행하여 상기 차이 값과 발화자의 속성 사이의 관련성을 평가하고, 상기 평가된 관련성에 대하여 요인 분석(factor analysis) 및 회귀 분석(regression)을 수행하여 상기 발화자의 속성에 포함된 요소들 중에서 상기 차이 값에 최대 영향을 미치는 요소를 식별하는 것을 특징으로 하는, 호출어 학습 방법. - 제1 항에 있어서, 상기 음성 데이터를 식별하는 단계는
상기 음절이 동일하나 호출어로 분류되지 않은 음성 데이터를 식별할 수 없는 경우, 둘 이상의 음소(phoneme)들의 조합으로 상기 음절과 동일한 음절을 구성할 수 있도록, 상기 음절과는 상이하나 호출어로 분류되지 않은 음성 데이터들을 각각 구성하고 있는 하나 이상의 음소들을 조합하여 상기 음성 데이터를 생성하는 것을 특징으로 하는, 호출어 학습 방법. - 제2 항에 있어서, 상기 음성 데이터를 식별하는 단계는
상기 음성 데이터에 대한 메타데이터를 기준으로, 상기 음성 데이터가 호출어로 분류되었는지 여부를 판단하는 것을 특징으로 하는, 호출어 학습 방법. - 제1 항에 있어서, 상기 저장하는 단계는
상기 차이 값에 최대 영향을 미치는 요소를 상기 발화자에 대한 호출어와 비호출어 사이의 구별 기준으로 설정한 후, 상기 설정된 구별 기준을 상기 발화자에 관한 메타데이터에 추가시켜 저장하는 것을 특징으로 하는, 호출어 학습 방법. - 제1 항에 있어서,
상기 음성 데이터 생성 장치가, 상기 발화자에 의해 발화되었으며 상기 호출어로 분류되지 않은 음성 데이터들 중에서 사전에 설정된 호출어 등록 가능 크기의 음절로 구성된 음성 데이터 중 하나를 식별하고, 상기 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터에 상기 차이 값을 적용하는 단계를 더 포함하는 것을 특징으로 하는, 호출어 학습 방법. - 제5 항에 있어서, 상기 차이 값을 적용하는 단계는
상기 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터의 메타데이터를 기준으로 하나의 반향 신호(echo signal)을 식별한 후, 상기 식별된 반향 신호를 상기 차이 값이 적용된 음성 데이터와 합성하는 것을 특징으로 하는, 호출어 학습 방법. - 제6 항에 있어서, 상기 차이 값을 적용하는 단계는
상기 데이터베이스에 포함된 복수 개의 잡음 신호(noise signal)을 무작위로 선택한 후, 상기 무작위로 선택된 잡음 신호 각각을 상기 반향 신호가 합성된 음성 데이터에 추가 합성하여, 상기 호출어를 음성 인식하기 위한 복수 개의 기준 패턴(reference pattern)들을 구축하는 것을 특징으로 하는, 호출어 학습 방법. - 메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 사전에 구비된 데이터베이스에 저장된 음성 데이터들 중에서 호출어로 분류된 음성 데이터를 식별하는 단계;
상기 프로세서가, 상기 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서, 상기 호출어로 분류된 음성 데이터와 음절이 동일하나 호출어로 분류되지 않은 음성 데이터를 식별하는 단계;
상기 프로세서가, 상기 호출어로 분류된 음성 데이터의 파형과 상기 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여, 상기 호출어로 분류된 음성 데이터와 상기 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출하는 단계; 및
상기 프로세서가, 상기 발화자에 관한 메타데이터에 상기 차이 값을 추가하여 상기 데이터베이스에 저장하는 단계를 실행시키되,
상기 호출어는
대기 상태인 인공지능(AI) 시스템을 활성화(activate)시키도록, 사전에 설정된 단어인 것을 특징으로 하고,
상기 저장하는 단계는
상기 산출된 차이 값을 상기 발화자의 속성과 매칭하여 상기 데이터베이스에 누적 저장하되,
상기 발화자의 속성에는
상기 발화자의 국가, 언어, 지역, 성별 및 연령이 포함되는 것을 특징으로 하며,
상기 차이 값을 산출하는 단계는
상기 데이터베이스에 누적 저장된 차이 값과 발화자의 속성에 대하여 상관 분석(correlation analysis)을 수행하여 상기 차이 값과 발화자의 속성 사이의 관련성을 평가하고, 상기 평가된 관련성에 대하여 요인 분석(factor analysis) 및 회귀 분석(regression)을 수행하여 상기 발화자의 속성에 포함된 요소들 중에서 상기 차이 값에 최대 영향을 미치는 요소를 식별하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램. - 제8 항에 있어서, 상기 저장하는 단계는
상기 차이 값에 최대 영향을 미치는 요소를 상기 발화자에 대한 호출어와 비호출어 사이의 구별 기준으로 설정한 후, 상기 설정된 구별 기준을 상기 발화자에 관한 메타데이터에 추가시켜 저장하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램. - 제8 항에 있어서,
상기 프로세서가, 상기 발화자에 의해 발화되었으며 상기 호출어로 분류되지 않은 음성 데이터들 중에서 사전에 설정된 호출어 등록 가능 크기의 음절로 구성된 음성 데이터 중 하나를 식별하고, 상기 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터에 상기 차이 값을 적용하는 단계를 더 포함하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210128500A KR102378895B1 (ko) | 2021-09-29 | 2021-09-29 | 음성 인식을 위한 호출어 학습 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210128500A KR102378895B1 (ko) | 2021-09-29 | 2021-09-29 | 음성 인식을 위한 호출어 학습 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102378895B1 true KR102378895B1 (ko) | 2022-03-28 |
Family
ID=80997061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210128500A KR102378895B1 (ko) | 2021-09-29 | 2021-09-29 | 음성 인식을 위한 호출어 학습 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102378895B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140079988A (ko) | 2012-12-20 | 2014-06-30 | 주식회사 팬택 | 이동 단말기 및 이를 이용한 음성 인식 처리 방법 |
KR20170087390A (ko) * | 2016-01-20 | 2017-07-28 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 음성 웨이크업 방법 및 장치 |
KR20190064384A (ko) * | 2017-11-30 | 2019-06-10 | 주식회사 인텔로이드 | 서버인식 결과를 이용하여 호출어를 인식하는 장치 및 방법 |
KR20200010149A (ko) * | 2018-01-15 | 2020-01-30 | 네이버 주식회사 | 호출음 인식장치 및 호출음 인식방법 |
KR20200012928A (ko) * | 2017-07-24 | 2020-02-05 | 미디어 그룹 코 엘티디 | 사용자 정의 가능한 웨이크업 음성 명령 |
-
2021
- 2021-09-29 KR KR1020210128500A patent/KR102378895B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140079988A (ko) | 2012-12-20 | 2014-06-30 | 주식회사 팬택 | 이동 단말기 및 이를 이용한 음성 인식 처리 방법 |
KR20170087390A (ko) * | 2016-01-20 | 2017-07-28 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 음성 웨이크업 방법 및 장치 |
KR20200012928A (ko) * | 2017-07-24 | 2020-02-05 | 미디어 그룹 코 엘티디 | 사용자 정의 가능한 웨이크업 음성 명령 |
KR20190064384A (ko) * | 2017-11-30 | 2019-06-10 | 주식회사 인텔로이드 | 서버인식 결과를 이용하여 호출어를 인식하는 장치 및 방법 |
KR20200010149A (ko) * | 2018-01-15 | 2020-01-30 | 네이버 주식회사 | 호출음 인식장치 및 호출음 인식방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102509464B1 (ko) | 발언 분류기 | |
US11417343B2 (en) | Automatic speaker identification in calls using multiple speaker-identification parameters | |
US10057707B2 (en) | Optimized virtual scene layout for spatial meeting playback | |
US10516782B2 (en) | Conference searching and playback of search results | |
US10522151B2 (en) | Conference segmentation based on conversational dynamics | |
US20200127865A1 (en) | Post-conference playback system having higher perceived quality than originally heard in the conference | |
US11076052B2 (en) | Selective conference digest | |
Aloufi et al. | Emotionless: Privacy-preserving speech analysis for voice assistants | |
US9189483B2 (en) | System and method for enhancing voice-enabled search based on automated demographic identification | |
US10706848B1 (en) | Anomaly detection for voice controlled devices | |
US11693988B2 (en) | Use of ASR confidence to improve reliability of automatic audio redaction | |
US20180190266A1 (en) | Conference word cloud | |
KR102389995B1 (ko) | 자연발화 음성 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
US11545136B2 (en) | System and method using parameterized speech synthesis to train acoustic models | |
WO2017020011A1 (en) | Searching the results of an automatic speech recognition process | |
US11270691B2 (en) | Voice interaction system, its processing method, and program therefor | |
KR102408455B1 (ko) | 음성 인식 학습을 위한 음성 데이터 합성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102395399B1 (ko) | 음성 인식 학습을 위한 음성 데이터 분해 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
CN101460994A (zh) | 语音区分 | |
Johar | Paralinguistic profiling using speech recognition | |
US10282417B2 (en) | Conversational list management | |
CN107886940A (zh) | 语音翻译处理方法及装置 | |
KR20220040813A (ko) | 인공지능 음성의 컴퓨팅 탐지 장치 | |
KR102378895B1 (ko) | 음성 인식을 위한 호출어 학습 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102378885B1 (ko) | 발화자의 얼굴을 이용한 메타데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |