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

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

Info

Publication number
KR20200126675A
KR20200126675A KR1020190050603A KR20190050603A KR20200126675A KR 20200126675 A KR20200126675 A KR 20200126675A KR 1020190050603 A KR1020190050603 A KR 1020190050603A KR 20190050603 A KR20190050603 A KR 20190050603A KR 20200126675 A KR20200126675 A KR 20200126675A
Authority
KR
South Korea
Prior art keywords
user
voice
neural network
electronic device
input
Prior art date
Application number
KR1020190050603A
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 KR1020190050603A priority Critical patent/KR20200126675A/ko
Priority to PCT/KR2019/016547 priority patent/WO2020222384A1/ko
Publication of KR20200126675A publication Critical patent/KR20200126675A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치 및 이의 제어 방법이 제공된다. 본 전자 장치는 마이크, 적어도 하나의 인스트럭션(Instruction)을 저장하는 메모리 및 상기 적어도 하나의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 마이크를 통해 입력된 음성을 발화한 사용자를 인식하고, 상기 사용자가 인식된 후 상기 마이크를 통해 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자의 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하고, 상기 제1 신경망에서 출력된 결과를 상기 제1 인공지능 모델의 제2 신경망에 입력하고, 상기 제1 신경망 및 상기 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하고, 상기 획득한 제어 정보에 대응하는 기능을 수행하며 상기 제1 신경망은 복수의 사용자 데이터베이스에 저장된 데이터를 바탕으로 학습된 신경망이며 상기 제2 신경망은 상기 인식된 사용자의 데이터베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 할 수 있다.

Description

전자 장치 및 이의 제어 방법{Electronic device and Method for controlling the electronic device thereof}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 입력된 사용자 음성을 발화한 사용자를 인식하고, 인식된 사용자 음성 명령에 대응하는 기능을 수행하는 전자 장치 및 이의 제어 방법에 관한 것이다.
근래에는 인공 지능 시스템을 활용한 음성 인식 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습시키고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습시키는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다. 특히, 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다.
다만, 기존의 심층 기계학습을 하기 위해서는 고성능 컴퓨터 서버를 사용하기 때문에 많은 비용 및 공간을 필요로 하고, 특히 일반 사용자가 구하기 어려운 매우 큰 규모의 데이터베이스도 필요하였다. 따라서, 일반적으로 사용하는 가전 시스템이나 휴대용 기기에서는 심층 기계학습 기술을 활용하기 어렵다는 한계가 존재하였다.
한편, 근래에 사용자 음성에서 음성지문을 추출하여 입력된 음성을 발화한 사용자를 인식하는 기술이 계속적으로 개발되고 있다. 다만, 기존에는 사용자의 피드백과 함께 제공되는 음성만을 음성지문으로 저장하여 화자 인식을 진행하였는 바, 지속적인 사용으로 얻게 되는 사용자의 정보를 보완한 음성지문을 활용하기 위해서는 사용자의 피드백이 계속적으로 필요로 한다는 한계가 존재하였다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 지속적으로 제공되는 사용자 정보를 보완한 음성지문을 활용하여 사용자 음성을 인식하고, 사용자 음성 명령에 대한 정보를 획득하여 음성 명령에 대응하는 기능을 수행하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른 전자 장치는 마이크, 디스플레이, 적어도 하나의 인스트럭션(Instruction)을 저장하는 메모리 및 상기 적어도 하나의 인스트럭션을 실행하는 프로세서를 포함하고 상기 프로세서는 상기 마이크를 통해 입력된 음성을 발화한 사용자를 인식하고, 상기 사용자가 인식된 후 상기 마이크를 통해 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자의 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하고, 상기 인식된 사용자의 데이터 베이스 및 상기 제1 신경망에서 출력된 결과를 제1 인공지능 모델의 제2 신경망에 입력하고, 상기 제1 신경망 및 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하고, 상기 제1 신경망은 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 신경망이며, 상기 제2 신경망은 사용자의 데이터 베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 할 수 있다.
한편, 상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른 전자 장치 제어 방법은 사용자 음성을 입력받으면, 상기 입력된 음성을 발화한 사용자를 인식하는 단계, 상기 사용자가 인식된 후 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하는 단계, 상기 제1 신경망에서 출력된 결과를 상기 제1 인공지능 모델의 제2 신경망에 입력하는 단계, 상기 제1 신경망 및 상기 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하는 단계 및 상기 획득한 제어 정보에 대응하는 기능을 수행하는 단계를 포함할 수 있고, 상기 제1 신경망은 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 신경망이며, 상기 제2 신경망은 사용자의 데이터 베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 할 수 있다.
상술한 바와 같이 본 개시의 다양한 실시예에 의해, 전자 장치는 지속적으로 사용자 정보가 보완된 음성지문을 활용하여 사용자를 인식하고, 복수의 신경망을 포함하는 인공지능 모델을 통해 사용자 음성 명령에 대응하는 제어 정보를 확보함으로써 사용자는 편리하게 음성 명령어 인식 시스템을 활용할 수 있다.
도 1은 본 개시의 일 실시예에 따른, 발화한 사용자를 인식하고 인식한 사용자의 명령에 따라 기능을 수행하는 전자 장치의 사용도,
도 2a는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 간략히 도시한 블록도,
도 2b는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도,
도 3은 본 개시의 일 실시예에 따른, 음성지문을 추출하는 과정을 설명하기 위한 블록도,
도 4a는 본 개시의 일 실시예에 따른, 추출한 음성지문과 기등록된 음성지문을 비교하는 과정을 설명하기 위한 도면,
도 4b는 본 개시의 일 실시예에 따른, 발화한 사용자를 인식하는 경우의 UI를 설명하기 위한 도면,
도 4c는 본 개시의 일 실시예에 따른, 기설정된 개수 이상으로 음성지문이 저장된 경우, 음성지문을 추가적으로 저장하는 과정을 설명하기 위한 도면,
도 5는 본 개시의 일 실시예에 따른, 음성지문을 비교하고 저장하는 과정을 설명하기 위한 순서도,
도 6은 본 개시의 일 실시예에 따른, 사용자의 음성 명령이 인식되는 과정을 설명하기 위한 블록도,
도 7은 본 개시의 일 실시예에 따른, 사용자의 음성 명령이 인식되는 과정을 설명하기 위한 블록도,
도 8은 본 개시의 일 실시예에 따른, 인공지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도,
도 9는 본 개시의 일 실시예에 따른, 학습부 및 인식부의 구체적인 구성을 나타내는 블록도,
도 10은 본 개시의 일 실시예에 따른, 인식한 음성 명령 정보가 맞는지 여부를 확인하는 UI를 설명하기 위한 도면,
도 11은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(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)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 전자레인지, 공기 청정기, 셋톱 박스, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), 항공 전자기기(avionics), 보안 기기, 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 중 적어도 하나를 포함할 수 있다.
본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하에서는 도면을 참조하여 본 개시에 대해 더욱 상세히 설명하도록 한다.
도 1은 본 개시의 일 실시예에 따른, 발화한 사용자를 인식하고 인식한 사용자의 명령에 따라 기능을 수행하는 전자 장치의 사용도이다.
먼저, 도 1의 (a)에 도시된 바와 같이, 전자 장치(100)는 마이크(110)를 통해 사용자로부터 음성(10)을 입력받을 수 있다. 특히, 사용자로부터 입력받은 음성(10)은 사용자를 나타내는 음성지문 추출(30)을 개시하는 트리거 음성일 수 있다. 트리거 음성은 도 1의 (a)에 도시된 바와 같이 '하이 빅스비'일 수 있으나 이는 일 실시예에 불과하며 사용자가 자유롭게 설정할 수 있다.
한편, 전자 장치(100)는 사용자로부터 입력받은 음성(10)을 음성지문을 획득하기 위해 학습된 제2 인공지능 모델(20)에 입력하기 전에 전처리할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 입력받은 음성에서 실제 사용자의 음성과 의미가 내포되지 않은 배경 노이즈(Noise)를 구분하고 배경 노이즈를 삭제할 수 있다. 즉, 전자 장치(100)는 제2 인공지능 모델(20)에 실제 의미가 있는 사용자 음성만을 입력하기 위하여 입력받은 음성(10) 중 의미 없는 배경 노이즈는 삭제할 수 있다. 또한, 일 실시예로, 전자 장치(100)는 사용자로부터 입력받은 음성(10) 중 사용자 음성이 존재하는 주파수 대역의 진폭만을 증폭시키고 나머지 주파수 대역은 삭제할 수 있다. 그리고, 전자 장치(100)는 전처리한 음성을 기설정된 프레임 단위로 분할하고, 프레임 구간에서 음성의 특징 벡터 또는 특징 행렬을 추출할 수 있다.
전자 장치(100)는 음성의 특징 벡터 또는 특징 행렬을 제2 인공지능 모델(20)에 입력하여 사용자를 나타내는 음성지문을 추출(30)할 수 있으나, 이는 일 실시예일 뿐이며 전자 장치(100)는 전처리된 음성을 그대로 제2 인공지능 모델(20)에 입력하여 사용자를 나타내는 음성지문을 추출(30)할 수 있다.
도 1의 (b)에서 도시하고 있는 사용자를 나타내는 음성지문(41)은 사용자 음성의 에너지의 주파수를 분석한 데이터일 수 있다. 사용자 음성의 에너지의 주파수를 분석한 데이터는 벡터, 행렬의 형태일 수 있으며 음성의 주파수 대역에서의 스펙트럼을 시각적으로 나타내는 이미지의 형태일 수 있다.
전자 장치(100)는 사용자를 나타내는 음성지문(41)을 기등록된 음성지문(42, 43-1,43-2)과 비교하여 입력된 사용자 음성을 발화한 사용자를 인식할 수 있다. 구체적으로, 전자 장치(100)는 사용자를 나타내는 음성지문(41)과 기등록된 음성지문(42, 43-1, 43-2)과 비교하여 오차를 계산할 수 있다. 그리고, 계산된 오차가 임계값을 초과하지 않는 경우, 전자 장치(100)는 입력된 음성을 발화한 사용자를 인식할 수 있다.
한편, 계산된 오차가 기설정된 값을 넘지 않는 경우, 전자 장치(100)는 사용자를 나타내는 음성지문(41)을 메모리(130)에 저장할 수 있다. 특히, 기설정된 값은 임계값보다 작은 값일 수 있다. 또한, 기설정된 개수를 초과하여 사용자를 나타내는 음성지문이 메모리(130)에 저장된 경우, 전자 장치(100)는 가장 나중에 저장된 사용자를 나타내는 음성지문을 삭제할 수 있다. 즉, 전자 장치(100)는 음성지문을 FIFO(First-in First-out) 방식으로 저장하고 관리할 수 있다. 즉, 전자 장치(100)는 음성지문(41)을 저장하기 위한 버퍼를 구비할 수 있다.
한편, 추가적으로 저장된 음성지문이 잘못된 데이터인 경우를 대비하여, 전자 장치(100)는 최초로 등록된 사용자를 나타내는 음성지문(42)은 계속 저장할 수 있다. 따라서, 기설정된 개수를 초과하여 사용자를 나타내는 음성지문이 저장되는 경우, 전자 장치(100)는 최초로 등록된 음성지문(42)는 제외하고 가장 나중에 저장된 음성지문을 삭제할 수 있다.
그리고, 기등록된 음성지문은 최초로 등록된 사용자를 나타내는 음성지문(42)과 저장된 사용자를 나타내는 음성지문(43-1, 43-2)의 평균 데이터일 수 있다. 일 실시예로, 기설정된 개수만큼 음성지문이 저장된 상태에서, 추가적으로 저장되는 음성지문이 있는 경우, 전자 장치(100)는 최초로 등록된 음성지문(42)을 제외하고 가장 나중에 저장된 음성지문(43-1)을 삭제한 뒤, 저장되어 있는 음성지문의 평균 데이터를 획득할 수 있다.
또한, 임계값은 새로 저장된 사용자를 나타내는 음성지문에 대응되어 변경될 수 있다. 즉, 사용자의 음성은 항상 동일할 수 없고 시간에 따라 차이가 있을 수 있으므로, 전자 장치(100)는 추가적으로 저장되는 음성지문에 따라 임계값을 변경할 수 있다. 구체적으로, 새로 저장된 음성지문에 대응되는 음성의 에너지 주파수 분포가 기등록된 음성지문에 대응되는 음성의 에너지 주파수 분포와 차이가 있는 경우, 전자 장치(100)는 차이에 대응되도록 임계값을 변경할 수 있다.
한편, 전자 장치(100)는 입력된 음성을 발화한 사용자를 인식하면 사용자를 인식했다는 메시지를 포함하는 UI(50)를 표시하도록 디스플레이(120)를 제어할 수 있다.
도 1(c)에 도시된 바와 같이, 음성지문을 통해 사용자가 인식 된 후, 인식된 사용자의 음성 명령(60)이 입력되면, 전자 장치(100)는 음성 명령을 복수의 신경망을 포함하는 제1 인공지능 모델(70)에 입력하여 음성 명령에 대응하는 제어 정보를 획득할 수 있다. 특히, 제1 인공지능 모델(70)은 복수의 사용자 음성 명령을 통해 학습된 제1 신경망 및 사용자의 음성 명령을 통해 학습된 제2 신경망을 이용하는 모델일 수 있다. 그리고, 제1 신경망은 일반(general) 신경망, 글로벌(Global) 신경망 등이라고 부를 수 있으며 이하에서는 일반 신경망으로 서술하도록 한다. 또한, 제2 신경망은 개인(personal) 신경망 등으로 부를 수 있으며 이하에서는 개인 신경망으로 서술하도록 한다.
구체적으로, 전자 장치(100)는 입력된 사용자의 음성 명령(60)을 제1 인공지능 모델(70)의 일반 신경망에 입력할 수 있다. 일반 신경망은 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 신경망일 수 있다. 복수의 사용자 데이터 베이스에는 복수의 사용자의 정보, 복수의 음성 명령 및 음성 명령에 대응하는 제어 정보가 저장될 수 있다.
그리고, 전자 장치(100)는 인식된 사용자의 데이터베이스 및 일반 신경망에서 출력된 결과를 제1 인공지능 모델(70)의 개인 신경망에 입력할 수 있다. 개인 신경망은 인식된 사용자의 데이터 베이스에 저장된 데이터를 바탕으로 추가 학습할 수 있다. 사용자의 데이터 베이스에는 인식된 사용자의 정보, 기존에 입력했던 음성 명령 및 음성 명령에 대응하는 제어 정보가 저장될 수 있다.
그리고, 일반 신경망에서 출력된 결과와 사용자 데이터 베이스에 저장된 데이터를 바탕으로 개인 신경망이 출력한 결과를 바탕으로 사용자 음성 명령에 대한 제어 정보를 획득할 수 있다. 즉, 전자 장치(100)는 사용자 음성 명령에 대한 제어 정보를 통해 음성 명령을 인식할 수 있다(80).
그리고, 전자 장치(100)는 획득한 제어 정보에 대응되는 기능을 수행할 수 있다. 예를 들면, '오늘 날씨 알려줘'라는 음성 명령(60)이 제1 인공지능 모델(70)에 입력되어 음성 명령에 대응하는 제어 정보를 획득한 경우, 전자 장치(100)는 오늘 날씨에 대한 정보를 포함하는 UI(90)를 표시하도록 디스플레이(120)를 제어할 수 있다.
한편, 본 개시에서 학습된 인공지능 모델은 인식 모델의 적용 분야 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 예로, 인공지능 모델은 음성 명령을 입력하여 음성 명령에 대응하는 제어 정보를 획득하도록 학습될 수 있다. 인식 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 이때, 이때, 인공지능 모델은 DNN(Deep Neural Network)일 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 인공지능 모델이 이용될 수 있다.
또한, 전자 장치(100)는 음성 명령에 대응되는 정보를 검색하기 위하여 인공지능 에이전트(Artificial intelligence agent)를 이용할 수 있다. 이때, 인공지능 에이전트는 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다.
구체적으로, 사용자 음성(10) 즉, 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력된 경우, 인공지능 에이전트가 동작할 수 있다. 그리고, 인공지능 에이전트는 사용자 음성을 바탕으로 음성 명령에 대응되는 정보를 획득할 수 있다.
물론, 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되면, 인공지능 에이전트가 동작할 수도 있다. 또는, 인공지능 에이전트는 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되기 이전에 기 실행된 상태일 수 있다. 이 경우, 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력된 이후에는 전자 장치(100)의 인공지능 에이전트가 사용자 음성 명령에 대한 제어 정보 정보 검색 기능을 수행할 수 있다. 또한, 인공지능 에이전트는 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성이 입력되기 이전에 대기 상태일 수 있다. 여기서, 대기 상태란, 인공지능 에이전트의 동작 시작을 제어하기 위해 미리 정의된 사용자 입력이 수신되는 것을 감지하는 상태이다. 인공지능 에이전트가 대기 상태인 동안 기설정된 트리거 음성이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 후 사용자 음성 명령이 입력되면, 전자 장치(100)는 인공지능 에이전트를 동작시키고, 사용자 음성 명령에 따른 제어 정보를 검색하여 제공할 수 있다.
도 2a는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 간략히 도시한 블록도이다. 도 2a에 도시된 바와 같이, 전자 장치(100)는 마이크(110), 디스플레이(120), 메모리(130) 및 프로세서(140)를 포함할 수 있다. 도 2a에 도시된 구성들은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
마이크(110)는 사용자 음성을 입력받기 위한 구성으로, 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)의 외부에 구비되어 전자 장치(100)와 전기적으로 연결되거나 통신부(160)를 통해 통신 연결될 수 있다. 특히, 마이크(110)는 전자 장치(100)를 제어하기 위한 별도의 리모트 컨트롤러에 구비될 수 있으며, 이때, 리모트 컨트롤러에는 인공지능 에이전트를 실행시키기 위한 버튼이 구비될 수 있다.
디스플레이(120)는 프로세서(140)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 전자 장치(100)가 마이크(110)를 통해 입력된 음성을 발화한 사용자를 인식했을 때, 디스플레이(120)는 사용자를 인식했다는 메시지를 포함하는 UI를 표시할 수 있다. 그리고, 디스플레이(120)는 전자 장치(100)가 제1 인공지능 모델(70)을 통해 획득한 정보가 사용자 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI를 표시할 수 있다.
그리고, 디스플레이(120)는 터치 패널과 함께 터치 스크린으로도 구현될 수 있다. 그러나 상술한 구현으로 한정되는 것은 아니며, 디스플레이(120)는 전자 장치(100)의 유형에 따라 다르게 구현될 수 있다.
메모리(130)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 인스트럭션(Instruction) 또는 데이터를 저장할 수 있다. 특히, 메모리(130)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(130)는 프로세서(140)에 의해 액세스되며, 프로세서(140)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(130), 프로세서(140) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(130)에는 디스플레이(120)의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
특히, 메모리(130)는 인공지능 에이전트를 수행하기 위한 프로그램을 저장할 수 있다. 이때, 인공지능 에이전트는 전자 장치(100)에 대한 다양한 서비스를 제공하기 위한 개인화된 프로그램이다. 또한, 메모리(130)는 사용자의 음성 명령에 대응하는 제어 정보를 획득하기 위해 학습된 제1 인공지능 모델(70)을 저장할 수 있다. 또한, 메모리(130)는 음성지문을 획득하기 위해 학습된 제2 인공지능 모델(20) 및 제2 인공지능 모델(20)에서 추출한 사용자를 나타내는 음성지문을 저장할 수 있다.
프로세서(140)는 메모리(130)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(140)는 메모리(130)에 저장되어 있는 적어도 하나의 인스트럭션을 실행함으로써, 마이크(110)를 통해 입력된 음성을 바탕으로 사용자를 나타내는 음성지문을 추출하고, 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 상기 입력된 사용자 음성을 발화한 사용자를 인식하고, 사용자가 인식된 후 마이크를 통해 인식된 사용자의 음성 명령이 입력되면, 사용자의 음성 명령을 복수의 신경망(Neural Network)을 포함하는 제1 인공지능 모델(70)에 입력하여 사용자의 음성 명령에 대응하는 제어 정보를 획득하고, 획득한 제어 정보에 대응하는 기능을 수행할 수 있다.
특히, 프로세서(140)는 마이크(110)를 통해 사용자 음성을 입력받으면 입력된 음성을 전처리할 수 있다. 구체적으로, 프로세서(140)는 입력받은 음성 중 의미가 없는 배경 노이즈 부분과 실제 사용자의 음성 부분을 구분하고, 배경 노이즈 부분을 삭제하여 실제 사용자의 음성 부분만을 획득할 수 있다. 또한, 프로세서(140)는 사용자 음성이 존재하는 주파수 대역의 진폭만을 증폭시키고 그 나머지 대역은 삭제할 수 있다. 다만, 상술한 방식은 일 실시예에 불과할 뿐, 프로세서(140)는 다양한 방식으로 입력한 음성을 전처리 할 수 있다.
그리고, 프로세서(140)는 전처리한 음성을 기설정된 프레임 단위로 분할하고, 프레임 구간에서 음성의 특징 벡터 또는 특징 행렬을 추출할 수 있다. 그리고, 프로세서(140)는 음성의 특징 벡터, 특징 행렬, 또는 전처리된 음성 자체를 제2 인공지능 모델(20)에 입력하여 사용자를 나타내는 음성지문을 추출할 수 있다. 사용자를 나타내는 음성지문은 사용자 음성의 에너지의 주파수를 분석한 데이터일 수 있다. 사용자 음성의 에너지의 주파수를 분석한 데이터는 벡터, 행렬의 형태일 수 있으며 음성의 주파수 대역에서의 스펙트럼을 시각적으로 나타내는 이미지의 형태일 수 있다.
한편, 프로세서(140)는 추출한 음성지문과 기등록된 음성지문을 비교하여 입력된 음성을 발화한 사용자를 인식할 수 있다. 구체적으로, 프로세서(140)는 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 오차를 계산하고, 계산된 오차가 임계값을 초과하지 않는 경우 입력된 음성을 발화한 사용자를 인식할 수 있다. 계산된 오차가 기설정된 값을 넘지 않을 경우, 프로세서(140)는 사용자를 나타내는 음성지문을 메모리(130)에 저장할 수 있다. 그리고, 메모리(130)에 기설정된 개수를 초과하여 사용자를 나타내는 음성지문이 저장된 경우, 가장 나중에 저장된 사용자를 나타내는 음성지문을 삭제할 수 있다.
한편, 기등록된 음성지문은 최초로 등록된 사용자를 나타내는 음성지문과 저장된 사용자를 나타내는 음성지문의 평균 데이터일 수 있다. 따라서, 프로세서(140)는 기설정된 개수를 초과하여 음성지문이 저장된 경우, 최초로 등록된 음성지문을 제외하고 가장 나중에 저장된 음성지문을 삭제할 수 있다. 그리고, 프로세서(140)는 최초로 등록된 음성 지문과 나머지 음성지문의 평균 데이터를 획득하고 새로 추출한 사용자를 나타내는 음성지문과 오차를 계산할 수 있다.
그리고, 프로세서(140)는 새로 저장된 사용자를 나타내는 음성지문에 대응하여 임계값을 변경할 수 있다. 구체적으로, 새로 저장된 음성지문에 대응되는 음성의 에너지 주파수 분포가 기등록된 음성지문에 대응되는 음성의 에너지 주파수 분포와 차이가 있는 경우, 프로세서(140)는 차이에 대응되도록 임계값을 변경할 수 있다.
또한, 프로세서(140)는 입력된 사용자의 음성명령을 제1 인공지능 모델(70)에 입력하고, 인식된 사용자의 데이터 베이스 및 일반 신경망에서 출력된 결과를 제1 인공지능 모델(70)의 개인 신경망에 입력할 수 있다. 그리고, 프로세서(140)는 일반 신경망 및 개인 신경망에서 출력된 결과를 바탕으로 사용자의 음성 명령에 대한 정보를 획득할 수 있다. 구체적으로, 프로세서(140)는 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 기학습된 일반 신경망에 사용자의 음성명령을 입력할 수 있다. 그리고, 프로세서(140)는 일반 신경망에서 출력한 음성 명령에 대응하는 제어 정보 및 인식된 사용자의 데이터베이스를 개인 신경망에 입력할 수 있다. 한편, 개인 신경망은 사용자 데이터베이스에 저장된 데이터를 바탕으로 추가 학습될 수 있다. 그리고, 프로세서(140)는 일반 신경망 및 개인 신경망에서 출력된 결과를 바탕으로 사용자의 음성 명령에 대한 최종 제어 정보를 획득할 수 있다.
그리고, 프로세서(140)는 획득한 정보가 사용자의 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 획득한 제어 정보가 사용자 음성 명령에 관한 정보와 맞지 않다는 사용자 입력이 있는 경우, 프로세서(140)는 획득한 정보 및 사용자 음성 명령을 개인 신경망에 입력하여 개인 신경망을 추가 학습할 수 있다. 따라서, 추후에 동일한 음성 명령이 입력될 때, 프로세서(140)는 학습한 개인 신경망을 통해 올바른 음성 명령에 대응되는 제어 정보를 획득할 수 있다.
그리고, 프로세서(140)는 획득한 제어 정보에 대응하는 기능을 수행할 수 있다. 예를 들어, 오늘 날씨를 알려달라는 사용자 음성 명령이 입력되어 오늘 날씨에 대응되는 제어 정보를 획득하면, 프로세서(140)는 오늘 날씨에 대한 UI를 표시하도록 디스플레이(120)를 제어할 수 있다.
도 2b는 본 개시의 일 실시예에 따른, 전자 장치(100)의 구성을 상세히 도시한 블록도이다. 도 2b에 도시한 바와 같이, 전자 장치(100)는 마이크(110), 디스플레이(120), 메모리(130), 프로세서(140), 스피커(150), 통신부(160), 카메라(170) 및 입력부(180)를 포함할 수 있다. 한편, 마이크(110), 디스플레이(120), 메모리(130) 및 프로세서(140)는 도 2a에서 설명하였으므로, 중복되는 설명은 생략하기로 한다.
스피커(150)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 다만, 스피커(150)는 일 실시예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 다른 출력 단자로 구현될 수도 있다.
통신부(160)는 다양한 통신 방식을 통해 외부의 장치와 통신을 수행할 수 있다. 통신부(160)가 외부 장치와 통신 연결되는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 서버 또는 게이트웨이 등)를 거쳐서 통신하는 것을 포함할 수 있다.
한편, 통신부(160)는 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(150)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), 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), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 또한, 통신부(160)는 유선 통신 모듈을 포함할 수 있으며 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 무선 통신 또는 유선 통신이 수행되는 네트워크는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
카메라(170)는 사용자를 촬영할 수 있다. 특히, 촬영된 사용자의 사진은 사용자가 인식될 때 표시되는 UI에 포함될 수 있다. 그리고, 카메라(170)는 전자 장치(100)의 전방 및 후방 중 적어도 하나에 구비될 수 있다. 한편, 카메라(170)는 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100) 외부에 존재하며, 전자 장치(100)와 유무선으로 연결될 수 있다.
입력부(180)는 다양한 사용자 입력을 수신하여 프로세서(140)로 전달할 수 있다. 특히, 입력부(180)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다.
특히, 입력부(180)는 UI를 통해 입력된 사용자 명령에 따른 입력 신호를 획득할 수 있다. 그리고, 입력부(180)는 입력 신호를 프로세서(140)로 전송할 수 있다.
프로세서(140)는 디지털 신호를 처리하는 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(140)는 메모리(130)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다. 뿐만 아니라, 프로세서(140)는 인공지능 기능을 수행하기 위하여, 별도의 AI 전용 프로세서인 GPU(graphics-processing unit), NPU(Neural Processing Unit), VPU(Visual Processing UniT) 중 적어도 하나를 포함할 수 있다.
도 3은 본 개시의 일 실시예에 따른 음성지문을 추출하는 과정을 설명하기 위한 블록도이다. 우선, 전자 장치(100)는 마이크(110)를 통해 사용자 음성을 입력받을 수 있다(310). 입력된 사용자 음성은 음성지문 추출을 개시하는 트리거 음성일 수 있다. 트리거 음성은 '하이 빅스비'일 수 있으나 이는 일 실시예에 불과하며, 사용자에 의해 자유롭게 변경될 수 있다.
사용자로부터 트리거 음성이 입력되면, 전자 장치(100)는 입력된 음성을 전처리할 수 있다(320). 전자 장치(100)는 실제 음성이 있는 주파수 대역의 진폭을 증폭시키고 나머지 대역은 삭제하는 등 다양한 방식으로 사용자 음성을 전처리할 수 있다. 또는, 전자 장치(100)는 음성지문을 획득하기 위해 학습된 제2 인공지능 모델(20)에 입력하기 위하여 입력된 음성에서 배경 노이즈를 삭제하고 실제 의미가 있는 음성만을 확보하는 과정을 거칠수 있다. 그리고, 전자 장치(100)는 전처리된 음성을 기설정된 프레임 단위로 분할하고, 프레임 구간에서 음성의 특징 벡터 또는 특징 행렬을 추출할 수 있다.
그리고, 전자 장치(100)는 추출한 음성의 특징 벡터, 특징 행렬 또는 전처리된 음성 자체를 제2 인공지능 모델(20)에 입력할 수 있다(330). 즉, 전자 장치(100)는 음성의 특징 벡터, 특징 행렬 뿐 아니라 전처리된 음성 자체를 제2 인공지능 모델(20)에 입력하여 음성지문을 추출할 수 있다. 한편, 제2 인공지능 모델(20)은 음성지문을 획득하기 위해 학습된 인공지능 모델이다. 따라서, 제2 인공지능 모델(20)은 입력받은 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 바탕으로 사용자 음성의 에너지 주파수의 분포를 분석한 데이터인 음성지문을 추출할 수 있다(340). 음성지문은 사용자 음성의 에너지 주파수의 분포를 나타내는 이미지 데이터일 수 있고, 벡터나 행렬의 형태로 나타낼 수 있다. 그리고, 전자 장치(100)는 추출한 음성지문을 기등록된 음성지문과 비교하여 입력된 음성을 발화한 사용자를 인식할 수 있다. 구체적인 과정은 도 4a 내지 도 4c 및 도 5에서 자세히 설명하도록 한다.
도 4a는 본 개시의 일 실시예에 따른, 추출한 음성지문과 기등록된 음성지문을 비교하는 과정을 설명하기 위한 도면이다. 도 4a에서 도시된 바와 같이 전자 장치(100)는 발화한 사용자를 인식하기 위하여 추출한 사용자를 나타내는 음성지문(410)과 기등록된 음성지문(420, 430, 440)을 비교할 수 있다. 구체적으로, 전자 장치(100)는 사용자를 나타내는 음성지문(410)과 기등록된 음성지문(420, 430, 440)을 비교하여 오차를 계산하고, 계산된 오차가 임계값을 초과하지 않는 경우 입력된 음성을 발화한 사용자를 인식할 수 있다. 그리고, 기등록된 음성지문은 최초로 등록된 음성지문(420)과 저장된 음성지문(430, 440)의 평균 데이터일 수 있다. 따라서, 전자 장치(100)는 최초로 등록된 음성지문(420)과 저장된 음성지문(430, 440)의 평균 데이터를 사용자를 나타내는 음성지문(410)과 비교하여 오차를 계산할 수 있다.
그리고, 전자 장치(100)는 음성지문 간의 오차를 계산할 때 코사인 유사도를 사용할 수 있다.
Figure pat00001
(1)
위 (1) 수식은 음성 지문간의 코사인 유사도를 계산하는 식이다. 예를 들어, 사용자를 나타내는 음성지문이 a 이고 기등록된 음성지문이 b인 경우, 전자 장치(100)는 위 (1) 수식을 이용하여 유사도를 계산하고 오차를 계산할 수 있다.
Figure pat00002
(2)
위 (2) 수식은 기등록된 음성지문의 개수가 복수일 때, 코사인 유사도를 계산하는 식이다. 예를 들어, 사용자를 나타내는 음성지문이 Xin이고, 기등록된 음성지문의 개수가 N이고, 기등록된 음성지문이 Xq인 경우, 전자 장치(100)는 위 (2) 수식을 이용하여 유사도를 계산하고 오차를 계산할 수 있다.
도 4b는 본 개시의 일 실시예에 따른, 발화한 사용자를 인식하는 경우의 UI를 설명하기 위한 도면이다. 도 4b에 도시된 바와 같이, 전자 장치(100)는 발화한 사용자를 인식한 경우, 사용자를 인식했다는 메시지 및 사용자 정보를 포함하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 사용자 정보는 사용자의 이름, 카메라(170)를 통해 촬영한 사용자의 사진 등이 될 수 있으나 이는 일 실시예일 뿐이다.
도 4c는 본 개시의 일 실시예에 따른, 기설정된 개수를 초과하여 음성지문이 저장된 경우, 전자 장치(100)가 음성지문을 추가적으로 저장하는 과정을 설명하기 위한 도면이다. 사용자를 나타내는 음성지문(410)과 기등록된 음성지문(420, 430, 440)를 비교하여 계산된 오차가 기설정된 값을 넘지 않을 경우, 전자 장치(100)는 사용자를 나타내는 음성지문(410)을 메모리(130)에 저장할 수 있다. 그리고, 메모리(130)에 기설정된 개수를 초과하여 사용자를 나타내는 음성지문이 저장된 경우, 전자 장치(100)는 가장 나중에 저장된 사용자를 나타내는 음성지문(430)을 삭제할 수 있다. 잘못된 음성지문이 저장되는 경우를 대비하여, 전자 장치(100)는 최초로 등록된 음성지문(420)을 제외하고 가장 나중에 저장된 음성지문(430)을 삭제할 수 있다. 도 4c는 기설정된 개수가 3개인 경우로 가정하고 도시하였으나 이는 일 실시예일 뿐이고, 기설정된 개수는 전자 장치(100)의 유형 또는 사용자 설정에 의해 변경될 수 있다.
그리고, 전자 장치(100)는 새로 저장된 사용자를 나타내는 음성지문(410)에 대응하여 임계값을 변경할 수 있다. 구체적으로, 새로 저장된 음성지문(410)에 대응되는 음성의 에너지의 주파수 분포가 기등록된 음성지문(420, 430, 440)에 대응되는 음성의 에너지의 주파수 분포와 차이가 있는 경우, 전자 장치(100)는 차이에 대응되도록 임계값을 변경할 수 있다.
도 5는 본 개시의 일 실시예에 따른, 음성지문을 비교하고 저장하는 과정을 설명하기 위한 순서도이다.
우선, 전자 장치(100)는 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 오차를 계산할 수 있다(S510). 구체적으로, 전자 장치(100)는 최초로 등록된 음성지문과 추후 저장된 음성지문의 평균 데이터인 기등록된 음성지문을 사용자를 나타내는 음성지문과 비교하여 오차를 계산할 수 있다. 계산된 오차가 임계값을 초과한 경우, 전자 장치(100)는 사용자 인식을 실패할 수 있다(S525). 계산된 오차가 임계값을 초과하지 않은 경우, 전자 장치(100)는 입력된 사용자 음성을 발화한 사용자를 인식할 수 있다(S530). 그리고, 전자 장치(100)는 인식된 사용자의 정보 및 인식이 완료되었다는 메시지를 포함하는 UI를 표시하도록 디스플레이(120)를 제어할 수 있다. 또한, 전자 장치(100)는 계산된 오차가 임계값보다 작은 기설정된 값을 초과했는지 여부를 판단할 수 있다(S540). 계산된 오차가 기설정된 값을 초과하지 않다고 판단되면, 전자 장치(100)는 사용자를 나타내는 음성지문을 메모리(130)에 저장할 수 있다(S550). 그리고, 전자 장치(100)는 메모리(130)에 음성지문이 기설정된 개수 이상으로 저장되어있는지 여부를 판단할 수 있다(S560). 기설정된 개수는 전자 장치(100)의 유형에 따라 달라질 수 있으며, 사용자에 의해 결정될 수도 있다. 메모리(130)에 기설정된 개수를 초과하여 음성지문이 저장되어 있다고 판단되는 경우, 전자 장치(100)는 가장 나중에 저장된 음성지문을 삭제할 수 있다(S570). 특히, 전자 장치(100)는 최초로 등록된 음성지문을 제외하고 가장 나중에 저장된 음성지문을 삭제할 수 있다. 그리고, 전자 장치(100)는 새로 저장된 음성지문에 대응하여 임계값을 변경할 수 있다(S580). 구체적으로, 새로 저장된 음성지문에 대응하는 음성의 에너지 주파수 분포가 기등록된 음성지문에 대응하는 음성의 에너지 주파수 분포와 차이가 있을 경우, 전자 장치(100)는 차이에 대응되도록 임계값을 변경할 수 있다.
도 6은 본 개시의 일 실시예에 따른, 사용자의 음성 명령이 인식되는 과정을 설명하기 위한 블록도이다. 음성지문을 통해 사용자가 인식된 후, 전자 장치(100)는 마이크(110)를 통해 인식된 사용자의 음성 명령을 입력받을 수 있다(610). 전자 장치(100)는 입력된 사용자의 음성 명령을 복수의 신경망을 포함하는 제1 인공지능 모델(70)에 입력할 수 있다. 제1 인공지능 모델(70)은 복수의 사용자의 음성 명령을 통해 학습된 일반(general) 신경망 및 사용자의 음성 명령을 통해 학습된 개인(Personal) 신경망을 이용하여 사용자의 음성 명령에 대응되는 제어 정보를 획득할 수 있다.
구체적으로, 전자 장치(100)는 입력된 사용자의 음성 명령을 제1 인공지능 모델의 일반 신경망(620)에 입력할 수 있다. 일반 신경망(620)은 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 신경망이다. 복수의 사용자 데이터 베이스에는 복수의 사용자의 정보, 복수의 사용자가 기존에 입력했던 음성 명령 및 음성 명령에 따라 수행된 기능에 대한 데이터가 저장되어 있다. 따라서, 전자 장치(100)는 복수의 사용자 데이터 베이스에 저장된 데이터를 바탕으로 학습된 일반 신경망(620)에 사용자 음성 명령을 입력하여 음성 명령에 대응되는 정보를 획득할 수 있다.
일 실시 예로, 일반 신경망(620)은 입력된 사용자 음성 명령의 특징점을 추출할 수 있다. 특징점은 벡터의 형태일 수 있으나 일 실시 예일 뿐이고 다양한 형태로 저장될 수 있다. 그리고, 일반 신경망(620)은 추출한 사용자 음성 명령의 특징점과 복수의 사용자 데이터 베이스로부터 저장된 데이터를 비교하여 음성 명령에 대한 제어 정보를 추출할 수 있다.
그리고, 전자 장치(100)는 일반 신경망(620)에서 출력된 결과와 인식된 사용자의 데이터 베이스(640)를 제1 인공지능 모델(70)의 개인 신경망(630)에 입력할 수 있다. 개인 신경망(630)은 사용자의 데이터 베이스(640)에 저장된 데이터를 바탕으로 추가 학습되는 신경망이다. 사용자의 데이터 베이스(640)에는 사용자의 정보 및 사용자가 기존에 입력했던 음성 명령 및 음성 명령에 따라 수행된 기능에 대한 데이터가 저장되어 있다. 따라서, 개인 신경망(630)은 사용자의 데이터 베이스(640)에 저장된 데이터와 새로 입력된 사용자 음성 명령을 바탕으로 음성 명령에 대한 정보를 획득하고 추가 학습될 수 있다. 그리고, 개인 신경망(630)은 일반 신경망(620)으로부터 입력된 결과와 자체적으로 획득한 정보를 연결하여 사용자 음성명령에 대한 제어 정보를 출력할 수 있다. 즉, 전자 장치(100)는 일반 신경망(620) 및 개인 신경망(630)에서 출력된 결과를 바탕으로 사용자 음성명령에 대한 정보를 획득할 수 있다(650).
도 7은 본 개시의 일 실시예에 따른, 사용자의 음성 명령이 인식되는 과정을 설명하기 위한 블록도이다.
개인 신경망(630)은 신경 레이어(710)와 연결 레이어(720)를 포함할 수 있다. 신경 레이어(710)는 사용자 데이터 베이스(640)에 저장된 데이터 및 새로 입력된 음성 명령을 바탕으로 학습되고, 음성 명령에 대한 제어 정보를 출력할 수 있다. 신경 레이어(710)에서 새로 출력한 사용자 음성 명령에 대한 정보는 사용자 데이터 베이스(640)에 저장될 수 있다. 그리고, 신경 레이어(710)는 일반 신경망(620)에서 출력된 결과를 바탕으로 음성 명령에 대한 정보를 추가 출력할 수 있다. 신경 레이어(710)는 일반 신경망에서 최종 출력된 결과를 입력받을 수도 있으나 이는 일 실시예에 불과할 뿐이며 일반 신경망(620)에서 출력된 중간 결과를 입력받을 수도 있다.
일 실시예로, 제1 인공지능 모델(70)이 CNN(Convolutional Neural Network)모델로 이루어진 경우, 신경 레이어(710)는 합성곱 계층(Convolutional Layer)와 통합 계층(Pooling Layer)를 포함할 수 있다. 합성곱 계층에서는 음성 명령의 특징을 추출하고 필터를 통과시켜 특징 맵(Feature map)을 출력할 수 있다. 통합 계층에서는 합성곱 계층에서 출력된 특징 맵의 크기를 줄일 수 있다. 구체적으로, 특징 맵은 복수의 서브맵으로 이루어져있으며 서브맵에는 음성 특징에 대응되는 값이 저장되어 있다. 통합 계층은 각 서브맵에 저장되어 있는 음성 특징에 대응되는 값 중 가장 큰 값 또는 평균값만을 남기고 저장하여 특징맵의 크기를 줄일 수 있다. 따라서, 신경 레이어(710)는 일반 신경망에서 출력된 결과를 합성곱 계층과 통합 계층을 거쳐 음성 명령에 대한 정보를 출력할 수 있다.
그리고, 연결 레이어(720)에서는 일반 신경망에서 출력한 결과와 신경 레이어(710)에서 출력한 결과를 연결하여 음성 명령에 대한 최종 제어 정보를 출력할 수 있다. 구체적으로, 연결 레이어(720)는 일반 신경망(620)에서 출력한 음성 명령에 대한 정보와 신경 레이어(710)에서 출력한 음성 명령에 대한 정보를 통합하여 전자 장치(100)가 인식할 수 있는 사용자 음성 명령에 대한 제어 정보를 출력할 수 있다. 따라서, 전자 장치(100)는 연결 레이어(720)에서 출력된 음성 명령에 대응하는 제어 정보를 최종적으로 획득할 수 있다.
도 8은 본 개시의 일 실시예에 따른, 인공지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도이다.
도 8을 참조하면, 프로세서(800)는 학습부(810) 및 획득부(820) 중 적어도 하나를 포함할 수 있다. 도 8의 프로세서(800)는 도 2a 및 도 2b의 전자 장치(100)의 프로세서(140) 또는 데이터 학습 서버(미도시)의 프로세서에 대응될 수 있다.
학습부(810)는 사용자 음성 명령에 대응하는 제어 정보를 획득하기 위한 제1 모델, 사용자를 나타내는 음성지문을 추출하기 위한 제2 모델을 생성 또는 학습시킬 수 있다. 학습부(810)는 수집된 학습 데이터를 이용하여 인식 기준을 갖는 학습된 모델을 생성할 수 있다.
일 예로, 학습부(810)는 사용자 음성 명령을 입력 데이터로 사용하여 사용자 음성 명령에 대응하는 제어 정보를 획득하기 위한 제1 모델을 생성, 학습 또는 갱신시킬 수 있다. 또한, 학습부(810)는 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 입력데이터로 사용하여 사용자를 나타내는 음성지문을 추출하기 위한 제2 모델을 생성, 학습 또는 갱신시킬 수 있다. 한편, 본 발명의 일 실시예에 다른 실시예에 따르면, 제1 모델 및 제2 모델은 서로 통합된 모델로 구현될 수 있다. 즉, 통합된 모델은 사용자 음성 명령을 입력 데이터로 사용하여 사용자 음성 명령에 대한 정보 및 사용자를 나타내는 음성지문을 추출할 수 있다.
획득부(820)는 소정의 데이터를 학습된 모델의 입력 데이터로 사용하여, 다양한 정보를 획득할 수 있다.
일 예로, 획득부(820)는 사용자의 음성 명령을 학습된 제1 모델의 입력 데이터로 사용하여 사용자 음성 명령에 대한 정보를 획득(또는, 인식, 추정)할 수 있다. 또한, 획득부(820)는 사용자 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 학습된 제2 모델의 입력 데이터로 사용하여 사용자를 나타내는 음성지문을 획득(또는 추정, 추론, 인식)할 수 있다.
학습부(810)의 적어도 일부 및 획득부(820)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 학습부(810) 및 획득부(820) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(810) 및 획득부(820)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
한편, 학습부(810) 및 획득부(820)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 학습부(810) 및 획득부(820) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 학습부(810) 및 획득부(820)는 유선 또는 무선으로 통하여, 학습부(810)가 구축한 모델 정보를 획득부(820)로 제공할 수도 있고, 학습부(810)로 입력된 데이터가 추가 학습 데이터로서 학습부(810)로 제공될 수도 있다.
도 9는 본 개시의 일 실시예에 따른, 학습부 및 인식부의 구체적인 구성을 나타내는 블록도이다.
도 9의 (a)를 참조하면, 일부 실시예에 따른 학습부(810)는 학습 데이터 획득부(810-1) 및 모델 학습부(810-4)를 포함할 수 있다. 또한, 학습부(810)는 학습 데이터 전처리부(810-2), 학습 데이터 선택부(810-3) 및 모델 평가부(810-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(810-1)는 제1 모델 및 제2 모델에 필요한 학습 데이터를 획득할 수 있다. 본 개시의 실시예로, 학습 데이터 획득부(1110-1)는 사용자 음성 명령, 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 학습 데이터로서 획득할 수 있다. 학습 데이터는 학습부(810) 또는 학습부(810)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다.
모델 학습부(810-4)는 학습 데이터를 이용하여 사용자 음성 명령에 대한 제어 정보 및 사용자를 나타내는 음성지문을 어떻게 획득할지에 관한 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(810-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(810-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(810-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(810-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공지능 모델을 학습시킬 수 있다
모델 학습부(810-4)는 미리 구축된 인공지능 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인공지능 모델을 학습할 인공지능 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기 분류되어 있을 수 있으며, 인공지능 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자 등과 같은 다양한 기준으로 기분류되어 있을 수 있다.
인공지능 모델이 학습되면, 모델 학습부(810-4)는 학습된 인공지능 모델을 저장할 수 있다. 이 경우, 모델 학습부(810-4)는 학습된 인공지능 모델을 전자 장치(100)의 메모리(130)에 저장할 수 있다. 또는, 모델 학습부(810-4)는 학습된 인공지능 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습부(810)는 인공지능 모델의 인식 결과를 향상시키거나, 인공지능 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(810-2) 및 학습 데이터 선택부(810-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(810-2)는 음성 명령에 대응하는 제어 정보 획득 및 음성 지문추출을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(810-2)는 모델 학습부(810-4)가 음성 명령에 대응하는 제어 정보 획득 및 음성 지문추출을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(810-3)는 학습 데이터 획득부(810-1)에서 획득된 데이터 또는 학습 데이터 전처리부(810-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(810-4)에 제공될 수 있다. 학습 데이터 선택부(810-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(810-3)는 모델 학습부(810-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(810)는 인공지능 모델의 인식 결과를 향상시키기 위하여, 모델 평가부(810-5)를 더 포함할 수도 있다.
모델 평가부(810-5)는 인공지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(810-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(810-5)는 평가 데이터에 대한 학습된 인공지능 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인공지능 모델이 복수 개가 존재하는 경우, 모델 평가부(810-5)는 각각의 학습된 인공지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(810-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공지능 모델로서 결정할 수 있다.
도 9의 (b)를 참조하면, 일부 실시예에 따른 획득부(820)는 입력 데이터 획득부(820-1) 및 제공부(820-4)를 포함할 수 있다.
또한, 획득부(820)는 입력 데이터 전처리부(820-2), 입력 데이터 선택부(820-3) 및 모델 갱신부(820-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
입력 데이터 획득부(820-1)는 사용자 음성 명령에 대응하는 제어 정보 획득 및 사용자를 나타내는 음성지문 추출을 위해 필요한 데이터를 획득할 수 있다. 제공부(820-4)는 입력 데이터 획득부(820-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 모델에 적용하여 사용자 음성 명령에 대응하는 제어 정보를 획득하고 사용자를 나타내는 음성지문을 추출할 수 있다. 제공부(820-4)는 후술할 입력 데이터 전처리부(820-2) 또는 입력 데이터 선택부(820-3)에 의해 선택된 데이터를 입력 값으로 인공지능 모델에 적용하여 인식 결과를 획득할 수 있다. 인식 결과는 인공지능 모델에 의해 결정될 수 있다.
일 실시예로, 제공부(820-4)는 입력 데이터 획득부(820-1)에서 획득한 사용자 음성 명령을 학습된 제1 모델에 적용하여 사용자 음성 명령에 대응하는 제어 정보를 획득(또는, 추정)할 수 있다.
또 다른 예로, 제공부(820-4)는 입력 데이터 획득부(820-1)에서 획득한 사용자 음성의 특징 벡터, 특징 행렬 및 전처리된 음성을 학습된 제2 모델에 적용하여 사용자를 나타내는 음성지문을 획득(또는, 추정)할 수 있다.
획득부(820)는 인공지능 모델의 인식 결과를 향상시키거나, 인식 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(820-2) 및 입력 데이터 선택부(1120-3)를 더 포함할 수도 있다.
입력 데이터 전처리부(820-2)는 제1 및 제2 모델에 입력되기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 입력 데이터 전처리부(820-2)는 제공부(820-4)가 사용자 음성 명령에 대응하는 제어 정보의 획득 및 사용자를 나타내는 음성지문을 추출하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
입력 데이터 선택부(820-3)는 입력 데이터 획득부(820-1)에서 획득된 데이터 또는 입력 데이터 전처리부(820-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 제공부(820-4)에게 제공될 수 있다. 입력 데이터 선택부(820-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(820-3)는 모델 학습부(810-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(820-5)는 제공부(820-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 인공지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(820-5)는 제공부(820-4)에 의해 제공되는 인식 결과를 모델 학습부(810-4)에게 제공함으로써, 모델 학습부(810-4)가 인공지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 10은 본 개시의 일 실시예에 따른, 인식한 음성 명령 정보가 맞는지 여부를 확인하는 UI를 설명하기 위한 도면이다. 전자 장치(100)는 획득한 사용자 음성 명령에 대응하는 제어 정보에 대응하는 기능을 수행할 수 있다. 일 실시예로, 오늘 날씨를 알려달라는 음성 명령이 마이크(110)를 통해 입력되면, 전자 장치(100)는 오늘 날씨에 대한 정보를 획득하고, 오늘 날씨에 대한 정보를 포함하는 UI(User Interface)를 표시하도록 디스플레이(120)를 제어할 수 있다.
그리고, 전자 장치(100)는 획득한 정보가 사용자의 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI(1010)를 표시하도록 디스플레이(120)를 제어할 수 있다. 도 10에 도시된 바와 같이, 일 실시예로 전자 장치(100)는 오늘 날씨에 대한 정보를 표시하는 동시에, 날씨에 대한 정보가 사용자가 요청한 정보가 맞는지 여부를 확인하는 UI(1010)를 표시할 수 있다.
만약 UI(1010)를 통해, 획득한 제어 정보가 사용자의 음성 명령에 관한 정보가 맞지 않다는 정보가 입력되면, 전자 장치(100)는 획득한 제어 정보와 사용자 음성 명령을 개인 신경망에 입력할 수 있다. 그리고, 전자 장치(100)는 획득한 제어 정보와 사용자 음성 명령을 바탕으로 개인 신경망을 추가 학습시킬 수 있다. 따라서, 전자 장치(100)는 음성 명령에 대한 올바른 정보를 획득할 수 있다.
도 11은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 사용자 음성을 입력받으면, 입력된 음성을 바탕으로 사용자를 나타내는 음성지문을 추출할 수 있다(S1110). 특히, 사용자 음성은 음성 지문 추출을 개시하는 트리거 음성일 수 있다. 그리고, 전자 장치(100)는 입력된 음성을 음성지문을 획득하기 위해 학습된 제2 인공지능 모델(20)에 입력하여 사용자를 나타내는 음성지문을 추출할 수 있다. 전자 장치(100)는 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 입력된 사용자 음성을 발화한 사용자를 인식할 수 있다(S1120). 구체적으로, 전자 장치(100)는 최초로 등록된 음성지문과 저장된 음성지문의 평균데이터인 기등록된 음성지문과 사용자를 나타내는 음성지문을 비교하여 오차를 계산할 수 있다. 그리고, 계산된 오차가 임계값을 초과하지 않는 경우 전자 장치(100)는 입력된 음성을 발화한 사용자를 인식할 수 있다.
그리고, 전자 장치(100)는 사용자가 인식된 후, 인식된 사용자의 음성 명령이 입력되면 사용자 음성 명령을 복수의 신경망을 포함하는 제1 인공지능 모델(70)에 입력하여 사용자의 음성 명령에 대응하는 제어 정보를 획득할 수 있다(S1130). 제1 인공지능 모델(70)은 복수의 사용자의 음성 명령을 통해 학습된 일반 신경망 및 상기 사용자의 음성 명령을 통해 학습된 개인 신경망을 이용하여 사용자의 음성 명령에 대응되는 제어 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 획득한 제어 정보에 대응하는 기능을 수행할 수 있다(S1140).
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
110: 마이크 120: 디스플레이
130: 메모리 140: 프로세서
150: 스피커 160: 통신부
170: 카메라 180: 입력부

Claims (20)

  1. 전자 장치에 있어서,
    마이크;
    적어도 하나의 인스트럭션(Instruction)을 저장하는 메모리; 및
    상기 적어도 하나의 인스트럭션을 실행하는 프로세서;를 포함하고,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 마이크를 통해 입력된 음성을 발화한 사용자를 인식하고,
    상기 사용자가 인식된 후, 상기 마이크를 통해 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자의 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하고,
    상기 제1 신경망에서 출력된 결과를 상기 제1 인공지능 모델의 제2 신경망에 입력하고,
    상기 제1 신경망 및 상기 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하고,
    상기 획득한 제어 정보에 대응하는 기능을 수행하며,
    상기 제1 신경망은 복수의 사용자 데이터베이스에 저장된 데이터를 바탕으로 학습된 신경망이며,
    상기 제2 신경망은 상기 인식된 사용자의 데이터베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 마이크를 통해 입력된 음성을 바탕으로 상기 사용자를 나타내는 음성지문을 추출하고,
    상기 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 상기 입력된 사용자 음성을 발화한 사용자를 인식하는 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 입력된 음성을 전처리하고,
    상기 전처리된 음성을 상기 음성지문을 획득하기 위해 학습된 제2 인공지능 모델에 입력하여 상기 사용자를 나타내는 음성지문을 추출하고, 상기 사용자를 나타내는 음성지문은 상기 사용자 음성의 에너지의 주파수 분포를 분석한 데이터인 것을 특징으로 하는 전자 장치.
  4. 제2항에 있어서,
    상기 입력된 음성은 상기 사용자를 나타내는 음성지문 추출을 개시하는 트리거 음성인 것을 특징으로 하는 전자 장치.
  5. 제2항에 있어서,
    상기 프로세서는,
    상기 사용자를 나타내는 음성지문과 상기 기등록된 음성지문을 비교하여 오차를 계산하고,
    상기 계산된 오차가 임계값을 초과하지 않는 경우 상기 입력된 음성을 발화한 사용자를 인식하고,
    상기 오차가 기설정된 값을 넘지 않을 경우, 상기 사용자를 나타내는 음성지문을 상기 메모리에 저장하고,
    상기 메모리에 기설정된 개수를 초과하여 상기 사용자를 나타내는 음성지문이 저장된 경우, 가장 나중에 저장된 사용자를 나타내는 음성지문을 삭제하는 전자 장치.
  6. 제5항에 있어서,
    상기 기등록된 음성지문은 최초로 등록된 사용자를 나타내는 음성지문과 상기 저장된 사용자를 나타내는 음성지문의 평균 데이터인 것을 특징으로 하는 전자 장치.
  7. 제5항에 있어서,
    상기 임계값은 상기 새로 저장된 사용자를 나타내는 음성지문에 대응되어 변경되는 것을 특징으로 하는 전자 장치.
  8. 제1항에 있어서,
    상기 제2 신경망은 신경 레이어 및 연결 레이어를 포함하고,
    상기 신경 레이어는 상기 제1 신경망에서 출력한 결과를 입력받아 상기 음성 명령에 대한 정보를 출력하고,
    상기 연결 레이어는 상기 제1 신경망에서 출력한 결과와 상기 신경 레이어에서 출력한 결과를 연결하여 상기 음성 명령에 대한 최종 제어 정보를 출력하는 것을 특징으로 하는 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 획득한 제어 정보가 상기 사용자의 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI를 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 획득한 제어 정보가 상기 사용자 음성 명령에 관한 정보와 맞지 않다는 사용자 입력이 있는 경우, 상기 획득한 정보 및 상기 사용자 음성 명령을 제2 신경망에 입력하여 상기 제2 신경망을 학습시키는 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    사용자 음성을 입력받으면, 상기 입력된 사용자 음성을 발화한 사용자를 인식하는 단계;
    상기 사용자가 인식된 후 상기 인식된 사용자의 음성 명령이 입력되면, 상기 사용자 음성 명령을 제1 인공지능 모델의 제1 신경망에 입력하는 단계;
    상기 제1 신경망에서 출력된 결과를 상기 제1 인공지능 모델의 제2 신경망에 입력하는 단계;
    상기 제1 신경망 및 제2 신경망에서 출력된 결과를 바탕으로 상기 사용자의 음성 명령에 대응하는 제어 정보를 획득하는 단계; 및;
    상기 획득한 제어 정보에 대응하는 기능을 수행하는 단계;를 포함하며,
    상기 제1 신경망은 복수의 사용자 데이터베이스에 저장된 데이터를 바탕으로 학습된 신경망이며,
    상기 제2 신경망은 상기 인식된 사용자의 데이터베이스에 저장된 데이터를 바탕으로 추가 학습되는 신경망인 것을 특징으로 하는 전자 장치의 제어 방법.
  12. 제11항에 있어서,
    상기 인식하는 단계는,
    상기 입력된 음성을 바탕으로 상기 사용자를 나타내는 음성지문을 추출하고,
    상기 사용자를 나타내는 음성지문과 기등록된 음성지문을 비교하여 상기 입력된 사용자 음성을 발화한 사용자를 인식하는
    전자 장치의 제어 방법.
  13. 제11항에 있어서,
    상기 인식하는 단계는,
    상기 입력된 음성을 전처리하는 단계; 및
    상기 전처리된 음성을 상기 음성지문을 획득하기 위해 학습된 제2 인공지능 모델에 입력하여 상기 사용자를 나타내는 음성지문을 추출하는 단계;를 포함하고,
    상기 사용자를 나타내는 음성지문은 상기 사용자 음성의 에너지의 주파수 분포를 분석한 데이터인 것을 특징으로 하는 전자 장치.
  14. 제12항에 있어서,
    상기 입력된 음성은 상기 사용자를 나타내는 음성지문 추출을 개시하는 트리거 음성인 것을 특징으로 하는 전자 장치의 제어 방법.
  15. 제12항에 있어서,
    상기 사용자를 나타내는 음성지문과 상기 기등록된 음성지문을 비교하여 오차를 계산하는 단계;
    상기 계산된 오차가 임계값을 초과하지 않는 경우 상기 입력된 음성을 발화한 사용자를 인식하는 단계;
    상기 오차가 기설정된 값을 넘지 않을 경우, 상기 사용자를 나타내는 음성지문을 저장하는 단계; 및
    기설정된 개수를 초과하여 상기 사용자를 나타내는 음성지문이 저장된 경우, 가장 나중에 저장된 사용자를 나타내는 음성지문을 삭제하는 단계;를 포함하는 전자 장치의 제어 방법.
  16. 제15항에 있어서,
    상기 기등록된 음성지문은 최초로 등록된 사용자를 나타내는 음성지문과 상기 저장된 사용자를 나타내는 음성지문의 평균 데이터인 것을 특징으로 하는 전자 장치의 제어 방법.
  17. 제15항에 있어서,
    상기 임계값은 상기 새로 저장된 사용자를 나타내는 음성지문에 대응되어 변경되는 것을 특징으로 하는 전자 장치의 제어 방법.
  18. 제11항에 있어서,
    상기 제2 신경망은 신경 레이어 및 연결 레이어를 포함하고,
    상기 신경 레이어는 상기 제1 신경망에서 출력된 결과를 입력받아 상기 음성 명령에 대한 정보를 출력하고,
    상기 연결 레이어는 상기 제1 신경망에서 출력한 결과와 상기 신경 레이어에서 출력한 결과를 연결하여 상기 음성 명령에 대한 최종 제어 정보를 출력하는 것을 특징으로 하는 전자 장치의 제어 방법.
  19. 제 11항에 있어서,
    상기 기능을 수행하는 단계는,
    상기 획득한 제어 정보가 상기 사용자의 음성 명령에 관한 정보가 맞는지 여부를 확인하는 UI를 표시하는 단계;를 포함하는 전자 장치의 제어 방법.
  20. 제19항에 있어서,
    상기 획득한 제어 정보가 상기 사용자 음성 명령에 관한 정보와 맞지 않다는 사용자 입력이 있는 경우, 상기 획득한 정보 및 상기 사용자 음성 명령을 제2 신경망에 입력하여 상기 제2 신경망을 학습시키는 단계;를 포함하는 전자 장치의 제어 방법.
KR1020190050603A 2019-04-30 2019-04-30 전자 장치 및 이의 제어 방법 KR20200126675A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190050603A KR20200126675A (ko) 2019-04-30 2019-04-30 전자 장치 및 이의 제어 방법
PCT/KR2019/016547 WO2020222384A1 (ko) 2019-04-30 2019-11-28 전자 장치 및 이의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190050603A KR20200126675A (ko) 2019-04-30 2019-04-30 전자 장치 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
KR20200126675A true KR20200126675A (ko) 2020-11-09

Family

ID=73028956

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190050603A KR20200126675A (ko) 2019-04-30 2019-04-30 전자 장치 및 이의 제어 방법

Country Status (2)

Country Link
KR (1) KR20200126675A (ko)
WO (1) WO2020222384A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102334580B1 (ko) * 2021-04-15 2021-12-06 동국대학교 산학협력단 사용자 음성 및 그래프 신경망 기반의 감정인식 장치 및 그 방법
WO2022108075A1 (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템
WO2022181911A1 (ko) * 2021-02-23 2022-09-01 삼성전자주식회사 전자 장치 및 그의 제어 방법
EP4207805A4 (en) * 2021-02-23 2024-04-03 Samsung Electronics Co Ltd ELECTRONIC DEVICE AND CONTROL METHOD THEREFOR
WO2024071729A1 (ko) * 2022-09-28 2024-04-04 경북대학교 산학협력단 2단계 사전 학습 기반의 인공지능을 이용한 음성 인식 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116072118B (zh) * 2023-03-07 2023-06-23 广东海新智能厨房股份有限公司 基于语音识别的智能控制方法、装置、设备及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6164639B2 (ja) * 2013-05-23 2017-07-19 国立研究開発法人情報通信研究機構 ディープ・ニューラルネットワークの学習方法、及びコンピュータプログラム
US9824692B1 (en) * 2016-09-12 2017-11-21 Pindrop Security, Inc. End-to-end speaker recognition using deep neural network
WO2018117608A1 (ko) * 2016-12-20 2018-06-28 삼성전자 주식회사 전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체
CN108288470B (zh) * 2017-01-10 2021-12-21 富士通株式会社 基于声纹的身份验证方法和装置
KR102087202B1 (ko) * 2017-09-13 2020-03-10 (주)파워보이스 인공 지능 비서 서비스 제공 방법, 및 이에 사용되는 음성 인식 장비

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022108075A1 (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템
WO2022181911A1 (ko) * 2021-02-23 2022-09-01 삼성전자주식회사 전자 장치 및 그의 제어 방법
EP4207805A4 (en) * 2021-02-23 2024-04-03 Samsung Electronics Co Ltd ELECTRONIC DEVICE AND CONTROL METHOD THEREFOR
KR102334580B1 (ko) * 2021-04-15 2021-12-06 동국대학교 산학협력단 사용자 음성 및 그래프 신경망 기반의 감정인식 장치 및 그 방법
WO2024071729A1 (ko) * 2022-09-28 2024-04-04 경북대학교 산학협력단 2단계 사전 학습 기반의 인공지능을 이용한 음성 인식 장치

Also Published As

Publication number Publication date
WO2020222384A1 (ko) 2020-11-05

Similar Documents

Publication Publication Date Title
US20210233521A1 (en) Method for speech recognition based on language adaptivity and related apparatus
US11776530B2 (en) Speech model personalization via ambient context harvesting
KR20200126675A (ko) 전자 장치 및 이의 제어 방법
US11398223B2 (en) Electronic device for modulating user voice using artificial intelligence model and control method thereof
US11769492B2 (en) Voice conversation analysis method and apparatus using artificial intelligence
KR102623727B1 (ko) 전자 장치 및 이의 제어 방법
US11393459B2 (en) Method and apparatus for recognizing a voice
CN111833845B (zh) 多语种语音识别模型训练方法、装置、设备及存储介质
KR102281590B1 (ko) 음성인식 성능 향상을 위한 비 지도 가중치 적용 학습 시스템 및 방법, 그리고 기록 매체
US11776544B2 (en) Artificial intelligence apparatus for recognizing speech of user and method for the same
US11423884B2 (en) Device with convolutional neural network for acquiring multiple intent words, and method thereof
US11030991B2 (en) Method and device for speech processing
US11568853B2 (en) Voice recognition method using artificial intelligence and apparatus thereof
KR20200097993A (ko) 전자 장치 및 이의 제어 방법
US10916240B2 (en) Mobile terminal and method of operating the same
KR20200089588A (ko) 전자 장치 및 이의 제어 방법
KR20200044173A (ko) 전자 장치 및 그의 제어 방법
KR20210044475A (ko) 대명사가 가리키는 객체 판단 방법 및 장치
CN112418059A (zh) 一种情绪识别的方法、装置、计算机设备及存储介质
KR20220071059A (ko) 감정 분석 모델에 기초한 감정 평가 방법 및 이를 이용한 디바이스
US20220059088A1 (en) Electronic device and control method therefor
US11315553B2 (en) Electronic device and method for providing or obtaining data for training thereof
CN112384974A (zh) 电子装置和用于提供或获得用于训练电子装置的数据的方法
CN112910761B (zh) 即时通讯方法、装置、设备、存储介质以及程序产品
CN114495292A (zh) 身份识别方法、装置、设备及可读存储介质