KR20200033707A - 전자 장치, 및 이의 학습 데이터 제공 또는 획득 방법 - Google Patents

전자 장치, 및 이의 학습 데이터 제공 또는 획득 방법 Download PDF

Info

Publication number
KR20200033707A
KR20200033707A KR1020190013855A KR20190013855A KR20200033707A KR 20200033707 A KR20200033707 A KR 20200033707A KR 1020190013855 A KR1020190013855 A KR 1020190013855A KR 20190013855 A KR20190013855 A KR 20190013855A KR 20200033707 A KR20200033707 A KR 20200033707A
Authority
KR
South Korea
Prior art keywords
electronic device
voice
data
user
speech
Prior art date
Application number
KR1020190013855A
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 CN201980044694.XA priority Critical patent/CN112384974A/zh
Priority to EP19862044.5A priority patent/EP3785258A4/en
Priority to US16/577,461 priority patent/US11315553B2/en
Priority to PCT/KR2019/012272 priority patent/WO2020060311A1/en
Publication of KR20200033707A publication Critical patent/KR20200033707A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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
    • 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
    • G10L2015/221Announcement of recognition results

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시는 학습 데이터를 제공/획득하는 방법 및 이를 위한 전자 장치를 개시한다. 본 개시의 학습 데이터를 제공하는 방법은, 전자 장치에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제1 음성 데이터를 획득하는 단계, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하는 단계, 및 상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제2 음성 데이터를 획득한 제2 전자 장치에게, 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하도록 전송하는 단계를 포함한다. 이 경우, 음성 인식 모델은 학습 데이터 및 딥러닝 등과 같은 인공 지능 알고리즘을 이용하여 학습될 수 있다.

Description

전자 장치, 및 이의 학습 데이터 제공 또는 획득 방법{Electronic device, and Method of providing or obtaining data for training thereof}
본 개시의 일 실시예들은 전자 장치 및 그 동작 방법에 관한 것으로서, 더욱 상세하게는 학습 데이터를 제공 또는 획득하는 방법에 관한 것이다.
최근 음성 인식의 정확도를 높이기 위한 연구가 이루어지고 있다. 특히, 음성 인식 모델을 구성하는 음향 모델 및 언어 모델에 대한 연구가 활발하게 진행되고 있다. 음향 모델 및 언어 모델은 학습에 의하여 업데이트가 될 수 있다. 이 경우, 음성 인식의 향상을 위하여 정확한 정답 학습 데이터가 요구될 수 있다.
한편, 음성 인식 엔진은 인공 지능 알고리즘을 이용한 신경망 모델로서 구현될 수도 있다. 인공 지능(Artificial Intelligence, AI)은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서, 기존 룰(Rule) 및 통계 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 및 통계 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다. 기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
전자 장치를 통하여 입력된 음성을 인식하기 위한 음성 인식 모델은 일반적으로 최적의 환경에서 수집된 학습 데이터를 이용하여 생성될 수 있다. 예로, 방음이 잘 되거나, 장애물에 의하여 방해되지 않는 최적의 실험 환경에서 수집된 학습 데이터를 이용하여 음성 인식 모델이 학습될 수 있다.
그러나, 실제 음성 인식 모델을 이용하는 환경에는 다양한 변수가 존재할 수 있다. 예로, 사용자가 전자 장치를 향하여 음성을 발화하는 환경은 소음이 심할 수도 있고, 사용자가 원거리에서 전자 장치를 향하여 음성을 발화할 수도 있다. 또는, 사용자와 전자 장치 사이에 장애물이 존재할 수도 있다.
이 경우, 최적의 환경에서 학습된 음성 인식 모델이, 실제 발화 환경에서는 최적의 성능을 제공하지 못할 수 있다. 이에 따라, 실제 발화 환경을 고려하도록 음성 인식 모델을 업데이트할 필요가 있으며, 이에 따라, 음성 인식 모델을 학습시키기 위하여 실제 발화 환경을 고려한 최적의 학습 데이터가 요구될 수 있다.
또한, 사용자의 발화에 응답할 수 있는 복수 개의 전자 장치들이 존재하는 경우, 상기 복수 개의 전자 장치들이 이용하는 음성 인식 모델들을 학습시키기 위해서는, 각각의 음성 인식 모델마다 학습 데이터가 요구될 수 있다. 이에 따라, 상기 각각의 음성 인식 모델들을 신속하고 효과적으로 업데이트하기 위하여 대표가 될 수 있는 학습 데이터를 이용하는 방안이 요구될 수 있다.
본 개시에 따른 제1 전자 장치가 학습 데이터를 제공하는 방법은, 제1 전자 장치에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제1 음성 데이터를 획득하는 단계, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하는 단계, 및 상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제2 음성 데이터를 획득한 제2 전자 장치에게, 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하도록 전송하는 단계를 포함한다.
본 개시에 따른 제2 전자 장치가 학습 데이터를 획득하는 방법은, 상기 제2 전자 장치에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 획득하는 단계, 상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제1 음성 데이터를 획득한 제1 전자 장치로부터, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하는 단계, 및 상기 제2 음성 데이터, 및 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는 단계를 포함한다.
본 개시에 따른 제1 전자 장치는, 사용자가 발화한 음성을 입력 받을 수 있는 마이크, 제2 전자 장치와 통신할 수 있는 통신부, 적어도 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서, 및 상기 적어도 하나 이상의 인스트럭션을 저장하는 메모리를 포함하고, 상기 적어도 하나의 프로세서는, 특정 시간에 상기 사용자가 발화한 음성에 대한 제1 음성 데이터를 상기 마이크를 통하여 획득하고, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하고, 상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제2 음성 데이터를 획득한 상기 제2 전자 장치에게, 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하도록 상기 통신부를 통하여 전송한다.
본 개시에 따른 제2 전자 장치는, 사용자가 발화한 음성을 입력 받을 수 있는 마이크, 제1 전자 장치와 통신할 수 있는 통신부, 적어도 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서, 및 상기 적어도 하나 이상의 인스트럭션을 저장하는 메모리를 포함하고, 상기 적어도 하나의 프로세서는, 특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 상기 마이크를 통하여 획득하고, 상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제1 음성 데이터를 획득한 제1 전자 장치로부터, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 상기 통신부를 통하여 수신하고, 상기 제2 음성 데이터, 및 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용한다.
본 개시에 따른 컴퓨터 프로그램 제품은, 제1 전자 장치에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제1 음성 데이터를 획득하는 단계, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하는 단계, 및 상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제2 음성 데이터를 획득한 제2 전자 장치에게, 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하도록 전송하는 단계를 제1 전자 장치가 수행하도록 설정된 명령어들을 포함하는 컴퓨터로 읽을 수 있는 저장 매체를 포함한다.
본 개시에 따른 컴퓨터 프로그램 제품은, 본 개시에 따른 제2 전자 장치가 학습 데이터를 획득하는 방법은, 제2 전자 장치에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 획득하는 단계, 상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제1 음성 데이터를 획득한 제1 전자 장치로부터, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하는 단계, 및 상기 제2 음성 데이터, 및 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는 단계를 제2 전자 장치가 수행하도록 설정된 명령어들을 포함하는 컴퓨터로 읽을 수 있는 저장 매체를 포함한다.
본 개시에 따르면, 대표로 이용되는 전자 장치(예: 제1 전자 장치)를 이용하여 사용자가 발화한 음성에 대응되는 정답(예: 음성 인식 결과)이 획득될 수 있다. 이 경우, 사용자의 음성에 대한 음성 데이터 및 음성 인식 결과를 학습 데이터로써 이용하여 타 전자 장치(예: 제2 전자 장치)가 이용하는 음성 인식 모델의 효율적인 업데이트(또는, 학습)가 가능하게 된다. 또한, 상기 학습 데이터를 이용하여 여러 개의 타 전자 장치들(예: 제2 전자 장치, 제3 전자 장치) 각각이 이용하는 음성 인식 모델들을 함께 학습하는 것이 가능하게 된다.
또한, 사용자 발화가 자주 일어나는 장소(예: 소파 위 등)는 어느 정도 정해져 있을 수 있다. 이 경우, 사용자로부터 가장 근거리에 위치한 전자 장치(예: 제1 전자 장치)가 원거리에 위치한 타 전자 장치들(예: 제2 전자 장치 또는 제3 전자 장치 등)과 비교하여 사용자 음성을 보다 정확하게 인식하고, 이에 대응되는 정확한 음성 인식 결과를 획득할 수 있다.
이 경우, 사용자로부터 근거리에 위치한 전자 장치가 자신이 획득한 음성 인식 결과를 원거리에 위치한 타 전자 장치들에게 공유하면, 원거리에 위치한 타 전자 장치들은 자신이 원거리에서 인식한 음성에 대응되는 정확한 음성 인식 결과를 획득하는 것이 가능하게 된다. 그리고, 타 전자 장치들이 상기 음성 인식 결과를 학습 데이터로써 이용하는 경우, 타 전자 장치들 각각이 이용하는 음성 인식 모델은 효과적으로 학습될 수 있다.
이 외에, 본 개시를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1a는, 본 개시의 일 실시예에 따른 시스템을 나타내는 도면이다.
도 1b는, 본 개시의 일 실시예에 따른 제1 전자 장치를 고려하지 않은 상황에서의 시스템을 나타내는 도면이다.
도 2 및 도 3은, 본 개시의 다른 실시예에 따른 시스템을 나타내는 도면들이다.
도 4는, 본 개시의 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 5는, 본 개시의 일 실시예에 따른 제1 전자 장치 및 제2 전자 장치로 입력되는 음성을 나타내는 도면이다.
도 6은, 본 개시의 일 실시예에 따른 제1 전자 장치 및 제2 전자 장치 간의 흐름도를 나타낸다.
도 7은, 본 개시의 일 실시예에 따른 제1 전자 장치의 흐름도를 나타낸다.
도 8은, 본 개시의 일 실시예에 따른 제2 전자 장치의 흐름도를 나타낸다.
도 9는, 본 개시의 일 실시예에 따른 네트워크 환경 내의 전자 장치의 상세 블록도이다.
도 10은, 본 개시의 일 실시예에 따른 복수의 화자들이 존재하는 상황에서의 시스템을 나타내는 도면이다.
도 11a 및 도 11b는, 본 개시의 일 실시예에 따른 발화 환경을 고려한 시스템을 나타내는 도면이다.
아래에서는 첨부한 도면을 참조하여 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 실시예를 상세히 설명한다. 그러나 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서에서 사용된 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 개시의 다양한 실시 예에서 사용된 "제 1" 또는 "제 2" 등의 표현들은 다양한 실시 예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다.
예를 들어, 본 개시의 다양한 실시 예의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 다른 부분과 "연결"되어 있다고 함은 어떤 부분이 다른 부분과 신호 송수신을 통해 데이터 통신을 수행할 수 있는 상태가 되어 있는 경우를 포함한다.
일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "모듈" 및 "구성" 등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
본 개시에 기재된 실시예에서 "화자"라는 용어는 어떠한 말을 발화한 사람을 의미하고, "청자"라는 용어는 발화된 말을 듣는 사람을 의미할 수 있다. 복수의 사람들이 대화를 함에 있어서, 화자와 청자는 시시각각 변화하므로 각 사람을 구분하는데 혼선이 발생할 수 있다. 따라서, 본 개시에서는 각 사람이 사용하는 언어에 기초하여, 제 1 언어를 사용하는 사람을 "제 1 화자"로, 제 2 언어를 사용하는 사람을 "제 2 화자"로 구분하기도 할 것이다.
본 개시에 기재된 실시예에서 "텍스트"라는 용어는, 상대방에게 의미를 전달하는 것을 목적으로 하는 데이터를 의미할 수 있다. "텍스트"는, 문자, 기호, 단어, 구, 문장, 다이어그램, 도표 등의 자연 언어 형태의 데이터, 인공 언어 문자 배열 형태의 데이터 또는 음성 데이터를 포함할 수 있다. 예를 들어, "텍스트"는, 화자에 의해 발화된 말이 문자 또는 음성 데이터로 표현된 것을 의미할 수 있다.
이하 첨부된 도면을 참고하여 개시를 상세히 설명하기로 한다.
도 1a는 본 개시의 일 실시예에 따른 시스템을 나타내는 도면이다.
도 1a의 시스템(1)은 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)를 포함할 수 있다.
제1 내지 제3 전자 장치들(10~30)은, 예로, 본 개시의 일 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 개시의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 개시에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1a에서는, 사용자(1)(또는, 발화자)가 도시된다. 사용자(1)는 특정 시간에(예: 특정 시점 또는 특정 시간 동안에) 음성을 발화할 수 있다. 예로, 사용자(1)는 "지금 몇 시야?"란 음성(2)을 발화할 수 있다. 이 경우, 사용자(1)로부터 제1 거리(예: 근거리)에 위치한 제1 전자 장치(10)는 제1 전자 장치(10)에 마련된 마이크를 통하여 상기 특정 시간에 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터를 획득할 수 있다(①). 제1 음성 데이터는, 예로, 사용자(1)가 발화한 아날로그 신호인 음성이 컨버터를 통하여 변화된 디지털 신호일 수 있다. 이 때, 사용자(1)로부터 제2 거리(예: 중거리)에 위치한 제2 전자 장치(20) 또한 제2 전자 장치(20)에 마련된 마이크를 통하여 상기 특정 시간에 사용자(1)가 발화한 음성(2)에 대한 제2 음성 데이터를 획득할 수 있다(②). 또한, 사용자(1)로부터 제3 거리(예: 원거리)에 위치한 제3 전자 장치(30) 또한 제3 전자 장치(30)에 마련된 마이크를 통하여 상기 특정 시간에 사용자(1)가 발화한 음성(2)에 대한 제3 음성 데이터를 획득할 수 있다(③).
이 경우, 제1 음성 데이터, 제2 음성 데이터 및 제3 음성 데이터는 서로 다를 수 있다. 예로, 제1 전자 장치(10), 제2 전자 장치(20) 및 제3 전자 장치(30) 각각에 마련된 마이크의 사양이 각각 다르기 때문에, 상기 음성 데이터들은 서로 다를 수 있다. 또한, 제1 전자 장치(10), 제2 전자 장치(20) 및 제3 전자 장치(30)의 각각의 위치는 서로 다를 수 있다. 예로, 도 1a에서는, 제2 전자 장치(20)가 음성(2)을 획득한 위치는 제1 전자 장치(10)가 음성(2)을 획득한 위치보다 멀기 때문에, 제2 전자 장치(20)가 획득한 제2 음성 데이터는 제1 음성 데이터와 비교하여, 시간 차이 또는 위상 차이가 있거나, 진폭이 작거나, 많은 노이즈를 포함할 수 있다. 유사하게, 제3 전자 장치(30)가 음성(2)을 획득한 위치는 제2 전자 장치(20)가 음성(2)을 획득한 위치보다 더 멀기 때문에, 제3 전자 장치(30)가 획득한 제3 음성 데이터는 제1 음성 데이터와 비교하여, 시간 차이 또는 위상 차이가 더 있거나, 진폭이 더 작거나, 더 많은 노이즈를 포함할 수 있다.
도 1a에서, 제1 전자 장치(10)가 제1 음성 데이터를 획득하면, 제1 전자 장치(10)는 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다. 예로, 제1 전자 장치(10)는 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 제1 전자 장치(10)에 마련된 음성 인식 모델에 적용하여 음성 인식 결과를 획득할 수 있다. 또는, 제1 전자 장치(10)는 제1 음성 데이터를 제1 전자 장치(10)와 통신 가능한 제1 서버(50)로 전송할 수 있다(④). 그리고, 제1 전자 장치(10)는 제1 서버(50)로부터 제1 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다(⑤).
구체적으로, 제1 전자 장치(10)는 획득된 제1 음성 데이터를 제1 전자 장치(10) 또는 제1 서버(50)에 마련된 음성 인식 모델에 적용하여 음성 인식 결과로서 텍스트 데이터를 획득할 수 있다. 예로, 음성 인식 모델은, 음향 모델 및 언어 모델 중 적어도 하나를 포함할 수 있다. 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 상기 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 상기 음성 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자(1)의 발화를 텍스트 데이터로 변환할 수 있다.
다른 예로, 제1 전자 장치(10)는 획득된 제1 음성 데이터를 제1 전자 장치(10) 또는 제1 서버(50)에 마련된 음성 인식 모델 및 자연어 이해 모듈에 적용하여 음성 인식 결과로서 사용자 의도를 획득할 수 있다.
일 실시예로, 자연어 이해 모듈은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 상기 문법적 분석은 사용자 입력을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 상기 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 상기 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, 자연어 이해 모듈은 사용자 입력이 어느 도메인(domain), 의도(intent) 또는 상기 의도를 표현하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))를 얻을 수 있다.
다른 실시예로, 자연어 이해 모듈은 도메인(domain), 의도(intend) 및 상기 의도를 파악하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))로 나누어진 매칭 규칙을 이용하여 사용자 의도 및 파라미터를 결정할 수 있다. 예를 들어, 상기 하나의 도메인(예: 알람)은 복수의 의도(예: 알람 설정, 알람 해제 등)를 포함할 수 있고, 하나의 의도는 복수의 파라미터(예: 시간, 반복 횟수, 알람음 등)을 포함할 수 있다. 복수의 룰은, 예를 들어, 하나 이상의 필수 요소 파라미터를 포함할 수 있다. 상기 매칭 규칙은 자연어 인식 데이터베이스(natural language understanding database)(NLU DB)에 저장될 수 있다.
또 다른 실시예로, 자연어 이해 모듈은 형태소, 구 등의 언어적 특징(예: 문법적 요소)을 이용하여 사용자 입력으로부터 추출된 단어의 의미를 파악하고, 상기 파악된 단어의 의미를 도메인 및 의도에 매칭시켜 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈은 각각의 도메인 및 의도에 사용자 입력에서 추출된 단어가 얼마나 포함되어 있는 지를 계산하여 사용자 의도를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈은 상기 의도를 파악하는데 기초가 된 단어를 이용하여 사용자 입력의 파라미터를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈은 사용자 입력의 의도를 파악하기 위한 언어적 특징이 저장된 자연어 인식 데이터베이스를 이용하여 사용자의 의도를 결정할 수 있다.
또 다른 실시 예로, 자연어 이해 모듈은 개인화 언어 모델(personal language model)(PLM)을 이용하여 사용자 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈은 개인화된 정보(예: 연락처 리스트, 음악 리스트)를 이용하여 사용자 의도를 결정할 수 있다. 상기 개인화 언어 모델은, 예를 들어, 자연어 인식 데이터베이스)에 저장될 수 있다.
다른 예로, 제1 전자 장치(10)는 획득된 제1 음성 데이터를 제1 전자 장치(10) 또는 제1 서버(50)에 마련된 음성 인식 모델 및 자연어 이해 모듈에 적용하여 음성 인식 결과로서 패스 룰을 획득할 수 있다.
일 실시예로, 자연어 이해 모듈은 사용자 입력의 의도 및 파라미터에 기초하여 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈은 사용자 입력의 의도에 기초하여 실행될 앱을 선택하고, 상기 선택된 앱에서 수행될 동작을 결정할 수 있다. 자연어 이해 모듈은 상기 결정된 동작에 대응되는 파라미터를 결정하여 패스 룰을 생성할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈에 의해 생성된 패스 룰은 실행될 앱, 상기 앱에서 실행될 동작(예: 적어도 하나 이상의 상태(state)) 및 상기 동작을 실행하는데 필요한 파라미터에 대한 정보를 포함할 수 있다.
다른 실시예로, 자연어 이해 모듈은 사용자 입력의 의도 및 파라미터를 기반으로 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈은 패스 플래너 모듈로부터 제1 전자 장치(10)에 대응되는 패스 룰 셋을 수신하고, 사용자 입력의 의도 및 파라미터를 상기 수신된 패스 룰 셋에 매핑하여 패스 룰을 결정할 수 있다.
또 다른 실시예로, 자연어 이해 모듈은 사용자 입력의 의도 및 파라미터에 기초하여 실행될 앱, 상기 앱에서 실행될 동작 및 상기 동작을 실행하는데 필요한 파라미터를 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈은 제1 전자 장치(10)의 정보를 이용하여 상기 실행될 앱 및 상기 앱에서 실행될 동작을 사용자 입력의 의도에 따라 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 배열하여 패스 룰을 생성할 수 있다.
또 다른 실시예로, 자연어 이해 모듈은 생성된 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다. 예를 들어, 자연어 이해 모듈은 상기 복수의 패스 룰 중 최적의 패스 룰을 선택할 수 있다. 다른 예를 들어, 자연어 이해 모듈은 사용자 발화에 기초하여 일부 동작만이 특정된 경우 복수의 패스 룰을 선택할 수 있다. 자연어 이해 모듈은 사용자의 추가 입력에 의해 상기 복수의 패스 룰 중 하나의 패스 룰을 결정할 수 있다.
제1 전자 장치(10)는 획득된 제1 음성 데이터에 대응되는 음성 인식 결과와 관련된 음성 인식 정보(101)를 화면에 표시할 수 있다. 또한, 제1 전자 장치(10)는 획득된 제1 음성 데이터에 대응되는 음성 인식 결과(예: 텍스트 데이터, 사용자 의도 또는 패스 룰)를 사용자(1)로부터 제1 전자 장치(10)까지의 위치보다 상대적으로 멀리 떨어진 제2 거리에 위치한 제2 전자 장치(20)에게 전송할 수 있다(⑥). 또한, 제1 전자 장치(10)는 획득된 상기 음성 인식 결과를 사용자(1)로부터 제2 전자 장치(20)까지의 위치보다 더 멀리 떨어진 제3 거리에 위치한 제3 전자 장치(30)에게 전송할 수 있다(⑦).
사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터에 대응되는 음성 인식 결과를 획득한 제2 전자 장치(20) 또는 제3 전자 장치(30)는, 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터(또는, 학습 라벨, 유사 정답 등)의 일부로서 이용할 수 있다.
제2 전자 장치(20)는 동작 ②에서 획득한 사용자(1)가 발화한 음성에 대한 제2 음성 데이터 및 동작 ⑥에서 수신한 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 세트(set)로 구성하여 학습 데이터로써 이용할 수 있다. 예로, 음성 인식 모델이 제2 전자 장치(20)에 위치하는 경우, 제2 전자 장치(20)는 학습 데이터로써 {제2 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 음성 인식 모델에 적용하여 상기 음성 인식 모델을 업데이트할 수 있다(⑧).
제3 전자 장치(30)는 동작 ③에서 획득한 사용자(1)가 발화한 음성에 대한 제3 음성 데이터 및 동작 ⑦에서 수신한 제1 음성 데이터에 대응되는 음성 인식 결과를 세트로 구성하여 학습 데이터로써 이용할 수 있다. 예로, 음성 인식 모델이 제2 서버(60)에 위치하는 경우, 제3 전자 장치(30)는 학습 데이터로써 {제3 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 음성 인식 모델이 위치한 제2 서버(60)에게 전송할 수 있다(⑨). 제2 서버(60)는 수신된 학습 데이터를 음성 인식 모델에 적용하여 제2 서버(60)에 저장된 음성 인식 모델을 업데이트할 수 있다(⑩).
본 개시에 따르면, 제2 전자 장치(20) 또는 제3 전자 장치(20)는, 제2 전자 장치(20) 또는 제3 전자 장치(30)가 획득한 음성 데이터 및 제1 전자 장치(10)에서 획득한 음성 인식 결과를 학습 데이터로서 이용할 수 있다. 이 경우, 제2 전자 장치(20) 또는 제3 전자 장치(30)는 상기 음성 데이터 및 상기 음성 인식 결과가 학습 데이터로서 이용하기에 적합한지를 판단하고, 학습 데이터로서 이용하기에 적합한 경우에 상기 음성 데이터 및 상기 음성 인식 결과를 학습 데이터로서 이용할 수 있다.
예로, 사용자(1)가 발화한 음성이 제1 전자 장치(10)의 일 기능(예: 통화 기능, 카메라 기능 등)과 관련된 음성인 상황에서, 제2 전자 장치(20)는 제2 전자 장치(20)에 마련된 마이크를 통하여 상기 음성에 대한 음성 데이터를 획득하고, 제1 전자 장치(10)로부터 상기 음성에 대응되는 음성 인식 결과를 획득할 수 있다. 이 경우, 제2 전자 장치(20)가 상기 기능을 지원하지 않는다면, 제2 전자 장치(20)는 상기 음성에 대한 음성 데이터 및 상기 음성에 대응되는 음성 인식 결과를 학습 데이터로서 이용하지 않고 무시할 수 있다. 이를 위하여, 제1 전자 장치(10)는 상기 음성에 대응되는 음성 인식 결과와 함께 상기 음성 인식 결과를 이용하는 대상 기능(또는, 대상 어플리케이션)에 관한 정보도 제2 전자 장치(20)에게 함께 전송할 수 있다. 제2 전자 장치(20)는 대상 기능에 관한 정보를 제2 전자 장치(20)가 지원하는지 판단하고, 제2 전자 장치(20)가 상기 기능을 지원하지 않는 것으로 판단되면, 상기 음성에 대한 음성 데이터 및 상기 음성에 대응되는 음성 인식 결과를 학습 데이터로서 이용하지 않고 무시할 수 있다.
제2 전자 장치(20) 또는 제2 서버(60)는, 예로, 인공 지능 알고리즘에 기초한 지도 학습(supervised learning) 방식 또는 비지도 학습(unsupervised learning) 방식에 따라 전술한 학습 데이터를 이용하여 학습 네트워크 모델(또는, 데이터 인식 모델)을 학습시킬 수 있다. 학습 네트워크 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 학습 네트워크 모델은 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 학습 네트워크 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
이 때, 학습 데이터를 학습시키는 제2 전자 장치(20) 또는 제2 서버(60)에 마련된 데이터 학습 모듈은 소프트웨어 모듈 또는 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다. 또한, 데이터 학습 모듈은 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이 때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다.
일 실시예로, 미리 구축된 학습 네트워크 모델이 복수 개가 존재하는 경우, 데이터 학습 모듈은 입력된 학습 데이터와 관련성이 큰 학습 네트워크 모델을 학습할 학습 네트워크 모델로 결정할 수 있다.
일 실시예로, 데이터 학습 모듈은, 예로, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 학습 네트워크 모델을 학습시킬 수 있다.
일 실시예로, 데이터 학습 모듈은, 예로, 학습 데이터를 입력 값으로 하는 지도 학습을 통하여, 학습 네트워크 모델을 학습시킬 수 있다. 또는, 데이터 학습 모듈은, 별다른 지도 없이 스스로 학습함으로써, 기준을 발견하는 비지도 학습을 통하여, 학습 네트워크 모델을 학습시킬 수 있다. 또한, 데이터 학습 모듈은 학습에 따른 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 학습 네트워크 모델을 학습시킬 수 있다.
일 실시예로, 제2 전자 장치(20) 또는 제2 서버(60)에 기 학습된 기본 학습 네트워크 모델이 존재하는 경우, 제2 전자 장치(20) 또는 제2 서버(60)는 전술학 학습 데이터를 이용하 기본 학습 네트워크 모델을 업데이트할 수 있다. 이에 따라, 제2 전자 장치(20)가 위치한 환경에 최적화되고 적응된 학습 네트워크 모델이 생성되어, 제2 전자 장치(20)의 음식 인식률이 크게 향상될 수 있다.
도 1b는, 본 개시의 일 실시예에 따른 제1 전자 장치(10)를 고려하지 않은 상황에서의 시스템을 나타내는 도면이다.
도 1b에서, 제2 전자 장치(20)가 이용하는 음성 인식 모델은 도 1a에서 전술한 학습 데이터로써 {제2 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 이용하여 업데이트된 음성 인식 모델이고, 도 1b에서 제3 전자 장치(30)가 이용하는 음성 인식 모델은 도 1a에서 전술한 학습 데이터로써 {제3 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 이용하여 업데이트된 음성 인식 모델일 수 있다.
도 1b에서, 사용자(1)는 음성(2)이 발화된 특정 시간과 다른 시간에 음성(3)을 발화할 수 있다. 음성(3)은, 예로, 음성(2)과 동일 또는 유사한 발성, 음소 또는 의미 등을 가질 수 있다. 예로, 특정 시간에 음성(2)이 "지금 몇 시야?"인 경우, 다른 시간에 발화된 음성(3)은, 예로, "지금 몇 시야?", "지금 몇 시?", "몇 시야?" 등이 될 수 있다. 일 실시예로, 제2 전자 장치(20) 및 제3 전자 장치(30) 중 적어도 하나의 음성 인식 기능을 활성화시키는 선택하는 트리거 음성(예: "냉장고", "스피커", "빅스비" 등)이 발화된 후에, 상기 음성(3)이 발화될 수도 있다.
일 실시예로, 사용자(1)의 음성(3)에 응답하여, 제2 전자 장치(20)가 트리거링된 경우, 제2 전자 장치(20)는 마이크를 통하여 발화된 음성(3)에 대한 제4 음성 데이터를 획득할 수 있다(⑪). 제4 음성 데이터가 획득되면, 제2 전자 장치(20)는 제4 음성 데이터를 동작 ⑧에서 업데이트된 음성 인식 모델에 적용하여 음성(3)에 대응되는 음성 인식 결과를 획득할 수 있다(⑫). 제2 전자 장치(20)는 획득된 음성 인식 결과와 관련된 음성 인식 정보(102)를 출력할 수 있다. 예로, 음성 인식 정보(102)는 발화된 음성(3)에 대한 답변으로 "~ 몇 시입니다"가 될 수 있다.
다른 실시예로, 사용자(1)의 음성(3)에 응답하여, 제3 전자 장치(30)가 트리거링된 경우, 제3 전자 장치(30)는 마이크를 통하여 발화된 음성(3)에 대한 제5 음성 데이터를 획득할 수 있다(⑬). 제3 전자 장치(30)는 획득된 제5 음성 데이터를 제3 전자 장치(30)와 통신 가능한 제3 서버(60)에게 전송할 수 있다(⑭). 그리고, 제3 전자 장치(30)는 제3 서버(60)로부터 제5 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다(⑮). 제3 전자 장치(30)는 획득된 음성 인식 결과와 관련된 음성 인식 정보(103)를 화면에 표시할 수 있다.
이에 따라, 일반적으로 사용자(1)로부터 원거리에 위치한 제2 전자 장치(20) 또는 제3 전자 장치(30)는 사용자(1)가 발화한 음성을 정확하게 인식하기 어려운 문제가 있으나, 본 개시에 따르면 원거리의 사용자(1)의 음성과 함께 정확한 음성 인식 결과를 이용한 음성 인식 모델의 학습이 가능하여, 제2 전자 장치(20) 또는 제3 전자 장치(30)가 원거리에서 사용자(1)가 발화한 음성에 대하여도 정확한 음성 인식 결과를 제공하는 것이 가능하게 된다.
도 2는 본 개시의 다른 실시예에 따른 시스템을 나타내는 도면이다.
도 2의 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)는, 전술한 도 1의 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)에 각각 대응되어 중복되는 설명은 생략한다.
도 2에서, 사용자(1)가 음성(2)을 발화하면, 제1 전자 장치(10)는 제1 전자 장치(10)에 마련된 마이크를 통하여 특정 시간에 사용자(1)가 발화한 음성(2)을 감지할 수 있다(①-1). 음성(2)이 감지되면, 제1 전자 장치(10)는 음성(2)에 대한 음성 데이터를 획득하도록 제어하는 활성화 명령(wake-up command)을 제2 전자 장치(20) 및 제3 전자 장치(30)에게 전송할 수 있다(①-2, ①-3).
또한, 제1 전자 장치(10)는 음성(20)에 대한 제1 음성 데이터를 획득하고(①-4)), 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하여 제2 전자 장치(20) 및 제3 전자 장치(30)에게 전송할 수 있다(⑥, ⑦).
한편, 활성화 명령을 수신한 제2 전자 장치(20)는 음성(2)에 대한 제2 음성 데이터를 획득하고(②), 활성화 명령을 수신한 제3 전자 장치(30)는 음성(2)에 대한 제3 음성 데이터를 획득할 수 있다(③). 예로, 제2 전자 장치(20) 또는 제3 전자 장치(30)는 저전력 모드로 동작 중에 활성화 명령이 수신되면, 일반 모드로 동작하여 마이크를 온하고, 음성(2)에 대한 제2 음성 데이터 및 제3 음성 데이터를 각각 획득할 수 있다.
제1 전자 장치(10)로부터 제1 음성 데이터에 대응되는 음성 인식 결과가 수신되면, 제2 전자 장치(20)는 음성(2)에 대한 제2 음성 데이터 및 수신된 음성 인식 결과를 학습 데이터로써 이용하여 음성 인식 모델을 업데이트하고, 제3 전자 장치(30)는 음성(2)에 대한 제3 음성 데이터 및 제1 전자 장치(10)로부터 수신된 음성 인식 결과를 학습 데이터로써 이용하여 음성 인식 모델을 업데이트할 수 있다. 이에 따른, 동작 ⑧ 내지 동작 ⑩은, 도 1a의 동작 ⑧ 내지 동작 ⑩에 대응되어 중복되는 설명은 생략한다.
도 3은 본 개시의 다른 실시예에 따른 시스템을 나타내는 도면이다.
도 3의 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)는, 전술한 도 1의 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)에 각각 대응되어 중복되는 설명은 생략한다. 이때, 제1 전자 장치(10), 제2 전자 장치(20) 및 제3 전자 장치(30)가 위치하는 상황은 전술한 도 1 및 도 2와 다른 상황일 수 있다.
도 3에서는, 제1 전자 장치(10) 및 제2 전자 장치(20)는 도 1 및 도 2와는 달리 사용자(1)로부터 동일 또는 근사한 거리에 위치할 수 있다. 그러나, 제1 전자 장치(10) 및 제2 전자 장치(20)의 주변 환경은 서로 다를 수 있다. 예로, 제1 전자 장치(10)는 실 내에 안쪽에 위치하고, 제2 전자 장치(20)는 창가 근처에 위치할 수 있다. 이 경우, 제2 전자 장치(20)의 주변 소음은 창 밖으로부터 소음(예로, 교통 소음 등)으로 인하여 제1 전자 장치(10)의 주변 소음과 비교하여 높을 수 있다.
이 경우, 상대적으로 주변 소음이 낮은 제1 전자 장치(10)는 음성(2)에 대한 제1 음성 데이터를 획득하고(①), 제1 음성 데이터를 제1 서버(50)에게 전송하여(③), 음성(2)에 대응되는 음성 인식 결과를 획득할 수 있다(④). 제1 전자 장치(2)는 획득된 음성 인식 결과를 상대적으로 주변 소음이 높은 제2 전자 장치(20)에게 전송할 수 있다(⑤).
또한, 상대적으로 주변 소음이 높은 제2 전자 장치(20)는 사용자(1)가 발화 시의 음성(2)에 대한 제2 음성 데이터를 획득하고(②), 제1 전자 장치(10)로부터 음성(2)에 대응되는 음성 인식 결과를 획득할 수 있다(⑤). 제2 전자 장치(20)는 획득된 제2 음성 데이터 및 제1 전자 장치(10)로부터 수신한 음성 인식 결과를 학습 데이터로써 제2 서버(60)에게 전송하여(⑥), 제2 서버(60)가 수신된 학습 데이터를 이용하여 음성 인식 모델을 업데이트(⑦)하도록 제어할 수 있다.
이에 따라, 제2 서버(60)는 주변 소음이 높은 환경에서 수신한 음성(2)에 대하여도 정확한 음성 인식 결과를 이용하여 음성 인식 모델을 학습시키는 것이 가능하게 된다. 이후, 제1 전자 장치(10)가 없는 상황에서 사용자(1)가 음성을 발화하는 경우, 주변 소음이 높은 환경에 위치한 제2 전자 장치(20)는 업데이트된 음성 인식 모델을 이용하여 사용자(1)가 발화한 음성에 대응되는 음성 인식 결과를 제공하는 것이 가능하게 된다.
도 4는 본 개시의 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 4에서, 전자 장치(400)는 도 1 내지 도 3에서 전술한 제1 전자 장치(10), 제2 전자 장치(20) 및 제3 전자 장치(30) 중 어느 하나가 될 수 있다.
전자 장치(400)는, 프로세서(410), 마이크(420), 통신부(430) 및 메모리(440)를 포함할 수 있다. 그러나, 도 4에 도시된 구성 요소 보다 많은 구성 요소에 의해 전자 장치(400)가 구현될 수도 있다. 예를 들어, 본 발명의 일 실시예에 따른 전자 장치(400)는, 가전 제품, 모바일 컴퓨팅 디바이스 및 서버 중 적어도 하나에 포함되거나, 가전 제품, 모바일 컴퓨팅 디바이스 및 서버 중 적어도 하나에 유, 무선으로 연결되도록 구현될 수 있다. 프로세서(410), 마이크(420), 통신부(430) 및 메모리(440)의 상세 예는 도 9의 프로세서(920), 오디오 모듈(970), 통신 모듈(990) 및 메모리(930)에 각각 대응될 수 있다.
마이크(또는, 마이크로 폰)(420)는 사용자(1)(또는, 발화자)의 음성을 직접 수신할 수 있다. 마이크(420)는 사용자(1)의 음성을 입력 받아, 사용자(1)의 음성에 대한 음성 데이터를 프로세서(410)에게 제공할 수 있다.
프로세서(410)는 메모리(440)에 저장된 프로그램을 실행하여 프로세서(410)에 연결된 전자 장치(400)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있다.
일 실시예로, 프로세서(410)는 특정 시간에 사용자(1)가 발화한 음성에 대한 제1 음성 데이터를 마이크(420)를 통하여 획득할 수 있다. 또한, 사용자(1)가 발화한 음성이 감지되면, 프로세서(410)는 제2 전자 장치(20)가 음성에 대한 제2 음성 데이터를 획득하도록 제어하는 활성화 명령을 통신부(430)를 통하여 제2 전자 장치(20)에게 전송할 수 있다.
프로세서(410)는 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다. 예로, 프로세서(410)는 획득된 제1 음성 데이터를 외부의 음성 인식 서버에게 통신부(430)를 통하여 전송할 수 있다. 그리고, 제1 음성 데이터의 전송에 대한 응답으로서, 프로세서(410)는 상기 특정 시간에 사용자(1)가 발화한 음성에 대한 제2 음성 데이터를 획득한 제2 전자 장치에게, 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하도록 통신부(430)를 통하여 전송할 수 있다.
일 실시예로, 프로세서(410)는 음성과 관련된 시간 정보를 제2 전자 장치에게 전송할 수 있다. 음성과 관련된 시간 정보는, 예로, 프로세서(410)가 음성의 시작을 인식한 시간 및 상기 음성의 종료를 인식한 시간 중 적어도 하나를 포함할 수 있다.
구체적으로, 도 5의 (a)를 참조하면, 사용자(1)는 t0 시점에 음성(2)의 발화를 시작하여, t5 시점에 음성(2)의 발화를 종료할 수 있다. 이 경우, 도 5의 (a) 및 (b)와 같이 사용자(1)로부터 근거리에 위치한 제1 전자 장치(10)로 음성 신호가 도착하는 시간 및 사용자(1)로부터 원거리에 위치한 제2 전자 장치(20)에게 음성 신호가 도착하는 시간에 차이가 존재할 수 있다.
예로, 제1 전자 장치(10)는 t1 시점에 사용자(1)의 음성(2)의 시작을 인식하고, t6 시점에 사용자(1)의 음성(2)의 종료를 인식할 수 있다. t1 시점에 사용자(1)의 음성(2)을 인식한 제1 전자 장치(10)는 제2 전자 장치(20)의 마이크의 활성화 명령을 사용자(1)로부터 원거리에 위치한 제2 전자 장치(20)에게 전송할 수 있다. 활성화 명령을 수신한 제2 전자 장치(20)는 t2 시점부터 사용자(1)의 음성(2)의 시작을 인식하여, t7 시점에 사용자(1)의 음성(2)의 종료를 인식할 수 있다.
이 경우, 제1 전자 장치(10)가 제2 전자 장치(20)에게 제공한 음성 인식 결과는 t1 시점부터 t6 시점까지의 음성에 대응되기 때문에, 제2 전자 장치(20)가 t2 시점부터 t7 시점까지 인식한 음성과는 차이가 있을 수 있다. 따라서, 제1 전자 장치(10)는 음성 인식 결과에 대응되는 음성과 관련된 시간 정보 및 활성화 명령이 전송된 시간 정보를 제2 전자 장치(20)에게 음성 인식 결과와 함께 전송할 수 있다.
제2 전자 장치(20)는 음성 인식 결과 및, 상기 음성과 관련된 시간 정보 및 상기 활성화 명령을 전송된 시간 정보 중 적어도 하나를 이용하여, 학습 데이터로써 이용할 제2 전자 장치(20)가 획득한 제2 음성 데이터를 보정할 수 있다. 예로, 제2 전자 장치(20)는 거리상의 차이로 인하여 음성이 딜레이된 시간, 및 활성화 명령을 수신한 후의 음성 인식에 따른 결손(missing)된 제2 음성 데이터를 음성 인식 결과에 대응되도록 복원할 수 있다.
다른 예로, 제2 전자 장치(20)는 제1 전자 장치(10)로부터 수신한 음성 인식 결과 중 제2 전자 장치(2)가 획득한 제2 음성 데이터에 대응하는 부분만 추출할 수 있다. 그리고, 추출된 음성 인식 결과 및 제2 음성 데이터를 학습 데이터로써 이용할 수 있다. 구체적으로, 제1 전자 장치(10)가 인식한 음성은'안녕하세요'이고, 제2 전자 장치(20)가 인식한 음성은 활성화 명령 수신 이후에 인식된 '하세요'일 수 있다. 이 경우, 제2 전자 장치(20)는 제1 전자 장치(10)로부터 수신한 음성 인식 결과 중에서, 상기 '하세요'에 해당하는 부분만 추출하여 학습 데이터로써 이용할 수 있다.
보정된 제2 음성 데이터가 획득되면, 제2 전자 장치(20)는 보정된 제2 음성 데이터, 및 제1 전자 장치(1)로부터 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용할 수 있다.
일 실시예로, 프로세서(410)는, 특정 시간에 사용자(1)가 발화한 음성에 대한 제2 음성 데이터를 마이크(420)를 통하여 획득할 수 있다. 예로, 프로세서(410)는, 제1 전자 장치(10)로부터, 제2 음성 데이터를 획득하기 위한 활성화 명령을 통신부를 통하여 수신할 수 있다. 그리고, 프로세서(410)는 활성화 명령에 응답하여, 특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 마이크(420)를 통하여 획득할 수 있다.
프로세서(410)는 상기 특정 시간에 사용자(1)가 발화한 음성에 대한 제1 음성 데이터를 획득한 제1 전자 장치로부터, 제1 음성 데이터에 대응되는 음성 인식 결과를 통신부(430)를 통하여 수신할 수 있다.
프로세서(410)는 제2 음성 데이터, 및 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용할 수 있다.
또한, 프로세서(410)는 음성과 관련된 시간 정보를 제1 전자 장치(10)로부터 통신부(430)를 통하여 수신할 수 있다. 이 경우, 프로세서(410)는 음성과 관련된 시간 정보를 이용하여 획득된 제2 음성 데이터를 보정할 수 있다. 그리고, 프로세서(410)는 보정된 제2 음성 데이터, 및 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용할 수 있다.
또한, 제2 음성 데이터, 및 제1 음성 데이터에 대응되는 음성 인식 결과를 이용하여 음성 인식 모델이 업데이트된 경우, 프로세서(410)는 상기 특정 시간과 다른 시간에 사용자가 새롭게 발화한 음성에 대한 제3 음성 데이터를 마이크(420)를 통하여 획득할 수 있다. 프로세서(410)는 획득된 제3 음성 데이터를 학습 데이터를 이용하여 업데이트된 상기 음성 인식 모델에 적용하여, 제3 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다.
또한, 제1 전자 장치(10)의 프로세서(410)는 특정 시간에 사용자가 발화한 음성에 대한 제1 음성 데이터가 획득되면, 획득된 제1 음성 데이터를 제2 전자 장치(20)에게 통신부(430)를 통하여 전송할 수 있다. 제2 전자 장치(20)의 프로세서(410)는 사용자 및 타 사용자가 발화한 음성에 대한 제3 음성 데이터를 획득하는 상황에서, 상기 획득된 제1 음성 데이터를 이용하여 제3 음성 데이터에서 사용자의 음성에 대한 예측 음성 데이터를 획득하고, 예측 음성 데이터 및 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용할 수 있다.
도 6은 본 개시의 일 실시예에 따른 제1 전자 장치 및 제2 전자 장치 간의 흐름도를 나타낸다.
도 6에서, 제1 전자 장치(10)는 특정 시간에 사용자가 발화한 음성을 감지할 수 있다(601). 음성이 감지됨에 따라, 제1 전자 장치(10)는 제2 전자 장치(20)가 음성에 대한 제2 음성 데이터를 획득하도록 제어하는 활성화 명령을 제2 전자 장치(20)에게 전송할 수 있다(602). 또한, 음성이 감지됨에 따라, 제1 전자 장치(10)는 제1 전자 장치(10)에 마련된 마이크를 통하여, 상기 특정 시간에 사용자가 발화한 음성에 대한 제1 음성 데이터를 획득할 수 있다(603). 그리고, 제1 전자 장치(10)는 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다(605). 예로, 제1 전자 장치(10)는 제1 음성 데이터를 제1 전자 장치(10)에 마련된 음성 인식 모델에 적용하여 음성 인식 결과를 획득할 수 있다. 또는, 제1 전자 장치(10)는 제1 음성 데이터를 외부 서버에 마련된 음성 인식 모델에 적용하여 음성 인식 결과를 획득할 수 있다. 제1 전자 장치(10)는 획득된 음성 인식 결과를 제2 전자 장치(20)에게 전송할 수 있다(606).
한편, 활성화 명령을 수신한 제2 전자 장치(20)는 제2 전자 장치(20)에 마련된 마이크를 통하여, 상기 특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 획득할 수 있다(604). 제2 전자 장치(20)는 획득된 제2 음성 데이터, 및 제1 음성 데이터에 대응되는 음성 인식 결과를 학습 데이터로써 이용하여, 제2 전자 장치(20)가 이용하는 음성 인식 모델을 업데이트할 수 있다(607). 예로, 제2 전자 장치(20)는 상기 학습 데이터를 제2 전자 장치(20)에 마련된 음성 인식 모델에 적용하여, 음성 인식 모델을 업데이트할 수 있다. 또는, 제2 전자 장치(20)는 상기 학습 데이터를 외부 서버에 마련된 음성 인식 모델에 적용하여, 음성 인식 모델을 업데이트할 수 있다.
이후, 제2 전자 장치(20)는 제2 전자 장치(20)에 마련된 마이크를 통하여, 상기 특정 시간과 다른 특정 시간에 사용자가 발화한 음성에 대한 제3 음성 데이터를 획득할 수 있다(608). 이 경우, 제2 전자 장치(20)는 획득된 제3 음성 데이터를 동작 607에서 업데이트된 음성 인식 모델에 적용하여 제3 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다(609).
도 7은 본 개시의 일 실시예에 따른 제1 전자 장치의 흐름도를 나타낸다.
제1 전자 장치(10)는 제2 전자 장치(20)와 통신 가능할 수 있다. 이때, 제1 전자 장치(10)는 제2 전자 장치(20)와 비교하여 사용자의 음성을 상대적으로 잘 인식하는 상황에 존재할 수 있다. 예로, 제1 전자 장치(10)는 사용자로부터 제1 거리에 위치한 전자 장치이고, 제2 전자 장치(20)는 상기 제2 거리보다 상대적으로 더 멀리 떨어진 제2 거리에 위치한 전자 장치(20)일 수 있다. 또는, 제1 전자 장치(10)의 주변 소음은 제2 전자 장치(20)의 주변 소음보다 더 낮을 수 있다. 또는, 제1 전자 장치(10)의 마이크의 성능은 제2 전자 장치(20)의 마이크의 성능보다 더 높을 수 있다.
이러한 상황에서, 제1 전자 장치(10)는 제1 전자 장치에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제1 음성 데이터를 획득할 수 있다(701). 이때, 제1 전자 장치(10)는 사용자가 발화한 음성이 감지되면, 제2 전자 장치(20)가 음성에 대한 제2 음성 데이터를 획득하도록 제어하는 활성화 명령을 제2 전자 장치(20)에게 전송할 수 있다.
일 실시예로, 제1 전자 장치(10)는 제1 전자 장치(10)가 획득한 제1 음성 데이터를 제2 전자 장치(20)에게 전송할 수도 있다. 제2 전자 장치(20)는 수신된 제1 음성 데이터를 이용하여, 제2 전자 장치(20)가 획득한 제3 음성 데이터를 보정하여 학습 데이터에 이용할 예측 음성 데이터를 획득할 수 있다. 예로, 제3 음성 데이터가 사용자 및 타 사용자 발화한 음성에 대한 제3 음성 데이터일 수 있다. 이 경우, 제2 전자 장치(20)는 제1 음성 데이터를 이용하여 제3 음성 데이터에서, 제2 전자 장치(20)에서 사용자(1)가 발화한 음성을 마이크를 통하여 수신할 때 획득할 것으로 예상되는 사용자의 음성에 대한 예측 음성 데이터를 획득할 수도 있다.
제1 전자 장치(10)는 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다(702). 음성 인식 결과는, 예로, 텍스트 데이터, 사용자의 의도 및 패스 룰 중 적어도 하나를 포함할 수 있다.
제1 전자 장치(10)는 특정 시간에 사용자가 발화한 상기 음성에 대한 제2 음성 데이터를 획득한 제2 전자 장치(20)에게, 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하도록 전송할 수 있다(703). 예로, 제1 전자 장치(10)는 음성 인성 인식 결과를 음성 인식 모델에 포함된 음향 모델 및 언어 모델 중 적어도 하나의 학습을 위한 학습 데이터로써 이용하도록 전송할 수 있다. 이 때, 제1 전자 장치(10)는 음성 인식 결과와 함께 음성과 관련된 시간 정보를 제2 전자 장치(20)에게 더 전송할 수 있다.
도 8은 본 개시의 일 실시예에 따른 제2 전자 장치의 흐름도를 나타낸다.
제2 전자 장치(20)는 제1 전자 장치(10)와 통신 가능할 수 있다. 이 때, 제2 전자 장치(20)는 제1 전자 장치(10)와 비교하여 사용자의 음성을 상대적으로 인식하기 어려운 상황에 존재할 수 있다. 예로, 제2 전자 장치(20)는 사용자로부터 제2 거리에 위치한 전자 장치이고, 제1 전자 장치(10)는 상기 제2 거리보다 상대적으로 사용자로부터 더 가까운 제1 거리에 위치한 전자 장치(20)일 수 있다. 또는, 제2 전자 장치(20)의 주변 소음은 제1 전자 장치(10)의 주변 소음보다 더 높을 수 있다. 또는, 제2 전자 장치(20)의 마이크의 성능은 제1 주변 장치(10)의 마이크의 성능보다 더 낮을 수 있다.
이러한 상황에서, 제2 전자 장치(20)는 제2 전자 장치(20)에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 획득할 수 있다(801). 예로, 제2 전자 장치(20)는 제2 음성 데이터를 획득하기 위한 활성화 명령을 제1 전자 장치(10)로부터 수신할 수 있다. 활성화 명령에 응답하여, 제2 전자 장치(20)는 제2 전자 장치(20)에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 획득할 수 있다.
또한, 제2 전자 장치(20)는 상기 특정 시간에 사용자가 발화한 음성에 대한 제1 음성 데이터를 획득한 제1 전자 장치로부터, 제1 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다(802).
제2 전자 장치(20)는 동작 801에서 획득된 제2 음성 데이터, 및 동작 802에서 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용할 수 있다(803).
일 실시예로, 제2 전자 장치(20)는 음성 인식 결과와 함께 음성과 관련된 시간 정보를 제1 전자 장치(10)로부터 수신할 수도 있다. 이 경우, 제2 전자 장치(20)는 음성과 관련된 시간 정보를 이용하여 획득된 제2 음성 데이터를 보정할 수 있다. 그리고, 제2 전자 장치(20)는 보정된 제2 음성 데이터 및 동작 802에서 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용할 수 있다.
일 실시예로, 제2 전자 장치(20)는 동작 801에서 사용자가 음성을 발화했던 상기 특정 시간과 다른 시간에 상기 사용자가 새롭게 발화한 음성에 대한 제3 음성 데이터를 획득할 수 있다. 제2 전자 장치(20)는 획득된 제3 음성 데이터를 동작 803에서 학습 데이터를 이용하여 업데이트된 음성 인식 모델에 적용할 수 있다. 그리고, 적용 결과로서, 제2 전자 장치(20)는 제3 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다.
일 실시예로, 제2 전자 장치(20)는 사용자 및 타 사용자가 발화한 음성에 대한 제3 음성 데이터를 획득할 수도 있다. 이 경우, 제2 전자 장치(20)는 제1 음성 데이터를 이용하여, 제3 음성 데이터에서 제2 전자 장치(20)에서 사용자(1)가 발화한 음성을 마이크를 통하여 수신할 때 획득할 것으로 예상되는 사용자의 음성에 대한 예측 음성 데이터를 획득할 수도 있다. 제2 전자 장치(20)는 획득된 예측 음성 데이터 및 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로서 이용할 수 있다
.
도 9는 본 개시의 일 실시예에 따른 네트워크 환경 내의 전자 장치의 상세 블록도이다.
도 9에서, 전자 장치(901)는 도 1 내지 도 3에서 전술한 제1 전자 장치(10), 제2 전자 장치(20) 및 제3 전자 장치(30) 중 어느 하나가 될 수 있다.
도 9를 참조하면, 네트워크 환경(900)에서 전자 장치(901)는 제1 네트워크(998)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(902)와 통신하거나, 또는 제2 네트워크(999)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(904) 또는 서버(908)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 서버(908)를 통하여 전자 장치(904)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(901)는 프로세서(920), 메모리(930), 입력 장치(950), 음향 출력 장치(955), 표시 장치(960), 오디오 모듈(970), 통신 모듈(990)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(901)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(960))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다.
프로세서(920)는, 예를 들면, 소프트웨어(예: 프로그램(940))를 실행하여 프로세서(920)에 연결된 전자 장치(901)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(920)는 다른 구성요소(예: 통신 모듈(990))로부터 수신된 명령 또는 데이터를 휘발성 메모리(932)에 로드하고, 휘발성 메모리(932)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(934)에 저장할 수 있다. 일실시예에 따르면, 프로세서(920)는 메인 프로세서(921)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(923)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(923)은 메인 프로세서(921)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(923)는 메인 프로세서(921)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(923)는, 예를 들면, 메인 프로세서(921)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(921)를 대신하여, 또는 메인 프로세서(921)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(921)와 함께, 전자 장치(901)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(960), 통신 모듈(990))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(923)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 통신 모듈(990))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(923)는 외부 장치로부터 활성화 명령이 수신되면, 메인 프로세서(921)를 액티브 상태로 전환시킬 수 있다.
메모리(930)는, 전자 장치(901)의 적어도 하나의 구성요소(예: 프로세서(920))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(940)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(930)는, 휘발성 메모리(932) 또는 비휘발성 메모리(934)를 포함할 수 있다.
프로그램(940)은 메모리(930)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(942), 미들 웨어(944) 또는 어플리케이션(946)을 포함할 수 있다.
입력 장치(950)는, 전자 장치(901)의 구성요소(예: 프로세서(920))에 사용될 명령 또는 데이터를 전자 장치(901)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(950)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(955)는 음향 신호를 전자 장치(901)의 외부로 출력할 수 있다. 음향 출력 장치(955)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(960)는 전자 장치(901)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(960)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 표시 장치(960)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(970)(예: 마이크)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(970)은, 입력 장치(950)를 통해 소리를 획득하거나, 음향 출력 장치(955), 또는 전자 장치(901)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(902)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
연결 단자(978)는, 그를 통해서 전자 장치(901)가 외부 전자 장치(예: 전자 장치(902))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(978)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
통신 모듈(990)은 전자 장치(901)와 외부 전자 장치(예: 전자 장치(902), 전자 장치(904), 또는 서버(908))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(990)은 프로세서(920)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(990)은 무선 통신 모듈(992)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(994)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(998)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(999)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(999)에 연결된 서버(908)를 통해서 전자 장치(901)와 외부의 전자 장치(904)간에 송신 또는 수신될 수 있다. 전자 장치(902, 904) 각각은 전자 장치(901)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(901)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(902, 904, or 908) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(901)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(901)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(901)로 전달할 수 있다. 전자 장치(901)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 10은 본 개시의 일 실시예에 따른 복수의 화자들이 존재하는 상황에서의 시스템을 나타내는 도면이다.
도 10의 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)는, 전술한 도 1의 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)에 각각 대응되어 중복되는 설명은 생략한다.
도 10에서는, 제1 사용자(1), 제2 사용자(4) 및 제3 사용자(7)가 도시된다. 이 경우, 제1 사용자(1)은 제1 전자 장치(10)에 가깝게 위치하고, 제2 사용자(4)는 제2 전자 장치(20)에 가깝게 위치하고, 제3 사용자는 제3 전자 장치(30)에 가깝게 위치할 수 있다.
이러한 상황에서, 제1 사용자(1), 제2 사용자(4) 및 제3 사용자(7)는 특정 시간에(예: 특정 시점 또는 특정 시간 동안에) 음성을 함께 발화할 수 있다. 예로, 특정 시간에, 사용자(1)는 "지금 몇 시야?"란 음성(2)을 발화하고, 제2 사용자(4)는 "날씨가 좋네"라는 음성(5)을 발화하고, 제3 사용자(7)는 "배가 고프네"란 음성(8)을 발화할 수 있다.
이 경우, 제1 전자 장치(10), 제2 전자 장치(20) 및 제3 전자 장치(30)들 각각의 마이크는 제1 사용자(1), 제2 사용자(4) 및 제3 사용자(7) 각각이 발화한 음성 신호를 수신할 수도 있고, 다른 사용자가 발화한 음성 신호를 함께 수신할 수도 있다. 도 11의 실시예에서는, 전자 장치들(10,20,30) 각각의 위치, 전자 장치들(10,20,30) 각각의 주변 장애물, 전자 장치들(10,20,30) 각각의 마이크의 성능 또는 사양, 전자 장치들(10,20,30) 각각에 대한 사용자의 행동을 고려하여, 제1 전자 장치(10)의 마이크는 제1 사용자(1)가 발화한 음성 신호를 수신하고, 제2 전자 장치(20)의 마이크는 제1 사용자(1) 및 제2 사용자(4)가 발화한 음성 신호를 수신하고, 제3 전자 장치(30)의 마이크는 제1 사용자(1) 및 제3 사용자(7)가 발화한 음성 신호를 수신하는 상황을 가정한다.
상기 상황에서, 제1 사용자(1)로부터 제1 거리(예: 근거리)에 위치한 제1 전자 장치(10)는 제1 전자 장치(10)에 마련된 마이크를 통하여 상기 특정 시간에 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터를 획득할 수 있다(①). 이 때, 제1 사용자(1)로부터 제2 거리(예: 중거리)에 위치한 제2 전자 장치(20)는 제2 전자 장치(20)에 마련된 마이크를 통하여 상기 특정 시간에 제1 사용자(1)가 발화한 음성(2)뿐만 아니라, 상기 특정 시간에 제2 전자 장치(20)에 가깝게 위치한 제2 사용자(4)가 발화한 음성(5)을 합한 제2 음성 데이터를 함께 획득할 수 있다(②). 또한, 사용자(1)로부터 제3 거리(예: 원거리)에 위치한 제3 전자 장치(30)는 제3 전자 장치(30)에 마련된 마이크를 통하여 상기 특정 시간에 제1 사용자(1)가 발화한 음성(2)뿐만 아니라, 상기 특정 시간에 제3 전자 장치(30)에 가깝게 위치한 제3 사용자(7)가 발화한 음성(8)에 대한 제3 음성 데이터를 함께 획득할 수 있다(③).
도 10에서, 제1 전자 장치(10)가 제1 음성 데이터를 획득하면, 제1 전자 장치(10)는 획득된 제1 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다. 예로, 제1 전자 장치(10)는 획득된 제1 음성 데이터를 제1 전자 장치(10)에 마련된 음성 인식 모델에 적용하여 음성 인식 결과를 획득할 수 있다. 또는, 제1 전자 장치(10)는 제1 음성 데이터를 제1 전자 장치(10)와 통신 가능한 제1 서버(50)로 전송할 수 있다(④). 그리고, 제1 전자 장치(10)는 제1 서버(50)로부터 제1 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다(⑤). 이때, 제1 음성 데이터에 대응되는 음성 인식 결과는 제1 사용자가 발화한 음성에 대응되는 음성 인식 결과를 의미할 수 있다. 제1 전자 장치(10)가 제1 서버(50)로부터 음성 인식 결과를 획득하는 다양한 방식은 도 1a에서 전술하여 중복되는 설명은 생략한다.
음성 인식 결과가 획득되면, 제1 전자 장치(10)는 제1 사용자(1)가 발화한 음성(2)에 대응되는 음성 인식 결과, 및 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터를 제2 전자 장치(20)에게 전송할 수 있다(⑥). 또한, 제1 전자 장치(10)는 제1 사용자(1)가 발화한 음성(2)에 대응되는 음성 인식 결과, 및 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터를 제3 전자 장치(30)에게 전송할 수 있다(⑦). 일 실시예로, 제1 사용자(1)가 발화한 음성(2)에 대응되는 음성 인식 결과, 및 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터 각각은 시간 차를 두고 제2 전자 장치(20) 또는 제3 전자 장치(30)에게 전송될 수도 있다. 예로, 제1 사용자(1)가 발화한 음성(2)에 대응되는 음성 인식 결과가 전송된 후에 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터가 전송될 수도 있고, 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터가 전송된 후에 제1 사용자(1)가 발화한 음성(2)에 대응되는 음성 인식 결과가 전송될 수도 있다.
제2 전자 장치(20)는, 제1 사용자(1)가 발화한 음성(2)에 대응되는 음성 인식 결과를 학습 데이터의 일부로서 이용할 수 있다. 이를 위하여, 제2 전자 장치(20)는, 동작 ⑥에서 제1 전자 장치(10)가 획득한 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터를 이용하여, 동작 ②에서 제2 전자 장치(20)가 획득한 제1 사용자(1)가 발화한 음성(2) 및 제2 사용자(4)가 발화한 음성(5)을 합한 제2 음성 데이터로부터 제1 사용자(1)의 음성에 대한 예측 음성 데이터를 추출할 수 있다. 예측 음성 데이터는, 제2 전자 장치(20)의 마이크를 통하여 획득된 제2 음성 데이터 중에서, 제1 사용자(1)가 발화한 음성(2)에 대한 음성 데이터일 수 있다.
구체적으로, 제1 전자 장치(10)가 획득한, 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터는 A로 나타내고, 제2 전자 장치(20)가 획득한, 제1 사용자(1) 및 제2 사용자(4)가 발화한 음성(5)을 합한 제2 음성 데이터는 A' + B'로 나타낼 수 있다.
이때, 제2 음성 데이터 - 제1 음성 데이터 = (A' + B') - A = B' + residual(A)가 될 수 있다. 여기서, 제2 음성 데이터 - (제2 음성 데이터 - 제1 음성 데이터) = (A' + B') - (B' + residual(A)) = A' - residual(A)가 될 수 있다. 이에, 제2 전자 장치(20)가 획득한 제1 사용자(1)가 발화한 음성에 대한 음성 데이터인 A'는, 제2 전자 장치(20)가 제1 전자 장치(10)로부터 획득한 제1 음성 데이터에 residual(A)를 더한 값이 될 수 있다.
residual(A)는 제1 전자 장치(10) 및 제2 전자 장치(20) 간의 발화 환경 차이 값이 될 수 있다. residual(A)는, 예로, 제1 사용자(1)만 발화하는 상황에서 제1 전자 장치(10)가 획득한 제1 사용자(1)에 대한 제1 음성 데이터 A, 및 제2 전자 장치(2)가 획득한 제1 사용자(1)에 대한 제2 음성 데이터 A'의 차이 값이 될 수 있다. 또는, residual(A)는 비발화 구간에서, 제1 전자 장치(10)에 마련된 마이크가 획득한 환경 신호에 대한 데이터, 및 제2 전자 장치(20)에 마련된 마이크가 획득환 환경 신호에 데이터의 차이 값이 될 수 있다.
전술한 과정을 통하여, 예측 음성 데이터 A'이 획득되면, 제2 전자 장치(20)는 예측 음성 데이터 및 동작 ⑥에서 수신한 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 세트(set)로 구성하여 학습 데이터로써 이용할 수 있다. 예로, 음성 인식 모델이 제2 전자 장치(20)에 위치하는 경우, 제2 전자 장치(20)는 학습 데이터로써 {제2 전자 장치(20)에서 생성된 예측 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 음성 인식 모델에 적용하여 제2 전자 장치(20)에 위치한 음성 인식 모델을 업데이트할 수 있다(⑧).
또한, 제3 전자 장치(30)도 제1 사용자(1)가 발화한 음성(2)에 대응되는 음성 인식 결과를 학습 데이터의 일부로서 이용할 수 있다. 이를 위하여, 제3 전자 장치(30)는, 동작 ⑦에서 제1 전자 장치(10)가 획득한 제1 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터를 이용하여, 동작 ③에서 제3 전자 장치(30)가 획득한 제1 사용자(1) 및 제3 사용자(7)가 발화한 음성(8)을 합한 제3 음성 데이터로부터 제1 사용자(1)의 음성에 대한 예측 음성 데이터를 추출할 수 있다. 예측 음성 데이터는, 제3 전자 장치(30)의 마이크를 통하여 획득된 제3 음성 데이터 중에서, 제1 사용자(1)가 발화한 음성(2)에 대한 음성 데이터일 수 있다. 예측 음성 데이터를 추출하는 방법은 제2 전자 장치(20)를 대상으로 상술하여 상세한 설명은 생략한다.
제3 전자 장치(30)는 예측 음성 데이터 및 동작 ⑦에서 수신한 제1 음성 데이터에 대응되는 음성 인식 결과를 세트로 구성하여 학습 데이터로써 이용할 수 있다. 예로, 음성 인식 모델이 제2 서버(60)에 위치하는 경우, 제3 전자 장치(30)는 학습 데이터로써 {제3 전자 장치(30)에서 생성된 예측 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 음성 인식 모델이 위치한 제2 서버(60)에게 전송할 수 있다(⑨). 제2 서버(60)는 수신된 학습 데이터를 음성 인식 모델에 적용하여 제2 서버(60)에 저장된 음성 인식 모델을 업데이트할 수 있다(⑩).
도 11a 및 도 11b는, 본 개시의 일 실시예에 발화 환경을 고려한 시스템을 나타내는 도면이다.
도 11a의 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)는, 전술한 도 1의 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 제1 서버(50) 및 제2 서버(60)에 각각 대응되어 중복되는 설명은 생략한다.
도 11a에서, 사용자(1)가 음성(2)을 발화하면, 제1 전자 장치(10)는 제1 전자 장치(10)에 마련된 마이크를 통하여 특정 시간에 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터를 획득할 수 있다(①).
이때, 사용자(1)로부터 제2 거리(예: 중거리)에 위치한 제2 전자 장치(20) 또한 제2 전자 장치(20)에 마련된 마이크를 통하여 상기 특정 시간에 사용자(1)가 발화한 음성(2)에 대한 제2 음성 데이터를 획득할 수 있다(②).
제2 전자 장치(20)는 사용자(1)가 발화한 음성(2)에 대한 제2 음성 데이터를 제1 전자 장치(10)에게 전송할 수 있다(②-1).
제1 전자 장치(10)는 제2 전자 장치(20)로부터 획득된 제2 음성 데이터를 이용하여, 제1 전자 장치(10) 및 제2 전자 장치(20) 간의 제1 발화 환경 차이 값을 획득하여 저장할 수 있다(②-2).
구체적으로, 제1 전자 장치(10)가 획득한, 사용자(1)가 발화한 음성(2)에 대한 제1 음성 데이터는 A로 나타내고, 제2 전자 장치(20)가 획득한, 사용자(1)가 발화한 음성(2)에 대한 제2 음성 데이터는 A'로 나타낼 수 있다. 이 때, 제2 음성 데이터 - 제1 음성 데이터 = A - A' = residual(A)가 될 수 있다. residual(A)는 제1 전자 장치(10) 및 제2 전자 장치(20) 간의 제1 발화 환경 차이 값으로 저장될 수 있다.
또한, 사용자(1)로부터 제3 거리(예: 원거리)에 위치한 제3 전자 장치(30) 또한 제3 전자 장치(30)에 마련된 마이크를 통하여 상기 특정 시간에 사용자(1)가 발화한 음성(2)에 대한 제3 음성 데이터를 획득할 수 있다(③).
제3 전자 장치(30)는 사용자(1)가 발화한 음성(2)에 대한 제3 음성 데이터를 제1 전자 장치(10)에게 전송할 수 있다(③-1).
제1 전자 장치(10)는 제3 전자 장치(30)로부터 획득된 제3 음성 데이터를 이용하여, 제1 전자 장치(10) 및 제3 전자 장치(30) 간의 제2 발화 환경 차이 값을 획득하여 저장할 수 있다(③-2).
이후, 도 11b와 같이, 사용자(1)는 음성(2)이 발화된 특정 시간과 다른 시간에 음성(9)을 발화할 수 있다. 제1 전자 장치(10)는 마련된 마이크를 통하여 사용자(1)가 발화한 음성(9)에 대한 제4 음성 데이터를 획득할 수 있다(④). 제1 전자 장치(10)는 획득된 제4 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다. 예로, 제1 전자 장치(10)는 획득된 제4 음성 데이터에 대응되는 음성 인식 결과를 제1 전자 장치(10)에 마련된 음성 인식 모델에 적용하여 음성 인식 결과를 획득할 수 있다. 또는, 제1 전자 장치(10)는 제4 음성 데이터를 제1 전자 장치(10)와 통신 가능한 제1 서버(50)로 전송할 수 있다(⑤). 그리고, 제1 전자 장치(10)는 제1 서버(50)로부터 제4 음성 데이터에 대응되는 음성 인식 결과를 획득할 수 있다(⑥).
한편, 제1 전자 장치(10)는 획득된 제4 음성 데이터 및 동작 (②-2)에서 저장한 제1 발화 환경 차이 값을 이용하여, 제2 전자 장치(20)에서 사용자(1)가 발화한 음성(9)을 마이크를 통하여 수신할 때 획득할 것으로 예상되는 제1 예측 음성 데이터를 생성할 수 있다. 예로, 제1 전자 장치(10)는 획득된 제4 음성 데이터와 제1 발화 환경 차이 값을 더하여 제1 예측 음성 데이터를 생성할 수 있다. 제1 전자 장치(10)는 제1 예측 음성 데이터 및 동작 ⑥에서 획득한 제4 음성 데이터에 대응되는 음성 인식 결과를 제2 전자 장치(20)에게 전송할 수 있다(⑦). 제2 전자 장치(20)는 학습 데이터로써 {제1 전자 장치(10)에서 생성된 제1 예측 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 음성 인식 모델에 적용하여 음성 인식 모델을 업데이트할 수 있다(⑧).
또한, 제1 전자 장치(10)는 획득된 제4 음성 데이터 및 동작 (③-2)에서 저장한 제2 발화 환경 차이 값을 이용하여, 제3 전자 장치(30)에서 사용자(1)가 발화한 음성(9)을 마이크를 통하여 수신할 때 획득할 것으로 예상되는 제2 예측 음성 데이터를 생성할 수 있다. 예로, 제1 전자 장치(10)는 획득된 제4 음성 데이터와 제2 발화 환경 차이 값을 더하여 제2 예측 음성 데이터를 생성할 수 있다. 제1 전자 장치(10)는 제2 예측 음성 데이터 및 동작 ⑥에서 획득한 제4 음성 데이터에 대응되는 음성 인식 결과를 제3 전자 장치(30)에게 전송할 수 있다(⑨). 제3 전자 장치(30)는 {제1 전자 장치(10)에서 생성된 제2 예측 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 세트로 구성하여 학습 데이터로써 이용할 수 있다. 예로, 음성 인식 모델이 제2 서버(60)에 위치하는 경우, 제3 전자 장치(30)는 학습 데이터로써 {제1 전자 장치(10)에서 생성된 제2 예측 음성 데이터, 제1 전자 장치(10)로부터 획득된 음성 인식 결과}를 음성 인식 모델이 위치한 제2 서버(60)에게 전송할 수 있다(⑩). 제2 서버(60)는 수신된 학습 데이터를 음성 인식 모델에 적용하여 제2 서버(60)에 저장된 음성 인식 모델을 업데이트할 수 있다(⑪).
일 실시예로, 제1 전자 장치(10)는 {제1 전자 장치(10)에서 생성된 제2 예측 음성 데이터, 제1 전자 장치(10)가 획득한 음성 인식 결과}를 제3 전자 장치(30)를 거치지 않고, 제2 서버(60)에게 직접 전송할 수도 있다. 제2 서버(60)는 수신된 학습 데이터를 음성 인식 모델에 적용하여 제2 서버(60)에 저장된 음성 인식 모델을 업데이트할 수 있다.
일 실시예로, 전술한 발화 환경 차이 값은, 사용자(1)가 음성을 발화하지 않은 상황에서도 측정될 수 있다. 예로, 사용자는 제1 전자 장치(10), 제2 전자 장치(20) 및 제3 전자 장치(30)를 구매 후에, 각 전자 장치들의 마이크를 일정 시간 동안 액티브시킬 수 있다. 이 경우, 전술한 각 전자 장치들의 마이크들이 수신한 환경 신호에 데이터의 차이 값에 기반하여, 예측 음성 데이터의 생성에 필요한 발화 환경 차이 값이 획득될 수도 있다.
본 개시에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 개시의 일 실시예들은 기기(machine)(예: 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(30), 전자 장치(901)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리(440), 내장 메모리(936) 또는 외장 메모리(938))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(940))로서 구현될 수 있다. 예를 들면, 기기(예: 제1 전자 장치(10), 제2 전자 장치(20), 제3 전자 장치(901))의 프로세서(예: 프로세서(410), 프로세서(920))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 개시에 개시된 일 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
일 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 일 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
10: 제1 전자 장치 20: 제2 전자 장치
30: 제3 전자 장치 50: 제1 서버
60: 제2 서버

Claims (22)

  1. 제1 전자 장치가 학습 데이터를 제공하는 방법에서,
    상기 제1 전자 장치에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제1 음성 데이터를 획득하는 단계;
    상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하는 단계; 및
    상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제2 음성 데이터를 획득한 제2 전자 장치에게, 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하도록 전송하는 단계를 포함하는,
    학습 데이터 제공 방법.
  2. 제1항에서,
    상기 사용자가 발화한 음성이 감지되면,
    상기 제2 전자 장치에게, 상기 제2 전자 장치가 상기 음성에 대한 제2 음성 데이터를 획득하도록 제어하는 활성화 명령(wake-up command)을 전송하는 단계를 포함하는,
    학습 데이터 제공 방법.
  3. 제1항에서,
    상기 방법은,
    상기 획득된 제1 음성 데이터를 상기 제2 전자 장치에게 전송하는 단계를 더 포함하는,
    학습 데이터 제공 방법.
  4. 제1항에서,
    상기 방법은,
    상기 음성과 관련된 시간 정보를 상기 제2 전자 장치에게 전송하는 단계를 더 포함하는,
    학습 데이터 제공 방법.
  5. 제1항에서,
    상기 제1 전자 장치는 상기 사용자로부터 제1 거리에 위치한 전자 장치이고,
    상기 제2 전자 장치는 상기 사용자로부터 제1 전자 장치까지의 위치보다 상대적으로 멀리 떨어진 제2 거리에 위치한 전자 장치인,
    학습 데이터 제공 방법.
  6. 제1항에서,
    상기 제2 전자 장치의 주변 소음은 상기 제1 전자 장치의 주변 소음보다 높거나, 또는 상기 제2 전자 장치의 마이크의 성능은 상기 제1 전자 장치의 마이크의 성능보다 낮은 것을 특징으로 하는,
    학습 데이터 제공 방법.
  7. 제2 전자 장치가 학습 데이터를 획득하는 방법에 있어서,
    상기 제2 전자 장치에 마련된 마이크를 통하여, 특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 획득하는 단계;
    상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제1 음성 데이터를 획득한 제1 전자 장치로부터, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하는 단계; 및
    상기 제2 음성 데이터, 및 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는 단계를 포함하는,
    학습 데이터 획득 방법.
  8. 제7항에서,
    상기 제1 전자 장치로부터, 상기 제2 음성 데이터를 획득하기 위한 활성화 명령을 수신하는 단계를 더 포함하고,
    상기 제2 음성 데이터를 획득하는 단계는,
    상기 활성화 명령에 응답하여, 상기 제2 전자 장치에 마련된 마이크를 통하여, 상기 특정 시간에 사용자가 발화한 음성에 대한 상기 제2 음성 데이터를 획득하는 단계를 포함하는,
    학습 데이터 획득 방법.
  9. 제7항에서,
    상기 방법은,
    상기 음성과 관련된 시간 정보를 상기 제1 전자 장치로부터 수신하는 단계; 및
    상기 음성과 관련된 시간 정보를 이용하여 상기 획득된 제2 음성 데이터를 보정하는 단계를 더 포함하고,
    상기 제2 음성 데이터, 및 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는 단계는,
    상기 보정된 제2 음성 데이터, 및 상기 제1 음성 데이터에 대응되는 상기 음성 인식 결과를 상기 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는 단계를 포함하는,
    학습 데이터 획득 방법.
  10. 제7항에서,
    상기 특정 시간과 다른 시간에 상기 사용자가 발화한 음성에 대한 제3 음성 데이터를 획득하는 단계;
    상기 획득된 제3 음성 데이터를 상기 학습 데이터를 이용하여 업데이트된 상기 음성 인식 모델에 적용하는 단계; 및
    상기 적용 결과로서, 상기 제3 음성 데이터에 대응되는 음성 인식 결과를 획득하는 단계를 더 포함하는,
    학습 데이터 획득 방법.
  11. 제7항에서,
    상기 방법은,
    상기 사용자 및 타 사용자가 발화한 음성에 대한 제3 음성 데이터를 획득하는 단계;
    상기 제1 전자 장치로부터, 상기 제1 음성 데이터를 획득하는 단계;
    상기 제1 음성 데이터를 이용하여, 상기 제3 음성 데이터에서 상기 사용자의 음성에 대한 예측 음성 데이터를 획득하는 단계; 및
    상기 예측 음성 데이터 및 상기 제1 음성 데이터에 대응되는 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는 단계를 더 포함하는,
    학습 데이터 획득 방법.
  12. 제1 전자 장치에 있어서,
    사용자가 발화한 음성을 입력 받을 수 있는 마이크;
    제2 전자 장치와 통신할 수 있는 통신부;
    적어도 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서; 및
    상기 적어도 하나 이상의 인스트럭션을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 프로세서는,
    특정 시간에 상기 사용자가 발화한 음성에 대한 제1 음성 데이터를 상기 마이크를 통하여 획득하고,
    상기 제1 음성 데이터에 대응되는 음성 인식 결과를 획득하고,
    상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제2 음성 데이터를 획득한 상기 제2 전자 장치에게, 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하도록 상기 통신부를 통하여 전송하는,
    제1 전자 장치.
  13. 제12항에서,
    상기 적어도 하나의 프로세서는,
    상기 사용자가 발화한 음성이 감지되면,
    상기 제2 전자 장치에게, 상기 제2 전자 장치가 상기 음성에 대한 제2 음성 데이터를 획득하도록 제어하는 활성화 명령을 상기 통신부를 통하여 전송하는,
    제1 전자 장치.
  14. 제12항에서,
    상기 적어도 하나의 프로세서는,
    상기 획득된 제1 음성 데이터를 상기 제2 전자 장치에게 전송하는,
    제1 전자 장치.
  15. 제12항에서,
    상기 적어도 하나의 프로세서는,
    상기 음성과 관련된 시간 정보를 상기 제2 전자 장치에게 전송하는,
    제1 전자 장치.
  16. 제12항에서,
    상기 제1 전자 장치는 상기 사용자로부터 제1 거리에 위치한 전자 장치이고,
    상기 제2 전자 장치는 상기 사용자로부터 제1 전자 장치까지의 위치보다 상대적으로 멀리 떨어진 제2 거리에 위치한 전자 장치인,
    제1 전자 장치.
  17. 제12항에서,
    상기 제2 전자 장치의 주변 소음은 상기 제1 전자 장치의 주변 소음보다 높거나, 또는 상기 제2 전자 장치의 마이크의 성능은 상기 제1 전자 장치의 마이크의 성능보다 낮은 것을 특징으로 하는,
    제1 전자 장치.
  18. 제2 전자 장치에 있어서,
    사용자가 발화한 음성을 입력 받을 수 있는 마이크,
    제1 전자 장치와 통신할 수 있는 통신부;
    적어도 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서; 및
    상기 적어도 하나 이상의 인스트럭션을 저장하는 메모리를 포함하고,
    상기 적어도 하나의 프로세서는,
    특정 시간에 사용자가 발화한 음성에 대한 제2 음성 데이터를 상기 마이크를 통하여 획득하고,
    상기 특정 시간에 상기 사용자가 발화한 상기 음성에 대한 제1 음성 데이터를 획득한 제1 전자 장치로부터, 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 상기 통신부를 통하여 수신하고,
    상기 제2 음성 데이터, 및 상기 제1 음성 데이터에 대응되는 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는,
    제2 전자 장치.
  19. 제18항에서,
    상기 적어도 하나의 프로세서는,
    상기 제1 전자 장치로부터, 상기 제2 음성 데이터를 획득하기 위한 활성화 명령을 상기 통신부를 통하여 수신하고,
    상기 활성화 명령에 응답하여, 상기 특정 시간에 사용자가 발화한 음성에 대한 상기 제2 음성 데이터를 상기 마이크를 통하여 획득하는,
    제2 전자 장치.
  20. 제18항에서,
    상기 적어도 하나의 프로세서는,
    상기 음성과 관련된 시간 정보를 상기 제1 전자 장치로부터 상기 통신부를 통하여 수신하고,
    상기 음성과 관련된 시간 정보를 이용하여 상기 획득된 제2 음성 데이터를 보정하고,
    상기 보정된 제2 음성 데이터, 및 상기 제1 음성 데이터에 대응되는 상기 음성 인식 결과를 상기 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는,
    제2 전자 장치.
  21. 제18항에서,
    상기 적어도 하나의 프로세서는,
    상기 특정 시간과 다른 시간에 상기 사용자가 발화한 음성에 대한 제3 음성 데이터를 상기 마이크를 통하여 획득하고,
    상기 획득된 제3 음성 데이터를 상기 학습 데이터를 이용하여 업데이트된 상기 음성 인식 모델에 적용하고,
    상기 적용 결과로서, 상기 제3 음성 데이터에 대응되는 음성 인식 결과를 획득하는,
    제2 전자 장치.
  22. 제18항에서,
    상기 적어도 하나의 프로세서는,
    상기 사용자 및 타 사용자가 발화한 음성에 대한 제3 음성 데이터를 획득하고,
    상기 제1 전자 장치로부터, 상기 제1 음성 데이터를 획득하고,
    상기 제1 음성 데이터를 이용하여, 상기 제3 음성 데이터에서 상기 사용자의 음성에 대한 예측 음성 데이터를 획득하고,
    상기 예측 음성 데이터 및 상기 제1 음성 데이터에 대응되는 상기 음성 인식 결과를 음성 인식 모델의 학습을 위한 학습 데이터로써 이용하는,
    제2 전자 장치.


KR1020190013855A 2018-09-20 2019-02-01 전자 장치, 및 이의 학습 데이터 제공 또는 획득 방법 KR20200033707A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980044694.XA CN112384974A (zh) 2018-09-20 2019-09-20 电子装置和用于提供或获得用于训练电子装置的数据的方法
EP19862044.5A EP3785258A4 (en) 2018-09-20 2019-09-20 PROCESS FOR PROVIDING OR OBTAINING DATA FOR LEARNING AND ASSOCIATED ELECTRONIC DEVICE
US16/577,461 US11315553B2 (en) 2018-09-20 2019-09-20 Electronic device and method for providing or obtaining data for training thereof
PCT/KR2019/012272 WO2020060311A1 (en) 2018-09-20 2019-09-20 Electronic device and method for providing or obtaining data for training thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180113234 2018-09-20
KR20180113234 2018-09-20

Publications (1)

Publication Number Publication Date
KR20200033707A true KR20200033707A (ko) 2020-03-30

Family

ID=70003519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190013855A KR20200033707A (ko) 2018-09-20 2019-02-01 전자 장치, 및 이의 학습 데이터 제공 또는 획득 방법

Country Status (3)

Country Link
EP (1) EP3785258A4 (ko)
KR (1) KR20200033707A (ko)
CN (1) CN112384974A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022092790A1 (ko) * 2020-10-28 2022-05-05 주식회사 아모센스 음성을 처리할 수 있는 모바일 단말기 및 이의 작동 방법
KR20220056288A (ko) 2020-10-27 2022-05-06 주식회사 엠아이제이 인공지능 데이터 구성을 위한 크라우드소싱 시스템
WO2024112169A1 (ko) * 2022-11-24 2024-05-30 고려대학교 산학협력단 개체 유형 및 관계 정보에 대한 프롬프트 및 빈칸 추론을 이용한 대화 관계 추출 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113608664B (zh) * 2021-07-26 2024-06-18 京东科技控股股份有限公司 智能语音机器人交互效果优化方法、装置及智能机器人

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2323694B (en) * 1997-03-27 2001-07-18 Forum Technology Ltd Adaptation in speech to text conversion
US8880403B2 (en) * 2010-09-03 2014-11-04 Canyon Ip Holdings Llc Methods and systems for obtaining language models for transcribing communications
US8756062B2 (en) * 2010-12-10 2014-06-17 General Motors Llc Male acoustic model adaptation based on language-independent female speech data
US9153231B1 (en) * 2013-03-15 2015-10-06 Amazon Technologies, Inc. Adaptive neural network speech recognition models
WO2014182453A2 (en) * 2013-05-06 2014-11-13 Motorola Mobility Llc Method and apparatus for training a voice recognition model database
CN103632666B (zh) * 2013-11-14 2016-09-28 华为技术有限公司 语音识别方法、语音识别设备和电子设备
KR102146462B1 (ko) * 2014-03-31 2020-08-20 삼성전자주식회사 음성 인식 시스템 및 방법
US9633657B2 (en) * 2014-04-02 2017-04-25 Speakread A/S Systems and methods for supporting hearing impaired users
KR20170034227A (ko) * 2015-09-18 2017-03-28 삼성전자주식회사 음성 인식 장치 및 방법과, 음성 인식을 위한 변환 파라미터 학습 장치 및 방법
KR102405793B1 (ko) * 2015-10-15 2022-06-08 삼성전자 주식회사 음성 신호 인식 방법 및 이를 제공하는 전자 장치
CN106782504B (zh) * 2016-12-29 2019-01-22 百度在线网络技术(北京)有限公司 语音识别方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220056288A (ko) 2020-10-27 2022-05-06 주식회사 엠아이제이 인공지능 데이터 구성을 위한 크라우드소싱 시스템
WO2022092790A1 (ko) * 2020-10-28 2022-05-05 주식회사 아모센스 음성을 처리할 수 있는 모바일 단말기 및 이의 작동 방법
WO2024112169A1 (ko) * 2022-11-24 2024-05-30 고려대학교 산학협력단 개체 유형 및 관계 정보에 대한 프롬프트 및 빈칸 추론을 이용한 대화 관계 추출 방법 및 장치

Also Published As

Publication number Publication date
EP3785258A1 (en) 2021-03-03
EP3785258A4 (en) 2021-07-07
CN112384974A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
KR102513297B1 (ko) 전자 장치 및 전자 장치의 기능 실행 방법
US11854527B2 (en) Electronic device and method of controlling speech recognition by electronic device
US11671386B2 (en) Electronic device and method for changing chatbot
KR102473447B1 (ko) 인공지능 모델을 이용하여 사용자 음성을 변조하기 위한 전자 장치 및 이의 제어 방법
US11430438B2 (en) Electronic device providing response corresponding to user conversation style and emotion and method of operating same
US11577379B2 (en) Robot and method for recognizing wake-up word thereof
KR20200033707A (ko) 전자 장치, 및 이의 학습 데이터 제공 또는 획득 방법
KR102515023B1 (ko) 전자 장치 및 그 제어 방법
KR102508863B1 (ko) 전자 장치 및 상기 전자 장치로부터 수신된 데이터를 처리하는 서버
KR102490916B1 (ko) 전자 장치, 이의 제어 방법 및 비일시적인 컴퓨터 판독가능 기록매체
KR102563817B1 (ko) 사용자 음성 입력 처리 방법 및 이를 지원하는 전자 장치
US11315553B2 (en) Electronic device and method for providing or obtaining data for training thereof
KR102391298B1 (ko) 음성 인식 서비스를 제공하는 전자 장치 및 그 방법
US20190279632A1 (en) System for processing user utterance and controlling method thereof
CN109474658A (zh) 用外部设备支持任务运行的电子设备、服务器和记录介质
KR20200044173A (ko) 전자 장치 및 그의 제어 방법
KR20200099380A (ko) 음성 인식 서비스를 제공하는 방법 및 그 전자 장치
US11817097B2 (en) Electronic apparatus and assistant service providing method thereof
US20220059088A1 (en) Electronic device and control method therefor
US20210264905A1 (en) Electronic device and control method therefor
KR102499379B1 (ko) 전자 장치 및 이의 피드백 정보 획득 방법
KR20200047311A (ko) 복수의 장치들이 있는 환경에서의 음성 인식 방법 및 장치
KR20190140509A (ko) 재고 추적 방법 및 장치
US11127400B2 (en) Electronic device and method of executing function of electronic device
KR20210094727A (ko) 전자 장치 및 이의 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination