KR102369416B1 - 복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템 - Google Patents

복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템 Download PDF

Info

Publication number
KR102369416B1
KR102369416B1 KR1020170119659A KR20170119659A KR102369416B1 KR 102369416 B1 KR102369416 B1 KR 102369416B1 KR 1020170119659 A KR1020170119659 A KR 1020170119659A KR 20170119659 A KR20170119659 A KR 20170119659A KR 102369416 B1 KR102369416 B1 KR 102369416B1
Authority
KR
South Korea
Prior art keywords
voice signal
signal
personalization layer
user
terminal
Prior art date
Application number
KR1020170119659A
Other languages
English (en)
Other versions
KR20190031785A (ko
Inventor
문민영
유상현
최영상
권기수
이호동
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170119659A priority Critical patent/KR102369416B1/ko
Priority to US15/916,512 priority patent/US10607597B2/en
Publication of KR20190031785A publication Critical patent/KR20190031785A/ko
Application granted granted Critical
Publication of KR102369416B1 publication Critical patent/KR102369416B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/083Recognition networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

음성 신호 인식 시스템은 디바이스 별로 저장되고, 디바이스의 사용자의 발화 특징을 학습하는 개인화 레이어를 이용하여 사용자들 간의 음성 인식 성능의 차이를 최소화할 수 있다. 개인화 레이어가 디바이스들이 연결된 음성 신호 인식 서버에 저장되지 않으므로, 음성 신호 인식 시스템을 사용하는 복수의 사용자 각각에 대응하는 개인화 레이어를 생성 및 저장하는데 소비되는 비용이 절감될 수 있다.

Description

복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템{SPEECH SIGNAL RECOGNITION SYSTEM RECOGNIZING SPEECH SIGNAL OF A PLURALITY OF USERS BY USING PERSONALIZATION LAYER CORRESPONDING TO EACH OF THE PLURALITY OF USERS}
이하의 실시예는 사용자의 음성 신호를 인식하는 음성 신호 인식 시스템에 관한 것이다.
음성 인식은 사용자의 음성을 인식하는 기술이다. 음성 인식에 의해 사용자의 음성은 텍스트로 변환될 수 있다. 이러한 음성 인식에서, 인식 정확도는 사용자가 음성을 발화할 때의 주변 환경, 사용자 현재 상태 등 다양한 요인(factor)들에 의해 결정될 수 있다.
일실시예에 따르면, 단말에 저장되어 상기 단말의 사용자의 발화 특징을 학습하는 개인화 레이어에 상기 사용자로부터 제공된 음성 신호를 입력하여, 상기 음성 신호에 대한 상기 개인화 레이어의 출력 신호를 획득하는 단계, 상기 획득된 출력 신호를 글로벌 모델에 제공하는 단계 - 상기 글로벌 모델은 복수의 사용자에게 공통되는 발화 특징에 기초하여, 상기 출력 신호로부터 상기 음성 신호에 포함된 음소를 표시한 음소 신호를 출력함 - 및 상기 글로벌 모델에서 출력된 음소 신호에 기초하여, 상기 개인화 레이어가 상기 단말의 사용자의 발화 특징에 따라 상기 출력 신호를 생성하도록 상기 개인화 레이어를 학습하는 단계를 포함하는 음성 신호 학습 방법이 제공된다.
일실시예에 따르면, 상기 음성 신호는, 상기 음성 신호에 대응하여 상기 단말을 제어하기 위하여 생성된 제어 신호가 상기 단말을 제어하는데 적용되었는지 여부에 기초하여 상기 개인화 레이어에 입력되는 음성 신호 학습 방법이 제공된다.
일실시예에 따르면, 상기 글로벌 모델은, 상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되어, 상기 복수의 사용자의 음성 신호를 텍스트 신호로 변경하는 음성 신호 인식 서버에 저장되는 음성 신호 학습 방법이 제공된다.
일실시예에 따르면, 상기 획득하는 단계는, 상기 단말 및 상기 음성 신호 인식 서버의 연결 상태에 기초하여 상기 개인화 레이어에 상기 사용자로부터 제공된 음성 신호를 입력할지 여부를 결정하는 음성 신호 학습 방법이 제공된다.
일실시예에 따르면, 상기 제공하는 단계는, 상기 글로벌 모델에 상기 개인화 레이어의 출력 신호를 입력하기 위하여, 상기 출력 신호를 상기 음성 신호 인식 서버로 송신하는 음성 신호 학습 방법이 제공된다.
일실시예에 따르면, 단말의 사용자로부터 음성 신호를 수신하는 경우, 상기 단말에 저장된 개인화 레이어에 상기 수신된 음성 신호를 입력하는 단계 및 상기 음성 신호가 입력된 상기 개인화 레이어의 출력 신호를 글로벌 모델에 제공하여, 상기 음성 신호에 대응하는 텍스트 신호를 획득하는 단계 - 상기 글로벌 모델은 복수의 사용자의 공통적인 발화 특징에 기초하여 상기 개인화 레이어의 출력 신호로부터 상기 텍스트 신호를 생성하는데 사용되는 음소 신호를 출력함 - 를 포함하고, 상기 개인화 레이어는, 상기 사용자의 발화 특징이 학습되어, 상기 발화 특징에 따라 상기 음성 신호로부터 상기 출력 신호를 생성하는 음성 신호 인식 방법이 제공된다.
일실시예에 따르면, 상기 글로벌 모델은, 상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되어, 상기 복수의 사용자의 음성 신호를 텍스트 신호로 변경하는 음성 신호 인식 서버에 저장되는 음성 신호 인식 방법이 제공된다.
일실시예에 따르면, 상기 텍스트 신호에 포함된 에러에 기초하여, 상기 음성 신호를 상기 개인화 레이어의 학습에 이용할지 여부를 결정하는 단계를 더 포함하는 음성 신호 인식 방법이 제공된다.
일실시예에 따르면, 단말에 있어서, 상기 단말의 사용자의 음성 신호를 수집하는 음성 신호 수집기, 상기 사용자의 발화 특징을 학습하는 개인화 레이어가 저장된 메모리 및 상기 개인화 레이어를 이용하여 상기 사용자의 음성 신호를 처리하는 프로세서를 포함하고, 상기 개인화 레이어는, 상기 사용자의 음성 신호에 대응하는 텍스트 신호를 획득하기 위하여, 복수의 사용자의 공통적인 발화 특징에 기초하여 상기 개인화 레이어의 출력 신호로부터 상기 음성 신호에 포함된 음소를 표시한 음소 신호를 출력하는 글로벌 모델과 함께 이용되는 단말이 제공된다.
일실시예에 따르면, 상기 프로세서는, 상기 수집된 음성 신호를 상기 개인화 레이어에 입력하여 획득된 상기 출력 신호를, 상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되고 상기 글로벌 모델을 저장하는 음성 신호 인식 서버로 출력하고, 상기 음성 신호 인식 서버의 글로벌 모델에서 출력된 음소 신호에 기초하여, 상기 개인화 레이어가 상기 사용자의 발화 특징에 따라 상기 출력 신호를 생성하도록 상기 개인화 레이어를 학습하는 단말이 제공된다.
일실시예에 따르면, 상기 프로세서는, 상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되고 상기 글로벌 모델을 저장하는 음성 신호 인식 서버로부터 상기 글로벌 모델을 수신하고, 상기 개인화 레이어를 상기 글로벌 모델에 결합하여, 상기 음성 신호로부터 상기 음소 신호를 출력하는 음성 신호 인식 모델을 획득하고, 상기 수집된 음성 신호에 기초하여 상기 획득된 음성 신호 인식 모델을 학습함으로써, 상기 사용자의 발화 특징이 학습된 개인화 레이어를 획득하는 단말이 제공된다.
일실시예에 따르면, 상기 프로세서는, 상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되고 상기 글로벌 모델을 저장하는 음성 신호 인식 서버로 상기 개인화 레이어 및 상기 수집된 음성 신호를 전송하고, 상기 전송된 개인화 레이어 및 음성 신호에 따라 상기 사용자의 발화 특징이 학습된 개인화 레이어를 상기 음성 신호 인식 서버로부터 수신하는 단말이 제공된다.
도 1은 일실시예에 따른 음성 신호 인식 시스템의 구조를 설명하기 위한 예시적인 도면이다.
도 2는 일실시예에 따른 음성 신호 인식 시스템의 디바이스 및 음성 신호 인식 서버의 구조를 설명하기 위한 블록도이다.
도 3은 일실시예에 따른 음성 신호 인식 시스템이 음성 신호를 인식하기 위해 사용하는 뉴럴 네트워크 기반의 모델을 도시한 도면이다.
도 4는 일실시예에 따른 음성 신호 인식 시스템의 디바이스 및 음성 신호 인식 서버가 음성 신호를 인식하는 동작을 설명하기 위한 흐름도이다.
도 5는 일실시예에 따른 음성 신호 인식 시스템의 디바이스 및 음성 신호 인식 서버가 개인화 레이어를 학습하는 동작을 설명하기 위한 흐름도이다.
도 6은 제2 실시예에 따른 음성 신호 인식 시스템의 디바이스 및 음성 신호 인식 서버의 구조를 설명하기 위한 블록도이다.
도 7은 제3 실시예에 따른 음성 신호 인식 시스템의 디바이스 및 음성 신호 인식 서버의 구조를 설명하기 위한 블록도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 스마트 홈 시스템 등에서 사용자를 인증하는데 적용될 수 있다. 실시예들은 사용자 인증을 통한 결제 서비스에 적용될 수 있다. 또한, 실시예들은 사용자를 인증하여 자동으로 시동을 거는 지능형 자동차 시스템 등에도 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 음성 신호 인식 시스템의 구조를 설명하기 위한 예시적인 도면이다. 음성 신호 인식 시스템은 주변의 소리를 수집하고, 수집된 주변의 소리로부터 디지털 전기 신호인 음성 신호를 생성하는 하나 이상의 디바이스(도 1을 참고하면, 단말 1(101), 단말 2(102) 등)를 포함할 수 있다. 디바이스에 의해 수집되는 디바이스 주변의 소리는 디바이스의 사용자(예를 들어, 단말 1(101)을 소유한 사용자 1(111) 또는 단말 2(102)를 소유한 사용자 2(112))가 말을 하여 발생된 소리를 포함할 수 있다. 음성 신호 인식 시스템에 포함된 디바이스는 디바이스의 사용자에게 개인화된 디바이스로써, 스마트폰, 스마트패드, 스마트밴드 등의 웨어러블 디바이스(wearable device), PDA(Personal Digital Assistance), 랩톱 등을 포함할 수 있다. 더 나아가서, 디바이스는 복수의 사용자들이 공유하는 디바이스로써, 음성 인식 스피커(103), 음성 인식 TV(104) 등을 포함할 수 있다.
음성 신호를 인식하는 것은 음성 신호에 포함된 사용자의 말을 디바이스에 의해 분석될 수 있는 형태(예를 들어, 사용자의 말을 문자로 표현하는 것)로 변경한 디지털 전기 신호를 생성하는 것을 의미한다. 일실시예에 따른 음성 신호 인식 시스템은 음성 신호를 인식하여, 음성 신호에 대응하는 텍스트 신호를 생성할 수 있다. 음성 신호 인식 시스템은 사용자의 음성 신호를 수집하는 디바이스로부터 수신한 데이터에 기초하여, 음성 신호에 대응하는 텍스트 신호를 생성하여 디바이스로 회신하는 음성 신호 인식 서버(130)를 포함할 수 있다. 음성 신호 인식 서버(130)가 생성한 텍스트 신호는 디바이스의 사용자를 위한 다양한 서비스를 제공하는데 활용될 수 있다.
예를 들어, 사용자 1(111)은 단말 1(101)로 사용자 2(112)에게 전화를 걸 것을 말로써 명령하는 경우, 음성 신호 인식 시스템은 사용자 1(111)의 명령을 포함하는 음성 신호로부터 생성된 텍스트 신호를 분석하여 단말 1(101)의 통화 애플리케이션을 실행시키고, 실행된 통화 애플리케이션이 사용자 2(112)로 전화를 걸도록 단말 1(101)을 제어할 수 있다. 이외에도 음성 신호 인식 시스템은 생성된 텍스트 신호를 이용하여 디바이스의 사용자의 스케쥴을 생성하거나, 텍스트 신호를 이용하여 웹 서비스의 데이터를 검색하거나, 텍스트 신호를 이용하여 문자 메시지를 전송하거나, 텍스트 신호를 이용하여 디바이스에 저장된 데이터를 검색하는 서비스를 제공할 수 있다.
음성 신호 인식 시스템은 음성 신호에 대응하는 텍스트 신호를 생성하기 위하여, 음향 모델(acoustic model)과 언어 모델을 이용할 수 있다. 음향 모델 및 언어 모델은 GMM (Gaussian Mixture Model), DNN (Deep Neural Network) 또는 BLSTM (Bidirectional Long Short Term Memory) 등에 기초하여 음성 신호를 인식하는 모델을 의미한다. 음향 모델은 음성 신호로부터 추출된 특징에 기초하여 음성 신호를 음소(phoneme) 단위로 인식하는데 이용된다. 음성 신호 인식 시스템은 음향 모델에 의해 획득된 음성 신호를 음소 단위로 인식한 결과에 기초하여 음성 신호가 나타내는 단어들을 추정할 수 있다. 언어 모델은 단어들 사이의 연결 관계에 기초한 확률 정보를 획득하는데 이용된다. 언어 모델은 언어 모델에 입력된 단어에 연결될 다음 단어에 대한 확률 정보를 제공한다. 예를 들어, 언어 모델에 "this"의 단어가 입력되는 경우, 언어 모델은 "this" 다음에 "is" 또는 "was"가 연결될 확률 정보를 제공할 수 있다. 일실시예에 따르면, 음성 신호 인식 시스템은 언어 모델에 의해 제공된 확률 정보에 기초하여 가장 확률이 높은 단어들 간의 연결 관계를 선택하고, 선택 결과를 음성 인식 결과로서 출력할 수 있다.
일실시예에 따르면, 음성 신호 인식 시스템에 이용되는 음향 모델 및 언어 모델은 뉴럴 네트워크를 이용하여 구성될 수 있다. 뉴럴 네트워크는 많은 수의 인공 뉴런(또는, 노드)들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 인식 모델이다. 뉴럴 네트워크는 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다. 뉴럴 네트워크는 복수의 레이어를 포함할 수 있다. 예를 들어, 뉴럴 네트워크는 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어를 포함할 수 있다. 입력 레이어는 뉴럴 네트워크의 트레이닝을 위한 입력 데이터를 수신하여 히든 레이어로 전달할 수 있고, 출력 레이어는 히든 레이어의 노드들로부터 수신된 신호에 기초하여 뉴럴 네트워크의 출력 데이터를 생성할 수 있다.
하나 이상의 히든 레이어가 입력 레이어 및 출력 레이어 사이에 위치할 수 있고, 입력 레이어를 통해 전달된 입력 데이터를 예측하기 쉬운 값으로 변환할 수 있다. 입력 레이어 및 하나 이상의 히든 레이어에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있고, 히든 레이어 및 출력 레이어에 포함된 노드들도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다.
입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어는 복수의 노드들을 포함할 수 있다. 히든 레이어는 CNN(convolutional neural network)에서의 콘볼루션 필터(convolution filter) 또는 완전 연결 레이어(fully connected layer)이거나, 특별한 기능이나 특징을 기준으로 묶인 다양한 종류의 필터 또는 레이어일 수 있다. 히든 레이어의 출력 값이 현재 시간의 히든 레이어에 다시 입력되는 리커런트 뉴럴 네트워크(recurrent neural network; RNN)이 음향 모델 및 언어 모델에 이용될 수 있다.
뉴럴 네트워크 중에서 복수의 히든 레이어를 포함하는 뉴럴 네트워크를 딥 뉴럴 네트워크(deep neural network)라 한다. 딥 뉴럴 네트워크를 학습 시키는 것을 딥 러닝(deep learning)이라 한다. 뉴럴 네트워크의 노드 중에서, 히든 레이어에 포함된 노드를 가리켜 히든 노드라 한다.
일실시예에 따르면, 음성 신호 인식 시스템은 음향 모델로써, 특정한 사용자의 발화 특징을 학습하는 개인화 레이어 및 음성 신호 인식 시스템을 사용하는 모든 사용자에게 나타나는 일반적인 발화 특징을 학습하는 글로벌 모델(140)을 이용할 수 있다. 개인화 레이어는 음성 신호 인식 시스템에서 음성 신호를 수집하는 디바이스에 저장될 수 있다. 개인화 레이어가 음성 신호 인식 시스템에서 음성 신호를 수집하는 디바이스에 저장됨으로써, 음성 신호 인식 서버(130)가 음성 신호 인식 시스템의 모든 가입자에 대한 개인화 레이어를 저장하지 않을 수 있다. 따라서, 음성 신호 인식 서버(130)가 음성 신호 인식 시스템의 모든 가입자에 대한 개인화 레이어를 저장하는데 소비되는 비용이 절감될 수 있다.
도 1을 참고하면, 단말 1(101)은 사용자 1(111)의 발화 특징을 학습하는 개인화 레이어 1(121)를 포함할 수 있다. 단말 2(102)는 사용자 2(112)의 발화 특징을 학습하는 개인화 레이어 2(122)를 포함할 수 있다. 복수의 사용자들이 공유하는 디바이스(예를 들어, 음성 인식 스피커(103), 음성 인식 TV(104) 등)는 디바이스를 사용하는 복수의 사용자 각각에 대한 개인화 레이어를 포함할 수 있다. 도 1을 참고하면, 음성 인식 스피커(103)는 음성 인식 스피커(103)를 사용하는 사용자 3(113) 및 사용자 4(114) 각각에 대응하는 개인화 레이어 3(123) 및 개인화 레이어 4(124)를 포함할 수 있다.
가입자 각각의 발화 특징에 의해 학습된 개인화 레이어를 사용함으로써, 음성 신호 인식 시스템은 음성 신호를 인식하는 성능이 일부 가입자에 대하여 저하되는 현상을 예방할 수 있다. 음성 신호 인식 시스템은 음성 신호를 인식하는 성능이 일부 가입자에 대하여 저하되는 현상을 예방하는 것은 음성 신호 인식 서버(130)가 음성 신호 인식 시스템의 모든 가입자에 대한 개인화 레이어를 저장하는데 소비되는 비용 없이 달성될 수 있다.
이하에서는 음성 신호 인식 시스템에서 가입자 각각의 발화 특징에 의해 학습된 개인화 레이어를 사용하여 음성 신호를 인식하는 상세한 동작을 설명한다. 도 2는 일실시예에 따른 음성 신호 인식 시스템의 디바이스(210) 및 음성 신호 인식 서버(220)의 구조를 설명하기 위한 블록도이다.
디바이스(210)의 사용자는 디바이스(210)를 통해 사용자에게 제공되는 애플리케이션, 사용자 인터페이스 또는 스위치를 조작하여, 디바이스(210)의 음성 신호 인식 기능을 작동시킬 수 있다. 예를 들어, 디바이스(210)는 사용자가 일정한 세기 이상의 힘으로 누름으로써 작동되는 버튼, 사용자가 터치함으로써 작동되는 소프트 키 등을 포함할 수 있다. 사용자는 버튼을 누르거나 또는 소프트 키를 터치하여, 디바이스(210)의 음성 신호 인식 기능을 작동시킬 수 있다. 디바이스(210)가 디스플레이(예를 들어, 사용자의 터치 입력을 탐지할 수 있는 터치 스크린)를 포함하는 경우, 사용자는 디스플레이에 표시된 아이콘을 클릭하거나 또는 터치하여 디바이스(210)의 음성 신호 인식 기능을 작동시킬 수 있다.
도 2를 참고하면, 디바이스(210)는 사용자의 음성 신호를 인식하기 위하여, 디바이스(210)의 구성 요소를 제어하는 음성 신호 인식 컨트롤러(215)를 포함할 수 있다. 음성 신호 인식 컨트롤러(215)는 사용자의 조작에 대한 피드백으로써, 음성 신호를 입력할 준비가 되었음을 나타내는 인터페이스를 사용자에게 출력할 수 있다. 사용자는 출력되는 인터페이스에 대응하여, 디바이스(210)를 통해 수행하고자 하는 기능 또는 디바이스(210)로부터 얻고자 하는 데이터가 무엇인지를 말할 수 있다. 사용자가 말을 하여 발생되는 음파는 디바이스(210)의 마이크(도시를 생략함)에서 음성 신호로 변경될 수 있다.
도 2를 참고하면, 디바이스(210)는 음성 신호를 전처리하여 개인화 레이어(211)로 입력하고, 개인화 레이어(211)의 출력 신호를 음성 신호 인식 컨트롤러(215)로 전송하는 데이터 프로세서(214)를 포함할 수 있다. 데이터 프로세서(214)는 음성 신호를 전처리하는 동안, 음성 신호로부터 스펙트로그램(spectrogram)을 획득하고, 스펙트로그램으로부터 음성 신호의 주파수 특징을 추출할 수 있다. 음성 인식 장치는 음성 신호를 푸리에 변환(Fourier transform)함으로써, 음성 신호에 대한 스펙트로그램을 획득할 수 있다. 음성 인식 장치는 푸리에 변환을 통해 음성 신호의 기본 주파수(fundamental frequency)를 계산하고, 기본 주파수의 자연수배(1, 2, 3 … 배)에 해당하는 주파수의 진폭 값을 계산하여 주파수 값을 x 축에, 진폭 값을 y 축에 나타내어 음성 신호에 대한 스펙트럼을 생성할 수 있다. 스펙트로그램은 생성된 스펙트럼에서 진폭 값이 클수록 빈(bin)의 크기를 크게 하고, 진폭 값이 작을수록 빈의 크기를 작게 나타내 각각의 주파수 위치에 대해 진폭 값의 크기를 연속으로 표시한 것이다. 데이터 프로세서(214)는 스펙트로그램에 나타난 주파수 특징 정보를 음성 신호의 특징으로서 추출할 수 있다.
데이터 프로세서(214)는 추출된 음성 신호의 특징, 스펙트로그램 또는 음성 신호를 개인화 레이어(211)에 입력할 수 있다. 디바이스(210)는 메모리에 저장된 뉴럴 네트워크와 관련된 파라미터를 이용하여 개인화 레이어(211)를 생성할 수 있다. 개인화 레이어(211)는 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어를 포함할 수 있다.
개인화 레이어(211)가 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어를 포함하는 경우, 데이터 프로세서(214)는 추출된 음성 신호의 특징, 스펙트로그램 또는 음성 신호를 개인화 레이어(211)의 입력 레이어에 입력할 수 있다. 데이터 프로세서(214)는 개인화 레이어(211)에서 출력되는 출력 신호, 예를 들어, 개인화 레이어(211)의 출력 레이어에 포함된 노드들의 값을 획득할 수 있다. 데이터 프로세서(214)는 개인화 레이어(211)로부터 획득한 출력 신호를 음성 신호 인식 컨트롤러(215)로 전송할 수 있다.
음성 신호 인식 컨트롤러(215)는 개인화 레이어(211)의 출력 신호를, 디바이스(210) 및 음성 신호 인식 서버(220)를 연결하는 유선 네트워크 또는 무선 네트워크를 통하여 음성 신호 인식 서버(220)로 전송할 수 있다. 도 2를 참고하면, 음성 신호 인식 서버(220)는 디바이스(210)의 사용자의 음성 신호를 인식하기 위하여, 음성 신호 인식 서버(220)의 구성 요소를 제어하는 음성 신호 인식 컨트롤러(221)를 포함할 수 있다. 음성 신호 인식 컨트롤러(221)는 디바이스(210)로부터 개인화 레이어(211)의 출력 신호를 수신할 수 있다.
도 2를 참고하면, 음성 신호 인식 서버(220)는 개인화 레이어(211)의 출력 신호를 음성 신호 인식 서버(220)의 글로벌 모델(225)에 입력하는 데이터 결합기(222)를 포함할 수 있다. 음성 신호 인식 컨트롤러(221)는 수신된 개인화 레이어(211)의 출력 신호를 데이터 결합기(222)로 전송할 수 있다.
음성 신호 인식 서버(220)는 메모리에 저장된 뉴럴 네트워크와 관련된 파라미터를 이용하여 글로벌 모델(225)을 생성할 수 있다. 글로벌 모델(225)은 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어를 포함할 수 있다. 데이터 결합기(222)는 개인화 레이어(211)의 출력 신호를 글로벌 모델(225)의 입력 레이어에 입력할 수 있다. 글로벌 모델(225)은 개인화 레이어(211)의 출력 신호로부터, 음성 신호가 미리 설정된 음소 집합에 포함된 음소들 각각에 매칭될 확률을 확률 벡터의 형태로 출력할 수 있다. 글로벌 모델(225)이 출력하는 확률 벡터를 음소 신호라 한다.
도 2를 참고하면, 음성 신호 인식 서버(220)는 글로벌 모델(225) 및 언어 모델(226)을 이용하여 디바이스(210)의 사용자의 음성 신호를 인식하여 텍스트 신호를 생성하는 음성 신호 인식기(223)를 포함할 수 있다. 음성 신호 인식기(223)는 글로벌 모델(225)의 출력 레이어로부터 음소 신호를 획득할 수 있다. 음성 신호 인식기(223)는 획득된 음소 신호를 언어 모델(226)에 입력할 수 있다. 음성 신호 인식 서버(220)는 메모리에 저장된 뉴럴 네트워크와 관련된 파라미터를 이용하여 언어 모델(226)을 생성할 수 있다. 언어 모델(226)은 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어를 포함할 수 있다. 음성 신호 인식기(223)가 획득된 음소 신호를 언어 모델(226)의 입력 레이어에 입력하는 경우, 언어 모델(226)은 획득된 음소 신호에 기초하여 음성 신호에 포함된 단어 또는 문장을 출력할 수 있다.
보다 구체적으로, 음성 신호 인식기(223)는 언어 모델(226)의 출력 레이어로부터 음성 신호에 포함된 단어 또는 문장이 무엇인지를 확률로 나타낸 정보를 획득할 수 있다. 음성 신호 인식기(223)는 획득된 정보로부터 음성 신호에 대응하는 텍스트 신호를 생성할 수 있다. 생성된 텍스트 신호는 음성 신호 인식 컨트롤러(221)를 통해 디바이스(210)로 전송될 수 있다. 디바이스(210)의 음성 신호 인식 컨트롤러(215)는 전송된 텍스트 신호를 이용하여 디바이스(210)를 제어할 수 있다.
앞서 설명한 디바이스(210)의 사용자로부터 획득된 음성 신호를 인식하는 실시예에서, 음성 신호 인식 시스템은 음성 신호를 인식한 결과에 기초하여 개인화 레이어(211), 글로벌 모델(225) 또는 언어 모델(226)을 트레이닝할 수 있다. 특히, 음성 신호 인식 시스템이 음성 신호를 인식한 결과에 기초하여 개인화 레이어(211), 글로벌 모델(225) 또는 언어 모델(226)을 트레이닝하는 것은 음성 신호를 인식하는 동작과 동시에 수행될 수 있다(online learning).
도 2를 참고하면, 음성 신호 인식 서버(220)는 글로벌 모델(225)의 음소 신호에 기초하여 글로벌 모델(225) 또는 디바이스(210)의 개인화 레이어(211)를 학습시킬지 여부를 결정하는 글로벌 모델 학습기(224)를 포함할 수 있다. 글로벌 모델 학습기(224)는 음소 신호 또는 디바이스(210)로 전송되는 텍스트 신호에 기초하여, 음성 신호를 인식한 결과에 대한 신뢰도(confidence)를 계산할 수 있다. 계산된 신뢰도에 따라, 글로벌 모델 학습기(224)는 음성 신호를 인식한 결과를 글로벌 모델(225) 또는 디바이스(210)의 개인화 레이어(211)를 트레이닝하는데 활용할지 여부를 결정할 수 있다. 예를 들어, 신뢰도가 미리 설정된 신뢰도 임계치 이하인 경우, 글로벌 모델 학습기(224)는 음성 신호를 이용하여 글로벌 모델(225) 또는 디바이스(210)의 개인화 레이어(211)를 트레이닝할 수 있다.
글로벌 모델 학습기(224)가 글로벌 모델(225)을 트레이닝하는 경우, 음성 신호는 디바이스(210)의 사용자 및 음성 신호 인식 서버(220)와 연결된 모든 디바이스의 사용자들에 공통되는 발화 특징을 학습하는데 이용될 수 있다. 글로벌 모델 학습기(224)는 역전파(back propagation) 방법 또는 경사 하강법(gradient descent)을 이용하여 글로벌 모델(225)을 트레이닝할 수 있다. 예를 들어, 글로벌 모델 학습기(224)는 음소 신호 또는 디바이스(210)로 전송되는 텍스트 신호에 기초하여, 역전파 방법을 수행하기 위하여 글로벌 모델(225)의 출력 레이어에 입력할 값을 결정할 수 있다. 또 다른 예로, 글로벌 모델 학습기(224)는 음소 신호 또는 디바이스(210)로 전송되는 텍스트 신호에 기초하여 글로벌 모델(225)에 포함된 노드들의 가중치를 변경할 수 있다.
글로벌 모델 학습기(224)는 글로벌 모델(225)을 트레이닝한 결과를 디바이스(210)로 전송할 수 있다. 또는, 디바이스(210)의 개인화 레이어(211)를 트레이닝하는 경우, 글로벌 모델 학습기(224)는 개인화 레이어(211)를 트레이닝하기 위하여 필요한 정보를 디바이스(210)로 전송할 수 있다. 예를 들어, 글로벌 모델 학습기(224)는 글로벌 모델(225)에 역전파 방법을 수행한 결과 또는 경사 하강법을 수행하여 획득된 경사 하강값을, 음성 신호 인식 컨트롤러(221)를 통하여 디바이스(210)로 전송할 수 있다.
디바이스(210)는 개인화 레이어(212)를 트레이닝하는 개인화 레이어 학습기(212)를 포함할 수 있다. 음성 신호 인식 컨트롤러(215)는 개인화 레이어(211)를 트레이닝하기 위하여 필요한 정보를 개인화 레이어 학습기(212)로 전송할 수 있다. 디바이스(210)의 사용자로부터 획득된 음성 신호는, 개인화 레이어(212)를 트레이닝하는데 배타적으로 이용될 수 있다. 따라서, 개인화 레이어(212)에 포함된 노드들의 가중치는 디바이스(210)의 사용자의 발화 특징에 따라 변경될 수 있다.
일실시예에 따르면, 음성 신호 인식 시스템은 디바이스(210)의 사용자로부터 음성 신호를 수집한 다음, 수집된 복수의 음성 신호를 이용하여 개인화 레이어(212)를 트레이닝할 수 있다. 도 2를 참고하면, 디바이스(210)는 사용자의 음성 신호를 수집하는 학습 데이터 수집기(213)를 포함할 수 있다. 학습 데이터 수집기(213)는 디바이스(210)의 사용자의 음성 신호 중에서 개인화 레이어(212)를 트레이닝하는데 사용하기에 적합한 음성 신호를 선택하여 저장할 수 있다. 개인화 레이어(212)를 트레이닝하는데 사용하기에 적합한 음성 신호는 음성 인식이 정확하게 수행되지 않은 문장을 포함할 수 있다.
음성 인식이 정확하게 수행되지 않았는지를 판단하기 위하여, 디바이스(210) 또는 음성 신호 인식 컨트롤러(215)는 음성 인식의 결과를 디바이스(210)의 사용자에게 출력하고, 사용자로부터 피드백을 수신할 수 있다. 음성 신호 인식 시스템이 음성 신호에 포함된 A 문장(예를 들어, "내일 태국(Thailand) 날씨를 알려줘")을 인식하여 생성된 텍스트 신호가 A 문장이 아닌 다른 문장(예를 들어, "내일 대만(Taiwan) 날씨를 알려줘")인 것으로 가정하자. 디바이스(210) 또는 음성 신호 인식 컨트롤러(215)는 텍스트 신호를 이용하여 사용자에게 텍스트 신호와 관련된 동작을 수행하고 있음을 알리는 피드백 인터페이스(예를 들어, "내일 대만(Taiwan) 날씨를 검색할까요")를 출력할 수 있다. 사용자가 피드백 인터페이스를 통해 텍스트 신호가 잘못되었음을 알리는 경우(예를 들어, 사용자가 취소 버튼을 터치하는 경우), 디바이스(210) 또는 음성 신호 인식 컨트롤러(215)는 학습 데이터 수집기(213)로 해당 음성 신호를 수집할 것을 명령할 수 있다.
학습 데이터 수집기(213)는 정확하게 인식되지 않은 음성 신호를 수집하면서, 수집되는 음성 신호에 대응하는 정확한 텍스트 신호를 사용자로부터 수신할 수 있다. 일반적으로, 음성 인식이 정확하게 수행되지 않은 경우, 사용자는 피드백 인터페이스를 통해 텍스트 신호가 잘못되었음을 알리면서, A 문장을 다시 말할 수 있다. 수집된 음성 신호와 유사한 음성 신호가 다시 입력된 경우, 학습 데이터 수집기(213)는 다시 입력된 음성 신호로부터 생성된 텍스트 신호에 대하여 사용자가 어떤 피드백을 전달하는지를 판단할 수 있다. 상술한 가정에서, 사용자가 다시 A 문장을 디바이스(210)를 향해 말하였고, 음성 신호 인식 시스템이 A 문장을 정확히 인식한 것으로 가정하자. 이 경우, 사용자는 피드백 인터페이스를 통해 정확히 인식된 A 문장에 대하여 긍정적인 피드백을 줄 수 있다. 이 경우, 학습 데이터 수집기(213)는 정확하게 인식되지 않은 음성 신호와 사용자가 긍정적인 피드백을 준 텍스트 신호를 매칭하여 저장할 수 있다.
개인화 레이어(211)를 트레이닝하기에 적합한 상황에서, 보다 구체적으로, 디바이스(210)의 사용자가 디바이스(210)를 사용하지 않으면서 음성 신호 인식 서버(220)와 통신하기에 용이한 상황에서, 음성 신호 인식 컨트롤러(215)는 학습 데이터 수집기(213)에서 수집된 음성 신호를 개인화 레이어(211)를 트레이닝하는데 활용할 수 있다. 예를 들어, 음성 신호 인식 컨트롤러(215)는 디바이스(210)가 충전 중이거나, 디바이스(210)가 데스크톱 컴퓨터 등에 연결되었거나, 디바이스(210)의 사용 가능한 자원(예를 들어, 메모리 용량)이 충분히 확보되었거나, 음성 신호 인식 서버(220)와 통신하기 용이한 경우(예를 들어, WiFi AP(Access Point)에 연결된 경우), 음성 신호 인식 컨트롤러(215)는 학습 데이터 수집기(213)에서 수집된 음성 신호를 개인화 레이어(211)에 입력할 수 있다. 음성 신호 인식 컨트롤러(215)는 데이터 프로세서(214)를 통해 수집된 음성 신호를 전처리한 다음, 전처리된 음성 신호를 개인화 레이어(211)에 입력할 수 있다. 음성 신호 인식 컨트롤러(215)는 개인화 레이어(211)의 출력 신호를 음성 신호 인식 서버(220)로 전송하면서, 음성 신호 인식 서버(220)로 개인화 레이어(211)를 트레이닝하는데 필요한 정보를 전달할 것을 요청할 수 있다.
음성 신호 인식 서버(220)는 개인화 레이어(211)의 출력 신호를 글로벌 모델(225)에 입력하여 음성 신호를 인식할 수 있으며, 음성 신호를 인식한 결과에 기초하여 개인화 레이어(211)를 트레이닝하는데 필요한 정보를 생성할 수 있다. 상기 정보는 개인화 레이어(211)에 포함된 노드의 가중치를 변경하는데 필요한 정보(예를 들어, 역전파 방법을 수행하는데 필요한 값 또는 경사 하강값)를 포함할 수 있다. 생성된 정보는 디바이스(210), 보다 구체적으로, 개인화 레이어 학습기(212)가 개인화 레이어(211)를 트레이닝하는데 이용될 수 있다.
상술한 바와 같이, 음성 신호 인식 시스템의 사용자들에게 분산된 디바이스(210)가 디바이스(210)의 사용자의 발화 특징에 따라 트레이닝된 개인화 레이어(211)를 저장함으로써, 음성 신호 인식 서버(220)는 모든 사용자의 개인화 레이어(211)를 저장하지 않으면서, 사용자 각각의 발화 특징을 고려하여 음성 신호를 인식할 수 있다. 이로써 음성 신호 인식 시스템은 개인화 레이어(211)를 저장하기 위해 필요한 비용을 절감하면서, 정확한 음성 인식 서비스를 제공할 수 있다. 더 나아가서, 음성 신호 인식 서버(220)가 사용자 각각의 개인적인 발화 특징을 알 수 없기 때문에(예를 들어, 글로벌 모델(225) 또는 언어 모델(226)이 사용자 각각의 발화 특징을 고려하여 트레이닝 되지 않고, 사용자에 공통된 발화 특징만을 학습함), 음성 신호 인식 시스템은 사생활 보호를 달성하면서 정확한 음성 인식 서비스를 제공할 수 있다.
도 3은 일실시예에 따른 음성 신호 인식 시스템이 음성 신호를 인식하기 위해 사용하는 뉴럴 네트워크 기반의 모델을 도시한 도면이다. 도 3을 참고하면, 음성 신호 인식 시스템은 사용자 각각의 발화 특징을 학습하는 개인화 레이어(310) 및 복수의 사용자에 공통되는 발화 특징을 학습하는 음향 모델(320)을 이용하여 음성 신호를 인식할 수 있다. 개인화 레이어(310) 및 음향 모델(320)은 뉴럴 네트워크에 기초한 모델일 수 있다. 개인화 레이어(310)는 입력 레이어(311), 하나 이상의 히든 레이어(312) 및 출력 레이어(313)를 포함할 수 있다. 음향 모델(320) 또한 입력 레이어(321), 하나 이상의 히든 레이어(312) 및 출력 레이어(313)를 포함할 수 있다. 음성 신호 인식 시스템은 개인화 레이어(310) 및 음향 모델(320) 각각을 사용자의 디바이스 및 음성 신호 인식 서버에 저장할 수 있다. 개인화 레이어(310)는 사용자의 디바이스에 저장되어, 사용자에게 고유한 발화 특징을 학습할 수 있다. 음향 모델(320)은 음성 신호 인식 서버에 연결된 모든 사용자에게 공통되는 발화 특징을 학습할 수 있다.
개인화 레이어(310) 및 음향 모델(320)의 각 레이어는 이전 레이어 또는 음성 신호를 분류하는 분류 노드 또는 필터를 포함할 수 있다. 특정한 레이어의 분류 노드 또는 필터는 인접한 레이어의 분류 노드 또는 필터와 연결선으로 연결될 수 있다. 연결선은 연결 가중치를 가질 수 있다. 디바이스가 수신한 사용자의 음성 신호는 개인화 레이어(310)의 입력 레이어(311)로 입력될 수 있다. 입력 레이어(311) 에서 출력 레이어(313)로 향하는 전방 연산(forward computation)이 입력 레이어(311)로 입력된 음성 신호에 대하여 수행될 수 있다. 출력 레이어(313)는 개인화 레이어(310)에서 음성 신호에 대하여 전방 연산을 수행한 결과 값을 출력할 수 있다.
출력 레이어(313)가 출력한 값은 출력 신호로써, 음성 신호 인식 서버의 음향 모델(320)로 전송될 수 있다. 출력 신호는 음향 모델(320)의 입력 레이어(321)에 입력될 수 있다. 음향 모델(320)은 출력 신호에 대하여 전방 연산을 수행할 수 있으며, 출력 레이어(324)는 출력 신호에 대하여 전방 연산을 수행한 결과 값을 출력할 수 있다. 음성 신호 인식 서버는 출력 레이어(324)에서 출력되는 결과값에 기초하여 음성 신호에 대응하는 음소 신호로써 음소 확률 벡터를 결정할 수 있다. 음소 확률 벡터는 언어 모델에 입력되어 음성 신호에 대응하는 텍스트 신호를 생성하는데 활용될 수 있다.
음성 신호를 생성한 사용자에게 음성 인식 서비스를 제공하기 위하여, 생성된 텍스트 신호는 개인화 레이어(310)가 저장된 디바이스 또는 음성 신호 인식 서버를 제어하는 제어 신호를 생성하는데 이용될 수 있다. 디바이스는 생성된 제어 신호를 실행하기 전에, 사용자에게 제어 신호를 확정할 것을 요청할 수 있다. 사용자가 제어 신호를 실행하지 말 것을 명령하는 경우, 디바이스는 음성 신호를 개인화 레이어(310)의 트레이닝에 사용하기 위하여 저장할 수 있다.
도 4는 일실시예에 따른 음성 신호 인식 시스템의 디바이스(410) 및 음성 신호 인식 서버(420)가 음성 신호를 인식하는 동작을 설명하기 위한 흐름도이다.
도 4를 참고하면, 단계(411)에서, 디바이스(410)는 사용자로부터 음성 신호를 수신할 수 있다. 음성 신호는 사용자가 디바이스(410) 또는 음성 신호 인식 서비스를 통해 수행하고자 하는 동작을 말할 때에 발생된 음파에 대한 정보가 포함될 수 있다.
단계(412)에서, 디바이스(410)는 수신된 음성 신호를 개인화 레이어에 입력하여, 음성 신호에 대응하는 개인화 레이어의 출력 신호를 획득할 수 있다. 디바이스(410)는 개인화 레이어를 구성하는데 필요한 설정값을 메모리에 저장할 수 있다. 디바이스(410)는 저장된 설정값에 기초하여, 개인화 레이어, 즉, 사용자의 발화 특징에 따라 학습된 뉴럴 네트워크를 시뮬레이션할 수 있다. 디바이스(410)는 음성 신호 또는 음성 신호를 전처리하여 얻은 정보를 개인화 레이어의 입력 레이어에 입력할 수 있다. 디바이스(410)는 개인화 레이어의 출력 레이어의 값을 탐지하여, 음성 신호에 대응하는 출력 신호를 획득할 수 있다. 디바이스(410)는 획득된 출력 신호를 음성 신호 인식 서버(420)로 전송할 수 있다.
단계(421)에서, 음성 신호 인식 서버(420)는 디바이스(410)로부터 전송된 출력 신호를 글로벌 모델에 입력하여, 글로벌 모델로부터 음성 신호에 대응하는 음소 신호를 획득할 수 있다. 글로벌 모델은 복수의 사용자에 공통되는 발화 특징을 학습한 모델로써, 출력 신호에 대응하여 음성 신호에 포함된 음소가 무엇인지를 확률로 나타낸 음소 신호를 생성할 수 있다. 음성 신호 인식 서버(420)는 글로벌 모델의 출력 레이어의 값으로부터, 음소 신호를 획득할 수 있다.
단계(422)에서, 음성 신호 인식 서버(420)는 획득된 음소 신호로부터 음성 신호에 대응하는 텍스트 신호를 생성할 수 있다. 음성 신호 인식 서버(420)는 음소 신호를 언어 모델에 입력하여, 음성 신호에 포함된 문장 또는 단어를 식별할 수 있다. 텍스트 신호는 음성 신호에 포함된 문장 또는 단어를 식별한 결과를 포함할 수 있다. 음성 신호 인식 서버(420)는 텍스트 신호를 디바이스(410)로 전송할 수 있다.
단계(413)에서, 디바이스(410)는 텍스트 신호에 대응하는 동작을 수행할 수 있다. 바꾸어 말하면, 디바이스(410)는 사용자가 디바이스(410)로 전한 말에 대응하는 동작을 수행할 수 있다. 보다 구체적으로, 디바이스(410)는 텍스트 신호로부터 디바이스(410)를 제어하는 제어 신호를 생성할 수 있다. 다른 실시예에 따르면, 제어 신호는 음성 신호 인식 서버(420)에 의해 생성될 수 있다. 디바이스(410)는 제어 신호가 사용자의 말과 호응하는지를 확인하는 인터페이스를 사용자에게 출력할 수 있다. 사용자가 제어 신호가 사용자의 말과 호응하는 것으로 확인하는 경우, 디바이스(410)는 제어 신호에 따라 동작하는 것을 시작할 수 있다. 사용자가 제어 신호가 사용자의 말과 호응하는 것으로 확인하지 않는 경우, 디바이스(410)는 제어 신호에 따라 동작하는 것을 중단하고, 음성 신호를 개인화 레이어의 트레이닝을 위해 저장할 수 있다.
도 5는 일실시예에 따른 음성 신호 인식 시스템의 디바이스(510) 및 음성 신호 인식 서버(520)가 개인화 레이어를 학습하는 동작을 설명하기 위한 흐름도이다.
도 5를 참고하면, 단계(511)에서, 디바이스(510)는 개인화 레이어를 학습할지 여부를, 디바이스(510) 또는 음성 신호 인식 서버(520)의 상태를 고려하여 결정할 수 있다. 디바이스(510)가 고려하는 디바이스(510) 또는 음성 신호 인식 서버(520)의 상태는, 디바이스(510) 및 음성 신호 인식 서버(520) 간의 네트워크 연결 상태, 디바이스(510)의 메모리 용량 등을 포함할 수 있다. 디바이스(510)에서 음성 신호 인식 서버(520)로 개인화 레이어의 출력 신호를 송신하고, 음성 신호 인식 서버(520)에서 디바이스(510)로 개인화 레이어를 학습시키기 위한 정보를 수신하는 것이 용이한지 여부에 따라, 디바이스(510)는 개인화 레이어를 학습할지 여부를 결정할 수 있다.
디바이스(510)가 개인화 레이어를 학습하는 것으로 결정한 경우, 단계(512)에서, 디바이스(510)는 개인화 레이어를 학습하기 위하여 수집한 음성 신호를 개인화 레이어로 입력하여, 수집한 음성 신호에 대응하는 개인화 레이어의 출력 신호를 획득할 수 있다. 디바이스(510)는 획득된 출력 신호를 음성 신호 인식 서버(520)로 전송할 수 있다.
단계(521)에서, 음성 신호 인식 서버(520)는 디바이스(510)로부터 제공된 출력 신호를 글로벌 모델에 입력할 수 있다. 글로벌 모델은 출력 신호로부터 음성 신호에 포함된 음소를 식별한 결과를 포함하는 음소 신호를 출력할 수 있다. 앞서 설명한 바와 같이, 음소 신호는 미리 설정된 음소 및 음성 신호에 포함된 음소가 대응하는 정도를 확률로 나타낸 음소 확률 벡터를 포함할 수 있다.
단계(522)에서, 음성 신호 인식 서버(520)는 음소 신호 또는 음소 신호로부터 음성 신호를 인식한 결과에 기초하여, 개인화 레이어의 학습에 필요한 정보를 생성할 수 있다. 개인화 레이어의 학습에 필요한 정보는 개인화 레이어의 가중치를 변경하는데 사용되는 경사 하강값을 포함할 수 있다. 음성 신호 인식 서버(520)는 음성 신호의 인식에 대한 정확도를 계산한 다음, 계산된 정확도에 기초하여 개인화 레이어를 학습해야 할지 여부를 결정할 수 있다. 개인화 레이어의 학습에 필요한 정보는 개인화 레이어를 학습하는 것으로 결정된 경우에만 생성될 수 있다. 개인화 레이어의 학습에 필요한 정보는 수집된 음성 신호로부터 추출된 디바이스(510)의 사용자의 발화 특징과 관련된 정보를 포함할 수 있다. 음성 신호 인식 서버(520)는 개인화 레이어의 학습에 필요한 정보를 디바이스(510)로 전송할 수 있다.
단계(513)에서, 디바이스(510)는 수신한 개인화 레이어의 학습에 필요한 정보에 기초하여 개인화 레이어를 학습시킬 수 있다. 예를 들어, 디바이스(510)는 수신된 정보에 포함된 경사 하강값에 기초하여 개인화 레이어에 포함된 노드들 사이의 가중치를 변경할 수 있다. 따라서, 디바이스(510)는 수집한 음성 신호를 이용하여 개인화 레이어를 재학습하거나, 추가학습 하거나, 미세 조정(fine tuning)할 수 있다.
이상과 같이 사용자의 개인적인 발화 특징을 학습하는 개인화 레이어가 디바이스(510)에 저장되어 음성 신호 인식 서버(520) 등의 외부 디바이스로 출력되지 않는 일실시예가 설명되었다. 다른 실시예에 따르면, 디바이스(510)에 저장된 개인화 레이어가 음성 신호 인식 서버(520)로 전송됨으로써, 음성 신호 인식 서버(520)에서 개인화 레이어 및 글로벌 모델이 결합될 수 있다. 또 다른 실시예에 따르면, 디바이스(510)가 음성 신호 인식 서버(520)로부터 글로벌 모델을 수신함으로써, 디바이스(510)에서 개인화 레이어 및 글로벌 모델이 결합될 수 있다.
도 6은 제2 실시예에 따른 음성 신호 인식 시스템의 디바이스(610) 및 음성 신호 인식 서버(620)의 구조를 설명하기 위한 블록도이다.
도 6을 참고하면, 디바이스(610)는 사용자의 음성 신호를 인식하기 위하여, 디바이스(610)의 구성 요소를 제어하는 음성 신호 인식 컨트롤러(613)를 포함할 수 있다. 사용자가 디바이스(610)에 말을 함으로써 디바이스(610)를 제어하기 위하여, 사용자는 디바이스(610)에 포함된 음성 인식 버튼을 누르거나 또는 음성 인식 애플리케이션을 실행할 수 있다. 음성 신호 인식 컨트롤러(613)는 사용자의 동작에 대응하여, 음성 신호를 입력할 준비가 되었음을 나타내는 인터페이스를 사용자에게 출력할 수 있다. 사용자는 출력되는 인터페이스에 대응하여, 디바이스(610)를 통해 수행하고자 하는 기능 또는 디바이스(610)로부터 얻고자 하는 데이터가 무엇인지를 말할 수 있다. 사용자의 말은 디바이스(610)에 의해 음성 신호로 변환되어 인식될 수 있다.
도 6을 참고하면, 디바이스(610)는 메모리에 저장된 뉴럴 네트워크와 관련된 파라미터를 이용하여 디바이스(610)의 사용자의 발화 특징을 학습하는 개인화 레이어(611)를 생성할 수 있다. 음성 신호 인식 시스템에서 디바이스(610) 별로 사용자가 다른 점을 고려하여, 개인화 레이어(611)는 디바이스(610) 별로 저장되며, 대응하는 사용자의 발화 특징을 학습할 수 있다. 따라서, 음성 신호 인식 시스템은 개인화 레이어(611)를 이용하여, 음성 인식 성능이 개인 별로 달라지는 것을 방지할 수 있다. 사용자가 디바이스(610)의 음성 인식 기능을 실행하는 경우, 음성 인식 컨트롤러(613)는 개인화 레이어(611)를 음성 신호 인식 서버(620)로 전송할 수 있다. 개인화 레이어(611)가 음성 신호 인식 서버(620)로 전송되는 시점은 음성 신호 인식 컨트롤러(613)의 설정에 따라 달라질 수 있다. 더 나아가서, 음성 인식 컨트롤러(613)는 사용자의 음성 신호를 음성 신호 인식 서버(620)로 전송할 수 있다.
도 6을 참고하면, 음성 신호 인식 서버(620)는 사용자의 음성 신호를 인식하기 위하여, 음성 신호 인식 서버(620)의 구성 요소를 제어하는 음성 신호 인식 컨트롤러(621)를 포함할 수 있다. 음성 신호 인식 컨트롤러(621)는 디바이스(610)로부터 개인화 레이어(611) 및 음성 신호를 수신할 수 있다. 음성 신호 인식 컨트롤러(621)는 수신한 개인화 레이어(611)를 레이어 결합기(622)로 전달할 수 있다.
음성 신호 인식 서버(620)는 수신한 개인화 레이어(611)를 글로벌 모델(625)에 결합하여, 디바이스(610)의 사용자의 음성 신호로부터 음소 신호를 출력하는 음향 모델을 생성하는 레이어 결합기(622)를 포함할 수 있다. 개인화 레이어(611)는 글로벌 모델(625)에 포함된 입력 레이어, 하나 이상의 히든 레이어 또는 출력 레이어 사이에 삽입됨으로써, 글로벌 모델(625)에 결합될 수 있다. 바꾸어 말하면, 레이어 결합기(622)는 개인화 레이어(611)를 이용하여 글로벌 모델(625)을 증가시킬(augment) 수 있다. 개인화 레이어(611)가 글로벌 모델(625)에 결합되는 위치는 음향 모델의 특징 또는 음성 신호의 특징에 따라 변경될 수 있다.
음성 신호 인식 서버(620)는 개인화 레이어(611)를 이용하여 증가된 글로벌 모델(625)에 기초하여, 수신한 음성 신호를 인식하는 음성 신호 인식기(623)를 포함할 수 있다. 음성 신호 인식 컨트롤러(621)는 수신한 음성 신호를 음성 신호 인식기(623)로 전달할 수 있다. 음성 신호 인식기(623)는 음성 신호를 증가된 글로벌 모델(625)의 입력 레이어에 입력할 수 있다. 음성 신호 인식기(623)는 증가된 글로벌 모델(625)의 출력 레이어로부터, 음성 신호에 대응하는 음소 신호를 획득할 수 있다. 음성 신호 인식기(623)는 획득된 음소 신호를 언어 모델(626)에 입력하여, 음성 신호에 대응하는 텍스트 신호를 획득할 수 있다. 음성 신호 인식기(623)는 획득된 텍스트 신호를 음성 신호 인식 컨트롤러(621)로 전달할 수 있다. 음성 신호 인식 컨트롤러(621)는 텍스트 신호를 디바이스(610), 보다 구체적으로, 디바이스(610)의 음성 신호 인식 컨트롤러(613)로 전송할 수 있다.
음성 신호 인식 서버(620)는 개인화 레이어(611)를 이용하여 증가된 글로벌 모델(625)을 수신한 음성 신호에 기초하여 학습시키는 음향 모델 학습기(624)를 포함할 수 있다. 앞서 설명한 디바이스(610)의 음성 신호를 인식하는 동안, 음향 모델 학습기(624)는 수신한 음성 신호를 증가된 글로벌 모델(625)의 학습에 이용할지 여부를 결정할 수 있다. 수신한 음성 신호를 증가된 글로벌 모델(625)의 학습에 이용하는 경우, 음향 모델 학습기(624)는 수신한 음성 신호를 인식한 결과에 기초하여 증가된 글로벌 모델(625)의 가중치를 변경할 수 있다. 음향 모델 학습기(624)는 가중치가 변경된 글로벌 모델(625)에 포함된 개인화 레이어를 음성 신호 인식 컨트롤러(621)로 전달할 수 있다. 음성 신호 인식 컨트롤러(621)는 전달된 개인화 레이어를 디바이스(610)로 전송할 수 있다. 따라서, 음향 모델 학습기(624)는 디바이스(610)의 사용자의 음성 신호에 기초하여, 개인화 레이어(611)를 학습시킬 수 있다. 학습된 개인화 레이어(611)는 이후 입력되는 디바이스(610)의 사용자의 음성 신호를 인식하는데 활용될 수 있다.
상술한 음성 신호를 개인화 레이어(611)의 학습에 실시간으로 활용하는 경우 외에도, 음성 신호 인식 시스템은 일정 기간 동안 수집된 음성 신호를 이용하여 개인화 레이어(611)를 학습시킬 수 있다. 도 6을 참고하면, 디바이스(610)는 사용자의 음성 신호 및 음성 신호에 대응하는 텍스트 신호를 학습 데이터로써 수집하는 학습 데이터 수집기(612)를 포함할 수 있다. 학습 데이터 수집기(612)는 음성 인식이 정확하게 되지 않은 음성 신호(예를 들어, 반복적으로 입력된 음성 신호)를 수집할 수 있다.
음성 신호 인식 컨트롤러(613)는 개인화 레이어(611)를 학습할지 여부를, 디바이스(610) 또는 음성 신호 인식 서버(620)의 상태를 고려하여 결정할 수 있다. 예를 들어, 사용자가 디바이스(610)를 자주 사용하지 않는 시간대에서(예를 들어, 사용자가 취침하는 시간대), 음성 신호 인식 컨트롤러(613)는 개인화 레이어(611)를 학습하는 것으로 결정할 수 있다. 개인화 레이어(611)를 학습하는 것으로 결정하는 경우, 음성 신호 인식 컨트롤러(613)는 개인화 레이어(611) 및 학습 데이터 수집기(612)에 의해 수집된 음성 신호를 음성 신호 인식 서버(620)로 전송할 수 있다. 개인화 레이어(611) 및 학습 데이터 수집기(612)에 의해 수집된 음성 신호를 전송하면서, 음성 신호 인식 컨트롤러(613)는 음성 신호 인식 서버(620)로 개인화 레이어(611)의 학습을 요청할 수 있다.
디바이스(610)로부터 개인화 레이어(611)의 학습에 대한 요청을 수신하는 경우, 음성 신호 인식 컨트롤러(621)는 음성 신호 인식 서버(620)의 상태(예를 들어, 음성 신호 인식 서버(620)의 메모리 및 스토리지의 용량 등)에 기초하여, 개인화 레이어(611)의 학습을 수행할지 여부를 결정할 수 있다. 개인화 레이어(611)의 학습을 수행하는 것으로 결정한 경우, 음성 신호 인식 컨트롤러(621)는 수신한 개인화 레이어(611) 및 음성 신호를 음향 모델 학습기(624)로 전달할 수 있다.
음향 모델 학습기(624)는 수집된 음성 신호에 기초하여 개인화 레이어(611)를 재학습하거나, 추가학습 하거나, 미세 조정(fine tuning)할 수 있다. 즉, 서로 다른 디바이스에 포함된 개인화 레이어(611)는 대응하는 사용자별로 수집된 서로 다른 음성 신호에 의해 학습될 수 있다. 따라서, 서로 다른 디바이스에 포함된 개인화 레이어(611)는 대응하는 사용자에 고유한 발화 특징(예를 들어, 사용자에게 고유한 방언, 어조, 음색 등)을 학습할 수 있다. 음향 모델 학습기(624)는 변경된 개인화 레이어(611)의 신뢰도에 기초하여, 개인화 레이어(611)를 디바이스(610)로 전송할지 여부를 결정할 수 있다. 개인화 레이어(611)를 디바이스(610)로 전송하는 경우, 변경된 개인화 레이어(611)는 디바이스(610)에 저장되어, 이후 입력되는 디바이스(610)의 사용자의 음성 신호를 인식하는데 활용될 수 있다.
이상 디바이스(610)의 개인화 레이어(611)를 음성 신호 인식 서버(620)로 전송하여 음성 인식을 수행하고, 사용자별 발화 특징을 학습하는 실시예를 설명하였다. 또 다른 실시예에 따르면, 디바이스(610)가 글로벌 모델(625)을 수신함으로써, 디바이스(610)에서 발화 특징의 학습이 수행될 수 있다.
도 7은 제3 실시예에 따른 음성 신호 인식 시스템의 디바이스(710) 및 음성 신호 인식 서버(720)의 구조를 설명하기 위한 블록도이다. 도 7에 도시된 구성 요소 중에서 앞서 설명한 내용과 중복되는 내용은 그 설명을 생략한다.
도 7의 음성 신호 인식 시스템에서 음성 신호가 인식되는 동작은 도 2에서 설명한 바와 유사하게 수행될 수 있다. 예를 들어, 디바이스(710)의 사용자로부터 획득된 음성 신호는 데이터 프로세서(714)에 의해 전처리된 다음 개인화 레이어(711)로 입력될 수 있다. 개인화 레이어(711)의 출력 신호는 데이터 결합기(722)에 의해 글로벌 모델(724)로 입력될 수 있다. 음성 신호 인식기(723)는 글로벌 모델(724) 및 언어 모델(725)을 이용하여 음성 신호에 대응하는 텍스트 신호를 생성할 수 있다.
음성 신호 인식 컨트롤러(715)는 개인화 레이어(711)의 학습을 위하여, 글로벌 모델(724)을 음성 신호 인식 서버(720)로부터 획득할 수 있다. 음성 신호 인식 컨트롤러(715)는 디바이스(710) 및 컴퓨터 간의 연결 여부, 디바이스(710)의 메모리 용량 및 디바이스(710)의 네트워크 연결 상태(예를 들어, WiFi 작동 여부 등) 중 적어도 하나를 고려하여, 개인화 레이어(711)를 학습할지 여부를 결정할 수 있다. 개인화 레이어(711)를 학습하기로 결정한 경우, 음성 신호 인식 컨트롤러(715)는 음성 신호 인식 서버(720)로 글로벌 모델(724)의 전송을 요청할 수 있다.
음성 신호 인식 컨트롤러(721)는 글로벌 모델(724)의 전송 요청에 대응하여, 글로벌 모델(724)을 디바이스(710)로 전송할 수 있다. 음성 신호 인식 컨트롤러(715)는 수신한 글로벌 모델(724)을 개인화 레이어 학습기(721)로 전달할 수 있다. 개인화 레이어 학습기(721)는 글로벌 모델(724) 및 개인화 레이어(711)를 결합하여, 사용자의 음성 신호로부터 음소 신호를 출력하는 음향 모델을 생성할 수 있다. 개인화 레이어(711)가 글로벌 모델(724)에 결합되는 위치는 음향 모델의 특징 또는 음성 신호의 특징에 따라 변경될 수 있다. 개인화 레이어 학습기(721)는 학습 데이터 수집기(713)에 의해 수집된 디바이스(710)의 사용자의 음성 신호를 음향 모델의 학습에 이용할 수 있다. 개인화 레이어 학습기(721)는 음향 모델을 수집된 음성 신호에 기초하여 트레이닝할 수 있고, 음향 모델을 트레이닝한 결과로부터 사용자의 발화 특징을 학습한 개인화 레이어(711)를 획득할 수 있다.
요약하면, 음성 신호 인식 시스템을 이용하는 사용자들의 서로 다른 발화 특징(예를 들어, 방언, 어조, 음색 등)으로 인하여, 음성 인식 성능이 사용자별로 달라질 수 있다. 일실시예에 따른 음성 신호 인식 시스템은 디바이스(710) 별로 저장되고, 디바이스(710)의 사용자의 발화 특징을 학습하는 개인화 레이어(711)를 이용하여 사용자들 간의 음성 인식 성능의 차이를 최소화할 수 있다. 개인화 레이어(711)가 디바이스(710)들이 연결된 음성 신호 인식 서버(720)에 저장되지 않으므로, 음성 신호 인식 시스템을 사용하는 복수의 사용자 각각에 대응하는 개인화 레이어(711)를 생성 및 저장하는데 소비되는 비용이 절감될 수 있다.
개인화 레이어(711)를 이용하여 음성 신호를 인식할 때에, 디바이스(710)는 개인화 레이어(711) 및 음성 신호를 음성 신호 인식 서버(720)로 전송하거나, 개인화 레이어(711)에 음성 신호를 입력함으로써 획득한 출력 신호만을 음성 신호 인식 서버(720)로 전송할 수 있다. 특히, 개인화 레이어(711)의 출력 신호만을 음성 신호 인식 서버(720)로 전송하는 경우, 디바이스(710)의 사용자에 고유한 발화 특징이 외부 디바이스(예를 들어, 음성 신호 인식 서버(720))로 유출되지 않을 수 있다.
개인화 레이어(711)를 사용자의 발화 특징에 기초하여 트레이닝할 때에, 디바이스(710)는 개인화 레이어(711) 및 사용자로부터 수집된 음성 신호를 음성 신호 인식 서버(720)로 전송한 다음, 음성 신호 인식 서버(720)로부터 사용자의 발화 특징이 학습된 개인화 레이어(711)를 수신할 수 있다. 또는, 디바이스(710)는 음성 신호 인식 서버(720)의 글로벌 모델(724)을 수신한 다음, 개인화 레이어(711)를 글로벌 모델(724)에 결합하여 완성된 음향 모델을 획득할 수 있다. 디바이스(710)는 획득된 음향 모델에 수집된 음성 신호를 학습시킴으로써, 사용자의 발화 특징이 학습된 개인화 레이어(711)를 획득할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
101: 단말1
102: 단말2
103: 음성 인식 스피커
104: 음성 인식 TV
111: 사용자1
112: 사용자2
113: 사용자3
114: 사용자4
121: 개인화 레이어1
122: 개인화 레이어2
123: 개인화 레이어3
124: 개인화 레이어4
130: 음성 신호 인식 서버
140: 글로벌 모델

Claims (12)

  1. 단말에 저장되어 상기 단말의 사용자의 발화 특징을 학습하는 개인화 레이어에 상기 사용자로부터 제공된 음성 신호를 입력하여, 상기 음성 신호에 대한 상기 개인화 레이어의 출력 신호를 획득하는 단계;
    상기 획득된 출력 신호를 글로벌 모델에 제공하는 단계 - 상기 글로벌 모델은 복수의 사용자에게 공통되는 발화 특징에 기초하여, 상기 출력 신호로부터 상기 음성 신호에 포함된 음소를 표시한 음소 신호를 출력함 -; 및
    상기 글로벌 모델에서 출력된 음소 신호에 기초하여, 상기 개인화 레이어가 상기 단말의 사용자의 발화 특징에 따라 상기 출력 신호를 생성하도록 상기 개인화 레이어를 학습하는 단계
    를 포함하는 음성 신호 학습 방법.
  2. 제1항에 있어서,
    상기 음성 신호는,
    상기 음성 신호에 대응하여 상기 단말을 제어하기 위하여 생성된 제어 신호가 상기 단말을 제어하는데 적용되었는지 여부에 기초하여 상기 개인화 레이어에 입력되는 음성 신호 학습 방법.
  3. 제1항에 있어서,
    상기 글로벌 모델은,
    상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되어, 상기 복수의 사용자의 음성 신호를 텍스트 신호로 변경하는 음성 신호 인식 서버에 저장되는 음성 신호 학습 방법.
  4. 제3항에 있어서,
    상기 획득하는 단계는,
    상기 단말 및 상기 음성 신호 인식 서버의 연결 상태에 기초하여 상기 개인화 레이어에 상기 사용자로부터 제공된 음성 신호를 입력할지 여부를 결정하는 음성 신호 학습 방법.
  5. 제3항에 있어서,
    상기 제공하는 단계는,
    상기 글로벌 모델에 상기 개인화 레이어의 출력 신호를 입력하기 위하여, 상기 출력 신호를 상기 음성 신호 인식 서버로 송신하는 음성 신호 학습 방법.
  6. 단말의 사용자로부터 음성 신호를 수신하는 경우, 상기 단말에 저장된 개인화 레이어에 상기 수신된 음성 신호를 입력하는 단계; 및
    상기 음성 신호가 입력된 상기 개인화 레이어의 출력 신호를 글로벌 모델에 제공하여, 상기 음성 신호에 대응하는 텍스트 신호를 획득하는 단계 - 상기 글로벌 모델은 복수의 사용자의 공통적인 발화 특징에 기초하여 상기 개인화 레이어의 출력 신호로부터 상기 텍스트 신호를 생성하는데 사용되는 음소 신호를 출력함 -;
    를 포함하고,
    상기 개인화 레이어는,
    상기 사용자의 발화 특징이 학습되어, 상기 발화 특징에 따라 상기 음성 신호로부터 상기 출력 신호를 생성하는 음성 신호 인식 방법.
  7. 제6항에 있어서,
    상기 글로벌 모델은,
    상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되어, 상기 복수의 사용자의 음성 신호를 텍스트 신호로 변경하는 음성 신호 인식 서버에 저장되는 음성 신호 인식 방법.
  8. 제6항에 있어서,
    상기 텍스트 신호에 포함된 에러에 기초하여, 상기 음성 신호를 상기 개인화 레이어의 학습에 이용할지 여부를 결정하는 단계
    를 더 포함하는 음성 신호 인식 방법.
  9. 단말에 있어서,
    상기 단말의 사용자의 음성 신호를 수집하는 음성 신호 수집기;
    상기 사용자의 발화 특징을 학습하는 개인화 레이어가 저장된 메모리; 및
    상기 개인화 레이어를 이용하여 상기 사용자의 음성 신호를 처리하는 프로세서
    를 포함하고,
    상기 개인화 레이어는,
    상기 사용자의 음성 신호에 대응하는 텍스트 신호를 획득하기 위하여, 복수의 사용자의 공통적인 발화 특징에 기초하여 상기 개인화 레이어의 출력 신호로부터 상기 음성 신호에 포함된 음소를 표시한 음소 신호를 출력하는 글로벌 모델과 함께 이용되는 단말.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 수집된 음성 신호를 상기 개인화 레이어에 입력하여 획득된 상기 출력 신호를, 상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되고 상기 글로벌 모델을 저장하는 음성 신호 인식 서버로 출력하고,
    상기 음성 신호 인식 서버의 글로벌 모델에서 출력된 음소 신호에 기초하여, 상기 개인화 레이어가 상기 사용자의 발화 특징에 따라 상기 출력 신호를 생성하도록 상기 개인화 레이어를 학습하는 단말.
  11. 제9항에 있어서,
    상기 프로세서는,
    상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되고 상기 글로벌 모델을 저장하는 음성 신호 인식 서버로부터 상기 글로벌 모델을 수신하고,
    상기 개인화 레이어를 상기 글로벌 모델에 결합하여, 상기 음성 신호로부터 상기 음소 신호를 출력하는 음성 신호 인식 모델을 획득하고,
    상기 수집된 음성 신호에 기초하여 상기 획득된 음성 신호 인식 모델을 학습함으로써, 상기 사용자의 발화 특징이 학습된 개인화 레이어를 획득하는 단말.
  12. 제9항에 있어서,
    상기 프로세서는,
    상기 단말 및 상기 복수의 사용자 각각의 단말에 연결되고 상기 글로벌 모델을 저장하는 음성 신호 인식 서버로 상기 개인화 레이어 및 상기 수집된 음성 신호를 전송하고,
    상기 전송된 개인화 레이어 및 음성 신호에 따라 상기 사용자의 발화 특징이 학습된 개인화 레이어를 상기 음성 신호 인식 서버로부터 수신하는 단말.
KR1020170119659A 2017-09-18 2017-09-18 복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템 KR102369416B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170119659A KR102369416B1 (ko) 2017-09-18 2017-09-18 복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템
US15/916,512 US10607597B2 (en) 2017-09-18 2018-03-09 Speech signal recognition system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170119659A KR102369416B1 (ko) 2017-09-18 2017-09-18 복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템

Publications (2)

Publication Number Publication Date
KR20190031785A KR20190031785A (ko) 2019-03-27
KR102369416B1 true KR102369416B1 (ko) 2022-03-03

Family

ID=65720686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170119659A KR102369416B1 (ko) 2017-09-18 2017-09-18 복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템

Country Status (2)

Country Link
US (1) US10607597B2 (ko)
KR (1) KR102369416B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019133732A1 (en) * 2017-12-28 2019-07-04 Knowles Electronics, Llc Content-based audio stream separation
KR20190129580A (ko) * 2018-05-11 2019-11-20 삼성전자주식회사 음성 인식 모델을 개인화하는 방법 및 장치
US20200042825A1 (en) * 2018-08-02 2020-02-06 Veritone, Inc. Neural network orchestration
KR102225984B1 (ko) * 2018-09-03 2021-03-10 엘지전자 주식회사 음성 인식 서비스를 제공하는 서버
US11151986B1 (en) * 2018-09-21 2021-10-19 Amazon Technologies, Inc. Learning how to rewrite user-specific input for natural language understanding
US11188719B1 (en) 2018-10-22 2021-11-30 Wells Fargo Bank, N.A. Predictive text system
US11210565B2 (en) * 2018-11-30 2021-12-28 Microsoft Technology Licensing, Llc Machine learning model with depth processing units
US11170761B2 (en) * 2018-12-04 2021-11-09 Sorenson Ip Holdings, Llc Training of speech recognition systems
US11158307B1 (en) * 2019-03-25 2021-10-26 Amazon Technologies, Inc. Alternate utterance generation
CN110334110A (zh) * 2019-05-28 2019-10-15 平安科技(深圳)有限公司 自然语言分类方法、装置、计算机设备以及存储介质
US11605379B2 (en) * 2019-07-11 2023-03-14 Lg Electronics Inc. Artificial intelligence server
CN110336723A (zh) * 2019-07-23 2019-10-15 珠海格力电器股份有限公司 智能家电的控制方法及装置、智能家电设备
KR102281515B1 (ko) * 2019-07-23 2021-07-26 엘지전자 주식회사 개인화 언어 모델을 이용하여 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법
US11392796B2 (en) * 2019-08-20 2022-07-19 Micron Technology, Inc. Feature dictionary for bandwidth enhancement
CN110930982A (zh) * 2019-10-31 2020-03-27 国家计算机网络与信息安全管理中心 一种多口音声学模型及多口音语音识别方法
CN110992947B (zh) * 2019-11-12 2022-04-22 北京字节跳动网络技术有限公司 一种基于语音的交互方法、装置、介质和电子设备
KR102544531B1 (ko) * 2020-04-27 2023-06-16 한국전자기술연구원 연합 학습 시스템 및 방법
CN113744717A (zh) * 2020-05-15 2021-12-03 阿里巴巴集团控股有限公司 一种语种识别方法及装置
CN115132182B (zh) * 2022-05-24 2024-02-23 腾讯科技(深圳)有限公司 一种数据识别方法、装置、设备及可读存储介质
EP4293662A1 (en) * 2022-06-17 2023-12-20 Samsung Electronics Co., Ltd. Method and system for personalising machine learning models

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170133007A1 (en) 2015-01-26 2017-05-11 William Drewes Method for Substantial Ongoing Cumulative Voice Recognition Error Reduction

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9076448B2 (en) * 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US7643985B2 (en) * 2005-06-27 2010-01-05 Microsoft Corporation Context-sensitive communication and translation methods for enhanced interactions and understanding among speakers of different languages
JP2007286174A (ja) 2006-04-13 2007-11-01 Funai Electric Co Ltd 電子機器
KR101289081B1 (ko) 2009-09-10 2013-07-22 한국전자통신연구원 음성 인터페이스를 이용한 iptv 시스템 및 서비스 방법
JP2011064913A (ja) 2009-09-16 2011-03-31 Ntt Docomo Inc 電話システム、端末装置、音声モデル更新装置、および音声モデル更新方法
US9026444B2 (en) * 2009-09-16 2015-05-05 At&T Intellectual Property I, L.P. System and method for personalization of acoustic models for automatic speech recognition
KR20110071197A (ko) 2009-12-21 2011-06-29 한국전자통신연구원 개인화 인식기 제공 시스템 및 방법
CN102117614B (zh) * 2010-01-05 2013-01-02 索尼爱立信移动通讯有限公司 个性化文本语音合成和个性化语音特征提取
JP6233867B2 (ja) 2012-02-28 2017-11-22 日本電気株式会社 音声認識用辞書登録システム、音声認識システム、音声認識サービスシステム、方法およびプログラム
KR102225404B1 (ko) * 2014-05-23 2021-03-09 삼성전자주식회사 디바이스 정보를 이용하는 음성인식 방법 및 장치
KR102394510B1 (ko) 2014-12-02 2022-05-06 현대모비스 주식회사 차량용 음성 인식 장치 및 방법
KR102450853B1 (ko) * 2015-11-30 2022-10-04 삼성전자주식회사 음성 인식 장치 및 방법
KR102550932B1 (ko) * 2017-12-29 2023-07-04 삼성전자주식회사 음성 인식 모델의 개인화 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170133007A1 (en) 2015-01-26 2017-05-11 William Drewes Method for Substantial Ongoing Cumulative Voice Recognition Error Reduction

Also Published As

Publication number Publication date
KR20190031785A (ko) 2019-03-27
US10607597B2 (en) 2020-03-31
US20190088251A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
KR102369416B1 (ko) 복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템
US20210193176A1 (en) Context-based detection of end-point of utterance
CN110998720B (zh) 话音数据处理方法及支持该方法的电子设备
US9443527B1 (en) Speech recognition capability generation and control
CN107644638B (zh) 语音识别方法、装置、终端和计算机可读存储介质
JP7171532B2 (ja) 音声を認識する装置及び方法、音声認識モデルをトレーニングする装置及び方法
CN110853617B (zh) 一种模型训练的方法、语种识别的方法、装置及设备
KR20190081248A (ko) 음성 인식 모델의 개인화 방법 및 장치
CN112970059B (zh) 用于处理用户话语的电子装置及其控制方法
CN112840396A (zh) 用于处理用户话语的电子装置及其控制方法
US11657800B2 (en) Electronic device with wakeup word determined multi-mode operation
AU2019201441B2 (en) Electronic device for processing user voice input
KR20180012639A (ko) 음성 인식 방법, 음성 인식 장치, 음성 인식 장치를 포함하는 기기, 음성 인식 방법을 수행하기 위한 프로그램을 저장하는 저장 매체, 및 변환 모델을 생성하는 방법
CN111684521A (zh) 用于说话者识别的处理语音信号方法及实现其的电子装置
CN112912955A (zh) 提供基于语音识别的服务的电子装置和系统
US10424292B1 (en) System for recognizing and responding to environmental noises
JP3837061B2 (ja) 音信号認識システムおよび音信号認識方法並びに当該音信号認識システムを用いた対話制御システムおよび対話制御方法
CN109064720B (zh) 位置提示方法、装置、存储介质及电子设备
US20220343921A1 (en) Device for training speaker verification of registered user for speech recognition service and method thereof
US20220301542A1 (en) Electronic device and personalized text-to-speech model generation method of the electronic device
US11670294B2 (en) Method of generating wakeup model and electronic device therefor
KR20210098250A (ko) 전자 장치 및 이의 제어 방법
KR20200058612A (ko) 인공지능 스피커 및 이를 이용한 대화 진행 방법
US20240143920A1 (en) Method and electronic device for processing user utterance based on language model
CN115116442B (zh) 语音交互方法和电子设备

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right