KR20220118242A - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR20220118242A
KR20220118242A KR1020210022137A KR20210022137A KR20220118242A KR 20220118242 A KR20220118242 A KR 20220118242A KR 1020210022137 A KR1020210022137 A KR 1020210022137A KR 20210022137 A KR20210022137 A KR 20210022137A KR 20220118242 A KR20220118242 A KR 20220118242A
Authority
KR
South Korea
Prior art keywords
voice
text
user
model
speech
Prior art date
Application number
KR1020210022137A
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 KR1020210022137A priority Critical patent/KR20220118242A/ko
Priority to PCT/KR2021/003944 priority patent/WO2022177063A1/ko
Publication of KR20220118242A publication Critical patent/KR20220118242A/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/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech 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/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
    • 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/08Speech classification or search
    • 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/15Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being formant information

Abstract

본 개시는 전자 장치 및 이의 제어 방법이 개시된다. 본 개시의 전자 장치는 마이크, 메모리 및 단어 경계에 기초하여 음성을 분할하도록 학습된 제1 모델에 마이크를 통해 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트를 획득하고, 음성의 언어 유형을 식별하도록 학습된 제2 모델에 복수의 음성 세그먼트를 입력하여 복수의 음성 세그먼트 각각의 언어 유형을 획득하고, 복수의 음성 세그먼트 각각을 복수의 ASR 모델 중 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하고, 복수의 텍스트 세그먼트에 기초하여 제1 사용자 음성에 대응되는 텍스트를 획득하는 프로세서를 포함할 수 있다.

Description

전자 장치 및 이의 제어 방법{ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THEREOF}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 인공 지능 모델을 이용하여 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치 및 이의 제어 방법에 관한 것이다.
근래에는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습시키고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
최근에는, 딥러닝 기반 인공 지능 시스템을 이용하여 사용자 음성을 인식하고 인식된 음성을 텍스트로 변환하는 ASR(Auto Speech Recognition) 기술이 널리 이용되고 있다. 한편, ASR 기술을 수행하는 ASR 모델은 하나의 특정 언어를 기반으로 학습되는 경우가 일반적이다. 따라서, 영어를 기반으로 학습된 ASR 모델에 한국어 음성이 입력될 경우, ASR 모델은 음성에 대응되는 텍스트를 정확하게 출력하지 못할 가능성이 높다.
이에 따라, 기존에는 ASR 모델을 복수의 언어를 기반으로 학습시키는 방식이 고안되었다. 예를 들어, 영어 및 한국어로 구성된 학습 데이터를 기반으로 ASR 모델을 학습시킴으로써, 영어 및 한국어가 혼합된 음성에 대응되는 텍스트를 보다 정확하게 출력하는 방식이 고안되었다. 다만, 하나의 ASR 모델을 복수의 언어를 기반으로 학습시키는 것은 학습 비용 및 유지 비용이 클 뿐만 아니라 학습 시간 및 정확도 측면에서도 불리하다는 한계점이 존재한다.
또한, 기존에는 사용자 음성이 입력되면, 입력된 사용자 음성에 대응되는 언어 유형을 인식하고, 인식된 언어 유형에 대응되는 ASR 모델에 사용자 음성을 입력하는 방식이 고안되었다.
다만, ASR 모델에 입력된 음성에 복수의 유형의 언어가 혼합된 경우, 하나의 언어 기반으로 학습된 ASR 모델은 정확한 입력된 음성에 대응되는 텍스트를 출력하지 못할 가능성이 높다. 최근 2개 국어(bilingual) 이상을 사용할 수 있는 화자가 전세계적으로 늘어나고 있다는 점에서 위 문제점은 더욱 대두될 수 있다.
또한, 위 방식의 경우, 짧은 시간(예로, 50ms)동안 입력된 사용자 음성에 기반하여 사용자 음성의 언어 유형을 인식하는 바, 사용자 음성에 포함된 전체 언어 유형을 정확히 판단하지 못한다는 문제점이 존재한다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로서, 본 개시의 목적은 입력된 사용자 음성을 분할하고, 분할된 음성 세그먼트를 각 음성 세그먼트의 언어 유형에 대응되는 ASR 모델에 입력하여 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
본 개시의 일 실시예로, 전자 장치는 마이크, 메모리 및 단어 경계에 기초하여 음성을 분할하도록 학습된 제1 모델에 상기 마이크를 통해 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트를 획득하고, 음성의 언어 유형을 식별하도록 학습된 제2 모델에 상기 복수의 음성 세그먼트를 입력하여 상기 복수의 음성 세그먼트 각각의 언어 유형을 획득하고, 상기 복수의 음성 세그먼트 각각을 복수의 ASR 모델 중 상기 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하고, 상기 복수의 텍스트 세그먼트에 기초하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 프로세서를 포함할 수 있다.
본 개시의 또 다른 실시예로, 전자 장치의 제어 방법은, 단어 경계에 기초하여 음성을 분할하도록 학습된 제1 모델에 상기 전자 장치에 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트를 획득하는 단계, 음성의 언어 유형을 식별하도록 학습된 제2 모델에 상기 복수의 음성 세그먼트를 입력하여 상기 복수의 음성 세그먼트 각각의 언어 유형을 획득하는 단계, 상기 복수의 음성 세그먼트 각각을 복수의 ASR 모델 중 상기 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하는 단계 및 상기 복수의 텍스트 세그먼트에 기초하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 단계를 포함할 수 있다.
상술한 바와 같은 다양한 실시예에 의해, 전자 장치는 복수의 언어가 혼합된 사용자 음성에 대응되는 텍스트를 보다 정확하게 획득할 수 있다는 효과가 있다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치의 구성은 간략히 도시한 블록도,
도 2는 본 개시의 일 실시예에 따른, 전자 장치가 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 도면,
도 3은 본 개시의 일 실시예에 따른, 전자 장치가 사용자 음성을 분할하는 과정을 설명하기 위한 도면,
도 4는 본 개시의 일 실시예에 따른, 제1 모델 및 제2 모델의 구성 및 동작을 설명하기 위한 도면,
도 5는 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 순서도,
도 6은 본 개시의 일 실시예에 따른, 전자 장치 및 서버의 동작을 설명하기 위한 시퀀스도,
도 7은 본 개시의 일 실시예에 따른, 전자 장치가 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 도면,
도 8 및 도 9는 본 개시의 일 실시예에 따른, 전자 장치가 음성 신뢰도에 기초하여 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 순서도,
도 10은 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
이하에서는 도면을 참조하여 본 개시에 대해 구체적으로 설명하도록 한다.
본 개시의 일 실시예로, 도 1은 전자 장치(100)의 구성을 간략히 도시한 블록도이다. 도 1에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 마이크(120) 및 프로세서(130)를 포함할 수 있다. 다만, 도 1에 도시된 구성은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어 및 소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 데이터 또는 적어도 하나의 명령어(instruction)를 저장할 수 있다. 명령어는 프로그래밍 작성 언어에서 프로세서(130)가 직접 실행할 수 있는 하나의 동작 문장(action statement)를 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다. 메모리(110)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
본 개시에서 메모리라는 용어는 메모리(110), 프로세서(130) 내 롬(미도시), 램(미도시)으로 구현되거나 프로세서(130)와 별도의 메모리로 구현될 수 있다. 이 경우, 메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
마이크(120)는 사용자 음성을 입력받을 수 있다. 이때, 마이크(120)는 음성 인식의 개시를 나타내는 트리거 음성(또는 웨이크업 음성)을 수신할 수 있으며, 특정 정보를 요청하는 사용자 질의 또는 명령을 수신할 수 있다.
마이크(120)는 전자 장치(100) 내부에 구비될 수 있으나, 외부에 구비되어 전자 장치(100)와 전기적으로 연결될 수 있다. 또 다른 예로, 마이크(120)는 전자 장치(100)의 외부에 구비되어 무선 통신 모듈을 통해 전자 장치(100)와 연결될 수 있다.
프로세서(130)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다.
프로세서(130)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이 때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), AP(Application Processor), DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
또한, 프로세서(130)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(130)는 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.
프로세서(130)가 수행하는 동작은 도 2 내지 도 3을 참조하여 구체적으로 설명하도록 한다. 도 2에 도시된 바와 같이, 프로세서(130)는 마이크(120)를 통해 사용자(10)로부터 음성을 입력받을 수 있다. 프로세서(130)는 사용자로부터 입력된 음성을 제1 모델(20)에 입력하여 복수의 음성 세그먼트(segment)를 획득할 수 있다.
제1 모델(20)은 단어 경계(word boundary)에 기초하여 음성을 적어도 하나의 세그먼트로 분할하도록 학습된 인공 지능 모델을 의미한다. 일 실시예로, 제1 모델(20)은 사용자 음성의 파형(waveform) 데이터에 기초하여 적어도 하나의 단어 경계를 식별하도록 학습될 수 있다. 단어 경계는 사용자 음성에 포함된 적어도 하나의 단어 각각을 구분하기 위한 경계 또는 단어 별로 띄어 읽는 구간을 구분하기 위한 경계를 의미할 수 있다.
예를 들어, 사용자(10)로부터 마이크(120)를 통해 입력된 음성이 'Qu
Figure pat00001
pasa, call me'인 경우를 가정한다. 제1 모델(20)은 입력된 음성을 단어 경계에 기초하여 4개의 세그먼트로 분할할 수 있다. 제1 음성 세그먼트(또는, seg 1)는 'Qu
Figure pat00002
'이고, 제2 음성 세그먼트(또는, seg 2)는 'pasa'이고, 제3 음성 세그먼트(또는, seg 3)은 'call'이고, 제4 음성 세그먼트(또는, seg 4)는 'me'일 수 있다.
도 3을 참조하여 제1 모델(20)이 사용자 음성을 적어도 하나의 음성 세그먼트로 분할하는 과정을 더욱 구체적으로 설명하도록 한다. 도 3에 도시된 그래프의 경우, x축(가로 방향)은 시간을 나타내고, y축(세로 방향)은 음성의 세기를 나타내는 파형 그래프를 의미한다.
제1 모델(20)은 사용자 음성이 입력된 시점(310)부터 첫 번째 단어 경계가 감지될 때까지의 음성 신호를 버퍼(buffer)에 저장할 수 있다. 첫 번째 단어 경계(320)가 감지되면, 제1 모델(10)은 사용자 음성이 입력된 시점(310)부터 감지된 첫 번째 단어 경계(320)까지의 음성 신호(즉, 'Que'가 포함된 음성 신호)를 제1 음성 세그먼트로서 획득할 수 있다. 여기서, 단어 경계가 감지되었다는 것은, 특정 단어 발화 후 다음 단어 발화 전까지 기 설정된 시간(즉, 띄어 읽는 시구간)이 경과되었음을 감지했다는 것을 의미할 수 있다.
그리고, 제1 모델(20)은 첫 번째 단어 경계(320)부터 다음 단어 경계가 감지될 때까지의 음성 신호를 버퍼에 저장할 수 있다. 두 번째 단어 경계(330)가 감지되면, 제1 모델(20)은 첫 번째 단어 경계(320)부터 두 번째 단어 경계(330)까지의 음성 신호(즉, 'pasa'가 포함된 음성 신호)를 제2 음성 세그먼트로서 획득할 수 있다. 제1 모델(20)은 상술한 방식을 반복함으로써 각 단어 경계(340,350)에 기초하여 제3 음성 세그먼트 및 제4 음성 세그먼트를 획득할 수 있다. 즉, 제1 모델(20)은 상술한 방식으로 사용자 음성을 4개의 음성 세그먼트로 분할할 수 있다.
도 2를 참조하면, 프로세서(130)는 복수의 음성 세그먼트를 제2 모델(30)에 입력하여 복수의 음성 세그먼트 각각의 언어 유형을 획득할 수 있다. 음성 세그먼트의 언어 유형을 획득했다는 것은 음성 세그먼트의 언어 유형을 나타내는 ID(Identification) 정보(식별 정보)를 획득했다는 것을 의미할 수 있다. 그리고, 제2 모델(30)은 음성의 언어 유형을 식별하도록 학습된 인공 지능 모델을 의미한다.
일 실시예로, 음성 세그먼트의 언어 유형이 식별되면, 제2 모델(30)은 식별된 언어 유형을 나타낼 수 있는 ID 정보를 출력할 수 있다. 예를 들어, 제2 모델(30)은 제1 음성 세그먼트 및 제2 음성 세그먼트의 언어 유형은 스페인어라는 ID 정보(예로, <ES>)를 출력하고, 제3 음성 세그먼트 및 제4 음성 세그먼트는 영어라는 ID 정보(예로, <EN>)를 출력할 수 있다.
프로세서(130)는 복수의 음성 세그먼트 각각을 복수의 ASR(Auto Speech Recognition) 모델(200,210,230) 중 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득할 수 있다.
한편, 도 2에 도시된 바와 같이, 각 ASR 모델(200,210,230)은 외부 서버에 저장될 수 있다. 또 다른 실시예로, 각 ASR 모델(200,210,230)은 하나의 외부 서버가 아닌 별개의 외부 서버에 저장되어 있을 수 있다. 또 다른 실시예로, 각 ASR 모델(200,210,230) 중 적어도 하나는 전자 장치(100)에 내장되어 있을 수 있다.
그리고, 복수의 ASR 모델(200,210,220) 각각은 특정 언어 유형과 관련된 학습 데이터에 기반하여 학습된 모델일 수 있다. 예를 들어, Spanish(이하, ES) ASR 모델은 스페인어 학습 데이터에 기반하여 학습된 모델이며, English(이하, EN) ASR 모델은 영어 학습 데이터에 기반하여 학습된 모델이며, Korean(이하, KR) ASR 모델은 한국어 학습 데이터에 기반하여 학습된 모델일 수 있다. 도 2에 도시된 ASR 모델은 일 실시예에 불과하며 다른 언어에 기반하여 학습된 모델로 구현(예로, 추가/삭제/변경 등)될 수 있음은 물론이다.
일 실시예로, 프로세서(130)는 ASR 라우터(router)(40)를 통해 특정 음성 세그먼트를 특정 음성 세그먼트에 대응되는 ASR 모델에 입력하여 텍스트 세그먼트를 획득할 수 있다. ASR 라우터(40)는 음성 세그먼트의 언어 유형에 대응되는 ASR 모델을 식별하고, 식별된 ASR 모델에 음성 세그먼트를 전송하도록 구성된 소프트웨어 또는 하드웨어 모듈을 의미한다.
예를 들어, 제1 음성 세그먼트 및 제2 음성 세그먼트의 언어 유형 ID 정보가 ES인 경우, 프로세서(130)는 ASR 라우터(40)를 통해 제1 및 제2 음성 세그먼트 각각을 ES ASR 모델(200)에 입력하여 제1 음성 세그먼트에 대응되는 제1 텍스트 세그먼트(예로, 'Que') 및 제2 텍스트 세그먼트(예로, 'pasa')를 획득할 수 있다. ES ASR 모델(200)이 외부 서버에 저장된 경우, 프로세서(130)는 외부 서버에 제1 및 제2 음성 세그먼트를 전송하도록 통신부(140)를 제어할 수 있다. 통신부(140)는 도 10을 참조하여 구체적으로 설명하도록 한다.
또 다른 예로, 제3 음성 세그먼트 및 제4 음성 세그먼트의 언어 유형 ID 정보가 EN인 경우, 프로세서(130)는 ASR 라우터를 통해 제3 및 제4 음성 세그먼트 각각을 EN ASR 모델(210)에 입력하여 제3 음성 세그먼트에 대응되는 제3 텍스트 세그먼트(예로, 'call') 및 제4 음성 세그먼트에 대응되는 제4 텍스트 세그먼트(예로, 'me')를 획득할 수 있다.
프로세서(130)는 복수의 텍스트 세그먼트에 기초하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다. 일 실시예로, 프로세서(130)는, 후 처리 모듈(post-processing module)(50)을 이용하여, 복수의 텍스트 세그먼트에 대응되는 음성 세그먼트가 마이크(120)를 통해 입력된 순서에 따라, 복수의 텍스트 세그먼트를 조합하여 제1 사용자 음성에 대응되는 텍스트를 획득할 수 있다. 여기서, 후 처리 모듈(50)은, 제2 모델(30)을 통해 획득된 복수의 음성 세그먼트 별 언어 유형 또는 입력 순서를 이용하여, 복수의 텍스트 세그먼트를 조합하는 모듈을 의미한다.
예를 들어, 제1 텍스트 세그먼트 내지 제4 텍스트 세그먼트 각각은 제1 음성 세그먼트 내지 제4 음성 세그먼트 각각에 대응될 수 있다. 프로세서(130)는, 후 처리 모듈(50)을 통해 각 음성 세그먼트가 입력된 순서에 따라, 각 음성 세그먼트에 대응되는 텍스트 세그먼트를 조합하여 사용자 음성에 대응되는 텍스트(예로, Que pasa call me)를 획득할 수 있다.
상술된 본 개시의 일 실시예에 의해, 전자 장치(100)는 ASR 모델을 이용하기 전 인식하기 위한 언어의 유형을 사용자로부터 입력받을 필요가 없다.
또한, 사용자로부터 입력된 음성에 다양한 유형의 언어가 포함되어 있는 경우, 전자 장치(100)는 분할된 음성 세그먼트의 언어 유형을 식별하고, 각 음성 세그먼트를 식별된 언어 유형에 대응되는 ASR 모델에 입력함으로써 보다 정확한 텍스트 세그먼트를 획득할 수 있다.
또한, 전자 장치(100)는 기존의 ASR 모델이 학습하지 않은 유형의 언어의 단어(예로, 개체명 등)를 이용하여 기존의 ASR 모델을 추가 학습할 필요가 없다.
한편, 본 개시의 또 다른 실시예로, 제2 모델(30)이 학습하지 않은 제3 언어 유형을 인식하도록 학습할 것을 요구하는 사용자 명령이 입력되면, 프로세서(130)는 제3 언어 유형과 관련된 학습 데이터에 기초하여 제2 모델(30)을 학습시킬 수 있다. 다만, 이는 일 실시예에 불과하며, 프로세서(130)는 제3 언어 유형과 관련된 학습 데이터에 기초하여 제1 모델(20) 및 제2 모델(30)을 모두 학습시킬 수 있다.
예를 들어, 제2 모델(30)은 영어, 스페인어 및 한국어를 기반으로 학습된 인공 지능 모델인 경우를 가정한다. 프로세서(130)는 독일어가 포함된 사용자 음성을 인식할 수 있도록 학습할 것을 요구하는 사용자 명령을 입력받을 수 있다. 구체적으로, 프로세서(130)는 전자 장치(100)가 인식할 수 있는 언어를 설정할 수 있는 설정 UI를 표시할 수 있다. 프로세서(130)는 설정 UI를 통해 독일어를 인식하도록 학습할 것을 요구하는 사용자 명령을 입력받을 수 있다.
사용자 명령이 입력되면, 프로세서(130)는 통신부(140)를 통해 외부 서버로부터 독일어와 관련된 학습 데이터를 수신하고, 수신된 학습 데이터에 기반하여 제2 모델(30)을 추가 학습시킬 수 있다. 다만, 이는 일 실시예에 불과하며, 프로세서(130)는 수신된 학습 데이터에 기반하여 제1 모델(20) 및 제2 모델(30) 모두를 추가 학습시킬 수 있다.
예를 들어, 제1 모델(20)은 독일어가 포함된 사용자 음성의 단어 경계를 감지함으로써 복수의 음성 세그먼트를 출력할 수 있다. 그리고, 제2 모델(20)은 복수의 음성 세그먼트 중 독일어로 이루어진 특정 음성 세그먼트를 식별하고, 특정 음성 세그먼트의 언어 유형을 나타내는 ID 정보를 출력할 수 있다. 그리고, 프로세서(130)는 독일어로 이루어진 음성 세그먼트를 독일어를 기반으로 학습된 ASR 모델에 입력할 수 있다.
상술된 본 개시의 일 실시예에 의해, 전자 장치(100)는 새로운 유형의 언어가 포함된 음성을 인식하고 이에 대응되는 텍스트를 출력하기 위해 ASR 모델을 추가적으로 학습시킬 필요가 없다.
한편, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(130)와 메모리(110)를 통해 동작된다.
하나 또는 복수의 프로세서(130)는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다.
학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은 복수의 인공 신경망을 포함하며, 인공 신경망은 복수의 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
도 4는 본 개시의 일 실시예에 따른, 제1 모델 및 제2 모델의 구성 및 동작을 설명하기 위한 도면이다.
일 실시예로, 제1 모델 및 제2 모델 각각은 적어도 하나의 전 연결(fully connected layer, FC) 레이어(410-1,410-2,430-1,430-2,430-3) 및 적어도 하나의 셀프 어텐션 레이어(self-attention layer)(400-1, 400-2, 440-1, 440-2)가 포함될 수 있다. 셀프 어텐션 레이어는, 입력된 사용자 음성 중 일부 프레임(frame)을 처리하는 동안, 인접된 프레임을 고려하기 위해 각 모델에 포함될 수 있다.
도 4에 도시된 바와 같이, 제1 모델은, 입력된 사용자 음성을 이용하여, 멜 스펙트럼(mel-spectrum)을 추출할 수 있다. 제1 모델은 추출된 멜 스펙트럼을 셀프 어텐션 레이어(400-1) 또는 FC 레이어에 입력함으로써 결과 데이터(420)를 출력할 수 있다. 예를 들어, 결과 데이터(420)에서 1은 단어 경계를 의미하고 0은 단어를 의미할 수 있다. 즉, 제1 모델은, 3개의 단어 경계에 기초하여, 사용자 음성을 3개의 음성 세그먼트를 분할할 수 있다.
그리고, 제2 모델은 음성 세그먼트를 전 연결 레이어(430-1) 또는 다른 셀프 어텐션 레이어에 입력함으로써 음성 세그먼트의 언어 유형을 나타내는 ID를 출력할 수 있다.
한편, 도 4에는 제1 모델 및 제2 모델이 별개의 모델인 경우를 도시하고 있으나, 이에 국한되는 것은 아니며 제1 모델 및 제2 모델은 하나의 모델로 구현될 수 있다. 예를 들어, 제1 모델 및 제2 모델이 하나의 모델(예로, 제3 모델)로 구현된 경우를 가정한다. 사용자 음성이 입력되면, 제3 모델은 복수의 음성 세그먼트 및 복수의 음성 세그먼트 각각의 언어 유형 정보를 출력할 수 있다.
그리고, 제1 모델 및 제2 모델은 전자 장치(100)에 저장되어 있을 수 있으나, 이에 국한되는 것은 아니다. 제1 모델 및 제2 모델 중 적어도 하나는 외부 서버에 저장되어 있을 수 있다.
도 5는 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 순서도이다.
전자 장치(100)는 제1 사용자 음성을 입력받을 수 있다(S510). 전자 장치(100)는 제1 사용자 음성을 제1 모델에 입력하여 복수의 음성 세그먼트를 획득할 수 있다(S520). 제1 모델은 사용자 음성 중 단어 경계를 감지하고, 감지된 단어 경계에 기초하여 사용자 음성을 복수의 음성 세그먼트로 분할 및 식별할 수 있다.
전자 장치(100)는 복수의 음성 세그먼트를 제2 모델에 입력하여 복수의 음성 세그먼트 각각의 언어 유형을 획득할 수 있다(S530). 제2 모델은 복수의 음성 세그먼트 각각의 언어 유형을 나타내는 ID 정보를 출력할 수 있다.
전자 장치(100)는 복수의 음성 세그먼트 각각을 복수의 모델 중 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득할 수 있다(S540).
예를 들어, 복수의 음성 세그먼트 중 제1 음성 세그먼트 및 제2 음성 세그먼트 각각의 언어 유형이 제1 언어 유형(예로, 한국어) 및 제2 언어 유형(예로, 영어)인 경우를 가정한다. 전자 장치(100)는 제1 음성 세그먼트를 복수의 ASR 모델 중 제1 언어 유형(예로, 한국어)에 대응되는 ASR 모델에 입력하여 제1 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득할 수 있다. 이 때, 제1 언어 유형에 대응되는 ASR 모델은 제1 언어 유형 기반으로 학습된 모델을 의미한다. 그리고, 전자 장치(100)는 제2 음성 세그먼트를 복수의 ASR 모델 중 제2 언어 유형에 대응되는 ASR 모델에 입력하여 제2 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득할 수 있다.
전자 장치(100)는 복수의 텍스트 세그먼트에 기초하여 제1 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S550). 구체적으로, 전자 장치(100)는, 복수의 텍스트 세그먼트에 대응되는 음성 세그먼트가 전자 장치(100)에 입력된 순서에 따라, 복수의 텍스트 세그먼트를 조합하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득할 수 있다.
도 6은 본 개시의 일 실시예에 따른, 전자 장치 및 서버의 동작을 설명하기 위한 시퀀스도이다. 도 6의 S610 내지 S630 각각은 도 5의 S510 내지 S530 각각과 동일하므로 중복되는 설명은 생략하도록 한다.
전자 장치(100)는 제1 음성 세그먼트 및 제2 음성 세그먼트를 획득하였으며, 제1 음성 세그먼트의 언어 유형은 제1 언어 유형(예로, 한국어)이고, 제2 음성 세그먼트의 언어 유형은 제2 언어 유형(예로, 영어)인 경우를 가정한다. 그리고, 제1 언어 유형을 기반으로 학습된 제1 ASR 모델은 제1 서버(600)에 저장되어 있고, 제2 언어 유형을 기반으로 학습된 제2 ASR 모델은 제2 서버(605)에 저장된 경우를 가정한다.
전자 장치(100)는 복수의 ASR 모델 중 각 음성 세그먼트의 언어 유형에 대응되는 ASR 모델에 각 음성 세그먼트를 입력할 수 있다. 예로, 전자 장치(100)는 제1 음성 세그먼트를 제1 ASR 모델이 저장된 제1 서버(600)에 전송할 수 있다(S640). 그리고, 전자 장치(100)는 제2 음성 세그먼트를 제2 ASR 모델이 저장된 제2 서버(605)에 전송할 수 있다. 이 때, 제1 음성 세그먼트는 제2 음성 세그먼트보다 전자 장치(100)에 먼저 입력된 음성 세그먼트일 수 있다.
다만, 이는 일 실시예에 불과하며, 전자 장치(100)는 제1 음성 세그먼트 및 제2 음성 세그먼트 각각을 동시에 또는 순서에 상관 없이 제1 서버(600) 및 제2 서버(605) 각각에 전송할 수 있다.
제1 서버(600)는 수신된 제1 음성 세그먼트를 제1 ASR 모델에 입력하여 제1 텍스트 세그먼트를 획득할 수 있다(S660). 제1 서버(600)는 제1 텍스트 세그먼트를 전자 장치(100)에 전송할 수 있다(S665). 그리고, 제2 서버(605)는 수신된 제2 음성 세그먼트를 제2 ASR 모델에 입력하여 제2 텍스트 세그먼트를 획득할 수 있다(S670). 제2 서버(605)는 제2 텍스트 세그먼트를 전자 장치(100)에 전송할 수 있다(S675). 한편, S660 내지 S675는 순서가 변경될 수 있다. 즉, 제2 서버(605)가 먼저 제2 텍스트 세그먼트를 획득하여 전자 장치(100)에 전송할 수 있다.
전자 장치(100)는 획득된 텍스트 세그먼트에 기초하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S680). 전자 장치(100)는 제1 및 제2 음성 세그먼트가 입력된 순서에 따라, 제1 텍스트 및 제2 텍스트 세그먼트를 조합하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다.
도 7은 본 개시의 일 실시예에 따른, 전자 장치(100)가 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 도면이다.
전자 장치(100)는 사용자로부터 입력된 음성을 기 정의된 시간(예로, 25ms)을 가진 복수의 프레임으로 분할 또는 변환할 수 있다. 그리고, 전자 장치(100)는 비 음성 프레임(non-speech frame)을 필터링(filtering)할 수 있다. 이에 따라, 전자 장치(100)는 복수의 음성 프레임만을 획득할 수 있다. 여기서, 음성 프레임은 음성 성분이 포함된 프레임을 의미하며, 비 음성 프레임은 음성 성분이 포함되지 않은 프레임(예로, 침묵 또는 정적 구간(silence period))을 의미할 수 있다.
예를 들어, 전자 장치(100)는 음성 활동 감지(Speech Activity Detection, SAD)(또는, Voice Activity Detection, VAD) 기술을 이용하여 사용자 음성 중 음성 프레임 및 비 음성 프레임을 분류하고, 비 음성 프레임을 필터링할 수 있다.
전자 장치(100)는 획득된 복수의 음성 프레임을 제2 모델(700)에 입력하여 상기 복수의 음성 프레임의 언어 유형을 획득할 수 있다. 음성 프레임의 언어 유형은 음성 프레임에 포함된 음성 성분에 대응되는 언어 유형을 의미할 수 있다. 그리고, 제2 모델(700)은 도 2를 참조하여 설명한 제2 모델(30)과 동일한 모델일 수 있다. 또 다른 예로, 제2 모델(700)은 언어 프레임을 기 정의된 시간(예로, 25ms)을 갖는 프레임 별 언어 유형을 획득하도록 학습된 인공 지능 모델로 구현될 수 있다.
전자 장치(100)는 복수의 음성 프레임 각각을 복수의 음성 프레임 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 복수의 음성 프레임에 대응되는 텍스트 세그먼트를 획득할 수 있다.
예를 들어, 도 7에 도시된 바와 같이, 전자 장치(100)는 SVD 기술을 이용하여 사용자 음성을 기 정의된 시간을 갖는 복수의 프레임으로 분할 또는 변환할 수 있다. 그리고, 전자 장치(100)는 복수의 프레임 중 비 음성 프레임을 필터링하여 복수의 음성 프레임을 획득할 수 있다.
복수의 음성 프레임 중 제1 프레임 내지 제4 프레임의 언어 유형이 한국어인 경우, 전자 장치(100)는 제1 프레임 내지 제4 프레임을 한국어 기반으로 학습된 ASR 모델에 입력하여 각 프레임에 대응되는 텍스트 세그먼트를 획득할 수 있다. 그리고, 제5 프레임 내지 제6 프레임의 언어 유형이 영어인 경우, 전자 장치(100)는 제5 프레임 내지 제6 프레임을 영어 기반으로 학습된 ASR 모델에 입력하여 각 프레임에 대응되는 텍스트 세그먼트를 획득할 수 있다.
이 때, 각 ASR 모델은 전자 장치(100)에 포함되어 있을 수 있으나, 외부 서버에 저장되어 있을 수 있다. 각 ASR 모델은 하나의 외부 서버에 저장되어 있을 수 있고, 서로 별개의 외부 서버에 저장되어 있을 수 있다.
전자 장치(100)는 획득된 텍스트 세그먼트를 후 처리 모듈(710)에 입력하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다. 전자 장치(100)는, 복수의 텍스트 세그먼트에 대응되는 프레임이 전자 장치(100)에 입력된 순서에 따라, 복수의 텍스트 세그먼트를 조합하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다.
한편, 본 개시의 또 다른 실시예로, 전자 장치(100)는 필터링된 비 음성 프레임과 복수의 음성 프레임을 전자 장치(100)에 입력된 순서에 따라 재조합할 수 있다. 그리고, 전자 장치(100)는 복수의 음성 프레임 중 제1음성 프레임 및 제1 음성 프레임과 인접한 제1 비 음성 프레임을 제1 음성 프레임의 언어 유형에 대응되는 ASR 모델에 입력하여 제1 음성 프레임에 대응되는 텍스트를 획득할 수 있다. 음성 프레임에 비 음성 프레임을 재조합하고, 재조합된 프레임을 ASR 모델에 입력 할 경우, ASR 모델에 의한 음성 인식의 강인함(robustness)이 증가될 수 있다.
도 8은 본 개시의 일 실시예에 따른, 전자 장치(100)가 음성 신뢰도에 기초하여 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 순서도이다.
사용자 음성이 입력되면, 전자 장치(100)는 입력된 사용자 음성을 복수의 ASR 모델 중 제1 ASR 모델에 입력할 수 있다(S810). 제1 ASR 모델은 사용자가 설정(또는, 선택)한 유형의 언어에 기반하여 학습된 ASR 모델을 의미하며, 기본 ASR 모델(또는, 오리지날(original) ASR 모델)이라고 표현될 수 있다. 예를 들어, 복수의 언어 중 사용자가 한국어를 선택한 경우, 전자 장치(100)는 입력된 사용자 음성을 한국어를 기반으로 학습된 ASR 모델(즉, 기본 ASR 모델)에 입력할 수 있다.
전자 장치(100)는 제1 ASR 모델을 통해 출력된 음성 신뢰도(confidence)가 임계값 미만인지 여부를 식별할 수 있다(S820). 음성 신뢰도는 ASR 모델이 어느 정도의 신뢰도를 가지고 음성을 인식하고 음성에 대응되는 텍스트로 출력하였는지 수치화한 것이다. 음성 신뢰도가 높다는 것은 ASR 모델이 높은 신뢰도로 음성을 인식하고 이에 대응되는 텍스트를 출력하였다는 것을 의미할 수 있다. 음성 신뢰도가 임계값 미만이라는 것은 제1 ASR 모델을 추가로 업데이트(또는, 재학습)해야 한다는 것을 의미할 수 있다. 그리고, 임계값은 연구 또는 실험 등에 의해 기 설정된 값일 수 있으며, 사용자에 의해 변경될 수 있음은 물론이다.
한편, 입력된 사용자 음성에 제1 ASR 모델이 학습한 언어 유형 기준으로 외래어(loanword)에 해당하는 단어가 포함될 경우, 제1 ASR 모델은 사용자 음성 중 외래어 단어에 대응되는 음성을 정확히 인식하지 못할 가능성이 존재한다. 이에 따라, 제1 ASR 모델은 임계값 미만의 음성 신뢰도를 출력할 가능성이 존재한다.
예를 들어, 제1 ASR 모델이 한국어를 기반으로 학습된 모델이고, 전자 장치(100)에 입력된 사용자 음성이 '근처에 액세서리 집 찾아줘'인 경우를 가정한다. 이 때, '액세서리'는 영어로부터 유입되어 쓰이는 외래어인 바, 제1 ASR 모델은 입력된 사용자 음성 중 액세서리에 대응되는 음성을 정확히 인식하지 못할 수 있다. 이에 따라, 제1 ASR 모델은 임계값 미만의 음성 신뢰도를 출력할 수 있다.
음성 신뢰도가 임계값 미만인 경우, 전자 장치(100)는 사용자 음성에 대응되는 텍스트 및 사용자 음성에 기초하여 제1 ASR 모델을 추가로 업데이트(또는, 재학습)할 수 있다(S830).
일 실시예로, 음성 신뢰도가 임계값 미만인 경우, 전자 장치(100)는 제1 ASR 모델을 업데이트하기 위하여 사용자 음성에 대응되는 텍스트를 사용자로부터 입력 받을 수 있다. 구체적으로, 전자 장치(100)는 입력한 사용자 음성에 대응되는 텍스트를 입력할 것을 요청하는 UI를 표시할 수 있다. 그리고, 전자 장치(100)는 표시된 UI를 통해 사용자로부터 입력된 사용자 음성에 대응되는 텍스트를 입력 받을 수 있다.
또 다른 실시 예로, 전자 장치(100)는 사용자 음성을 제1 ASR 모델이 학습한 유형의 언어를 기반으로 학습된 ASR 모델이 포함된 서버에 전송할 수 있다. 그리고, 전자 장치(100)는 서버로부터 사용자 음성에 대응되는 텍스트를 수신할 수 있다. 서버에서 학습된 ASR 모델은 단말 장치에서 저장된 ASR보다 많은 양의 학습 데이터에 기반하여 학습되어 인식률이 비교적 높을 수 있다.
전자 장치(100)는 사용자 또는 서버로부터 입력된 사용자 음성에 대응되는 텍스트 및 입력된 사용자 음성을 학습 데이터로 이용하여 제1 ASR 모델을 업데이트할 수 있다. 즉, 전자 장치(100)는 사용자 음성을 인식하고 사용자 음성에 대응되는 텍스트를 출력할 수 있도록 제1 ASR 모델을 추가 업데이트할 수 있다. 추가 업데이트에 따라, 제1 ASR 모델의 음성 인식률과 같은 성능이 향상될 수 있다.
한편, 제1 ASR 모델을 통해 출력된 음성 신뢰도가 임계값 이상인 경우, 전자 장치(100)는 제1 ASR 모델을 통해 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S840). 즉, 전자 장치(100)는 제1 ASR 모델을 출력된 텍스트를 사용자 음성에 대응되는 텍스트로서 획득할 수 있다.
도 9는 본 개시의 일 실시예에 따른, 전자 장치(100)가 음성 신뢰도에 기초하여 사용자 음성에 대응되는 텍스트를 획득하는 과정을 설명하기 위한 순서도이다.
사용자 음성이 입력되면, 전자 장치(100)는 입력된 사용자 음성을 복수의 ASR 모델 중 제1 ASR 모델에 입력할 수 있다(S910). 제1 ASR 모델은 도 8을 참조하여 설명한 바와 같이, 사용자가 설정(또는, 선택)한 유형의 언어에 기반하여 학습된 ASR 모델을 의미한다.
전자 장치(100)는 제1 ASR 모델을 통해 출력된 음성 신뢰도가 임계값 미만인지 여부를 식별할 수 있다(S920).
음성 신뢰도가 임계값 미만인 경우, 전자 장치(100)는 적어도 하나의 ASR 모델을 통해 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S930). 구체적으로, 도 5를 참조하여 설명한 바와 같이, 전자 장치(100)는 사용자 음성을 복수의 음성 세그먼트로 분할하고, 분할된 음성 세그먼트를 각 음성 세그먼트의 언어 유형에 대응되는 ASR 모델에 입력함으로써 텍스트 세그먼트를 획득하고, 획득된 텍스트 세그먼트를 조합하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다.
전자 장치(100)는 사용자 음성에 대응되는 텍스트를 제1 ASR 모델에 대응되는 언어 유형의 텍스트로 변환되도록 처리할 수 있다(S940). 구체적으로, 전자 장치(100)는 사용자 음성에 대응되는 텍스트 중 제1 ASR 모델이 학습하지 않은 유형의 언어의 텍스트가 포함되어 있는지 여부를 식별할 수 있다. 사용자 음성에 대응되는 텍스트 중 일부 텍스트가 제1 ASR 모델이 학습하지 않은 유형의 언어로 구성된 경우, 전자 장치(100)는 일부 텍스트가 제1 ASR 모델이 학습한 유형의 언어의 텍스트로 변환되도록 처리할 수 있다.
일 실시예로, 전자 장치(100)는 일부 텍스트를 제1 ASR 모델이 학습한 유형의 언어의 발음에 맞게 변환되도록 처리할 수 있다. 예를 들어, 제1 ASR 모델이 한국어를 기반으로 학습된 모델이고, 상기 일부 텍스트가 'taxi'인 경우를 가정한다. 전자 장치(100)는 상기 일부 텍스트인 'taxi'를 한국어 발음에 맞도록 '택시'로 변환되도록 처리할 수 있다. 즉, 전자 장치(100)는 영어로 구성된 일부 텍스트를 제1 ASR 모델이 학습한 유형인 한국어로 변환되도록 처리할 수 있다.
전자 장치(100)는 변환된 텍스트 및 사용자 음성에 기초하여 제1 ASR 모델을 학습시킬 수 있다(S950). 즉, 전자 장치(100)는 제1 ASR 모델이 학습한 유형의 언어로 변환된 텍스트 및 변환된 텍스트에 대응되는 사용자 음성에 입력에 기초하여 제1 ASR 모델을 재학습 시킴으로써 제1 ASR 모델의 음성 인식 성능을 높일 수 있다.
한편, 제1 ASR 모델을 통해 출력된 음성 신뢰도가 임계값 이상인 경우, 전자 장치(100)는 제1 ASR 모델을 통해 사용자 음성에 대응되는 텍스트를 획득할 수 있다(S960). 즉, 전자 장치(100)는 제1 ASR 모델을 출력된 텍스트를 사용자 음성에 대응되는 텍스트로서 획득할 수 있다.
도 10은 본 개시의 일 실시예에 따른, 전자 장치(100)의 구성을 상세히 도시한 블록도이다. 도 10에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 마이크(120), 프로세서(130), 통신부(140), 디스플레이(150), 입력부(160), 스피커(170) 및 센서(180)가 포함될 수 있다. 메모리(110), 마이크(120) 및 프로세서(130)는 도 1을 참조하여 구체적으로 설명하였으므로 중복되는 설명은 생략하도록 한다.
통신부(140)는 외부 장치(예로, 외부 서버 등)와 통신을 수행할 수 있다. 이때, 통신부(140)가 외부 장치와 통신 연결되는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 서버 또는 게이트웨이 등)를 거쳐서 통신하는 것을 포함할 수 있다.
통신부(140)는 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(140)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), 5G(5th generation), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다.
또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다.
통신부(140)는 음성 세그먼트를 ASR 모델을 저장하는 외부 서버에 전송할 수 있다. 예를 들어, 통신부(140)는, 프로세서(130) 제어에 의해, 한국어로 이루어진 음성 세그먼트를 한국어를 기반으로 학습된 ASR 모델이 저장된 외부 서버에 전송할 수 있다. 통신부(140)는 ASR 모델이 저장된 외부 서버로부터 음성 세그먼트에 대응되는 텍스트 세그먼트를 수신할 수 있다.
한편, 제1 모델 및 제2 모델 중 적어도 하나가 외부 서버에 저장되어 있는 경우, 통신부(140)는 사용자 음성 또는 음성 세그먼트 각각을 제1 모델 또는 제2 모델에 전송할 수 있다. 그리고, 통신부(140)는 제1 모델 또는 제2 모델로부터 전송된 데이터를 수신할 수 있다.
디스플레이(150)는 프로세서(130)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 디스플레이(150)는 복수의 언어 유형 중 하나를 선택하여 기본 ASR 모델을 설정할 수 있는 UI를 표시할 수 있다. UI를 통해 복수의 언어의 유형 중 하나가 선택되면, 프로세서(130)는 선택된 언어의 유형을 기반으로 학습된 ASR 모델을 기본 ASR 모델로 설정할 수 있다.
그리고, 디스플레이(150)는 터치 패널과 함께 터치 스크린으로 구현될 수 있으며, 플렉서블 디스플레이로 구현될 수 있다.
입력부(160)는 전자 장치(100)를 제어하기 위한 사용자 입력을 수신할 수 있다. 특히, 입력부(160)는 사용자 손 또는 스타일러스 펜 등을 이용한 사용자 터치를 입력받기 위한 터치 패널, 사용자 조작을 입력받기 위한 버튼 등이 포함될 수 있다. 그 밖에, 입력부(160)는 다른 입력 장치(예로, 키보드, 마우스, 모션 입력부 등)로 구현될 수 있다. 입력부(160)를 통해 기본 ASR 모델을 설정하기 위해 복수의 언어 중 하나를 선택하기 위한 사용자 명령을 입력받을 수 있다.
스피커(170)는 오디오 처리부에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다.
특히, 스피커(170)는 ASR 모델을 통해 출력된 텍스트를 처리하여 획득된 응답을 음성 형태로 출력할 수 있다. 예를 들어, 프로세서(130)는 획득된 텍스트를 언어 이해 모듈(Natural Language Understanding, NLU) 모듈에 입력하여 통해 텍스트의 의도(intent) 등을 식별할 수 있다. 그리고, 프로세서(130)는 식별된 의도에 기반하여 입력된 음성에 대한 응답을 획득하고, 획득된 응답을 스피커(170)을 통해 음성 형태로 출력할 수 있다.
한편, 오디오를 출력하기 위한 구성은 스피커로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다.
센서(180)는 전자 장치(100)의 다양한 상태 정보를 감지할 수 있다. 예로, 센서(180)는 전자 장치(100)의 움직임 정보를 감지할 수 있는 움직임 센서(예로, 자이로 센서, 가속도 센서 등)를 포함할 수 있으며, 사용자의 음성이 입력되었음을 감지할 수 있는 센서, 위치 정보를 감지할 수 있는 센서(예로, GPS(Global Positioning System) 센서), 전자 장치(100) 주위의 환경 정보를 감지할 수 있는 센서(예로, 온도 센서, 습도 센서, 기압 센서 등), 사용자의 존재를 감지할 수 있는 센서(예로, 카메라, UWB 센서, IR 센서, 근접 센서, 광센서 등) 등을 포함할 수 있다. 그 밖에, 센서(180)는 전자 장치(100)의 외부를 촬영하기 위한 이미지 센서 등을 더 포함할 수 있다.
한편, 본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 서버 클라우드를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다.
명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적은 저장매체'는 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예로, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
110: 메모리 120: 마이크
130: 프로세서

Claims (20)

  1. 전자 장치에 있어서,
    마이크;
    메모리; 및
    단어 경계(word boundary)에 기초하여 음성을 분할하도록 학습된 제1 모델에 상기 마이크를 통해 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트(segment)를 획득하고,
    음성의 언어 유형을 식별하도록 학습된 제2 모델에 상기 복수의 음성 세그먼트를 입력하여 상기 복수의 음성 세그먼트 각각의 언어 유형을 획득하고,
    상기 복수의 음성 세그먼트 각각을 복수의 ASR(Auto Speech Recognition) 모델 중 상기 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하고,
    상기 복수의 텍스트 세그먼트에 기초하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 제1 모델은,
    사용자 음성의 파형(waveform) 데이터에 기초하여 적어도 하나의 단어 경계를 식별하도록 학습되는 것을 특징으로 하는 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 음성 세그먼트 중 제1 음성 세그먼트 및 제2 음성 세그먼트 각각의 언어 유형이 제1 언어 유형 및 제2 언어 유형인 경우,
    상기 제1 음성 세그먼트를 상기 복수의 ASR 모델 중 제1 언어 유형에 대응되는 ASR 모델에 입력하여 상기 제1 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득하고, 상기 제2 음성 세그먼트를 상기 복수의 ASR 모델 중 제2 언어 유형에 대응되는 ASR 모델에 입력하여 제2 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 제2 모델이 학습하지 않은 제3 언어 유형을 인식하도록 학습할 것을 요구하는 사용자 명령이 입력되면, 상기 제3 언어 유형과 관련된 학습 데이터에 기초하여 상기 제2 모델을 학습시키는 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 텍스트 세그먼트에 대응되는 음성 세그먼트가 입력된 순서에 따라, 상기 복수의 텍스트 세그먼트를 조합하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 마이크를 통해 입력된 제2 사용자 음성을 복수의 프레임으로 변환하고, 상기 변환된 복수의 프레임 중 비 음성 프레임(non-speech frame)을 필터링(filtering)하여 복수의 음성 프레임(speech frame)을 획득하고,
    상기 획득된 복수의 음성 프레임을 상기 제2 모델에 입력하여 상기 복수의 음성 프레임 각각의 언어 유형을 획득하고,
    상기 복수의 음성 프레임 각각을 상기 복수의 음성 프레임 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 프레임에 대응되는 텍스트 세그먼트를 획득하고,
    상기 획득된 복수의 음성 프레임에 대응되는 텍스트 세그먼트에 기초하여 상기 제2 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 필터링된 비 음성 프레임과 상기 복수의 음성 프레임을 상기 마이크에 입력된 순서에 따라 재조합하고,
    상기 복수의 음성 프레임 중 제1 음성 프레임 및 상기 제1 음성 프레임에 인접한 제1 비 음성 프레임을 상기 제1 음성 프레임의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 제1 음성 프레임에 대응되는 텍스트 세그먼트를 획득하는 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 사용자 음성을 상기 복수의 ASR 모델 중 제1 ASR 모델에 입력하여 음성 신뢰도 값을 획득하고,
    상기 음성 신뢰도 값이 임계값 미만인 경우, 상기 제1 사용자 음성에 대응되는 텍스트 및 상기 사용자 음성에 기초하여 상기 제1 ASR 모델을 업데이트하는 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 사용자 음성을 상기 복수의 ASR 모델 중 제1 ASR 모델에 입력하여 음성 신뢰도 값을 획득하고,
    상기 음성 신뢰도 값이 임계값 미만인 경우, 상기 복수의 ASR 모델 중 적어도 하나의 ASR 모델을 이용하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하고,
    상기 획득된 제1 사용자 음성에 대응되는 텍스트를 상기 제1 ASR 모델에 대응되는 언어 유형의 텍스트로 변환하고,
    상기 변환된 텍스트 및 상기 제1 사용자 음성에 기초하여 상기 제1 ASR 모델을 업데이트 하는 전자 장치.
  10. 제8항에 있어서,
    상기 프로세서는,
    상기 음성 신뢰도 값이 상기 임계값 이상인 경우, 상기 제1 ASR 모델을 통해 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    단어 경계에 기초하여 음성을 분할하도록 학습된 제1 모델에 상기 전자 장치에 입력된 제1 사용자 음성을 입력하여 복수의 음성 세그먼트를 획득하는 단계;
    음성의 언어 유형을 식별하도록 학습된 제2 모델에 상기 복수의 음성 세그먼트를 입력하여 상기 복수의 음성 세그먼트 각각의 언어 유형을 획득하는 단계;
    상기 복수의 음성 세그먼트 각각을 복수의 ASR 모델 중 상기 복수의 음성 세그먼트 각각의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 세그먼트 각각에 대응되는 복수의 텍스트 세그먼트를 획득하는 단계; 및
    상기 복수의 텍스트 세그먼트에 기초하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 제1 모델은,
    사용자 음성의 파형(waveform) 데이터에 기초하여 적어도 하나의 단어 경계를 식별하도록 학습되는 것을 특징으로 하는 제어 방법.
  13. 제11항에 있어서,
    상기 복수의 텍스트 세그먼트를 획득하는 단계는,
    상기 복수의 음성 세그먼트 중 제1 음성 세그먼트 및 제2 음성 세그먼트 각각의 언어 유형이 제1 언어 유형 및 제2 언어 유형인 경우,
    상기 제1 음성 세그먼트를 상기 복수의 ASR 모델 중 제1 언어 유형에 대응되는 ASR 모델에 입력하여 상기 제1 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득하고, 상기 제2 음성 세그먼트를 상기 복수의 ASR 모델 중 제2 언어 유형에 대응되는 ASR 모델에 입력하여 제2 음성 세그먼트에 대응되는 텍스트 세그먼트를 획득하는 단계;를 포함하는 제어 방법.
  14. 제11항에 있어서,
    상기 제2 모델이 학습하지 않은 제3 언어 유형을 인식하도록 학습할 것을 요구하는 사용자 명령이 입력되면, 상기 제3 언어 유형과 관련된 학습 데이터에 기초하여 상기 제2 모델을 학습시키는 단계;를 더 포함하는 제어 방법.
  15. 제11항에 있어서,
    상기 복수의 텍스트 세그먼트에 대응되는 음성 세그먼트가 입력된 순서에 따라, 상기 복수의 텍스트 세그먼트를 조합하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 단계;를 더 포함하는 제어 방법.
  16. 제11항에 있어서,
    상기 전자 장치에 입력된 제2 사용자 음성을 복수의 프레임으로 변환하고, 상기 변환된 복수의 프레임 중 비 음성 프레임을 필터링하여 복수의 음성 프레임을 획득하는 단계;
    상기 획득된 복수의 음성 프레임을 상기 제2 모델에 입력하여 상기 복수의 음성 프레임 각각의 언어 유형을 획득하는 단계;
    상기 복수의 언어 프레임 각각을 상기 획득된 언어 유형에 대응되는 ASR 모델에 입력하여 상기 복수의 음성 프레임에 대응되는 텍스트 세그먼트를 획득하는 단계; 및
    상기 획득된 복수의 음성 프레임에 대응되는 텍스트 세그먼트에 기초하여 상기 제2 사용자 음성에 대응되는 텍스트를 획득하는 단계;를 더 포함하는 제어 방법.
  17. 제16항에 있어서,
    상기 복수의 음성 프레임에 대응되는 텍스트 세그먼트를 획득하는 단계는,
    상기 필터링된 비 음성 프레임과 상기 복수의 음성 프레임을 상기 전자 장치에 입력된 순서에 따라 재조합하는 단계; 및
    상기 복수의 음성 프레임 중 제1 음성 프레임 및 상기 제1 음성 프레임에 인접한 제1 비 음성 프레임을 상기 제1 음성 프레임의 언어 유형에 대응되는 ASR 모델에 입력하여 상기 제1 음성 프레임에 대응되는 텍스트 세그먼트를 획득하는 단계;를 포함하는 제어 방법.
  18. 제11항에 있어서,
    상기 제1 사용자 음성을 상기 복수의 ASR 모델 중 제1 ASR 모델에 입력하여 음성 신뢰도 값을 획득하는 단계; 및
    상기 음성 신뢰도 값이 임계값 미만인 경우, 상기 제1 사용자 음성 및 상기 제1 사용자 음성에 대응되는 텍스트에 기초하여 상기 제1 ASR 모델을 업데이트하는 단계;를 더 포함하는 제어 방법.
  19. 제11항에 있어서,
    상기 제1 사용자 음성을 상기 복수의 ASR 모델 중 제1 ASR 모델에 입력하여 음성 신뢰도를 획득하는 단계;
    상기 음성 신뢰도 값이 임계값 미만인 경우, 상기 복수의 ASR 모델 중 적어도 하나의 ASR 모델을 이용하여 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 단계;
    상기 획득된 제1 사용자 음성에 대응되는 텍스트를 상기 제1 ASR 모델에 대응되는 언어 유형의 텍스트로 변환하는 단계; 및
    상기 변환된 텍스트 및 상기 제1 사용자 음성에 기초하여 상기 제1 ASR 모델을 업데이트하는 단계;를 더 포함하는 제어 방법.
  20. 제18항에 있어서,
    상기 음성 신뢰도 값이 상기 임계값 이상인 경우, 상기 제1 ASR 모델을 통해 상기 제1 사용자 음성에 대응되는 텍스트를 획득하는 단계;를 더 포함하는 제어 방법.
KR1020210022137A 2021-02-18 2021-02-18 전자 장치 및 이의 제어 방법 KR20220118242A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210022137A KR20220118242A (ko) 2021-02-18 2021-02-18 전자 장치 및 이의 제어 방법
PCT/KR2021/003944 WO2022177063A1 (ko) 2021-02-18 2021-03-30 전자 장치 및 이의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210022137A KR20220118242A (ko) 2021-02-18 2021-02-18 전자 장치 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
KR20220118242A true KR20220118242A (ko) 2022-08-25

Family

ID=82932022

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210022137A KR20220118242A (ko) 2021-02-18 2021-02-18 전자 장치 및 이의 제어 방법

Country Status (2)

Country Link
KR (1) KR20220118242A (ko)
WO (1) WO2022177063A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101134455B1 (ko) * 2009-06-25 2012-04-13 한국전자통신연구원 음성 인식 장치 및 그 방법
US20110307252A1 (en) * 2010-06-15 2011-12-15 Microsoft Corporation Using Utterance Classification in Telephony and Speech Recognition Applications
KR20140120560A (ko) * 2013-04-03 2014-10-14 삼성전자주식회사 통역 장치 제어 방법, 통역 서버의 제어 방법, 통역 시스템의 제어 방법 및 사용자 단말
KR20170000722A (ko) * 2015-06-24 2017-01-03 엘지전자 주식회사 전자기기 및 그의 음성 인식 방법
KR102281590B1 (ko) * 2019-07-31 2021-07-29 엘지전자 주식회사 음성인식 성능 향상을 위한 비 지도 가중치 적용 학습 시스템 및 방법, 그리고 기록 매체

Also Published As

Publication number Publication date
WO2022177063A1 (ko) 2022-08-25

Similar Documents

Publication Publication Date Title
US10832674B2 (en) Voice data processing method and electronic device supporting the same
US11367434B2 (en) Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium
US10777193B2 (en) System and device for selecting speech recognition model
KR102371313B1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 전자 장치의 제어 방법
KR102443087B1 (ko) 전자 기기 및 그의 음성 인식 방법
US11631400B2 (en) Electronic apparatus and controlling method thereof
US20220130392A1 (en) Electronic device and control method thereof
US20190019509A1 (en) Voice data processing method and electronic device for supporting the same
CN112840396A (zh) 用于处理用户话语的电子装置及其控制方法
CN113168227A (zh) 执行电子装置的功能的方法以及使用该方法的电子装置
KR20200023088A (ko) 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법
US11474780B2 (en) Method of providing speech recognition service and electronic device for same
US11468892B2 (en) Electronic apparatus and method for controlling electronic apparatus
KR20210044475A (ko) 대명사가 가리키는 객체 판단 방법 및 장치
KR101989127B1 (ko) 번역 장치, 번역 방법 및 번역 컴퓨터 프로그램
US11151995B2 (en) Electronic device for mapping an invoke word to a sequence of inputs for generating a personalized command
CN112384974A (zh) 电子装置和用于提供或获得用于训练电子装置的数据的方法
KR20210042520A (ko) 전자 장치 및 이의 제어 방법
CN111145735A (zh) 电子设备及其操作方法
US20210241771A1 (en) Electronic device and method for controlling the electronic device thereof
KR20220118242A (ko) 전자 장치 및 이의 제어 방법
KR20220086265A (ko) 전자 장치 및 전자 장치의 동작 방법
KR20210044606A (ko) 웨이크업 모델 생성 방법 및 이를 위한 전자 장치
US20240112676A1 (en) Apparatus performing based on voice recognition and artificial intelligence and method for controlling thereof
US20240071363A1 (en) Electronic device and method of controlling text-to-speech (tts) rate