KR20190129580A - 음성 인식 모델을 개인화하는 방법 및 장치 - Google Patents

음성 인식 모델을 개인화하는 방법 및 장치 Download PDF

Info

Publication number
KR20190129580A
KR20190129580A KR1020180054448A KR20180054448A KR20190129580A KR 20190129580 A KR20190129580 A KR 20190129580A KR 1020180054448 A KR1020180054448 A KR 1020180054448A KR 20180054448 A KR20180054448 A KR 20180054448A KR 20190129580 A KR20190129580 A KR 20190129580A
Authority
KR
South Korea
Prior art keywords
speech recognition
recognition model
group
user
language
Prior art date
Application number
KR1020180054448A
Other languages
English (en)
Inventor
권기수
송인철
최영상
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180054448A priority Critical patent/KR20190129580A/ko
Priority to US16/118,807 priority patent/US10957308B2/en
Priority to CN201811106697.5A priority patent/CN110473526A/zh
Priority to EP18197986.5A priority patent/EP3567583B1/en
Priority to JP2019010114A priority patent/JP7365121B2/ja
Publication of KR20190129580A publication Critical patent/KR20190129580A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/005Language recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting

Abstract

음성 인식 모델을 개인화하는 방법 및 장치가 제공된다. 음성 인식 모델을 개인화하는 장치는, 복수의 사용자들 간의 공통된 언어 특성을 나타내는 그룹 스케일 행렬을 음성 인식 모델에 반영함으로써, 음성 인식 모델을 개인화할 수 있다.

Description

음성 인식 모델을 개인화하는 방법 및 장치{DEVICE AND METHOD TO PERSONLIZE VOICE RECOGNITION MODEL}
이하, 음성 인식 모델을 개인화하는 기술이 제공된다.
음성 인식 모델은 음성 인식을 수행하기 위한 모델로서, 음성 인식 모델의 개인화 장치에 입력된 음성 입력을 인식하여 음성 인식 결과를 출력한다. 음성 인식은 음성 입력에 포함된 언어 정보를 음성 입력에 대응되는 텍스트 정보로 변환하는 과정이다. 음성 인식 모델은 음성 입력을 분석하여 음성 입력에 포함된 언어 정보가 어떠한 텍스트 정보를 나타내는지를 추정할 수 있다. 음성 입력은 음성 시퀀스의 형태를 가질 수 있다.
일 실시예에 따른 음성 인식 모델을 개인화하는 방법은, 사용자에 대응하는 언어 그룹(language group) 을 식별하는 단계; 및 음성 인식 모델의 복수의 레이어들 중 적어도 일부 레이어에, 상기 식별된 언어 그룹에 대응하는 그룹 스케일 행렬(group scale matrix)을 적용함으로써 개인화된 음성 인식 모델을 생성하는 단계를 포함할 수 있다.
상기 언어 그룹을 식별하는 단계는, 상기 사용자와 연관된 사용자 입력, 위치 정보, 및 언어 특성 추정 정보 중 적어도 하나에 응답하여, 상기 사용자의 상기 언어 그룹을 식별하는 단계를 포함할 수 있다.
상기 언어 그룹을 식별하는 단계는, 상기 사용자에 대응하는 복수의 언어 그룹들을 식별하는 단계를 포함하고, 상기 개인화된 음성 인식 모델을 생성하는 단계는, 상기 음성 인식 모델의 상기 적어도 일부 레이어에 상기 복수의 언어 그룹들의 각각에 대응하는 그룹 스케일 행렬을 적용하는 단계를 포함할 수 있다.
상기 그룹 스케일 행렬을 적용하는 단계는, 상기 복수의 언어 그룹들의 각각의 계층 순서에 따라 순차적으로 상기 복수의 언어 그룹들의 각각에 대응하는 그룹 스케일 행렬을 상기 적어도 일부 레이어에 적용하는 단계를 포함할 수 있다.
상기 그룹 스케일 행렬을 적용하는 단계는, 상기 복수의 언어 그룹들 중 적어도 일부에 대응하는 그룹 스케일 행렬을 상기 적어도 일부 레이어에 적용하는 단계; 및 상기 복수의 언어 그룹들 중 다른 일부에 대응하는 다른 그룹 스케일 행렬을 다른 레이어에 적용하는 단계를 포함할 수 있다.
상기 개인화된 음성 인식 모델을 생성하는 단계는, 상기 그룹 스케일 행렬과 함께 사용자 스케일 행렬(user scale matrix)을 상기 적어도 일부 레이어에 적용함으로써 상기 개인화된 음성 인식 모델을 생성하는 단계를 포함할 수 있다.
음성 인식 모델을 개인화하는 방법은, 상기 사용자로부터 음성 신호가 획득되는 경우에 응답하여, 상기 개인화된 음성 인식 모델에서 사용자 스케일 행렬을 상기 획득된 음성 신호에 기초하여 트레이닝시키는 단계; 및 상기 사용자 스케일 행렬의 트레이닝 동안 나머지 파라미터를 고정하는 단계를 더 포함할 수 있다.
음성 인식 모델을 개인화하는 방법은, 상기 개인화된 음성 인식 모델 중 상기 그룹 스케일 행렬이 변경되는 경우에 응답하여, 상기 사용자 스케일 행렬을 업데이트하는 단계를 더 포함할 수 있다.
상기 개인화된 음성 인식 모델을 생성하는 단계는, 상기 적어도 일부 레이어에 포함된 노드들의 출력 들에 상기 그룹 스케일 행렬을 적용함으로써, 상기 적어도 일부 레이어에 포함된 노드들의 출력들을 보정하는 단계; 및 상기 보정된 출력들을 다음 레이어로 포워딩(forward)하는 단계를 포함할 수 있다.
상기 언어 그룹을 식별하는 단계는, 현재 사용자가 이전 사용자와 다른 경우에 응답하여, 상기 현재 사용자에 대응하는 언어 그룹을 식별하는 단계를 포함할 수 있다.
상기 현재 사용자에 대응하는 언어 그룹을 식별하는 단계는, 상기 이전 사용자가 속하는 언어 그룹에 복수의 그룹 스케일 행렬들 중 일부 그룹 스케일 행렬을 로딩하는 단계를 포함하고, 상기 개인화된 음성 인식 모델을 생성하는 단계는, 상기 로딩된 일부 그룹 스케일 행렬을 상기 음성 인식 모델에 적용함으로써 개인화된 음성 인식 모델을 생성하는 단계를 포함할 수 있다.
음성 인식 모델을 개인화하는 방법은 상기 개인화된 음성 인식 모델에 기초하여, 상기 사용자의 음성 입력을 인식하는 단계를 더 포함할 수 있다.
음성 인식 모델을 개인화하는 방법은 상기 개인화된 음성 인식 모델이 생성된 이후, 상기 사용자에 대응하는 추가 언어 그룹(additional language group)을 더 식별하는 단계; 및 상기 추가 언어 그룹에 대응하는 그룹 스케일 행렬을 상기 적어도 일부 레이어에 추가적으로 적용함으로써, 상기 개인화된 음성 인식 모델을 업데이트하는 단계를 더 포함할 수 있다.
음성 인식 모델을 개인화하는 방법은 미리 정한 주기 동안 복수의 언어 그룹들 중 대상 언어 그룹(target language group)에 대응하는 복수의 사용자들로부터 트레이닝 데이터를 수집하는 단계; 및 상기 트레이닝 데이터에 기초하여, 상기 대상 언어 그룹에 대응하는 그룹 스케일 행렬을 트레이닝시키는 단계를 더 포함할 수 있다.
상기 그룹 스케일 행렬을 트레이닝시키는 단계는, 상기 대상 언어 그룹에 대응하는 그룹 스케일 행렬보다 상위 계층의 그룹 스케일 행렬도 트레이닝시키는 단계를 포함할 수 있다.
상기 개인화된 음성 인식 모델을 생성하는 단계는, 상기 그룹 스케일 행렬이 적용된 상기 적어도 일부 레이어의 출력들의 각각을 미리 정한 범위(range)로 제한 하는 단계를 포함할 수 있다.
상기 개인화된 음성 인식 모델을 생성하는 단계는, 상기 음성 인식 모델의 상기 복수의 레이어들 중 상기 사용자의 언어에 대해 지정된 레이어에 상기 그룹 스케일 행렬을 적용하는 단계를 포함할 수 있다.
상기 개인화된 음성 인식 모델을 생성하는 단계는, 이전 사용자와 현재 사용자가 동일한 경우에 응답하여, 상기 이전 사용자에 대해 상기 그룹 스케일 행렬이 적용된 레이어에 상기 그룹 스케일 행렬을 적용하는 단계를 포함할 수 있다.
일 실시예에 따른 음성 인식 모델을 개인화하는 장치는, 사용자에 대응하는 언어 그룹을 식별하고, 음성 인식 모델의 복수의 레이어들 중 적어도 일부 레이어에, 상기 식별된 언어 그룹에 대응하는 그룹 스케일 행렬을 적용함으로써 개인화된 음성 인식 모델을 생성하는 프로세서를 포함할 수 있다.
도 1은 일 실시예에 따라 개인화된 음성 인식 시스템의 예시를 설명하는 도면이다.
도 2는 일 실시예에 따른 음성 인식 모델을 설명하는 도면이다.
도 3은 일 실시예에 따른 음성 인식 모델을 개인화하는 방법을 설명하는 흐름도이다.
도 4는 일 실시예에 따라 계층적으로 구성된 언어 그룹을 설명하는 도면이다.
도 5 내지 도 7은 일 실시예에 따라 스케일 행렬이 음성 인식 모델에 적용되는 예시를 설명하는 도면이다.
도 8은 일 실시예에 따른 스케일 행렬의 트레이닝을 설명하는 도면이다.
도 9는 일 실시예에 따른 음성 인식 모델을 개인화하는 장치의 구성에 관한 블록도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수 개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따라 개인화된 음성 인식 시스템의 예시를 설명하는 도면이다.
음성 인식 시스템은 음성 인식 장치 및 음성 인식 서버(130)를 포함할 수 있다.
음성 인식 장치는 주변의 소리를 수집하고, 수집된 주변의 소리로부터 디지털 전기 신호인 음성 신호를 획득하는 장치를 나타낼 수 있다. 예를 들어, 음성 인식 장치는 사람이 말하는 소리(sound)를 주변의 소리로서 수집할 수 있다. 음성 인식 장치는 주변의 소리로부터 해당 장치를 소유하는 사용자의 음성(voice)을 구별할 수 있다.
음성 인식 장치는 개별 사용자에 의해 소유되는 전자 장치일 수 있고, 예를 들어, 스마트폰, 스마트패드, 스마트밴드 등의 웨어러블 디바이스(wearable device), PDA(Personal Digital Assistance), 랩톱 등을 포함할 수 있다. 다른 예를 들어, 음성 인식 장치는 복수의 사용자들(예를 들어, 제3 사용자(113) 및 제4 사용자(114))에 의해 공유되는 전자 장치일 수 있고, 예를 들어, 음성 인식 스피커(103), 음성 인식 TV(104) 등을 포함할 수 있다.
음성 인식 시스템은 사용자의 음성을 인식할 수 있다. 본 명세서에서 음성 인식(voice recognition)은 소리 신호에 포함된 사용자의 음성을 구별하고, 사용자의 음성을 말(language)로 변환하는 동작을 나타낼 수 있다. 예를 들어, 음성 인식은 사용자의 음성을 문자로 변환하는 동작을 나타낼 수 있다.
음성 인식 서버(130)는 음성 신호를 인식하여, 음성 신호에 대응하는 텍스트 데이터를 생성할 수 있다. 음성 인식 서버(130)는 음성 인식 장치로부터 사용자의 음성 신호를 수신할 수 있고, 수신된 음성 신호에 기초하여 음성 신호에 대응하는 텍스트 데이터를 생성할 수 있다. 음성 인식 서버(130)는 음성 신호로부터 변환된 텍스트 데이터를 음성 인식 장치로 전달할 수 있다. 음성 인식 서버(130)에 의해 생성된 텍스트 데이터는 음성 인식 장치의 사용자에게 제공되는 다양한 서비스에 활용될 수 있다.
예를 들어, 도 1에서 제1 단말(101)은 제1 사용자(111)에 의해 개인화된 전자 장치를 나타낼 수 있고, 제2 단말(102)은 제2 사용자(112)에 의해 개인화된 전자 장치를 나타낼 수 있다. 제1 단말(101)은 제1 사용자(111)로부터 제2 사용자(112)에 대응하는 제2 단말(102)로 전화를 걸라는 명령을 지시하는 음성 신호를 수집할 수 있다. 음성 인식 서버(130)는 제1 사용자(111)의 명령을 지시하는 음성 신호를 제1 단말(101)로부터 수신할 수 있다. 음성 인식 서버(130)는 음성 신호로부터 제1 사용자(111)의 명령에 대응하는 텍스트 데이터를 획득할 수 있다. 음성 인식 서버(130)는 획득된 텍스트 데이터를 제1 단말(101)로 전달할 수 있다. 제1 단말(101)은 제1 사용자(111)의 음성으로부터 인식된 텍스트 데이터의 수신에 응답하여, 통화 어플리케이션을 실행하고 제2 사용자(112)에게 전화를 걸도록 통화 어플리케이션을 제어할 수 있다.
다른 예를 들어, 음성 인식 장치는 음성 인식 서버(130)에 의해 인식된 텍스트 데이터를 이용하여 해당 장치의 사용자의 스케쥴을 생성하거나, 텍스트 데이터를 이용하여 웹 서비스의 데이터를 검색하거나, 텍스트 데이터를 이용하여 문자 메시지를 전송하거나, 텍스트 데이터를 이용하여 해당 장치에 저장된 데이터를 검색하는 서비스를 제공할 수 있다.
이하에서는 음성 인식 시스템에서 개별 사용자의 그룹화된 공통의 발화 특징에 대해 개인화 레이어를 트레이닝시키거나, 개인화된 트레이닝을 사용하여 음성 신호를 인식하는 동작을 설명한다.
다만, 음성 인식 장치 및 음성 인식 서버(130)의 동작을 상술한 바로 한정하는 것은 아니다. 음성 인식 장치가 음성 신호를 수집하고, 자체적으로 해당 음성 신호를 인식할 수도 있다.
도 2는 일 실시예에 따른 음성 인식 모델을 설명하는 도면이다.
도 1에서 설명된 음성 인식 시스템은 음성 인식 모델(220)을 이용할 수 있다. 음성 인식 모델(220)은 음성 신호로부터 텍스트 데이터를 출력하도록 설계된 모델을 나타낼 수 있다. 음성 인식 모델(220)은 음향 모델(acoustic model) 및 언어 모델을 포함할 수 있다. 본 명세서에서는 음성 인식 서버가 음성 인식 모델(220)을 저장하고, 음성 인식 서버가 음성 신호로부터 음성 인식 모델(220)에 기초하여 텍스트 데이터를 생성하는 실시예를 설명한다. 예를 들어, 음성 인식 장치가 음성 신호 또는 음성 신호로부터 변환된 특징 데이터를 음성 인식 서버로 전달할 수 있고, 음성 인식 서버는 전달된 정보를 이용하여 음성 인식을 수행할 수 있다. 다만, 이로 한정하는 것은 아니고, 음성 인식 장치가 자체적으로 음성 인식 모델(220)을 저장하고, 저장된 음성 인식 모델(220)을 이용하여 사용자의 음성을 인식할 수도 있다.
음향 모델은 음성 신호로부터 추출된 특징으로부터 음성 신호를 음소(phoneme) 단위로 인식하는 모델을 나타낼 수 있다. 예를 들어, 음성 인식 시스템은, 음향 모델에 의해 획득된 음성 신호를 음소 단위로 인식한 결과에 기초하여, 음성 신호가 나타내는 단어들을 추정할 수 있다.
언어 모델은 단어들 사이의 연결 관계에 기초한 확률 정보를 획득하도록 설계된 모델을 나타낼 수 있다. 언어 모델은 언어 모델에 입력된 단어에 연결될 다음 단어에 대한 확률 정보를 제공할 수 있다. 예를 들어, 언어 모델에 "this"의 단어가 입력되는 경우, 언어 모델은 "this" 다음에 "is" 또는 "was"가 연결될 확률 정보를 제공할 수 있다. 일실시예에 따르면, 음성 인식 시스템은 언어 모델에 의해 제공된 확률 정보에 기초하여 가장 확률이 높은 단어들 간의 연결 관계를 선택하고, 선택 결과를 음성 인식 결과로서 출력할 수 있다.
아래에서는, 음성 인식 모델(220) 중 음향 모델과 연관된 동작을 주로 설명한다. 일 실시예에 따른 음향 모델은 뉴럴 네트워크, 예를 들어, GMM (Gaussian Mixture Model), DNN (Deep Neural Network) 또는 BLSTM (Bidirectional Long Short Term Memory) 등과 같이 다양한 구조로 구현될 수 있다. 음향 모델이 구현될 수 있는 기계학습 구조를 상술한 바로 한정하는 것은 아니고, 하나 이상의 구조가 결합되는 형태로 구현될 수도 있다. 뉴럴 네트워크는 많은 수의 인공 뉴런(이하, 노드)들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 인식 모델을 나타낼 수 있다. 뉴럴 네트워크는 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정(learning process)을 수행할 수 있다.
일 실시예에 따른 뉴럴 네트워크는 복수의 레이어를 포함할 수 있다. 예를 들어, 뉴럴 네트워크는 입력 레이어, 하나 이상의 히든 레이어(221) 및 출력 레이어를 포함할 수 있다. 입력 레이어는 입력 데이터를 수신하여 히든 레이어(221)로 전달할 수 있고, 출력 레이어는 히든 레이어(221)의 노드들로부터 수신된 신호에 기초하여 출력 데이터를 생성할 수 있다.
하나 이상의 히든 레이어(221)가 입력 레이어 및 출력 레이어 사이에 연결될 수 있고, 음성 인식 시스템은 히든 레이어(221)를 통해 입력 데이터를 예측하기 쉬운 값으로 변환할 수 있다. 입력 레이어 및 하나 이상의 히든 레이어(221)에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있고, 히든 레이어(221) 및 출력 레이어에 포함된 노드들도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 뉴럴 네트워크 중에서 복수의 히든 레이어(221)를 포함하는 뉴럴 네트워크를 딥 뉴럴 네트워크(deep neural network)라 한다. 딥 뉴럴 네트워크를 학습 시키는 것을 딥 러닝(deep learning)이라 한다. 뉴럴 네트워크의 노드 중에서, 히든 레이어(221)에 포함된 노드를 가리켜 히든 노드(229)라 한다.
입력 레이어, 하나 이상의 히든 레이어(221) 및 출력 레이어는 복수의 노드들을 포함할 수 있다. 히든 레이어(221)는 CNN(convolutional neural network)에서의 컨볼루션 필터(convolution filter) 또는 완전 연결 레이어(fully connected layer)이거나, 특별한 기능이나 특징을 기준으로 묶인 다양한 종류의 필터 또는 레이어일 수 있다.
음향 모델은, 예를 들어, RNN (recurrent neural network)으로 구현될 수 있다. RNN은 이전 프레임의 히든 레이어(221)의 출력 값이 현재 프레임의 히든 레이어(221)에 다시 입력되는 네트워크를 나타낼 수 있다. RNN은 이전의 출력들이 새로운 출력의 계산 결과에 영향을 줄 수 있다.
일실시예에 따른 음성 인식 시스템은 음성 시퀀스(201)를 복수의 프레임들로 분할하고, 분할된 프레임에 대응하는 발음(utterence)을 예측할 수 있다. 음성 인식 시스템은, 음향 모델을 이용하여 음성 인식을 수행하고, 음향 모델은 입력 레이어, 히든 레이어(221) 및 출력 레이어를 포함할 수 있다. 출력 레이어는 입력 레이어에 입력된 프레임(210)에 대해 예측된 발음 결과(230)를 출력할 수 있다. 예를 들어, 음성 인식 장치 또는 음성 인식 서버는 각 히든 레이어(221)에 이전 히든 레이어에 포함된 이전 히든 노드(229)의 출력들을 연결 가중치를 가지는 연결선들을 통해 입력할 수 있고, 이전 히든 노드(229)의 출력들에 연결 가중치가 적용된 값들 및 활성화 함수에 기초하여 히든 레이어(221)에 포함된 히든 노드(229)의 출력을 생성할 수 있다. 일 예시에 따르면, 다음 히든 노드로 출력을 발화(fire)하기 위하여, 활성화 함수의 결과는 현재 히든 노드의 임계 값을 초과해야 한다. 이 경우, 노드는 입력 벡터들을 통하여 특정 임계 활성화 강도에 도달하기 전에는 다음 노드로 신호를 발화하지 않고, 비활성화 상태를 유지할 수 있다.
출력 레이어는 소프트맥스 레이어(softmax layer)일 수 있다. 일실시예에 따르면, 출력 레이어는 전체 발음들의 수와 동일한 개수의 노드들을 포함할 수 있다. 출력 레이어의 각 노드는 입력된 프레임(210)이 특정 발음일 확률을 나타낼 수 있다.
아래에서는, 음성 인식 모델을 개인화하는 장치의 동작을 설명한다. 본 명세서에서 음성 인식 모델을 개인화하는 장치는 음성 인식 서버 또는 음성 인식 장치일 수 있다.
도 3은 일 실시예에 따른 음성 인식 모델을 개인화하는 방법을 설명하는 흐름도이다.
우선, 단계(310)에서 음성 인식 모델을 개인화하는 장치는 사용자에 대응하는 언어 그룹을 식별할 수 있다. 언어 그룹은, 임의의 언어(language)에 대해 언어 특성에 따라 분류되는 그룹을 나타낼 수 있다. 동일한 언어에 대해서도, 언어 그룹은 민족에 따른 언어 그룹, 지역에 따른 언어 그룹, 및 성별에 따른 언어 그룹 등으로 분류될 수 있다. 예를 들어, 한국어에 대해, 민족에 따른 언어 그룹으로서 한국인(Korean) 그룹 및 외국인 그룹으로 분류될 수 있다. 지역에 따른 언어 그룹으로서, 서울 그룹, 전라도 그룹, 및 경상도 그룹 등으로 분류될 수 있고, 지역에 따른 그룹은 지역의 사투리를 대표할 수 있다. 성별에 따른 언어 그룹은 남성 그룹 및 여성 그룹 등으로 분류될 수 있다. 환경에 따른 언어 그룹은 실내 그룹 및 실외 그룹 등으로 분류될 수 있다. 연령에 따른 언어 그룹은, 사용자의 연령대 별(예를 들어, 10대, 20대 등) 그룹으로 분류될 수 있다. 다만, 상술한 언어 그룹은 단순한 예시로서, 설계에 따라 변경될 수 있다. 또한, 각 언어 그룹은 계층적으로(hierarchically) 분류(classified)될 수 있으며, 언어 그룹의 계층(hierarchical level)은 도 4에서 상세히 설명한다.
그리고 단계(320)에서 음성 인식 모델을 개인화하는 장치는 음향 모델의 복수의 레이어들 중 적어도 일부 레이어에, 식별된 언어 그룹에 대응하는 그룹 스케일 행렬을 적용함으로써 개인화된 음향 모델을 생성할 수 있다.
음향 모델은 트레이닝 데이터에 기초하여 트레이닝된 모델을 나타낼 수 있다. 예를 들어, 트레이닝 데이터는 다양한 사람의 음성 및 그에 대응하는 레이블의 쌍을 포함할 수 있다. 음향 모델은 개인화되기 이전의 모델을 나타낼 수 있다. 음향 모델은 모든 사람에게 나타나는 일반적인 발음 특징이 트레이닝된 글로벌 모델일 수 있고, 사용자 독립 음향 모델이라고 나타낼 수 있다.
개인화된 음향 모델은 스케일 행렬이 적용된 모델을 나타낼 수 있다. 스케일 행렬의 적용은 하기 도 5에서 상세히 설명한다. 스케일 행렬은 언어 그룹의 특성을 나타내는 그룹 스케일 행렬 및 사용자의 특성을 나타내는 사용자 스케일 행렬을 포함할 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는, 사용자가 속하는 언어 그룹에 대응하는 그룹 스케일 행렬을 음성 인식 모델에 적용함으로써, 음성 인식 모델을 개인화할 수 있다. 또한, 음성 인식 모델을 개인화하는 장치는 해당 사용자에 최적화된 사용자 스케일 행렬을 음성 인식 모델에 더 적용함으로써, 음성 인식 모델을 보다 개인화할 수 있다.
일 실시예에 따르면, 음성 인식 모델을 개인화하는 장치는, 현재 사용자가 이전 사용자와 다른 경우에 응답하여, 현재 사용자에 대응하는 언어 그룹을 식별할 수 있다. 예를 들어, 인공지능 스피커 같은 경우 여러 사용자에 의한 음성이 입력될 수 있고, 음성 인식 모델을 개인화하는 장치는 사용자가 변경될 때마다 현재 사용자에 대응하는 언어 그룹을 식별할 수 있다.
또한, 음성 인식 모델을 개인화하는 장치는 이전 사용자가 속하는 언어 그룹에 복수의 그룹 스케일 행렬들 중 일부 그룹 스케일 행렬을 로딩할 수 있다. 음성 인식 모델을 개인화하는 장치는, 로딩된 일부 그룹 스케일 행렬을 음성 인식 모델에 적용함으로써 개인화된 음성 인식 모델을 생성할 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는, 이전 사용자 및 현재 사용자 간에 공통되는 언어 특성에 대응하는 그룹 스케일 벡터만을 로딩하여 이용할 수도 있다.
아울러, 음성 인식 모델을 개인화하는 장치는, 이전 사용자와 현재 사용자가 동일한 경우에 응답하여, 이전 사용자에 대해 그룹 스케일 행렬이 적용된 레이어에 그룹 스케일 행렬을 적용할 수 있다.
일 실시예에 따른 음성 인식 모델을 개인화하는 장치는, 개인화된 음성 인식 모델에 기초하여, 사용자의 음성 입력을 인식할 수 있다.
도 4는 일 실시예에 따라 계층적으로 구성된 언어 그룹을 설명하는 도면이다.
임의의 언어는 복수의 사용자들이 가지는 공통적인 언어 특성에 따라 다양한 언어 그룹으로 분류될 수 있다. 상술한 바와 같이, 언어 그룹은, 민족, 지역, 성별, 및 환경 등과 같은 다양한 기준에 따라 분류될 수 있다. 또한, 각 언어 그룹은 계층을 나타낼 수 있고, 음성 인식 모델을 개인화하는 장치는 언어 그룹을 계층 순서에 따라 적용할 수도 있다.
도 4에 도시된 예시는 계층적으로 구성된 언어 그룹의 예시로서, 최상위 계층인 제1 계층은, 한국인 그룹을 포함할 수 있다. 한국인 그룹에 대응하는 그룹 스케일 행렬은
Figure pat00001
으로 도시된다. 한국인 그룹의 하위 계층인 제2 계층은 지역에 따른 분류로서, 부산 그룹 및 서울 그룹 등을 포함할 수 있다. 부산 그룹에 대응하는 그룹 스케일 행렬은
Figure pat00002
, 서울 그룹에 대응하는 그룹 스케일 행렬은
Figure pat00003
으로 도시된다. 부산 그룹의 하위 계층인 제3 계층은 성별에 따른 분류로서, 여성 그룹 및 남성 그룹 등을 포함할 수 있다. 여성 그룹에 대응하는 그룹 스케일 행렬은
Figure pat00004
, 남성 그룹에 대응하는 그룹 스케일 행렬은
Figure pat00005
으로 도시된다.
최하위 계층인 제4 계층은 개별 사용자에 따라 구별되는 분류를 나타낼 수 있고, 여성 그룹은 예를 들어, 도 4에서는 한국인으로서 부산에 거주하는 여성들 N명(여기서, N은 1이상의 정수)의 각각에 대응하는 사용자 스케일 행렬(예를 들어,
Figure pat00006
내지
Figure pat00007
)을 포함할 수 있다. 남성 그룹은 예를 들어, 한국인으로서 부산에 거주하는 남성들 M명(여기서, M은 1이상의 정수)의 각각에 대응하는 사용자 스케일 행렬(예를 들어,
Figure pat00008
내지
Figure pat00009
)을 포함할 수 있다.
일 실시예에 따른 음성 인식 모델을 개인화하는 장치는 사용자에 대응하는 언어 그룹을 식별할 수 있다. 예를 들어, 임의의 여성 사용자가 한국인으로서 부산에 거주하는 케이스를 가정할 수 있다. 음성 인식 모델을 개인화하는 장치는 도 4에서, 해당 사용자에 대응하는 언어 그룹으로서, 한국인 그룹, 부산 그룹, 및 여성 그룹을 식별할 수 있다. 음성 인식 모델을 개인화하는 장치는 식별된 언어 그룹들 및 해당 사용자에 대응하는 스케일 행렬들(410)(예를 들어,
Figure pat00010
,
Figure pat00011
,
Figure pat00012
, 및
Figure pat00013
)을 결정할 수 있다.
음성 인식 모델을 개인화하는 장치는 사용자와 연관된 사용자 입력, 위치 정보, 및 언어 특성 추정 정보 중 적어도 하나에 응답하여, 사용자의 언어 그룹을 식별할 수 있다.
사용자 입력은, 사용자로부터 획득되는 입력을 나타낼 수 있다. 음성 인식 모델을 개인화하는 장치는 사용자로부터 해당 사용자와 연관된 언어 특성과 연관된 정보의 직접적인 입력을 획득할 수 있다. 도 4의 예시에서, 음성 인식 모델을 개인화하는 장치는 사용자로부터, 사용자가 한국인임을 지시하는 입력, 사용자가 부산에 거주하는 것을 지시하는 입력, 및 사용자가 여성임을 지시하는 입력을 획득할 수 있다.
위치 정보는, 음성 인식 모델을 개인화하는 장치에 의해 수집된, 사용자의 위치를 지시하는 정보를 나타낼 수 있다. 도 4의 예시에서, 위치 정보는 사용자의 위치가 부산임을 지시하는 정보를 나타낼 수 있다.
언어 특성 추정 정보는 음성 인식 모델을 개인화하는 장치에 의해 추정된 사용자의 언어 특성 정보를 나타낼 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 획득된 음성 신호로부터 사용자의 언어 특성을 추정할 수 있고, 추정된 언어 특성에 대응하는 언어 그룹을 식별할 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 획득된 음성 신호로부터 사용자의 사투리에 의해 나타나는 악센트 및 톤 등을 추정할 수 있다.
다른 예를 들면, 음성 인식 모델을 개인화하는 장치는, 영어를 사용하는 영국인으로서 리버풀에 거주하는 30대 이하의 남성에 대한 언어 그룹을 식별할 수 있다. 음성 인식 모델을 개인화하는 장치는 영어에 대한 음향 모델에 있어서, 영국인 그룹, 리버풀 그룹, 30세 이하 그룹, 및 남성 그룹을 식별하여, 해당 언어 그룹들의 각각에 대응하는 그룹 스케일 행렬을 결정할 수 있다. 또 다른 예를 들면, 음성 인식 모델을 개인화하는 장치는 영어에 대한 음향 모델에 있어서, 한국인 그룹 및 남성 그룹 등을 식별할 수도 있다.
음성 인식 모델을 개인화하는 장치는, 아래에서 설명하는 바와 같이, 결정된 스케일 행렬들(예를 들어, 그룹 스케일 행렬 및 사용자 스케일 행렬)을 음성 인식 모델에 적용할 수 있다.
도 5 내지 도 7은 일 실시예에 따라 스케일 행렬이 음성 인식 모델에 적용되는 예시를 설명하는 도면이다.
도 5는 음성 인식 모델(520)로서, 3개의 RNN이 스택(stack)된 구조를 도시한다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 좌측의 RNN에 t시점의 프레임 데이터(511) S1(t)를 입력하고, 중간의 RNN에 t+1시점의 프레임 데이터(512) S1(t+1)를 입력하며, 우측의 RNN에 t+2시점의 프레임 데이터(513) S1(t+2)를 입력할 수 있다.
음성 인식 모델을 개인화하는 장치는 그룹 스케일 행렬(580)을 음성 인식 모델(520)의 레이어(521)에 적용함으로써 개인화된 음성 인식 모델(520)을 생성할 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 적어도 일부 레이어(521)에 포함된 노드들의 출력들에 그룹 스케일 행렬(580)을 적용함으로써, 적어도 일부 레이어(521)에 포함된 노드들의 출력들을 보정할 수 있다. 또한, 음성 인식 모델을 개인화하는 장치는 그룹 스케일 행렬(580)과 함께 사용자 스케일 행렬(user scale matrix)(590)을 적어도 일부 레이어(521)에 적용함으로써 개인화된 음성 인식 모델(520)을 생성할 수 있다. 음성 인식 모델을 개인화하는 장치는 사용자 스케일 행렬(590) 및 그룹 스케일 행렬(580)을 히든 레이어(521)의 히든 노드들의 출력들에 적용함으로써, 해당 노드들의 출력들을 보정할 수 있다.
우선, 보정되기 전의 히든 노드의 출력은 아래 수학식 1과 같이 나타낼 수 있다.
[수학식 1]
Figure pat00014
Figure pat00015
는 i번째 레이어에서 j번째 히든 노드의 출력을 나타낼 수 있다.
Figure pat00016
는 j번째 히든 노드의 활성화 함수를 나타낼 수 있다. x는 히든 노드의 입력으로서, 예를 들어, 이전 레이어의 노드로부터 포워딩된 출력에 대응할 수 있다. 예를 들어, 음성 인식에서는, 1초의 음성이 10ms 단위로 분할될 수 있고, 음성 인식 모델을 개인화하는 장치는 1초의 음성을 100개의 프레임으로 분할할 수 있다. 각 프레임은 벡터로 표현될 수 있고, 도 5에서는 3개의 시점의 프레임 데이터들(511, 512, 513)이 벡터로 표현될 수 있다. i=1인 경우, 1번째 레이어의 히든 노드는 프레임 데이터들(511, 512, 513)을 입력 x로서 수신할 수 있다.
Figure pat00017
는 히든 노드의 입력에 곱해지는 가중치 벡터를 나타낼 수 있다.
Figure pat00018
는 바이어스를 나타낼 수 있다. i 및 j는 1이상의 정수를 나타낼 수 있다. 레이어는 입력으로부터 출력의 순서로 배치될 수 있으며, 예를 들어, 입력 레이어와 가장 가깝게 연결된 히든 레이어는 1번째 레이어일 수 있다.
스케일 행렬이 적용된 히든 노드의 보정된 출력은 아래 수학식 2와 같이 나타낼 수 있다.
[수학식 2]
Figure pat00019
Figure pat00020
는 i번째 레이어에서 j번째 히든 노드에 스케일 행렬이 적용된 출력을 나타낼 수 있다.
Figure pat00021
는 상술한 바와 같이, i번째 레이어에서 j번째 히든 노드의 출력을 나타낼 수 있다.
Figure pat00022
는 L1 언어 그룹의 그룹 스케일 행렬(580)을 나타낼 수 있다.
Figure pat00023
는 요소 연산(elementwise operation)을 나타낼 수 있고, 예를 들어, 행렬 곱을 나타낼 수 있다. f는 스케일 행렬을 레이어의 노드 출력에 적용하는 함수를 나타낼 수 있고, 예를 들어, 보정된 후의 출력 값의 범위가 제한되는 함수일 수 있다. 예를 들어, f는 시그모이드(sigmoid) 함수 및 tanh 함수 등일 수 있다. A는
Figure pat00024
의 출력 범위를 한정하는 상수를 나타낼 수 있다.
따라서, 음성 인식 모델을 개인화하는 장치는 그룹 스케일 행렬(580)이 적용된 적어도 일부 레이어(521)의 출력들의 각각을 미리 정한 범위(range)(예를 들어, 0 내지 2)로 제한할 수 있다.
음성 인식 모델을 개인화하는 장치는 보정된 출력들을 다음 레이어(522)로 포워딩(forward)할 수 있다. 음성 인식 모델을 개인화하는 장치는 노드의 출력을 레이어 단위로 순차적으로 포워딩할 수 있고, 마지막 레이어에서 최종 출력을 생성할 수 있다.
일 실시예에 따른 음성 인식 모델을 개인화하는 장치는, 스케일 행렬을 레이어의 출력에 적용함으로써, 사용자에 개인화된 음성 인식 결과를 생성할 수 있다.
도 6은 복수의 언어 그룹들에 대응하는 그룹 스케일 행렬들이 적용된 예시를 도시한다.
음성 인식 모델을 개인화하는 장치는 사용자에 대응하는 복수의 언어 그룹들을 식별할 수 있다. 음성 인식 모델을 개인화하는 장치는 음성 인식 모델(620)의 적어도 일부 레이어(621)에 복수의 언어 그룹들의 각각에 대응하는 그룹 스케일 행렬을 적용할 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 복수의 언어 그룹들의 각각의 계층 순서에 따라 순차적으로 복수의 언어 그룹들의 각각에 대응하는 그룹 스케일 행렬을 적어도 일부 레이어(621)에 적용할 수 있다.
음성 인식 모델을 개인화하는 장치는 수학식 1 및 수학식 2에 따른 연산을 각 스케일 행렬마다 적용할 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 복수의 언어 그룹들에 대응하는 스케일 행렬들을 아래 수학식 3과 같이 적용할 수 있다.
[수학식 3]
Figure pat00025
상술한 수학식 3에서,
Figure pat00026
는 i번째 레이어에서 j번째 히든 노드에 K개의 스케일 행렬들이 적용된 출력을 나타낼 수 있다.
Figure pat00027
는 i번째 레이어에서 j번째 히든 노드에 K-1개의 스케일 행렬들이 적용된 출력을 나타낼 수 있다. K는 2이상의 정수를 나타낼 수 있다.
Figure pat00028
는 K번째 스케일 행렬을 나타낼 수 있다. fK는 K-1개의 스케일 행렬들이 적용된 출력에 K번째 스케일 행렬을 적용하는 함수를 나타낼 수 있다.
Figure pat00029
는 히든 노드의 보정된 출력의 출력 범위를 한정하는 상수를 나타낼 수 있다. 다만, 복수의 스케일 행렬들의 적용을 상술한 수학식 3으로 한정하는 것은 아니고, 다양한 함수가 적용될 수 있다.
도 6에 도시된 예시에서, 음성 인식 모델을 개인화하는 장치는 도 4에서 상술한 바와 같이 3개의 언어 그룹(예를 들어, 한국인 그룹, 부산 그룹, 및 여성 그룹)을 식별할 수 있다. 음성 인식 모델을 개인화하는 장치는 3개의 그룹 스케일 행렬(681, 682, 683) 및 사용자 스케일 행렬(690)을 레이어(621)에 적용할 수 있다. 도 6에 도시된 예시에서 수학식 3의 K는 4일 수 있다.
음성 인식 모델을 개인화하는 장치는 적어도 일부 레이어(621)에 포함된 노드들의 출력들에 그룹 스케일 행렬을 적용함으로써, 적어도 일부 레이어(621)에 포함된 노드들의 출력들을 보정할 수 있다. 음성 인식 모델을 개인화하는 장치는 보정된 출력들을 다음 레이어(622)로 포워딩(forward)할 수 있다.
도 7은 복수의 언어 그룹들에 대응하는 그룹 스케일 행렬들이 적용된 다른 예시를 도시한다.
음성 인식 모델을 개인화하는 장치는 식별된 언어 그룹에 대응하는 그룹 스케일 행렬(791, 792, 793)을 레이어들(721, 722, 723)의 각각에 적용할 수 있다. 음성 인식 모델을 개인화하는 장치는 사용자 스케일 행렬(781, 782, 783)도 레이어들(721, 722, 723)의 각각에 적용할 수 있다. 각 그룹 스케일 행렬(791, 792, 793)은 동일한 언어 그룹에 대응할 수 있고, 각 사용자 스케일 행렬(781, 782, 783)은 동일한 사용자에 대응할 수 있다.
다른 예를 들어, 음성 인식 모델을 개인화하는 장치는 복수의 언어 그룹들 중 적어도 일부에 대응하는 그룹 스케일 행렬을 적어도 일부 레이어에 적용할 수 있다. 음성 인식 모델을 개인화하는 장치는 복수의 언어 그룹들 중 다른 일부에 대응하는 다른 그룹 스케일 행렬을 다른 레이어에 적용할 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 제1 레이어에 제1 그룹 스케일 행렬 및 제1 사용자 스케일 행렬에 적용할 수 있고, 제2 레이어에 제2 그룹 스케일 행렬 및 제2 사용자 스케일 행렬에 적용할 수 있다.
또 다른 예를 들어, 음성 인식 모델을 개인화하는 장치는 음성 인식 모델의 복수의 레이어들 중 사용자의 언어에 대해 지정된 레이어에 그룹 스케일 행렬을 적용할 수 있다. 예를 들어, 한국어에 대한 음성 인식 모델의 경우, 음성 인식 모델을 개인화하는 장치는 상위 레이어(예를 들어, 출력 레이어에 인접한 레이어)에 스케일 행렬(예를 들어, 그룹 스케일 행렬 및 사용자 스케일 행렬)을 적용할 수 있다. 영어에 대한 음성 인식 모델의 경우, 음성 인식 모델을 개인화하는 장치는 하위 레이어(예를 들어, 입력 레이어에 인접한 레이어)에 스케일 행렬을 적용할 수 있다.
다만, 스케일 행렬의 적용을 상술한 바로 한정하는 것은 아니고, 설계에 따라 다양한 구조로 스케일 행렬이 음성 인식 모델(720)에 적용될 수 있다.
도 8은 일 실시예에 따른 스케일 행렬의 트레이닝을 설명하는 도면이다.
음성 인식 모델을 개인화하는 장치가 음성 인식 서버인 경우, 음성 인식 서버는 개별 사용자 단말에 의해 요구되는 그룹 스케일 행렬 및 사용자 스케일 행렬을 로딩하거나, 해당 사용자 단말로 배포할 수 있다. 음성 인식 모델을 개인화하는 장치는, 복수의 계층으로 분류되는 복수의 그룹 스케일 행렬을 필요에 따라 선택적으로 로딩하거나 배포할 수 있다. 음성 인식 모델을 개인화하는 장치는, 사용자로부터의 음성 인식 요청을 획득하기 전에, 그룹 스케일 행렬을 미리(in advance) 트레이닝시켜 놓을 수 있다. 음성 인식 모델을 개인화하는 장치는 개별 사용자에 대해 개인화된 음성 인식 모델(820)을 생성한 후부터, 사용자 스케일 행렬을 트레이닝시킬 수 있다.
일 실시예에 따르면, 음성 인식 모델을 개인화하는 장치는 임의의 사용자에 대해 초기 모델을 생성하는 경우, 식별된 언어 그룹에 대응하는 그룹 스케일 행렬을 로딩하고, 로딩된 그룹 스케일 행렬과 함께 사용자 스케일 행렬을 해당 초기 모델에 적용할 수 있다. 초기 모델에 적용된 그룹 스케일 행렬은 기존 트레이닝 데이터(890)에 기초하여 해당 언어 그룹에 기초하여 미리 트레이닝된 행렬일 수 있다. 초기 모델에 적용된 사용자 스케일 행렬은 트레이닝되기 전의 초기화된 값을 가질 수 있다. 사용자 스케일 행렬의 초기 값은, 예를 들어, 미리 트레이닝된 그룹 스케일 행렬과 동일한 값을 가지도록 설정될 수도 있다.
음성 인식 모델을 개인화하는 장치는 사용자로부터 음성 신호가 획득되는 경우에 응답하여, 개인화된 음성 인식 모델(820)에서 사용자 스케일 행렬을 획득된 음성 신호에 기초하여 트레이닝시킬 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 사용자 스케일 행렬의 트레이닝 동안 나머지 파라미터(예를 들어, 가중치 벡터 및 바이어스 등)를 고정할 수 있다.
아울러, 음성 인식 모델을 개인화하는 장치는 개인화된 음성 인식 모델(820) 중 그룹 스케일 행렬이 변경되는 경우에 응답하여, 사용자 스케일 행렬을 업데이트할 수 있다. 음성 인식 모델을 개인화하는 장치는 개인화된 음성 인식 모델(820)이 생성된 이후, 사용자에 대응하는 추가 언어 그룹(additional language group)을 더 식별할 수 있다. 음성 인식 모델을 개인화하는 장치는 추가 언어 그룹에 대응하는 그룹 스케일 행렬을 적어도 일부 레이어에 추가적으로 적용함으로써, 개인화된 음성 인식 모델(820)을 업데이트할 수 있다. 그룹 스케일 행렬은 사용자 스케일 행렬보다 상위 계층에 속하므로, 그룹 스케일 행렬이 변경될 경우 사용자 스케일이 재트레이닝될 필요가 있다.
또한, 음성 인식 모델을 개인화하는 장치는 미리 정한 주기 동안 복수의 언어 그룹들 중 대상 언어 그룹(target language group)에 대응하는 복수의 사용자들로부터 트레이닝 데이터(890)를 수집할 수 있다. 대상 언어 그룹은 트레이닝의 대상이 되는 언어 그룹을 나타낼 수 있다. 음성 인식 모델을 개인화하는 장치는 트레이닝 데이터(890)에 기초하여, 대상 언어 그룹에 대응하는 그룹 스케일 행렬을 트레이닝시킬 수 있다. 음성 인식 모델을 개인화하는 장치는 대상 언어 그룹에 대응하는 그룹 스케일 행렬보다 상위 계층의 그룹 스케일 행렬도 트레이닝시킬 수 있다. 하위 계층의 언어 그룹은 상위 계층의 언어 그룹에 대응하는 언어 특성을 포함하므로, 하위 계층의 언어 그룹을 트레이닝시킬 때 상위 계층의 언어 그룹에 대응하는 그룹 스케일 행렬도 트레이닝되어야 한다.
음성 인식 모델을 개인화하는 장치는 사용자로부터 새로 획득된 음성 신호에 기초하여, 새로운 트레이닝 데이터(890)를 생성할 수 있다. 새로운 트레이닝 데이터(890)는, 트레이닝 입력(891), 기준 텍스트(892), 및 그룹 레이블(893)을 포함할 수 있다. 트레이닝 입력(891)은 음성 신호 또는 음성 신호로부터 추출된 특징 데이터를 나타낼 수 있다. 기준 텍스트(892)는 해당 트레이닝 입력(891)이 지시하는 실제(true) 텍스트 데이터를 나타낼 수 있다. 그룹 레이블(893)은 해당 트레이닝 입력(891)이 나타내는 언어 특성에 따른 그룹을 지시하는 데이터를 나타낼 수 있다.
일 실시예에 따른 음성 인식 모델을 개인화하는 장치는 감독 학습(supervised learning)을 통해 음성 인식 모델(820)(뉴럴 네트워크)의 스케일 행렬을 트레이닝시킬 수 있다. 감독 학습은 트레이닝 데이터(890)의 트레이닝 입력(891) 그에 대응하는 트레이닝 출력(도 8에서는 기준 텍스트(892))을 함께 음성 인식 모델(820)에 입력하고, 트레이닝 데이터(890)의 트레이닝 출력에 대응하는 출력 데이터가 출력되도록 스케일 행렬을 업데이트하는 기법이다.
일 실시예에 따르면, 음성 인식 모델을 개인화하는 장치는 뉴럴 네트워크에 역전파되는 손실 및 뉴럴 네트워크에 포함된 노드들의 출력 값(809)에 기초한 기울기 하강(gradient descent) 기법을 통하여, 스케일 행렬을 결정할 수 있다. 예를 들어, 음성 인식 모델을 개인화하는 장치는 손실 역 전파 학습(back-propagation learning)을 통해 그룹 스케일 행렬 및 사용자 스케일 행렬 중 적어도 하나를 업데이트할 수 있다. 손실 역 전파 학습은, 주어진 트레이닝 데이터(890)에 대해 포워드 계산(forward computation)을 통하여 손실을 추정(예를 들어, 오차 산출(880))한 후, 출력 레이어에서 시작하여 히든 레이어 및 입력 레이어를 향하는 역 방향으로 추정한 손실을 전파하면서, 손실을 줄이는 방향으로 스케일 행렬을 업데이트하는 방법이다.
음성 인식 모델을 개인화하는 장치는 현재 설정된 스케일 행렬들이 얼마나 최적에 가까운지를 측정하기 위한 목적 함수(objective function)를 정의하고, 목적 함수의 결과에 기초하여 스케일 행렬들을 계속 변경하고, 트레이닝을 반복적으로 수행할 수 있다. 예를 들어, 목적 함수는 뉴럴 네트워크가 트레이닝 데이터(890)의 트레이닝 입력(891)에 기초하여 실제 출력한 출력 값(809)과 출력되기로 원하는 기대 값(예를 들어, 기준 텍스트(892)) 사이의 손실을 계산하기 위한 손실 함수일 수 있다. 음성 인식 모델을 개인화하는 장치는 손실 함수의 값을 줄이는 방향으로 스케일 행렬들을 업데이트할 수 있다.
음성 인식 모델을 개인화하는 장치는, 개인화 및 최신 음성 특성을 반영하기 위해, 그룹 스케일 행렬을 트레이닝시킬 수 있다. 특정 사용자의 음성 신호가 개인화 목적으로 해당 사용자의 음성 인식 모델(820)에 입력이 되면, 음성 인식 모델을 개인화하는 장치는 해당 사용자의 사용자 스케일 행렬을 업데이트할 수 있다.
음성 인식 모델을 개인화하는 장치는 주기적으로 복수의 사용자들로부터 음성 신호를 수집하여, 사용자 스케일 행렬보다 상위 계층의 그룹 스케일 행렬을 업데이트할 수 있다. 음성 인식 모델을 개인화하는 장치는, 복수의 사용자들로부터 수집된 음성 신호들 중 공통된 언어 특성을 나타내는 음성 신호를 추출할 수 있다. 음성 인식 모델을 개인화하는 장치는 공통된 언어 특성을 나타내는 음성 신호를 이용하여, 공통된 언어 특성을 지시하는 언어 그룹에 대응하는 그룹 스케일 행렬을 트레이닝시킬 수 있다.
음성 인식 모델을 개인화하는 장치는, 상술한 트레이닝을 통해 최신 음성 신호 데이터 분포에 따른 언어 특성을 그룹 스케일 행렬에 반영할 수 있다. 최신 언어 특성이 반영된 그룹 스케일 행렬은, 실제 언어 트렌드에 대해 보다 적은 미스 매치를 나타낼 수 있다. 따라서, 음성 인식 모델을 개인화하는 장치는, 개별 사용자에 대한 트레이닝 없이도, 해당 사용자의 언어 그룹에 기초한 그룹 스케일 행렬의 적용을 통해 해당 사용자에 대해 개인화된 음성 인식 모델(820)을 생성할 수 있다. 더 나아가, 음성 인식 모델을 개인화하는 장치는 사용자 스케일 행렬의 적용 및 트레이닝을 통해 해당 사용자에 대해 보다 개인화된 음성 인식 모델(820)을 생성할 수 있다.
일 실시예에 따른 음성 인식 모델을 개인화하는 장치는, 개별 사용자가 생성된 음성 인식 모델(820)을 이용할 때마다, 해당 사용자의 음성 특징에 보다 최적화되도록 개인화된 음성 인식 모델(820)을 업데이트할 수 있다.
또한, 음성 인식 모델을 개인화하는 장치는 개인화된 음성 인식 모델(820) 중 그룹 스케일 행렬이 변경되는 경우에 응답하여, 사용자 스케일 행렬을 업데이트할 수 있다.
도 9는 일 실시예에 따른 음성 인식 모델을 개인화하는 장치의 구성에 관한 블록도이다.
음성 인식 모델을 개인화하는 장치(900)는 입출력 인터페이스(910), 프로세서(920), 및 메모리(930)를 포함할 수 있다.
입출력 인터페이스(910)는 사용자의 음성 또는 정답 텍스트 등을 입력 받거나 사용자에게 인식 결과 또는 가이드 텍스트를 제시하는 구성을 의미할 수 있다. 예를 들어, 입출력 인터페이스(910)는 사용자의 음성을 입력 받는 마이크로폰을 포함할 수 있다. 입출력 인터페이스(910)는 사용자로부터 정답 텍스트를 입력 받는 키보드, 터치 스크린 또는 터치 패드 등을 포함할 수 있다. 입출력 인터페이스(910)는 인식 결과 또는 가이드 텍스트를 제시하는 디스플레이를 포함할 수 있다.
프로세서(920)는 사용자에 대응하는 언어 그룹을 식별하고, 음성 인식 모델의 복수의 레이어들 중 적어도 일부 레이어에, 식별된 언어 그룹에 대응하는 그룹 스케일 행렬을 적용함으로써 개인화된 음성 인식 모델을 생성할 수 있다. 다만, 프로세서(920)의 동작을 이로 한정하는 것은 아니고, 프로세서(920)는 도 1 내지 도 8에서 설명한 동작들을 수행할 수 있다.
메모리(930)는 프로세서(920)에 의해 실행될 인스트럭션들(instructions) 및 음성 인식 모델을 저장할 수 있다. 음성 인식 모델은 통계적 음성 인식 모델 또는 뉴럴 네트워크 기반의 음성 인식 모델일 수 있다. 음성 인식 모델이 뉴럴 네트워크인 경우, 메모리(930)는 뉴럴 네트워크의 각 레이어의 가중치 등과 같은 파라미터를 저장할 수 있다. 또한, 메모리(930)는 그룹 스케일 행렬 및 사용자 스케일 행렬 등을 저장할 수 있다.
일 실시예에 따른 음성 인식 모델을 개인화하는 장치(900)는 개별 사용자의 언어 그룹에 대응하는 그룹 스케일 행렬을 사용함으로써, 처음부터 해당 사용자에게 개인화된 음성 인식을 제공할 수 있다.
또한, 음성 인식 모델을 개인화하는 장치(900)는 하루 단위 또는 일주일 단위 등으로 그룹 스케일 행렬의 업데이트시킴으로써, 빠르게 최신 음성 신호 특성을 음성 인식 모델에 반영할 수 있다. 더 나아가, 음성 인식 모델을 개인화하는 장치(900)는 수 개의 행렬(예를 들어, 벡터)만 트레이닝시키면 되므로, 트레이닝에 소요되는 시간 및 계산량이 적다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.  
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
900: 음성 인식 모델을 개인화하는 장치
910: 입출력 인터페이스
920: 프로세서
930: 메모리

Claims (20)

  1. 음성 인식 모델을 개인화하는 방법에 있어서,
    사용자에 대응하는 언어 그룹(language group)을 식별하는 단계; 및
    음성 인식 모델의 복수의 레이어들 중 적어도 일부 레이어에, 상기 식별된 언어 그룹에 대응하는 그룹 스케일 행렬(group scale matrix)을 적용함으로써 개인화된 음성 인식 모델을 생성하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  2. 제1항에 있어서,
    상기 언어 그룹을 식별하는 단계는,
    상기 사용자와 연관된 사용자 입력, 위치 정보, 및 언어 특성 추정 정보 중 적어도 하나에 응답하여, 상기 사용자의 상기 언어 그룹을 식별하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  3. 제1항에 있어서,
    상기 언어 그룹을 식별하는 단계는,
    상기 사용자에 대응하는 복수의 언어 그룹들을 식별하는 단계
    를 포함하고,
    상기 개인화된 음성 인식 모델을 생성하는 단계는,
    상기 음성 인식 모델의 상기 적어도 일부 레이어에 상기 복수의 언어 그룹들의 각각에 대응하는 그룹 스케일 행렬을 적용하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  4. 제3항에 있어서,
    상기 그룹 스케일 행렬을 적용하는 단계는,
    상기 복수의 언어 그룹들의 각각의 계층 순서에 따라 순차적으로 상기 복수의 언어 그룹들의 각각에 대응하는 그룹 스케일 행렬을 상기 적어도 일부 레이어에 적용하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  5. 제3항에 있어서,
    상기 그룹 스케일 행렬을 적용하는 단계는,
    상기 복수의 언어 그룹들 중 적어도 일부에 대응하는 그룹 스케일 행렬을 상기 적어도 일부 레이어에 적용하는 단계; 및
    상기 복수의 언어 그룹들 중 다른 일부에 대응하는 다른 그룹 스케일 행렬을 다른 레이어에 적용하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  6. 제1항에 있어서,
    상기 개인화된 음성 인식 모델을 생성하는 단계는,
    상기 그룹 스케일 행렬과 함께 사용자 스케일 행렬(user scale matrix)을 상기 적어도 일부 레이어에 적용함으로써 상기 개인화된 음성 인식 모델을 생성하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  7. 제6항에 있어서,
    상기 사용자로부터 음성 신호가 획득되는 경우에 응답하여, 상기 개인화된 음성 인식 모델에서 사용자 스케일 행렬을 상기 획득된 음성 신호에 기초하여 트레이닝시키는 단계; 및
    상기 사용자 스케일 행렬의 트레이닝 동안 나머지 파라미터를 고정하는 단계
    를 더 포함하는 음성 인식 모델을 개인화하는 방법.
  8. 제6항에 있어서,
    상기 개인화된 음성 인식 모델 중 상기 그룹 스케일 행렬이 변경되는 경우에 응답하여, 상기 사용자 스케일 행렬을 업데이트하는 단계
    를 더 포함하는 음성 인식 모델을 개인화하는 방법.
  9. 제1항에 있어서,
    상기 개인화된 음성 인식 모델을 생성하는 단계는,
    상기 적어도 일부 레이어에 포함된 노드들의 출력들에 상기 그룹 스케일 행렬을 적용함으로써, 상기 적어도 일부 레이어에 포함된 노드들의 출력들을 보정하는 단계; 및
    상기 보정된 출력들을 다음 레이어로 포워딩(forward)하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  10. 제1항에 있어서,
    상기 언어 그룹을 식별하는 단계는,
    현재 사용자가 이전 사용자와 다른 경우에 응답하여, 상기 현재 사용자에 대응하는 언어 그룹을 식별하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  11. 제10항에 있어서,
    상기 현재 사용자에 대응하는 언어 그룹을 식별하는 단계는,
    상기 이전 사용자가 속하는 언어 그룹에 복수의 그룹 스케일 행렬들 중 일부 그룹 스케일 행렬을 로딩하는 단계
    를 포함하고,
    상기 개인화된 음성 인식 모델을 생성하는 단계는,
    상기 로딩된 일부 그룹 스케일 행렬을 상기 음성 인식 모델에 적용함으로써 개인화된 음성 인식 모델을 생성하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  12. 제1항에 있어서,
    상기 개인화된 음성 인식 모델에 기초하여, 상기 사용자의 음성 입력을 인식하는 단계
    를 더 포함하는 음성 인식 모델을 개인화하는 방법.
  13. 제1항에 있어서,
    상기 개인화된 음성 인식 모델이 생성된 이후, 상기 사용자에 대응하는 추가 언어 그룹(additional language group)을 더 식별하는 단계; 및
    상기 추가 언어 그룹에 대응하는 그룹 스케일 행렬을 상기 적어도 일부 레이어에 추가적으로 적용함으로써, 상기 개인화된 음성 인식 모델을 업데이트하는 단계
    를 더 포함하는 음성 인식 모델을 개인화하는 방법.
  14. 제1항에 있어서,
    미리 정한 주기 동안 복수의 언어 그룹들 중 대상 언어 그룹(target language group)에 대응하는 복수의 사용자들로부터 트레이닝 데이터를 수집하는 단계; 및
    상기 트레이닝 데이터에 기초하여, 상기 대상 언어 그룹에 대응하는 그룹 스케일 행렬을 트레이닝시키는 단계
    를 더 포함하는 음성 인식 모델을 개인화하는 방법.
  15. 제14항에 있어서,
    상기 그룹 스케일 행렬을 트레이닝시키는 단계는,
    상기 대상 언어 그룹에 대응하는 그룹 스케일 행렬보다 상위 계층의 그룹 스케일 행렬도 트레이닝시키는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  16. 제1항에 있어서,
    상기 개인화된 음성 인식 모델을 생성하는 단계는,
    상기 그룹 스케일 행렬이 적용된 상기 적어도 일부 레이어의 출력들의 각각을 미리 정한 범위(range)로 제한하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  17. 제1항에 있어서,
    상기 개인화된 음성 인식 모델을 생성하는 단계는,
    상기 음성 인식 모델의 상기 복수의 레이어들 중 상기 사용자의 언어에 대해 지정된 레이어에 상기 그룹 스케일 행렬을 적용하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  18. 제1항에 있어서,
    상기 개인화된 음성 인식 모델을 생성하는 단계는,
    이전 사용자와 현재 사용자가 동일한 경우에 응답하여, 상기 이전 사용자에 대해 상기 그룹 스케일 행렬이 적용된 레이어에 상기 그룹 스케일 행렬을 적용하는 단계
    를 포함하는 음성 인식 모델을 개인화하는 방법.
  19. 제1항 내지 제18항 중 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 기록 매체.
  20. 음성 인식 모델을 개인화하는 장치에 있어서,
    사용자에 대응하는 언어 그룹을 식별하고, 음성 인식 모델의 복수의 레이어들 중 적어도 일부 레이어에, 상기 식별된 언어 그룹에 대응하는 그룹 스케일 행렬을 적용함으로써 개인화된 음성 인식 모델을 생성하는 프로세서
    를 포함하는 음성 인식 모델을 개인화하는 장치.
KR1020180054448A 2018-05-11 2018-05-11 음성 인식 모델을 개인화하는 방법 및 장치 KR20190129580A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180054448A KR20190129580A (ko) 2018-05-11 2018-05-11 음성 인식 모델을 개인화하는 방법 및 장치
US16/118,807 US10957308B2 (en) 2018-05-11 2018-08-31 Device and method to personalize speech recognition model
CN201811106697.5A CN110473526A (zh) 2018-05-11 2018-09-21 对语音识别模型进行个性化的装置和方法及电子装置
EP18197986.5A EP3567583B1 (en) 2018-05-11 2018-10-01 Device and method to personalize speech recognition model
JP2019010114A JP7365121B2 (ja) 2018-05-11 2019-01-24 音声認識モデルを個人化する方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180054448A KR20190129580A (ko) 2018-05-11 2018-05-11 음성 인식 모델을 개인화하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20190129580A true KR20190129580A (ko) 2019-11-20

Family

ID=63720591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180054448A KR20190129580A (ko) 2018-05-11 2018-05-11 음성 인식 모델을 개인화하는 방법 및 장치

Country Status (5)

Country Link
US (1) US10957308B2 (ko)
EP (1) EP3567583B1 (ko)
JP (1) JP7365121B2 (ko)
KR (1) KR20190129580A (ko)
CN (1) CN110473526A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110930985A (zh) * 2019-12-05 2020-03-27 携程计算机技术(上海)有限公司 电话语音识别模型、方法、系统、设备及介质
WO2022102937A1 (en) * 2020-11-12 2022-05-19 Samsung Electronics Co., Ltd. Methods and systems for predicting non-default actions against unstructured utterances

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190129580A (ko) * 2018-05-11 2019-11-20 삼성전자주식회사 음성 인식 모델을 개인화하는 방법 및 장치
JP7131077B2 (ja) * 2018-05-24 2022-09-06 カシオ計算機株式会社 会話装置、ロボット、会話装置制御方法及びプログラム
KR102225984B1 (ko) * 2018-09-03 2021-03-10 엘지전자 주식회사 음성 인식 서비스를 제공하는 서버
US11200884B1 (en) * 2018-11-06 2021-12-14 Amazon Technologies, Inc. Voice profile updating
US11004454B1 (en) * 2018-11-06 2021-05-11 Amazon Technologies, Inc. Voice profile updating
KR20190080833A (ko) * 2019-06-18 2019-07-08 엘지전자 주식회사 음성 정보 기반 언어 모델링 시스템 및 방법
KR20190080834A (ko) * 2019-06-18 2019-07-08 엘지전자 주식회사 사투리 음소 적응 학습 시스템 및 방법
CN111179938A (zh) * 2019-12-26 2020-05-19 安徽仁昊智能科技有限公司 一种基于人工智能的语音识别垃圾分类系统
CN112908312B (zh) * 2021-01-30 2022-06-24 云知声智能科技股份有限公司 一种提高唤醒性能的方法和设备
CN113223522B (zh) * 2021-04-26 2022-05-03 北京百度网讯科技有限公司 语音识别方法、装置、设备和存储介质
US20230419958A1 (en) * 2022-06-27 2023-12-28 Samsung Electronics Co., Ltd. Personalized multi-modal spoken language identification

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09258790A (ja) 1996-03-27 1997-10-03 Seiko Epson Corp ニューラルネットワーク音声モデル再学習方法および装置
JP2005227369A (ja) * 2004-02-10 2005-08-25 Matsushita Electric Ind Co Ltd 音声認識装置および方法と車載ナビゲーション装置
US8949125B1 (en) 2010-06-16 2015-02-03 Google Inc. Annotating maps with user-contributed pronunciations
US9031844B2 (en) * 2010-09-21 2015-05-12 Microsoft Technology Licensing, Llc Full-sequence training of deep structures for speech recognition
US9460711B1 (en) * 2013-04-15 2016-10-04 Google Inc. Multilingual, acoustic deep neural networks
US20150032449A1 (en) * 2013-07-26 2015-01-29 Nuance Communications, Inc. Method and Apparatus for Using Convolutional Neural Networks in Speech Recognition
US9514753B2 (en) * 2013-11-04 2016-12-06 Google Inc. Speaker identification using hash-based indexing
JP5777178B2 (ja) 2013-11-27 2015-09-09 国立研究開発法人情報通信研究機構 統計的音響モデルの適応方法、統計的音響モデルの適応に適した音響モデルの学習方法、ディープ・ニューラル・ネットワークを構築するためのパラメータを記憶した記憶媒体、及び統計的音響モデルの適応を行なうためのコンピュータプログラム
JP6052814B2 (ja) 2014-09-24 2016-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 音声認識モデルの構築方法、音声認識方法、コンピュータ・システム、音声認識装置、プログラムおよび記録媒体
KR102167719B1 (ko) * 2014-12-08 2020-10-19 삼성전자주식회사 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
KR101624926B1 (ko) 2014-12-17 2016-05-27 서울대학교산학협력단 딥 뉴럴 네트워크 기반 특징 보상 기법을 이용한 음성 인식 방법
JP6124949B2 (ja) * 2015-01-14 2017-05-10 本田技研工業株式会社 音声処理装置、音声処理方法、及び音声処理システム
US9972315B2 (en) * 2015-01-14 2018-05-15 Honda Motor Co., Ltd. Speech processing device, speech processing method, and speech processing system
US10403269B2 (en) * 2015-03-27 2019-09-03 Google Llc Processing audio waveforms
JP6506074B2 (ja) 2015-03-30 2019-04-24 日本電信電話株式会社 音響モデル学習装置、音声認識装置、音響モデル学習方法、音声認識方法及びプログラム
KR102410914B1 (ko) 2015-07-16 2022-06-17 삼성전자주식회사 음성 인식을 위한 모델 구축 장치 및 음성 인식 장치 및 방법
JP6622505B2 (ja) 2015-08-04 2019-12-18 日本電信電話株式会社 音響モデル学習装置、音声合成装置、音響モデル学習方法、音声合成方法、プログラム
KR102386854B1 (ko) * 2015-08-20 2022-04-13 삼성전자주식회사 통합 모델 기반의 음성 인식 장치 및 방법
KR102386863B1 (ko) * 2015-09-09 2022-04-13 삼성전자주식회사 사용자 기반 언어 모델 생성 장치, 방법 및 음성 인식 장치
KR20170034227A (ko) * 2015-09-18 2017-03-28 삼성전자주식회사 음성 인식 장치 및 방법과, 음성 인식을 위한 변환 파라미터 학습 장치 및 방법
KR102494139B1 (ko) 2015-11-06 2023-01-31 삼성전자주식회사 뉴럴 네트워크 학습 장치 및 방법과, 음성 인식 장치 및 방법
US9842106B2 (en) * 2015-12-04 2017-12-12 Mitsubishi Electric Research Laboratories, Inc Method and system for role dependent context sensitive spoken and textual language understanding with neural networks
US10032463B1 (en) * 2015-12-29 2018-07-24 Amazon Technologies, Inc. Speech processing with learned representation of user interaction history
JP2018013722A (ja) 2016-07-22 2018-01-25 国立研究開発法人情報通信研究機構 音響モデル最適化装置及びそのためのコンピュータプログラム
US20180052842A1 (en) * 2016-08-16 2018-02-22 Ebay Inc. Intelligent online personal assistant with natural language understanding
US10249292B2 (en) * 2016-12-14 2019-04-02 International Business Machines Corporation Using long short-term memory recurrent neural network for speaker diarization segmentation
KR102369416B1 (ko) * 2017-09-18 2022-03-03 삼성전자주식회사 복수의 사용자 각각에 대응하는 개인화 레이어를 이용하여 복수의 사용자 각각의 음성 신호를 인식하는 음성 신호 인식 시스템
KR20190129580A (ko) * 2018-05-11 2019-11-20 삼성전자주식회사 음성 인식 모델을 개인화하는 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110930985A (zh) * 2019-12-05 2020-03-27 携程计算机技术(上海)有限公司 电话语音识别模型、方法、系统、设备及介质
CN110930985B (zh) * 2019-12-05 2024-02-06 携程计算机技术(上海)有限公司 电话语音识别模型、方法、系统、设备及介质
WO2022102937A1 (en) * 2020-11-12 2022-05-19 Samsung Electronics Co., Ltd. Methods and systems for predicting non-default actions against unstructured utterances
US11705111B2 (en) 2020-11-12 2023-07-18 Samsung Electronics Co., Ltd. Methods and systems for predicting non-default actions against unstructured utterances

Also Published As

Publication number Publication date
CN110473526A (zh) 2019-11-19
JP2019197203A (ja) 2019-11-14
EP3567583A1 (en) 2019-11-13
EP3567583B1 (en) 2020-12-02
US10957308B2 (en) 2021-03-23
US20190348023A1 (en) 2019-11-14
JP7365121B2 (ja) 2023-10-19

Similar Documents

Publication Publication Date Title
KR20190129580A (ko) 음성 인식 모델을 개인화하는 방법 및 장치
US11361758B2 (en) Multi-stage machine learning and recognition
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
CN111243576B (zh) 语音识别以及模型训练方法、装置、设备和存储介质
EP3504703B1 (en) A speech recognition method and apparatus
CN108346436B (zh) 语音情感检测方法、装置、计算机设备及存储介质
CN105679317B (zh) 用于训练语言模型并识别语音的方法和设备
KR102410820B1 (ko) 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
CN110766142A (zh) 模型生成方法和装置
KR20200045128A (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
EP3640934B1 (en) Speech recognition method and apparatus
CN111523640B (zh) 神经网络模型的训练方法和装置
CN111709493B (zh) 对象分类方法、训练方法、装置、设备及存储介质
US11423884B2 (en) Device with convolutional neural network for acquiring multiple intent words, and method thereof
KR102315830B1 (ko) 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법
KR102637339B1 (ko) 음성 인식 모델을 개인화하는 방법 및 장치
KR102544249B1 (ko) 발화의 문맥을 공유하여 번역을 수행하는 전자 장치 및 그 동작 방법
KR20190136578A (ko) 음성 인식 방법 및 장치
KR20220098991A (ko) 음성 신호에 기반한 감정 인식 장치 및 방법
WO2023057313A1 (en) Reactive voice device management
KR20210044559A (ko) 출력 토큰 결정 방법 및 장치
CN113870863A (zh) 声纹识别方法及装置、存储介质及电子设备
CN115101075A (zh) 一种语音识别的方法以及相关装置
JP7170594B2 (ja) 同一事象に対して時系列に発生した異なるメディアデータを統合した学習モデルを構築するプログラム、装置及び方法
CN115910047B (zh) 数据处理方法、模型训练方法、关键词检测方法及设备

Legal Events

Date Code Title Description
A201 Request for examination