KR20210030646A - 인공지능 비서를 선택하는 전자 장치 및 그 응답 제공 방법 - Google Patents

인공지능 비서를 선택하는 전자 장치 및 그 응답 제공 방법 Download PDF

Info

Publication number
KR20210030646A
KR20210030646A KR1020190112039A KR20190112039A KR20210030646A KR 20210030646 A KR20210030646 A KR 20210030646A KR 1020190112039 A KR1020190112039 A KR 1020190112039A KR 20190112039 A KR20190112039 A KR 20190112039A KR 20210030646 A KR20210030646 A KR 20210030646A
Authority
KR
South Korea
Prior art keywords
voice
response
input user
identified
assistant
Prior art date
Application number
KR1020190112039A
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 KR1020190112039A priority Critical patent/KR20210030646A/ko
Priority to PCT/KR2020/012182 priority patent/WO2021049877A1/en
Priority to US17/015,788 priority patent/US20210074299A1/en
Publication of KR20210030646A publication Critical patent/KR20210030646A/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/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는, 마이크, 복수의 음성 비서에 대한 정보가 저장된 메모리, 프로세서를 포함하고, 프로세서는, 마이크를 통해 사용자 음성이 입력되면, 입력된 사용자 음성에 기초하여 복수의 음성 비서 중 하나의 음성 비서를 식별하고, 입력된 사용자 음성이 변환된 텍스트를 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하고, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별됨에 기초하여, 복수의 음성 비서 각각으로부터 입력된 사용자 음성에 대한 응답을 획득하고, 획득된 복수의 응답 중 적어도 하나를 입력된 사용자 음성에 대한 응답으로 제공한다.

Description

인공지능 비서를 선택하는 전자 장치 및 그 응답 제공 방법 { ELECTRONIC APPARATUS FOR SELECTING AI ASSISTANT AND RESPONSE PROVIDING METHOD THEREOF }
본 개시는 복수의 인공지능 음성 비서를 이용하여 사용자 음성에 대한 응답을 제공하는 전자 장치에 관한 것이다. 보다 상세하게는, 사용자가 선택한 음성 비서를 통해 사용자 음성에 대한 응답을 제공할 수 없는 경우, 복수의 음성 비서로부터 획득되는 응답을 검증하는 전자 장치에 관한 것이다.
종래 알렉사, 구글 어시스턴트, 코타나, 빅스비 등 다양한 인공지능 음성 비서가 개발되어 사용되고 있다.
다만, 어느 하나의 음성 비서만을 사용하는 경우, 해당 음성 비서가 다른 음성 비서들에 비해 상대적으로 우수한 서비스를 제공하는 서비스 카테고리에 대해서는 해당 음성 비서로부터 고품질의 서비스를 제공받을 수 있지만, 해당 비서가 상대적으로 열등한 서비스를 제공하는 서비스 카테고리에 대해서는 고품질의 서비스를 기대하기 어렵다.
또한, 사용자 별로 선호하는 음성 비서가 다를 수도 있다.
따라서, 카테고리 및/또는 사용자를 고려하여 복수의 음성 비서를 시기적절하게 이용할 필요성이 대두되었다.
본 개시는, 복수의 음성 비서를 시기적절하게 이용하는 전자 장치를 제공함에 그 목적이 있다.
구체적으로, 사용자에 의해 선택된 음성 비서가 적절한 응답을 제공할 수 있을지에 대한 검증을 수행하고, 검증 결과 적절한 응답을 제공할 수 없는 경우, 적절한 응답을 제공할 수 있는 다른 음성 비서를 식별할 수 있는 전자 장치를 제공함에 본 개시의 목적이 있다.
또한, 본 개시의 목적은, 입력된 사용자 음성에 대한 복수의 음성 비서 각각의 응답의 정확도를 판단하여, 가장 정확도 높은 응답을 제공하는 전자 장치를 제공함에도 그 목적이 있다.
본 개시의 일 실시 예에 따른 전자 장치는, 마이크, 복수의 음성 비서에 대한 정보가 저장된 메모리, 프로세서를 포함하고, 상기 프로세서는, 상기 마이크를 통해 사용자 음성이 입력되면, 상기 입력된 사용자 음성에 기초하여 상기 복수의 음성 비서 중 하나의 음성 비서를 식별하고, 상기 입력된 사용자 음성이 변환된 텍스트를 상기 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하고, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별됨에 기초하여, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하고, 상기 획득된 복수의 응답 중 적어도 하나를 상기 입력된 사용자 음성에 대한 응답으로 제공한다.
본 개시의 일 실시 예에 따른 전자 장치의 응답 제공 방법은, 마이크를 통해 사용자 음성이 입력되면, 상기 입력된 사용자 음성에 기초하여 복수의 음성 비서 중 하나의 음성 비서를 식별하는 단계, 상기 입력된 사용자 음성이 변환된 텍스트를 상기 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하는 단계, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별됨에 기초하여, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하는 단계, 상기 획득된 복수의 응답 중 적어도 하나를 상기 입력된 사용자 음성에 대한 응답으로 제공하는 단계를 포함한다.
본 개시의 일 실시 예에 따른 컴퓨터 판독 가능 매체에는, 전자 장치의 프로세서에 의해 실행되어, 상기 전자 장치로 하여금, 마이크를 통해 사용자 음성이 입력되면, 상기 입력된 사용자 음성에 기초하여 복수의 음성 비서 중 하나의 음성 비서를 식별하는 단계, 상기 입력된 사용자 음성이 변환된 텍스트를 상기 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하는 단계, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별됨에 기초하여, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하는 단계, 상기 획득된 복수의 응답 중 적어도 하나를 상기 입력된 사용자 음성에 대한 응답으로 제공하는 단계를 포함하는 동작을 수행하도록 하는 적어도 하나의 인스트럭션이 저장되어 있다.
본 개시에 따른 전자 장치는, 이용 가능한 복수의 음성 비서 중 입력된 사용자 음성에 대한 가장 적절한 응답을 제공할 수 있는 음성 비서를 판단하여, 해당 음성 비서의 응답을 선별적으로 제공한다는 효과가 있다.
본 개시에 따른 전자 장치는, 사용자가 선택/지정한 음성 비서에 대해 응답 제공 가능성을 우선적으로 판단하여, 복수의 음성 비서 중 응답을 제공할 음성 비서를 판단하는 과정의 연산량을 최소화할 수 있다는 효과가 있다.
본 개시에 따른 전자 장치는, 입력된 사용자 음성에 대한 복수의 음성 비서가 제공하는 응답들 중 가장 정확도 높은 응답만을 선택적으로 제공할 수 있다는 효과가 있다.
도 1a 및 도 1b는 본 개시에 따른 전자 장치가 입력된 사용자 음성에 따라 선택된 음성 비서를 이용하여 응답을 제공하는 예를 개략적으로 설명하기 위한 도면들,
도 2a는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 2b는 본 개시의 일 실시 예에 따른 전자 장치의 소프트웨어 구성을 설명하기 위한 블록도,
도 3은 전자 장치가 사용자의 명령에 따라 음성 비서를 선택하는 예를 설명하기 위한 도면,
도 4a는 전자 장치가 입력된 사용자 음성의 카테고리에 따라 음성 비서를 선택하는 예를 설명하기 위한 블록도,
도 4b는 카테고리 별로 음성 비서가 맵핑된 맵핑 정보를 설명하기 위한 도면,
도 5a는 전자 장치가 특정한 음성 비서에 대한 트리거 워드를 인식하여 해당 음성 비서를 선택하는 예를 설명하기 위한 도면,
도 5b는 전자 장치가 입력된 사용자 음성에 포함된 특정한 음성 비서의 명칭을 인식하여 해당 음성 비서를 선택하는 예를 설명하기 위한 도면,
도 6a는 전자 장치가 선택된 음성 비서를 우선적으로 검증하는 일 예를 설명하기 위한 도면,
도 6b는 선택된 음성 비서의 검증에 실패한 경우, 전자 장치가 Multi-class Classifier를 이용하여 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서를 식별하는 예를 설명하기 위한 도면,
도 7은 전자 장치가 복수의 음성 비서로부터 획득된 복수의 응답 각각의 정확도를 판단하여 가장 정확한 응답을 제공하는 예를 설명하기 위한 도면,
도 8은 전자 장치가 복수의 음성 비서로부터 획득된 복수의 응답을 조합하여 요약 응답을 제공하는 예를 설명하기 위한 도면,
도 9는 본 개시의 다양한 실시 예에 따른 전자 장치의 상세한 구성을 설명하기 위한 블록도,
도 10은 전자 장치 및 서버를 포함하는 시스템의 동작을 설명하기 위한 도면,
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 응답 제공 방법을 설명하기 위한 블록도,
도 12는, 본 개시의 일 실시 예에 따른 응답 제공 방법을 설명하기 위한 알고리즘,
도 13은, 본 개시의 일 실시 예에 따른 응답 제공 방법을 설명하기 위한 알고리즘, 그리고
도 14는, 본 개시의 일 실시 예에 따른 응답 제공 방법을 설명하기 위한 알고리즘이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1a 및 도 1b는 본 개시에 따른 전자 장치가 입력된 사용자 음성에 따라 선택된 음성 비서를 이용하여 응답을 제공하는 예를 개략적으로 설명하기 위한 도면들이다.
도 1a를 참조하면, "오늘 날씨 알려줘"라는 사용자(1)의 음성이 스마트폰이전자 장치(10)에 입력된 경우, 전자 장치(10)는 복수의 음성 비서 중 날씨를 알려주는 응답을 제공할 수 있는 음성 비서 'A'를 식별하고, 음성 비서 'A'를 통해 "오늘의 날씨는 하루종일 맑음입니다."와 같음 응답을 스피커나 이어폰 단자를 통해 청각적으로 제공하거나 디스플레이를 통해 시각적으로 제공할 수 있다.
도 1b를 참조하면, "신나는 음악 틀어줘"라는 사용자(1)의 음성이 전자 장치(10)에 입력된 경우, 전자 장치(10)는 복수의 음성 비서 중 음악을 제공할 수 있는 음성 비서 'B'를 식별하고, 식별된 음성 비서 'B'가 제공하는 음악을 스피커나 이어폰 단자를 통해 출력할 수 있다.
이렇듯, 본 개시에 따른 전자 장치는, 입력된 사용자 음성에 대해 적절한 응답을 제공할 수 있는 음성 비서를 자동으로 판단하고, 판단된 음성 비서를 통해 응답을 제공할 수 있다.
이하 도면들을 통해서는, 본 개시에 따른 전자 장치의 구조 및 동작과 관련된 다양한 실시 예들에 대해 보다 상세하게 설명한다.
도 2a는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2a를 참조하면, 전자 장치(100)는 마이크(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 전자 장치(100)는 스마트폰, 태블릿 PC, 노트북 PC, 데스크탑 PC, TV, 무선 이어폰 등 다양한 단말 장치에 해당할 수 있고, 이밖에도 전자 장치(100)는 다양한 가전기기로 구현되거나 서버로 구현될 수 있다.
마이크(110)는 회로로 구성되어, 입력된 오디오 신호를 전기적 신호로 변환할 수 있다. 전자 장치(100)는 마이크(110)를 통해 사용자 음성을 입력받을 수 있다.
메모리(120)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.
메모리(120)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 휘발성 메모리를 포함할 수 있다. 또한, 메모리(120)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.
메모리(120)에는 전자 장치(100)가 이용할 수 있는 복수의 음성 비서에 대한 정보(도 2a를 참조하면, 음성 비서 A에 대한 정보(121), 음성 비서 B에 대한 정보(122), 음성 비서 C에 대한 정보(123) 등)가 저장될 수 있다. 구체적으로, 메모리(120)에는 복수의 음성 비서 각각의 명칭, 복수의 음성 비서 각각을 로드하기 위한 인스트럭션 및 복수의 음성 비서 각각을 구성하는 소프트웨어 모듈의 어드레스(메모리(120) 내 또는 외부 서버 내)에 대한 정보 등이 저장될 수 있다.
음성 비서는 청각적으로 사용자에게 다양한 서비스를 제공하는 가상의 개체 내지는 서비스 자체를 의미할 수 있다. 예로, 사용자 음성 등의 형태로 사용자의 질의나 명령 등이 입력되면, 전자 장치(100)를 통해 구현된 음성 비서는 사용자 음성에 대한 응답을 청각적으로 제공할 수 있다.
음성 비서는, 오디오 신호를 텍스트(ex. 자연어)로 변환하기 위한 음성 인식 모듈, 음성 인식 모듈을 통해 획득된 텍스트의 의미를 기계적으로 식별하기 위한 자연어 이해 모듈, 질의에 대한 응답을 제공하기 위한 질의-응답 모듈, 식별된 기계적 의미에 대응되는 자연어를 생성하기 위한 자연어 생성 모듈, 생성된 자연어를 오디오 신호 형태로 변환하기 위한 TTS(Text-to-Speech) 모듈, 그밖에 다양한 서비스를 제공하기 위한 하나 이상의 서비스 모듈, 하나 이상의 서비스를 제공하기 위해 필요한 정보로 구성된 데이터베이스 등을 포함할 수 있다.
상술한 음성 비서의 소프트웨어 구성들 각각은 전자 장치(100)의 메모리(120) 또는 외부 서버에 저장될 수 있다. 음성 비서의 소프트웨어 구성들 중 적어도 일부가 외부 서버에 저장된 경우, 전자 장치(100) 및 외부 서버 간의 통신을 기반으로 음성 비서의 서비스가 전자 장치를 통해 제공될 수 있다.
음성 비서가 서비스를 제공하는 동안 사용자 음성을 입력받기 위한 마이크(110) 및 응답을 제공하기 위한 출력용 유닛(도시되지 않음. 스피커, 이어폰 단자, 디스플레이 등) 등 하드웨어적 구성 역시 음성 비서에 포함되는 것으로 해석될 수도 있다.
프로세서(130)는 마이크(110), 메모리(120) 등과 연결되어 메모리(120)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 전자 장치(100)를 제어할 수 있다.
이를 위해, 프로세서(130)는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서 등으로 구현될 수 있다. 또한, 프로세서(130)는 SRAM 등의 휘발성 메모리를 포함할 수 있다.
일 예로, ROM 및 RAM 을 포함하는 메모리(120) 및 프로세서(130)가 동일한 칩 내에 포함되도록 전자 장치(100) 내에 구현될 수 있다. 또한, 서로 다른 종류의 프로세서를 포함하는 복수의 칩이 전자 장치(100) 내에 포함될 수 있다. 다만, 이는 일부 예들일뿐 전자 장치(100) 내 메모리(120) 및 프로세서(130)의 물리적 구성이 상술한 예들에 한정되는 것은 아니다.
프로세서(130)는 마이크(110)를 통해 사용자 음성이 입력되면, 복수의 음성 비서 중 적어도 하나의 음성 비서를 통해 사용자 음성에 대한 응답을 제공할 수 있다.
도 2b는 본 개시의 일 실시 예에 따른 전자 장치의 소프트웨어 구성을 설명하기 위한 블록도이다.
도 2b를 참조하면, 메모리(120)에는 음성 비서 선택 모듈(210), 선택 검증 모듈(220), rescoring 모듈(230) 등이 저장될 수 있다.
본 모듈들은 메모리(120)상의 ROM이나 메모리(120)상의 하드 디스크/SSD 내에 소프트웨어적으로 구현될 수 있으며, 경우에 따라 프로세서(130)를 통해 실행될 수 있다. 다만, 모듈들 중 적어도 하나의 적어도 일부는 하드웨어적으로 구현될 수도 있으며, 경우에 따라서는 모듈들 중 적어도 하나가 하드웨어적인 회로만으로 구현되는 것도 가능하다.
구체적으로, 프로세서(130)는 메모리(120)상에 저장된 모듈들(210, 220, 230)을 프로세서(130)에 포함된 RAM(ex. SRAM) 및/또는 프로세서(130)와 연결된 RAM(ex. DRAM)상에 로드하고, 정해진 순서에 따라 모듈들(210, 220, 230)에 대응하는 인스트럭션을 실행할 수 있다.
이하 도면들과 함께 각 모듈을 이용한 프로세서(130)의 동작에 대해 순차적으로 설명한다.
마이크(110)를 통해 사용자 음성이 입력되면, 프로세서(130)는, 음성 비서 선택 모듈(210)을 이용하여, 입력된 사용자 음성에 기초하여 복수의 음성 비서 중 하나의 음성 비서를 식별할 수 있다. 이때, 복수의 음성 비서는, 메모리(120)에 관련 정보가 저장되어 전자 장치(100)에 의해 이용될 수 있는 음성 비서들을 의미한다.
도 3, 도 4a 및 도 4b, 도 5a 및 도 5b를 통해, 프로세서(130)가 음성 비서 선택 모듈(210)을 이용하여 복수의 음성 비서 중 하나의 음성 비서를 식별하는 예들을 설명한다.
프로세서(130)는, 입력된 사용자 명령에 의해 복수의 음성 비서 중 하나의 음성 비서를 식별할 수 있다. 구체적으로, 프로세서(130)는 사용자 명령에 의해 선택된 음성 비서를 식별할 수 있다.
이때, 사용자 명령은 터치(: 터치스크린), 음성(: 마이크(110)), 물리적 버튼 조작, 모션(: 카메라) 등 다양한 방식으로 입력될 수 있다.
음성 비서를 선택하기 위한 사용자 명령은, 응답을 필요로 하는 사용자 음성(ex. 질의)이 입력되기 전 또는 후에 입력된 것일 수 있다.
도 3은, 입력된 사용자 명령에 의해 복수의 음성 비서 중 하나의 음성 비서를 선택하는 예를 설명하기 위한 도면이다.
도 3을 참조하면, 전자 장치(100)는 복수의 음성 비서 중 응답을 제공할 음성 비서를 선택할 수 있는 UI(User Interface)를 시각적으로 제공할 수 있다. 이 경우, 음성 비서 A 내지 D 중 어느 하나를 선택하는 사용자의 터치가 입력되면, 전자 장치(100)는 응답을 제공할 음성 비서를 터치에 의해 선택된 음성 비서로 지정할 수 있다.
이때, 복수의 음성 비서 중 하나를 선택하기 위한 사용자 명령은, 응답을 필요로 하는 사용자 음성(ex. 질의)이 이미 전자 장치(100)에 입력된 상태에서 전자 장치(100)에 입력될 수 있다. 또는, 복수의 음성 비서 중 하나를 선택하기 위한 사용자 명령은, 응답을 필요로 하는 사용자 음성이 전자 장치(100)에 입력되지 않으 상태에서 전자 장치(100)에 입력될 수도 있다.
프로세서(130)는, 마이크(110)를 통해 사용자 음성이 입력되면, 입력된 사용자 음성에 기초하여 복수의 음성 비서 중 하나의 음성 비서를 식별할 수 있다.
일 예로, 프로세서(130)는 입력된 사용자 음성이 속하는 도메인을 판단하고, 판단된 도메인에 대해 기설정된 음성 비서를 식별할 수 있다. 도메인은, 입력된 사용자 음성의 내용(: 사용자 음성이 변환된 텍스트)이 속하는 카테고리 또는 입력된 사용자 음성에 따라 요구되는 응답이 속하는 카테고리를 포함할 수 있다. 도메인은 음악, 날씨, 뉴스, 스포츠 등 다양한 카테고리에 해당할 수 있다.
구체적으로, 메모리(120)가 복수의 도메인 별 음성 비서에 대한 정보를 저장하고 있는 상황을 가정한다. 메모리(120)에 저장된 복수의 도메인 별 음성 비서에 대한 정보(: 맵핑 정보)는, 사용자 명령에 의해 생성 또는 업데이트될 수 있다.
이 경우, 프로세서(130)는 입력된 사용자 음성을 텍스트로 변환할 수 있다.
이때, 프로세서(130)는 변환된 텍스트(또는 텍스트가 기계적으로 식별된 정보)를, 도메인을 판단하도록 학습된 인공지능 모델에 입력하여, 입력된 사용자 음성에 대응되는 도메인을 식별할 수 있다. 본 인공지능 모델은, 복수의 텍스트 및 복수의 텍스트 각각이 속하는 도메인에 대한 정보를 바탕으로, 텍스트가 입력되면 입력된 텍스트의 도메인을 판단하도록 학습된 인공지능 모델일 수 있다.
그리고, 프로세서(130)는 메모리에 저장된 복수의 도메인 별 음성 비서에 대한 정보에 기초하여 복수의 음성 비서 중 식별된 도메인에 대응되는 음성 비서를 식별할 수 있다.
관련하여, 도 4a는 전자 장치가 입력된 사용자 음성의 카테고리에 따라 음성 비서를 선택하는 예를 설명하기 위한 블록도이고, 도 4b는 카테고리 별로 음성 비서가 맵핑된 맵핑 정보의 일 예를 나타내는 도면이다.
도 4a를 참조하면, 음성 비서 선택 모듈(210)은 음성 인식 모듈(410), 도메인 분류 모델(420), 도메인-음성 비서 맵핑 모듈(430) 등을 포함할 수 있다. 음성 비서 선택 모듈(210)에 포함된 본 모듈들 각각은 프로세서(130)에 의해 경우에 따라 실행될 수 있다.
도 4a를 참조하면, 사용자 음성이 입력되는 경우, 음성 인식 모듈(410)은 입력된 사용자 음성을 텍스트로 변환할 수 있다. 그리고, 도메인 분류 모델(420)은 텍스트의 도메인을 판단하도록 학습된 인공지능 모델을 이용하여 변환된 텍스트의 도메인을 식별할 수 있다. 이때, 본 인공지능 모델은 메모리(120) 또는 외부 서버에 저장된 것일 수 있다.
그리고, 도메인-음성 비서 맵핑 모듈(430)은 도 4b와 같은 맵핑 정보를 이용하여, 식별된 도메인에 대해 기설정된 음성 비서를 식별할 수 있다. 예를 들어, "음악 추천해줘."라는 사용자 음성이 입력된 경우, 도메인 분류 모델(420)에 의해 식별된 도메인이 '음악'에 해당한 결과, 도메인-음성 비서 맵핑 모듈(430)은 도 4b의 맵핑 정보에 따라 음성 비서 'A'를 식별할 수 있다.
프로세서(130)는, 입력된 사용자 음성이 변환된 텍스트에 복수의 음성 비서 중 하나의 음성 비서를 활성화하기 위한 트리거(Trigger) 워드가 포함된 경우, 트리거 워드에 대응되는 음성 비서를 식별할 수 있다. 트리거 워드는, 음성 비서의 서비스를 제공받기 위해 해당 음성 비서를 호출하는 일종의 약속된 명령어 내지는 'Wake Up 입력'에 해당한다.
관련하여, 도 5a는 전자 장치가 특정한 음성 비서에 대한 트리거 워드를 인식하여 해당 음성 비서를 선택하는 예를 설명하기 위한 도면이다. 도 5a를 참조하면, 음성 비서 선택 모듈(210)은 음성 인식 모듈(510) 및 Wake Up 분석 모듈(520)을 포함할 수 있다. Wake Up 분석 모듈(520)은, 복수의 음성 비서 각각의 트리거 워드가 발화되어 생성되는 적어도 하나의 오디오 신호의 특징 정보를 사용자 음성의 오디오 신호의 특징 정보와 비교하여 사용자 음성이 트리거 워드인지 판단하거나 또는 사용자 음성이 변환된 텍스트(또는 텍스트가 기계적으로 식별된 정보)를 분석하여 트리거 워드를 식별할 수 있다.
도 5a는, 음성 비서 'A'를 활성화하기 위한 트리거 워드가 "하이 'A'"인 상황을 전제로 한다. "하이 'A'"라는 사용자 음성이 입력되어 음성 인식 모듈(510)을 통해 인식되면, Wake Up 분석 모듈(520)은 사용자 음성에 포함된 "하이 'A'"를 식별할 수 있다. 이 경우, 음성 비서 선택 모듈(210)은 "하이 'A'"에 대응되는 음성 비서 'A'를 식별할 수 있다.
프로세서(130)는, 입력된 사용자 음성에 복수의 음성 비서 중 어느 하나의 음성 비서의 명칭이 포함된 경우, 해당 음성 비서를 식별할 수 있다.
관련하여, 도 5b는 전자 장치가 입력된 사용자 음성에 포함된 특정한 음성 비서의 명칭을 인식하여 해당 음성 비서를 선택하는 예를 설명하기 위한 도면이다. 도 5b를 참조하면, 음성 비서 선택 모듈(210)은 음성 인식 모듈(510) 및 음성 비서 명칭 추출 모듈(530)을 포함할 수 있다. 음성 비서 명칭 추출 모듈(530)은 사용자 음성이 변환된 텍스트를 분석하여 복수의 음성 비서 중 어느 하나의 명칭을 식별할 수 있다.
도 5b를 참조하면, 음성 인식 모듈(510)은 입력된 사용자 음성을 인식하여 "'B'에서 날씨 알려줘."라는 텍스트를 획득할 수 있다. 그리고, 음성 비서 추출 모듈(520)은 획득된 텍스트에 포함된 음성 비서의 명칭인 'B'를 식별할 수 있다.
이 경우, 음성 비서 선택 모듈(210)은 음성 비서 'B'를 식별할 수 있다.
상술한 실시 예들을 통해 복수의 음성 비서 중 어느 하나의 음성 비서가 식별되면, 프로세서(120)는 선택 검증 모듈(220)을 이용하여, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 판단할 수 있다.
선택 검증 모듈(220)은, 복수의 음성 비서 각각에 대해, 입력된 사용자 음성에 대한 응답 제공 가능성을 판단할 수 있다.
일 예로, 도 6a를 참조하면, 선택 검증 모듈(220)은, 음성 비서 'A'의 응답 제공 가능성을 판단하기 위한 Binary Classifier(220-1), 음성 비서 'B'의 응답 제공 가능성을 판단하기 위한 Binary Classifier(220-2), 음성 비서 'C'의 응답 제공 가능성을 판단하기 위한 Binary Classifier(220-3) 등을 각각 포함할 수 있다.
상술한 Binary Classifier들 중 일 예로 Binary Classifier(220-1)를 설명한다. Binary Classifier(220-1)는, 사용자 음성의 내용(텍스트 또는 텍스트가 기계적으로 식별된 정보)이 입력되면, 음성 비서 'A'가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 여부를 판단할 수 있다.
이를 위해, Binary Classifier(220-1)는, 음성 비서 'A'가 인식할 수 있는 복수의 텍스트를 기반으로, 텍스트가 입력되면 입력된 텍스트에 대하여 음성 비서 'A'가 응답을 제공할 수 있을지 여부(Yes or No)를 판단하도록 학습된 인공지능 모델을 포함할 수 있다. 구체적으로, 본 인공지능 모델은, 음성 비서 'A'가 인식은 물론 그에 대한 응답도 제공할 수 있는 복수의 텍스트를 기반으로 학습된 것일 수 있다. 이때, 음성 비서 'A'가 인식할 수 있는 복수의 텍스트 및/또는 음성 비서 'A'가 그에 대한 응답을 제공할 수 있는 복수의 텍스트는, 음성 비서 'A'의 서비스를 전자 장치(100)로 제공하는 외부 (서비스) 서버로부터 수신된 것이거나, 복수의 테스터 인원들에 의해 기설정된 것일 수 있다. 또는, 전자 장치(100)에 사용자 음성이 입력된 히스토리에 따라 사용자가 종전에 "명칭 'A' 및 질의를 포함하는 발화"(ex. A에서 대한민국 대통령 나이 알려줘.)를 한 이력이 있는 경우, 프로세서(130)는 해당 질의(ex. 대한 민국 대통령 나이 알려줘.)를 음성 비서 'A'가 응답할 수 있는 텍스트로 식별하고, 이를 본 인공지능 모델의 학습에 이용할 수도 있다.
예로, 본 인공지능 모델에, 음성 비서 'A'가 인식할 수 있음은 물론 그에 대한 응답도 제공할 수 있는 특정 텍스트 "오늘 날씨 어때?" 또는 그와 유사한 텍스트 "오늘 날씨는?"이 입력되면, 인공지능 모델로부터 출력되는 확률(: 해당 텍스트에 대해 음성 비서 'A'가 응답을 제공할 수 있을 확률)은 임계값보다 높을 수 있다.
프로세서(130)는 입력된 사용자 음성이 변환된 텍스트를, 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별할 수 있다.
도 6a를 참조하면, 음성 비서 선택 모듈(210)에 의해 음성 비서 'A'가 식별된 경우(S601), 선택 검증 모듈(220)은 사용자 음성의 내용(텍스트)을 음성 비서 'A'에 대한 Binary Classifier(220-1)에 입력할 수 있다(S602). 그리고, 선택 검증 모듈(220)은 Binary Classifier(220-1)의 출력에 기초하여, 음성 비서 'A'가 입력된 사용자 음성에 대한 응답을 제공할 수 있을지 여부(Yes or No)를 판단할 수 있다(S603). 이 경우, Binary Classifier(220-1) 내 인공지능 모델의 출력이 임계값 이상인지 여부에 따라 Yes or No가 결정될 수 있다.
이러한 음성 비서 'A'에 대한 검증 결과, 음성 비서 'A'가 입력된 사용자 음성에 대한 응답을 제공할 수 있는 것으로 식별되는 경우, 프로세서(130)는 음성 비서 'A'를 이용하여 입력된 사용자 음성에 대한 응답을 제공할 수 있다.
한편, 만약 음성 비서 'A'에 대한 검증 결과, 음성 비서 'A'가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 프로세서(130)는 선택 검증 모듈(220)을 이용한 검증 과정을 종료하고 rescoring 모듈(230)을 이용하여 동작할 수 있다.
또는, 음성 비서 'A'가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 프로세서(130)는 검증 과정을 곧바로 종료하지 않고, 다른 음성 비서 'B', 'C' 등에 대해 순차적으로 검증을 수행할 수도 있다.
즉, 프로세서(130)는, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되면, 입력된 사용자 음성이 변환된 텍스트를 복수의 음성 비서 중 다른 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 다른 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별할 수도 있다.
예로, 음성 비서 'A'가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우(S603 - No), 프로세서(130)는 음성 비서 'B'에 대한 Binary Classifier(220-2)에 사용자 음성의 내용을 입력하여, 음성 비서 'B'가 입력된 사용자 음성에 대한 응답을 제공할 수 있을지 여부를 판단할 수 있다.
이때, 만약 음성 비서 'B'가 입력된 사용자 음성에 대한 응답을 제공할 수 있다고 판단되는 경우, 프로세서(130)는 음성 비서 'B'를 통해 사용자 음성에 대한 응답을 제공할 수 있다. 반면, 만약 음성 비서 'B'가 입력된 사용자 음성에 대한 응답을 제공할 수 없다고 판단되는 경우, 프로세서(130)는 'A' 및 'B' 외의 다른 음성 비서에 대한 Binary Classifier(예를 들면, 음성 비서 'C'에 대한 Binary Classifier(220-3))에 사용자 음성의 내용을 입력할 수 있다.
프로세서(130)는 이러한 방식으로 하나 이상의 음성 비서를 순차적으로 검증하면서, 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서를 판단할 수 있다. 다만, 선택 검증 모듈(220)에 포함된 모든 Binary Classifier가 'No'를 출력한 경우, 즉 복수의 음성 비서 중 어느 하나도 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 프로세서(130)는 선택 검증 모듈(220)을 통한 검증 과정을 종료하고, rescoring 모듈(230)을 이용하여 동작할 수 있다.
한편, 프로세서(130)는, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되면, 입력된 사용자 음성이 변환된 텍스트를 복수의 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 복수의 음성 비서 중 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서를 식별할 수도 있다.
일 예로, 도 6b를 참조하면, 선택 검증 모듈(220)은 도 6a와 같은 Binary Classifier들(220-1, 2, 3,...) 외에도 음성 비서 분류 모델(Multi-Class Classfier. 225)를 추가로 포함할 수 있다. 음성 비서 분류 모델(225)은, 텍스트가 입력되면 복수의 음성 비서 중 입력된 텍스트에 대한 응답을 제공할 수 있는 음성 비서를 식별하도록 학습된 인공지능 모델을 포함할 수 있다. 이때, 본 인공지능 모델은, 복수의 음성 비서가 인식할 수 있는 복수의 텍스트 및/또는 복수의 음성 비서가 그에 대한 응답을 제공할 수 있는 복수의 텍스트를 기반으로 학습되어, 텍스트가 입력되면, 복수의 음성 비서 각각이 입력된 텍스트에 대한 응답을 제공할 수 있을 확률을 각각 출력하도록 학습된 것일 수 있다.
도 6b를 참조하면, 예를 들어 음성 비서 선택 모듈(210)에 의해 음성 비서 'B'가 식별된 경우(S611), 선택 검증 모듈(220)은 Binary Classifier(220-2)에 입력된 사용자 음성의 내용을 입력시킬 수 있다(S612). 이 경우, 만약 Binary Classifier(220-2)에 의해 음성 비서 'B'가 입력된 사용자 음성에 대한 응답을 제공할 수 있는 것으로 식별된다면, 음성 비서 'B'를 통해 응답을 제공할 수 있다.
다만, 만약 음성 비서 'B'가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별된다면(S613), 선택 검증 모듈(220)은 입력된 사용자 음성의 내용을 음성 비서 분류 모델(225)에 입력할 수 있다(S614).
그리고, 음성 비서 분류 모델(225)은 인공지능 모델이 출력한 확률들 중 가장 큰 확률(>임계값)에 대응되는 음성 비서에 대한 정보, 즉 복수의 음성 비서 중 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서에 대한 정보를 출력할 수 있다(S615). 이때, 프로세서(130)는 음성 비서 분류 모델(225)에 의해 결정된 음성 비서를 통해, 입력된 사용자 음성에 대한 응답을 제공할 수 있다.
반면, 예를 들어, 음성 비서 분류 모델(225)의 인공지능 모델이 출력한 확률들이 모두 임계값 미만인 경우, 복수의 음성 비서 중 응답을 제공할 수 있는 음성 비서가 없는 것으로 판단되므로, 프로세서(130)는 선택 검증 모듈(220)을 통한 검증 과정을 종료하고 rescoring 모듈(230)을 이용하여 동작할 수 있다.
일반적으로, 음성 비서 선택 모듈(210)을 통해 식별된 음성 비서의 검증이 성공할 확률이 높기 때문에, 도 6b와 같이 식별된 음성 비서에 대해 선택적으로 먼저 (Binary) 검증을 시도한 뒤, 해당 검증이 실패하면 곧바로 음성 비서 분류 모델(225)을 이용하는 경우, 선택 검증 모듈(220)의 전반적인 연산량이 줄어들고 그 동작이 비교적 빨라질 수 있다.
한편, 도면을 통해 도시하지는 않았으나, 선택 검증 모듈(230)이 Binary Classifier(220-1, 2, 3)들은 포함하지 않은 채로 음성 비서 분류 모델(Multi-Class Classifier. 225)을 포함할 수도 있다. 이 경우, 음성 비서 선택 모듈(220) 역시 전자 장치(100)에 구비되지 않을 수 있으며, 프로세서(130)는 사용자 음성이 입력되면, 곧바로 입력된 사용자 음성의 내용(텍스트)을 음성 비서 분류 모델(225)에 입력하여, 응답을 제공할 수 있는 음성 비서를 판단할 수도 있다.
한편, 상술한 몇몇 실시 예들을 통해 설명하였듯, 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서를 판단하지 못한 채로 선택 검증 모듈(230)을 통한 검증 과정이 종료된 경우, 프로세서(130)는 rescoring 모듈(230)을 이용하여 응답을 제공할 음성 비서를 찾을 수 있다.
프로세서(130)는 rescoring 모듈(230)을 이용하여 복수의 음성 비서 각각으로부터 입력된 사용자 음성에 대한 응답을 획득할수 있다. 그리고, 프로세서(130)는 획득된 복수의 응답 중 적어도 하나를 입력된 사용자 음성에 대한 응답으로 제공할 수 있다.
이때, 프로세서(130)는, 복수의 음성 비서 각각으로부터 획득된 응답을 복수의 질의-응답을 기초로 학습된 인공지능 모델에 입력하여, 입력된 사용자 음성에 대한 각 음성 비서의 응답의 정확도를 식별할 수 있다. 본 인공지능 모델은, 복수의 질의 및 복수의 질의 각각에 대한 적절한 응답들을 기초로 학습될 수도 있지만, 부적절한 응답들(ex. 질의와 무관한 응답, '잘 모르겠다'와 같은 응답 등)을 기초로 학습될 수도 있다. 아울러, 본 인공지능 모델은, 그 내용이 비교적 충실한 응답들을 기초로 학습될 수도 있지만, 비교적 그 내용이 충실하지 않은 응답들을 기초로 학습될 수도 있다. 한편, 본 인공지능 모델의 학습 과정에서, 복수의 음성 비서들 중 특정한 하나가 인식할 수 있는 질의들이 주로 이용되는 등의 상황은 지양되어야 한다. 자칫, 본 인공지능 모델이 정확도를 판단하는 때에 특정 음성 비서의 응답에 대해 편향된 결과를 출력할 가능성이 있기 때문이다.
프로세서(130)는, 입력된 사용자 음성의 내용(텍스트 또는 텍스트가 기계적으로 식별된 정보 등) 및 복수의 음성 비서 각각으로부터 획득된 응답을 인공지능 모델에 입력할 수 있다. 그 결과, 인공지능 모델은 입력된 사용자 음성에 대한 복수의 음성 비서 각각의 응답의 정확도를 출력할 수 있다. 출력되는 정확도는, 질의에 대한 응답의 적절성, 구체성 등이 반영된 결과일 수 있다.
그리고, 식별된 정확도에 기초하여, 프로세서(130)는 복수의 음성 비서 중 적어도 하나를 통해 입력된 사용자 음성에 대한 응답을 제공할 수 있다.
구체적으로, 프로세서(130)는 복수의 음성 비서 중 식별된 정확도가 가장 높은 응답을 제공한 음성 비서의 응답을, 입력된 사용자 음성에 대한 응답으로 제공할 수 있다.
도 7은 전자 장치가 복수의 음성 비서로부터 획득된 복수의 응답 각각의 정확도를 판단하여 가장 정확한 응답을 제공하는 예를 설명하기 위한 도면이다.
도 7을 참조하면, 프로세서(130)는 입력된 사용자 음성에 대한 음성 비서 A, B, C 등의 응답 1, 응답 2, 응답 3 등을 획득할 수 있다. 그리고, 사용자 음성의 내용 및 응답 1을 rescoring 모듈(230)에 입력하여 사용자 음성에 대한 응답 1의 정확도(: 0.8)를 획득할 수 있다. 마찬가지로, 프로세서(130)는 사용자 음성에 대한 응답 2의 정확도(: 0.9) 및 응답 3의 정확도(: 0.7)를 각각 획득할 수 있다.
그 결과, 프로세서(130)는 가장 높은 정확도(: 0.9)를 가지는 음성 비서 'B'의 응답 2를, 입력된 사용자 음성에 대한 응답으로 제공할 수 있다.
한편, 프로세서(130)는, 입력된 사용자 음성이 변환된 텍스트를 정확도가 가장 높은 응답을 제공한 음성 비서가 인식할 수 있는 텍스트로 판단하고, 판단된 텍스트에 기초하여, 음성 비서가 인식할 수 있는 텍스트를 기초로 학습된 인공지능 모델을 업데이트할 수 있다.
예를 들어, 도 7과 같이 rescoring 모듈(230)을 통해 음성 비서 'B'의 응답이 가장 정확하다고 판단된 경우, 프로세서(130)는 입력된 사용자 음성이 변환된 텍스트를 음성 비서 'B'가 인식할 수 있는 텍스트로 식별하고, 본 텍스트를 이용하여 선택 검증 모듈(220)을 업데이트할 수 있다. 구체적으로, 선택 검증 모듈(220)이 도 6a와 같이 구현된 경우, 본 텍스트를 통해 Binary Classifier(220-2)의 인공지능 모델을 학습시킬 수 있다. 선택 검증 모듈(220)이 도 6b와 같이 구현된 경우, 본 텍스트를 통해 Binary Classifier(220-2) 및/또는 음성 비서 분류 모델(225)의 인공지능 모델을 학습시킬 수 있다.
그 결과, 추후 동일한 내용의 사용자 음성이 입력되는 경우, 프로세서(130)는 선택 검증 모듈(220)을 통해, 음성 비서 'B'를 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서로 판단할 수 있다. 그리고, 프로세서(130)는 도 7과 같은 과정을 거치지 않고도 음성 비서 'B'를 통해 응답을 제공할 수 있다.
한편, 정확도가 가장 높은 응답을 제공한 결과 해당 응답에 대해 부정적인 피드백을 제시하거나 또는 다른 응답을 요청하는 사용자 명령이 입력된 경우, 프로세서(130)는 정확도가 다음으로 높은 음성 비서의 응답을 사용자에게 제공할 수 있다.
한편, 프로세서(130)는 복수의 음성 비서로부터 획득된 복수의 응답을 모두 조합하여 응답을 제공할 수도 있다. 구체적으로, 요약을 요청하는 사용자 명령이 입력되거나 또는 rescoring 모듈(230)을 통해 판단된 응답들 각각의 정확도가 기설정된 범위 내인 경우(ex. 판단된 정확도가 모두 임계값보다 큰 기설정된 값 이상이거나 또는 모두 임계값 미만인 경우), 프로세서(130)는 복수의 음성 비서로부터 획득된 복수의 응답을 조합 및/또는 요약한 응답을 입력된 사용자 음성에 대한 응답으로 제공할 수 있다.
도 8은 전자 장치가 복수의 음성 비서로부터 획득된 복수의 응답을 조합하여 요약 응답을 제공하는 예를 설명하기 위한 도면이다. 도 8을 참조하면, 전자 장치(100)는 복수의 응답을 요약하기 위한 응답 요약 모듈(240)을 포함할 수 있다. 응답 요약 모듈(240)은 복수의 문장이 입력되면 요약된 글을 제공하도록 학습된 인공지능 모델을 이용하거나 또는 공지된 다양한 문서 요약 알고리즘 내지는 템플릿을 이용할 수 있다.
도 8은, "오늘의 주요 뉴스 알려줘."(801)와 같은 내용의 사용자 음성이 입력된 이후, 복수의 음성 비서로부터 획득된 복수의 응답을 요약하라는 사용자 명령이 추가로 입력된 경우를 가정한다.
도 8을 참조하면, 응답 요약 모듈(240)은 음성 비서 A 내지 C의 응답들(응답 1, 2, 3)을 조합하여 새로운 응답(820)을 획득할 수 있다. 그리고, 프로세서(130)는 응답(820)을 사용자 음성에 대한 응답으로 제공할 수 있다.
도 9는 본 개시의 다양한 실시 예에 따른 전자 장치의 상세한 구성을 설명하기 위한 블록도이다.
도 9를 참조하면, 전자 장치(100)는 마이크(110), 메모리(120), 프로세서(130) 외에도 통신부(140), 오디오 출력부(150), 디스플레이(160) 등을 더 포함할 수 있다.
통신(140)는, 전자 장치(100)가 적어도 하나의 외부 장치와 통신을 수행하여 신호/데이터를 주고받기 위한 구성이다. 이를 위해 통신부(140) 회로를 포함할 수 있다.
통신부(140)는 무선 통신 모듈, 유선 통신 모듈 등을 포함할 수 있다.
무선 통신 모듈은 외부 서버 또는 외부 장치로부터 컨텐츠를 수신하기 위하여 와이파이 (WIFI) 통신 모듈, 블루투스(bluetooth)모듈, 적외선 통신(IrDA, infrared data association)모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈, 5G(5세대) 통신 모듈 중 적어도 하나를 포함을 포함할 수 있다.
유선 통신 모듈은 썬더볼트 포트, USB 포트 등의 유선 포트로 구현될 수 있다.
전자 장치(100)는 통신부(140)를 통해 적어도 하나의 외부 서버와 연결되어, 복수의 음성 비서의 서비스를 제공할 수 있다. 이 경우, 복수의 음성 비서 각각의 적어도 일부를 구성하는 소프트웨어 모듈은 외부 서버에 저장되어 있을 수 있다.
전자 장치(100)는 통신부(140)를 통해 외부 제어 장치로부터 전자 장치(100)를 제어하기 위한 사용자 명령에 따른 제어 신호를 수신하고, 수신된 제어 신호에 따라 동작을 수행할 수도 있다. 이때, 전자 장치(100)는 원격 제어 애플리케이션이 설치된 스마트폰 또는 리모컨 등으로 구현된 외부 제어 장치로부터, 외부 제어 장치에 입력된 사용자 명령에 따른 제어 신호를 수신하고, 수신된 제어 신호에 따라 적어도 하나의 음성 비서를 이용하여 응답을 제공할 수 있다.
오디오 출력부(150)는 복수의 음성 비서 중 적어도 하나의 응답을 청각적으로 제공하기 위한 구성이다. 오디오 출력부(150)는 스피커, 오디오/헤드폰 단자 등으로 구성될 수 있다.
디스플레이(160)는 디스플레이(160)는 전자 장치(100)가 복수의 음성 비서 중 적어도 하나의 응답을 시각적으로 제공하기 위한 구성이다. 전자 장치(100)는 하나 이상의 디스플레이(160)를 포함할 수 있으며, 입력된 사용자 음성에 대한 응답을 디스플레이(160)를 통해 표시할 수 있다.
디스플레이(160)는 LCD(Liquid Crystal Display), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED), Micro LED 등으로 구현될 수 있다.
디스플레이(160)는, 사용자의 터치 조작을 감지할 수 있는 터치스크린 형태로 구현될 수 있으며, 접히거나 구부러질 수 있는 플렉서블 디스플레이로 구현될 수도 있다.
한편, 도 10을 참조하면, 전자 장치(100)는 통신부(140)를 통해 외부 서버(200)와 연결되어 시스템(1000)을 구성할 수 있다. 도 10을 통해서는 하나의 장치로 구현된 서버(200)만을 도시하였으나, 시스템(1000)에는 복수의 서버 장치가 포함될 수 있다.
이 경우, 음성 비서 선택 모듈(210), 선택 검증 모듈(220), rescoring 모듈(230) 중 일부는 전자 장치(100)에 저장되고, 나머지는 외부 서버(200)에 저장되어 있을 수 있다. 이때, 전자 장치(100) 및 외부 서버(200)를 포함하는 시스템(1000)은 복수의 음성 비서 중 어느 하나를 선택하고, 이를 검증하며, 복수의 음성 비서 각각의 응답의 정확도를 판단할 수 있다.
예를 들어, 음성 비서 선택 모듈(210) 및 선택 검증 모듈(220)은 전자 장치(100)에 저장되고, rescoring 모듈(230)은 서버(200)에 저장된 상황을 가정할 수 있다. 만약, 전자 장치(100)가 선택 검증 모듈(220)을 통해 (입력된) 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서를 판단하지 못한 경우, 전자 장치(100)는 rescoring 모듈(230)을 활성화하기 위한 신호 및 입력된 사용자 음성에 대한 정보를 서버(200)로 전송할 수 있다. 이때, 서버(200)는 rescoring 모듈(230)을 통해 가장 정확한 응답을 제공하는 음성 비서의 응답을 획득하고, 획득된 응답에 대한 정보를 전자 장치(100)로 전송할 수 있다. 그 결과, 전자 장치(100)는 수신된 응답을 시각적/청각적으로 제공할 수 있다.
다만, 본 예에만 한정되는 것은 아니고, 이밖에도 전자 장치(100) 및 외부 서버(200)가 서로 연결되어 동작하는 다양한 실시 예가 가능하다.
이하 도 11 내지 도 14를 통해서는, 본 개시에 따른 전자 장치의 응답 제공 방법에 대한 다양한 실시 예들을 설명한다.
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 응답 제공 방법을 설명하기 위한 블록도이다.
도 11을 참조하면, 본 응답 제공 방법은, 마이크를 통해 사용자 음성이 입력되면, 복수의 음성 비서 중 하나의 음성 비서를 식별할 수 있다(S1110). 복수의 음성 비서는 전자 장치(100)가 이용할 수 있는 음성 비서들일 수 있다. 즉, 전자 장치(100)는 복수의 음성 비서 각각을 통해 제공되는 서비스를 제공할 수 있다. 이를 위해, 복수의 음성 비서 각각을 구성하는 하드웨어/소프트웨어 구성들 각각은, 전자 장치(100) 및/또는 전자 장치(100)와 통신 가능한 외부 서버에 저장될 수 있다.
이 경우, 복수의 음성 비서 중 사용자 명령(: 터치, 모션, 음성 등 다양한 방식 가능)에 따라 선택된 음성 비서를 식별할 수 있다.
또는, 입력된 사용자 음성에 기초하여 복수의 음성 비서 중 하나의 음성 비서를 식별할 수도 있다.
일 예로, 입력된 사용자 음성이 변환된 텍스트에 복수의 음성 비서 중 하나의 음성 비서를 활성화하기 위한 트리거 워드가 포함된 경우, 트리거 워드에 대응되는 음성 비서를 식별할 수 있다.
다른 예로, 입력된 사용자 음성이 변환된 텍스트를, 복수의 도메인 중 입력된 텍스트의 도메인을 판단하도록 학습된 인공지능 모델에 입력하여, 입력된 사용자 음성에 대응되는 도메인을 식별하고, 복수의 음성 비서 중 식별된 도메인에 대응되는 음성 비서를 식별할 수도 있다. 이때, 복수의 도메인 별로 복수의 음성 비서가 각각 기설정된 맵핑 정보를 이용할 수 있다.
그리고, 본 응답 제공 방법은, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별할 수 있다(S1120).
구체적으로, 입력된 사용자 음성이 변환된 텍스트를, 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력한 결과 출력되는 정보를 이용하여, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별할 수 있다. 이를 위해, 전자 장치에는 복수의 음성 비서 각각이 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델이 각각 저장될 수 있다.
만약, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는 것으로 식별되는 경우, 상기 식별된 음성 비서를 이용하여 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있다.
반면, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 이에 기초하여, 복수의 음성 비서 각각으로부터 입력된 사용자 음성에 대한 응답을 획득하고, 획득된 복수의 응답 중 적어도 하나를 입력된 사용자 음성에 대한 응답으로 제공할 수 있다.
일 예로, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되면, 곧바로 복수의 음성 비서 각각으로부터 응답을 획득할 수 있다.
관련하여, 도 12는, 본 개시에 따른 응답 제공 방법의 일 예를 설명하기 위한 알고리즘이다.
도 12를 참조하면, 본 응답 제공 방법은, 상술한 S1110 과정과 같이 복수의 음성 비서 중 하나의 음성 비서를 식별할 수 있다(S1210). 그리고, S1120 과정과 같이, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 검증할 수 있다(S1220).
검증 결과, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는 것으로 식별된 경우(S1230 - Y), 식별된 음성 비서를 통해 응답을 제공할수 있다(S1240).
반면, 검증 결과, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별된 경우(S1230 - N), 복수의 음성 비서 각각으로부터 복수의 응답을 획득할 수 있다(S1250). 그리고, 획득된 복수의 응답 중 적어도 하나를 응답으로 제공할 수 있다(S1260).
이때, 복수의 음성 비서 각각으로 획득된 응답을 복수의 질의-응답을 기초로 학습된 인공지능 모델에 입력하여, 입력된 사용자 음성에 대한 각 음성 비서의 응답의 정확도를 식별하고, 식별된 정확도에 기초하여 복수의 음성 비서 중 적어도 하나를 통해 입력된 사용자 음성에 대한 응답을 제공할 수 있다.
구체적으로, 복수의 음성 비서 중 상기 식별된 정확도가 가장 높은 응답을 제공한 음성 비서의 응답을 상기 입력된 사용자 음성에 대한 응답으로 제공할 수 있다.
한편, S1110 과정을 통해 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 도 12와 달리, 입력된 사용자 음성이 변환된 텍스트를 복수의 음성 비서 중 다른 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 다른 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지에 대해서도 식별할 수 있다.
이때, 다른 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는 것으로 식별된다면, 다른 음성 비서를 통해 응답을 제공할 수 있다.
반면, 다른 음성 비서 역시 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 복수의 음성 비서 각각으로부터 입력된 사용자 음성에 대한 응답을 획득하고, 획득된 응답 중 적어도 하나의 응답을 제공할 수 있다.
관련하여, 도 13은 본 개시의 일 실시 예에 따른 응답 제공 방법을 설명하기 위한 알고리즘이다.
도 13을 참조하면, S1305 및 S1310 과정을 거친 결과, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별된 경우(S1315 - N), 본 응답 제공 방법은, 복수의 음성 비서 중 다른 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 검증할 수 있다(S1325). 만약, 검증이 성공하면(S1330 - Y), 다른 음성 비서를 통해 응답을 제공할 수 있다(S1335).
반면, 검증이 실패하면(S1330 - N), 또 다른 음성 비서에 대해 검증을 수행할 수 있다(S1340 - N, S1325). 그리고, 만약 또 다른 음성 비서에 대해 검증이 성공하면, 해당 음성 비서를 통해 응답을 제공할 수 있다.
만약, 복수의 음성 비서 모두에 대해 검증을 수행했음에도 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서가 식별되지 않은 경우(S1340 - Y), 본 응답 제공 방법은 입력된 사용자 음성을 복수의 음성 비서 각각에 전달하여 복수의 음성 비서 각각으로부터 복수의 응답을 획득할 수 있다(S1345).
이경우, 복수의 응답 각각의 정확도를 판단하고(S1350), 정확도가 가장 높은 응답을 제공한 음성 비서의 응답을 입력된 사용자 음성에 대한 응답으로 제공할 수 있다(S1355).
한편, S1110 과정을 통해 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 도 12 및 도 13과 달리, 입력된 사용자 음성이 변환된 텍스트를 복수의 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 복수의 음성 비서 중 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서를 식별할 수도 있다. 이 경우, 응답을 제공할 수 있는 것으로 식별된 음성 비서를 통해, 입력된 사용자 음성에 대한 응답을 제공할 수 있다.
다만, 복수의 음성 비서 중 응답을 제공할 수 있는 음성 비서가 식별되지 않는 경우, 복수의 음성 비서 각각으로부터 입력된 사용자 음성에 대한 응답을 획득하고, 획득된 응답 중 적어도 하나의 응답을 제공할 수 있다.
관련하여, 도 14는, 본 개시의 일 실시 예에 따른 응답 제공 방법을 설명하기 위한 알고리즘이다.
도 14를 참조하면, S1405 및 S1410 과정을 거친 결과, 식별된 음성 비서가 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별된 경우(S1415 - N), 본 응답 제공 방법은, 복수의 응답 비서 중 응답을 제공할 수 있는 음성 비서를 판단할 수 있다(S1425). 이 경우, 음성의 오디오 신호에 대한 정보 또는 음성에 대응되는 텍스트에 대한 정보 등이 입력되면, 복수의 음성 비서 중 입력된 정보에 대한 응답을 제공할 수 있는 음성 비서를 판단하도록 학습된 인공지능 모델을 이용할 수 있다.
만약, S1425 과정을 수행한 결과, 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서가 판단된 경우(S1430 - Y), 판단된 음성 비서를 통해 응답을 제공할 수 있다(S1435).
반면, 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서가 판단되지 않은 경우(S1430 - N), 복수의 음성 비서 각각으로 부터 복수의 응답을 획득하고(S1440), 복수의 응답 각각의 정확도를 판단하며(S1445), 정확도가 가장 높은 응답을 제공할 수 있다(S1450).
한편, 상술한 응답 제공 방법의 다양한 실시 예들에 있어서, 복수의 음성 비서 각각의 응답의 정확도가 기설정된 범위 내(ex. 모두 임계값 미만인 경우 등)인 경우, 복수의 음성 비서의 응답을 조합하여 입력된 사용자 음성에 대한 응답을 제공할 수도 있다. 이때, 복수의 음성 비서로부터 획득된 복수의 응답을 요약한 응답을 제공할 수 있다.
한편, 도 11 내지 도 14를 통해 설명한 전자 장치의 응답 제공 방법은, 도 2 및 도 9를 통해 도시 및 설명한 전자 장치(100) 또는 도 10을 통해 도시 및 설명한 시스템(1000)을 통해 구현될 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(Programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processor), 제어기(controller), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessor), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서(130) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치(100)의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
100: 전자 장치 110: 마이크
120: 메모리 130: 프로세서
140: 통신부 150: 오디오 출력부
160: 디스플레이

Claims (20)

  1. 전자 장치에 있어서,
    마이크;
    복수의 음성 비서에 대한 정보가 저장된 메모리; 및
    프로세서;를 포함하고,
    상기 프로세서는,
    상기 마이크를 통해 사용자 음성이 입력되면, 상기 입력된 사용자 음성에 기초하여 상기 복수의 음성 비서 중 하나의 음성 비서를 식별하고,
    상기 입력된 사용자 음성이 변환된 텍스트를 상기 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하고,
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별됨에 기초하여, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하고,
    상기 획득된 복수의 응답 중 적어도 하나를 상기 입력된 사용자 음성에 대한 응답으로 제공하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 입력된 사용자 음성이 변환된 텍스트에 상기 복수의 음성 비서 중 하나의 음성 비서를 활성화하기 위한 트리거 워드가 포함된 경우, 상기 트리거 워드에 대응되는 상기 음성 비서를 식별하는, 전자 장치.
  3. 제1항에 있어서,
    상기 메모리는, 복수의 도메인 별 음성 비서에 대한 정보를 저장하고,
    상기 프로세서는,
    상기 입력된 사용자 음성이 변환된 텍스트를 상기 복수의 도메인 중 입력된 텍스트의 도메인을 판단하도록 학습된 인공지능 모델에 입력하여, 상기 입력된 사용자 음성에 대응되는 도메인을 식별하고,
    상기 메모리에 저장된 정보에 기초하여 상기 복수의 음성 비서 중 상기 식별된 도메인에 대응되는 상기 음성 비서를 식별하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는 것으로 식별되는 경우, 상기 식별된 음성 비서를 이용하여 상기 입력된 사용자 음성에 대한 응답을 제공하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되면, 상기 입력된 사용자 음성이 변환된 텍스트를 상기 복수의 음성 비서 중 다른 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 다른 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하고,
    상기 다른 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되면, 상기 입력된 사용자 음성이 변환된 텍스트를 상기 복수의 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 복수의 음성 비서 중 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서를 식별하고,
    상기 복수의 음성 비서 중 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서가 없는 것으로 식별되는 경우, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 음성 비서 각각으로부터 획득된 응답을 복수의 질의-응답을 기초로 학습된 인공지능 모델에 입력하여, 상기 입력된 사용자 음성에 대한 각 음성 비서의 응답의 정확도를 식별하고,
    상기 식별된 정확도에 기초하여 상기 복수의 음성 비서 중 적어도 하나를 통해 상기 입력된 사용자 음성에 대한 응답을 제공하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 복수의 음성 비서 중 상기 식별된 정확도가 가장 높은 응답을 제공한 음성 비서의 응답을 상기 입력된 사용자 음성에 대한 응답으로 제공하는, 전자 장치.
  9. 제7항에 있어서,
    상기 프로세서는,
    상기 복수의 음성 비서 각각의 응답의 정확도가 기설정된 범위 내인 경우, 상기 복수의 음성 비서의 응답을 조합하여 상기 입력된 사용자 음성에 대한 응답을 제공하는, 전자 장치.
  10. 제7항에 있어서,
    상기 프로세서는,
    상기 입력된 사용자 음성이 변환된 텍스트를 상기 정확도가 가장 높은 응답을 제공한 음성 비서가 인식할 수 있는 텍스트로 판단하고, 상기 판단된 텍스트에 기초하여 상기 음성 비서가 인식할 수 있는 텍스트를 기초로 학습된 인공지능 모델을 업데이트하는, 전자 장치.
  11. 전자 장치의 응답 제공 방법에 있어서,
    마이크를 통해 사용자 음성이 입력되면, 상기 입력된 사용자 음성에 기초하여 복수의 음성 비서 중 하나의 음성 비서를 식별하는 단계;
    상기 입력된 사용자 음성이 변환된 텍스트를 상기 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하는 단계;
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별됨에 기초하여, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하는 단계; 및
    상기 획득된 복수의 응답 중 적어도 하나를 상기 입력된 사용자 음성에 대한 응답으로 제공하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 음성 비서를 식별하는 단계는,
    상기 입력된 사용자 음성이 변환된 텍스트에 상기 복수의 음성 비서 중 하나의 음성 비서를 활성화하기 위한 트리거 워드가 포함된 경우, 상기 트리거 워드에 대응되는 상기 음성 비서를 식별하는, 제어 방법.
  13. 제11항에 있어서,
    상기 음성 비서를 식별하는 단계는,
    상기 입력된 사용자 음성이 변환된 텍스트를, 복수의 도메인 중 입력된 텍스트의 도메인을 판단하도록 학습된 인공지능 모델에 입력하여, 상기 입력된 사용자 음성에 대응되는 도메인을 식별하고,
    상기 복수의 음성 비서 중 상기 식별된 도메인에 대응되는 상기 음성 비서를 식별하는, 제어 방법.
  14. 제11항에 있어서,
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는 것으로 식별되는 경우, 상기 식별된 음성 비서를 이용하여 상기 입력된 사용자 음성에 대한 응답을 제공하는 단계;를 더 포함하는, 제어 방법.
  15. 제11항에 있어서,
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되면, 상기 입력된 사용자 음성이 변환된 텍스트를 상기 복수의 음성 비서 중 다른 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 다른 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하는 단계;를 더 포함하고,
    상기 응답을 획득하는 단계는,
    상기 다른 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하는, 제어 방법.
  16. 제11항에 있어서,
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되면, 상기 입력된 사용자 음성이 변환된 텍스트를 상기 복수의 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 복수의 음성 비서 중 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서를 식별하는 단계;를 더 포함하고,
    상기 응답을 획득하는 단계는,
    상기 복수의 음성 비서 중 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는 음성 비서가 없는 것으로 식별되는 경우, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하는, 제어 방법.
  17. 제11항에 있어서,
    상기 제공하는 단계는,
    상기 복수의 음성 비서 각각으로부터 획득된 응답을 복수의 질의-응답을 기초로 학습된 인공지능 모델에 입력하여, 상기 입력된 사용자 음성에 대한 각 음성 비서의 응답의 정확도를 식별하고,
    상기 식별된 정확도에 기초하여 상기 복수의 음성 비서 중 적어도 하나를 통해 상기 입력된 사용자 음성에 대한 응답을 제공하는, 제어 방법.
  18. 제17항에 있어서,
    상기 제공하는 단계는,
    상기 복수의 음성 비서 중 상기 식별된 정확도가 가장 높은 응답을 제공한 음성 비서의 응답을 상기 입력된 사용자 음성에 대한 응답으로 제공하는, 제어 방법.
  19. 제17항에 있어서,
    상기 제공하는 단계는,
    상기 복수의 음성 비서 각각의 응답의 정확도가 기설정된 범위 내인 경우, 상기 복수의 음성 비서의 응답을 조합하여 상기 입력된 사용자 음성에 대한 응답을 제공하는, 제어 방법.
  20. 전자 장치의 프로세서에 의해 실행되어, 상기 전자 장치로 하여금,
    마이크를 통해 사용자 음성이 입력되면, 상기 입력된 사용자 음성에 기초하여 복수의 음성 비서 중 하나의 음성 비서를 식별하는 단계;
    상기 입력된 사용자 음성이 변환된 텍스트를 상기 식별된 음성 비서가 인식할 수 있는 텍스트에 기초하여 학습된 인공지능 모델에 입력하여, 상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 있는지 식별하는 단계;
    상기 식별된 음성 비서가 상기 입력된 사용자 음성에 대한 응답을 제공할 수 없는 것으로 식별되는 경우, 상기 복수의 음성 비서 각각으로부터 상기 입력된 사용자 음성에 대한 응답을 획득하는 단계; 및
    상기 획득된 복수의 응답 중 적어도 하나를 상기 입력된 사용자 음성에 대한 응답으로 제공하는 단계;를 포함하는 동작을 수행하도록 하는 적어도 하나의 인스트럭션이 저장된 컴퓨터 판독 가능 매체.
KR1020190112039A 2019-09-10 2019-09-10 인공지능 비서를 선택하는 전자 장치 및 그 응답 제공 방법 KR20210030646A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190112039A KR20210030646A (ko) 2019-09-10 2019-09-10 인공지능 비서를 선택하는 전자 장치 및 그 응답 제공 방법
PCT/KR2020/012182 WO2021049877A1 (en) 2019-09-10 2020-09-09 Electronic apparatus for selecting ai assistant and response providing method thereof
US17/015,788 US20210074299A1 (en) 2019-09-10 2020-09-09 Electronic apparatus for selecting ai assistant and response providing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190112039A KR20210030646A (ko) 2019-09-10 2019-09-10 인공지능 비서를 선택하는 전자 장치 및 그 응답 제공 방법

Publications (1)

Publication Number Publication Date
KR20210030646A true KR20210030646A (ko) 2021-03-18

Family

ID=74850178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190112039A KR20210030646A (ko) 2019-09-10 2019-09-10 인공지능 비서를 선택하는 전자 장치 및 그 응답 제공 방법

Country Status (3)

Country Link
US (1) US20210074299A1 (ko)
KR (1) KR20210030646A (ko)
WO (1) WO2021049877A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102498533B1 (ko) * 2022-07-15 2023-02-09 권용현 딥 러닝 기법으로 학습된 모델을 이용하여 사용자와의 실시간 대화 및 질문에 대한 응답 제공 기능을 수행하는 대화형 전자 장치 및 그 동작 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11334383B2 (en) * 2019-04-24 2022-05-17 International Business Machines Corporation Digital assistant response system to overlapping requests using prioritization and providing combined responses based on combinability
US11798551B2 (en) * 2021-03-25 2023-10-24 Bank Of America Corporation System and method for voice controlled automatic information access and retrieval
US11783828B2 (en) * 2021-04-15 2023-10-10 Google Llc Combining responses from multiple automated assistants

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899673B2 (en) * 2006-08-09 2011-03-01 Microsoft Corporation Automatic pruning of grammars in a multi-application speech recognition interface
US20110004608A1 (en) * 2009-07-02 2011-01-06 Microsoft Corporation Combining and re-ranking search results from multiple sources
US9715660B2 (en) * 2013-11-04 2017-07-25 Google Inc. Transfer learning for deep neural network based hotword detection
US9690542B2 (en) * 2014-12-22 2017-06-27 Microsoft Technology Licensing, Llc Scaling digital personal assistant agents across devices
KR20180134099A (ko) * 2017-06-08 2018-12-18 (주)넷케이티아이 인공지능 통합 플랫폼 및 그 운영방법
KR102384643B1 (ko) * 2017-08-17 2022-04-08 엘지전자 주식회사 전자 장치 및 그 제어 방법
KR102146031B1 (ko) * 2017-11-23 2020-08-28 주식회사 케이티 멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
KR102596436B1 (ko) * 2018-02-20 2023-11-01 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102498533B1 (ko) * 2022-07-15 2023-02-09 권용현 딥 러닝 기법으로 학습된 모델을 이용하여 사용자와의 실시간 대화 및 질문에 대한 응답 제공 기능을 수행하는 대화형 전자 장치 및 그 동작 방법

Also Published As

Publication number Publication date
WO2021049877A1 (en) 2021-03-18
US20210074299A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
KR20210030646A (ko) 인공지능 비서를 선택하는 전자 장치 및 그 응답 제공 방법
US11900939B2 (en) Display apparatus and method for registration of user command
US20190325866A1 (en) Systems and Methods for Enhancing Responsiveness to Utterances Having Detectable Emotion
US9405377B2 (en) Trainable sensor-based gesture recognition
KR102443087B1 (ko) 전자 기기 및 그의 음성 인식 방법
US10622007B2 (en) Systems and methods for enhancing responsiveness to utterances having detectable emotion
US11621001B2 (en) Systems and methods for enhancing responsiveness to utterances having detectable emotion
KR20210090576A (ko) 품질을 관리하는 방법, 장치, 기기, 저장매체 및 프로그램
US10566010B2 (en) Systems and methods for enhancing responsiveness to utterances having detectable emotion
KR102705233B1 (ko) 단말 장치, 서버 및 그 제어 방법
US12033639B2 (en) Caching scheme for voice recognition engines
US11403066B2 (en) Application-specific profile managers
US12010074B2 (en) Electronic apparatus for responding to question using multi chat-bot and control method thereof
KR20240124243A (ko) 전자 장치 및 그 제어 방법
CN105353957A (zh) 一种信息显示方法及终端
US11238865B2 (en) Function performance based on input intonation
KR102323640B1 (ko) 음성 인식 서비스를 제공하는 장치, 방법 및 컴퓨터 판독가능 매체
KR20230100534A (ko) 이미지 내의 텍스트를 인식하는 전자 장치 및 그 동작 방법
KR20210100446A (ko) 대화의 맥락에 대응하는 발화를 제공하는 전자 장치 및 이의 동작 방법
KR20190104773A (ko) 전자 장치, 제어 방법 및 컴퓨터 판독 가능 매체
US20240012611A1 (en) Method and system for controlling speech-controlled graphical object
JP2020030400A (ja) 教育方法及び電子装置